blob: 8b5f74c1a96d4766978a50de1bbeb2f5f864a6cb [file] [log] [blame]
Carmelo Casconef1d0a422017-09-07 17:21:46 +02001+---------------------------------------------------------------------+
2| Log file: mau.log |
3| Compiler version: 5.1.0 (fca32d1) |
4| Created on: Thu Sep 7 14:49:38 2017 |
5+---------------------------------------------------------------------+
6
7Match Table table0 did not specify the number of entries required. A default value (512) will be used.
8Match Table ecmp_group_table did not specify the number of entries required. A default value (1024) will be used.
9Match Entry Table table0 has already been associated with stat Table table0_counter.
10Match Entry Table ecmp_group_table has already been associated with stat Table ecmp_group_table_counter.
11Cannot implement ingress_pkt in phase 0 resources because table does not have the correct condition
12Match Table table0 did not specify the number of entries required. A default value (512) will be used.
13Match Table ecmp_group_table did not specify the number of entries required. A default value (1024) will be used.
14Match Entry Table table0 has already been associated with stat Table table0_counter.
15Match Entry Table ecmp_group_table has already been associated with stat Table ecmp_group_table_counter.
16Cannot implement ingress_pkt in phase 0 resources because table does not have the correct condition
17Match Table table0 did not specify the number of entries required. A default value (512) will be used.
18Match Table ecmp_group_table did not specify the number of entries required. A default value (1024) will be used.
19POV/metadata bridge containers added between ingress/egress: [0, 64, 128]
20Metadata bridge_ingress_intrinsic containers added between ingress/egress: [128]
21Match Entry Table table0 has already been associated with stat Table table0_counter.
22Match Entry Table ecmp_group_table has already been associated with stat Table ecmp_group_table_counter.
23Match table ingress_port_count_table has no match key fields
24Cannot use hash-action for table ingress_port_count_table with no key because the number of entries required by side-effect table ingress_port_counter is not a power of 2 -- 254.
25
26##########################################
27 Call to decide_action_data_placement(stage=0, table=ingress_port_count_table)
28##########################################
29
30
31Max immediate bits used in any action is 0 bits.
32Overhead bit width for table ingress_port_count_table is 22 bits.
33Bits available in overhead for non-essential immediate data is 32 bits.
34~~~~~~~~~~~~~~~~~~~~~
35 Examining placing 0 bits in match overhead
36Overhead bit width for table ingress_port_count_table is 22 bits.
37Overhead SRAMs to use = 97
38 Entries requested = 1024 and match entries get = 0
39ram_size_matrix =
40 (8, 8, False) (8, 8, True) (8, 32, False) (16, 16, False) (16, 16, True) (16, 32, False) (32, 32, False) (32, 32, True)
41 0 0 0 0 0 0 0 0 # 0
42
43immediate_size_matrix =
44 (8, 8, False) (8, 8, True) (8, 32, False) (16, 16, False) (16, 16, True) (16, 32, False) (32, 32, False) (32, 32, True)
45 0 0 0 0 0 0 0 0 # 0
46
47hash_to_phv_matrix =
48 (8, 8, False) (8, 8, True) (8, 32, False) (16, 16, False) (16, 16, True) (16, 32, False) (32, 32, False) (32, 32, True)
49 0 0 0 0 0 0 0 0 # 0
50
51total action ram packing size = [0, 0, 0]
52action_ram_packing:
53 action count_ingress has []
54total action ram packing size = [0, 0, 0]
55action_ram_packing:
56 action count_ingress has []
57total action ram packing size = [0, 0, 0]
58action_ram_packing:
59 action count_ingress has []
60byte_enables = []
61After allocation of 32s, available_slots is []
62final packing is []
63byte_enables = []
64After allocation of 32s, available_slots is []
65final packing is []
66byte_enables = []
67After allocation of 32s, available_slots is []
68final packing is []
69Action Data SRAMs to use = 0
70TODO: Total RAMs use when put 0 bits in match overhead: 97
71TODO: Total RAMs use when put 0 bits in match overhead: 97
72~~~~~~~~~~~~~~~~~~~~~
73 Examining placing 8 bits in match overhead
74~~~~~~~~~~~~~~~~~~~~~
75 Examining placing 16 bits in match overhead
76~~~~~~~~~~~~~~~~~~~~~
77 Examining placing 24 bits in match overhead
78~~~~~~~~~~~~~~~~~~~~~
79 Examining placing 32 bits in match overhead
80
81##########################################
82
83Best Ram Usage is 97 rams
84Best Immediate placement is 0 bits
85Match table egress_port_count_table has no match key fields
86Cannot use hash-action for table egress_port_count_table with no key because the number of entries required by side-effect table egress_port_counter is not a power of 2 -- 254.
87
88##########################################
89 Call to decide_action_data_placement(stage=0, table=egress_port_count_table)
90##########################################
91
92
93Max immediate bits used in any action is 0 bits.
94Overhead bit width for table egress_port_count_table is 20 bits.
95Bits available in overhead for non-essential immediate data is 32 bits.
96~~~~~~~~~~~~~~~~~~~~~
97 Examining placing 0 bits in match overhead
98Overhead bit width for table egress_port_count_table is 20 bits.
99Overhead SRAMs to use = 97
100 Entries requested = 1024 and match entries get = 0
101ram_size_matrix =
102 (8, 8, False) (8, 8, True) (8, 32, False) (16, 16, False) (16, 16, True) (16, 32, False) (32, 32, False) (32, 32, True)
103 0 0 0 0 0 0 0 0 # 0
104
105immediate_size_matrix =
106 (8, 8, False) (8, 8, True) (8, 32, False) (16, 16, False) (16, 16, True) (16, 32, False) (32, 32, False) (32, 32, True)
107 0 0 0 0 0 0 0 0 # 0
108
109hash_to_phv_matrix =
110 (8, 8, False) (8, 8, True) (8, 32, False) (16, 16, False) (16, 16, True) (16, 32, False) (32, 32, False) (32, 32, True)
111 0 0 0 0 0 0 0 0 # 0
112
113total action ram packing size = [0, 0, 0]
114action_ram_packing:
115 action count_egress has []
116total action ram packing size = [0, 0, 0]
117action_ram_packing:
118 action count_egress has []
119total action ram packing size = [0, 0, 0]
120action_ram_packing:
121 action count_egress has []
122byte_enables = []
123After allocation of 32s, available_slots is []
124final packing is []
125byte_enables = []
126After allocation of 32s, available_slots is []
127final packing is []
128byte_enables = []
129After allocation of 32s, available_slots is []
130final packing is []
131Action Data SRAMs to use = 0
132TODO: Total RAMs use when put 0 bits in match overhead: 97
133TODO: Total RAMs use when put 0 bits in match overhead: 97
134~~~~~~~~~~~~~~~~~~~~~
135 Examining placing 8 bits in match overhead
136~~~~~~~~~~~~~~~~~~~~~
137 Examining placing 16 bits in match overhead
138~~~~~~~~~~~~~~~~~~~~~
139 Examining placing 24 bits in match overhead
140~~~~~~~~~~~~~~~~~~~~~
141 Examining placing 32 bits in match overhead
142
143##########################################
144
145Best Ram Usage is 97 rams
146Best Immediate placement is 0 bits
147
148##########################################
149 Call to decide_action_data_placement(stage=0, table=ingress_pkt)
150##########################################
151
152
153Max immediate bits used in any action is 0 bits.
154Overhead bit width for table ingress_pkt is 2 bits.
155Bits available in overhead for non-essential immediate data is 32 bits.
156~~~~~~~~~~~~~~~~~~~~~
157 Examining placing 0 bits in match overhead
158Overhead bit width for table ingress_pkt is 2 bits.
159Overhead SRAMs to use = 97
160 Entries requested = 1024 and match entries get = 0
161ram_size_matrix =
162 (8, 8, False) (8, 8, True) (8, 32, False) (16, 16, False) (16, 16, True) (16, 32, False) (32, 32, False) (32, 32, True)
163 0 0 0 0 0 0 0 0 # 0
164
165immediate_size_matrix =
166 (8, 8, False) (8, 8, True) (8, 32, False) (16, 16, False) (16, 16, True) (16, 32, False) (32, 32, False) (32, 32, True)
167 0 0 0 0 0 0 0 0 # 0
168
169hash_to_phv_matrix =
170 (8, 8, False) (8, 8, True) (8, 32, False) (16, 16, False) (16, 16, True) (16, 32, False) (32, 32, False) (32, 32, True)
171 0 0 0 0 0 0 0 0 # 0
172
173total action ram packing size = [0, 0, 0]
174action_ram_packing:
175 action _packet_out has []
176total action ram packing size = [0, 0, 0]
177action_ram_packing:
178 action _packet_out has []
179total action ram packing size = [0, 0, 0]
180action_ram_packing:
181 action _packet_out has []
182byte_enables = []
183After allocation of 32s, available_slots is []
184final packing is []
185byte_enables = []
186After allocation of 32s, available_slots is []
187final packing is []
188byte_enables = []
189After allocation of 32s, available_slots is []
190final packing is []
191Action Data SRAMs to use = 0
192TODO: Total RAMs use when put 0 bits in match overhead: 97
193TODO: Total RAMs use when put 0 bits in match overhead: 97
194~~~~~~~~~~~~~~~~~~~~~
195 Examining placing 8 bits in match overhead
196~~~~~~~~~~~~~~~~~~~~~
197 Examining placing 16 bits in match overhead
198~~~~~~~~~~~~~~~~~~~~~
199 Examining placing 24 bits in match overhead
200~~~~~~~~~~~~~~~~~~~~~
201 Examining placing 32 bits in match overhead
202
203##########################################
204
205Best Ram Usage is 97 rams
206Best Immediate placement is 0 bits
207
208##########################################
209 Call to decide_action_data_placement(stage=0, table=egress_pkt)
210##########################################
211
212
213Max immediate bits used in any action is 0 bits.
214Overhead bit width for table egress_pkt is 2 bits.
215Bits available in overhead for non-essential immediate data is 32 bits.
216~~~~~~~~~~~~~~~~~~~~~
217 Examining placing 0 bits in match overhead
218Overhead bit width for table egress_pkt is 2 bits.
219Overhead SRAMs to use = 97
220 Entries requested = 1024 and match entries get = 0
221ram_size_matrix =
222 (8, 8, False) (8, 8, True) (8, 32, False) (16, 16, False) (16, 16, True) (16, 32, False) (32, 32, False) (32, 32, True)
223 0 0 0 0 0 0 0 0 # 0
224
225immediate_size_matrix =
226 (8, 8, False) (8, 8, True) (8, 32, False) (16, 16, False) (16, 16, True) (16, 32, False) (32, 32, False) (32, 32, True)
227 0 0 0 0 0 0 0 0 # 0
228
229hash_to_phv_matrix =
230 (8, 8, False) (8, 8, True) (8, 32, False) (16, 16, False) (16, 16, True) (16, 32, False) (32, 32, False) (32, 32, True)
231 0 0 0 0 0 0 0 0 # 0
232
233total action ram packing size = [0, 0, 0]
234action_ram_packing:
235 action add_packet_in_hdr has []
236total action ram packing size = [0, 0, 0]
237action_ram_packing:
238 action add_packet_in_hdr has []
239total action ram packing size = [0, 0, 0]
240action_ram_packing:
241 action add_packet_in_hdr has []
242byte_enables = []
243After allocation of 32s, available_slots is []
244final packing is []
245byte_enables = []
246After allocation of 32s, available_slots is []
247final packing is []
248byte_enables = []
249After allocation of 32s, available_slots is []
250final packing is []
251Action Data SRAMs to use = 0
252TODO: Total RAMs use when put 0 bits in match overhead: 97
253TODO: Total RAMs use when put 0 bits in match overhead: 97
254~~~~~~~~~~~~~~~~~~~~~
255 Examining placing 8 bits in match overhead
256~~~~~~~~~~~~~~~~~~~~~
257 Examining placing 16 bits in match overhead
258~~~~~~~~~~~~~~~~~~~~~
259 Examining placing 24 bits in match overhead
260~~~~~~~~~~~~~~~~~~~~~
261 Examining placing 32 bits in match overhead
262
263##########################################
264
265Best Ram Usage is 97 rams
266Best Immediate placement is 0 bits
267Cannot use hash-action for table ecmp_group_table because it has more than one side-effect table
268
269##########################################
270 Call to decide_action_data_placement(stage=0, table=ecmp_group_table)
271##########################################
272
273
274Max immediate bits used in any action is 0 bits.
275Overhead bit width for table ecmp_group_table is 0 bits.
276Bits available in overhead for non-essential immediate data is 32 bits.
277~~~~~~~~~~~~~~~~~~~~~
278 Examining placing 0 bits in match overhead
279Overhead bit width for table ecmp_group_table is 0 bits.
280Allocating: Byte 0 is of type exact and member of group 0 (parity group 0) with 16 bytes. for {ecmp_metadata.selector[7:0]}.
281Allocating: Byte 1 is of type exact and member of group 0 (parity group 0) with 16 bytes. for {ecmp_metadata.selector[15:8]}.
282Allocating: Byte 2 is of type exact and member of group 0 (parity group 0) with 16 bytes. for {ecmp_metadata.groupId[7:0]}.
283Allocating: Byte 3 is of type exact and member of group 0 (parity group 0) with 16 bytes. for {ecmp_metadata.groupId[15:8]}.
284
285---------------------------------------------
286Call to can_any_match_key_fields_be_shared(stage=0, table=ecmp_group_table)
287---------------------------------------------
288Decided way to allocate for table ecmp_group_table in stage 0 WAS non_shared
289Allocating: Byte 0 is of type exact and member of group 0 (parity group 0) with 16 bytes. for {ecmp_metadata.selector[7:0]}.
290Allocating: Byte 1 is of type exact and member of group 0 (parity group 0) with 16 bytes. for {ecmp_metadata.selector[15:8]}.
291Allocating: Byte 2 is of type exact and member of group 0 (parity group 0) with 16 bytes. for {ecmp_metadata.groupId[7:0]}.
292Allocating: Byte 3 is of type exact and member of group 0 (parity group 0) with 16 bytes. for {ecmp_metadata.groupId[15:8]}.
293Overhead SRAMs to use = 3
294 Entries requested = 1024 and match entries get = 3072
295ram_size_matrix =
296 (8, 8, False) (8, 8, True) (8, 32, False) (16, 16, False) (16, 16, True) (16, 32, False) (32, 32, False) (32, 32, True)
297 0 0 0 1 0 0 0 0 # 0
298
299immediate_size_matrix =
300 (8, 8, False) (8, 8, True) (8, 32, False) (16, 16, False) (16, 16, True) (16, 32, False) (32, 32, False) (32, 32, True)
301 0 0 0 0 0 0 0 0 # 0
302
303hash_to_phv_matrix =
304 (8, 8, False) (8, 8, True) (8, 32, False) (16, 16, False) (16, 16, True) (16, 32, False) (32, 32, False) (32, 32, True)
305 0 0 0 0 0 0 0 0 # 0
306
307total action ram packing size = [16, 0, 0]
308action_ram_packing:
309 action set_egress_port has [(16, 16, False)]
310total action ram packing size = [16, 0, 0]
311action_ram_packing:
312 action set_egress_port has []
313total action ram packing size = [16, 0, 0]
314action_ram_packing:
315 action set_egress_port has []
316byte_enables = [1, 1]
317Allocating Action Parameter Bus Byte 32 in stage 0 for Byte 0 of 16-bit constant
318Allocating Action Parameter Bus Byte 33 in stage 0 for Byte 1 of 16-bit constant
319Allocating Action Parameter Bus Byte 34 in stage 0 for Byte 0 of 16-bit constant
320Allocating Action Parameter Bus Byte 35 in stage 0 for Byte 1 of 16-bit constant
321After allocation of 32s, available_slots is [(16, 0, 0), (32, 8, 0), (16, 1, 16)]
322final packing is [(16, 16, False)]
323byte_enables = []
324After allocation of 32s, available_slots is []
325final packing is []
326byte_enables = []
327After allocation of 32s, available_slots is []
328final packing is []
329Action Data SRAMs to use = 1
330TODO: Total RAMs use when put 0 bits in match overhead: 4
331TODO: Total RAMs use when put 0 bits in match overhead: 4
332~~~~~~~~~~~~~~~~~~~~~
333 Examining placing 8 bits in match overhead
334~~~~~~~~~~~~~~~~~~~~~
335 Examining placing 16 bits in match overhead
336Overhead bit width for table ecmp_group_table is 0 bits.
337Allocating: Byte 0 is of type exact and member of group 0 (parity group 0) with 16 bytes. for {ecmp_metadata.selector[7:0]}.
338Allocating: Byte 1 is of type exact and member of group 0 (parity group 0) with 16 bytes. for {ecmp_metadata.selector[15:8]}.
339Allocating: Byte 2 is of type exact and member of group 0 (parity group 0) with 16 bytes. for {ecmp_metadata.groupId[7:0]}.
340Allocating: Byte 3 is of type exact and member of group 0 (parity group 0) with 16 bytes. for {ecmp_metadata.groupId[15:8]}.
341
342---------------------------------------------
343Call to can_any_match_key_fields_be_shared(stage=0, table=ecmp_group_table)
344---------------------------------------------
345Decided way to allocate for table ecmp_group_table in stage 0 WAS non_shared
346Allocating: Byte 0 is of type exact and member of group 0 (parity group 0) with 16 bytes. for {ecmp_metadata.selector[7:0]}.
347Allocating: Byte 1 is of type exact and member of group 0 (parity group 0) with 16 bytes. for {ecmp_metadata.selector[15:8]}.
348Allocating: Byte 2 is of type exact and member of group 0 (parity group 0) with 16 bytes. for {ecmp_metadata.groupId[7:0]}.
349Allocating: Byte 3 is of type exact and member of group 0 (parity group 0) with 16 bytes. for {ecmp_metadata.groupId[15:8]}.
350Overhead SRAMs to use = 3
351 Entries requested = 1024 and match entries get = 3072
352ram_size_matrix =
353 (8, 8, False) (8, 8, True) (8, 32, False) (16, 16, False) (16, 16, True) (16, 32, False) (32, 32, False) (32, 32, True)
354 0 0 0 0 0 0 0 0 # 0
355
356immediate_size_matrix =
357 (8, 8, False) (8, 8, True) (8, 32, False) (16, 16, False) (16, 16, True) (16, 32, False) (32, 32, False) (32, 32, True)
358 0 0 0 1 0 0 0 0 # 0
359
360hash_to_phv_matrix =
361 (8, 8, False) (8, 8, True) (8, 32, False) (16, 16, False) (16, 16, True) (16, 32, False) (32, 32, False) (32, 32, True)
362 0 0 0 0 0 0 0 0 # 0
363
364total action ram packing size = [0, 0, 0]
365action_ram_packing:
366 action set_egress_port has []
367total action ram packing size = [0, 16, 0]
368action_ram_packing:
369 action set_egress_port has [(16, 16, False)]
370total action ram packing size = [0, 16, 0]
371action_ram_packing:
372 action set_egress_port has []
373byte_enables = []
374After allocation of 32s, available_slots is []
375final packing is []
376byte_enables = [1, 1]
377Allocating Action Parameter Bus Byte 32 in stage 0 for Byte 0 of 16-bit constant
378Allocating Action Parameter Bus Byte 33 in stage 0 for Byte 1 of 16-bit constant
379Allocating Action Parameter Bus Byte 34 in stage 0 for Byte 0 of 16-bit constant
380Allocating Action Parameter Bus Byte 35 in stage 0 for Byte 1 of 16-bit constant
381After allocation of 32s, available_slots is [(16, 0, 0), (32, 8, 0), (16, 1, 16)]
382final packing is [(16, 16, False)]
383byte_enables = []
384After allocation of 32s, available_slots is []
385final packing is []
386Action Data SRAMs to use = 0
387TODO: Total RAMs use when put 16 bits in match overhead: 3
388TODO: Total RAMs use when put 16 bits in match overhead: 3
389~~~~~~~~~~~~~~~~~~~~~
390 Examining placing 24 bits in match overhead
391Overhead bit width for table ecmp_group_table is 0 bits.
392Allocating: Byte 0 is of type exact and member of group 0 (parity group 0) with 16 bytes. for {ecmp_metadata.selector[7:0]}.
393Allocating: Byte 1 is of type exact and member of group 0 (parity group 0) with 16 bytes. for {ecmp_metadata.selector[15:8]}.
394Allocating: Byte 2 is of type exact and member of group 0 (parity group 0) with 16 bytes. for {ecmp_metadata.groupId[7:0]}.
395Allocating: Byte 3 is of type exact and member of group 0 (parity group 0) with 16 bytes. for {ecmp_metadata.groupId[15:8]}.
396
397---------------------------------------------
398Call to can_any_match_key_fields_be_shared(stage=0, table=ecmp_group_table)
399---------------------------------------------
400Decided way to allocate for table ecmp_group_table in stage 0 WAS non_shared
401Allocating: Byte 0 is of type exact and member of group 0 (parity group 0) with 16 bytes. for {ecmp_metadata.selector[7:0]}.
402Allocating: Byte 1 is of type exact and member of group 0 (parity group 0) with 16 bytes. for {ecmp_metadata.selector[15:8]}.
403Allocating: Byte 2 is of type exact and member of group 0 (parity group 0) with 16 bytes. for {ecmp_metadata.groupId[7:0]}.
404Allocating: Byte 3 is of type exact and member of group 0 (parity group 0) with 16 bytes. for {ecmp_metadata.groupId[15:8]}.
405Overhead SRAMs to use = 3
406 Entries requested = 1024 and match entries get = 3072
407ram_size_matrix =
408 (8, 8, False) (8, 8, True) (8, 32, False) (16, 16, False) (16, 16, True) (16, 32, False) (32, 32, False) (32, 32, True)
409 0 0 0 0 0 0 0 0 # 0
410
411immediate_size_matrix =
412 (8, 8, False) (8, 8, True) (8, 32, False) (16, 16, False) (16, 16, True) (16, 32, False) (32, 32, False) (32, 32, True)
413 0 0 0 1 0 0 0 0 # 0
414
415hash_to_phv_matrix =
416 (8, 8, False) (8, 8, True) (8, 32, False) (16, 16, False) (16, 16, True) (16, 32, False) (32, 32, False) (32, 32, True)
417 0 0 0 0 0 0 0 0 # 0
418
419total action ram packing size = [0, 0, 0]
420action_ram_packing:
421 action set_egress_port has []
422total action ram packing size = [0, 16, 0]
423action_ram_packing:
424 action set_egress_port has [(16, 16, False)]
425total action ram packing size = [0, 16, 0]
426action_ram_packing:
427 action set_egress_port has []
428byte_enables = []
429After allocation of 32s, available_slots is []
430final packing is []
431byte_enables = [1, 1]
432Allocating Action Parameter Bus Byte 32 in stage 0 for Byte 0 of 16-bit constant
433Allocating Action Parameter Bus Byte 33 in stage 0 for Byte 1 of 16-bit constant
434Allocating Action Parameter Bus Byte 34 in stage 0 for Byte 0 of 16-bit constant
435Allocating Action Parameter Bus Byte 35 in stage 0 for Byte 1 of 16-bit constant
436After allocation of 32s, available_slots is [(16, 0, 0), (32, 8, 0), (16, 1, 16)]
437final packing is [(16, 16, False)]
438byte_enables = []
439After allocation of 32s, available_slots is []
440final packing is []
441Action Data SRAMs to use = 0
442TODO: Total RAMs use when put 24 bits in match overhead: 3
443TODO: Total RAMs use when put 24 bits in match overhead: 3
444~~~~~~~~~~~~~~~~~~~~~
445 Examining placing 32 bits in match overhead
446Overhead bit width for table ecmp_group_table is 0 bits.
447Allocating: Byte 0 is of type exact and member of group 0 (parity group 0) with 16 bytes. for {ecmp_metadata.selector[7:0]}.
448Allocating: Byte 1 is of type exact and member of group 0 (parity group 0) with 16 bytes. for {ecmp_metadata.selector[15:8]}.
449Allocating: Byte 2 is of type exact and member of group 0 (parity group 0) with 16 bytes. for {ecmp_metadata.groupId[7:0]}.
450Allocating: Byte 3 is of type exact and member of group 0 (parity group 0) with 16 bytes. for {ecmp_metadata.groupId[15:8]}.
451
452---------------------------------------------
453Call to can_any_match_key_fields_be_shared(stage=0, table=ecmp_group_table)
454---------------------------------------------
455Decided way to allocate for table ecmp_group_table in stage 0 WAS non_shared
456Allocating: Byte 0 is of type exact and member of group 0 (parity group 0) with 16 bytes. for {ecmp_metadata.selector[7:0]}.
457Allocating: Byte 1 is of type exact and member of group 0 (parity group 0) with 16 bytes. for {ecmp_metadata.selector[15:8]}.
458Allocating: Byte 2 is of type exact and member of group 0 (parity group 0) with 16 bytes. for {ecmp_metadata.groupId[7:0]}.
459Allocating: Byte 3 is of type exact and member of group 0 (parity group 0) with 16 bytes. for {ecmp_metadata.groupId[15:8]}.
460Overhead SRAMs to use = 3
461 Entries requested = 1024 and match entries get = 3072
462ram_size_matrix =
463 (8, 8, False) (8, 8, True) (8, 32, False) (16, 16, False) (16, 16, True) (16, 32, False) (32, 32, False) (32, 32, True)
464 0 0 0 0 0 0 0 0 # 0
465
466immediate_size_matrix =
467 (8, 8, False) (8, 8, True) (8, 32, False) (16, 16, False) (16, 16, True) (16, 32, False) (32, 32, False) (32, 32, True)
468 0 0 0 1 0 0 0 0 # 0
469
470hash_to_phv_matrix =
471 (8, 8, False) (8, 8, True) (8, 32, False) (16, 16, False) (16, 16, True) (16, 32, False) (32, 32, False) (32, 32, True)
472 0 0 0 0 0 0 0 0 # 0
473
474total action ram packing size = [0, 0, 0]
475action_ram_packing:
476 action set_egress_port has []
477total action ram packing size = [0, 16, 0]
478action_ram_packing:
479 action set_egress_port has [(16, 16, False)]
480total action ram packing size = [0, 16, 0]
481action_ram_packing:
482 action set_egress_port has []
483byte_enables = []
484After allocation of 32s, available_slots is []
485final packing is []
486byte_enables = [1, 1]
487Allocating Action Parameter Bus Byte 32 in stage 0 for Byte 0 of 16-bit constant
488Allocating Action Parameter Bus Byte 33 in stage 0 for Byte 1 of 16-bit constant
489Allocating Action Parameter Bus Byte 34 in stage 0 for Byte 0 of 16-bit constant
490Allocating Action Parameter Bus Byte 35 in stage 0 for Byte 1 of 16-bit constant
491After allocation of 32s, available_slots is [(16, 0, 0), (32, 8, 0), (16, 1, 16)]
492final packing is [(16, 16, False)]
493byte_enables = []
494After allocation of 32s, available_slots is []
495final packing is []
496Action Data SRAMs to use = 0
497TODO: Total RAMs use when put 32 bits in match overhead: 3
498TODO: Total RAMs use when put 32 bits in match overhead: 3
499
500##########################################
501
502Best Ram Usage is 3 rams
503Best Immediate placement is 16 bits
504Cannot implement ingress_pkt in phase 0 resources because table does not have the correct condition
505
506----------------------------------------------
507Call to Allocate P4 Table with table ingress_pkt__action__, number_entries = 1024, table id = None, and match type = exact
508 Allocating in stage 0
509----------------------------------------------
510
511ram_size_matrix =
512 (8, 8, False) (8, 8, True) (8, 32, False) (16, 16, False) (16, 16, True) (16, 32, False) (32, 32, False) (32, 32, True)
513 0 0 0 0 0 0 0 0 # 0
514
515immediate_size_matrix =
516 (8, 8, False) (8, 8, True) (8, 32, False) (16, 16, False) (16, 16, True) (16, 32, False) (32, 32, False) (32, 32, True)
517 0 0 0 0 0 0 0 0 # 0
518
519hash_to_phv_matrix =
520 (8, 8, False) (8, 8, True) (8, 32, False) (16, 16, False) (16, 16, True) (16, 32, False) (32, 32, False) (32, 32, True)
521 0 0 0 0 0 0 0 0 # 0
522
523total action ram packing size = [0, 0, 0]
524action_ram_packing:
525 action _packet_out has []
526total action ram packing size = [0, 0, 0]
527action_ram_packing:
528 action _packet_out has []
529total action ram packing size = [0, 0, 0]
530action_ram_packing:
531 action _packet_out has []
532byte_enables = []
533After allocation of 32s, available_slots is []
534final packing is []
535byte_enables = []
536After allocation of 32s, available_slots is []
537final packing is []
538byte_enables = []
539After allocation of 32s, available_slots is []
540final packing is []
541Allocating Action Logical Table ID 0 in stage 0
542
543----------------------------------------------
544Call to Allocate P4 Table with table ingress_pkt, number_entries = 1024, table id = None, and match type = exact
545 Allocating in stage 0
546----------------------------------------------
547
548Logical Table ID in stage 0 was not supplied by table placement for table ingress_pkt.
549Allocating Logical Table ID 0 in stage 0
550Allocating Table Type ID 0 of type exact in stage 0
551Match Overhead:
552 Field --version_valid-- [3:0] (4 bits)
553 Field --instruction_address-- [1:0] (2 bits)
554
555Logical Table ID in stage 0 was not supplied by table placement for table ingress_pkt.
556Allocating Logical Table ID 0 in stage 0
557Allocating Table Type ID 0 of type exact in stage 0
558Allocating: Byte 0 is of type exact and member of group 0 (parity group 0) with 16 bytes. for {unused[5:0], --validity_check--packet_out_hdr[0:0], unused[0:0]}.
559Match Table Resource Request is:
560SRAM Resource Request for table ingress_pkt (of type match), with 0 ways wants 0 rams.
561Allocating: Byte 0 is of type exact and member of group 0 (parity group 0) with 16 bytes. for {unused[5:0], --validity_check--packet_out_hdr[0:0], unused[0:0]}.
562For action _packet_out, formed micro_instruction:
563Micro Instruction deposit-field for PHV Container 130 has bit width 23
564 Field Src2 [3:0] : 0x2 (4 bits in instruction bits [3:0])
565 Field Src1 [4:0] : 0x1 (5 bits in instruction bits [8:4])
566 Field Src1i [0:0] : 0x0 (1 bits in instruction bits [9:9])
567 Field opcode [0:0] : 0x1 (1 bits in instruction bits [10:10])
568 Field high_bit [3:0] : 0x8 (4 bits in instruction bits [14:11])
569 Field low_bit_lo [0:0] : 0x0 (1 bits in instruction bits [15:15])
570 Field right_rotate [3:0] : 0x7 (4 bits in instruction bits [19:16])
571 Field low_bit_hi [2:0] : 0x0 (3 bits in instruction bits [22:20])
572
573For action _packet_out, formed micro_instruction:
574Micro Instruction deposit-field for PHV Container 68 has bit width 20
575 Field Src2 [3:0] : 0x4 (4 bits in instruction bits [3:0])
576 Field Src1 [4:0] : 0x18 (5 bits in instruction bits [8:4])
577 Field Src1i [0:0] : 0x0 (1 bits in instruction bits [9:9])
578 Field opcode [0:0] : 0x1 (1 bits in instruction bits [10:10])
579 Field high_bit [2:0] : 0x1 (3 bits in instruction bits [13:11])
580 Field low_bit_lo [1:0] : 0x1 (2 bits in instruction bits [15:14])
581 Field right_rotate [2:0] : 0x7 (3 bits in instruction bits [18:16])
582 Field low_bit_hi [0:0] : 0x0 (1 bits in instruction bits [19:19])
583
584Allocating Action ALU 2 (16 bits) in stage 0 for match table ingress_pkt's action _packet_out
585Allocating Action ALU 4 (8 bits) in stage 0 for match table ingress_pkt's action _packet_out
586Allocating VLIW Instruction : 0 in stage 0 for match table ingress_pkt's action _packet_out
587
588----------------------------------------------
589Call to Allocate P4 Table with table table0__action__, number_entries = 512, table id = None, and match type = exact
590 Allocating in stage 1
591----------------------------------------------
592
593ram_size_matrix =
594 (8, 8, False) (8, 8, True) (8, 32, False) (16, 16, False) (16, 16, True) (16, 32, False) (32, 32, False) (32, 32, True)
595 0 0 0 1 0 0 0 0 # 0
596 0 0 0 1 0 0 0 0 # 1
597 0 0 0 0 0 0 0 0 # 2
598 0 0 0 0 0 0 0 0 # 3
599
600immediate_size_matrix =
601 (8, 8, False) (8, 8, True) (8, 32, False) (16, 16, False) (16, 16, True) (16, 32, False) (32, 32, False) (32, 32, True)
602 0 0 0 0 0 0 0 0 # 0
603 0 0 0 0 0 0 0 0 # 1
604 0 0 0 0 0 0 0 0 # 2
605 0 0 0 0 0 0 0 0 # 3
606
607hash_to_phv_matrix =
608 (8, 8, False) (8, 8, True) (8, 32, False) (16, 16, False) (16, 16, True) (16, 32, False) (32, 32, False) (32, 32, True)
609 0 0 0 0 0 0 0 0 # 0
610 0 0 0 1 0 0 0 0 # 1
611 0 0 0 0 0 0 0 0 # 2
612 0 0 0 0 0 0 0 0 # 3
613
614total action ram packing size = [16, 0, 0]
615action_ram_packing:
616 action set_egress_port has [(16, 16, False)]
617 action ecmp_group has [(16, 16, False)]
618 action send_to_cpu has []
619 action _drop has []
620total action ram packing size = [16, 0, 0]
621action_ram_packing:
622 action set_egress_port has []
623 action ecmp_group has []
624 action send_to_cpu has []
625 action _drop has []
626total action ram packing size = [16, 0, 16]
627action_ram_packing:
628 action set_egress_port has [(16, 0, False)]
629 action ecmp_group has [(16, 16, False)]
630 action send_to_cpu has [(16, 0, False)]
631 action _drop has [(16, 0, False)]
632byte_enables = [1, 1]
633Allocating Action Parameter Bus Byte 32 in stage 1 for Byte 0 of 16-bit constant
634Allocating Action Parameter Bus Byte 33 in stage 1 for Byte 1 of 16-bit constant
635Allocating Action Parameter Bus Byte 34 in stage 1 for Byte 0 of 16-bit constant
636Allocating Action Parameter Bus Byte 35 in stage 1 for Byte 1 of 16-bit constant
637After allocation of 32s, available_slots is [(16, 0, 0), (32, 8, 0), (16, 1, 16)]
638final packing is [(16, 16, False)]
639final packing is [(16, 16, False)]
640final packing is []
641final packing is []
642byte_enables = []
643After allocation of 32s, available_slots is []
644final packing is []
645final packing is []
646final packing is []
647final packing is []
648byte_enables = [1, 1]
649Allocating Action Parameter Bus Byte 36 in stage 1 for Byte 0 of 16-bit constant
650Allocating Action Parameter Bus Byte 37 in stage 1 for Byte 1 of 16-bit constant
651Allocating Action Parameter Bus Byte 38 in stage 1 for Byte 0 of 16-bit constant
652Allocating Action Parameter Bus Byte 39 in stage 1 for Byte 1 of 16-bit constant
653After allocation of 32s, available_slots is [(16, 2, 0), (32, 9, 0), (16, 3, 16)]
654final packing is [(16, 0, False)]
655final packing is [(16, 16, False)]
656final packing is [(16, 0, False)]
657final packing is [(16, 0, False)]
658----------------------------------------------
659 Call to allocate_hash_distribution_units with
660 hash_algorithm = crc32
661 hash_output_width = 32
662 hash_bits_need = 1
663 output_hash_bit_start = 0
664 immediate_bit_positions = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15]
665 used_for = Immediate
666----------------------------------------------
667available_tuples_sorted_by_parity_bytes_available = [(0, 3, 0), (1, 3, 0)]
668available_tuples_split_sorted_by_parity_bytes_available = []
669Allocate fresh exact match group / hash group
670Allocating: Byte 0 is of type exact and member of group 0 (parity group 0) with 16 bytes. for {udp.dstPort[7:0]}.
671Allocating: Byte 1 is of type exact and member of group 0 (parity group 0) with 16 bytes. for {udp.dstPort[15:8]}.
672Allocating: Byte 2 is of type exact and member of group 0 (parity group 0) with 16 bytes. for {udp.srcPort[7:0]}.
673Allocating: Byte 3 is of type exact and member of group 0 (parity group 0) with 16 bytes. for {udp.srcPort[15:8]}.
674Allocating: Byte 4 is of type exact and member of group 0 (parity group 0) with 16 bytes. for {ipv4.dstAddr[7:0]}.
675Allocating: Byte 5 is of type exact and member of group 0 (parity group 0) with 16 bytes. for {ipv4.dstAddr[15:8]}.
676Allocating: Byte 6 is of type exact and member of group 0 (parity group 0) with 16 bytes. for {ipv4.dstAddr[23:16]}.
677Allocating: Byte 7 is of type exact and member of group 0 (parity group 0) with 16 bytes. for {ipv4.dstAddr[31:24]}.
678Allocating: Byte 8 is of type exact and member of group 0 (parity group 1) with 16 bytes. for {ipv4.srcAddr[31:24]}.
679Allocating: Byte 9 is of type exact and member of group 0 (parity group 1) with 16 bytes. for {ipv4.srcAddr[15:8]}.
680Allocating: Byte 10 is of type exact and member of group 0 (parity group 1) with 16 bytes. for {ipv4.srcAddr[7:0]}.
681Allocating: Byte 11 is of type exact and member of group 0 (parity group 1) with 16 bytes. for {ipv4.srcAddr[23:16]}.
682-------------------
683Call to _allocate_hash_distribution_and_hash_bits
684 p4_table = table0__action__
685 used_for = Immediate
686 hash_distribution_hash_id = 0
687 hash_group_id = 0
688 hash_bits_in_units = OrderedDict([(0, [0])])
689 address_left_shift = 0
690-------------------
691Allocating Hash Distribution Group 0/0 for table table0__action__ in stage 1.
692Allocating Hash Bit 0 in hash match group 0 for table table0__action__ in stage 1.
693seed = 0x7bd5c66f
694set the seed to be [1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
695Hash Function 0
696hash_bit_0 = udp.dstPort[2] ^ udp.dstPort[8] ^ udp.dstPort[12] ^ udp.dstPort[14] ^ udp.dstPort[15] ^ udp.srcPort[0] ^ udp.srcPort[8] ^ udp.srcPort[9] ^ udp.srcPort[10] ^ udp.srcPort[11] ^ udp.srcPort[12] ^ udp.srcPort[14] ^ udp.srcPort[15] ^ ipv4.dstAddr[3] ^ ipv4.dstAddr[6] ^ ipv4.dstAddr[8] ^ ipv4.dstAddr[9] ^ ipv4.dstAddr[11] ^ ipv4.dstAddr[12] ^ ipv4.dstAddr[17] ^ ipv4.dstAddr[18] ^ ipv4.dstAddr[19] ^ ipv4.dstAddr[22] ^ ipv4.dstAddr[25] ^ ipv4.dstAddr[27] ^ ipv4.dstAddr[28] ^ ipv4.dstAddr[30] ^ ipv4.srcAddr[24] ^ ipv4.srcAddr[25] ^ ipv4.srcAddr[26] ^ ipv4.srcAddr[9] ^ ipv4.srcAddr[15] ^ ipv4.srcAddr[0] ^ ipv4.srcAddr[4] ^ ipv4.srcAddr[5] ^ ipv4.srcAddr[6] ^ ipv4.srcAddr[7] ^ ipv4.srcAddr[17] ^ ipv4.srcAddr[19] ^ ipv4.srcAddr[20] ^ ipv4.srcAddr[21] ^ ipv4.srcAddr[22] ^ ipv4.srcAddr[23] ^ 1
697hash_bit_1 = 0
698hash_bit_2 = 0
699hash_bit_3 = 0
700hash_bit_4 = 0
701hash_bit_5 = 0
702hash_bit_6 = 0
703hash_bit_7 = 0
704hash_bit_8 = 0
705hash_bit_9 = 0
706hash_bit_10 = 0
707hash_bit_11 = 0
708hash_bit_12 = 0
709hash_bit_13 = 0
710hash_bit_14 = 0
711hash_bit_15 = 0
712hash_bit_16 = 0
713hash_bit_17 = 0
714hash_bit_18 = 0
715hash_bit_19 = 0
716hash_bit_20 = 0
717hash_bit_21 = 0
718hash_bit_22 = 0
719hash_bit_23 = 0
720hash_bit_24 = 0
721hash_bit_25 = 0
722hash_bit_26 = 0
723hash_bit_27 = 0
724hash_bit_28 = 0
725hash_bit_29 = 0
726hash_bit_30 = 0
727hash_bit_31 = 0
728hash_bit_32 = 0
729hash_bit_33 = 0
730hash_bit_34 = 0
731hash_bit_35 = 0
732hash_bit_36 = 0
733hash_bit_37 = 0
734hash_bit_38 = 0
735hash_bit_39 = 0
736hash_bit_40 = 0
737hash_bit_41 = 0
738hash_bit_42 = 0
739hash_bit_43 = 0
740hash_bit_44 = 0
741hash_bit_45 = 0
742hash_bit_46 = 0
743hash_bit_47 = 0
744hash_bit_48 = 0
745hash_bit_49 = 0
746hash_bit_50 = 0
747hash_bit_51 = 0
748
749Allocating Action Logical Table ID 0 in stage 1
750
751----------------------------------------------
752Call to Allocate P4 Table with table table0_counter, number_entries = 512, table id = None, and match type = exact
753 Allocating in stage 1
754----------------------------------------------
755
756stat_stage_table referenced: direct
757stat Table Resource Request is:
758SRAM Resource Request for table table0_counter (of type statistics), with 1 ways wants 2 rams.
759Sram Resource Request for P4 table table0_counter with handle 67108867 of type statistics in stage 1
760 table_type : statistics
761 rams_for_width : 1
762 use_stash : False
763 number_ways : 1
764 way #0
765 SRAM Request Group 0
766 rams_for_depth : 2
767 map_rams : 0
768 way_number : 0
769 ram_word_select_bits : 0
770 ram_enable_select_bits : 0
771
772
773----------------------------------------------
774Call to Allocate P4 Table with table table0, number_entries = 512, table id = None, and match type = ternary
775 Allocating in stage 1
776----------------------------------------------
777
778Logical Table ID in stage 1 was not supplied by table placement for table table0.
779Allocating Logical Table ID 0 in stage 1
780Allocating Table Type ID 0 of type ternary in stage 1
781
782-----------------------------------------
783 Call to allocate_ternary_match_key_2
784-----------------------------------------
785Total crossbar bytes to allocate = 16
786Minimum key bytes required by this match key = 16
787Allocating: Byte 133 is of type ternary and member of group 0 with 1 bytes
788 version/valid in nibble 1 for table table0. for version/valid
789{unused[6:0], ig_intr_md.ingress_port[8:8]}.
790Allocating: Byte 128 is of type ternary and member of group 0 with 5 bytes. for {ethernet.srcAddr[7:0]}.
791Allocating: Byte 129 is of type ternary and member of group 0 with 5 bytes. for {ethernet.srcAddr[15:8]}.
792Allocating: Byte 130 is of type ternary and member of group 0 with 5 bytes. for {ethernet.srcAddr[23:16]}.
793Allocating: Byte 131 is of type ternary and member of group 0 with 5 bytes. for {ethernet.srcAddr[31:24]}.
794Allocating: Byte 132 is of type ternary and member of group 0 with 5 bytes. for {ethernet.dstAddr[15:8]}.
795Allocating: Byte 134 is of type ternary and member of group 1 with 5 bytes. for {ethernet.dstAddr[31:24]}.
796Allocating: Byte 135 is of type ternary and member of group 1 with 5 bytes. for {ethernet.dstAddr[39:32]}.
797Allocating: Byte 136 is of type ternary and member of group 1 with 5 bytes. for {ethernet.etherType[7:0]}.
798Allocating: Byte 137 is of type ternary and member of group 1 with 5 bytes. for {ethernet.dstAddr[23:16]}.
799Allocating: Byte 138 is of type ternary and member of group 1 with 5 bytes. for {ethernet.srcAddr[47:40]}.
800Allocating: Byte 139 is of type ternary and member of group 2 with 5 bytes. for {ethernet.etherType[15:8]}.
801Allocating: Byte 140 is of type ternary and member of group 2 with 5 bytes. for {ig_intr_md.ingress_port[7:0]}.
802Allocating: Byte 141 is of type ternary and member of group 2 with 5 bytes. for {ethernet.dstAddr[7:0]}.
803Allocating: Byte 142 is of type ternary and member of group 2 with 5 bytes. for {ethernet.srcAddr[39:32]}.
804Allocating: Byte 143 is of type ternary and member of group 2 with 5 bytes. for {ethernet.dstAddr[47:40]}.
805Formed Ternary Match Key:
806{--unused--[3:0], ethernet.dstAddr[47:40], ethernet.srcAddr[39:32], ethernet.dstAddr[7:0], ig_intr_md.ingress_port[7:0], ethernet.etherType[15:8], --version--[1:0], --unused--[1:0], ethernet.srcAddr[47:40], ethernet.dstAddr[23:16], ethernet.etherType[7:0], ethernet.dstAddr[39:24], --unused--[2:0], ig_intr_md.ingress_port[8:8], ethernet.dstAddr[15:8], ethernet.srcAddr[31:0]}
807
808---------------------------------------------
809Call to can_any_match_key_fields_be_shared(stage=1, table=table0)
810---------------------------------------------
811Decided way to allocate for table table0 in stage 1 WAS non_shared
812
813-----------------------------------------
814 Call to allocate_ternary_match_key_2
815-----------------------------------------
816Total crossbar bytes to allocate = 16
817Minimum key bytes required by this match key = 16
818Allocating: Byte 133 is of type ternary and member of group 0 with 1 bytes
819 version/valid in nibble 1 for table table0. for version/valid
820{unused[6:0], ig_intr_md.ingress_port[8:8]}.
821Allocating: Byte 128 is of type ternary and member of group 0 with 5 bytes. for {ethernet.srcAddr[7:0]}.
822Allocating: Byte 129 is of type ternary and member of group 0 with 5 bytes. for {ethernet.srcAddr[15:8]}.
823Allocating: Byte 130 is of type ternary and member of group 0 with 5 bytes. for {ethernet.srcAddr[23:16]}.
824Allocating: Byte 131 is of type ternary and member of group 0 with 5 bytes. for {ethernet.srcAddr[31:24]}.
825Allocating: Byte 132 is of type ternary and member of group 0 with 5 bytes. for {ethernet.dstAddr[15:8]}.
826Allocating: Byte 134 is of type ternary and member of group 1 with 5 bytes. for {ethernet.dstAddr[31:24]}.
827Allocating: Byte 135 is of type ternary and member of group 1 with 5 bytes. for {ethernet.dstAddr[39:32]}.
828Allocating: Byte 136 is of type ternary and member of group 1 with 5 bytes. for {ethernet.etherType[7:0]}.
829Allocating: Byte 137 is of type ternary and member of group 1 with 5 bytes. for {ethernet.dstAddr[23:16]}.
830Allocating: Byte 138 is of type ternary and member of group 1 with 5 bytes. for {ethernet.srcAddr[47:40]}.
831Allocating: Byte 139 is of type ternary and member of group 2 with 5 bytes. for {ethernet.etherType[15:8]}.
832Allocating: Byte 140 is of type ternary and member of group 2 with 5 bytes. for {ig_intr_md.ingress_port[7:0]}.
833Allocating: Byte 141 is of type ternary and member of group 2 with 5 bytes. for {ethernet.dstAddr[7:0]}.
834Allocating: Byte 142 is of type ternary and member of group 2 with 5 bytes. for {ethernet.srcAddr[39:32]}.
835Allocating: Byte 143 is of type ternary and member of group 2 with 5 bytes. for {ethernet.dstAddr[47:40]}.
836Formed Ternary Match Key:
837{--unused--[3:0], ethernet.dstAddr[47:40], ethernet.srcAddr[39:32], ethernet.dstAddr[7:0], ig_intr_md.ingress_port[7:0], ethernet.etherType[15:8], --version--[1:0], --unused--[1:0], ethernet.srcAddr[47:40], ethernet.dstAddr[23:16], ethernet.etherType[7:0], ethernet.dstAddr[39:24], --unused--[2:0], ig_intr_md.ingress_port[8:8], ethernet.dstAddr[15:8], ethernet.srcAddr[31:0]}
838Skipping p4_primitive StageModifyFieldFromHashBitsPrimitive from overhead calculation.
839Allocating: Byte 12 is of type exact and member of group 0 (parity group 1) with 16 bytes. for {unused[5:0], --validity_check--packet_out_hdr[0:0], unused[0:0]}.
840Allocating: Byte 12 is of type exact and member of group 0 (parity group 1) with 16 bytes. for {unused[5:0], --validity_check--packet_out_hdr[0:0], unused[0:0]}.
841For action set_egress_port, formed micro_instruction:
842Micro Instruction deposit-field for PHV Container 130 has bit width 23
843 Field Src2 [3:0] : 0x2 (4 bits in instruction bits [3:0])
844 Field Src1 [4:0] : 0x0 (5 bits in instruction bits [8:4])
845 Field Src1i [0:0] : 0x1 (1 bits in instruction bits [9:9])
846 Field opcode [0:0] : 0x1 (1 bits in instruction bits [10:10])
847 Field high_bit [3:0] : 0x8 (4 bits in instruction bits [14:11])
848 Field low_bit_lo [0:0] : 0x0 (1 bits in instruction bits [15:15])
849 Field right_rotate [3:0] : 0x0 (4 bits in instruction bits [19:16])
850 Field low_bit_hi [2:0] : 0x0 (3 bits in instruction bits [22:20])
851
852Allocating Action ALU 2 (16 bits) in stage 1 for match table table0's action set_egress_port
853Allocating VLIW Instruction : 0 in stage 1 for match table table0's action set_egress_port
854For action ecmp_group, formed micro_instruction:
855Micro Instruction alu_a for PHV Container 134 has bit width 23
856 Field Src2 [3:0] : 0x6 (4 bits in instruction bits [3:0])
857 Field Src1 [4:0] : 0x0 (5 bits in instruction bits [8:4])
858 Field Src1i [0:0] : 0x1 (1 bits in instruction bits [9:9])
859 Field opcode [9:0] : 0x31e (10 bits in instruction bits [19:10])
860 Field unused [2:0] : 0x0 (3 bits in instruction bits [22:20])
861
862For action ecmp_group, formed micro_instruction:
863Micro Instruction alu_a for PHV Container 135 has bit width 23
864 Field Src2 [3:0] : 0x7 (4 bits in instruction bits [3:0])
865 Field Src1 [4:0] : 0x2 (5 bits in instruction bits [8:4])
866 Field Src1i [0:0] : 0x1 (1 bits in instruction bits [9:9])
867 Field opcode [9:0] : 0x31e (10 bits in instruction bits [19:10])
868 Field unused [2:0] : 0x0 (3 bits in instruction bits [22:20])
869
870Allocating Action ALU 6 (16 bits) in stage 1 for match table table0's action ecmp_group
871Allocating Action ALU 7 (16 bits) in stage 1 for match table table0's action ecmp_group
872Allocating VLIW Instruction : 1 in stage 1 for match table table0's action ecmp_group
873For action send_to_cpu, formed micro_instruction:
874Micro Instruction deposit-field for PHV Container 64 has bit width 20
875 Field Src2 [3:0] : 0x0 (4 bits in instruction bits [3:0])
876 Field Src1 [4:0] : 0x19 (5 bits in instruction bits [8:4])
877 Field Src1i [0:0] : 0x0 (1 bits in instruction bits [9:9])
878 Field opcode [0:0] : 0x1 (1 bits in instruction bits [10:10])
879 Field high_bit [2:0] : 0x0 (3 bits in instruction bits [13:11])
880 Field low_bit_lo [1:0] : 0x0 (2 bits in instruction bits [15:14])
881 Field right_rotate [2:0] : 0x0 (3 bits in instruction bits [18:16])
882 Field low_bit_hi [0:0] : 0x0 (1 bits in instruction bits [19:19])
883
884Allocating Action ALU 0 (8 bits) in stage 1 for match table table0's action send_to_cpu
885Allocating VLIW Instruction : 1 in stage 1 for match table table0's action send_to_cpu
886For action _drop, formed micro_instruction:
887Micro Instruction deposit-field for PHV Container 69 has bit width 20
888 Field Src2 [3:0] : 0x5 (4 bits in instruction bits [3:0])
889 Field Src1 [4:0] : 0x19 (5 bits in instruction bits [8:4])
890 Field Src1i [0:0] : 0x0 (1 bits in instruction bits [9:9])
891 Field opcode [0:0] : 0x1 (1 bits in instruction bits [10:10])
892 Field high_bit [2:0] : 0x7 (3 bits in instruction bits [13:11])
893 Field low_bit_lo [1:0] : 0x1 (2 bits in instruction bits [15:14])
894 Field right_rotate [2:0] : 0x3 (3 bits in instruction bits [18:16])
895 Field low_bit_hi [0:0] : 0x1 (1 bits in instruction bits [19:19])
896
897Allocating Action ALU 5 (8 bits) in stage 1 for match table table0's action _drop
898Allocating VLIW Instruction : 2 in stage 1 for match table table0's action _drop
899Ternary table Pack Format =
900Pack Format:
901 table_word_width: 141
902 memory_word_width: 47
903 entries_per_table_word: 1
904 number_memory_units_per_table_word: 3
905 entry_list: [
906 entry_number : 0
907 field_list : [
908 ]
909 Field --tcam_parity_2-- [1:0] : in bits [140:139]
910 Field --unused-- [3:0] : in bits [138:135]
911 Field ethernet.dstAddr [47:40] : in bits [134:127]
912 Field ethernet.srcAddr [39:32] : in bits [126:119]
913 Field ethernet.dstAddr [7:0] : in bits [118:111]
914 Field ig_intr_md.ingress_port [7:0] : in bits [110:103]
915 Field ethernet.etherType [15:8] : in bits [102:95]
916 Field --tcam_payload_2-- [0:0] : in bits [94:94]
917 Field --tcam_parity_1-- [1:0] : in bits [93:92]
918 Field --version-- [1:0] : in bits [91:90]
919 Field --unused-- [1:0] : in bits [89:88]
920 Field ethernet.srcAddr [47:40] : in bits [87:80]
921 Field ethernet.dstAddr [23:16] : in bits [79:72]
922 Field ethernet.etherType [7:0] : in bits [71:64]
923 Field ethernet.dstAddr [39:24] : in bits [63:48]
924 Field --tcam_payload_1-- [0:0] : in bits [47:47]
925 Field --tcam_parity_0-- [1:0] : in bits [46:45]
926 Field --unused-- [2:0] : in bits [44:42]
927 Field ig_intr_md.ingress_port [8:8] : in bits [41:41]
928 Field ethernet.dstAddr [15:8] : in bits [40:33]
929 Field ethernet.srcAddr [31:0] : in bits [32:1]
930 Field --tcam_payload_0-- [0:0] : in bits [0:0]
931]
932
933
934----------------------------------------------
935Call to Allocate P4 Table with table ecmp_group_table__action__, number_entries = 1024, table id = None, and match type = exact
936 Allocating in stage 2
937----------------------------------------------
938
939ram_size_matrix =
940 (8, 8, False) (8, 8, True) (8, 32, False) (16, 16, False) (16, 16, True) (16, 32, False) (32, 32, False) (32, 32, True)
941 0 0 0 0 0 0 0 0 # 0
942
943immediate_size_matrix =
944 (8, 8, False) (8, 8, True) (8, 32, False) (16, 16, False) (16, 16, True) (16, 32, False) (32, 32, False) (32, 32, True)
945 0 0 0 1 0 0 0 0 # 0
946
947hash_to_phv_matrix =
948 (8, 8, False) (8, 8, True) (8, 32, False) (16, 16, False) (16, 16, True) (16, 32, False) (32, 32, False) (32, 32, True)
949 0 0 0 0 0 0 0 0 # 0
950
951total action ram packing size = [0, 0, 0]
952action_ram_packing:
953 action set_egress_port has []
954total action ram packing size = [0, 16, 0]
955action_ram_packing:
956 action set_egress_port has [(16, 16, False)]
957total action ram packing size = [0, 16, 0]
958action_ram_packing:
959 action set_egress_port has []
960byte_enables = []
961After allocation of 32s, available_slots is []
962final packing is []
963byte_enables = [1, 1]
964Allocating Action Parameter Bus Byte 32 in stage 2 for Byte 0 of 16-bit constant
965Allocating Action Parameter Bus Byte 33 in stage 2 for Byte 1 of 16-bit constant
966Allocating Action Parameter Bus Byte 34 in stage 2 for Byte 0 of 16-bit constant
967Allocating Action Parameter Bus Byte 35 in stage 2 for Byte 1 of 16-bit constant
968After allocation of 32s, available_slots is [(16, 0, 0), (32, 8, 0), (16, 1, 16)]
969final packing is [(16, 16, False)]
970byte_enables = []
971After allocation of 32s, available_slots is []
972final packing is []
973Allocating Action Logical Table ID 0 in stage 2
974
975----------------------------------------------
976Call to Allocate P4 Table with table ecmp_group_table_counter, number_entries = 1024, table id = None, and match type = exact
977 Allocating in stage 2
978----------------------------------------------
979
980stat_stage_table referenced: direct
981stat Table Resource Request is:
982SRAM Resource Request for table ecmp_group_table_counter (of type statistics), with 1 ways wants 2 rams.
983Sram Resource Request for P4 table ecmp_group_table_counter with handle 67108868 of type statistics in stage 2
984 table_type : statistics
985 rams_for_width : 1
986 use_stash : False
987 number_ways : 1
988 way #0
989 SRAM Request Group 0
990 rams_for_depth : 2
991 map_rams : 0
992 way_number : 0
993 ram_word_select_bits : 0
994 ram_enable_select_bits : 0
995
996
997----------------------------------------------
998Call to Allocate P4 Table with table ecmp_group_table, number_entries = 1024, table id = None, and match type = exact
999 Allocating in stage 2
1000----------------------------------------------
1001
1002Logical Table ID in stage 2 was not supplied by table placement for table ecmp_group_table.
1003Allocating Logical Table ID 0 in stage 2
1004Allocating Table Type ID 0 of type exact in stage 2
1005Match Overhead:
1006 Field --version_valid-- [3:0] (4 bits)
1007 Field --immediate-- [15:0] (16 bits)
1008
1009Allocating: Byte 0 is of type exact and member of group 0 (parity group 0) with 16 bytes. for {ecmp_metadata.selector[7:0]}.
1010Allocating: Byte 1 is of type exact and member of group 0 (parity group 0) with 16 bytes. for {ecmp_metadata.selector[15:8]}.
1011Allocating: Byte 2 is of type exact and member of group 0 (parity group 0) with 16 bytes. for {ecmp_metadata.groupId[7:0]}.
1012Allocating: Byte 3 is of type exact and member of group 0 (parity group 0) with 16 bytes. for {ecmp_metadata.groupId[15:8]}.
1013
1014---------------------------------------------
1015Call to can_any_match_key_fields_be_shared(stage=2, table=ecmp_group_table)
1016---------------------------------------------
1017Decided way to allocate for table ecmp_group_table in stage 2 WAS non_shared
1018Allocating: Byte 0 is of type exact and member of group 0 (parity group 0) with 16 bytes. for {ecmp_metadata.selector[7:0]}.
1019Allocating: Byte 1 is of type exact and member of group 0 (parity group 0) with 16 bytes. for {ecmp_metadata.selector[15:8]}.
1020Allocating: Byte 2 is of type exact and member of group 0 (parity group 0) with 16 bytes. for {ecmp_metadata.groupId[7:0]}.
1021Allocating: Byte 3 is of type exact and member of group 0 (parity group 0) with 16 bytes. for {ecmp_metadata.groupId[15:8]}.
1022Packing choices are:
1023Choice 0
1024 entries_per_table_word : 1
1025 rams_for_width : 1
1026 total_rams_need : 1
1027 utilization : 0.328125
1028 total_logical_entries_get : 1024
1029 total_logical_entries_want : 1024
1030Choice 1
1031 entries_per_table_word : 2
1032 rams_for_width : 1
1033 total_rams_need : 1
1034 utilization : 0.656250
1035 total_logical_entries_get : 2048
1036 total_logical_entries_want : 1024
1037Choice 2
1038 entries_per_table_word : 3
1039 rams_for_width : 2
1040 total_rams_need : 2
1041 utilization : 0.492188
1042 total_logical_entries_get : 3072
1043 total_logical_entries_want : 1024
1044Choice 3
1045 entries_per_table_word : 4
1046 rams_for_width : 2
1047 total_rams_need : 2
1048 utilization : 0.656250
1049 total_logical_entries_get : 4096
1050 total_logical_entries_want : 1024
1051Choice 4
1052 entries_per_table_word : 5
1053 rams_for_width : 2
1054 total_rams_need : 2
1055 utilization : 0.820312
1056 total_logical_entries_get : 5120
1057 total_logical_entries_want : 1024
1058Choice 5
1059 entries_per_table_word : 6
1060 rams_for_width : 3
1061 total_rams_need : 3
1062 utilization : 0.656250
1063 total_logical_entries_get : 6144
1064 total_logical_entries_want : 1024
1065Choice 6
1066 entries_per_table_word : 7
1067 rams_for_width : 3
1068 total_rams_need : 3
1069 utilization : 0.765625
1070 total_logical_entries_get : 7168
1071 total_logical_entries_want : 1024
1072Choice 7
1073 entries_per_table_word : 8
1074 rams_for_width : 3
1075 total_rams_need : 3
1076 utilization : 0.875000
1077 total_logical_entries_get : 8192
1078 total_logical_entries_want : 1024
1079Choice 8
1080 entries_per_table_word : 9
1081 rams_for_width : 4
1082 total_rams_need : 4
1083 utilization : 0.738281
1084 total_logical_entries_get : 9216
1085 total_logical_entries_want : 1024
1086First choice is to pack 1 entries per table word (1 rams)
1087--------------------------------------
1088Attempting packing (attempt #1):
1089--------------------------------------
1090 number entries per table word: 1
1091 rams_for_width: 1
1092 total_rams: 1
1093 utilization: 0.328125
1094 total_ram_blocks_need_for_depth: 1
1095This will be split into a 3-way table distributed as [1, 1, 1].
1096Total number of hash functions need is 1.
1097Allocating Hash Bit 0 in hash match group 0 for match table ecmp_group_table's hash way 0.
1098Allocating Hash Bit 1 in hash match group 0 for match table ecmp_group_table's hash way 0.
1099Allocating Hash Bit 2 in hash match group 0 for match table ecmp_group_table's hash way 0.
1100Allocating Hash Bit 3 in hash match group 0 for match table ecmp_group_table's hash way 0.
1101Allocating Hash Bit 4 in hash match group 0 for match table ecmp_group_table's hash way 0.
1102Allocating Hash Bit 5 in hash match group 0 for match table ecmp_group_table's hash way 0.
1103Allocating Hash Bit 6 in hash match group 0 for match table ecmp_group_table's hash way 0.
1104Allocating Hash Bit 7 in hash match group 0 for match table ecmp_group_table's hash way 0.
1105Allocating Hash Bit 8 in hash match group 0 for match table ecmp_group_table's hash way 0.
1106Allocating Hash Bit 9 in hash match group 0 for match table ecmp_group_table's hash way 0.
1107Allocating Hash Bit 10 in hash match group 0 for match table ecmp_group_table's hash way 1.
1108Allocating Hash Bit 11 in hash match group 0 for match table ecmp_group_table's hash way 1.
1109Allocating Hash Bit 12 in hash match group 0 for match table ecmp_group_table's hash way 1.
1110Allocating Hash Bit 13 in hash match group 0 for match table ecmp_group_table's hash way 1.
1111Allocating Hash Bit 14 in hash match group 0 for match table ecmp_group_table's hash way 1.
1112Allocating Hash Bit 15 in hash match group 0 for match table ecmp_group_table's hash way 1.
1113Allocating Hash Bit 16 in hash match group 0 for match table ecmp_group_table's hash way 1.
1114Allocating Hash Bit 17 in hash match group 0 for match table ecmp_group_table's hash way 1.
1115Allocating Hash Bit 18 in hash match group 0 for match table ecmp_group_table's hash way 1.
1116Allocating Hash Bit 19 in hash match group 0 for match table ecmp_group_table's hash way 1.
1117Allocating Hash Bit 20 in hash match group 0 for match table ecmp_group_table's hash way 2.
1118Allocating Hash Bit 21 in hash match group 0 for match table ecmp_group_table's hash way 2.
1119Allocating Hash Bit 22 in hash match group 0 for match table ecmp_group_table's hash way 2.
1120Allocating Hash Bit 23 in hash match group 0 for match table ecmp_group_table's hash way 2.
1121Allocating Hash Bit 24 in hash match group 0 for match table ecmp_group_table's hash way 2.
1122Allocating Hash Bit 25 in hash match group 0 for match table ecmp_group_table's hash way 2.
1123Allocating Hash Bit 26 in hash match group 0 for match table ecmp_group_table's hash way 2.
1124Allocating Hash Bit 27 in hash match group 0 for match table ecmp_group_table's hash way 2.
1125Allocating Hash Bit 28 in hash match group 0 for match table ecmp_group_table's hash way 2.
1126Allocating Hash Bit 29 in hash match group 0 for match table ecmp_group_table's hash way 2.
1127Match Table Resource Request is:
1128SRAM Resource Request for table ecmp_group_table (of type match), with 3 ways wants 3 rams.
1129--------
1130set the seed to be [0, 0, 1, 1, 0, 1, 0, 1, 1, 0, 1, 1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 1, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
1131For action set_egress_port, formed micro_instruction:
1132Micro Instruction deposit-field for PHV Container 130 has bit width 23
1133 Field Src2 [3:0] : 0x2 (4 bits in instruction bits [3:0])
1134 Field Src1 [4:0] : 0x0 (5 bits in instruction bits [8:4])
1135 Field Src1i [0:0] : 0x1 (1 bits in instruction bits [9:9])
1136 Field opcode [0:0] : 0x1 (1 bits in instruction bits [10:10])
1137 Field high_bit [3:0] : 0x8 (4 bits in instruction bits [14:11])
1138 Field low_bit_lo [0:0] : 0x0 (1 bits in instruction bits [15:15])
1139 Field right_rotate [3:0] : 0x0 (4 bits in instruction bits [19:16])
1140 Field low_bit_hi [2:0] : 0x0 (3 bits in instruction bits [22:20])
1141
1142Allocating Action ALU 2 (16 bits) in stage 2 for match table ecmp_group_table's action set_egress_port
1143Allocating VLIW Instruction : 0 in stage 2 for match table ecmp_group_table's action set_egress_port
1144
1145----------------------------------------------
1146Call to Allocate P4 Table with table ingress_port_count_table__action__, number_entries = 1024, table id = None, and match type = exact
1147 Allocating in stage 3
1148----------------------------------------------
1149
1150ram_size_matrix =
1151 (8, 8, False) (8, 8, True) (8, 32, False) (16, 16, False) (16, 16, True) (16, 32, False) (32, 32, False) (32, 32, True)
1152 0 0 0 0 0 0 0 0 # 0
1153
1154immediate_size_matrix =
1155 (8, 8, False) (8, 8, True) (8, 32, False) (16, 16, False) (16, 16, True) (16, 32, False) (32, 32, False) (32, 32, True)
1156 0 0 0 0 0 0 0 0 # 0
1157
1158hash_to_phv_matrix =
1159 (8, 8, False) (8, 8, True) (8, 32, False) (16, 16, False) (16, 16, True) (16, 32, False) (32, 32, False) (32, 32, True)
1160 0 0 0 0 0 0 0 0 # 0
1161
1162total action ram packing size = [0, 0, 0]
1163action_ram_packing:
1164 action count_ingress has []
1165total action ram packing size = [0, 0, 0]
1166action_ram_packing:
1167 action count_ingress has []
1168total action ram packing size = [0, 0, 0]
1169action_ram_packing:
1170 action count_ingress has []
1171byte_enables = []
1172After allocation of 32s, available_slots is []
1173final packing is []
1174byte_enables = []
1175After allocation of 32s, available_slots is []
1176final packing is []
1177byte_enables = []
1178After allocation of 32s, available_slots is []
1179final packing is []
1180Allocating Action Logical Table ID 0 in stage 3
1181
1182----------------------------------------------
1183Call to Allocate P4 Table with table ingress_port_counter, number_entries = 254, table id = None, and match type = exact
1184 Allocating in stage 3
1185----------------------------------------------
1186
1187stat_stage_table referenced: indirect
1188stat Table Resource Request is:
1189SRAM Resource Request for table ingress_port_counter (of type statistics), with 1 ways wants 2 rams.
1190Sram Resource Request for P4 table ingress_port_counter with handle 67108865 of type statistics in stage 3
1191 table_type : statistics
1192 rams_for_width : 1
1193 use_stash : False
1194 number_ways : 1
1195 way #0
1196 SRAM Request Group 0
1197 rams_for_depth : 2
1198 map_rams : 0
1199 way_number : 0
1200 ram_word_select_bits : 0
1201 ram_enable_select_bits : 0
1202
1203
1204----------------------------------------------
1205Call to Allocate P4 Table with table ingress_port_count_table, number_entries = 1024, table id = None, and match type = exact
1206 Allocating in stage 3
1207----------------------------------------------
1208
1209Logical Table ID in stage 3 was not supplied by table placement for table ingress_port_count_table.
1210Allocating Logical Table ID 0 in stage 3
1211Allocating Table Type ID 0 of type exact in stage 3
1212Match Overhead:
1213 Field --version_valid-- [3:0] (4 bits)
1214 Field --instruction_address-- [1:0] (2 bits)
1215 Field --statistics_pointer-- [19:0] (20 bits)
1216
1217Logical Table ID in stage 3 was not supplied by table placement for table ingress_port_count_table.
1218Allocating Logical Table ID 0 in stage 3
1219Allocating Table Type ID 0 of type exact in stage 3
1220Allocating: Byte 0 is of type exact and member of group 0 (parity group 0) with 16 bytes. for {ig_intr_md_for_tm.ucast_egress_port[7:0]}.
1221Allocating: Byte 1 is of type exact and member of group 0 (parity group 0) with 16 bytes. for {unused[6:0], ig_intr_md_for_tm.ucast_egress_port[8:8]}.
1222Match Table Resource Request is:
1223SRAM Resource Request for table ingress_port_count_table (of type match), with 0 ways wants 0 rams.
1224Allocating: Byte 0 is of type exact and member of group 0 (parity group 0) with 16 bytes. for {ig_intr_md_for_tm.ucast_egress_port[7:0]}.
1225Allocating: Byte 1 is of type exact and member of group 0 (parity group 0) with 16 bytes. for {unused[6:0], ig_intr_md_for_tm.ucast_egress_port[8:8]}.
1226No micro instructions needed for action count_ingress executed from table ingress_port_count_table.
1227Allocating Action ALU 0 (32 bits) in stage 3 for match table ingress_port_count_table's action count_ingress
1228Allocating VLIW Instruction : 0 in stage 3 for match table ingress_port_count_table's action count_ingress
1229
1230----------------------------------------------
1231Call to Allocate P4 Table with table egress_port_count_table__action__, number_entries = 1024, table id = None, and match type = exact
1232 Allocating in stage 3
1233----------------------------------------------
1234
1235ram_size_matrix =
1236 (8, 8, False) (8, 8, True) (8, 32, False) (16, 16, False) (16, 16, True) (16, 32, False) (32, 32, False) (32, 32, True)
1237 0 0 0 0 0 0 0 0 # 0
1238
1239immediate_size_matrix =
1240 (8, 8, False) (8, 8, True) (8, 32, False) (16, 16, False) (16, 16, True) (16, 32, False) (32, 32, False) (32, 32, True)
1241 0 0 0 0 0 0 0 0 # 0
1242
1243hash_to_phv_matrix =
1244 (8, 8, False) (8, 8, True) (8, 32, False) (16, 16, False) (16, 16, True) (16, 32, False) (32, 32, False) (32, 32, True)
1245 0 0 0 0 0 0 0 0 # 0
1246
1247total action ram packing size = [0, 0, 0]
1248action_ram_packing:
1249 action count_egress has []
1250total action ram packing size = [0, 0, 0]
1251action_ram_packing:
1252 action count_egress has []
1253total action ram packing size = [0, 0, 0]
1254action_ram_packing:
1255 action count_egress has []
1256byte_enables = []
1257After allocation of 32s, available_slots is []
1258final packing is []
1259byte_enables = []
1260After allocation of 32s, available_slots is []
1261final packing is []
1262byte_enables = []
1263After allocation of 32s, available_slots is []
1264final packing is []
1265Allocating Action Logical Table ID 1 in stage 3
1266
1267----------------------------------------------
1268Call to Allocate P4 Table with table egress_port_counter, number_entries = 254, table id = None, and match type = exact
1269 Allocating in stage 3
1270----------------------------------------------
1271
1272stat_stage_table referenced: indirect
1273stat Table Resource Request is:
1274SRAM Resource Request for table egress_port_counter (of type statistics), with 1 ways wants 2 rams.
1275Sram Resource Request for P4 table egress_port_counter with handle 67108866 of type statistics in stage 3
1276 table_type : statistics
1277 rams_for_width : 1
1278 use_stash : False
1279 number_ways : 1
1280 way #0
1281 SRAM Request Group 0
1282 rams_for_depth : 2
1283 map_rams : 0
1284 way_number : 0
1285 ram_word_select_bits : 0
1286 ram_enable_select_bits : 0
1287
1288Allocating: Byte 0 is of type exact and member of group 0 (parity group 0) with 16 bytes. for {ig_intr_md_for_tm.ucast_egress_port[7:0]}.
1289Allocating: Byte 1 is of type exact and member of group 0 (parity group 0) with 16 bytes. for {unused[6:0], ig_intr_md_for_tm.ucast_egress_port[8:8]}.
1290
1291----------------------------------------------
1292Call to Allocate P4 Table with table egress_port_count_table, number_entries = 1024, table id = None, and match type = exact
1293 Allocating in stage 3
1294----------------------------------------------
1295
1296Logical Table ID in stage 3 was not supplied by table placement for table egress_port_count_table.
1297Allocating Logical Table ID 1 in stage 3
1298Allocating Table Type ID 1 of type exact in stage 3
1299Match Overhead:
1300 Field --version_valid-- [3:0] (4 bits)
1301 Field --statistics_pointer-- [19:0] (20 bits)
1302
1303Logical Table ID in stage 3 was not supplied by table placement for table egress_port_count_table.
1304Allocating Logical Table ID 1 in stage 3
1305Allocating Table Type ID 1 of type exact in stage 3
1306Allocating: Byte 0 is of type exact and member of group 0 (parity group 0) with 16 bytes. for {ig_intr_md_for_tm.ucast_egress_port[7:0]}.
1307Allocating: Byte 1 is of type exact and member of group 0 (parity group 0) with 16 bytes. for {unused[6:0], ig_intr_md_for_tm.ucast_egress_port[8:8]}.
1308Match Table Resource Request is:
1309SRAM Resource Request for table egress_port_count_table (of type match), with 0 ways wants 0 rams.
1310Allocating: Byte 0 is of type exact and member of group 0 (parity group 0) with 16 bytes. for {ig_intr_md_for_tm.ucast_egress_port[7:0]}.
1311Allocating: Byte 1 is of type exact and member of group 0 (parity group 0) with 16 bytes. for {unused[6:0], ig_intr_md_for_tm.ucast_egress_port[8:8]}.
1312No micro instructions needed for action count_egress executed from table egress_port_count_table.
1313Allocating Action ALU 0 (32 bits) in stage 3 for match table egress_port_count_table's action count_egress
1314Allocating VLIW Instruction : 0 in stage 3 for match table egress_port_count_table's action count_egress
1315
1316----------------------------------------------
1317Call to Allocate P4 Table with table egress_pkt__action__, number_entries = 1024, table id = None, and match type = exact
1318 Allocating in stage 0
1319----------------------------------------------
1320
1321ram_size_matrix =
1322 (8, 8, False) (8, 8, True) (8, 32, False) (16, 16, False) (16, 16, True) (16, 32, False) (32, 32, False) (32, 32, True)
1323 0 0 0 0 0 0 0 0 # 0
1324
1325immediate_size_matrix =
1326 (8, 8, False) (8, 8, True) (8, 32, False) (16, 16, False) (16, 16, True) (16, 32, False) (32, 32, False) (32, 32, True)
1327 0 0 0 0 0 0 0 0 # 0
1328
1329hash_to_phv_matrix =
1330 (8, 8, False) (8, 8, True) (8, 32, False) (16, 16, False) (16, 16, True) (16, 32, False) (32, 32, False) (32, 32, True)
1331 0 0 0 0 0 0 0 0 # 0
1332
1333total action ram packing size = [0, 0, 0]
1334action_ram_packing:
1335 action add_packet_in_hdr has []
1336total action ram packing size = [0, 0, 0]
1337action_ram_packing:
1338 action add_packet_in_hdr has []
1339total action ram packing size = [0, 0, 0]
1340action_ram_packing:
1341 action add_packet_in_hdr has []
1342byte_enables = []
1343After allocation of 32s, available_slots is []
1344final packing is []
1345byte_enables = []
1346After allocation of 32s, available_slots is []
1347final packing is []
1348byte_enables = []
1349After allocation of 32s, available_slots is []
1350final packing is []
1351Allocating Action Logical Table ID 1 in stage 0
1352
1353----------------------------------------------
1354Call to Allocate P4 Table with table egress_pkt, number_entries = 1024, table id = None, and match type = exact
1355 Allocating in stage 0
1356----------------------------------------------
1357
1358Logical Table ID in stage 0 was not supplied by table placement for table egress_pkt.
1359Allocating Logical Table ID 1 in stage 0
1360Allocating Table Type ID 1 of type exact in stage 0
1361Match Overhead:
1362 Field --version_valid-- [3:0] (4 bits)
1363 Field --instruction_address-- [1:0] (2 bits)
1364
1365Logical Table ID in stage 0 was not supplied by table placement for table egress_pkt.
1366Allocating Logical Table ID 1 in stage 0
1367Allocating Table Type ID 1 of type exact in stage 0
1368Allocating: Byte 0 is of type exact and member of group 0 (parity group 0) with 16 bytes. for {unused[6:0], ig_intr_md_for_tm.copy_to_cpu[0:0]}.
1369Allocating: Byte 1 is of type exact and member of group 0 (parity group 0) with 16 bytes. for {unused[5:0], --validity_check--packet_out_hdr[0:0], unused[0:0]}.
1370Match Table Resource Request is:
1371SRAM Resource Request for table egress_pkt (of type match), with 0 ways wants 0 rams.
1372Allocating: Byte 0 is of type exact and member of group 0 (parity group 0) with 16 bytes. for {unused[6:0], ig_intr_md_for_tm.copy_to_cpu[0:0]}.
1373Allocating: Byte 1 is of type exact and member of group 0 (parity group 0) with 16 bytes. for {unused[5:0], --validity_check--packet_out_hdr[0:0], unused[0:0]}.
1374For action add_packet_in_hdr, formed micro_instruction:
1375Micro Instruction deposit-field for PHV Container 82 has bit width 20
1376 Field Src2 [3:0] : 0x2 (4 bits in instruction bits [3:0])
1377 Field Src1 [4:0] : 0x19 (5 bits in instruction bits [8:4])
1378 Field Src1i [0:0] : 0x0 (1 bits in instruction bits [9:9])
1379 Field opcode [0:0] : 0x1 (1 bits in instruction bits [10:10])
1380 Field high_bit [2:0] : 0x0 (3 bits in instruction bits [13:11])
1381 Field low_bit_lo [1:0] : 0x0 (2 bits in instruction bits [15:14])
1382 Field right_rotate [2:0] : 0x0 (3 bits in instruction bits [18:16])
1383 Field low_bit_hi [0:0] : 0x0 (1 bits in instruction bits [19:19])
1384
1385For action add_packet_in_hdr, formed micro_instruction:
1386Micro Instruction deposit-field for PHV Container 145 has bit width 23
1387 Field Src2 [3:0] : 0x1 (4 bits in instruction bits [3:0])
1388 Field Src1 [4:0] : 0x0 (5 bits in instruction bits [8:4])
1389 Field Src1i [0:0] : 0x0 (1 bits in instruction bits [9:9])
1390 Field opcode [0:0] : 0x1 (1 bits in instruction bits [10:10])
1391 Field high_bit [3:0] : 0xf (4 bits in instruction bits [14:11])
1392 Field low_bit_lo [0:0] : 0x1 (1 bits in instruction bits [15:15])
1393 Field right_rotate [3:0] : 0x9 (4 bits in instruction bits [19:16])
1394 Field low_bit_hi [2:0] : 0x3 (3 bits in instruction bits [22:20])
1395
1396Allocating Action ALU 18 (8 bits) in stage 0 for match table egress_pkt's action add_packet_in_hdr
1397Allocating Action ALU 17 (16 bits) in stage 0 for match table egress_pkt's action add_packet_in_hdr
1398Allocating VLIW Instruction : 0 in stage 0 for match table egress_pkt's action add_packet_in_hdr
1399Cannot find table object for 'egress_port_count_table_always_true_condition'.
1400Cannot find table object for 'egress_port_count_table_always_true_condition'.
1401Cannot find table object for 'egress_port_count_table_always_true_condition'.
1402Cannot find table object for 'egress_port_count_table_always_true_condition'.
1403Cannot find table object for 'egress_port_count_table_always_true_condition'.
1404Cannot find table object for 'egress_port_count_table_always_true_condition'.
1405Cannot find table object for 'egress_port_count_table_always_true_condition'.
1406Cannot find table object for 'egress_port_count_table_always_true_condition'.
1407Cannot find table object for 'egress_port_count_table_always_true_condition'.
1408Cannot find table object for 'egress_port_count_table_always_true_condition'.
1409Skipping p4_primitive StageModifyFieldFromHashBitsPrimitive from overhead calculation.
1410Action ecmp_group for table table0 cannot be used as a default action (table miss action). The action requires the use of hash distribution, which is not available when a table misses.
1411Field ig_intr_md_for_tm.ucast_egress_port not contiguous on gateway input
1412Field ig_intr_md_for_tm.ucast_egress_port not contiguous on gateway input
1413Writing configuration registers: regs.match_action_stage.00
1414Writing configuration registers: regs.match_action_stage.01
1415Writing configuration registers: regs.match_action_stage.02
1416Writing configuration registers: regs.match_action_stage.03
1417Writing configuration registers: regs.match_action_stage.04
1418Writing configuration registers: regs.match_action_stage.05
1419Writing configuration registers: regs.match_action_stage.06
1420Writing configuration registers: regs.match_action_stage.07
1421Writing configuration registers: regs.match_action_stage.08
1422Writing configuration registers: regs.match_action_stage.09
1423Writing configuration registers: regs.match_action_stage.0a
1424Writing configuration registers: regs.match_action_stage.0b