diff --git a/tools/test/p4src/p4-14/p4c-out/tofino/ecmp/montara/logs/mau.gateway.log b/tools/test/p4src/p4-14/p4c-out/tofino/ecmp/montara/logs/mau.gateway.log
new file mode 100644
index 0000000..570947f
--- /dev/null
+++ b/tools/test/p4src/p4-14/p4c-out/tofino/ecmp/montara/logs/mau.gateway.log
@@ -0,0 +1,3320 @@
++---------------------------------------------------------------------+
+|  Log file: mau.gateway.log                                          |
+|  Compiler version: 5.1.0 (fca32d1)                                  |
+|  Created on: Thu Sep  7 14:49:38 2017                               |
++---------------------------------------------------------------------+
+
+valid:
+  f = packet_out_hdr
+const:
+xor:
+Gateway Resource Request for P4 table _condition_0 with handle 117440513 in stage 0
+  Validity checks:
+      Field --validity_check--packet_out_hdr [0:0]
+  Fields to check against constants:
+      <none>
+  Field pairs to compare to each other:
+      <none>
+
+Gateway Resource Request for table _condition_0 needs access to 1 input bits
+
+
+========================================================
+  Run Gateway Placement on Request List of size 1
+========================================================
+
+Available Gateways are: (16)
+Gateway 0
+Gateway 1
+Gateway 2
+Gateway 3
+Gateway 4
+Gateway 5
+Gateway 6
+Gateway 7
+Gateway 8
+Gateway 9
+Gateway 10
+Gateway 11
+Gateway 12
+Gateway 13
+Gateway 14
+Gateway 15
+------- Phase 0 -------------
+Looking at gateway table 15
+match_groups_attached_to_gateway = OrderedDict([(0, (None, [], None, [], [])), (1, (None, [], None, [], []))])
+Search bus 0 on row 7
+Search bus 1 on row 7
+Looking at gateway table 14
+match_groups_attached_to_gateway = OrderedDict([(0, (None, [], None, [], [])), (1, (None, [], None, [], []))])
+Search bus 0 on row 7
+Search bus 1 on row 7
+Looking at gateway table 13
+match_groups_attached_to_gateway = OrderedDict([(0, (None, [], None, [], [])), (1, (None, [], None, [], []))])
+Search bus 0 on row 6
+Search bus 1 on row 6
+Looking at gateway table 12
+match_groups_attached_to_gateway = OrderedDict([(0, (None, [], None, [], [])), (1, (None, [], None, [], []))])
+Search bus 0 on row 6
+Search bus 1 on row 6
+Looking at gateway table 11
+match_groups_attached_to_gateway = OrderedDict([(0, (None, [], None, [], [])), (1, (None, [], None, [], []))])
+Search bus 0 on row 5
+Search bus 1 on row 5
+Looking at gateway table 10
+match_groups_attached_to_gateway = OrderedDict([(0, (None, [], None, [], [])), (1, (None, [], None, [], []))])
+Search bus 0 on row 5
+Search bus 1 on row 5
+Looking at gateway table 9
+match_groups_attached_to_gateway = OrderedDict([(0, (None, [], None, [], [])), (1, (None, [], None, [], []))])
+Search bus 0 on row 4
+Search bus 1 on row 4
+Looking at gateway table 8
+match_groups_attached_to_gateway = OrderedDict([(0, (None, [], None, [], [])), (1, (None, [], None, [], []))])
+Search bus 0 on row 4
+Search bus 1 on row 4
+Looking at gateway table 7
+match_groups_attached_to_gateway = OrderedDict([(0, (None, [], None, [], [])), (1, (None, [], None, [], []))])
+Search bus 0 on row 3
+Search bus 1 on row 3
+Looking at gateway table 6
+match_groups_attached_to_gateway = OrderedDict([(0, (None, [], None, [], [])), (1, (None, [], None, [], []))])
+Search bus 0 on row 3
+Search bus 1 on row 3
+Looking at gateway table 5
+match_groups_attached_to_gateway = OrderedDict([(0, (None, [], None, [], [])), (1, (None, [], None, [], []))])
+Search bus 0 on row 2
+Search bus 1 on row 2
+Looking at gateway table 4
+match_groups_attached_to_gateway = OrderedDict([(0, (None, [], None, [], [])), (1, (None, [], None, [], []))])
+Search bus 0 on row 2
+Search bus 1 on row 2
+Looking at gateway table 3
+match_groups_attached_to_gateway = OrderedDict([(0, (None, [], None, [], [])), (1, (None, [], None, [], []))])
+Search bus 0 on row 1
+Search bus 1 on row 1
+Looking at gateway table 2
+match_groups_attached_to_gateway = OrderedDict([(0, (None, [], None, [], [])), (1, (None, [], None, [], []))])
+Search bus 0 on row 1
+Search bus 1 on row 1
+Looking at gateway table 1
+match_groups_attached_to_gateway = OrderedDict([(0, (None, [], None, [], [])), (1, (None, [], None, [], []))])
+Search bus 0 on row 0
+Search bus 1 on row 0
+Looking at gateway table 0
+match_groups_attached_to_gateway = OrderedDict([(0, (None, [], None, [], [])), (1, (None, [], None, [], []))])
+Search bus 0 on row 0
+Search bus 1 on row 0
+------- Phase 1 -------------
+Looking at gateway table 15
+match_groups_attached_to_gateway = OrderedDict([(0, (None, [], None, [], [])), (1, (None, [], None, [], []))])
+Search bus 0 on row 7
+
+ final_parity_group_ids = [(0, []), (1, [])] 
+
+ open_parity_group_ids = [0, 1] 
+----------------------------
+ Trying to place Gateway Resource Request for table _condition_0 needs access to 1 input bits in exact match group 0 (parity groups [0, 1]) and hash group 0 for gateway 15.
+----------------------------
+--------------
+Call to _place_fields_for_constant_comparison
+constant_match_key_partition is:
+Byte Position 0
+  (68, 0)
+Byte Position 1
+  (68, 0)
+Byte Position 2
+  (68, 0)
+Byte Position 3
+  (68, 0)
+
+Available bytes in ram word is [0, 1, 2, 3, 4, 5, 6, 7]
+Available data bytes for constants are [0, 1, 2, 3]
+Put all gateway constant field bits into the hash bits.
+Allocating: Hash Bit 40 in hash match group 0 for ('--validity_check--packet_out_hdr', 0).
+Gateway data search bus packing is:
+  [0] = None
+  [1] = None
+  [2] = None
+  [3] = None
+  [4] = None
+  [5] = None
+  [6] = None
+  [7] = None
+  [8] = None
+  [9] = None
+  [10] = None
+  [11] = None
+  [12] = None
+  [13] = None
+  [14] = None
+  [15] = None
+  [16] = None
+  [17] = None
+  [18] = None
+  [19] = None
+  [20] = None
+  [21] = None
+  [22] = None
+  [23] = None
+  [24] = None
+  [25] = None
+  [26] = None
+  [27] = None
+  [28] = None
+  [29] = None
+  [30] = None
+  [31] = None
+  [32] = None
+  [33] = None
+  [34] = None
+  [35] = None
+  [36] = None
+  [37] = None
+  [38] = None
+  [39] = None
+  [40] = None
+  [41] = None
+  [42] = None
+  [43] = None
+  [44] = None
+  [45] = None
+  [46] = None
+  [47] = None
+  [48] = None
+  [49] = None
+  [50] = None
+  [51] = None
+  [52] = None
+  [53] = None
+  [54] = None
+  [55] = None
+  [56] = None
+  [57] = None
+  [58] = None
+  [59] = None
+  [60] = None
+  [61] = None
+  [62] = None
+  [63] = None
+ Move Byte Mapping:
+
+Final Gateway Key is:
+  [0] = None
+  [1] = None
+  [2] = None
+  [3] = None
+  [4] = None
+  [5] = None
+  [6] = None
+  [7] = None
+  [8] = None
+  [9] = None
+  [10] = None
+  [11] = None
+  [12] = None
+  [13] = None
+  [14] = None
+  [15] = None
+  [16] = None
+  [17] = None
+  [18] = None
+  [19] = None
+  [20] = None
+  [21] = None
+  [22] = None
+  [23] = None
+  [24] = None
+  [25] = None
+  [26] = None
+  [27] = None
+  [28] = None
+  [29] = None
+  [30] = None
+  [31] = None
+  [32] = (('--validity_check--packet_out_hdr', 0), 'exact')
+  [33] = None
+  [34] = None
+  [35] = None
+  [36] = None
+  [37] = None
+  [38] = None
+  [39] = None
+  [40] = None
+  [41] = None
+  [42] = None
+  [43] = None
+ Hash Bit Mapping:
+   (0, 1) --> 40
+
+Allocating: Ram Data Bus MatchSearch1 7 left_and_right is 128 bits in stage 0 for gateway
+Allocating: Gateway 15 in stage 0 for _condition_0.
+
+========================================================
+  Run Gateway Placement on Request List of size 1
+========================================================
+
+Available Gateways are: (16)
+Gateway 0
+Gateway 1
+Gateway 2
+Gateway 3
+Gateway 4
+Gateway 5
+Gateway 6
+Gateway 7
+Gateway 8
+Gateway 9
+Gateway 10
+Gateway 11
+Gateway 12
+Gateway 13
+Gateway 14
+Gateway 15
+------- Phase 0 -------------
+Looking at gateway table 15
+match_groups_attached_to_gateway = OrderedDict([(0, (None, [], None, [], [])), (1, (None, [], None, [], []))])
+Search bus 0 on row 7
+Search bus 1 on row 7
+Looking at gateway table 14
+match_groups_attached_to_gateway = OrderedDict([(0, (None, [], None, [], [])), (1, (None, [], None, [], []))])
+Search bus 0 on row 7
+Search bus 1 on row 7
+Looking at gateway table 13
+match_groups_attached_to_gateway = OrderedDict([(0, (None, [], None, [], [])), (1, (None, [], None, [], []))])
+Search bus 0 on row 6
+Search bus 1 on row 6
+Looking at gateway table 12
+match_groups_attached_to_gateway = OrderedDict([(0, (None, [], None, [], [])), (1, (None, [], None, [], []))])
+Search bus 0 on row 6
+Search bus 1 on row 6
+Looking at gateway table 11
+match_groups_attached_to_gateway = OrderedDict([(0, (None, [], None, [], [])), (1, (None, [], None, [], []))])
+Search bus 0 on row 5
+Search bus 1 on row 5
+Looking at gateway table 10
+match_groups_attached_to_gateway = OrderedDict([(0, (None, [], None, [], [])), (1, (None, [], None, [], []))])
+Search bus 0 on row 5
+Search bus 1 on row 5
+Looking at gateway table 9
+match_groups_attached_to_gateway = OrderedDict([(0, (None, [], None, [], [])), (1, (None, [], None, [], []))])
+Search bus 0 on row 4
+Search bus 1 on row 4
+Looking at gateway table 8
+match_groups_attached_to_gateway = OrderedDict([(0, (None, [], None, [], [])), (1, (None, [], None, [], []))])
+Search bus 0 on row 4
+Search bus 1 on row 4
+Looking at gateway table 7
+match_groups_attached_to_gateway = OrderedDict([(0, (None, [], None, [], [])), (1, (None, [], None, [], []))])
+Search bus 0 on row 3
+Search bus 1 on row 3
+Looking at gateway table 6
+match_groups_attached_to_gateway = OrderedDict([(0, (None, [], None, [], [])), (1, (None, [], None, [], []))])
+Search bus 0 on row 3
+Search bus 1 on row 3
+Looking at gateway table 5
+match_groups_attached_to_gateway = OrderedDict([(0, (None, [], None, [], [])), (1, (None, [], None, [], []))])
+Search bus 0 on row 2
+Search bus 1 on row 2
+Looking at gateway table 4
+match_groups_attached_to_gateway = OrderedDict([(0, (None, [], None, [], [])), (1, (None, [], None, [], []))])
+Search bus 0 on row 2
+Search bus 1 on row 2
+Looking at gateway table 3
+match_groups_attached_to_gateway = OrderedDict([(0, (None, [], None, [], [])), (1, (None, [], None, [], []))])
+Search bus 0 on row 1
+Search bus 1 on row 1
+Looking at gateway table 2
+match_groups_attached_to_gateway = OrderedDict([(0, (None, [], None, [], [])), (1, (None, [], None, [], []))])
+Search bus 0 on row 1
+Search bus 1 on row 1
+Looking at gateway table 1
+match_groups_attached_to_gateway = OrderedDict([(0, (None, [], None, [], [])), (1, (None, [], None, [], []))])
+Search bus 0 on row 0
+Search bus 1 on row 0
+Looking at gateway table 0
+match_groups_attached_to_gateway = OrderedDict([(0, (None, [], None, [], [])), (1, (None, [], None, [], []))])
+Search bus 0 on row 0
+Search bus 1 on row 0
+------- Phase 1 -------------
+Looking at gateway table 15
+match_groups_attached_to_gateway = OrderedDict([(0, (None, [], None, [], [])), (1, (None, [], None, [], []))])
+Search bus 0 on row 7
+
+ final_parity_group_ids = [(0, []), (1, [])] 
+
+ open_parity_group_ids = [0, 1] 
+----------------------------
+ Trying to place Gateway Resource Request for table _condition_0 needs access to 1 input bits in exact match group 0 (parity groups [0, 1]) and hash group 0 for gateway 15.
+----------------------------
+--------------
+Call to _place_fields_for_constant_comparison
+constant_match_key_partition is:
+Byte Position 0
+  (68, 0)
+Byte Position 1
+  (68, 0)
+Byte Position 2
+  (68, 0)
+Byte Position 3
+  (68, 0)
+
+Available bytes in ram word is [0, 1, 2, 3, 4, 5, 6, 7]
+Available data bytes for constants are [0, 1, 2, 3]
+Put all gateway constant field bits into the hash bits.
+Allocating: Hash Bit 40 in hash match group 0 for ('--validity_check--packet_out_hdr', 0).
+Gateway data search bus packing is:
+  [0] = None
+  [1] = None
+  [2] = None
+  [3] = None
+  [4] = None
+  [5] = None
+  [6] = None
+  [7] = None
+  [8] = None
+  [9] = None
+  [10] = None
+  [11] = None
+  [12] = None
+  [13] = None
+  [14] = None
+  [15] = None
+  [16] = None
+  [17] = None
+  [18] = None
+  [19] = None
+  [20] = None
+  [21] = None
+  [22] = None
+  [23] = None
+  [24] = None
+  [25] = None
+  [26] = None
+  [27] = None
+  [28] = None
+  [29] = None
+  [30] = None
+  [31] = None
+  [32] = None
+  [33] = None
+  [34] = None
+  [35] = None
+  [36] = None
+  [37] = None
+  [38] = None
+  [39] = None
+  [40] = None
+  [41] = None
+  [42] = None
+  [43] = None
+  [44] = None
+  [45] = None
+  [46] = None
+  [47] = None
+  [48] = None
+  [49] = None
+  [50] = None
+  [51] = None
+  [52] = None
+  [53] = None
+  [54] = None
+  [55] = None
+  [56] = None
+  [57] = None
+  [58] = None
+  [59] = None
+  [60] = None
+  [61] = None
+  [62] = None
+  [63] = None
+ Move Byte Mapping:
+
+Final Gateway Key is:
+  [0] = None
+  [1] = None
+  [2] = None
+  [3] = None
+  [4] = None
+  [5] = None
+  [6] = None
+  [7] = None
+  [8] = None
+  [9] = None
+  [10] = None
+  [11] = None
+  [12] = None
+  [13] = None
+  [14] = None
+  [15] = None
+  [16] = None
+  [17] = None
+  [18] = None
+  [19] = None
+  [20] = None
+  [21] = None
+  [22] = None
+  [23] = None
+  [24] = None
+  [25] = None
+  [26] = None
+  [27] = None
+  [28] = None
+  [29] = None
+  [30] = None
+  [31] = None
+  [32] = (('--validity_check--packet_out_hdr', 0), 'exact')
+  [33] = None
+  [34] = None
+  [35] = None
+  [36] = None
+  [37] = None
+  [38] = None
+  [39] = None
+  [40] = None
+  [41] = None
+  [42] = None
+  [43] = None
+ Hash Bit Mapping:
+   (0, 1) --> 40
+
+Allocating: Ram Data Bus MatchSearch1 7 left_and_right is 128 bits in stage 0 for gateway
+Allocating: Gateway 15 in stage 0 for _condition_0.
+
+========================================================
+  Run Gateway Placement on Request List of size 0
+========================================================
+
+
+========================================================
+  Run Gateway Placement on Request List of size 0
+========================================================
+
+
+========================================================
+  Run Gateway Placement on Request List of size 0
+========================================================
+
+valid:
+  f = packet_out_hdr
+const:
+xor:
+Gateway Resource Request for P4 table _condition_1 with handle 117440514 in stage 1
+  Validity checks:
+      Field --validity_check--packet_out_hdr [0:0]
+  Fields to check against constants:
+      <none>
+  Field pairs to compare to each other:
+      <none>
+
+Gateway Resource Request for table _condition_1 needs access to 1 input bits
+
+
+========================================================
+  Run Gateway Placement on Request List of size 1
+========================================================
+
+Available Gateways are: (16)
+Gateway 0
+Gateway 1
+Gateway 2
+Gateway 3
+Gateway 4
+Gateway 5
+Gateway 6
+Gateway 7
+Gateway 8
+Gateway 9
+Gateway 10
+Gateway 11
+Gateway 12
+Gateway 13
+Gateway 14
+Gateway 15
+------- Phase 0 -------------
+Looking at gateway table 15
+match_groups_attached_to_gateway = OrderedDict([(0, (None, [], None, [], [])), (1, (None, [], None, [], []))])
+Search bus 0 on row 7
+Search bus 1 on row 7
+Looking at gateway table 14
+match_groups_attached_to_gateway = OrderedDict([(0, (None, [], None, [], [])), (1, (None, [], None, [], []))])
+Search bus 0 on row 7
+Search bus 1 on row 7
+Looking at gateway table 13
+match_groups_attached_to_gateway = OrderedDict([(0, (None, [], None, [], [])), (1, (None, [], None, [], []))])
+Search bus 0 on row 6
+Search bus 1 on row 6
+Looking at gateway table 12
+match_groups_attached_to_gateway = OrderedDict([(0, (None, [], None, [], [])), (1, (None, [], None, [], []))])
+Search bus 0 on row 6
+Search bus 1 on row 6
+Looking at gateway table 11
+match_groups_attached_to_gateway = OrderedDict([(0, (None, [], None, [], [])), (1, (None, [], None, [], []))])
+Search bus 0 on row 5
+Search bus 1 on row 5
+Looking at gateway table 10
+match_groups_attached_to_gateway = OrderedDict([(0, (None, [], None, [], [])), (1, (None, [], None, [], []))])
+Search bus 0 on row 5
+Search bus 1 on row 5
+Looking at gateway table 9
+match_groups_attached_to_gateway = OrderedDict([(0, (None, [], None, [], [])), (1, (None, [], None, [], []))])
+Search bus 0 on row 4
+Search bus 1 on row 4
+Looking at gateway table 8
+match_groups_attached_to_gateway = OrderedDict([(0, (None, [], None, [], [])), (1, (None, [], None, [], []))])
+Search bus 0 on row 4
+Search bus 1 on row 4
+Looking at gateway table 7
+match_groups_attached_to_gateway = OrderedDict([(0, (None, [], None, [], [])), (1, (None, [], None, [], []))])
+Search bus 0 on row 3
+Search bus 1 on row 3
+Looking at gateway table 6
+match_groups_attached_to_gateway = OrderedDict([(0, (None, [], None, [], [])), (1, (None, [], None, [], []))])
+Search bus 0 on row 3
+Search bus 1 on row 3
+Looking at gateway table 5
+match_groups_attached_to_gateway = OrderedDict([(0, (None, [], None, [], [])), (1, (None, [], None, [], []))])
+Search bus 0 on row 2
+Search bus 1 on row 2
+Looking at gateway table 4
+match_groups_attached_to_gateway = OrderedDict([(0, (None, [], None, [], [])), (1, (None, [], None, [], []))])
+Search bus 0 on row 2
+Search bus 1 on row 2
+Looking at gateway table 3
+match_groups_attached_to_gateway = OrderedDict([(0, (None, [], None, [], [])), (1, (None, [], None, [], []))])
+Search bus 0 on row 1
+Search bus 1 on row 1
+Looking at gateway table 2
+match_groups_attached_to_gateway = OrderedDict([(0, (None, [], None, [], [])), (1, (None, [], None, [], []))])
+Search bus 0 on row 1
+Search bus 1 on row 1
+Looking at gateway table 1
+match_groups_attached_to_gateway = OrderedDict([(0, (None, [], None, [], [])), (1, (None, [], None, [], []))])
+Search bus 0 on row 0
+Search bus 1 on row 0
+Looking at gateway table 0
+match_groups_attached_to_gateway = OrderedDict([(0, (None, [], None, [], [])), (1, (None, [], None, [], []))])
+Search bus 0 on row 0
+Search bus 1 on row 0
+------- Phase 1 -------------
+Looking at gateway table 15
+match_groups_attached_to_gateway = OrderedDict([(0, (None, [], None, [], [])), (1, (None, [], None, [], []))])
+Search bus 0 on row 7
+
+ final_parity_group_ids = [(0, [0]), (1, [0])] 
+
+ open_parity_group_ids = [0, 1] 
+----------------------------
+ Trying to place Gateway Resource Request for table _condition_1 needs access to 1 input bits in exact match group 0 (parity groups [0, 1]) and hash group 0 for gateway 15.
+----------------------------
+--------------
+Call to _place_fields_for_constant_comparison
+constant_match_key_partition is:
+Byte Position 0
+  (68, 0)
+Byte Position 1
+  (68, 0)
+Byte Position 2
+  (68, 0)
+Byte Position 3
+  (68, 0)
+
+Available bytes in ram word is [0, 1, 2, 3, 4, 5, 6, 7]
+Available data bytes for constants are [0, 1, 2, 3]
+Put all gateway constant field bits into the hash bits.
+Allocating: Hash Bit 40 in hash match group 0 for ('--validity_check--packet_out_hdr', 0).
+Gateway data search bus packing is:
+  [0] = None
+  [1] = None
+  [2] = None
+  [3] = None
+  [4] = None
+  [5] = None
+  [6] = None
+  [7] = None
+  [8] = None
+  [9] = None
+  [10] = None
+  [11] = None
+  [12] = None
+  [13] = None
+  [14] = None
+  [15] = None
+  [16] = None
+  [17] = None
+  [18] = None
+  [19] = None
+  [20] = None
+  [21] = None
+  [22] = None
+  [23] = None
+  [24] = None
+  [25] = None
+  [26] = None
+  [27] = None
+  [28] = None
+  [29] = None
+  [30] = None
+  [31] = None
+  [32] = None
+  [33] = None
+  [34] = None
+  [35] = None
+  [36] = None
+  [37] = None
+  [38] = None
+  [39] = None
+  [40] = None
+  [41] = None
+  [42] = None
+  [43] = None
+  [44] = None
+  [45] = None
+  [46] = None
+  [47] = None
+  [48] = None
+  [49] = None
+  [50] = None
+  [51] = None
+  [52] = None
+  [53] = None
+  [54] = None
+  [55] = None
+  [56] = None
+  [57] = None
+  [58] = None
+  [59] = None
+  [60] = None
+  [61] = None
+  [62] = None
+  [63] = None
+ Move Byte Mapping:
+
+Final Gateway Key is:
+  [0] = None
+  [1] = None
+  [2] = None
+  [3] = None
+  [4] = None
+  [5] = None
+  [6] = None
+  [7] = None
+  [8] = None
+  [9] = None
+  [10] = None
+  [11] = None
+  [12] = None
+  [13] = None
+  [14] = None
+  [15] = None
+  [16] = None
+  [17] = None
+  [18] = None
+  [19] = None
+  [20] = None
+  [21] = None
+  [22] = None
+  [23] = None
+  [24] = None
+  [25] = None
+  [26] = None
+  [27] = None
+  [28] = None
+  [29] = None
+  [30] = None
+  [31] = None
+  [32] = (('--validity_check--packet_out_hdr', 0), 'exact')
+  [33] = None
+  [34] = None
+  [35] = None
+  [36] = None
+  [37] = None
+  [38] = None
+  [39] = None
+  [40] = None
+  [41] = None
+  [42] = None
+  [43] = None
+ Hash Bit Mapping:
+   (12, 1) --> 40
+
+Allocating: Ram Data Bus MatchSearch1 7 left_and_right is 128 bits in stage 1 for gateway
+Allocating: Gateway 15 in stage 1 for _condition_1.
+
+========================================================
+  Run Gateway Placement on Request List of size 1
+========================================================
+
+Available Gateways are: (16)
+Gateway 0
+Gateway 1
+Gateway 2
+Gateway 3
+Gateway 4
+Gateway 5
+Gateway 6
+Gateway 7
+Gateway 8
+Gateway 9
+Gateway 10
+Gateway 11
+Gateway 12
+Gateway 13
+Gateway 14
+Gateway 15
+------- Phase 0 -------------
+Looking at gateway table 15
+match_groups_attached_to_gateway = OrderedDict([(0, (None, [], None, [], [])), (1, (None, [], None, [], []))])
+Search bus 0 on row 7
+Search bus 1 on row 7
+Looking at gateway table 14
+match_groups_attached_to_gateway = OrderedDict([(0, (None, [], None, [], [])), (1, (None, [], None, [], []))])
+Search bus 0 on row 7
+Search bus 1 on row 7
+Looking at gateway table 13
+match_groups_attached_to_gateway = OrderedDict([(0, (None, [], None, [], [])), (1, (None, [], None, [], []))])
+Search bus 0 on row 6
+Search bus 1 on row 6
+Looking at gateway table 12
+match_groups_attached_to_gateway = OrderedDict([(0, (None, [], None, [], [])), (1, (None, [], None, [], []))])
+Search bus 0 on row 6
+Search bus 1 on row 6
+Looking at gateway table 11
+match_groups_attached_to_gateway = OrderedDict([(0, (None, [], None, [], [])), (1, (None, [], None, [], []))])
+Search bus 0 on row 5
+Search bus 1 on row 5
+Looking at gateway table 10
+match_groups_attached_to_gateway = OrderedDict([(0, (None, [], None, [], [])), (1, (None, [], None, [], []))])
+Search bus 0 on row 5
+Search bus 1 on row 5
+Looking at gateway table 9
+match_groups_attached_to_gateway = OrderedDict([(0, (None, [], None, [], [])), (1, (None, [], None, [], []))])
+Search bus 0 on row 4
+Search bus 1 on row 4
+Looking at gateway table 8
+match_groups_attached_to_gateway = OrderedDict([(0, (None, [], None, [], [])), (1, (None, [], None, [], []))])
+Search bus 0 on row 4
+Search bus 1 on row 4
+Looking at gateway table 7
+match_groups_attached_to_gateway = OrderedDict([(0, (None, [], None, [], [])), (1, (None, [], None, [], []))])
+Search bus 0 on row 3
+Search bus 1 on row 3
+Looking at gateway table 6
+match_groups_attached_to_gateway = OrderedDict([(0, (None, [], None, [], [])), (1, (None, [], None, [], []))])
+Search bus 0 on row 3
+Search bus 1 on row 3
+Looking at gateway table 5
+match_groups_attached_to_gateway = OrderedDict([(0, (None, [], None, [], [])), (1, (None, [], None, [], []))])
+Search bus 0 on row 2
+Search bus 1 on row 2
+Looking at gateway table 4
+match_groups_attached_to_gateway = OrderedDict([(0, (None, [], None, [], [])), (1, (None, [], None, [], []))])
+Search bus 0 on row 2
+Search bus 1 on row 2
+Looking at gateway table 3
+match_groups_attached_to_gateway = OrderedDict([(0, (None, [], None, [], [])), (1, (None, [], None, [], []))])
+Search bus 0 on row 1
+Search bus 1 on row 1
+Looking at gateway table 2
+match_groups_attached_to_gateway = OrderedDict([(0, (None, [], None, [], [])), (1, (None, [], None, [], []))])
+Search bus 0 on row 1
+Search bus 1 on row 1
+Looking at gateway table 1
+match_groups_attached_to_gateway = OrderedDict([(0, (None, [], None, [], [])), (1, (None, [], None, [], []))])
+Search bus 0 on row 0
+Search bus 1 on row 0
+Looking at gateway table 0
+match_groups_attached_to_gateway = OrderedDict([(0, (None, [], None, [], [])), (1, (None, [], None, [], []))])
+Search bus 0 on row 0
+Search bus 1 on row 0
+------- Phase 1 -------------
+Looking at gateway table 15
+match_groups_attached_to_gateway = OrderedDict([(0, (None, [], None, [], [])), (1, (None, [], None, [], []))])
+Search bus 0 on row 7
+
+ final_parity_group_ids = [(0, [0]), (1, [0])] 
+
+ open_parity_group_ids = [0, 1] 
+----------------------------
+ Trying to place Gateway Resource Request for table _condition_1 needs access to 1 input bits in exact match group 0 (parity groups [0, 1]) and hash group 0 for gateway 15.
+----------------------------
+--------------
+Call to _place_fields_for_constant_comparison
+constant_match_key_partition is:
+Byte Position 0
+  (68, 0)
+Byte Position 1
+  (68, 0)
+Byte Position 2
+  (68, 0)
+Byte Position 3
+  (68, 0)
+
+Available bytes in ram word is [0, 1, 2, 3, 4, 5, 6, 7]
+Available data bytes for constants are [0, 1, 2, 3]
+Put all gateway constant field bits into the hash bits.
+Allocating: Hash Bit 40 in hash match group 0 for ('--validity_check--packet_out_hdr', 0).
+Gateway data search bus packing is:
+  [0] = None
+  [1] = None
+  [2] = None
+  [3] = None
+  [4] = None
+  [5] = None
+  [6] = None
+  [7] = None
+  [8] = None
+  [9] = None
+  [10] = None
+  [11] = None
+  [12] = None
+  [13] = None
+  [14] = None
+  [15] = None
+  [16] = None
+  [17] = None
+  [18] = None
+  [19] = None
+  [20] = None
+  [21] = None
+  [22] = None
+  [23] = None
+  [24] = None
+  [25] = None
+  [26] = None
+  [27] = None
+  [28] = None
+  [29] = None
+  [30] = None
+  [31] = None
+  [32] = None
+  [33] = None
+  [34] = None
+  [35] = None
+  [36] = None
+  [37] = None
+  [38] = None
+  [39] = None
+  [40] = None
+  [41] = None
+  [42] = None
+  [43] = None
+  [44] = None
+  [45] = None
+  [46] = None
+  [47] = None
+  [48] = None
+  [49] = None
+  [50] = None
+  [51] = None
+  [52] = None
+  [53] = None
+  [54] = None
+  [55] = None
+  [56] = None
+  [57] = None
+  [58] = None
+  [59] = None
+  [60] = None
+  [61] = None
+  [62] = None
+  [63] = None
+ Move Byte Mapping:
+
+Final Gateway Key is:
+  [0] = None
+  [1] = None
+  [2] = None
+  [3] = None
+  [4] = None
+  [5] = None
+  [6] = None
+  [7] = None
+  [8] = None
+  [9] = None
+  [10] = None
+  [11] = None
+  [12] = None
+  [13] = None
+  [14] = None
+  [15] = None
+  [16] = None
+  [17] = None
+  [18] = None
+  [19] = None
+  [20] = None
+  [21] = None
+  [22] = None
+  [23] = None
+  [24] = None
+  [25] = None
+  [26] = None
+  [27] = None
+  [28] = None
+  [29] = None
+  [30] = None
+  [31] = None
+  [32] = (('--validity_check--packet_out_hdr', 0), 'exact')
+  [33] = None
+  [34] = None
+  [35] = None
+  [36] = None
+  [37] = None
+  [38] = None
+  [39] = None
+  [40] = None
+  [41] = None
+  [42] = None
+  [43] = None
+ Hash Bit Mapping:
+   (12, 1) --> 40
+
+Allocating: Ram Data Bus MatchSearch1 7 left_and_right is 128 bits in stage 1 for gateway
+Allocating: Gateway 15 in stage 1 for _condition_1.
+
+========================================================
+  Run Gateway Placement on Request List of size 0
+========================================================
+
+
+========================================================
+  Run Gateway Placement on Request List of size 0
+========================================================
+
+
+========================================================
+  Run Gateway Placement on Request List of size 0
+========================================================
+
+valid:
+const:
+  f = ig_intr_md_for_tm.ucast_egress_port
+xor:
+Gateway Resource Request for P4 table _condition_2 with handle 117440515 in stage 3
+  Validity checks:
+      <none>
+  Fields to check against constants:
+      Field ig_intr_md_for_tm.ucast_egress_port [8:0]
+  Field pairs to compare to each other:
+      <none>
+
+Gateway Resource Request for table _condition_2 needs access to 9 input bits
+
+
+========================================================
+  Run Gateway Placement on Request List of size 1
+========================================================
+
+Available Gateways are: (16)
+Gateway 0
+Gateway 1
+Gateway 2
+Gateway 3
+Gateway 4
+Gateway 5
+Gateway 6
+Gateway 7
+Gateway 8
+Gateway 9
+Gateway 10
+Gateway 11
+Gateway 12
+Gateway 13
+Gateway 14
+Gateway 15
+------- Phase 0 -------------
+Looking at gateway table 15
+match_groups_attached_to_gateway = OrderedDict([(0, (None, [], None, [], [])), (1, (None, [], None, [], []))])
+Search bus 0 on row 7
+Search bus 1 on row 7
+Looking at gateway table 14
+match_groups_attached_to_gateway = OrderedDict([(0, (None, [], None, [], [])), (1, (None, [], None, [], []))])
+Search bus 0 on row 7
+Search bus 1 on row 7
+Looking at gateway table 13
+match_groups_attached_to_gateway = OrderedDict([(0, (None, [], None, [], [])), (1, (None, [], None, [], []))])
+Search bus 0 on row 6
+Search bus 1 on row 6
+Looking at gateway table 12
+match_groups_attached_to_gateway = OrderedDict([(0, (None, [], None, [], [])), (1, (None, [], None, [], []))])
+Search bus 0 on row 6
+Search bus 1 on row 6
+Looking at gateway table 11
+match_groups_attached_to_gateway = OrderedDict([(0, (None, [], None, [], [])), (1, (None, [], None, [], []))])
+Search bus 0 on row 5
+Search bus 1 on row 5
+Looking at gateway table 10
+match_groups_attached_to_gateway = OrderedDict([(0, (None, [], None, [], [])), (1, (None, [], None, [], []))])
+Search bus 0 on row 5
+Search bus 1 on row 5
+Looking at gateway table 9
+match_groups_attached_to_gateway = OrderedDict([(0, (None, [], None, [], [])), (1, (None, [], None, [], []))])
+Search bus 0 on row 4
+Search bus 1 on row 4
+Looking at gateway table 8
+match_groups_attached_to_gateway = OrderedDict([(0, (None, [], None, [], [])), (1, (None, [], None, [], []))])
+Search bus 0 on row 4
+Search bus 1 on row 4
+Looking at gateway table 7
+match_groups_attached_to_gateway = OrderedDict([(0, (None, [], None, [], [])), (1, (None, [], None, [], []))])
+Search bus 0 on row 3
+Search bus 1 on row 3
+Looking at gateway table 6
+match_groups_attached_to_gateway = OrderedDict([(0, (None, [], None, [], [])), (1, (None, [], None, [], []))])
+Search bus 0 on row 3
+Search bus 1 on row 3
+Looking at gateway table 5
+match_groups_attached_to_gateway = OrderedDict([(0, (None, [], None, [], [])), (1, (None, [], None, [], []))])
+Search bus 0 on row 2
+Search bus 1 on row 2
+Looking at gateway table 4
+match_groups_attached_to_gateway = OrderedDict([(0, (None, [], None, [], [])), (1, (None, [], None, [], []))])
+Search bus 0 on row 2
+Search bus 1 on row 2
+Looking at gateway table 3
+match_groups_attached_to_gateway = OrderedDict([(0, (None, [], None, [], [])), (1, (None, [], None, [], []))])
+Search bus 0 on row 1
+Search bus 1 on row 1
+Looking at gateway table 2
+match_groups_attached_to_gateway = OrderedDict([(0, (None, [], None, [], [])), (1, (None, [], None, [], []))])
+Search bus 0 on row 1
+Search bus 1 on row 1
+Looking at gateway table 1
+match_groups_attached_to_gateway = OrderedDict([(0, (None, [], None, [], [])), (1, (None, [], None, [], []))])
+Search bus 0 on row 0
+Search bus 1 on row 0
+Looking at gateway table 0
+match_groups_attached_to_gateway = OrderedDict([(0, (None, [], None, [], [])), (1, (None, [], None, [], []))])
+Search bus 0 on row 0
+Search bus 1 on row 0
+------- Phase 1 -------------
+Looking at gateway table 15
+match_groups_attached_to_gateway = OrderedDict([(0, (None, [], None, [], [])), (1, (None, [], None, [], []))])
+Search bus 0 on row 7
+
+ final_parity_group_ids = [(0, []), (1, [])] 
+
+ open_parity_group_ids = [0, 1] 
+----------------------------
+ Trying to place Gateway Resource Request for table _condition_2 needs access to 9 input bits in exact match group 0 (parity groups [0, 1]) and hash group 0 for gateway 15.
+----------------------------
+--------------
+Call to _place_fields_for_constant_comparison
+constant_match_key_partition is:
+Byte Position 0
+  (130, 0)
+Byte Position 1
+  (130, 1)
+Byte Position 2
+  (130, 0)
+Byte Position 3
+  (130, 1)
+
+Available bytes in ram word is [0, 1, 2, 3, 4, 5, 6, 7]
+Available data bytes for constants are [0, 1, 2, 3]
+Put all gateway constant field bits into the hash bits.
+Allocating: Hash Bit 40 in hash match group 0 for ('ig_intr_md_for_tm.ucast_egress_port', 8).
+Allocating: Hash Bit 41 in hash match group 0 for ('ig_intr_md_for_tm.ucast_egress_port', 0).
+Allocating: Hash Bit 42 in hash match group 0 for ('ig_intr_md_for_tm.ucast_egress_port', 1).
+Allocating: Hash Bit 43 in hash match group 0 for ('ig_intr_md_for_tm.ucast_egress_port', 2).
+Allocating: Hash Bit 44 in hash match group 0 for ('ig_intr_md_for_tm.ucast_egress_port', 3).
+Allocating: Hash Bit 45 in hash match group 0 for ('ig_intr_md_for_tm.ucast_egress_port', 4).
+Allocating: Hash Bit 46 in hash match group 0 for ('ig_intr_md_for_tm.ucast_egress_port', 5).
+Allocating: Hash Bit 47 in hash match group 0 for ('ig_intr_md_for_tm.ucast_egress_port', 6).
+Allocating: Hash Bit 48 in hash match group 0 for ('ig_intr_md_for_tm.ucast_egress_port', 7).
+Gateway data search bus packing is:
+  [0] = None
+  [1] = None
+  [2] = None
+  [3] = None
+  [4] = None
+  [5] = None
+  [6] = None
+  [7] = None
+  [8] = None
+  [9] = None
+  [10] = None
+  [11] = None
+  [12] = None
+  [13] = None
+  [14] = None
+  [15] = None
+  [16] = None
+  [17] = None
+  [18] = None
+  [19] = None
+  [20] = None
+  [21] = None
+  [22] = None
+  [23] = None
+  [24] = None
+  [25] = None
+  [26] = None
+  [27] = None
+  [28] = None
+  [29] = None
+  [30] = None
+  [31] = None
+  [32] = None
+  [33] = None
+  [34] = None
+  [35] = None
+  [36] = None
+  [37] = None
+  [38] = None
+  [39] = None
+  [40] = None
+  [41] = None
+  [42] = None
+  [43] = None
+  [44] = None
+  [45] = None
+  [46] = None
+  [47] = None
+  [48] = None
+  [49] = None
+  [50] = None
+  [51] = None
+  [52] = None
+  [53] = None
+  [54] = None
+  [55] = None
+  [56] = None
+  [57] = None
+  [58] = None
+  [59] = None
+  [60] = None
+  [61] = None
+  [62] = None
+  [63] = None
+ Move Byte Mapping:
+
+Final Gateway Key is:
+  [0] = None
+  [1] = None
+  [2] = None
+  [3] = None
+  [4] = None
+  [5] = None
+  [6] = None
+  [7] = None
+  [8] = None
+  [9] = None
+  [10] = None
+  [11] = None
+  [12] = None
+  [13] = None
+  [14] = None
+  [15] = None
+  [16] = None
+  [17] = None
+  [18] = None
+  [19] = None
+  [20] = None
+  [21] = None
+  [22] = None
+  [23] = None
+  [24] = None
+  [25] = None
+  [26] = None
+  [27] = None
+  [28] = None
+  [29] = None
+  [30] = None
+  [31] = None
+  [32] = (('ig_intr_md_for_tm.ucast_egress_port', 8), 'exact')
+  [33] = (('ig_intr_md_for_tm.ucast_egress_port', 0), 'exact')
+  [34] = (('ig_intr_md_for_tm.ucast_egress_port', 1), 'exact')
+  [35] = (('ig_intr_md_for_tm.ucast_egress_port', 2), 'exact')
+  [36] = (('ig_intr_md_for_tm.ucast_egress_port', 3), 'exact')
+  [37] = (('ig_intr_md_for_tm.ucast_egress_port', 4), 'exact')
+  [38] = (('ig_intr_md_for_tm.ucast_egress_port', 5), 'exact')
+  [39] = (('ig_intr_md_for_tm.ucast_egress_port', 6), 'exact')
+  [40] = (('ig_intr_md_for_tm.ucast_egress_port', 7), 'exact')
+  [41] = None
+  [42] = None
+  [43] = None
+ Hash Bit Mapping:
+   (1, 0) --> 40
+   (0, 0) --> 41
+   (0, 1) --> 42
+   (0, 2) --> 43
+   (0, 3) --> 44
+   (0, 4) --> 45
+   (0, 5) --> 46
+   (0, 6) --> 47
+   (0, 7) --> 48
+
+Allocating: Ram Data Bus MatchSearch1 7 left_and_right is 128 bits in stage 3 for gateway
+Allocating: Gateway 15 in stage 3 for _condition_2.
+
+========================================================
+  Run Gateway Placement on Request List of size 1
+========================================================
+
+Available Gateways are: (16)
+Gateway 0
+Gateway 1
+Gateway 2
+Gateway 3
+Gateway 4
+Gateway 5
+Gateway 6
+Gateway 7
+Gateway 8
+Gateway 9
+Gateway 10
+Gateway 11
+Gateway 12
+Gateway 13
+Gateway 14
+Gateway 15
+------- Phase 0 -------------
+Looking at gateway table 15
+match_groups_attached_to_gateway = OrderedDict([(0, (None, [], None, [], [])), (1, (None, [], None, [], []))])
+Search bus 0 on row 7
+Search bus 1 on row 7
+Looking at gateway table 14
+match_groups_attached_to_gateway = OrderedDict([(0, (None, [], None, [], [])), (1, (None, [], None, [], []))])
+Search bus 0 on row 7
+Search bus 1 on row 7
+Looking at gateway table 13
+match_groups_attached_to_gateway = OrderedDict([(0, (None, [], None, [], [])), (1, (None, [], None, [], []))])
+Search bus 0 on row 6
+Search bus 1 on row 6
+Looking at gateway table 12
+match_groups_attached_to_gateway = OrderedDict([(0, (None, [], None, [], [])), (1, (None, [], None, [], []))])
+Search bus 0 on row 6
+Search bus 1 on row 6
+Looking at gateway table 11
+match_groups_attached_to_gateway = OrderedDict([(0, (None, [], None, [], [])), (1, (None, [], None, [], []))])
+Search bus 0 on row 5
+Search bus 1 on row 5
+Looking at gateway table 10
+match_groups_attached_to_gateway = OrderedDict([(0, (None, [], None, [], [])), (1, (None, [], None, [], []))])
+Search bus 0 on row 5
+Search bus 1 on row 5
+Looking at gateway table 9
+match_groups_attached_to_gateway = OrderedDict([(0, (None, [], None, [], [])), (1, (None, [], None, [], []))])
+Search bus 0 on row 4
+Search bus 1 on row 4
+Looking at gateway table 8
+match_groups_attached_to_gateway = OrderedDict([(0, (None, [], None, [], [])), (1, (None, [], None, [], []))])
+Search bus 0 on row 4
+Search bus 1 on row 4
+Looking at gateway table 7
+match_groups_attached_to_gateway = OrderedDict([(0, (None, [], None, [], [])), (1, (None, [], None, [], []))])
+Search bus 0 on row 3
+Search bus 1 on row 3
+Looking at gateway table 6
+match_groups_attached_to_gateway = OrderedDict([(0, (None, [], None, [], [])), (1, (None, [], None, [], []))])
+Search bus 0 on row 3
+Search bus 1 on row 3
+Looking at gateway table 5
+match_groups_attached_to_gateway = OrderedDict([(0, (None, [], None, [], [])), (1, (None, [], None, [], []))])
+Search bus 0 on row 2
+Search bus 1 on row 2
+Looking at gateway table 4
+match_groups_attached_to_gateway = OrderedDict([(0, (None, [], None, [], [])), (1, (None, [], None, [], []))])
+Search bus 0 on row 2
+Search bus 1 on row 2
+Looking at gateway table 3
+match_groups_attached_to_gateway = OrderedDict([(0, (None, [], None, [], [])), (1, (None, [], None, [], []))])
+Search bus 0 on row 1
+Search bus 1 on row 1
+Looking at gateway table 2
+match_groups_attached_to_gateway = OrderedDict([(0, (None, [], None, [], [])), (1, (None, [], None, [], []))])
+Search bus 0 on row 1
+Search bus 1 on row 1
+Looking at gateway table 1
+match_groups_attached_to_gateway = OrderedDict([(0, (None, [], None, [], [])), (1, (None, [], None, [], []))])
+Search bus 0 on row 0
+Search bus 1 on row 0
+Looking at gateway table 0
+match_groups_attached_to_gateway = OrderedDict([(0, (None, [], None, [], [])), (1, (None, [], None, [], []))])
+Search bus 0 on row 0
+Search bus 1 on row 0
+------- Phase 1 -------------
+Looking at gateway table 15
+match_groups_attached_to_gateway = OrderedDict([(0, (None, [], None, [], [])), (1, (None, [], None, [], []))])
+Search bus 0 on row 7
+
+ final_parity_group_ids = [(0, []), (1, [])] 
+
+ open_parity_group_ids = [0, 1] 
+----------------------------
+ Trying to place Gateway Resource Request for table _condition_2 needs access to 9 input bits in exact match group 0 (parity groups [0, 1]) and hash group 0 for gateway 15.
+----------------------------
+--------------
+Call to _place_fields_for_constant_comparison
+constant_match_key_partition is:
+Byte Position 0
+  (130, 0)
+Byte Position 1
+  (130, 1)
+Byte Position 2
+  (130, 0)
+Byte Position 3
+  (130, 1)
+
+Available bytes in ram word is [0, 1, 2, 3, 4, 5, 6, 7]
+Available data bytes for constants are [0, 1, 2, 3]
+Put all gateway constant field bits into the hash bits.
+Allocating: Hash Bit 40 in hash match group 0 for ('ig_intr_md_for_tm.ucast_egress_port', 8).
+Allocating: Hash Bit 41 in hash match group 0 for ('ig_intr_md_for_tm.ucast_egress_port', 0).
+Allocating: Hash Bit 42 in hash match group 0 for ('ig_intr_md_for_tm.ucast_egress_port', 1).
+Allocating: Hash Bit 43 in hash match group 0 for ('ig_intr_md_for_tm.ucast_egress_port', 2).
+Allocating: Hash Bit 44 in hash match group 0 for ('ig_intr_md_for_tm.ucast_egress_port', 3).
+Allocating: Hash Bit 45 in hash match group 0 for ('ig_intr_md_for_tm.ucast_egress_port', 4).
+Allocating: Hash Bit 46 in hash match group 0 for ('ig_intr_md_for_tm.ucast_egress_port', 5).
+Allocating: Hash Bit 47 in hash match group 0 for ('ig_intr_md_for_tm.ucast_egress_port', 6).
+Allocating: Hash Bit 48 in hash match group 0 for ('ig_intr_md_for_tm.ucast_egress_port', 7).
+Gateway data search bus packing is:
+  [0] = None
+  [1] = None
+  [2] = None
+  [3] = None
+  [4] = None
+  [5] = None
+  [6] = None
+  [7] = None
+  [8] = None
+  [9] = None
+  [10] = None
+  [11] = None
+  [12] = None
+  [13] = None
+  [14] = None
+  [15] = None
+  [16] = None
+  [17] = None
+  [18] = None
+  [19] = None
+  [20] = None
+  [21] = None
+  [22] = None
+  [23] = None
+  [24] = None
+  [25] = None
+  [26] = None
+  [27] = None
+  [28] = None
+  [29] = None
+  [30] = None
+  [31] = None
+  [32] = None
+  [33] = None
+  [34] = None
+  [35] = None
+  [36] = None
+  [37] = None
+  [38] = None
+  [39] = None
+  [40] = None
+  [41] = None
+  [42] = None
+  [43] = None
+  [44] = None
+  [45] = None
+  [46] = None
+  [47] = None
+  [48] = None
+  [49] = None
+  [50] = None
+  [51] = None
+  [52] = None
+  [53] = None
+  [54] = None
+  [55] = None
+  [56] = None
+  [57] = None
+  [58] = None
+  [59] = None
+  [60] = None
+  [61] = None
+  [62] = None
+  [63] = None
+ Move Byte Mapping:
+
+Final Gateway Key is:
+  [0] = None
+  [1] = None
+  [2] = None
+  [3] = None
+  [4] = None
+  [5] = None
+  [6] = None
+  [7] = None
+  [8] = None
+  [9] = None
+  [10] = None
+  [11] = None
+  [12] = None
+  [13] = None
+  [14] = None
+  [15] = None
+  [16] = None
+  [17] = None
+  [18] = None
+  [19] = None
+  [20] = None
+  [21] = None
+  [22] = None
+  [23] = None
+  [24] = None
+  [25] = None
+  [26] = None
+  [27] = None
+  [28] = None
+  [29] = None
+  [30] = None
+  [31] = None
+  [32] = (('ig_intr_md_for_tm.ucast_egress_port', 8), 'exact')
+  [33] = (('ig_intr_md_for_tm.ucast_egress_port', 0), 'exact')
+  [34] = (('ig_intr_md_for_tm.ucast_egress_port', 1), 'exact')
+  [35] = (('ig_intr_md_for_tm.ucast_egress_port', 2), 'exact')
+  [36] = (('ig_intr_md_for_tm.ucast_egress_port', 3), 'exact')
+  [37] = (('ig_intr_md_for_tm.ucast_egress_port', 4), 'exact')
+  [38] = (('ig_intr_md_for_tm.ucast_egress_port', 5), 'exact')
+  [39] = (('ig_intr_md_for_tm.ucast_egress_port', 6), 'exact')
+  [40] = (('ig_intr_md_for_tm.ucast_egress_port', 7), 'exact')
+  [41] = None
+  [42] = None
+  [43] = None
+ Hash Bit Mapping:
+   (1, 0) --> 40
+   (0, 0) --> 41
+   (0, 1) --> 42
+   (0, 2) --> 43
+   (0, 3) --> 44
+   (0, 4) --> 45
+   (0, 5) --> 46
+   (0, 6) --> 47
+   (0, 7) --> 48
+
+Allocating: Ram Data Bus MatchSearch1 7 left_and_right is 128 bits in stage 3 for gateway
+Allocating: Gateway 15 in stage 3 for _condition_2.
+
+========================================================
+  Run Gateway Placement on Request List of size 1
+========================================================
+
+Available Gateways are: (16)
+Gateway 0
+Gateway 1
+Gateway 2
+Gateway 3
+Gateway 4
+Gateway 5
+Gateway 6
+Gateway 7
+Gateway 8
+Gateway 9
+Gateway 10
+Gateway 11
+Gateway 12
+Gateway 13
+Gateway 14
+Gateway 15
+------- Phase 0 -------------
+Looking at gateway table 15
+match_groups_attached_to_gateway = OrderedDict([(0, (None, [], None, [], [])), (1, (None, [], None, [], []))])
+Search bus 0 on row 7
+Search bus 1 on row 7
+Looking at gateway table 14
+match_groups_attached_to_gateway = OrderedDict([(0, (None, [], None, [], [])), (1, (None, [], None, [], []))])
+Search bus 0 on row 7
+Search bus 1 on row 7
+Looking at gateway table 13
+match_groups_attached_to_gateway = OrderedDict([(0, (None, [], None, [], [])), (1, (None, [], None, [], []))])
+Search bus 0 on row 6
+Search bus 1 on row 6
+Looking at gateway table 12
+match_groups_attached_to_gateway = OrderedDict([(0, (None, [], None, [], [])), (1, (None, [], None, [], []))])
+Search bus 0 on row 6
+Search bus 1 on row 6
+Looking at gateway table 11
+match_groups_attached_to_gateway = OrderedDict([(0, (None, [], None, [], [])), (1, (None, [], None, [], []))])
+Search bus 0 on row 5
+Search bus 1 on row 5
+Looking at gateway table 10
+match_groups_attached_to_gateway = OrderedDict([(0, (None, [], None, [], [])), (1, (None, [], None, [], []))])
+Search bus 0 on row 5
+Search bus 1 on row 5
+Looking at gateway table 9
+match_groups_attached_to_gateway = OrderedDict([(0, (None, [], None, [], [])), (1, (None, [], None, [], []))])
+Search bus 0 on row 4
+Search bus 1 on row 4
+Looking at gateway table 8
+match_groups_attached_to_gateway = OrderedDict([(0, (None, [], None, [], [])), (1, (None, [], None, [], []))])
+Search bus 0 on row 4
+Search bus 1 on row 4
+Looking at gateway table 7
+match_groups_attached_to_gateway = OrderedDict([(0, (None, [], None, [], [])), (1, (None, [], None, [], []))])
+Search bus 0 on row 3
+Search bus 1 on row 3
+Looking at gateway table 6
+match_groups_attached_to_gateway = OrderedDict([(0, (None, [], None, [], [])), (1, (None, [], None, [], []))])
+Search bus 0 on row 3
+Search bus 1 on row 3
+Looking at gateway table 5
+match_groups_attached_to_gateway = OrderedDict([(0, (None, [], None, [], [])), (1, (None, [], None, [], []))])
+Search bus 0 on row 2
+Search bus 1 on row 2
+Looking at gateway table 4
+match_groups_attached_to_gateway = OrderedDict([(0, (None, [], None, [], [])), (1, (None, [], None, [], []))])
+Search bus 0 on row 2
+Search bus 1 on row 2
+Looking at gateway table 3
+match_groups_attached_to_gateway = OrderedDict([(0, (None, [], None, [], [])), (1, (None, [], None, [], []))])
+Search bus 0 on row 1
+Search bus 1 on row 1
+Looking at gateway table 2
+match_groups_attached_to_gateway = OrderedDict([(0, (None, [], None, [], [])), (1, (None, [], None, [], []))])
+Search bus 0 on row 1
+Search bus 1 on row 1
+Looking at gateway table 1
+match_groups_attached_to_gateway = OrderedDict([(0, (None, [], None, [], [])), (1, (None, [], None, [], []))])
+Search bus 0 on row 0
+Search bus 1 on row 0
+Looking at gateway table 0
+match_groups_attached_to_gateway = OrderedDict([(0, (None, [], None, [], [])), (1, (None, [], None, [], []))])
+Search bus 0 on row 0
+Search bus 1 on row 0
+------- Phase 1 -------------
+Looking at gateway table 15
+match_groups_attached_to_gateway = OrderedDict([(0, (None, [], None, [], [])), (1, (None, [], None, [], []))])
+Search bus 0 on row 7
+
+ final_parity_group_ids = [(0, []), (1, [])] 
+
+ open_parity_group_ids = [0, 1] 
+----------------------------
+ Trying to place Gateway Resource Request for table _condition_2 needs access to 9 input bits in exact match group 0 (parity groups [0, 1]) and hash group 0 for gateway 15.
+----------------------------
+--------------
+Call to _place_fields_for_constant_comparison
+constant_match_key_partition is:
+Byte Position 0
+  (130, 0)
+Byte Position 1
+  (130, 1)
+Byte Position 2
+  (130, 0)
+Byte Position 3
+  (130, 1)
+
+Available bytes in ram word is [0, 1, 2, 3, 4, 5, 6, 7]
+Available data bytes for constants are [0, 1, 2, 3]
+Put all gateway constant field bits into the hash bits.
+Allocating: Hash Bit 40 in hash match group 0 for ('ig_intr_md_for_tm.ucast_egress_port', 8).
+Allocating: Hash Bit 41 in hash match group 0 for ('ig_intr_md_for_tm.ucast_egress_port', 0).
+Allocating: Hash Bit 42 in hash match group 0 for ('ig_intr_md_for_tm.ucast_egress_port', 1).
+Allocating: Hash Bit 43 in hash match group 0 for ('ig_intr_md_for_tm.ucast_egress_port', 2).
+Allocating: Hash Bit 44 in hash match group 0 for ('ig_intr_md_for_tm.ucast_egress_port', 3).
+Allocating: Hash Bit 45 in hash match group 0 for ('ig_intr_md_for_tm.ucast_egress_port', 4).
+Allocating: Hash Bit 46 in hash match group 0 for ('ig_intr_md_for_tm.ucast_egress_port', 5).
+Allocating: Hash Bit 47 in hash match group 0 for ('ig_intr_md_for_tm.ucast_egress_port', 6).
+Allocating: Hash Bit 48 in hash match group 0 for ('ig_intr_md_for_tm.ucast_egress_port', 7).
+Gateway data search bus packing is:
+  [0] = None
+  [1] = None
+  [2] = None
+  [3] = None
+  [4] = None
+  [5] = None
+  [6] = None
+  [7] = None
+  [8] = None
+  [9] = None
+  [10] = None
+  [11] = None
+  [12] = None
+  [13] = None
+  [14] = None
+  [15] = None
+  [16] = None
+  [17] = None
+  [18] = None
+  [19] = None
+  [20] = None
+  [21] = None
+  [22] = None
+  [23] = None
+  [24] = None
+  [25] = None
+  [26] = None
+  [27] = None
+  [28] = None
+  [29] = None
+  [30] = None
+  [31] = None
+  [32] = None
+  [33] = None
+  [34] = None
+  [35] = None
+  [36] = None
+  [37] = None
+  [38] = None
+  [39] = None
+  [40] = None
+  [41] = None
+  [42] = None
+  [43] = None
+  [44] = None
+  [45] = None
+  [46] = None
+  [47] = None
+  [48] = None
+  [49] = None
+  [50] = None
+  [51] = None
+  [52] = None
+  [53] = None
+  [54] = None
+  [55] = None
+  [56] = None
+  [57] = None
+  [58] = None
+  [59] = None
+  [60] = None
+  [61] = None
+  [62] = None
+  [63] = None
+ Move Byte Mapping:
+
+Final Gateway Key is:
+  [0] = None
+  [1] = None
+  [2] = None
+  [3] = None
+  [4] = None
+  [5] = None
+  [6] = None
+  [7] = None
+  [8] = None
+  [9] = None
+  [10] = None
+  [11] = None
+  [12] = None
+  [13] = None
+  [14] = None
+  [15] = None
+  [16] = None
+  [17] = None
+  [18] = None
+  [19] = None
+  [20] = None
+  [21] = None
+  [22] = None
+  [23] = None
+  [24] = None
+  [25] = None
+  [26] = None
+  [27] = None
+  [28] = None
+  [29] = None
+  [30] = None
+  [31] = None
+  [32] = (('ig_intr_md_for_tm.ucast_egress_port', 8), 'exact')
+  [33] = (('ig_intr_md_for_tm.ucast_egress_port', 0), 'exact')
+  [34] = (('ig_intr_md_for_tm.ucast_egress_port', 1), 'exact')
+  [35] = (('ig_intr_md_for_tm.ucast_egress_port', 2), 'exact')
+  [36] = (('ig_intr_md_for_tm.ucast_egress_port', 3), 'exact')
+  [37] = (('ig_intr_md_for_tm.ucast_egress_port', 4), 'exact')
+  [38] = (('ig_intr_md_for_tm.ucast_egress_port', 5), 'exact')
+  [39] = (('ig_intr_md_for_tm.ucast_egress_port', 6), 'exact')
+  [40] = (('ig_intr_md_for_tm.ucast_egress_port', 7), 'exact')
+  [41] = None
+  [42] = None
+  [43] = None
+ Hash Bit Mapping:
+   (1, 0) --> 40
+   (0, 0) --> 41
+   (0, 1) --> 42
+   (0, 2) --> 43
+   (0, 3) --> 44
+   (0, 4) --> 45
+   (0, 5) --> 46
+   (0, 6) --> 47
+   (0, 7) --> 48
+
+Allocating: Ram Data Bus MatchSearch1 7 left_and_right is 128 bits in stage 3 for gateway
+Allocating: Gateway 15 in stage 3 for _condition_2.
+valid:
+const:
+xor:
+Gateway Resource Request for P4 table egress_port_count_table_always_true_condition with handle -1 in stage 3
+  Validity checks:
+      <none>
+  Fields to check against constants:
+      <none>
+  Field pairs to compare to each other:
+      <none>
+
+Gateway Resource Request for table egress_port_count_table_always_true_condition needs access to 0 input bits
+
+
+========================================================
+  Run Gateway Placement on Request List of size 2
+========================================================
+
+Available Gateways are: (16)
+Gateway 0
+Gateway 1
+Gateway 2
+Gateway 3
+Gateway 4
+Gateway 5
+Gateway 6
+Gateway 7
+Gateway 8
+Gateway 9
+Gateway 10
+Gateway 11
+Gateway 12
+Gateway 13
+Gateway 14
+Gateway 15
+------- Phase 0 -------------
+Looking at gateway table 15
+match_groups_attached_to_gateway = OrderedDict([(0, (None, [], None, [], [])), (1, (None, [], None, [], []))])
+Search bus 0 on row 7
+Search bus 1 on row 7
+Looking at gateway table 14
+match_groups_attached_to_gateway = OrderedDict([(0, (None, [], None, [], [])), (1, (None, [], None, [], []))])
+Search bus 0 on row 7
+Search bus 1 on row 7
+Looking at gateway table 13
+match_groups_attached_to_gateway = OrderedDict([(0, (None, [], None, [], [])), (1, (None, [], None, [], []))])
+Search bus 0 on row 6
+Search bus 1 on row 6
+Looking at gateway table 12
+match_groups_attached_to_gateway = OrderedDict([(0, (None, [], None, [], [])), (1, (None, [], None, [], []))])
+Search bus 0 on row 6
+Search bus 1 on row 6
+Looking at gateway table 11
+match_groups_attached_to_gateway = OrderedDict([(0, (None, [], None, [], [])), (1, (None, [], None, [], []))])
+Search bus 0 on row 5
+Search bus 1 on row 5
+Looking at gateway table 10
+match_groups_attached_to_gateway = OrderedDict([(0, (None, [], None, [], [])), (1, (None, [], None, [], []))])
+Search bus 0 on row 5
+Search bus 1 on row 5
+Looking at gateway table 9
+match_groups_attached_to_gateway = OrderedDict([(0, (None, [], None, [], [])), (1, (None, [], None, [], []))])
+Search bus 0 on row 4
+Search bus 1 on row 4
+Looking at gateway table 8
+match_groups_attached_to_gateway = OrderedDict([(0, (None, [], None, [], [])), (1, (None, [], None, [], []))])
+Search bus 0 on row 4
+Search bus 1 on row 4
+Looking at gateway table 7
+match_groups_attached_to_gateway = OrderedDict([(0, (None, [], None, [], [])), (1, (None, [], None, [], []))])
+Search bus 0 on row 3
+Search bus 1 on row 3
+Looking at gateway table 6
+match_groups_attached_to_gateway = OrderedDict([(0, (None, [], None, [], [])), (1, (None, [], None, [], []))])
+Search bus 0 on row 3
+Search bus 1 on row 3
+Looking at gateway table 5
+match_groups_attached_to_gateway = OrderedDict([(0, (None, [], None, [], [])), (1, (None, [], None, [], []))])
+Search bus 0 on row 2
+Search bus 1 on row 2
+Looking at gateway table 4
+match_groups_attached_to_gateway = OrderedDict([(0, (None, [], None, [], [])), (1, (None, [], None, [], []))])
+Search bus 0 on row 2
+Search bus 1 on row 2
+Looking at gateway table 3
+match_groups_attached_to_gateway = OrderedDict([(0, (None, [], None, [], [])), (1, (None, [], None, [], []))])
+Search bus 0 on row 1
+Search bus 1 on row 1
+Looking at gateway table 2
+match_groups_attached_to_gateway = OrderedDict([(0, (None, [], None, [], [])), (1, (None, [], None, [], []))])
+Search bus 0 on row 1
+Search bus 1 on row 1
+Looking at gateway table 1
+match_groups_attached_to_gateway = OrderedDict([(0, (None, [], None, [], [])), (1, (None, [], None, [], []))])
+Search bus 0 on row 0
+Search bus 1 on row 0
+Looking at gateway table 0
+match_groups_attached_to_gateway = OrderedDict([(0, (None, [], None, [], [])), (1, (None, [], None, [], []))])
+Search bus 0 on row 0
+Search bus 1 on row 0
+------- Phase 1 -------------
+Looking at gateway table 15
+match_groups_attached_to_gateway = OrderedDict([(0, (None, [], None, [], [])), (1, (None, [], None, [], []))])
+Search bus 0 on row 7
+
+ final_parity_group_ids = [(0, []), (1, [])] 
+
+ open_parity_group_ids = [0, 1] 
+----------------------------
+ Trying to place Gateway Resource Request for table _condition_2 needs access to 9 input bits in exact match group 0 (parity groups [0, 1]) and hash group 0 for gateway 15.
+----------------------------
+--------------
+Call to _place_fields_for_constant_comparison
+constant_match_key_partition is:
+Byte Position 0
+  (130, 0)
+Byte Position 1
+  (130, 1)
+Byte Position 2
+  (130, 0)
+Byte Position 3
+  (130, 1)
+
+Available bytes in ram word is [0, 1, 2, 3, 4, 5, 6, 7]
+Available data bytes for constants are [0, 1, 2, 3]
+Put all gateway constant field bits into the hash bits.
+Allocating: Hash Bit 40 in hash match group 0 for ('ig_intr_md_for_tm.ucast_egress_port', 8).
+Allocating: Hash Bit 41 in hash match group 0 for ('ig_intr_md_for_tm.ucast_egress_port', 0).
+Allocating: Hash Bit 42 in hash match group 0 for ('ig_intr_md_for_tm.ucast_egress_port', 1).
+Allocating: Hash Bit 43 in hash match group 0 for ('ig_intr_md_for_tm.ucast_egress_port', 2).
+Allocating: Hash Bit 44 in hash match group 0 for ('ig_intr_md_for_tm.ucast_egress_port', 3).
+Allocating: Hash Bit 45 in hash match group 0 for ('ig_intr_md_for_tm.ucast_egress_port', 4).
+Allocating: Hash Bit 46 in hash match group 0 for ('ig_intr_md_for_tm.ucast_egress_port', 5).
+Allocating: Hash Bit 47 in hash match group 0 for ('ig_intr_md_for_tm.ucast_egress_port', 6).
+Allocating: Hash Bit 48 in hash match group 0 for ('ig_intr_md_for_tm.ucast_egress_port', 7).
+Gateway data search bus packing is:
+  [0] = None
+  [1] = None
+  [2] = None
+  [3] = None
+  [4] = None
+  [5] = None
+  [6] = None
+  [7] = None
+  [8] = None
+  [9] = None
+  [10] = None
+  [11] = None
+  [12] = None
+  [13] = None
+  [14] = None
+  [15] = None
+  [16] = None
+  [17] = None
+  [18] = None
+  [19] = None
+  [20] = None
+  [21] = None
+  [22] = None
+  [23] = None
+  [24] = None
+  [25] = None
+  [26] = None
+  [27] = None
+  [28] = None
+  [29] = None
+  [30] = None
+  [31] = None
+  [32] = None
+  [33] = None
+  [34] = None
+  [35] = None
+  [36] = None
+  [37] = None
+  [38] = None
+  [39] = None
+  [40] = None
+  [41] = None
+  [42] = None
+  [43] = None
+  [44] = None
+  [45] = None
+  [46] = None
+  [47] = None
+  [48] = None
+  [49] = None
+  [50] = None
+  [51] = None
+  [52] = None
+  [53] = None
+  [54] = None
+  [55] = None
+  [56] = None
+  [57] = None
+  [58] = None
+  [59] = None
+  [60] = None
+  [61] = None
+  [62] = None
+  [63] = None
+ Move Byte Mapping:
+
+Final Gateway Key is:
+  [0] = None
+  [1] = None
+  [2] = None
+  [3] = None
+  [4] = None
+  [5] = None
+  [6] = None
+  [7] = None
+  [8] = None
+  [9] = None
+  [10] = None
+  [11] = None
+  [12] = None
+  [13] = None
+  [14] = None
+  [15] = None
+  [16] = None
+  [17] = None
+  [18] = None
+  [19] = None
+  [20] = None
+  [21] = None
+  [22] = None
+  [23] = None
+  [24] = None
+  [25] = None
+  [26] = None
+  [27] = None
+  [28] = None
+  [29] = None
+  [30] = None
+  [31] = None
+  [32] = (('ig_intr_md_for_tm.ucast_egress_port', 8), 'exact')
+  [33] = (('ig_intr_md_for_tm.ucast_egress_port', 0), 'exact')
+  [34] = (('ig_intr_md_for_tm.ucast_egress_port', 1), 'exact')
+  [35] = (('ig_intr_md_for_tm.ucast_egress_port', 2), 'exact')
+  [36] = (('ig_intr_md_for_tm.ucast_egress_port', 3), 'exact')
+  [37] = (('ig_intr_md_for_tm.ucast_egress_port', 4), 'exact')
+  [38] = (('ig_intr_md_for_tm.ucast_egress_port', 5), 'exact')
+  [39] = (('ig_intr_md_for_tm.ucast_egress_port', 6), 'exact')
+  [40] = (('ig_intr_md_for_tm.ucast_egress_port', 7), 'exact')
+  [41] = None
+  [42] = None
+  [43] = None
+ Hash Bit Mapping:
+   (1, 0) --> 40
+   (0, 0) --> 41
+   (0, 1) --> 42
+   (0, 2) --> 43
+   (0, 3) --> 44
+   (0, 4) --> 45
+   (0, 5) --> 46
+   (0, 6) --> 47
+   (0, 7) --> 48
+
+Allocating: Ram Data Bus MatchSearch1 7 left_and_right is 128 bits in stage 3 for gateway
+Allocating: Gateway 15 in stage 3 for _condition_2.
+Available Gateways are: (15)
+Gateway 0
+Gateway 1
+Gateway 2
+Gateway 3
+Gateway 4
+Gateway 5
+Gateway 6
+Gateway 7
+Gateway 8
+Gateway 9
+Gateway 10
+Gateway 11
+Gateway 12
+Gateway 13
+Gateway 14
+------- Phase 0 -------------
+Looking at gateway table 14
+match_groups_attached_to_gateway = OrderedDict([(0, (0, [0], 0, [0], [(<p4c_tofino.target.tofino.device.pipeline.mau.match_keys.packed_gateway_key.PackedGatewayKey object at 0x7f4523770f50>, 0)])), (1, (None, [], None, [], []))])
+Search bus 0 on row 7
+----------------------------
+ Trying to place Gateway Resource Request for table egress_port_count_table_always_true_condition needs access to 0 input bits in exact match group 0 (parity groups [0]) and hash group 0 for gateway 14.
+----------------------------
+Gateway data search bus packing is:
+  [0] = None
+  [1] = None
+  [2] = None
+  [3] = None
+  [4] = None
+  [5] = None
+  [6] = None
+  [7] = None
+  [8] = None
+  [9] = None
+  [10] = None
+  [11] = None
+  [12] = None
+  [13] = None
+  [14] = None
+  [15] = None
+  [16] = None
+  [17] = None
+  [18] = None
+  [19] = None
+  [20] = None
+  [21] = None
+  [22] = None
+  [23] = None
+  [24] = None
+  [25] = None
+  [26] = None
+  [27] = None
+  [28] = None
+  [29] = None
+  [30] = None
+  [31] = None
+  [32] = None
+  [33] = None
+  [34] = None
+  [35] = None
+  [36] = None
+  [37] = None
+  [38] = None
+  [39] = None
+  [40] = None
+  [41] = None
+  [42] = None
+  [43] = None
+  [44] = None
+  [45] = None
+  [46] = None
+  [47] = None
+  [48] = None
+  [49] = None
+  [50] = None
+  [51] = None
+  [52] = None
+  [53] = None
+  [54] = None
+  [55] = None
+  [56] = None
+  [57] = None
+  [58] = None
+  [59] = None
+  [60] = None
+  [61] = None
+  [62] = None
+  [63] = None
+ Move Byte Mapping:
+
+Final Gateway Key is:
+  [0] = None
+  [1] = None
+  [2] = None
+  [3] = None
+  [4] = None
+  [5] = None
+  [6] = None
+  [7] = None
+  [8] = None
+  [9] = None
+  [10] = None
+  [11] = None
+  [12] = None
+  [13] = None
+  [14] = None
+  [15] = None
+  [16] = None
+  [17] = None
+  [18] = None
+  [19] = None
+  [20] = None
+  [21] = None
+  [22] = None
+  [23] = None
+  [24] = None
+  [25] = None
+  [26] = None
+  [27] = None
+  [28] = None
+  [29] = None
+  [30] = None
+  [31] = None
+  [32] = None
+  [33] = None
+  [34] = None
+  [35] = None
+  [36] = None
+  [37] = None
+  [38] = None
+  [39] = None
+  [40] = None
+  [41] = None
+  [42] = None
+  [43] = None
+ Hash Bit Mapping:
+
+Allocating: Gateway 14 in stage 3 for egress_port_count_table_always_true_condition.
+
+========================================================
+  Run Gateway Placement on Request List of size 2
+========================================================
+
+Available Gateways are: (16)
+Gateway 0
+Gateway 1
+Gateway 2
+Gateway 3
+Gateway 4
+Gateway 5
+Gateway 6
+Gateway 7
+Gateway 8
+Gateway 9
+Gateway 10
+Gateway 11
+Gateway 12
+Gateway 13
+Gateway 14
+Gateway 15
+------- Phase 0 -------------
+Looking at gateway table 15
+match_groups_attached_to_gateway = OrderedDict([(0, (None, [], None, [], [])), (1, (None, [], None, [], []))])
+Search bus 0 on row 7
+Search bus 1 on row 7
+Looking at gateway table 14
+match_groups_attached_to_gateway = OrderedDict([(0, (None, [], None, [], [])), (1, (None, [], None, [], []))])
+Search bus 0 on row 7
+Search bus 1 on row 7
+Looking at gateway table 13
+match_groups_attached_to_gateway = OrderedDict([(0, (None, [], None, [], [])), (1, (None, [], None, [], []))])
+Search bus 0 on row 6
+Search bus 1 on row 6
+Looking at gateway table 12
+match_groups_attached_to_gateway = OrderedDict([(0, (None, [], None, [], [])), (1, (None, [], None, [], []))])
+Search bus 0 on row 6
+Search bus 1 on row 6
+Looking at gateway table 11
+match_groups_attached_to_gateway = OrderedDict([(0, (None, [], None, [], [])), (1, (None, [], None, [], []))])
+Search bus 0 on row 5
+Search bus 1 on row 5
+Looking at gateway table 10
+match_groups_attached_to_gateway = OrderedDict([(0, (None, [], None, [], [])), (1, (None, [], None, [], []))])
+Search bus 0 on row 5
+Search bus 1 on row 5
+Looking at gateway table 9
+match_groups_attached_to_gateway = OrderedDict([(0, (None, [], None, [], [])), (1, (None, [], None, [], []))])
+Search bus 0 on row 4
+Search bus 1 on row 4
+Looking at gateway table 8
+match_groups_attached_to_gateway = OrderedDict([(0, (None, [], None, [], [])), (1, (None, [], None, [], []))])
+Search bus 0 on row 4
+Search bus 1 on row 4
+Looking at gateway table 7
+match_groups_attached_to_gateway = OrderedDict([(0, (None, [], None, [], [])), (1, (None, [], None, [], []))])
+Search bus 0 on row 3
+Search bus 1 on row 3
+Looking at gateway table 6
+match_groups_attached_to_gateway = OrderedDict([(0, (None, [], None, [], [])), (1, (None, [], None, [], []))])
+Search bus 0 on row 3
+Search bus 1 on row 3
+Looking at gateway table 5
+match_groups_attached_to_gateway = OrderedDict([(0, (None, [], None, [], [])), (1, (None, [], None, [], []))])
+Search bus 0 on row 2
+Search bus 1 on row 2
+Looking at gateway table 4
+match_groups_attached_to_gateway = OrderedDict([(0, (None, [], None, [], [])), (1, (None, [], None, [], []))])
+Search bus 0 on row 2
+Search bus 1 on row 2
+Looking at gateway table 3
+match_groups_attached_to_gateway = OrderedDict([(0, (None, [], None, [], [])), (1, (None, [], None, [], []))])
+Search bus 0 on row 1
+Search bus 1 on row 1
+Looking at gateway table 2
+match_groups_attached_to_gateway = OrderedDict([(0, (None, [], None, [], [])), (1, (None, [], None, [], []))])
+Search bus 0 on row 1
+Search bus 1 on row 1
+Looking at gateway table 1
+match_groups_attached_to_gateway = OrderedDict([(0, (None, [], None, [], [])), (1, (None, [], None, [], []))])
+Search bus 0 on row 0
+Search bus 1 on row 0
+Looking at gateway table 0
+match_groups_attached_to_gateway = OrderedDict([(0, (None, [], None, [], [])), (1, (None, [], None, [], []))])
+Search bus 0 on row 0
+Search bus 1 on row 0
+------- Phase 1 -------------
+Looking at gateway table 15
+match_groups_attached_to_gateway = OrderedDict([(0, (None, [], None, [], [])), (1, (None, [], None, [], []))])
+Search bus 0 on row 7
+
+ final_parity_group_ids = [(0, []), (1, [])] 
+
+ open_parity_group_ids = [0, 1] 
+----------------------------
+ Trying to place Gateway Resource Request for table _condition_2 needs access to 9 input bits in exact match group 0 (parity groups [0, 1]) and hash group 0 for gateway 15.
+----------------------------
+--------------
+Call to _place_fields_for_constant_comparison
+constant_match_key_partition is:
+Byte Position 0
+  (130, 0)
+Byte Position 1
+  (130, 1)
+Byte Position 2
+  (130, 0)
+Byte Position 3
+  (130, 1)
+
+Available bytes in ram word is [0, 1, 2, 3, 4, 5, 6, 7]
+Available data bytes for constants are [0, 1, 2, 3]
+Put all gateway constant field bits into the hash bits.
+Allocating: Hash Bit 40 in hash match group 0 for ('ig_intr_md_for_tm.ucast_egress_port', 8).
+Allocating: Hash Bit 41 in hash match group 0 for ('ig_intr_md_for_tm.ucast_egress_port', 0).
+Allocating: Hash Bit 42 in hash match group 0 for ('ig_intr_md_for_tm.ucast_egress_port', 1).
+Allocating: Hash Bit 43 in hash match group 0 for ('ig_intr_md_for_tm.ucast_egress_port', 2).
+Allocating: Hash Bit 44 in hash match group 0 for ('ig_intr_md_for_tm.ucast_egress_port', 3).
+Allocating: Hash Bit 45 in hash match group 0 for ('ig_intr_md_for_tm.ucast_egress_port', 4).
+Allocating: Hash Bit 46 in hash match group 0 for ('ig_intr_md_for_tm.ucast_egress_port', 5).
+Allocating: Hash Bit 47 in hash match group 0 for ('ig_intr_md_for_tm.ucast_egress_port', 6).
+Allocating: Hash Bit 48 in hash match group 0 for ('ig_intr_md_for_tm.ucast_egress_port', 7).
+Gateway data search bus packing is:
+  [0] = None
+  [1] = None
+  [2] = None
+  [3] = None
+  [4] = None
+  [5] = None
+  [6] = None
+  [7] = None
+  [8] = None
+  [9] = None
+  [10] = None
+  [11] = None
+  [12] = None
+  [13] = None
+  [14] = None
+  [15] = None
+  [16] = None
+  [17] = None
+  [18] = None
+  [19] = None
+  [20] = None
+  [21] = None
+  [22] = None
+  [23] = None
+  [24] = None
+  [25] = None
+  [26] = None
+  [27] = None
+  [28] = None
+  [29] = None
+  [30] = None
+  [31] = None
+  [32] = None
+  [33] = None
+  [34] = None
+  [35] = None
+  [36] = None
+  [37] = None
+  [38] = None
+  [39] = None
+  [40] = None
+  [41] = None
+  [42] = None
+  [43] = None
+  [44] = None
+  [45] = None
+  [46] = None
+  [47] = None
+  [48] = None
+  [49] = None
+  [50] = None
+  [51] = None
+  [52] = None
+  [53] = None
+  [54] = None
+  [55] = None
+  [56] = None
+  [57] = None
+  [58] = None
+  [59] = None
+  [60] = None
+  [61] = None
+  [62] = None
+  [63] = None
+ Move Byte Mapping:
+
+Final Gateway Key is:
+  [0] = None
+  [1] = None
+  [2] = None
+  [3] = None
+  [4] = None
+  [5] = None
+  [6] = None
+  [7] = None
+  [8] = None
+  [9] = None
+  [10] = None
+  [11] = None
+  [12] = None
+  [13] = None
+  [14] = None
+  [15] = None
+  [16] = None
+  [17] = None
+  [18] = None
+  [19] = None
+  [20] = None
+  [21] = None
+  [22] = None
+  [23] = None
+  [24] = None
+  [25] = None
+  [26] = None
+  [27] = None
+  [28] = None
+  [29] = None
+  [30] = None
+  [31] = None
+  [32] = (('ig_intr_md_for_tm.ucast_egress_port', 8), 'exact')
+  [33] = (('ig_intr_md_for_tm.ucast_egress_port', 0), 'exact')
+  [34] = (('ig_intr_md_for_tm.ucast_egress_port', 1), 'exact')
+  [35] = (('ig_intr_md_for_tm.ucast_egress_port', 2), 'exact')
+  [36] = (('ig_intr_md_for_tm.ucast_egress_port', 3), 'exact')
+  [37] = (('ig_intr_md_for_tm.ucast_egress_port', 4), 'exact')
+  [38] = (('ig_intr_md_for_tm.ucast_egress_port', 5), 'exact')
+  [39] = (('ig_intr_md_for_tm.ucast_egress_port', 6), 'exact')
+  [40] = (('ig_intr_md_for_tm.ucast_egress_port', 7), 'exact')
+  [41] = None
+  [42] = None
+  [43] = None
+ Hash Bit Mapping:
+   (1, 0) --> 40
+   (0, 0) --> 41
+   (0, 1) --> 42
+   (0, 2) --> 43
+   (0, 3) --> 44
+   (0, 4) --> 45
+   (0, 5) --> 46
+   (0, 6) --> 47
+   (0, 7) --> 48
+
+Allocating: Ram Data Bus MatchSearch1 7 left_and_right is 128 bits in stage 3 for gateway
+Allocating: Gateway 15 in stage 3 for _condition_2.
+Available Gateways are: (15)
+Gateway 0
+Gateway 1
+Gateway 2
+Gateway 3
+Gateway 4
+Gateway 5
+Gateway 6
+Gateway 7
+Gateway 8
+Gateway 9
+Gateway 10
+Gateway 11
+Gateway 12
+Gateway 13
+Gateway 14
+------- Phase 0 -------------
+Looking at gateway table 14
+match_groups_attached_to_gateway = OrderedDict([(0, (0, [0], 0, [0], [(<p4c_tofino.target.tofino.device.pipeline.mau.match_keys.packed_gateway_key.PackedGatewayKey object at 0x7f451ff9a750>, 0)])), (1, (None, [], None, [], []))])
+Search bus 0 on row 7
+----------------------------
+ Trying to place Gateway Resource Request for table egress_port_count_table_always_true_condition needs access to 0 input bits in exact match group 0 (parity groups [0]) and hash group 0 for gateway 14.
+----------------------------
+Gateway data search bus packing is:
+  [0] = None
+  [1] = None
+  [2] = None
+  [3] = None
+  [4] = None
+  [5] = None
+  [6] = None
+  [7] = None
+  [8] = None
+  [9] = None
+  [10] = None
+  [11] = None
+  [12] = None
+  [13] = None
+  [14] = None
+  [15] = None
+  [16] = None
+  [17] = None
+  [18] = None
+  [19] = None
+  [20] = None
+  [21] = None
+  [22] = None
+  [23] = None
+  [24] = None
+  [25] = None
+  [26] = None
+  [27] = None
+  [28] = None
+  [29] = None
+  [30] = None
+  [31] = None
+  [32] = None
+  [33] = None
+  [34] = None
+  [35] = None
+  [36] = None
+  [37] = None
+  [38] = None
+  [39] = None
+  [40] = None
+  [41] = None
+  [42] = None
+  [43] = None
+  [44] = None
+  [45] = None
+  [46] = None
+  [47] = None
+  [48] = None
+  [49] = None
+  [50] = None
+  [51] = None
+  [52] = None
+  [53] = None
+  [54] = None
+  [55] = None
+  [56] = None
+  [57] = None
+  [58] = None
+  [59] = None
+  [60] = None
+  [61] = None
+  [62] = None
+  [63] = None
+ Move Byte Mapping:
+
+Final Gateway Key is:
+  [0] = None
+  [1] = None
+  [2] = None
+  [3] = None
+  [4] = None
+  [5] = None
+  [6] = None
+  [7] = None
+  [8] = None
+  [9] = None
+  [10] = None
+  [11] = None
+  [12] = None
+  [13] = None
+  [14] = None
+  [15] = None
+  [16] = None
+  [17] = None
+  [18] = None
+  [19] = None
+  [20] = None
+  [21] = None
+  [22] = None
+  [23] = None
+  [24] = None
+  [25] = None
+  [26] = None
+  [27] = None
+  [28] = None
+  [29] = None
+  [30] = None
+  [31] = None
+  [32] = None
+  [33] = None
+  [34] = None
+  [35] = None
+  [36] = None
+  [37] = None
+  [38] = None
+  [39] = None
+  [40] = None
+  [41] = None
+  [42] = None
+  [43] = None
+ Hash Bit Mapping:
+
+Allocating: Gateway 14 in stage 3 for egress_port_count_table_always_true_condition.
+valid:
+const:
+  f = ig_intr_md_for_tm.copy_to_cpu
+xor:
+Gateway Resource Request for P4 table _condition_3 with handle 117440516 in stage 0
+  Validity checks:
+      <none>
+  Fields to check against constants:
+      Field ig_intr_md_for_tm.copy_to_cpu [0:0]
+  Field pairs to compare to each other:
+      <none>
+
+Gateway Resource Request for table _condition_3 needs access to 1 input bits
+
+
+========================================================
+  Run Gateway Placement on Request List of size 2
+========================================================
+
+Available Gateways are: (16)
+Gateway 0
+Gateway 1
+Gateway 2
+Gateway 3
+Gateway 4
+Gateway 5
+Gateway 6
+Gateway 7
+Gateway 8
+Gateway 9
+Gateway 10
+Gateway 11
+Gateway 12
+Gateway 13
+Gateway 14
+Gateway 15
+------- Phase 0 -------------
+Looking at gateway table 15
+match_groups_attached_to_gateway = OrderedDict([(0, (None, [], None, [], [])), (1, (None, [], None, [], []))])
+Search bus 0 on row 7
+Search bus 1 on row 7
+Looking at gateway table 14
+match_groups_attached_to_gateway = OrderedDict([(0, (None, [], None, [], [])), (1, (None, [], None, [], []))])
+Search bus 0 on row 7
+Search bus 1 on row 7
+Looking at gateway table 13
+match_groups_attached_to_gateway = OrderedDict([(0, (None, [], None, [], [])), (1, (None, [], None, [], []))])
+Search bus 0 on row 6
+Search bus 1 on row 6
+Looking at gateway table 12
+match_groups_attached_to_gateway = OrderedDict([(0, (None, [], None, [], [])), (1, (None, [], None, [], []))])
+Search bus 0 on row 6
+Search bus 1 on row 6
+Looking at gateway table 11
+match_groups_attached_to_gateway = OrderedDict([(0, (None, [], None, [], [])), (1, (None, [], None, [], []))])
+Search bus 0 on row 5
+Search bus 1 on row 5
+Looking at gateway table 10
+match_groups_attached_to_gateway = OrderedDict([(0, (None, [], None, [], [])), (1, (None, [], None, [], []))])
+Search bus 0 on row 5
+Search bus 1 on row 5
+Looking at gateway table 9
+match_groups_attached_to_gateway = OrderedDict([(0, (None, [], None, [], [])), (1, (None, [], None, [], []))])
+Search bus 0 on row 4
+Search bus 1 on row 4
+Looking at gateway table 8
+match_groups_attached_to_gateway = OrderedDict([(0, (None, [], None, [], [])), (1, (None, [], None, [], []))])
+Search bus 0 on row 4
+Search bus 1 on row 4
+Looking at gateway table 7
+match_groups_attached_to_gateway = OrderedDict([(0, (None, [], None, [], [])), (1, (None, [], None, [], []))])
+Search bus 0 on row 3
+Search bus 1 on row 3
+Looking at gateway table 6
+match_groups_attached_to_gateway = OrderedDict([(0, (None, [], None, [], [])), (1, (None, [], None, [], []))])
+Search bus 0 on row 3
+Search bus 1 on row 3
+Looking at gateway table 5
+match_groups_attached_to_gateway = OrderedDict([(0, (None, [], None, [], [])), (1, (None, [], None, [], []))])
+Search bus 0 on row 2
+Search bus 1 on row 2
+Looking at gateway table 4
+match_groups_attached_to_gateway = OrderedDict([(0, (None, [], None, [], [])), (1, (None, [], None, [], []))])
+Search bus 0 on row 2
+Search bus 1 on row 2
+Looking at gateway table 3
+match_groups_attached_to_gateway = OrderedDict([(0, (None, [], None, [], [])), (1, (None, [], None, [], []))])
+Search bus 0 on row 1
+Search bus 1 on row 1
+Looking at gateway table 2
+match_groups_attached_to_gateway = OrderedDict([(0, (None, [], None, [], [])), (1, (None, [], None, [], []))])
+Search bus 0 on row 1
+Search bus 1 on row 1
+Looking at gateway table 1
+match_groups_attached_to_gateway = OrderedDict([(0, (None, [], None, [], [])), (1, (None, [], None, [], []))])
+Search bus 0 on row 0
+Search bus 1 on row 0
+Looking at gateway table 0
+match_groups_attached_to_gateway = OrderedDict([(0, (None, [], None, [], [])), (1, (None, [], None, [], []))])
+Search bus 0 on row 0
+Search bus 1 on row 0
+------- Phase 1 -------------
+Looking at gateway table 15
+match_groups_attached_to_gateway = OrderedDict([(0, (None, [], None, [], [])), (1, (None, [], None, [], []))])
+Search bus 0 on row 7
+
+ final_parity_group_ids = [(0, []), (1, [])] 
+
+ open_parity_group_ids = [0, 1] 
+----------------------------
+ Trying to place Gateway Resource Request for table _condition_3 needs access to 1 input bits in exact match group 0 (parity groups [0, 1]) and hash group 0 for gateway 15.
+----------------------------
+--------------
+Call to _place_fields_for_constant_comparison
+constant_match_key_partition is:
+Byte Position 0
+  (80, 0)
+Byte Position 1
+  (80, 0)
+Byte Position 2
+  (80, 0)
+Byte Position 3
+  (80, 0)
+
+Available bytes in ram word is [0, 1, 2, 3, 4, 5, 6, 7]
+Available data bytes for constants are [0, 1, 2, 3]
+Put all gateway constant field bits into the hash bits.
+Allocating: Hash Bit 40 in hash match group 0 for ('ig_intr_md_for_tm.copy_to_cpu', 0).
+Gateway data search bus packing is:
+  [0] = None
+  [1] = None
+  [2] = None
+  [3] = None
+  [4] = None
+  [5] = None
+  [6] = None
+  [7] = None
+  [8] = None
+  [9] = None
+  [10] = None
+  [11] = None
+  [12] = None
+  [13] = None
+  [14] = None
+  [15] = None
+  [16] = None
+  [17] = None
+  [18] = None
+  [19] = None
+  [20] = None
+  [21] = None
+  [22] = None
+  [23] = None
+  [24] = None
+  [25] = None
+  [26] = None
+  [27] = None
+  [28] = None
+  [29] = None
+  [30] = None
+  [31] = None
+  [32] = None
+  [33] = None
+  [34] = None
+  [35] = None
+  [36] = None
+  [37] = None
+  [38] = None
+  [39] = None
+  [40] = None
+  [41] = None
+  [42] = None
+  [43] = None
+  [44] = None
+  [45] = None
+  [46] = None
+  [47] = None
+  [48] = None
+  [49] = None
+  [50] = None
+  [51] = None
+  [52] = None
+  [53] = None
+  [54] = None
+  [55] = None
+  [56] = None
+  [57] = None
+  [58] = None
+  [59] = None
+  [60] = None
+  [61] = None
+  [62] = None
+  [63] = None
+ Move Byte Mapping:
+
+Final Gateway Key is:
+  [0] = None
+  [1] = None
+  [2] = None
+  [3] = None
+  [4] = None
+  [5] = None
+  [6] = None
+  [7] = None
+  [8] = None
+  [9] = None
+  [10] = None
+  [11] = None
+  [12] = None
+  [13] = None
+  [14] = None
+  [15] = None
+  [16] = None
+  [17] = None
+  [18] = None
+  [19] = None
+  [20] = None
+  [21] = None
+  [22] = None
+  [23] = None
+  [24] = None
+  [25] = None
+  [26] = None
+  [27] = None
+  [28] = None
+  [29] = None
+  [30] = None
+  [31] = None
+  [32] = (('ig_intr_md_for_tm.copy_to_cpu', 0), 'exact')
+  [33] = None
+  [34] = None
+  [35] = None
+  [36] = None
+  [37] = None
+  [38] = None
+  [39] = None
+  [40] = None
+  [41] = None
+  [42] = None
+  [43] = None
+ Hash Bit Mapping:
+   (0, 0) --> 40
+
+Allocating: Ram Data Bus MatchSearch1 7 left_and_right is 128 bits in stage 0 for gateway
+Allocating: Gateway 15 in stage 0 for _condition_3.
+Available Gateways are: (15)
+Gateway 0
+Gateway 1
+Gateway 2
+Gateway 3
+Gateway 4
+Gateway 5
+Gateway 6
+Gateway 7
+Gateway 8
+Gateway 9
+Gateway 10
+Gateway 11
+Gateway 12
+Gateway 13
+Gateway 14
+------- Phase 0 -------------
+Looking at gateway table 14
+match_groups_attached_to_gateway = OrderedDict([(0, (0, [0], 0, [0], [(<p4c_tofino.target.tofino.device.pipeline.mau.match_keys.packed_gateway_key.PackedGatewayKey object at 0x7f4524221d10>, 0)])), (1, (None, [], None, [], []))])
+Search bus 0 on row 7
+----------------------------
+ Trying to place Gateway Resource Request for table _condition_0 needs access to 1 input bits in exact match group 0 (parity groups [0]) and hash group 0 for gateway 14.
+----------------------------
+--------------
+Call to _place_fields_for_constant_comparison
+constant_match_key_partition is:
+Byte Position 0
+  (68, 0)
+Byte Position 1
+  (68, 0)
+Byte Position 2
+  (68, 0)
+Byte Position 3
+  (68, 0)
+
+Removing available byte Byte 8 is of type exact and member of group 0 (parity group 1) with 16 bytes. because not in available parity group(s) [0]
+Removing available byte Byte 10 is of type exact and member of group 0 (parity group 1) with 16 bytes. because not in available parity group(s) [0]
+Removing available byte Byte 12 is of type exact and member of group 0 (parity group 1) with 16 bytes. because not in available parity group(s) [0]
+Removing available byte Byte 14 is of type exact and member of group 0 (parity group 1) with 16 bytes. because not in available parity group(s) [0]
+Available bytes in ram word is [0, 1, 2, 3, 4, 5, 6, 7]
+Available data bytes for constants are [0, 1, 2, 3]
+Put all gateway constant field bits into the hash bits.
+Allocating: Hash Bit 41 in hash match group 0 for ('--validity_check--packet_out_hdr', 0).
+Gateway data search bus packing is:
+  [0] = None
+  [1] = None
+  [2] = None
+  [3] = None
+  [4] = None
+  [5] = None
+  [6] = None
+  [7] = None
+  [8] = None
+  [9] = None
+  [10] = None
+  [11] = None
+  [12] = None
+  [13] = None
+  [14] = None
+  [15] = None
+  [16] = None
+  [17] = None
+  [18] = None
+  [19] = None
+  [20] = None
+  [21] = None
+  [22] = None
+  [23] = None
+  [24] = None
+  [25] = None
+  [26] = None
+  [27] = None
+  [28] = None
+  [29] = None
+  [30] = None
+  [31] = None
+  [32] = None
+  [33] = None
+  [34] = None
+  [35] = None
+  [36] = None
+  [37] = None
+  [38] = None
+  [39] = None
+  [40] = None
+  [41] = None
+  [42] = None
+  [43] = None
+  [44] = None
+  [45] = None
+  [46] = None
+  [47] = None
+  [48] = None
+  [49] = None
+  [50] = None
+  [51] = None
+  [52] = None
+  [53] = None
+  [54] = None
+  [55] = None
+  [56] = None
+  [57] = None
+  [58] = None
+  [59] = None
+  [60] = None
+  [61] = None
+  [62] = None
+  [63] = None
+ Move Byte Mapping:
+
+Final Gateway Key is:
+  [0] = None
+  [1] = None
+  [2] = None
+  [3] = None
+  [4] = None
+  [5] = None
+  [6] = None
+  [7] = None
+  [8] = None
+  [9] = None
+  [10] = None
+  [11] = None
+  [12] = None
+  [13] = None
+  [14] = None
+  [15] = None
+  [16] = None
+  [17] = None
+  [18] = None
+  [19] = None
+  [20] = None
+  [21] = None
+  [22] = None
+  [23] = None
+  [24] = None
+  [25] = None
+  [26] = None
+  [27] = None
+  [28] = None
+  [29] = None
+  [30] = None
+  [31] = None
+  [32] = None
+  [33] = (('--validity_check--packet_out_hdr', 0), 'exact')
+  [34] = None
+  [35] = None
+  [36] = None
+  [37] = None
+  [38] = None
+  [39] = None
+  [40] = None
+  [41] = None
+  [42] = None
+  [43] = None
+ Hash Bit Mapping:
+   (1, 1) --> 41
+
+Allocating: Gateway 14 in stage 0 for _condition_0.
+
+========================================================
+  Run Gateway Placement on Request List of size 2
+========================================================
+
+Available Gateways are: (16)
+Gateway 0
+Gateway 1
+Gateway 2
+Gateway 3
+Gateway 4
+Gateway 5
+Gateway 6
+Gateway 7
+Gateway 8
+Gateway 9
+Gateway 10
+Gateway 11
+Gateway 12
+Gateway 13
+Gateway 14
+Gateway 15
+------- Phase 0 -------------
+Looking at gateway table 15
+match_groups_attached_to_gateway = OrderedDict([(0, (None, [], None, [], [])), (1, (None, [], None, [], []))])
+Search bus 0 on row 7
+Search bus 1 on row 7
+Looking at gateway table 14
+match_groups_attached_to_gateway = OrderedDict([(0, (None, [], None, [], [])), (1, (None, [], None, [], []))])
+Search bus 0 on row 7
+Search bus 1 on row 7
+Looking at gateway table 13
+match_groups_attached_to_gateway = OrderedDict([(0, (None, [], None, [], [])), (1, (None, [], None, [], []))])
+Search bus 0 on row 6
+Search bus 1 on row 6
+Looking at gateway table 12
+match_groups_attached_to_gateway = OrderedDict([(0, (None, [], None, [], [])), (1, (None, [], None, [], []))])
+Search bus 0 on row 6
+Search bus 1 on row 6
+Looking at gateway table 11
+match_groups_attached_to_gateway = OrderedDict([(0, (None, [], None, [], [])), (1, (None, [], None, [], []))])
+Search bus 0 on row 5
+Search bus 1 on row 5
+Looking at gateway table 10
+match_groups_attached_to_gateway = OrderedDict([(0, (None, [], None, [], [])), (1, (None, [], None, [], []))])
+Search bus 0 on row 5
+Search bus 1 on row 5
+Looking at gateway table 9
+match_groups_attached_to_gateway = OrderedDict([(0, (None, [], None, [], [])), (1, (None, [], None, [], []))])
+Search bus 0 on row 4
+Search bus 1 on row 4
+Looking at gateway table 8
+match_groups_attached_to_gateway = OrderedDict([(0, (None, [], None, [], [])), (1, (None, [], None, [], []))])
+Search bus 0 on row 4
+Search bus 1 on row 4
+Looking at gateway table 7
+match_groups_attached_to_gateway = OrderedDict([(0, (None, [], None, [], [])), (1, (None, [], None, [], []))])
+Search bus 0 on row 3
+Search bus 1 on row 3
+Looking at gateway table 6
+match_groups_attached_to_gateway = OrderedDict([(0, (None, [], None, [], [])), (1, (None, [], None, [], []))])
+Search bus 0 on row 3
+Search bus 1 on row 3
+Looking at gateway table 5
+match_groups_attached_to_gateway = OrderedDict([(0, (None, [], None, [], [])), (1, (None, [], None, [], []))])
+Search bus 0 on row 2
+Search bus 1 on row 2
+Looking at gateway table 4
+match_groups_attached_to_gateway = OrderedDict([(0, (None, [], None, [], [])), (1, (None, [], None, [], []))])
+Search bus 0 on row 2
+Search bus 1 on row 2
+Looking at gateway table 3
+match_groups_attached_to_gateway = OrderedDict([(0, (None, [], None, [], [])), (1, (None, [], None, [], []))])
+Search bus 0 on row 1
+Search bus 1 on row 1
+Looking at gateway table 2
+match_groups_attached_to_gateway = OrderedDict([(0, (None, [], None, [], [])), (1, (None, [], None, [], []))])
+Search bus 0 on row 1
+Search bus 1 on row 1
+Looking at gateway table 1
+match_groups_attached_to_gateway = OrderedDict([(0, (None, [], None, [], [])), (1, (None, [], None, [], []))])
+Search bus 0 on row 0
+Search bus 1 on row 0
+Looking at gateway table 0
+match_groups_attached_to_gateway = OrderedDict([(0, (None, [], None, [], [])), (1, (None, [], None, [], []))])
+Search bus 0 on row 0
+Search bus 1 on row 0
+------- Phase 1 -------------
+Looking at gateway table 15
+match_groups_attached_to_gateway = OrderedDict([(0, (None, [], None, [], [])), (1, (None, [], None, [], []))])
+Search bus 0 on row 7
+
+ final_parity_group_ids = [(0, []), (1, [])] 
+
+ open_parity_group_ids = [0, 1] 
+----------------------------
+ Trying to place Gateway Resource Request for table _condition_3 needs access to 1 input bits in exact match group 0 (parity groups [0, 1]) and hash group 0 for gateway 15.
+----------------------------
+--------------
+Call to _place_fields_for_constant_comparison
+constant_match_key_partition is:
+Byte Position 0
+  (80, 0)
+Byte Position 1
+  (80, 0)
+Byte Position 2
+  (80, 0)
+Byte Position 3
+  (80, 0)
+
+Available bytes in ram word is [0, 1, 2, 3, 4, 5, 6, 7]
+Available data bytes for constants are [0, 1, 2, 3]
+Put all gateway constant field bits into the hash bits.
+Allocating: Hash Bit 40 in hash match group 0 for ('ig_intr_md_for_tm.copy_to_cpu', 0).
+Gateway data search bus packing is:
+  [0] = None
+  [1] = None
+  [2] = None
+  [3] = None
+  [4] = None
+  [5] = None
+  [6] = None
+  [7] = None
+  [8] = None
+  [9] = None
+  [10] = None
+  [11] = None
+  [12] = None
+  [13] = None
+  [14] = None
+  [15] = None
+  [16] = None
+  [17] = None
+  [18] = None
+  [19] = None
+  [20] = None
+  [21] = None
+  [22] = None
+  [23] = None
+  [24] = None
+  [25] = None
+  [26] = None
+  [27] = None
+  [28] = None
+  [29] = None
+  [30] = None
+  [31] = None
+  [32] = None
+  [33] = None
+  [34] = None
+  [35] = None
+  [36] = None
+  [37] = None
+  [38] = None
+  [39] = None
+  [40] = None
+  [41] = None
+  [42] = None
+  [43] = None
+  [44] = None
+  [45] = None
+  [46] = None
+  [47] = None
+  [48] = None
+  [49] = None
+  [50] = None
+  [51] = None
+  [52] = None
+  [53] = None
+  [54] = None
+  [55] = None
+  [56] = None
+  [57] = None
+  [58] = None
+  [59] = None
+  [60] = None
+  [61] = None
+  [62] = None
+  [63] = None
+ Move Byte Mapping:
+
+Final Gateway Key is:
+  [0] = None
+  [1] = None
+  [2] = None
+  [3] = None
+  [4] = None
+  [5] = None
+  [6] = None
+  [7] = None
+  [8] = None
+  [9] = None
+  [10] = None
+  [11] = None
+  [12] = None
+  [13] = None
+  [14] = None
+  [15] = None
+  [16] = None
+  [17] = None
+  [18] = None
+  [19] = None
+  [20] = None
+  [21] = None
+  [22] = None
+  [23] = None
+  [24] = None
+  [25] = None
+  [26] = None
+  [27] = None
+  [28] = None
+  [29] = None
+  [30] = None
+  [31] = None
+  [32] = (('ig_intr_md_for_tm.copy_to_cpu', 0), 'exact')
+  [33] = None
+  [34] = None
+  [35] = None
+  [36] = None
+  [37] = None
+  [38] = None
+  [39] = None
+  [40] = None
+  [41] = None
+  [42] = None
+  [43] = None
+ Hash Bit Mapping:
+   (0, 0) --> 40
+
+Allocating: Ram Data Bus MatchSearch1 7 left_and_right is 128 bits in stage 0 for gateway
+Allocating: Gateway 15 in stage 0 for _condition_3.
+Available Gateways are: (15)
+Gateway 0
+Gateway 1
+Gateway 2
+Gateway 3
+Gateway 4
+Gateway 5
+Gateway 6
+Gateway 7
+Gateway 8
+Gateway 9
+Gateway 10
+Gateway 11
+Gateway 12
+Gateway 13
+Gateway 14
+------- Phase 0 -------------
+Looking at gateway table 14
+match_groups_attached_to_gateway = OrderedDict([(0, (0, [0], 0, [0], [(<p4c_tofino.target.tofino.device.pipeline.mau.match_keys.packed_gateway_key.PackedGatewayKey object at 0x7f451fb32a10>, 0)])), (1, (None, [], None, [], []))])
+Search bus 0 on row 7
+----------------------------
+ Trying to place Gateway Resource Request for table _condition_0 needs access to 1 input bits in exact match group 0 (parity groups [0]) and hash group 0 for gateway 14.
+----------------------------
+--------------
+Call to _place_fields_for_constant_comparison
+constant_match_key_partition is:
+Byte Position 0
+  (68, 0)
+Byte Position 1
+  (68, 0)
+Byte Position 2
+  (68, 0)
+Byte Position 3
+  (68, 0)
+
+Removing available byte Byte 8 is of type exact and member of group 0 (parity group 1) with 16 bytes. because not in available parity group(s) [0]
+Removing available byte Byte 10 is of type exact and member of group 0 (parity group 1) with 16 bytes. because not in available parity group(s) [0]
+Removing available byte Byte 12 is of type exact and member of group 0 (parity group 1) with 16 bytes. because not in available parity group(s) [0]
+Removing available byte Byte 14 is of type exact and member of group 0 (parity group 1) with 16 bytes. because not in available parity group(s) [0]
+Available bytes in ram word is [0, 1, 2, 3, 4, 5, 6, 7]
+Available data bytes for constants are [0, 1, 2, 3]
+Put all gateway constant field bits into the hash bits.
+Allocating: Hash Bit 41 in hash match group 0 for ('--validity_check--packet_out_hdr', 0).
+Gateway data search bus packing is:
+  [0] = None
+  [1] = None
+  [2] = None
+  [3] = None
+  [4] = None
+  [5] = None
+  [6] = None
+  [7] = None
+  [8] = None
+  [9] = None
+  [10] = None
+  [11] = None
+  [12] = None
+  [13] = None
+  [14] = None
+  [15] = None
+  [16] = None
+  [17] = None
+  [18] = None
+  [19] = None
+  [20] = None
+  [21] = None
+  [22] = None
+  [23] = None
+  [24] = None
+  [25] = None
+  [26] = None
+  [27] = None
+  [28] = None
+  [29] = None
+  [30] = None
+  [31] = None
+  [32] = None
+  [33] = None
+  [34] = None
+  [35] = None
+  [36] = None
+  [37] = None
+  [38] = None
+  [39] = None
+  [40] = None
+  [41] = None
+  [42] = None
+  [43] = None
+  [44] = None
+  [45] = None
+  [46] = None
+  [47] = None
+  [48] = None
+  [49] = None
+  [50] = None
+  [51] = None
+  [52] = None
+  [53] = None
+  [54] = None
+  [55] = None
+  [56] = None
+  [57] = None
+  [58] = None
+  [59] = None
+  [60] = None
+  [61] = None
+  [62] = None
+  [63] = None
+ Move Byte Mapping:
+
+Final Gateway Key is:
+  [0] = None
+  [1] = None
+  [2] = None
+  [3] = None
+  [4] = None
+  [5] = None
+  [6] = None
+  [7] = None
+  [8] = None
+  [9] = None
+  [10] = None
+  [11] = None
+  [12] = None
+  [13] = None
+  [14] = None
+  [15] = None
+  [16] = None
+  [17] = None
+  [18] = None
+  [19] = None
+  [20] = None
+  [21] = None
+  [22] = None
+  [23] = None
+  [24] = None
+  [25] = None
+  [26] = None
+  [27] = None
+  [28] = None
+  [29] = None
+  [30] = None
+  [31] = None
+  [32] = None
+  [33] = (('--validity_check--packet_out_hdr', 0), 'exact')
+  [34] = None
+  [35] = None
+  [36] = None
+  [37] = None
+  [38] = None
+  [39] = None
+  [40] = None
+  [41] = None
+  [42] = None
+  [43] = None
+ Hash Bit Mapping:
+   (1, 1) --> 41
+
+Allocating: Gateway 14 in stage 0 for _condition_0.
