blob: 6caf28211ba7c627dd7b79dd62488f24fc7d0a96 [file] [log] [blame]
Carmelo Cascone5db39682017-09-07 16:36:42 +02001+---------------------------------------------------------------------+
2| Log file: pa.log |
3| Compiler version: 5.1.0 (fca32d1) |
4| Created on: Thu Sep 7 13:56:08 2017 |
5+---------------------------------------------------------------------+
6
7HLIR Version: 0.10.5
8PHV container sizes are: [8, 16, 32]
9Parser state extraction bandwidth: 224
10 8-bit: 4 extracts
11 16-bit: 4 extracts
12 32-bit: 4 extracts
13Free containers to start for 8 bits:
14 Group 4 8 bits has 16 available
15 Group 5 8 bits has 16 available
16 Group 6 8 bits has 16 available
17 Group 7 8 bits has 16 available
18 Group 16 8 bits (tagalong) has 16 available
19 Group 17 8 bits (tagalong) has 16 available
20Free containers to start for 16 bits:
21 Group 8 16 bits has 16 available
22 Group 9 16 bits has 16 available
23 Group 10 16 bits has 16 available
24 Group 11 16 bits has 16 available
25 Group 12 16 bits has 16 available
26 Group 13 16 bits has 16 available
27 Group 18 16 bits (tagalong) has 16 available
28 Group 19 16 bits (tagalong) has 16 available
29 Group 20 16 bits (tagalong) has 16 available
30Free containers to start for 32 bits:
31 Group 0 32 bits has 16 available
32 Group 1 32 bits has 16 available
33 Group 2 32 bits has 16 available
34 Group 3 32 bits has 16 available
35 Group 14 32 bits (tagalong) has 16 available
36 Group 15 32 bits (tagalong) has 16 available
37
38
39Initializing PHV allocation...
40Ingress intrinsic metadata fields branch on includes:
41 ig_intr_md.ingress_port
42
43-----------------------------------------------
44 User added PHV constraints
45-----------------------------------------------
46User added constraint MaxFieldSplit Constraint: ig_intr_md_for_tm.ucast_egress_port <9 bits ingress imeta R W> -- max split: 1
47User added constraint MaxFieldSplit Constraint: ig_intr_md_for_tm.level2_mcast_hash <13 bits ingress imeta> -- max split: 1
48User added constraint MaxFieldSplit Constraint: ig_intr_md_for_tm.level2_exclusion_id <9 bits ingress imeta> -- max split: 1
49User added constraint MaxFieldSplit Constraint: ig_intr_md_for_tm.mcast_grp_b <16 bits ingress imeta> -- max split: 1
50User added constraint MaxFieldSplit Constraint: ig_intr_md_for_tm.level1_exclusion_id <16 bits ingress imeta> -- max split: 1
51User added constraint MaxFieldSplit Constraint: ig_intr_md_for_tm.rid <16 bits ingress imeta> -- max split: 1
52User added constraint MaxFieldSplit Constraint: ig_intr_md_for_tm.level1_mcast_hash <13 bits ingress imeta> -- max split: 1
53User added constraint MaxFieldSplit Constraint: ig_intr_md_for_tm.mcast_grp_a <16 bits ingress imeta> -- max split: 1
54User added constraint MaxFieldSplit Constraint: ig_intr_md_for_mb.ingress_mirror_id <10 bits ingress imeta> -- max split: 1
55User added constraint MaxFieldSplit Constraint: eg_intr_md.egress_port <9 bits egress parsed imeta> -- max split: 1
56User added constraint MaxFieldSplit Constraint: eg_intr_md_for_mb.egress_mirror_id <10 bits egress imeta> -- max split: 1
57
58-----------------------------------------------
59 Scanning for field list calculations
60-----------------------------------------------
61
62-----------------------------------------------
63 Eliminating unused metadata (98 instances)
64-----------------------------------------------
65Removing standard_metadata.ingress_port in ingress
66Removing standard_metadata.packet_length in ingress
67Removing standard_metadata.egress_spec in ingress
68Removing standard_metadata.egress_port in ingress
69Removing standard_metadata.egress_instance in ingress
70Removing standard_metadata.instance_type in ingress
71Removing standard_metadata.clone_spec in ingress
72Removing standard_metadata._padding in ingress
73Removing standard_metadata.valid in ingress
74Removing ig_intr_md.ingress_mac_tstamp in ingress
75Removing ig_intr_md.valid in ingress
76Removing ig_intr_md_for_tm._pad1 in ingress
77Removing ig_intr_md_for_tm.bypass_egress in ingress
78Removing ig_intr_md_for_tm.deflect_on_drop in ingress
79Removing ig_intr_md_for_tm.ingress_cos in ingress
80Removing ig_intr_md_for_tm.qid in ingress
81Removing ig_intr_md_for_tm.icos_for_copy_to_cpu in ingress
82Removing ig_intr_md_for_tm._pad2 in ingress
83Removing ig_intr_md_for_tm.packet_color in ingress
84Removing ig_intr_md_for_tm.disable_ucast_cutthru in ingress
85Removing ig_intr_md_for_tm.enable_mcast_cutthru in ingress
86Removing ig_intr_md_for_tm.mcast_grp_a in ingress
87Removing ig_intr_md_for_tm.mcast_grp_b in ingress
88Removing ig_intr_md_for_tm._pad3 in ingress
89Removing ig_intr_md_for_tm.level1_mcast_hash in ingress
90Removing ig_intr_md_for_tm._pad4 in ingress
91Removing ig_intr_md_for_tm.level2_mcast_hash in ingress
92Removing ig_intr_md_for_tm.level1_exclusion_id in ingress
93Removing ig_intr_md_for_tm._pad5 in ingress
94Removing ig_intr_md_for_tm.level2_exclusion_id in ingress
95Removing ig_intr_md_for_tm.rid in ingress
96Removing ig_intr_md_for_tm.valid in ingress
97Removing ig_intr_md_for_mb._pad1 in ingress
98Removing ig_intr_md_for_mb.ingress_mirror_id in ingress
99Removing ig_intr_md_for_mb.valid in ingress
100Removing eg_intr_md._pad0 in ingress
101Removing eg_intr_md.egress_port in ingress
102Removing eg_intr_md._pad1 in ingress
103Removing eg_intr_md.enq_qdepth in ingress
104Removing eg_intr_md._pad2 in ingress
105Removing eg_intr_md.enq_congest_stat in ingress
106Removing eg_intr_md.enq_tstamp in ingress
107Removing eg_intr_md._pad3 in ingress
108Removing eg_intr_md.deq_qdepth in ingress
109Removing eg_intr_md._pad4 in ingress
110Removing eg_intr_md.deq_congest_stat in ingress
111Removing eg_intr_md.app_pool_congest_stat in ingress
112Removing eg_intr_md.deq_timedelta in ingress
113Removing eg_intr_md.egress_rid in ingress
114Removing eg_intr_md._pad5 in ingress
115Removing eg_intr_md.egress_rid_first in ingress
116Removing eg_intr_md._pad6 in ingress
117Removing eg_intr_md.egress_qid in ingress
118Removing eg_intr_md._pad7 in ingress
119Removing eg_intr_md.egress_cos in ingress
120Removing eg_intr_md._pad8 in ingress
121Removing eg_intr_md.deflection_flag in ingress
122Removing eg_intr_md.pkt_length in ingress
123Removing eg_intr_md.valid in ingress
124Removing eg_intr_md_for_mb._pad1 in ingress
125Removing eg_intr_md_for_mb.egress_mirror_id in ingress
126Removing eg_intr_md_for_mb.coalesce_flush in ingress
127Removing eg_intr_md_for_mb.coalesce_length in ingress
128Removing eg_intr_md_for_mb.valid in ingress
129Removing eg_intr_md_for_oport._pad1 in ingress
130Removing eg_intr_md_for_oport.capture_tstamp_on_tx in ingress
131Removing eg_intr_md_for_oport.update_delay_on_tx in ingress
132Removing eg_intr_md_for_oport.force_tx_error in ingress
133Removing eg_intr_md_for_oport.drop_ctl in ingress
134Removing eg_intr_md_for_oport.valid in ingress
135Removing eg_intr_md._pad1 in egress
136Removing eg_intr_md.enq_qdepth in egress
137Removing eg_intr_md._pad2 in egress
138Removing eg_intr_md.enq_congest_stat in egress
139Removing eg_intr_md.enq_tstamp in egress
140Removing eg_intr_md._pad3 in egress
141Removing eg_intr_md.deq_qdepth in egress
142Removing eg_intr_md._pad4 in egress
143Removing eg_intr_md.deq_congest_stat in egress
144Removing eg_intr_md.app_pool_congest_stat in egress
145Removing eg_intr_md.deq_timedelta in egress
146Removing eg_intr_md.egress_rid in egress
147Removing eg_intr_md._pad5 in egress
148Removing eg_intr_md.egress_rid_first in egress
149Removing eg_intr_md._pad6 in egress
150Removing eg_intr_md.egress_qid in egress
151Removing eg_intr_md._pad8 in egress
152Removing eg_intr_md.deflection_flag in egress
153Removing eg_intr_md.pkt_length in egress
154Removing eg_intr_md_for_oport._pad1 in egress
155Removing eg_intr_md_for_oport.capture_tstamp_on_tx in egress
156Removing eg_intr_md_for_oport.update_delay_on_tx in egress
157Removing eg_intr_md_for_oport.force_tx_error in egress
158Removing eg_intr_md_for_oport.drop_ctl in egress
159Removing eg_intr_md_for_mb._pad1 in egress
160Removing eg_intr_md_for_mb.egress_mirror_id in egress
161Removing eg_intr_md_for_mb.coalesce_flush in egress
162Removing eg_intr_md_for_mb.coalesce_length in egress
163
164-----------------------------------------------
165 Eliminating unused packet fields (6 instances)
166-----------------------------------------------
167Removing packet_in_hdr.valid in ingress
168Removing packet_out_hdr.valid in ingress
169Removing ethernet.valid in ingress
170Removing ipv4.valid in ingress
171Removing tcp.valid in ingress
172Removing udp.valid in ingress
173
174--------------------------------------------
175 ingress field instance bit width histogram
176--------------------------------------------
177 Total fields: 49
178 Max value: 13
179
180 1 : xxxxxxxxxx (10)
181 2 : x (1)
182 3 : xxxxx (5)
183 4 : xxx (3)
184 6 : x (1)
185 7 : xx (2)
186 8 : xxx (3)
187 9 : xxxx (4)
188 13 : x (1)
189 16 : xxxxxxxxxxxxx (13)
190 32 : xxxx (4)
191 48 : xx (2)
192
193--------------------------------------------
194 egress field instance bit width histogram
195--------------------------------------------
196 Total fields: 46
197 Max value: 13
198
199 1 : xxxxxxx (7)
200 3 : xxxx (4)
201 4 : xxx (3)
202 5 : x (1)
203 6 : x (1)
204 7 : xxx (3)
205 8 : xxx (3)
206 9 : xxxx (4)
207 13 : x (1)
208 16 : xxxxxxxxxxxxx (13)
209 32 : xxxx (4)
210 48 : xx (2)
211
212HLIR Version: 0.10.5
213PHV container sizes are: [8, 16, 32]
214Parser state extraction bandwidth: 224
215 8-bit: 4 extracts
216 16-bit: 4 extracts
217 32-bit: 4 extracts
218Free containers to start for 8 bits:
219 Group 4 8 bits has 16 available
220 Group 5 8 bits has 16 available
221 Group 6 8 bits has 16 available
222 Group 7 8 bits has 16 available
223 Group 16 8 bits (tagalong) has 16 available
224 Group 17 8 bits (tagalong) has 16 available
225Free containers to start for 16 bits:
226 Group 8 16 bits has 16 available
227 Group 9 16 bits has 16 available
228 Group 10 16 bits has 16 available
229 Group 11 16 bits has 16 available
230 Group 12 16 bits has 16 available
231 Group 13 16 bits has 16 available
232 Group 18 16 bits (tagalong) has 16 available
233 Group 19 16 bits (tagalong) has 16 available
234 Group 20 16 bits (tagalong) has 16 available
235Free containers to start for 32 bits:
236 Group 0 32 bits has 16 available
237 Group 1 32 bits has 16 available
238 Group 2 32 bits has 16 available
239 Group 3 32 bits has 16 available
240 Group 14 32 bits (tagalong) has 16 available
241 Group 15 32 bits (tagalong) has 16 available
242
243
244Initializing PHV allocation...
245Ingress intrinsic metadata fields branch on includes:
246 ig_intr_md.ingress_port
247
248-----------------------------------------------
249 User added PHV constraints
250-----------------------------------------------
251User added constraint MaxFieldSplit Constraint: ig_intr_md_for_tm.ucast_egress_port <9 bits ingress imeta R W> -- max split: 1
252User added constraint MaxFieldSplit Constraint: ig_intr_md_for_tm.level2_mcast_hash <13 bits ingress imeta> -- max split: 1
253User added constraint MaxFieldSplit Constraint: ig_intr_md_for_tm.level2_exclusion_id <9 bits ingress imeta> -- max split: 1
254User added constraint MaxFieldSplit Constraint: ig_intr_md_for_tm.mcast_grp_b <16 bits ingress imeta> -- max split: 1
255User added constraint MaxFieldSplit Constraint: ig_intr_md_for_tm.level1_exclusion_id <16 bits ingress imeta> -- max split: 1
256User added constraint MaxFieldSplit Constraint: ig_intr_md_for_tm.rid <16 bits ingress imeta> -- max split: 1
257User added constraint MaxFieldSplit Constraint: ig_intr_md_for_tm.level1_mcast_hash <13 bits ingress imeta> -- max split: 1
258User added constraint MaxFieldSplit Constraint: ig_intr_md_for_tm.mcast_grp_a <16 bits ingress imeta> -- max split: 1
259User added constraint MaxFieldSplit Constraint: ig_intr_md_for_mb.ingress_mirror_id <10 bits ingress imeta> -- max split: 1
260User added constraint MaxFieldSplit Constraint: eg_intr_md.egress_port <9 bits egress parsed imeta> -- max split: 1
261User added constraint MaxFieldSplit Constraint: eg_intr_md_for_mb.egress_mirror_id <10 bits egress imeta> -- max split: 1
262
263-----------------------------------------------
264 Scanning for field list calculations
265-----------------------------------------------
266
267-----------------------------------------------
268 Eliminating unused metadata (98 instances)
269-----------------------------------------------
270Removing standard_metadata.ingress_port in ingress
271Removing standard_metadata.packet_length in ingress
272Removing standard_metadata.egress_spec in ingress
273Removing standard_metadata.egress_port in ingress
274Removing standard_metadata.egress_instance in ingress
275Removing standard_metadata.instance_type in ingress
276Removing standard_metadata.clone_spec in ingress
277Removing standard_metadata._padding in ingress
278Removing standard_metadata.valid in ingress
279Removing ig_intr_md.ingress_mac_tstamp in ingress
280Removing ig_intr_md.valid in ingress
281Removing ig_intr_md_for_tm._pad1 in ingress
282Removing ig_intr_md_for_tm.bypass_egress in ingress
283Removing ig_intr_md_for_tm.deflect_on_drop in ingress
284Removing ig_intr_md_for_tm.ingress_cos in ingress
285Removing ig_intr_md_for_tm.qid in ingress
286Removing ig_intr_md_for_tm.icos_for_copy_to_cpu in ingress
287Removing ig_intr_md_for_tm._pad2 in ingress
288Removing ig_intr_md_for_tm.packet_color in ingress
289Removing ig_intr_md_for_tm.disable_ucast_cutthru in ingress
290Removing ig_intr_md_for_tm.enable_mcast_cutthru in ingress
291Removing ig_intr_md_for_tm.mcast_grp_a in ingress
292Removing ig_intr_md_for_tm.mcast_grp_b in ingress
293Removing ig_intr_md_for_tm._pad3 in ingress
294Removing ig_intr_md_for_tm.level1_mcast_hash in ingress
295Removing ig_intr_md_for_tm._pad4 in ingress
296Removing ig_intr_md_for_tm.level2_mcast_hash in ingress
297Removing ig_intr_md_for_tm.level1_exclusion_id in ingress
298Removing ig_intr_md_for_tm._pad5 in ingress
299Removing ig_intr_md_for_tm.level2_exclusion_id in ingress
300Removing ig_intr_md_for_tm.rid in ingress
301Removing ig_intr_md_for_tm.valid in ingress
302Removing ig_intr_md_for_mb._pad1 in ingress
303Removing ig_intr_md_for_mb.ingress_mirror_id in ingress
304Removing ig_intr_md_for_mb.valid in ingress
305Removing eg_intr_md._pad0 in ingress
306Removing eg_intr_md.egress_port in ingress
307Removing eg_intr_md._pad1 in ingress
308Removing eg_intr_md.enq_qdepth in ingress
309Removing eg_intr_md._pad2 in ingress
310Removing eg_intr_md.enq_congest_stat in ingress
311Removing eg_intr_md.enq_tstamp in ingress
312Removing eg_intr_md._pad3 in ingress
313Removing eg_intr_md.deq_qdepth in ingress
314Removing eg_intr_md._pad4 in ingress
315Removing eg_intr_md.deq_congest_stat in ingress
316Removing eg_intr_md.app_pool_congest_stat in ingress
317Removing eg_intr_md.deq_timedelta in ingress
318Removing eg_intr_md.egress_rid in ingress
319Removing eg_intr_md._pad5 in ingress
320Removing eg_intr_md.egress_rid_first in ingress
321Removing eg_intr_md._pad6 in ingress
322Removing eg_intr_md.egress_qid in ingress
323Removing eg_intr_md._pad7 in ingress
324Removing eg_intr_md.egress_cos in ingress
325Removing eg_intr_md._pad8 in ingress
326Removing eg_intr_md.deflection_flag in ingress
327Removing eg_intr_md.pkt_length in ingress
328Removing eg_intr_md.valid in ingress
329Removing eg_intr_md_for_mb._pad1 in ingress
330Removing eg_intr_md_for_mb.egress_mirror_id in ingress
331Removing eg_intr_md_for_mb.coalesce_flush in ingress
332Removing eg_intr_md_for_mb.coalesce_length in ingress
333Removing eg_intr_md_for_mb.valid in ingress
334Removing eg_intr_md_for_oport._pad1 in ingress
335Removing eg_intr_md_for_oport.capture_tstamp_on_tx in ingress
336Removing eg_intr_md_for_oport.update_delay_on_tx in ingress
337Removing eg_intr_md_for_oport.force_tx_error in ingress
338Removing eg_intr_md_for_oport.drop_ctl in ingress
339Removing eg_intr_md_for_oport.valid in ingress
340Removing eg_intr_md._pad1 in egress
341Removing eg_intr_md.enq_qdepth in egress
342Removing eg_intr_md._pad2 in egress
343Removing eg_intr_md.enq_congest_stat in egress
344Removing eg_intr_md.enq_tstamp in egress
345Removing eg_intr_md._pad3 in egress
346Removing eg_intr_md.deq_qdepth in egress
347Removing eg_intr_md._pad4 in egress
348Removing eg_intr_md.deq_congest_stat in egress
349Removing eg_intr_md.app_pool_congest_stat in egress
350Removing eg_intr_md.deq_timedelta in egress
351Removing eg_intr_md.egress_rid in egress
352Removing eg_intr_md._pad5 in egress
353Removing eg_intr_md.egress_rid_first in egress
354Removing eg_intr_md._pad6 in egress
355Removing eg_intr_md.egress_qid in egress
356Removing eg_intr_md._pad8 in egress
357Removing eg_intr_md.deflection_flag in egress
358Removing eg_intr_md.pkt_length in egress
359Removing eg_intr_md_for_oport._pad1 in egress
360Removing eg_intr_md_for_oport.capture_tstamp_on_tx in egress
361Removing eg_intr_md_for_oport.update_delay_on_tx in egress
362Removing eg_intr_md_for_oport.force_tx_error in egress
363Removing eg_intr_md_for_oport.drop_ctl in egress
364Removing eg_intr_md_for_mb._pad1 in egress
365Removing eg_intr_md_for_mb.egress_mirror_id in egress
366Removing eg_intr_md_for_mb.coalesce_flush in egress
367Removing eg_intr_md_for_mb.coalesce_length in egress
368
369-----------------------------------------------
370 Eliminating unused packet fields (6 instances)
371-----------------------------------------------
372Removing packet_in_hdr.valid in ingress
373Removing packet_out_hdr.valid in ingress
374Removing ethernet.valid in ingress
375Removing ipv4.valid in ingress
376Removing tcp.valid in ingress
377Removing udp.valid in ingress
378
379--------------------------------------------
380 ingress field instance bit width histogram
381--------------------------------------------
382 Total fields: 49
383 Max value: 13
384
385 1 : xxxxxxxxxx (10)
386 2 : x (1)
387 3 : xxxxx (5)
388 4 : xxx (3)
389 6 : x (1)
390 7 : xx (2)
391 8 : xxx (3)
392 9 : xxxx (4)
393 13 : x (1)
394 16 : xxxxxxxxxxxxx (13)
395 32 : xxxx (4)
396 48 : xx (2)
397
398--------------------------------------------
399 egress field instance bit width histogram
400--------------------------------------------
401 Total fields: 46
402 Max value: 13
403
404 1 : xxxxxxx (7)
405 3 : xxxx (4)
406 4 : xxx (3)
407 5 : x (1)
408 6 : x (1)
409 7 : xxx (3)
410 8 : xxx (3)
411 9 : xxxx (4)
412 13 : x (1)
413 16 : xxxxxxxxxxxxx (13)
414 32 : xxxx (4)
415 48 : xx (2)
416
417---------------------------------------------------------------------------------------------------------------------------------
418| Field Name | Bit Width | Direction | Parsed? | Deparsed? | Metadata? | Read in MAU? | Write in MAU? |
419---------------------------------------------------------------------------------------------------------------------------------
420| --validity_check--ethernet | 1 | egress | x | x | | | |
421| --validity_check--ipv4 | 1 | egress | x | x | | | |
422| --validity_check--packet_in_hdr | 1 | egress | x | x | | | x |
423| --validity_check--packet_out_hdr | 1 | egress | x | x | | | |
424| --validity_check--tcp | 1 | egress | x | x | | | |
425| --validity_check--udp | 1 | egress | x | x | | | |
426| eg_intr_md._pad0 | 7 | egress | x | | x | | |
427| eg_intr_md._pad7 | 5 | egress | x | | x | | |
428| eg_intr_md.egress_cos | 3 | egress | x | x | x | | |
429| eg_intr_md.egress_port | 9 | egress | x | x | x | | |
430| ethernet.dstAddr | 48 | egress | x | x | | | |
431| ethernet.etherType | 16 | egress | x | x | | | |
432| ethernet.srcAddr | 48 | egress | x | x | | | |
433| ig_intr_md.ingress_port | 9 | egress | x | | x | x | |
434| ig_intr_md_for_tm.copy_to_cpu | 1 | egress | x | | x | x | |
435| ipv4.diffserv | 8 | egress | x | x | | | |
436| ipv4.dstAddr | 32 | egress | x | x | | | |
437| ipv4.flags | 3 | egress | x | x | | | |
438| ipv4.fragOffset | 13 | egress | x | x | | | |
439| ipv4.hdrChecksum | 16 | egress | x | x | | | |
440| ipv4.identification | 16 | egress | x | x | | | |
441| ipv4.ihl | 4 | egress | x | x | | | |
442| ipv4.protocol | 8 | egress | x | x | | | |
443| ipv4.srcAddr | 32 | egress | x | x | | | |
444| ipv4.totalLen | 16 | egress | x | x | | | |
445| ipv4.ttl | 8 | egress | x | x | | | |
446| ipv4.version | 4 | egress | x | x | | | |
447| packet_in_hdr._padding | 7 | egress | x | x | | | |
448| packet_in_hdr.ingress_port | 9 | egress | x | x | | | x |
449| packet_out_hdr._padding | 7 | egress | x | x | | | |
450| packet_out_hdr.egress_port | 9 | egress | x | x | | | |
451| tcp.ackNo | 32 | egress | x | x | | | |
452| tcp.checksum | 16 | egress | x | x | | | |
453| tcp.ctrl | 6 | egress | x | x | | | |
454| tcp.dataOffset | 4 | egress | x | x | | | |
455| tcp.dstPort | 16 | egress | x | x | | | |
456| tcp.ecn | 3 | egress | x | x | | | |
457| tcp.res | 3 | egress | x | x | | | |
458| tcp.seqNo | 32 | egress | x | x | | | |
459| tcp.srcPort | 16 | egress | x | x | | | |
460| tcp.urgentPtr | 16 | egress | x | x | | | |
461| tcp.window | 16 | egress | x | x | | | |
462| udp.checksum | 16 | egress | x | x | | | |
463| udp.dstPort | 16 | egress | x | x | | | |
464| udp.length_ | 16 | egress | x | x | | | |
465| udp.srcPort | 16 | egress | x | x | | | |
466| --validity_check--ethernet | 1 | ingress | x | x | | | |
467| --validity_check--ipv4 | 1 | ingress | x | x | | | |
468| --validity_check--metadata_bridge | 1 | ingress | x | x | | | |
469| --validity_check--packet_in_hdr | 1 | ingress | x | x | | | |
470| --validity_check--packet_out_hdr | 1 | ingress | x | x | | x | x |
471| --validity_check--tcp | 1 | ingress | x | x | | | |
472| --validity_check--udp | 1 | ingress | x | x | | | |
473| ethernet.dstAddr | 48 | ingress | x | x | | x | |
474| ethernet.etherType | 16 | ingress | x | x | | x | |
475| ethernet.srcAddr | 48 | ingress | x | x | | x | |
476| ig_intr_md._pad1 | 1 | ingress | x | | x | | |
477| ig_intr_md._pad2 | 2 | ingress | x | | x | | |
478| ig_intr_md._pad3 | 3 | ingress | x | | x | | |
479| ig_intr_md.ingress_port | 9 | ingress | x | x | x | x | |
480| ig_intr_md.resubmit_flag | 1 | ingress | x | | x | | |
481| ig_intr_md_for_tm.copy_to_cpu | 1 | ingress | | x | x | | x |
482| ig_intr_md_for_tm.drop_ctl | 3 | ingress | | x | x | | x |
483| ig_intr_md_for_tm.ucast_egress_port | 9 | ingress | | x | x | x | x |
484| ipv4.diffserv | 8 | ingress | x | x | | | |
485| ipv4.dstAddr | 32 | ingress | x | x | | | |
486| ipv4.flags | 3 | ingress | x | x | | | |
487| ipv4.fragOffset | 13 | ingress | x | x | | | |
488| ipv4.hdrChecksum | 16 | ingress | x | x | | | |
489| ipv4.identification | 16 | ingress | x | x | | | |
490| ipv4.ihl | 4 | ingress | x | x | | | |
491| ipv4.protocol | 8 | ingress | x | x | | | |
492| ipv4.srcAddr | 32 | ingress | x | x | | | |
493| ipv4.totalLen | 16 | ingress | x | x | | | |
494| ipv4.ttl | 8 | ingress | x | x | | | |
495| ipv4.version | 4 | ingress | x | x | | | |
496| packet_in_hdr._padding | 7 | ingress | x | x | | | |
497| packet_in_hdr.ingress_port | 9 | ingress | x | x | | | |
498| packet_out_hdr._padding | 7 | ingress | x | x | | | |
499| packet_out_hdr.egress_port | 9 | ingress | x | x | | x | |
500| tcp.ackNo | 32 | ingress | x | x | | | |
501| tcp.checksum | 16 | ingress | x | x | | | |
502| tcp.ctrl | 6 | ingress | x | x | | | |
503| tcp.dataOffset | 4 | ingress | x | x | | | |
504| tcp.dstPort | 16 | ingress | x | x | | | |
505| tcp.ecn | 3 | ingress | x | x | | | |
506| tcp.res | 3 | ingress | x | x | | | |
507| tcp.seqNo | 32 | ingress | x | x | | | |
508| tcp.srcPort | 16 | ingress | x | x | | | |
509| tcp.urgentPtr | 16 | ingress | x | x | | | |
510| tcp.window | 16 | ingress | x | x | | | |
511| udp.checksum | 16 | ingress | x | x | | | |
512| udp.dstPort | 16 | ingress | x | x | | | |
513| udp.length_ | 16 | ingress | x | x | | | |
514| udp.srcPort | 16 | ingress | x | x | | | |
515---------------------------------------------------------------------------------------------------------------------------------
516
517Performing PHV allocation...
518ingress_parser critical path: 464 bits
519 start of 0 bits
520 ingress_intrinsic_metadata of 16 bits
521 default_parser of 0 bits
522 parse_pkt_out of 16 bits
523 parse_ethernet of 112 bits
524 parse_ipv4 of 160 bits
525 parse_tcp of 160 bits
526 --ingress-- of 0 bits
527
528--------------------------------------
529 Exclusive parse states in ingress_parser
530--------------------------------------
531 parse_pkt_in and default_parser are exclusive parse states
532 parse_pkt_in and parse_pkt_out are exclusive parse states
533 parse_tcp and parse_udp are exclusive parse states
534
535egress_parser critical path: 472 bits
536 start of 0 bits
537 egress_intrinsic_metadata of 24 bits
538 default_parser of 0 bits
539 parse_pkt_out of 16 bits
540 parse_ethernet of 112 bits
541 parse_ipv4 of 160 bits
542 parse_tcp of 160 bits
543 egress_for_mirror_buffer of 0 bits
544 --egress-- of 0 bits
545
546--------------------------------------
547 Exclusive parse states in egress_parser
548--------------------------------------
549 parse_pkt_in and default_parser are exclusive parse states
550 parse_pkt_in and parse_pkt_out are exclusive parse states
551 parse_tcp and parse_udp are exclusive parse states
552
553>>Event 'pa_init' at time 1504792570.39
554 Took 0.01 seconds
555--------------------------------------------
556PHV MAU Groups: 93
557--------------------------------------------
558Phv Mau Group (ingress) -- 2 instances for total bit width of 18.
559 ig_intr_md_for_tm.ucast_egress_port <9 bits ingress imeta R W>
560 packet_out_hdr.egress_port <9 bits ingress parsed R>
561
562Phv Mau Group (egress) -- 2 instances for total bit width of 18.
563 packet_in_hdr.ingress_port <9 bits egress parsed W>
564 ig_intr_md.ingress_port <9 bits egress parsed imeta R>
565
566Phv Mau Group (ingress) -- 1 instance for total bit width of 1.
567 ig_intr_md.resubmit_flag <1 bits ingress parsed imeta>
568
569Phv Mau Group (ingress) -- 1 instance for total bit width of 1.
570 ig_intr_md._pad1 <1 bits ingress parsed imeta>
571
572Phv Mau Group (ingress) -- 1 instance for total bit width of 2.
573 ig_intr_md._pad2 <2 bits ingress parsed imeta>
574
575Phv Mau Group (ingress) -- 1 instance for total bit width of 3.
576 ig_intr_md._pad3 <3 bits ingress parsed imeta>
577
578Phv Mau Group (ingress) -- 1 instance for total bit width of 9.
579 ig_intr_md.ingress_port <9 bits ingress parsed imeta R>
580
581Phv Mau Group (ingress) -- 1 instance for total bit width of 3.
582 ig_intr_md_for_tm.drop_ctl <3 bits ingress imeta W>
583
584Phv Mau Group (ingress) -- 1 instance for total bit width of 1.
585 ig_intr_md_for_tm.copy_to_cpu <1 bits ingress imeta W>
586
587Phv Mau Group (ingress) -- 1 instance for total bit width of 9.
588 packet_in_hdr.ingress_port <9 bits ingress parsed tagalong>
589
590Phv Mau Group (ingress) -- 1 instance for total bit width of 1.
591 --validity_check--packet_in_hdr <1 bits ingress parsed pov>
592
593Phv Mau Group (ingress) -- 1 instance for total bit width of 7.
594 packet_in_hdr._padding <7 bits ingress parsed tagalong>
595
596Phv Mau Group (ingress) -- 1 instance for total bit width of 1.
597 --validity_check--packet_out_hdr <1 bits ingress parsed pov R W>
598
599Phv Mau Group (ingress) -- 1 instance for total bit width of 7.
600 packet_out_hdr._padding <7 bits ingress parsed tagalong>
601
602Phv Mau Group (ingress) -- 1 instance for total bit width of 48.
603 ethernet.dstAddr <48 bits ingress parsed R>
604
605Phv Mau Group (ingress) -- 1 instance for total bit width of 1.
606 --validity_check--ethernet <1 bits ingress parsed pov>
607
608Phv Mau Group (ingress) -- 1 instance for total bit width of 48.
609 ethernet.srcAddr <48 bits ingress parsed R>
610
611Phv Mau Group (ingress) -- 1 instance for total bit width of 16.
612 ethernet.etherType <16 bits ingress parsed R>
613
614Phv Mau Group (ingress) -- 1 instance for total bit width of 4.
615 ipv4.version <4 bits ingress parsed tagalong>
616
617Phv Mau Group (ingress) -- 1 instance for total bit width of 1.
618 --validity_check--ipv4 <1 bits ingress parsed pov>
619
620Phv Mau Group (ingress) -- 1 instance for total bit width of 4.
621 ipv4.ihl <4 bits ingress parsed tagalong>
622
623Phv Mau Group (ingress) -- 1 instance for total bit width of 8.
624 ipv4.diffserv <8 bits ingress parsed tagalong>
625
626Phv Mau Group (ingress) -- 1 instance for total bit width of 16.
627 ipv4.totalLen <16 bits ingress parsed tagalong>
628
629Phv Mau Group (ingress) -- 1 instance for total bit width of 16.
630 ipv4.identification <16 bits ingress parsed tagalong>
631
632Phv Mau Group (ingress) -- 1 instance for total bit width of 3.
633 ipv4.flags <3 bits ingress parsed tagalong>
634
635Phv Mau Group (ingress) -- 1 instance for total bit width of 13.
636 ipv4.fragOffset <13 bits ingress parsed tagalong>
637
638Phv Mau Group (ingress) -- 1 instance for total bit width of 8.
639 ipv4.ttl <8 bits ingress parsed tagalong>
640
641Phv Mau Group (ingress) -- 1 instance for total bit width of 8.
642 ipv4.protocol <8 bits ingress parsed tagalong>
643
644Phv Mau Group (ingress) -- 1 instance for total bit width of 16.
645 ipv4.hdrChecksum <16 bits ingress parsed tagalong>
646
647Phv Mau Group (ingress) -- 1 instance for total bit width of 32.
648 ipv4.srcAddr <32 bits ingress parsed tagalong>
649
650Phv Mau Group (ingress) -- 1 instance for total bit width of 32.
651 ipv4.dstAddr <32 bits ingress parsed tagalong>
652
653Phv Mau Group (ingress) -- 1 instance for total bit width of 16.
654 tcp.srcPort <16 bits ingress parsed tagalong>
655
656Phv Mau Group (ingress) -- 1 instance for total bit width of 1.
657 --validity_check--tcp <1 bits ingress parsed pov>
658
659Phv Mau Group (ingress) -- 1 instance for total bit width of 16.
660 tcp.dstPort <16 bits ingress parsed tagalong>
661
662Phv Mau Group (ingress) -- 1 instance for total bit width of 32.
663 tcp.seqNo <32 bits ingress parsed tagalong>
664
665Phv Mau Group (ingress) -- 1 instance for total bit width of 32.
666 tcp.ackNo <32 bits ingress parsed tagalong>
667
668Phv Mau Group (ingress) -- 1 instance for total bit width of 4.
669 tcp.dataOffset <4 bits ingress parsed tagalong>
670
671Phv Mau Group (ingress) -- 1 instance for total bit width of 3.
672 tcp.res <3 bits ingress parsed tagalong>
673
674Phv Mau Group (ingress) -- 1 instance for total bit width of 3.
675 tcp.ecn <3 bits ingress parsed tagalong>
676
677Phv Mau Group (ingress) -- 1 instance for total bit width of 6.
678 tcp.ctrl <6 bits ingress parsed tagalong>
679
680Phv Mau Group (ingress) -- 1 instance for total bit width of 16.
681 tcp.window <16 bits ingress parsed tagalong>
682
683Phv Mau Group (ingress) -- 1 instance for total bit width of 16.
684 tcp.checksum <16 bits ingress parsed tagalong>
685
686Phv Mau Group (ingress) -- 1 instance for total bit width of 16.
687 tcp.urgentPtr <16 bits ingress parsed tagalong>
688
689Phv Mau Group (ingress) -- 1 instance for total bit width of 16.
690 udp.srcPort <16 bits ingress parsed tagalong>
691
692Phv Mau Group (ingress) -- 1 instance for total bit width of 1.
693 --validity_check--udp <1 bits ingress parsed pov>
694
695Phv Mau Group (ingress) -- 1 instance for total bit width of 16.
696 udp.dstPort <16 bits ingress parsed tagalong>
697
698Phv Mau Group (ingress) -- 1 instance for total bit width of 16.
699 udp.length_ <16 bits ingress parsed tagalong>
700
701Phv Mau Group (ingress) -- 1 instance for total bit width of 16.
702 udp.checksum <16 bits ingress parsed tagalong>
703
704Phv Mau Group (ingress) -- 1 instance for total bit width of 1.
705 --validity_check--metadata_bridge <1 bits ingress parsed pov>
706
707Phv Mau Group (egress) -- 1 instance for total bit width of 1.
708 --validity_check--packet_in_hdr <1 bits egress parsed pov W>
709
710Phv Mau Group (egress) -- 1 instance for total bit width of 7.
711 packet_in_hdr._padding <7 bits egress parsed tagalong>
712
713Phv Mau Group (egress) -- 1 instance for total bit width of 9.
714 packet_out_hdr.egress_port <9 bits egress parsed tagalong>
715
716Phv Mau Group (egress) -- 1 instance for total bit width of 1.
717 --validity_check--packet_out_hdr <1 bits egress parsed pov>
718
719Phv Mau Group (egress) -- 1 instance for total bit width of 7.
720 packet_out_hdr._padding <7 bits egress parsed tagalong>
721
722Phv Mau Group (egress) -- 1 instance for total bit width of 48.
723 ethernet.dstAddr <48 bits egress parsed tagalong>
724
725Phv Mau Group (egress) -- 1 instance for total bit width of 1.
726 --validity_check--ethernet <1 bits egress parsed pov>
727
728Phv Mau Group (egress) -- 1 instance for total bit width of 48.
729 ethernet.srcAddr <48 bits egress parsed tagalong>
730
731Phv Mau Group (egress) -- 1 instance for total bit width of 16.
732 ethernet.etherType <16 bits egress parsed tagalong>
733
734Phv Mau Group (egress) -- 1 instance for total bit width of 4.
735 ipv4.version <4 bits egress parsed tagalong>
736
737Phv Mau Group (egress) -- 1 instance for total bit width of 1.
738 --validity_check--ipv4 <1 bits egress parsed pov>
739
740Phv Mau Group (egress) -- 1 instance for total bit width of 4.
741 ipv4.ihl <4 bits egress parsed tagalong>
742
743Phv Mau Group (egress) -- 1 instance for total bit width of 8.
744 ipv4.diffserv <8 bits egress parsed tagalong>
745
746Phv Mau Group (egress) -- 1 instance for total bit width of 16.
747 ipv4.totalLen <16 bits egress parsed tagalong>
748
749Phv Mau Group (egress) -- 1 instance for total bit width of 16.
750 ipv4.identification <16 bits egress parsed tagalong>
751
752Phv Mau Group (egress) -- 1 instance for total bit width of 3.
753 ipv4.flags <3 bits egress parsed tagalong>
754
755Phv Mau Group (egress) -- 1 instance for total bit width of 13.
756 ipv4.fragOffset <13 bits egress parsed tagalong>
757
758Phv Mau Group (egress) -- 1 instance for total bit width of 8.
759 ipv4.ttl <8 bits egress parsed tagalong>
760
761Phv Mau Group (egress) -- 1 instance for total bit width of 8.
762 ipv4.protocol <8 bits egress parsed tagalong>
763
764Phv Mau Group (egress) -- 1 instance for total bit width of 16.
765 ipv4.hdrChecksum <16 bits egress parsed tagalong>
766
767Phv Mau Group (egress) -- 1 instance for total bit width of 32.
768 ipv4.srcAddr <32 bits egress parsed tagalong>
769
770Phv Mau Group (egress) -- 1 instance for total bit width of 32.
771 ipv4.dstAddr <32 bits egress parsed tagalong>
772
773Phv Mau Group (egress) -- 1 instance for total bit width of 16.
774 tcp.srcPort <16 bits egress parsed tagalong>
775
776Phv Mau Group (egress) -- 1 instance for total bit width of 1.
777 --validity_check--tcp <1 bits egress parsed pov>
778
779Phv Mau Group (egress) -- 1 instance for total bit width of 16.
780 tcp.dstPort <16 bits egress parsed tagalong>
781
782Phv Mau Group (egress) -- 1 instance for total bit width of 32.
783 tcp.seqNo <32 bits egress parsed tagalong>
784
785Phv Mau Group (egress) -- 1 instance for total bit width of 32.
786 tcp.ackNo <32 bits egress parsed tagalong>
787
788Phv Mau Group (egress) -- 1 instance for total bit width of 4.
789 tcp.dataOffset <4 bits egress parsed tagalong>
790
791Phv Mau Group (egress) -- 1 instance for total bit width of 3.
792 tcp.res <3 bits egress parsed tagalong>
793
794Phv Mau Group (egress) -- 1 instance for total bit width of 3.
795 tcp.ecn <3 bits egress parsed tagalong>
796
797Phv Mau Group (egress) -- 1 instance for total bit width of 6.
798 tcp.ctrl <6 bits egress parsed tagalong>
799
800Phv Mau Group (egress) -- 1 instance for total bit width of 16.
801 tcp.window <16 bits egress parsed tagalong>
802
803Phv Mau Group (egress) -- 1 instance for total bit width of 16.
804 tcp.checksum <16 bits egress parsed tagalong>
805
806Phv Mau Group (egress) -- 1 instance for total bit width of 16.
807 tcp.urgentPtr <16 bits egress parsed tagalong>
808
809Phv Mau Group (egress) -- 1 instance for total bit width of 16.
810 udp.srcPort <16 bits egress parsed tagalong>
811
812Phv Mau Group (egress) -- 1 instance for total bit width of 1.
813 --validity_check--udp <1 bits egress parsed pov>
814
815Phv Mau Group (egress) -- 1 instance for total bit width of 16.
816 udp.dstPort <16 bits egress parsed tagalong>
817
818Phv Mau Group (egress) -- 1 instance for total bit width of 16.
819 udp.length_ <16 bits egress parsed tagalong>
820
821Phv Mau Group (egress) -- 1 instance for total bit width of 16.
822 udp.checksum <16 bits egress parsed tagalong>
823
824Phv Mau Group (egress) -- 1 instance for total bit width of 1.
825 ig_intr_md_for_tm.copy_to_cpu <1 bits egress parsed imeta R>
826
827Phv Mau Group (egress) -- 1 instance for total bit width of 7.
828 eg_intr_md._pad0 <7 bits egress parsed imeta>
829
830Phv Mau Group (egress) -- 1 instance for total bit width of 9.
831 eg_intr_md.egress_port <9 bits egress parsed imeta>
832
833Phv Mau Group (egress) -- 1 instance for total bit width of 5.
834 eg_intr_md._pad7 <5 bits egress parsed imeta>
835
836Phv Mau Group (egress) -- 1 instance for total bit width of 3.
837 eg_intr_md.egress_cos <3 bits egress parsed imeta>
838
839
840>>Event 'pa_resv' at time 1504792570.39
841 Took 0.00 seconds
842
843-----------------------------------------------
844 Container reservations
845-----------------------------------------------
846Allocation Step
847ingress reservations:
848 8-bit containers: 0
849 16-bit containers: 0
850 32-bit containers: 0
851egress reservations:
852 8-bit containers: 0
853 16-bit containers: 0
854 32-bit containers: 0
855 None required.
856
857-----------------------------------------------
858 Tagalong container reservations
859-----------------------------------------------
860Allocation Step
861ingress reservations:
862 8-bit containers: 0
863 16-bit containers: 0
864 32-bit containers: 0
865egress reservations:
866 8-bit containers: 0
867 16-bit containers: 0
868 32-bit containers: 0
869 None required.
870
871-----------------------------------------------
872 POV bit index reservations
873-----------------------------------------------
874Allocation Step
875POV bit indicies requested for ingress: [16]
876
877MAU groups: 3
878 Group 0 32 bits -- avail 16 -- ingress avail 16 and remain 15 and promised 1 and req 1 -- egress avail 16 and remain 12 and promised 0 and req 0 -- as if deparsed True -- container_to_use phv0
879 Group 2 32 bits -- avail 16 -- ingress avail 16 and remain 15 and promised 1 and req 1 -- egress avail 16 and remain 12 and promised 0 and req 0 -- as if deparsed True -- container_to_use phv32
880 Group 3 32 bits -- avail 16 -- ingress avail 16 and remain 15 and promised 1 and req 1 -- egress avail 16 and remain 12 and promised 0 and req 0 -- as if deparsed True -- container_to_use phv48
881Reserving 32-bit container for ingress: phv0
882>>Event 'pa_bridge' at time 1504792570.43
883 Took 0.04 seconds
884
885-----------------------------------------------
886 Allocating fields related to bridged metadata
887-----------------------------------------------
888Allocation Step
889 ig_intr_md.ingress_port <9 bits ingress parsed imeta R> and ig_intr_md.ingress_port <9 bits egress parsed imeta R>
890 ig_intr_md_for_tm.copy_to_cpu <1 bits ingress imeta W> and ig_intr_md_for_tm.copy_to_cpu <1 bits egress parsed imeta R>
891
892
893Allowed alignment for fields:
894 ig_intr_md.ingress_port -> [0, 8, 16, 24]
895 ig_intr_md_for_tm.copy_to_cpu -> [0, 1, 2, 3, 4, 5, 6, 7]
896
897Required packing for bridged metadata: 1
898 ig_intr_md.ingress_port (ingress)
899 phv[15:15] = ig_intr_md.resubmit_flag[0:0]
900 phv[14:14] = ig_intr_md._pad1[0:0]
901 phv[13:12] = ig_intr_md._pad2[1:0]
902 phv[11:9] = ig_intr_md._pad3[2:0]
903 phv[8:0] = ig_intr_md.ingress_port[8:0]
904ig_intr_md_for_tm.copy_to_cpu cannot share with any fields: total bits 1
905
906
907All combinations = 1
908Valid combinations = 1
909Choosing to pack non-byte multiple metadata as below, which wastes 0 bits
910
911Sharing capabilities of groups: (2)
912Group ['ig_intr_md.resubmit_flag', 'ig_intr_md._pad1', 'ig_intr_md._pad2', 'ig_intr_md._pad3', 'ig_intr_md.ingress_port'] can share with 0 other groups:
913Group ['ig_intr_md_for_tm.copy_to_cpu'] can share with 0 other groups:
914
915Merged sharing capabilities of groups: (2)
916Group ['ig_intr_md.resubmit_flag', 'ig_intr_md._pad1', 'ig_intr_md._pad2', 'ig_intr_md._pad3', 'ig_intr_md.ingress_port'] can share with 0 other groups (16 bits):
917Group ['ig_intr_md_for_tm.copy_to_cpu'] can share with 0 other groups (1 bits):
918
919Final group packing:
920Group 0:
921 ['ig_intr_md_for_tm.copy_to_cpu']
922Group 1:
923 ['ig_intr_md.resubmit_flag', 'ig_intr_md._pad1', 'ig_intr_md._pad2', 'ig_intr_md._pad3', 'ig_intr_md.ingress_port']
924Preferred packing is [8, 16]
925
926Final ingress bridged metadata packing: 24 bits (3 bytes)
927 -pad-0- / 7 bits
928 ig_intr_md_for_tm.copy_to_cpu / 1 bits
929 ig_intr_md.resubmit_flag / 1 bits
930 ig_intr_md._pad1 / 1 bits
931 ig_intr_md._pad2 / 2 bits
932 ig_intr_md._pad3 / 3 bits
933 ig_intr_md.ingress_port / 9 bits
934
935Final egress bridged metadata packing: 24 bits (3 bytes)
936 -pad-0- / 7 bits
937 ig_intr_md_for_tm.copy_to_cpu / 1 bits
938 -pad-1- / 7 bits
939 ig_intr_md.ingress_port / 9 bits
940
941-------------------------------------------
942Allocating parsed header: pkt fields (7) / meta fields (0) using extraction bandwidth 224
943-------------------------------------------
944Extracted bits: 24
945Set metadata bits: 0
946Gress: ingress
947bits_will_need_to_parse = 24
948unused_metadata_container_bits = 0
949min_parse_states = 1
950bits_per_state = 24
951Parse state 0 (24 bits)
952 -pad-0- [6:0]
953 ig_intr_md_for_tm.copy_to_cpu [0:0]
954 ig_intr_md.resubmit_flag [0:0]
955 ig_intr_md._pad1 [0:0]
956 ig_intr_md._pad2 [1:0]
957 ig_intr_md._pad3 [2:0]
958 ig_intr_md.ingress_port [8:0]
959----------------------------------------------------------------------------------------------------
960| Name | BW | Tagalong? | Req | Pref | Not Allow | MaxSplit | Group Size |
961----------------------------------------------------------------------------------------------------
962| -pad-0- | 7 | True | - | - | - | None | 1 |
963| ig_intr_md_for_tm.copy_to_cpu | 1 | False | - | - | - | 1 | 1 |
964| ig_intr_md.resubmit_flag | 1 | False | - | - | - | 1 | 1 |
965| ig_intr_md._pad1 | 1 | False | - | - | - | 1 | 1 |
966| ig_intr_md._pad2 | 2 | False | - | - | - | 1 | 1 |
967| ig_intr_md._pad3 | 3 | False | - | - | - | 1 | 1 |
968| ig_intr_md.ingress_port | 9 | False | - | - | - | 2 | 1 |
969----------------------------------------------------------------------------------------------------
970
971Packing options: 5
972MAU containers available:
973 8-bit: 48
974 16-bit: 80
975 32-bit: 47
976Tagalong containers available:
977 8-bit: 32
978 16-bit: 48
979 32-bit: 32
980Initial packing options: 5
981
982Packing option 0: [8, 16]
983MAU containers after:
984 8-bit: 47
985 16-bit: 79
986 32-bit: 47
987+----------------------------------------+
988| -pad-0- [6:0] |
989| ig_intr_md_for_tm.copy_to_cpu [0:0] |
990+----------------------------------------+
991| ig_intr_md.resubmit_flag [0:0] |
992| ig_intr_md._pad1 [0:0] |
993| ig_intr_md._pad2 [1:0] |
994| ig_intr_md._pad3 [2:0] |
995| ig_intr_md.ingress_port [8:0] |
996+----------------------------------------+
997
998Looking at -pad-0- (ingress) [6:0], with test_alloc = False
999Looking at ig_intr_md_for_tm.copy_to_cpu (ingress) [0:0], with test_alloc = True
1000----> ig_intr_md_for_tm.copy_to_cpu (ingress) is allocated? False
1001Checking if can overlay metadata field.
1002No required PHV group.
1003Could not find container to overlay in.
1004
1005MAU groups: 3
1006 Group 4 8 bits -- avail 16 -- ingress avail 16 and remain 15 and promised 1 and req 1 -- egress avail 16 and remain 8 and promised 0 and req 0 -- as if deparsed True -- container_to_use phv64
1007 Group 6 8 bits -- avail 16 -- ingress avail 16 and remain 15 and promised 1 and req 1 -- egress avail 16 and remain 8 and promised 0 and req 0 -- as if deparsed True -- container_to_use phv96
1008 Group 7 8 bits -- avail 16 -- ingress avail 16 and remain 15 and promised 1 and req 1 -- egress avail 16 and remain 8 and promised 0 and req 0 -- as if deparsed True -- container_to_use phv112
1009***Allocating phv64[7:1] for -pad-0-[6:0]
1010***Allocating phv64[0:0] for ig_intr_md_for_tm.copy_to_cpu[0:0]
1011Looking at ig_intr_md.resubmit_flag (ingress) [0:0], with test_alloc = True
1012----> ig_intr_md.resubmit_flag (ingress) is allocated? False
1013Looking at ig_intr_md._pad1 (ingress) [0:0], with test_alloc = True
1014Looking at ig_intr_md._pad2 (ingress) [1:0], with test_alloc = True
1015Looking at ig_intr_md._pad3 (ingress) [2:0], with test_alloc = True
1016Looking at ig_intr_md.ingress_port (ingress) [8:0], with test_alloc = True
1017Checking if can overlay metadata field.
1018No required PHV group.
1019Could not find container to overlay in.
1020
1021MAU groups: 5
1022 Group 8 16 bits -- avail 16 -- ingress avail 16 and remain 15 and promised 1 and req 1 -- egress avail 16 and remain 8 and promised 0 and req 0 -- as if deparsed True -- container_to_use phv128
1023 Group 10 16 bits -- avail 16 -- ingress avail 16 and remain 15 and promised 1 and req 1 -- egress avail 16 and remain 8 and promised 0 and req 0 -- as if deparsed True -- container_to_use phv160
1024 Group 11 16 bits -- avail 16 -- ingress avail 16 and remain 15 and promised 1 and req 1 -- egress avail 16 and remain 8 and promised 0 and req 0 -- as if deparsed True -- container_to_use phv176
1025 Group 12 16 bits -- avail 16 -- ingress avail 16 and remain 15 and promised 1 and req 1 -- egress avail 16 and remain 8 and promised 0 and req 0 -- as if deparsed True -- container_to_use phv192
1026 Group 13 16 bits -- avail 16 -- ingress avail 16 and remain 15 and promised 1 and req 1 -- egress avail 16 and remain 8 and promised 0 and req 0 -- as if deparsed True -- container_to_use phv208
1027***Allocating phv128[15:15] for ig_intr_md.resubmit_flag[0:0]
1028***Allocating phv128[14:14] for ig_intr_md._pad1[0:0]
1029***Allocating phv128[13:12] for ig_intr_md._pad2[1:0]
1030***Allocating phv128[11:9] for ig_intr_md._pad3[2:0]
1031***Allocating phv128[8:0] for ig_intr_md.ingress_port[8:0]
1032Packing options tried: 1
1033Packing options skipped: 0
1034
1035
1036-------------------------------------------
1037Allocating parsed header: pkt fields (4) / meta fields (0) using extraction bandwidth 224
1038-------------------------------------------
1039Extracted bits: 24
1040Set metadata bits: 0
1041Gress: egress
1042bits_will_need_to_parse = 24
1043unused_metadata_container_bits = 0
1044min_parse_states = 1
1045bits_per_state = 24
1046Parse state 0 (24 bits)
1047 -pad-0- [6:0]
1048 ig_intr_md_for_tm.copy_to_cpu [0:0]
1049 -pad-1- [6:0]
1050 ig_intr_md.ingress_port [8:0]
1051----------------------------------------------------------------------------------------------------
1052| Name | BW | Tagalong? | Req | Pref | Not Allow | MaxSplit | Group Size |
1053----------------------------------------------------------------------------------------------------
1054| -pad-0- | 7 | True | - | - | - | None | 1 |
1055| ig_intr_md_for_tm.copy_to_cpu | 1 | False | - | - | - | None | 1 |
1056| -pad-1- | 7 | True | - | - | - | None | 1 |
1057| ig_intr_md.ingress_port | 9 | False | - | - | [32] | None | 2 |
1058----------------------------------------------------------------------------------------------------
1059
1060Packing options: 5
1061MAU containers available:
1062 8-bit: 48
1063 16-bit: 80
1064 32-bit: 48
1065Tagalong containers available:
1066 8-bit: 32
1067 16-bit: 48
1068 32-bit: 32
1069Initial packing options: 5
1070
1071Packing option 0: [8, 16]
1072MAU containers after:
1073 8-bit: 47
1074 16-bit: 78
1075 32-bit: 48
1076+----------------------------------------+
1077| -pad-0- [6:0] |
1078| ig_intr_md_for_tm.copy_to_cpu [0:0] |
1079+----------------------------------------+
1080| -pad-1- [6:0] |
1081| ig_intr_md.ingress_port [8:0] |
1082+----------------------------------------+
1083
1084Looking at -pad-0- (egress) [6:0], with test_alloc = False
1085Looking at ig_intr_md_for_tm.copy_to_cpu (egress) [0:0], with test_alloc = True
1086----> ig_intr_md_for_tm.copy_to_cpu (egress) is allocated? False
1087Checking if can overlay metadata field.
1088No required PHV group.
1089Could not find container to overlay in.
1090
1091MAU groups: 3
1092 Group 5 8 bits -- avail 16 -- ingress avail 16 and remain 8 and promised 0 and req 0 -- egress avail 16 and remain 15 and promised 1 and req 1 -- as if deparsed True -- container_to_use phv80
1093 Group 6 8 bits -- avail 16 -- ingress avail 16 and remain 8 and promised 0 and req 0 -- egress avail 16 and remain 15 and promised 1 and req 1 -- as if deparsed True -- container_to_use phv96
1094 Group 7 8 bits -- avail 16 -- ingress avail 16 and remain 8 and promised 0 and req 0 -- egress avail 16 and remain 15 and promised 1 and req 1 -- as if deparsed True -- container_to_use phv112
1095***Allocating phv80[7:1] for -pad-0-[6:0]
1096***Allocating phv80[0:0] for ig_intr_md_for_tm.copy_to_cpu[0:0]
1097Looking at -pad-1- (egress) [6:0], with test_alloc = False
1098Looking at ig_intr_md.ingress_port (egress) [8:0], with test_alloc = True
1099----> ig_intr_md.ingress_port (egress) is allocated? False
1100Checking if can overlay metadata field.
1101No required PHV group.
1102Could not find container to overlay in.
1103
1104MAU groups: 5
1105 Group 9 16 bits -- avail 16 -- ingress avail 16 and remain 8 and promised 0 and req 0 -- egress avail 16 and remain 14 and promised 2 and req 2 -- as if deparsed True -- container_to_use phv144
1106 Group 10 16 bits -- avail 16 -- ingress avail 16 and remain 8 and promised 0 and req 0 -- egress avail 16 and remain 14 and promised 2 and req 2 -- as if deparsed True -- container_to_use phv160
1107 Group 11 16 bits -- avail 16 -- ingress avail 16 and remain 8 and promised 0 and req 0 -- egress avail 16 and remain 14 and promised 2 and req 2 -- as if deparsed True -- container_to_use phv176
1108 Group 12 16 bits -- avail 16 -- ingress avail 16 and remain 8 and promised 0 and req 0 -- egress avail 16 and remain 14 and promised 2 and req 2 -- as if deparsed True -- container_to_use phv192
1109 Group 13 16 bits -- avail 16 -- ingress avail 16 and remain 8 and promised 0 and req 0 -- egress avail 16 and remain 14 and promised 2 and req 2 -- as if deparsed True -- container_to_use phv208
1110***Allocating phv144[15:9] for -pad-1-[6:0]
1111***Allocating phv144[8:0] for ig_intr_md.ingress_port[8:0]
1112Packing options tried: 1
1113Packing options skipped: 0
1114
1115
1116After allocating bridged metadata:
1117Allocation state: Final Allocation
1118---------------------------------------------------------------------------
1119| PHV Group | Containers Used | Bits Used | Bits Available |
1120| (container bit widths) | (% used) | (% used) | |
1121---------------------------------------------------------------------------
1122| 0 (32) | 1 (6.25%) | 32 (6.25%) | 512 |
1123| 1 (32) | 0 (0.00%) | 0 (0.00%) | 512 |
1124| 2 (32) | 0 (0.00%) | 0 (0.00%) | 512 |
1125| 3 (32) | 0 (0.00%) | 0 (0.00%) | 512 |
1126| Total for 32 bit | 1 (1.56%) | 32 (1.56%) | 2048 |
1127| | | | |
1128| 4 (8) | 1 (6.25%) | 8 (6.25%) | 128 |
1129| 5 (8) | 1 (6.25%) | 8 (6.25%) | 128 |
1130| 6 (8) | 0 (0.00%) | 0 (0.00%) | 128 |
1131| 7 (8) | 0 (0.00%) | 0 (0.00%) | 128 |
1132| Total for 8 bit | 2 (3.12%) | 16 (3.12%) | 512 |
1133| | | | |
1134| 8 (16) | 1 (6.25%) | 16 (6.25%) | 256 |
1135| 9 (16) | 1 (6.25%) | 16 (6.25%) | 256 |
1136| 10 (16) | 0 (0.00%) | 0 (0.00%) | 256 |
1137| 11 (16) | 0 (0.00%) | 0 (0.00%) | 256 |
1138| 12 (16) | 0 (0.00%) | 0 (0.00%) | 256 |
1139| 13 (16) | 0 (0.00%) | 0 (0.00%) | 256 |
1140| Total for 16 bit | 2 (2.08%) | 32 (2.08%) | 1536 |
1141| | | | |
1142| 14 (32) T | 0 (0.00%) | 0 (0.00%) | 512 |
1143| 15 (32) T | 0 (0.00%) | 0 (0.00%) | 512 |
1144| Total for 32 bit | 0 (0.00%) | 0 (0.00%) | 1024 |
1145| | | | |
1146| 16 (8) T | 0 (0.00%) | 0 (0.00%) | 128 |
1147| 17 (8) T | 0 (0.00%) | 0 (0.00%) | 128 |
1148| Total for 8 bit | 0 (0.00%) | 0 (0.00%) | 256 |
1149| | | | |
1150| 18 (16) T | 0 (0.00%) | 0 (0.00%) | 256 |
1151| 19 (16) T | 0 (0.00%) | 0 (0.00%) | 256 |
1152| 20 (16) T | 0 (0.00%) | 0 (0.00%) | 256 |
1153| Total for 16 bit | 0 (0.00%) | 0 (0.00%) | 768 |
1154| | | | |
1155| MAU total | 5 (2.23%) | 80 (1.95%) | 4096 |
1156| Tagalong total | 0 (0.00%) | 0 (0.00%) | 2048 |
1157| Overall total | 5 (1.49%) | 80 (1.30%) | 6144 |
1158---------------------------------------------------------------------------
1159
1160>>Event 'pa_phase0' at time 1504792570.84
1161 Took 0.41 seconds
1162
1163-----------------------------------------------
1164 Allocating Phase 0-related metadata
1165-----------------------------------------------
1166Allocation Step
1167 Phase 0 not in use.
1168
1169After allocating data written by Phase 0:
1170Allocation state: Final Allocation
1171---------------------------------------------------------------------------
1172| PHV Group | Containers Used | Bits Used | Bits Available |
1173| (container bit widths) | (% used) | (% used) | |
1174---------------------------------------------------------------------------
1175| 0 (32) | 1 (6.25%) | 32 (6.25%) | 512 |
1176| 1 (32) | 0 (0.00%) | 0 (0.00%) | 512 |
1177| 2 (32) | 0 (0.00%) | 0 (0.00%) | 512 |
1178| 3 (32) | 0 (0.00%) | 0 (0.00%) | 512 |
1179| Total for 32 bit | 1 (1.56%) | 32 (1.56%) | 2048 |
1180| | | | |
1181| 4 (8) | 1 (6.25%) | 8 (6.25%) | 128 |
1182| 5 (8) | 1 (6.25%) | 8 (6.25%) | 128 |
1183| 6 (8) | 0 (0.00%) | 0 (0.00%) | 128 |
1184| 7 (8) | 0 (0.00%) | 0 (0.00%) | 128 |
1185| Total for 8 bit | 2 (3.12%) | 16 (3.12%) | 512 |
1186| | | | |
1187| 8 (16) | 1 (6.25%) | 16 (6.25%) | 256 |
1188| 9 (16) | 1 (6.25%) | 16 (6.25%) | 256 |
1189| 10 (16) | 0 (0.00%) | 0 (0.00%) | 256 |
1190| 11 (16) | 0 (0.00%) | 0 (0.00%) | 256 |
1191| 12 (16) | 0 (0.00%) | 0 (0.00%) | 256 |
1192| 13 (16) | 0 (0.00%) | 0 (0.00%) | 256 |
1193| Total for 16 bit | 2 (2.08%) | 32 (2.08%) | 1536 |
1194| | | | |
1195| 14 (32) T | 0 (0.00%) | 0 (0.00%) | 512 |
1196| 15 (32) T | 0 (0.00%) | 0 (0.00%) | 512 |
1197| Total for 32 bit | 0 (0.00%) | 0 (0.00%) | 1024 |
1198| | | | |
1199| 16 (8) T | 0 (0.00%) | 0 (0.00%) | 128 |
1200| 17 (8) T | 0 (0.00%) | 0 (0.00%) | 128 |
1201| Total for 8 bit | 0 (0.00%) | 0 (0.00%) | 256 |
1202| | | | |
1203| 18 (16) T | 0 (0.00%) | 0 (0.00%) | 256 |
1204| 19 (16) T | 0 (0.00%) | 0 (0.00%) | 256 |
1205| 20 (16) T | 0 (0.00%) | 0 (0.00%) | 256 |
1206| Total for 16 bit | 0 (0.00%) | 0 (0.00%) | 768 |
1207| | | | |
1208| MAU total | 5 (2.23%) | 80 (1.95%) | 4096 |
1209| Tagalong total | 0 (0.00%) | 0 (0.00%) | 2048 |
1210| Overall total | 5 (1.49%) | 80 (1.30%) | 6144 |
1211---------------------------------------------------------------------------
1212
1213>>Event 'pa_critical' at time 1504792570.84
1214 Took 0.00 seconds
1215
1216-----------------------------------------------
1217 Allocating headers on longest parse paths
1218-----------------------------------------------
1219Allocation Step
1220
1221All Sorted parse nodes:
1222 parse_pkt_out (ingress) with bits = 16 and max = 2
1223 parse_ipv4 (ingress) with bits = 160 and max = 1
1224 parse_tcp (ingress) with bits = 160 and max = 1
1225 parse_ipv4 (egress) with bits = 160 and max = 1
1226 parse_tcp (egress) with bits = 160 and max = 1
1227 parse_ethernet (ingress) with bits = 112 and max = 1
1228 parse_ethernet (egress) with bits = 112 and max = 1
1229 egress_intrinsic_metadata (egress) with bits = 24 and max = 1
1230 ingress_intrinsic_metadata (ingress) with bits = 16 and max = 1
1231 parse_pkt_out (egress) with bits = 16 and max = 1
1232 start () with bits = 0 and max = 0
1233 default_parser () with bits = 0 and max = 0
1234 --ingress-- () with bits = 0 and max = 0
1235 start () with bits = 0 and max = 0
1236 default_parser () with bits = 0 and max = 0
1237 egress_for_mirror_buffer () with bits = 0 and max = 0
1238 --egress-- () with bits = 0 and max = 0
1239Total packet bits: 936
1240Total meta bits: 0
1241Total bits: 936
1242Working on parse node parse_pkt_out (4) (ingress)
1243
1244-------------------------------------------
1245Allocating parsed header: pkt fields (2) / meta fields (0) using extraction bandwidth 224
1246-------------------------------------------
1247Extracted bits: 16
1248Set metadata bits: 0
1249Gress: ingress
1250bits_will_need_to_parse = 16
1251unused_metadata_container_bits = 0
1252min_parse_states = 1
1253bits_per_state = 16
1254Parse state 0 (16 bits)
1255 packet_out_hdr.egress_port [8:0]
1256 packet_out_hdr._padding [6:0]
1257-------------------------------------------------------------------------------------------------
1258| Name | BW | Tagalong? | Req | Pref | Not Allow | MaxSplit | Group Size |
1259-------------------------------------------------------------------------------------------------
1260| packet_out_hdr.egress_port | 9 | False | - | - | [8, 32] | 2 | 2 |
1261| packet_out_hdr._padding | 7 | True | - | - | [32] | 1 | 1 |
1262-------------------------------------------------------------------------------------------------
1263
1264min_extracts[8] = 1
1265min_extracts[16] = 1
1266min_extracts[32] = 1
1267Packing options: 2
1268MAU containers available:
1269 8-bit: 47
1270 16-bit: 79
1271 32-bit: 47
1272Tagalong containers available:
1273 8-bit: 32
1274 16-bit: 48
1275 32-bit: 32
1276Initial packing options: 2
1277
1278Packing option 0: [16]
1279MAU containers after:
1280 8-bit: 47
1281 16-bit: 77
1282 32-bit: 47
1283+-------------------------------------+
1284| packet_out_hdr.egress_port [8:0] |
1285| packet_out_hdr._padding [6:0] |
1286+-------------------------------------+
1287
1288Looking at packet_out_hdr.egress_port (ingress) [8:0], with test_alloc = True
1289----> packet_out_hdr.egress_port (ingress) is allocated? False
1290Looking at packet_out_hdr._padding (ingress) [6:0], with test_alloc = True
1291
1292MAU groups: 5
1293 Group 8 16 bits -- avail 15 -- ingress avail 15 and remain 13 and promised 2 and req 2 -- egress avail 8 and remain 8 and promised 0 and req 0 -- as if deparsed True -- container_to_use phv129
1294 Group 10 16 bits -- avail 16 -- ingress avail 16 and remain 14 and promised 2 and req 2 -- egress avail 16 and remain 8 and promised 0 and req 0 -- as if deparsed True -- container_to_use phv160
1295 Group 11 16 bits -- avail 16 -- ingress avail 16 and remain 14 and promised 2 and req 2 -- egress avail 16 and remain 8 and promised 0 and req 0 -- as if deparsed True -- container_to_use phv176
1296 Group 12 16 bits -- avail 16 -- ingress avail 16 and remain 14 and promised 2 and req 2 -- egress avail 16 and remain 8 and promised 0 and req 0 -- as if deparsed True -- container_to_use phv192
1297 Group 13 16 bits -- avail 16 -- ingress avail 16 and remain 14 and promised 2 and req 2 -- egress avail 16 and remain 8 and promised 0 and req 0 -- as if deparsed True -- container_to_use phv208
1298***Allocating phv129[15:7] for packet_out_hdr.egress_port[8:0]
1299***Allocating phv129[6:0] for packet_out_hdr._padding[6:0]
1300Packing options tried: 1
1301Packing options skipped: 0
1302
1303Working on parse node parse_ipv4 (6) (ingress)
1304
1305-------------------------------------------
1306Allocating parsed header: pkt fields (12) / meta fields (0) using extraction bandwidth 224
1307-------------------------------------------
1308Extracted bits: 160
1309Set metadata bits: 0
1310Gress: ingress
1311bits_will_need_to_parse = 160
1312unused_metadata_container_bits = 0
1313min_parse_states = 1
1314bits_per_state = 160
1315Parse state 0 (160 bits)
1316 ipv4.version [3:0]
1317 ipv4.ihl [3:0]
1318 ipv4.diffserv [7:0]
1319 ipv4.totalLen [15:0]
1320 ipv4.identification [15:0]
1321 ipv4.flags [2:0]
1322 ipv4.fragOffset [12:0]
1323 ipv4.ttl [7:0]
1324 ipv4.protocol [7:0]
1325 ipv4.hdrChecksum [15:0]
1326 ipv4.srcAddr [31:0]
1327 ipv4.dstAddr [31:0]
1328------------------------------------------------------------------------------------------
1329| Name | BW | Tagalong? | Req | Pref | Not Allow | MaxSplit | Group Size |
1330------------------------------------------------------------------------------------------
1331| ipv4.version | 4 | True | - | - | - | 1 | 1 |
1332| ipv4.ihl | 4 | True | - | - | - | 1 | 1 |
1333| ipv4.diffserv | 8 | True | - | - | - | 1 | 1 |
1334| ipv4.totalLen | 16 | True | - | - | - | 2 | 1 |
1335| ipv4.identification | 16 | True | - | - | - | 2 | 1 |
1336| ipv4.flags | 3 | True | - | - | - | 1 | 1 |
1337| ipv4.fragOffset | 13 | True | - | - | - | 2 | 1 |
1338| ipv4.ttl | 8 | True | - | - | - | 1 | 1 |
1339| ipv4.protocol | 8 | True | - | - | - | 1 | 1 |
1340| ipv4.hdrChecksum | 16 | True | - | - | - | 2 | 1 |
1341| ipv4.srcAddr | 32 | True | - | - | - | 4 | 1 |
1342| ipv4.dstAddr | 32 | True | - | - | - | 4 | 1 |
1343------------------------------------------------------------------------------------------
1344
1345min_extracts[8] = 1
1346min_extracts[16] = 1
1347min_extracts[32] = 1
1348Packing options: 5196
1349MAU containers available:
1350 8-bit: 47
1351 16-bit: 77
1352 32-bit: 47
1353Tagalong containers available:
1354 8-bit: 32
1355 16-bit: 48
1356 32-bit: 32
1357Initial packing options: 5196
1358
1359Packing option 0: [8, 8, 16, 16, 16, 32, 32, 32]
1360MAU containers after:
1361 8-bit: 47
1362 16-bit: 77
1363 32-bit: 47
1364+------------------------------+
1365| ipv4.version [3:0] |
1366| ipv4.ihl [3:0] |
1367+------------------------------+
1368| ipv4.diffserv [7:0] |
1369+------------------------------+
1370| ipv4.totalLen [15:0] |
1371+------------------------------+
1372| ipv4.identification [15:0] |
1373+------------------------------+
1374| ipv4.flags [2:0] |
1375| ipv4.fragOffset [12:0] |
1376+------------------------------+
1377| ipv4.ttl [7:0] |
1378| ipv4.protocol [7:0] |
1379| ipv4.hdrChecksum [15:0] |
1380+------------------------------+
1381| ipv4.srcAddr [31:0] |
1382+------------------------------+
1383| ipv4.dstAddr [31:0] |
1384+------------------------------+
1385
1386Looking at ipv4.version (ingress) [3:0], with test_alloc = True
1387----> ipv4.version (ingress) is allocated? False
1388Looking at ipv4.ihl (ingress) [3:0], with test_alloc = True
1389***Allocating phv288[7:4] for ipv4.version[3:0]
1390***Allocating phv288[3:0] for ipv4.ihl[3:0]
1391Looking at ipv4.diffserv (ingress) [7:0], with test_alloc = True
1392----> ipv4.diffserv (ingress) is allocated? False
1393***Allocating phv289[7:0] for ipv4.diffserv[7:0]
1394Looking at ipv4.totalLen (ingress) [15:0], with test_alloc = True
1395----> ipv4.totalLen (ingress) is allocated? False
1396***Allocating phv320[15:0] for ipv4.totalLen[15:0]
1397Looking at ipv4.identification (ingress) [15:0], with test_alloc = True
1398----> ipv4.identification (ingress) is allocated? False
1399***Allocating phv321[15:0] for ipv4.identification[15:0]
1400Looking at ipv4.flags (ingress) [2:0], with test_alloc = True
1401----> ipv4.flags (ingress) is allocated? False
1402Looking at ipv4.fragOffset (ingress) [12:0], with test_alloc = True
1403***Allocating phv322[15:13] for ipv4.flags[2:0]
1404***Allocating phv322[12:0] for ipv4.fragOffset[12:0]
1405Looking at ipv4.ttl (ingress) [7:0], with test_alloc = True
1406----> ipv4.ttl (ingress) is allocated? False
1407Looking at ipv4.protocol (ingress) [7:0], with test_alloc = True
1408Looking at ipv4.hdrChecksum (ingress) [15:0], with test_alloc = True
1409***Allocating phv256[31:24] for ipv4.ttl[7:0]
1410***Allocating phv256[23:16] for ipv4.protocol[7:0]
1411***Allocating phv256[15:0] for ipv4.hdrChecksum[15:0]
1412Looking at ipv4.srcAddr (ingress) [31:0], with test_alloc = True
1413----> ipv4.srcAddr (ingress) is allocated? False
1414***Allocating phv257[31:0] for ipv4.srcAddr[31:0]
1415Looking at ipv4.dstAddr (ingress) [31:0], with test_alloc = True
1416----> ipv4.dstAddr (ingress) is allocated? False
1417***Allocating phv258[31:0] for ipv4.dstAddr[31:0]
1418Packing options tried: 1
1419Packing options skipped: 0
1420
1421Working on parse node parse_tcp (7) (ingress)
1422
1423-------------------------------------------
1424Allocating parsed header: pkt fields (11) / meta fields (0) using extraction bandwidth 224
1425-------------------------------------------
1426Extracted bits: 160
1427Set metadata bits: 0
1428Gress: ingress
1429bits_will_need_to_parse = 160
1430unused_metadata_container_bits = 0
1431min_parse_states = 1
1432bits_per_state = 160
1433Parse state 0 (160 bits)
1434 tcp.srcPort [15:0]
1435 tcp.dstPort [15:0]
1436 tcp.seqNo [31:0]
1437 tcp.ackNo [31:0]
1438 tcp.dataOffset [3:0]
1439 tcp.res [2:0]
1440 tcp.ecn [2:0]
1441 tcp.ctrl [5:0]
1442 tcp.window [15:0]
1443 tcp.checksum [15:0]
1444 tcp.urgentPtr [15:0]
1445-------------------------------------------------------------------------------------
1446| Name | BW | Tagalong? | Req | Pref | Not Allow | MaxSplit | Group Size |
1447-------------------------------------------------------------------------------------
1448| tcp.srcPort | 16 | True | - | - | - | 2 | 1 |
1449| tcp.dstPort | 16 | True | - | - | - | 2 | 1 |
1450| tcp.seqNo | 32 | True | - | - | - | 4 | 1 |
1451| tcp.ackNo | 32 | True | - | - | - | 4 | 1 |
1452| tcp.dataOffset | 4 | True | - | - | - | 1 | 1 |
1453| tcp.res | 3 | True | - | - | - | 1 | 1 |
1454| tcp.ecn | 3 | True | - | - | - | 2 | 1 |
1455| tcp.ctrl | 6 | True | - | - | - | 1 | 1 |
1456| tcp.window | 16 | True | - | - | - | 2 | 1 |
1457| tcp.checksum | 16 | True | - | - | - | 2 | 1 |
1458| tcp.urgentPtr | 16 | True | - | - | - | 2 | 1 |
1459-------------------------------------------------------------------------------------
1460
1461min_extracts[8] = 1
1462min_extracts[16] = 1
1463min_extracts[32] = 1
1464Packing options: 5196
1465MAU containers available:
1466 8-bit: 47
1467 16-bit: 77
1468 32-bit: 47
1469Tagalong containers available:
1470 8-bit: 30
1471 16-bit: 45
1472 32-bit: 29
1473Initial packing options: 5196
1474
1475Packing option 0: [8, 8, 16, 16, 16, 32, 32, 32]
1476MAU containers after:
1477 8-bit: 47
1478 16-bit: 77
1479 32-bit: 47
1480+-------------------------+
1481| tcp.srcPort [15:8] |
1482+-------------------------+
1483| tcp.srcPort [7:0] |
1484+-------------------------+
1485| tcp.dstPort [15:0] |
1486+-------------------------+
1487| tcp.seqNo [31:16] |
1488+-------------------------+
1489| tcp.seqNo [15:0] |
1490+-------------------------+
1491| tcp.ackNo [31:0] |
1492+-------------------------+
1493| tcp.dataOffset [3:0] |
1494| tcp.res [2:0] |
1495| tcp.ecn [2:0] |
1496| tcp.ctrl [5:0] |
1497| tcp.window [15:0] |
1498+-------------------------+
1499| tcp.checksum [15:0] |
1500| tcp.urgentPtr [15:0] |
1501+-------------------------+
1502
1503Looking at tcp.srcPort (ingress) [15:8], with test_alloc = True
1504----> tcp.srcPort (ingress) is allocated? False
1505***Allocating phv290[7:0] for tcp.srcPort[15:8]
1506Looking at tcp.srcPort (ingress) [7:0], with test_alloc = True
1507----> tcp.srcPort (ingress) is allocated? False
1508***Allocating phv291[7:0] for tcp.srcPort[7:0]
1509Looking at tcp.dstPort (ingress) [15:0], with test_alloc = True
1510----> tcp.dstPort (ingress) is allocated? False
1511***Allocating phv323[15:0] for tcp.dstPort[15:0]
1512Looking at tcp.seqNo (ingress) [31:16], with test_alloc = True
1513----> tcp.seqNo (ingress) is allocated? False
1514***Allocating phv324[15:0] for tcp.seqNo[31:16]
1515Looking at tcp.seqNo (ingress) [15:0], with test_alloc = True
1516----> tcp.seqNo (ingress) is allocated? False
1517***Allocating phv325[15:0] for tcp.seqNo[15:0]
1518Looking at tcp.ackNo (ingress) [31:0], with test_alloc = True
1519----> tcp.ackNo (ingress) is allocated? False
1520***Allocating phv259[31:0] for tcp.ackNo[31:0]
1521Looking at tcp.dataOffset (ingress) [3:0], with test_alloc = True
1522----> tcp.dataOffset (ingress) is allocated? False
1523Looking at tcp.res (ingress) [2:0], with test_alloc = True
1524Looking at tcp.ecn (ingress) [2:0], with test_alloc = True
1525Looking at tcp.ctrl (ingress) [5:0], with test_alloc = True
1526Looking at tcp.window (ingress) [15:0], with test_alloc = True
1527***Allocating phv260[31:28] for tcp.dataOffset[3:0]
1528***Allocating phv260[27:25] for tcp.res[2:0]
1529***Allocating phv260[24:22] for tcp.ecn[2:0]
1530***Allocating phv260[21:16] for tcp.ctrl[5:0]
1531***Allocating phv260[15:0] for tcp.window[15:0]
1532Looking at tcp.checksum (ingress) [15:0], with test_alloc = True
1533----> tcp.checksum (ingress) is allocated? False
1534Looking at tcp.urgentPtr (ingress) [15:0], with test_alloc = True
1535***Allocating phv261[31:16] for tcp.checksum[15:0]
1536***Allocating phv261[15:0] for tcp.urgentPtr[15:0]
1537Packing options tried: 1
1538Packing options skipped: 0
1539
1540Working on parse node parse_ipv4 (6) (egress)
1541
1542-------------------------------------------
1543Allocating parsed header: pkt fields (12) / meta fields (0) using extraction bandwidth 224
1544-------------------------------------------
1545Extracted bits: 160
1546Set metadata bits: 0
1547Gress: egress
1548bits_will_need_to_parse = 160
1549unused_metadata_container_bits = 0
1550min_parse_states = 1
1551bits_per_state = 160
1552Parse state 0 (160 bits)
1553 ipv4.version [3:0]
1554 ipv4.ihl [3:0]
1555 ipv4.diffserv [7:0]
1556 ipv4.totalLen [15:0]
1557 ipv4.identification [15:0]
1558 ipv4.flags [2:0]
1559 ipv4.fragOffset [12:0]
1560 ipv4.ttl [7:0]
1561 ipv4.protocol [7:0]
1562 ipv4.hdrChecksum [15:0]
1563 ipv4.srcAddr [31:0]
1564 ipv4.dstAddr [31:0]
1565------------------------------------------------------------------------------------------
1566| Name | BW | Tagalong? | Req | Pref | Not Allow | MaxSplit | Group Size |
1567------------------------------------------------------------------------------------------
1568| ipv4.version | 4 | True | - | - | - | 1 | 1 |
1569| ipv4.ihl | 4 | True | - | - | - | 1 | 1 |
1570| ipv4.diffserv | 8 | True | - | - | - | 1 | 1 |
1571| ipv4.totalLen | 16 | True | - | - | - | 2 | 1 |
1572| ipv4.identification | 16 | True | - | - | - | 2 | 1 |
1573| ipv4.flags | 3 | True | - | - | - | 1 | 1 |
1574| ipv4.fragOffset | 13 | True | - | - | - | 2 | 1 |
1575| ipv4.ttl | 8 | True | - | - | - | 1 | 1 |
1576| ipv4.protocol | 8 | True | - | - | - | 1 | 1 |
1577| ipv4.hdrChecksum | 16 | True | - | - | - | 2 | 1 |
1578| ipv4.srcAddr | 32 | True | - | - | - | 4 | 1 |
1579| ipv4.dstAddr | 32 | True | - | - | - | 4 | 1 |
1580------------------------------------------------------------------------------------------
1581
1582min_extracts[8] = 1
1583min_extracts[16] = 1
1584min_extracts[32] = 1
1585Packing options: 5196
1586MAU containers available:
1587 8-bit: 47
1588 16-bit: 78
1589 32-bit: 48
1590Tagalong containers available:
1591 8-bit: 24
1592 16-bit: 36
1593 32-bit: 24
1594Initial packing options: 5196
1595
1596Packing option 0: [8, 8, 16, 16, 16, 32, 32, 32]
1597MAU containers after:
1598 8-bit: 47
1599 16-bit: 78
1600 32-bit: 48
1601+------------------------------+
1602| ipv4.version [3:0] |
1603| ipv4.ihl [3:0] |
1604+------------------------------+
1605| ipv4.diffserv [7:0] |
1606+------------------------------+
1607| ipv4.totalLen [15:0] |
1608+------------------------------+
1609| ipv4.identification [15:0] |
1610+------------------------------+
1611| ipv4.flags [2:0] |
1612| ipv4.fragOffset [12:0] |
1613+------------------------------+
1614| ipv4.ttl [7:0] |
1615| ipv4.protocol [7:0] |
1616| ipv4.hdrChecksum [15:0] |
1617+------------------------------+
1618| ipv4.srcAddr [31:0] |
1619+------------------------------+
1620| ipv4.dstAddr [31:0] |
1621+------------------------------+
1622
1623Looking at ipv4.version (egress) [3:0], with test_alloc = True
1624----> ipv4.version (egress) is allocated? False
1625Looking at ipv4.ihl (egress) [3:0], with test_alloc = True
1626***Allocating phv296[7:4] for ipv4.version[3:0]
1627***Allocating phv296[3:0] for ipv4.ihl[3:0]
1628Looking at ipv4.diffserv (egress) [7:0], with test_alloc = True
1629----> ipv4.diffserv (egress) is allocated? False
1630***Allocating phv297[7:0] for ipv4.diffserv[7:0]
1631Looking at ipv4.totalLen (egress) [15:0], with test_alloc = True
1632----> ipv4.totalLen (egress) is allocated? False
1633***Allocating phv332[15:0] for ipv4.totalLen[15:0]
1634Looking at ipv4.identification (egress) [15:0], with test_alloc = True
1635----> ipv4.identification (egress) is allocated? False
1636***Allocating phv333[15:0] for ipv4.identification[15:0]
1637Looking at ipv4.flags (egress) [2:0], with test_alloc = True
1638----> ipv4.flags (egress) is allocated? False
1639Looking at ipv4.fragOffset (egress) [12:0], with test_alloc = True
1640***Allocating phv334[15:13] for ipv4.flags[2:0]
1641***Allocating phv334[12:0] for ipv4.fragOffset[12:0]
1642Looking at ipv4.ttl (egress) [7:0], with test_alloc = True
1643----> ipv4.ttl (egress) is allocated? False
1644Looking at ipv4.protocol (egress) [7:0], with test_alloc = True
1645Looking at ipv4.hdrChecksum (egress) [15:0], with test_alloc = True
1646***Allocating phv264[31:24] for ipv4.ttl[7:0]
1647***Allocating phv264[23:16] for ipv4.protocol[7:0]
1648***Allocating phv264[15:0] for ipv4.hdrChecksum[15:0]
1649Looking at ipv4.srcAddr (egress) [31:0], with test_alloc = True
1650----> ipv4.srcAddr (egress) is allocated? False
1651***Allocating phv265[31:0] for ipv4.srcAddr[31:0]
1652Looking at ipv4.dstAddr (egress) [31:0], with test_alloc = True
1653----> ipv4.dstAddr (egress) is allocated? False
1654***Allocating phv266[31:0] for ipv4.dstAddr[31:0]
1655Packing options tried: 1
1656Packing options skipped: 0
1657
1658Working on parse node parse_tcp (7) (egress)
1659
1660-------------------------------------------
1661Allocating parsed header: pkt fields (11) / meta fields (0) using extraction bandwidth 224
1662-------------------------------------------
1663Extracted bits: 160
1664Set metadata bits: 0
1665Gress: egress
1666bits_will_need_to_parse = 160
1667unused_metadata_container_bits = 0
1668min_parse_states = 1
1669bits_per_state = 160
1670Parse state 0 (160 bits)
1671 tcp.srcPort [15:0]
1672 tcp.dstPort [15:0]
1673 tcp.seqNo [31:0]
1674 tcp.ackNo [31:0]
1675 tcp.dataOffset [3:0]
1676 tcp.res [2:0]
1677 tcp.ecn [2:0]
1678 tcp.ctrl [5:0]
1679 tcp.window [15:0]
1680 tcp.checksum [15:0]
1681 tcp.urgentPtr [15:0]
1682-------------------------------------------------------------------------------------
1683| Name | BW | Tagalong? | Req | Pref | Not Allow | MaxSplit | Group Size |
1684-------------------------------------------------------------------------------------
1685| tcp.srcPort | 16 | True | - | - | - | 2 | 1 |
1686| tcp.dstPort | 16 | True | - | - | - | 2 | 1 |
1687| tcp.seqNo | 32 | True | - | - | - | 4 | 1 |
1688| tcp.ackNo | 32 | True | - | - | - | 4 | 1 |
1689| tcp.dataOffset | 4 | True | - | - | - | 1 | 1 |
1690| tcp.res | 3 | True | - | - | - | 1 | 1 |
1691| tcp.ecn | 3 | True | - | - | - | 2 | 1 |
1692| tcp.ctrl | 6 | True | - | - | - | 1 | 1 |
1693| tcp.window | 16 | True | - | - | - | 2 | 1 |
1694| tcp.checksum | 16 | True | - | - | - | 2 | 1 |
1695| tcp.urgentPtr | 16 | True | - | - | - | 2 | 1 |
1696-------------------------------------------------------------------------------------
1697
1698min_extracts[8] = 1
1699min_extracts[16] = 1
1700min_extracts[32] = 1
1701Packing options: 5196
1702MAU containers available:
1703 8-bit: 47
1704 16-bit: 78
1705 32-bit: 48
1706Tagalong containers available:
1707 8-bit: 22
1708 16-bit: 33
1709 32-bit: 21
1710Initial packing options: 5196
1711
1712Packing option 0: [8, 8, 16, 16, 16, 32, 32, 32]
1713MAU containers after:
1714 8-bit: 47
1715 16-bit: 78
1716 32-bit: 48
1717+-------------------------+
1718| tcp.srcPort [15:8] |
1719+-------------------------+
1720| tcp.srcPort [7:0] |
1721+-------------------------+
1722| tcp.dstPort [15:0] |
1723+-------------------------+
1724| tcp.seqNo [31:16] |
1725+-------------------------+
1726| tcp.seqNo [15:0] |
1727+-------------------------+
1728| tcp.ackNo [31:0] |
1729+-------------------------+
1730| tcp.dataOffset [3:0] |
1731| tcp.res [2:0] |
1732| tcp.ecn [2:0] |
1733| tcp.ctrl [5:0] |
1734| tcp.window [15:0] |
1735+-------------------------+
1736| tcp.checksum [15:0] |
1737| tcp.urgentPtr [15:0] |
1738+-------------------------+
1739
1740Looking at tcp.srcPort (egress) [15:8], with test_alloc = True
1741----> tcp.srcPort (egress) is allocated? False
1742***Allocating phv298[7:0] for tcp.srcPort[15:8]
1743Looking at tcp.srcPort (egress) [7:0], with test_alloc = True
1744----> tcp.srcPort (egress) is allocated? False
1745***Allocating phv299[7:0] for tcp.srcPort[7:0]
1746Looking at tcp.dstPort (egress) [15:0], with test_alloc = True
1747----> tcp.dstPort (egress) is allocated? False
1748***Allocating phv335[15:0] for tcp.dstPort[15:0]
1749Looking at tcp.seqNo (egress) [31:16], with test_alloc = True
1750----> tcp.seqNo (egress) is allocated? False
1751***Allocating phv336[15:0] for tcp.seqNo[31:16]
1752Looking at tcp.seqNo (egress) [15:0], with test_alloc = True
1753----> tcp.seqNo (egress) is allocated? False
1754***Allocating phv337[15:0] for tcp.seqNo[15:0]
1755Looking at tcp.ackNo (egress) [31:0], with test_alloc = True
1756----> tcp.ackNo (egress) is allocated? False
1757***Allocating phv267[31:0] for tcp.ackNo[31:0]
1758Looking at tcp.dataOffset (egress) [3:0], with test_alloc = True
1759----> tcp.dataOffset (egress) is allocated? False
1760Looking at tcp.res (egress) [2:0], with test_alloc = True
1761Looking at tcp.ecn (egress) [2:0], with test_alloc = True
1762Looking at tcp.ctrl (egress) [5:0], with test_alloc = True
1763Looking at tcp.window (egress) [15:0], with test_alloc = True
1764***Allocating phv268[31:28] for tcp.dataOffset[3:0]
1765***Allocating phv268[27:25] for tcp.res[2:0]
1766***Allocating phv268[24:22] for tcp.ecn[2:0]
1767***Allocating phv268[21:16] for tcp.ctrl[5:0]
1768***Allocating phv268[15:0] for tcp.window[15:0]
1769Looking at tcp.checksum (egress) [15:0], with test_alloc = True
1770----> tcp.checksum (egress) is allocated? False
1771Looking at tcp.urgentPtr (egress) [15:0], with test_alloc = True
1772***Allocating phv269[31:16] for tcp.checksum[15:0]
1773***Allocating phv269[15:0] for tcp.urgentPtr[15:0]
1774Packing options tried: 1
1775Packing options skipped: 0
1776
1777Working on parse node parse_ethernet (5) (ingress)
1778
1779-------------------------------------------
1780Allocating parsed header: pkt fields (3) / meta fields (0) using extraction bandwidth 224
1781-------------------------------------------
1782Extracted bits: 112
1783Set metadata bits: 0
1784Gress: ingress
1785bits_will_need_to_parse = 112
1786unused_metadata_container_bits = 0
1787min_parse_states = 1
1788bits_per_state = 112
1789Parse state 0 (112 bits)
1790 ethernet.dstAddr [47:0]
1791 ethernet.srcAddr [47:0]
1792 ethernet.etherType [15:0]
1793-----------------------------------------------------------------------------------------
1794| Name | BW | Tagalong? | Req | Pref | Not Allow | MaxSplit | Group Size |
1795-----------------------------------------------------------------------------------------
1796| ethernet.dstAddr | 48 | False | - | - | - | 6 | 1 |
1797| ethernet.srcAddr | 48 | False | - | - | - | 6 | 1 |
1798| ethernet.etherType | 16 | False | - | - | - | 2 | 1 |
1799-----------------------------------------------------------------------------------------
1800
1801min_extracts[8] = 1
1802min_extracts[16] = 1
1803min_extracts[32] = 1
1804Packing options: 604
1805MAU containers available:
1806 8-bit: 47
1807 16-bit: 77
1808 32-bit: 47
1809Tagalong containers available:
1810 8-bit: 20
1811 16-bit: 30
1812 32-bit: 18
1813Initial packing options: 604
1814
1815Packing option 0: [8, 32, 16, 8, 32, 16]
1816MAU containers after:
1817 8-bit: 45
1818 16-bit: 75
1819 32-bit: 45
1820+-----------------------------+
1821| ethernet.dstAddr [47:40] |
1822+-----------------------------+
1823| ethernet.dstAddr [39:8] |
1824+-----------------------------+
1825| ethernet.dstAddr [7:0] |
1826| ethernet.srcAddr [47:40] |
1827+-----------------------------+
1828| ethernet.srcAddr [39:32] |
1829+-----------------------------+
1830| ethernet.srcAddr [31:0] |
1831+-----------------------------+
1832| ethernet.etherType [15:0] |
1833+-----------------------------+
1834
1835Looking at ethernet.dstAddr (ingress) [47:40], with test_alloc = True
1836----> ethernet.dstAddr (ingress) is allocated? False
1837
1838MAU groups: 3
1839 Group 4 8 bits -- avail 15 -- ingress avail 15 and remain 14 and promised 1 and req 1 -- egress avail 8 and remain 8 and promised 0 and req 0 -- as if deparsed True -- container_to_use phv65
1840 Group 6 8 bits -- avail 16 -- ingress avail 16 and remain 15 and promised 1 and req 1 -- egress avail 16 and remain 8 and promised 0 and req 0 -- as if deparsed True -- container_to_use phv96
1841 Group 7 8 bits -- avail 16 -- ingress avail 16 and remain 15 and promised 1 and req 1 -- egress avail 16 and remain 8 and promised 0 and req 0 -- as if deparsed True -- container_to_use phv112
1842***Allocating phv65[7:0] for ethernet.dstAddr[47:40]
1843Looking at ethernet.dstAddr (ingress) [39:8], with test_alloc = True
1844----> ethernet.dstAddr (ingress) is allocated? False
1845
1846MAU groups: 3
1847 Group 0 32 bits -- avail 15 -- ingress avail 15 and remain 14 and promised 1 and req 1 -- egress avail 12 and remain 12 and promised 0 and req 0 -- as if deparsed True -- container_to_use phv1
1848 Group 2 32 bits -- avail 16 -- ingress avail 16 and remain 15 and promised 1 and req 1 -- egress avail 16 and remain 12 and promised 0 and req 0 -- as if deparsed True -- container_to_use phv32
1849 Group 3 32 bits -- avail 16 -- ingress avail 16 and remain 15 and promised 1 and req 1 -- egress avail 16 and remain 12 and promised 0 and req 0 -- as if deparsed True -- container_to_use phv48
1850***Allocating phv1[31:0] for ethernet.dstAddr[39:8]
1851Looking at ethernet.dstAddr (ingress) [7:0], with test_alloc = True
1852----> ethernet.dstAddr (ingress) is allocated? False
1853Looking at ethernet.srcAddr (ingress) [47:40], with test_alloc = True
1854
1855MAU groups: 5
1856 Group 8 16 bits -- avail 14 -- ingress avail 14 and remain 12 and promised 2 and req 2 -- egress avail 8 and remain 8 and promised 0 and req 0 -- as if deparsed True -- container_to_use phv131
1857 Group 10 16 bits -- avail 16 -- ingress avail 16 and remain 15 and promised 1 and req 1 -- egress avail 16 and remain 8 and promised 0 and req 0 -- as if deparsed True -- container_to_use phv160
1858 Group 11 16 bits -- avail 16 -- ingress avail 16 and remain 15 and promised 1 and req 1 -- egress avail 16 and remain 8 and promised 0 and req 0 -- as if deparsed True -- container_to_use phv176
1859 Group 12 16 bits -- avail 16 -- ingress avail 16 and remain 15 and promised 1 and req 1 -- egress avail 16 and remain 8 and promised 0 and req 0 -- as if deparsed True -- container_to_use phv192
1860 Group 13 16 bits -- avail 16 -- ingress avail 16 and remain 15 and promised 1 and req 1 -- egress avail 16 and remain 8 and promised 0 and req 0 -- as if deparsed True -- container_to_use phv208
1861***Allocating phv131[15:8] for ethernet.dstAddr[7:0]
1862***Allocating phv131[7:0] for ethernet.srcAddr[47:40]
1863Looking at ethernet.srcAddr (ingress) [39:32], with test_alloc = True
1864----> ethernet.srcAddr (ingress) is allocated? False
1865
1866MAU groups: 3
1867 Group 4 8 bits -- avail 14 -- ingress avail 14 and remain 13 and promised 1 and req 1 -- egress avail 8 and remain 8 and promised 0 and req 0 -- as if deparsed True -- container_to_use phv66
1868 Group 6 8 bits -- avail 16 -- ingress avail 16 and remain 15 and promised 1 and req 1 -- egress avail 16 and remain 8 and promised 0 and req 0 -- as if deparsed True -- container_to_use phv96
1869 Group 7 8 bits -- avail 16 -- ingress avail 16 and remain 15 and promised 1 and req 1 -- egress avail 16 and remain 8 and promised 0 and req 0 -- as if deparsed True -- container_to_use phv112
1870***Allocating phv66[7:0] for ethernet.srcAddr[39:32]
1871Looking at ethernet.srcAddr (ingress) [31:0], with test_alloc = True
1872----> ethernet.srcAddr (ingress) is allocated? False
1873
1874MAU groups: 3
1875 Group 0 32 bits -- avail 14 -- ingress avail 14 and remain 13 and promised 1 and req 1 -- egress avail 12 and remain 12 and promised 0 and req 0 -- as if deparsed True -- container_to_use phv2
1876 Group 2 32 bits -- avail 16 -- ingress avail 16 and remain 15 and promised 1 and req 1 -- egress avail 16 and remain 12 and promised 0 and req 0 -- as if deparsed True -- container_to_use phv32
1877 Group 3 32 bits -- avail 16 -- ingress avail 16 and remain 15 and promised 1 and req 1 -- egress avail 16 and remain 12 and promised 0 and req 0 -- as if deparsed True -- container_to_use phv48
1878***Allocating phv2[31:0] for ethernet.srcAddr[31:0]
1879Looking at ethernet.etherType (ingress) [15:0], with test_alloc = True
1880----> ethernet.etherType (ingress) is allocated? False
1881
1882MAU groups: 5
1883 Group 8 16 bits -- avail 13 -- ingress avail 13 and remain 11 and promised 2 and req 2 -- egress avail 8 and remain 8 and promised 0 and req 0 -- as if deparsed True -- container_to_use phv132
1884 Group 10 16 bits -- avail 16 -- ingress avail 16 and remain 15 and promised 1 and req 1 -- egress avail 16 and remain 8 and promised 0 and req 0 -- as if deparsed True -- container_to_use phv160
1885 Group 11 16 bits -- avail 16 -- ingress avail 16 and remain 15 and promised 1 and req 1 -- egress avail 16 and remain 8 and promised 0 and req 0 -- as if deparsed True -- container_to_use phv176
1886 Group 12 16 bits -- avail 16 -- ingress avail 16 and remain 15 and promised 1 and req 1 -- egress avail 16 and remain 8 and promised 0 and req 0 -- as if deparsed True -- container_to_use phv192
1887 Group 13 16 bits -- avail 16 -- ingress avail 16 and remain 15 and promised 1 and req 1 -- egress avail 16 and remain 8 and promised 0 and req 0 -- as if deparsed True -- container_to_use phv208
1888***Allocating phv132[15:0] for ethernet.etherType[15:0]
1889Packing options tried: 1
1890Packing options skipped: 0
1891
1892Working on parse node parse_ethernet (5) (egress)
1893
1894-------------------------------------------
1895Allocating parsed header: pkt fields (3) / meta fields (0) using extraction bandwidth 224
1896-------------------------------------------
1897Extracted bits: 112
1898Set metadata bits: 0
1899Gress: egress
1900bits_will_need_to_parse = 112
1901unused_metadata_container_bits = 0
1902min_parse_states = 1
1903bits_per_state = 112
1904Parse state 0 (112 bits)
1905 ethernet.dstAddr [47:0]
1906 ethernet.srcAddr [47:0]
1907 ethernet.etherType [15:0]
1908-----------------------------------------------------------------------------------------
1909| Name | BW | Tagalong? | Req | Pref | Not Allow | MaxSplit | Group Size |
1910-----------------------------------------------------------------------------------------
1911| ethernet.dstAddr | 48 | True | - | - | - | 6 | 1 |
1912| ethernet.srcAddr | 48 | True | - | - | - | 6 | 1 |
1913| ethernet.etherType | 16 | True | - | - | - | 2 | 1 |
1914-----------------------------------------------------------------------------------------
1915
1916min_extracts[8] = 1
1917min_extracts[16] = 1
1918min_extracts[32] = 1
1919Packing options: 604
1920MAU containers available:
1921 8-bit: 47
1922 16-bit: 78
1923 32-bit: 48
1924Tagalong containers available:
1925 8-bit: 20
1926 16-bit: 30
1927 32-bit: 18
1928Initial packing options: 604
1929
1930Packing option 0: [8, 32, 16, 8, 32, 16]
1931MAU containers after:
1932 8-bit: 47
1933 16-bit: 78
1934 32-bit: 48
1935+-----------------------------+
1936| ethernet.dstAddr [47:40] |
1937+-----------------------------+
1938| ethernet.dstAddr [39:8] |
1939+-----------------------------+
1940| ethernet.dstAddr [7:0] |
1941| ethernet.srcAddr [47:40] |
1942+-----------------------------+
1943| ethernet.srcAddr [39:32] |
1944+-----------------------------+
1945| ethernet.srcAddr [31:0] |
1946+-----------------------------+
1947| ethernet.etherType [15:0] |
1948+-----------------------------+
1949
1950Looking at ethernet.dstAddr (egress) [47:40], with test_alloc = True
1951----> ethernet.dstAddr (egress) is allocated? False
1952***Allocating phv300[7:0] for ethernet.dstAddr[47:40]
1953Looking at ethernet.dstAddr (egress) [39:8], with test_alloc = True
1954----> ethernet.dstAddr (egress) is allocated? False
1955***Allocating phv270[31:0] for ethernet.dstAddr[39:8]
1956Looking at ethernet.dstAddr (egress) [7:0], with test_alloc = True
1957----> ethernet.dstAddr (egress) is allocated? False
1958Looking at ethernet.srcAddr (egress) [47:40], with test_alloc = True
1959***Allocating phv338[15:8] for ethernet.dstAddr[7:0]
1960***Allocating phv338[7:0] for ethernet.srcAddr[47:40]
1961Looking at ethernet.srcAddr (egress) [39:32], with test_alloc = True
1962----> ethernet.srcAddr (egress) is allocated? False
1963***Allocating phv301[7:0] for ethernet.srcAddr[39:32]
1964Looking at ethernet.srcAddr (egress) [31:0], with test_alloc = True
1965----> ethernet.srcAddr (egress) is allocated? False
1966***Allocating phv271[31:0] for ethernet.srcAddr[31:0]
1967Looking at ethernet.etherType (egress) [15:0], with test_alloc = True
1968----> ethernet.etherType (egress) is allocated? False
1969***Allocating phv339[15:0] for ethernet.etherType[15:0]
1970Packing options tried: 1
1971Packing options skipped: 0
1972
1973Working on parse node egress_intrinsic_metadata (9) (egress)
1974
1975-------------------------------------------
1976Allocating parsed header: pkt fields (4) / meta fields (0) using extraction bandwidth 224
1977-------------------------------------------
1978Extracted bits: 24
1979Set metadata bits: 0
1980Gress: egress
1981bits_will_need_to_parse = 24
1982unused_metadata_container_bits = 0
1983min_parse_states = 1
1984bits_per_state = 24
1985Parse state 0 (24 bits)
1986 eg_intr_md._pad0 [6:0]
1987 eg_intr_md.egress_port [8:0]
1988 eg_intr_md._pad7 [4:0]
1989 eg_intr_md.egress_cos [2:0]
1990---------------------------------------------------------------------------------------------
1991| Name | BW | Tagalong? | Req | Pref | Not Allow | MaxSplit | Group Size |
1992---------------------------------------------------------------------------------------------
1993| eg_intr_md._pad0 | 7 | False | - | - | - | 1 | 1 |
1994| eg_intr_md.egress_port | 9 | False | - | - | [8] | 1 | 1 |
1995| eg_intr_md._pad7 | 5 | False | - | - | - | 1 | 1 |
1996| eg_intr_md.egress_cos | 3 | False | - | - | - | 1 | 1 |
1997---------------------------------------------------------------------------------------------
1998
1999min_extracts[8] = 1
2000min_extracts[16] = 1
2001min_extracts[32] = 1
2002Packing options: 3
2003MAU containers available:
2004 8-bit: 47
2005 16-bit: 78
2006 32-bit: 48
2007Tagalong containers available:
2008 8-bit: 18
2009 16-bit: 28
2010 32-bit: 16
2011Initial packing options: 3
2012
2013Packing option 1: [16, 8]
2014MAU containers after:
2015 8-bit: 46
2016 16-bit: 77
2017 32-bit: 48
2018+---------------------------------+
2019| eg_intr_md._pad0 [6:0] |
2020| eg_intr_md.egress_port [8:0] |
2021+---------------------------------+
2022| eg_intr_md._pad7 [4:0] |
2023| eg_intr_md.egress_cos [2:0] |
2024+---------------------------------+
2025
2026Looking at eg_intr_md._pad0 (egress) [6:0], with test_alloc = True
2027----> eg_intr_md._pad0 (egress) is allocated? False
2028Looking at eg_intr_md.egress_port (egress) [8:0], with test_alloc = True
2029Checking if can overlay metadata field.
2030No required PHV group.
2031 Group 9 16 bits -- deparsed True -- avail 15 and promised 2 -- ingress promised 0 and remain 0 and req 8 -- egress promised 2 and remain 13 and req 2 -- act like deparsed True -- container_to_use phv146 -- fails False
2032Could not find container to overlay in.
2033
2034MAU groups: 5
2035 Group 9 16 bits -- avail 15 -- ingress avail 8 and remain 8 and promised 0 and req 0 -- egress avail 15 and remain 13 and promised 2 and req 2 -- as if deparsed True -- container_to_use phv146
2036 Group 10 16 bits -- avail 16 -- ingress avail 16 and remain 8 and promised 0 and req 0 -- egress avail 16 and remain 15 and promised 1 and req 1 -- as if deparsed True -- container_to_use phv160
2037 Group 11 16 bits -- avail 16 -- ingress avail 16 and remain 8 and promised 0 and req 0 -- egress avail 16 and remain 15 and promised 1 and req 1 -- as if deparsed True -- container_to_use phv176
2038 Group 12 16 bits -- avail 16 -- ingress avail 16 and remain 8 and promised 0 and req 0 -- egress avail 16 and remain 15 and promised 1 and req 1 -- as if deparsed True -- container_to_use phv192
2039 Group 13 16 bits -- avail 16 -- ingress avail 16 and remain 8 and promised 0 and req 0 -- egress avail 16 and remain 15 and promised 1 and req 1 -- as if deparsed True -- container_to_use phv208
2040***Allocating phv146[15:9] for eg_intr_md._pad0[6:0]
2041***Allocating phv146[8:0] for eg_intr_md.egress_port[8:0]
2042Looking at eg_intr_md._pad7 (egress) [4:0], with test_alloc = True
2043----> eg_intr_md._pad7 (egress) is allocated? False
2044Looking at eg_intr_md.egress_cos (egress) [2:0], with test_alloc = True
2045Checking if can overlay metadata field.
2046No required PHV group.
2047 Group 5 8 bits -- deparsed True -- avail 15 and promised 1 -- ingress promised 0 and remain 0 and req 8 -- egress promised 1 and remain 14 and req 1 -- act like deparsed True -- container_to_use phv81 -- fails False
2048Could not find container to overlay in.
2049
2050MAU groups: 3
2051 Group 5 8 bits -- avail 15 -- ingress avail 8 and remain 8 and promised 0 and req 0 -- egress avail 15 and remain 14 and promised 1 and req 1 -- as if deparsed True -- container_to_use phv81
2052 Group 6 8 bits -- avail 16 -- ingress avail 16 and remain 8 and promised 0 and req 0 -- egress avail 16 and remain 15 and promised 1 and req 1 -- as if deparsed True -- container_to_use phv96
2053 Group 7 8 bits -- avail 16 -- ingress avail 16 and remain 8 and promised 0 and req 0 -- egress avail 16 and remain 15 and promised 1 and req 1 -- as if deparsed True -- container_to_use phv112
2054***Allocating phv81[7:3] for eg_intr_md._pad7[4:0]
2055***Allocating phv81[2:0] for eg_intr_md.egress_cos[2:0]
2056Packing options tried: 2
2057Packing options skipped: 0
2058Failure Reasons:
2059 Field in disallowed list (case 3) -- tried 1 variants
2060 field: eg_intr_md.egress_port
2061 with constraints: [
2062 ParsedAlignment Constraint: eg_intr_md.egress_cos <3 bits egress parsed imeta> -- lsb bit: 0
2063 MaxFieldSplit Constraint: eg_intr_md.egress_cos <3 bits egress parsed imeta> -- max split: 1
2064 RightAdjacentAlignment Constraint: (left) eg_intr_md._pad7 <5 bits egress parsed imeta> -- (right) eg_intr_md.egress_cos <3 bits egress parsed imeta>
2065 ContainerAlignment Constraint: eg_intr_md.egress_cos <3 bits egress parsed imeta> -- field_bit: 0 -- bits_list: [0, 1, 2, 3, 4, 5, 6, 7]
2066]
2067
2068Working on parse node ingress_intrinsic_metadata (9) (ingress)
2069
2070-------------------------------------------
2071Allocating parsed header: pkt fields (5) / meta fields (0) using extraction bandwidth 224
2072-------------------------------------------
2073Extracted bits: 16
2074Set metadata bits: 0
2075Gress: ingress
2076bits_will_need_to_parse = 16
2077unused_metadata_container_bits = 0
2078min_parse_states = 1
2079bits_per_state = 16
2080Already allocated? ig_intr_md.resubmit_flag (ingress)
2081Already allocated? ig_intr_md._pad1 (ingress)
2082Already allocated? ig_intr_md._pad2 (ingress)
2083Already allocated? ig_intr_md._pad3 (ingress)
2084Already allocated? ig_intr_md.ingress_port (ingress)
2085Already allocated? ig_intr_md.ingress_port (ingress)
2086Parse state 0 (16 bits)
2087 ig_intr_md.resubmit_flag [0:0]
2088 ig_intr_md._pad1 [0:0]
2089 ig_intr_md._pad2 [1:0]
2090 ig_intr_md._pad3 [2:0]
2091 ig_intr_md.ingress_port [8:0]
2092-----------------------------------------------------------------------------------------------------
2093| Name | BW | Tagalong? | Req | Pref | Not Allow | MaxSplit | Group Size |
2094-----------------------------------------------------------------------------------------------------
2095| ig_intr_md.resubmit_flag | 1 | False | [(16, 1)] | - | - | 1 | 1 |
2096| ig_intr_md._pad1 | 1 | False | [(16, 1)] | - | - | 1 | 1 |
2097| ig_intr_md._pad2 | 2 | False | [(16, 2)] | - | - | 1 | 1 |
2098| ig_intr_md._pad3 | 3 | False | [(16, 3)] | - | - | 1 | 1 |
2099| ig_intr_md.ingress_port | 9 | False | [(16, 9)] | - | - | 2 | 1 |
2100-----------------------------------------------------------------------------------------------------
2101
2102min_extracts[8] = 1
2103min_extracts[16] = 6
2104min_extracts[32] = 1
2105Packing options: 2
2106MAU containers available:
2107 8-bit: 45
2108 16-bit: 75
2109 32-bit: 45
2110Tagalong containers available:
2111 8-bit: 20
2112 16-bit: 30
2113 32-bit: 18
2114Initial packing options: 2
2115
2116Packing option 0: [16]
2117MAU containers after:
2118 8-bit: 45
2119 16-bit: 75
2120 32-bit: 45
2121+-----------------------------------+
2122| ig_intr_md.resubmit_flag [0:0] |
2123| ig_intr_md._pad1 [0:0] |
2124| ig_intr_md._pad2 [1:0] |
2125| ig_intr_md._pad3 [2:0] |
2126| ig_intr_md.ingress_port [8:0] |
2127+-----------------------------------+
2128
2129Looking at ig_intr_md.resubmit_flag (ingress) [0:0], with test_alloc = True
2130----> ig_intr_md.resubmit_flag (ingress) is allocated? True
2131Looking at ig_intr_md._pad1 (ingress) [0:0], with test_alloc = True
2132----> ig_intr_md._pad1 (ingress) is allocated? True
2133Looking at ig_intr_md._pad2 (ingress) [1:0], with test_alloc = True
2134----> ig_intr_md._pad2 (ingress) is allocated? True
2135Looking at ig_intr_md._pad3 (ingress) [2:0], with test_alloc = True
2136----> ig_intr_md._pad3 (ingress) is allocated? True
2137Looking at ig_intr_md.ingress_port (ingress) [8:0], with test_alloc = True
2138----> ig_intr_md.ingress_port (ingress) is allocated? True
2139Fields for container 16 at index 0 already allocated. No need to overlay or allocate new.
2140 ig_intr_md.resubmit_flag[0:0]
2141 ig_intr_md._pad1[0:0]
2142 ig_intr_md._pad2[1:0]
2143 ig_intr_md._pad3[2:0]
2144 ig_intr_md.ingress_port[8:0]
2145Packing options tried: 1
2146Packing options skipped: 0
2147
2148Working on parse node parse_pkt_out (4) (egress)
2149
2150-------------------------------------------
2151Allocating parsed header: pkt fields (2) / meta fields (0) using extraction bandwidth 224
2152-------------------------------------------
2153Extracted bits: 16
2154Set metadata bits: 0
2155Gress: egress
2156bits_will_need_to_parse = 16
2157unused_metadata_container_bits = 0
2158min_parse_states = 1
2159bits_per_state = 16
2160Parse state 0 (16 bits)
2161 packet_out_hdr.egress_port [8:0]
2162 packet_out_hdr._padding [6:0]
2163-------------------------------------------------------------------------------------------------
2164| Name | BW | Tagalong? | Req | Pref | Not Allow | MaxSplit | Group Size |
2165-------------------------------------------------------------------------------------------------
2166| packet_out_hdr.egress_port | 9 | True | - | - | [32] | 2 | 1 |
2167| packet_out_hdr._padding | 7 | True | - | - | [32] | 1 | 1 |
2168-------------------------------------------------------------------------------------------------
2169
2170min_extracts[8] = 1
2171min_extracts[16] = 1
2172min_extracts[32] = 1
2173Packing options: 2
2174MAU containers available:
2175 8-bit: 46
2176 16-bit: 77
2177 32-bit: 48
2178Tagalong containers available:
2179 8-bit: 18
2180 16-bit: 28
2181 32-bit: 16
2182Initial packing options: 2
2183
2184Packing option 0: [16]
2185MAU containers after:
2186 8-bit: 46
2187 16-bit: 77
2188 32-bit: 48
2189+-------------------------------------+
2190| packet_out_hdr.egress_port [8:0] |
2191| packet_out_hdr._padding [6:0] |
2192+-------------------------------------+
2193
2194Looking at packet_out_hdr.egress_port (egress) [8:0], with test_alloc = True
2195----> packet_out_hdr.egress_port (egress) is allocated? False
2196Looking at packet_out_hdr._padding (egress) [6:0], with test_alloc = True
2197***Allocating phv340[15:7] for packet_out_hdr.egress_port[8:0]
2198***Allocating phv340[6:0] for packet_out_hdr._padding[6:0]
2199Packing options tried: 1
2200Packing options skipped: 0
2201
2202Working on parse node start (1) ()
2203Working on parse node default_parser (3) ()
2204Working on parse node --ingress-- (0) ()
2205Working on parse node start (1) ()
2206Working on parse node default_parser (3) ()
2207Working on parse node egress_for_mirror_buffer (10) ()
2208Working on parse node --egress-- (0) ()
2209
2210After allocating critical parse paths:
2211Allocation state: Final Allocation
2212------------------------------------------------------------------------------
2213| PHV Group | Containers Used | Bits Used | Bits Available |
2214| (container bit widths) | (% used) | (% used) | |
2215------------------------------------------------------------------------------
2216| 0 (32) | 3 (18.75%) | 96 (18.75%) | 512 |
2217| 1 (32) | 0 (0.00%) | 0 (0.00%) | 512 |
2218| 2 (32) | 0 (0.00%) | 0 (0.00%) | 512 |
2219| 3 (32) | 0 (0.00%) | 0 (0.00%) | 512 |
2220| Total for 32 bit | 3 (4.69%) | 96 (4.69%) | 2048 |
2221| | | | |
2222| 4 (8) | 3 (18.75%) | 24 (18.75%) | 128 |
2223| 5 (8) | 2 (12.50%) | 16 (12.50%) | 128 |
2224| 6 (8) | 0 (0.00%) | 0 (0.00%) | 128 |
2225| 7 (8) | 0 (0.00%) | 0 (0.00%) | 128 |
2226| Total for 8 bit | 5 (7.81%) | 40 (7.81%) | 512 |
2227| | | | |
2228| 8 (16) | 4 (25.00%) | 64 (25.00%) | 256 |
2229| 9 (16) | 2 (12.50%) | 32 (12.50%) | 256 |
2230| 10 (16) | 0 (0.00%) | 0 (0.00%) | 256 |
2231| 11 (16) | 0 (0.00%) | 0 (0.00%) | 256 |
2232| 12 (16) | 0 (0.00%) | 0 (0.00%) | 256 |
2233| 13 (16) | 0 (0.00%) | 0 (0.00%) | 256 |
2234| Total for 16 bit | 6 (6.25%) | 96 (6.25%) | 1536 |
2235| | | | |
2236| 14 (32) T | 14 (87.50%) | 448 (87.50%) | 512 |
2237| 15 (32) T | 0 (0.00%) | 0 (0.00%) | 512 |
2238| Total for 32 bit | 14 (43.75%) | 448 (43.75%) | 1024 |
2239| | | | |
2240| 16 (8) T | 10 (62.50%) | 80 (62.50%) | 128 |
2241| 17 (8) T | 0 (0.00%) | 0 (0.00%) | 128 |
2242| Total for 8 bit | 10 (31.25%) | 80 (31.25%) | 256 |
2243| | | | |
2244| 18 (16) T | 10 (62.50%) | 160 (62.50%) | 256 |
2245| 19 (16) T | 5 (31.25%) | 80 (31.25%) | 256 |
2246| 20 (16) T | 0 (0.00%) | 0 (0.00%) | 256 |
2247| Total for 16 bit | 15 (31.25%) | 240 (31.25%) | 768 |
2248| | | | |
2249| MAU total | 14 (6.25%) | 232 (5.66%) | 4096 |
2250| Tagalong total | 39 (34.82%) | 768 (37.50%) | 2048 |
2251| Overall total | 53 (15.77%) | 1000 (16.28%) | 6144 |
2252------------------------------------------------------------------------------
2253
2254>>Event 'pa_overlay' at time 1504792579.77
2255 Took 8.93 seconds
2256
2257-----------------------------------------------
2258 Allocating remaining parsed fields
2259-----------------------------------------------
2260Allocation Step
2261
2262All Sorted parse nodes (non-critical):
2263 parse_pkt_in (egress) with bits = 16 and max = 2
2264 parse_udp (ingress) with bits = 64 and max = 1
2265 parse_udp (egress) with bits = 64 and max = 1
2266 parse_pkt_in (ingress) with bits = 16 and max = 1
2267Total packet bits: 160
2268Total meta bits: 0
2269Total bits: 160
2270Working on parse node parse_pkt_in (2) (egress)
2271
2272-------------------------------------------
2273Overlaying parsed header: pkt fields (2) / meta fields (0) using extraction bandwidth 224
2274-------------------------------------------
2275Extracted bits: 16
2276Set metadata bits: 0
2277Gress: egress
2278bits_will_need_to_parse = 16
2279unused_metadata_container_bits = 0
2280min_parse_states = 1
2281bits_per_state = 16
2282Parse state 0 (16 bits)
2283 packet_in_hdr.ingress_port [8:0]
2284 packet_in_hdr._padding [6:0]
2285-------------------------------------------------------------------------------------------------------
2286| Name | BW | Tagalong? | Req | Pref | Not Allow | MaxSplit | Group Size |
2287-------------------------------------------------------------------------------------------------------
2288| packet_in_hdr.ingress_port | 9 | False | [(16, 9)] | - | [32] | 2 | 2 |
2289| packet_in_hdr._padding | 7 | True | - | - | [32] | 1 | 1 |
2290-------------------------------------------------------------------------------------------------------
2291
2292MAU containers available:
2293 8-bit: 46
2294 16-bit: 77
2295 32-bit: 48
2296Packing options: 2
2297Initial packing options: 2
2298
2299Packing option 0: [16]
2300>>Can pack using [16] if open up 1 new containers.
2301Packing options tried: 2
2302Packing options skipped: 0
2303Trying to place using best packing [16]
2304***Allocating phv145[15:7] for packet_in_hdr.ingress_port[8:0]
2305***Allocating phv145[6:0] for packet_in_hdr._padding[6:0]
2306Working on parse node parse_udp (8) (ingress)
2307
2308-------------------------------------------
2309Overlaying parsed header: pkt fields (4) / meta fields (0) using extraction bandwidth 224
2310-------------------------------------------
2311Extracted bits: 64
2312Set metadata bits: 0
2313Gress: ingress
2314bits_will_need_to_parse = 64
2315unused_metadata_container_bits = 0
2316min_parse_states = 1
2317bits_per_state = 64
2318Parse state 0 (64 bits)
2319 udp.srcPort [15:0]
2320 udp.dstPort [15:0]
2321 udp.length_ [15:0]
2322 udp.checksum [15:0]
2323-----------------------------------------------------------------------------------
2324| Name | BW | Tagalong? | Req | Pref | Not Allow | MaxSplit | Group Size |
2325-----------------------------------------------------------------------------------
2326| udp.srcPort | 16 | True | - | - | - | 2 | 1 |
2327| udp.dstPort | 16 | True | - | - | - | 2 | 1 |
2328| udp.length_ | 16 | True | - | - | - | 2 | 1 |
2329| udp.checksum | 16 | True | - | - | - | 2 | 1 |
2330-----------------------------------------------------------------------------------
2331
2332MAU containers available:
2333 8-bit: 45
2334 16-bit: 75
2335 32-bit: 45
2336Packing options: 47
2337Initial packing options: 47
2338
2339Packing option 0: [8, 8, 16, 32]
2340>>Can pack using [8, 8, 16, 32] if open up 0 new containers.
2341Packing options tried: 1
2342Packing options skipped: 0
2343Trying to place using best packing [8, 8, 16, 32]
2344***Allocating phv290[7:0] for udp.srcPort[15:8]
2345***Allocating phv291[7:0] for udp.srcPort[7:0]
2346***Allocating phv323[15:0] for udp.dstPort[15:0]
2347***Allocating phv259[31:16] for udp.length_[15:0]
2348***Allocating phv259[15:0] for udp.checksum[15:0]
2349Working on parse node parse_udp (8) (egress)
2350
2351-------------------------------------------
2352Overlaying parsed header: pkt fields (4) / meta fields (0) using extraction bandwidth 224
2353-------------------------------------------
2354Extracted bits: 64
2355Set metadata bits: 0
2356Gress: egress
2357bits_will_need_to_parse = 64
2358unused_metadata_container_bits = 0
2359min_parse_states = 1
2360bits_per_state = 64
2361Parse state 0 (64 bits)
2362 udp.srcPort [15:0]
2363 udp.dstPort [15:0]
2364 udp.length_ [15:0]
2365 udp.checksum [15:0]
2366-----------------------------------------------------------------------------------
2367| Name | BW | Tagalong? | Req | Pref | Not Allow | MaxSplit | Group Size |
2368-----------------------------------------------------------------------------------
2369| udp.srcPort | 16 | True | - | - | - | 2 | 1 |
2370| udp.dstPort | 16 | True | - | - | - | 2 | 1 |
2371| udp.length_ | 16 | True | - | - | - | 2 | 1 |
2372| udp.checksum | 16 | True | - | - | - | 2 | 1 |
2373-----------------------------------------------------------------------------------
2374
2375MAU containers available:
2376 8-bit: 46
2377 16-bit: 77
2378 32-bit: 48
2379Packing options: 47
2380Initial packing options: 47
2381
2382Packing option 0: [8, 8, 16, 32]
2383>>Can pack using [8, 8, 16, 32] if open up 0 new containers.
2384Packing options tried: 1
2385Packing options skipped: 0
2386Trying to place using best packing [8, 8, 16, 32]
2387***Allocating phv298[7:0] for udp.srcPort[15:8]
2388***Allocating phv299[7:0] for udp.srcPort[7:0]
2389***Allocating phv336[15:0] for udp.dstPort[15:0]
2390***Allocating phv267[31:16] for udp.length_[15:0]
2391***Allocating phv267[15:0] for udp.checksum[15:0]
2392Working on parse node parse_pkt_in (2) (ingress)
2393
2394-------------------------------------------
2395Overlaying parsed header: pkt fields (2) / meta fields (0) using extraction bandwidth 224
2396-------------------------------------------
2397Extracted bits: 16
2398Set metadata bits: 0
2399Gress: ingress
2400bits_will_need_to_parse = 16
2401unused_metadata_container_bits = 0
2402min_parse_states = 1
2403bits_per_state = 16
2404Parse state 0 (16 bits)
2405 packet_in_hdr.ingress_port [8:0]
2406 packet_in_hdr._padding [6:0]
2407-------------------------------------------------------------------------------------------------
2408| Name | BW | Tagalong? | Req | Pref | Not Allow | MaxSplit | Group Size |
2409-------------------------------------------------------------------------------------------------
2410| packet_in_hdr.ingress_port | 9 | True | - | - | [32] | 2 | 1 |
2411| packet_in_hdr._padding | 7 | True | - | - | [32] | 1 | 1 |
2412-------------------------------------------------------------------------------------------------
2413
2414MAU containers available:
2415 8-bit: 45
2416 16-bit: 75
2417 32-bit: 45
2418Packing options: 2
2419Initial packing options: 2
2420
2421Packing option 0: [16]
2422>>Can pack using [16] if open up 0 new containers.
2423Packing options tried: 1
2424Packing options skipped: 0
2425Trying to place using best packing [16]
2426***Allocating phv129[15:7] for packet_in_hdr.ingress_port[8:0]
2427***Allocating phv129[6:0] for packet_in_hdr._padding[6:0]
2428
2429After allocating remaining parse nodes:
2430Allocation state: Final Allocation
2431------------------------------------------------------------------------------
2432| PHV Group | Containers Used | Bits Used | Bits Available |
2433| (container bit widths) | (% used) | (% used) | |
2434------------------------------------------------------------------------------
2435| 0 (32) | 3 (18.75%) | 96 (18.75%) | 512 |
2436| 1 (32) | 0 (0.00%) | 0 (0.00%) | 512 |
2437| 2 (32) | 0 (0.00%) | 0 (0.00%) | 512 |
2438| 3 (32) | 0 (0.00%) | 0 (0.00%) | 512 |
2439| Total for 32 bit | 3 (4.69%) | 96 (4.69%) | 2048 |
2440| | | | |
2441| 4 (8) | 3 (18.75%) | 24 (18.75%) | 128 |
2442| 5 (8) | 2 (12.50%) | 16 (12.50%) | 128 |
2443| 6 (8) | 0 (0.00%) | 0 (0.00%) | 128 |
2444| 7 (8) | 0 (0.00%) | 0 (0.00%) | 128 |
2445| Total for 8 bit | 5 (7.81%) | 40 (7.81%) | 512 |
2446| | | | |
2447| 8 (16) | 4 (25.00%) | 64 (25.00%) | 256 |
2448| 9 (16) | 3 (18.75%) | 48 (18.75%) | 256 |
2449| 10 (16) | 0 (0.00%) | 0 (0.00%) | 256 |
2450| 11 (16) | 0 (0.00%) | 0 (0.00%) | 256 |
2451| 12 (16) | 0 (0.00%) | 0 (0.00%) | 256 |
2452| 13 (16) | 0 (0.00%) | 0 (0.00%) | 256 |
2453| Total for 16 bit | 7 (7.29%) | 112 (7.29%) | 1536 |
2454| | | | |
2455| 14 (32) T | 14 (87.50%) | 448 (87.50%) | 512 |
2456| 15 (32) T | 0 (0.00%) | 0 (0.00%) | 512 |
2457| Total for 32 bit | 14 (43.75%) | 448 (43.75%) | 1024 |
2458| | | | |
2459| 16 (8) T | 10 (62.50%) | 80 (62.50%) | 128 |
2460| 17 (8) T | 0 (0.00%) | 0 (0.00%) | 128 |
2461| Total for 8 bit | 10 (31.25%) | 80 (31.25%) | 256 |
2462| | | | |
2463| 18 (16) T | 10 (62.50%) | 160 (62.50%) | 256 |
2464| 19 (16) T | 5 (31.25%) | 80 (31.25%) | 256 |
2465| 20 (16) T | 0 (0.00%) | 0 (0.00%) | 256 |
2466| Total for 16 bit | 15 (31.25%) | 240 (31.25%) | 768 |
2467| | | | |
2468| MAU total | 15 (6.70%) | 248 (6.05%) | 4096 |
2469| Tagalong total | 39 (34.82%) | 768 (37.50%) | 2048 |
2470| Overall total | 54 (16.07%) | 1016 (16.54%) | 6144 |
2471------------------------------------------------------------------------------
2472
2473
2474
2475Difference in allocation between critical parse path and overlaying headers:
2476Allocation state: Diff
2477---------------------------------------------------------------------------
2478| PHV Group | Containers Used | Bits Used | Bits Available |
2479| (container bit widths) | (% used) | (% used) | |
2480---------------------------------------------------------------------------
2481| 0 (32) | 0 (0.00%) | 0 (0.00%) | 512 |
2482| 1 (32) | 0 (0.00%) | 0 (0.00%) | 512 |
2483| 2 (32) | 0 (0.00%) | 0 (0.00%) | 512 |
2484| 3 (32) | 0 (0.00%) | 0 (0.00%) | 512 |
2485| Total for 32 bit | 0 (0.00%) | 0 (0.00%) | 2048 |
2486| | | | |
2487| 4 (8) | 0 (0.00%) | 0 (0.00%) | 128 |
2488| 5 (8) | 0 (0.00%) | 0 (0.00%) | 128 |
2489| 6 (8) | 0 (0.00%) | 0 (0.00%) | 128 |
2490| 7 (8) | 0 (0.00%) | 0 (0.00%) | 128 |
2491| Total for 8 bit | 0 (0.00%) | 0 (0.00%) | 512 |
2492| | | | |
2493| 8 (16) | 0 (0.00%) | 0 (0.00%) | 256 |
2494| 9 (16) | 1 (6.25%) | 16 (6.25%) | 256 |
2495| 10 (16) | 0 (0.00%) | 0 (0.00%) | 256 |
2496| 11 (16) | 0 (0.00%) | 0 (0.00%) | 256 |
2497| 12 (16) | 0 (0.00%) | 0 (0.00%) | 256 |
2498| 13 (16) | 0 (0.00%) | 0 (0.00%) | 256 |
2499| Total for 16 bit | 1 (1.04%) | 16 (1.04%) | 1536 |
2500| | | | |
2501| 14 (32) T | 0 (0.00%) | 0 (0.00%) | 512 |
2502| 15 (32) T | 0 (0.00%) | 0 (0.00%) | 512 |
2503| Total for 32 bit | 0 (0.00%) | 0 (0.00%) | 1024 |
2504| | | | |
2505| 16 (8) T | 0 (0.00%) | 0 (0.00%) | 128 |
2506| 17 (8) T | 0 (0.00%) | 0 (0.00%) | 128 |
2507| Total for 8 bit | 0 (0.00%) | 0 (0.00%) | 256 |
2508| | | | |
2509| 18 (16) T | 0 (0.00%) | 0 (0.00%) | 256 |
2510| 19 (16) T | 0 (0.00%) | 0 (0.00%) | 256 |
2511| 20 (16) T | 0 (0.00%) | 0 (0.00%) | 256 |
2512| Total for 16 bit | 0 (0.00%) | 0 (0.00%) | 768 |
2513| | | | |
2514| MAU total | 1 (0.45%) | 16 (0.39%) | 4096 |
2515| Tagalong total | 0 (0.00%) | 0 (0.00%) | 2048 |
2516| Overall total | 1 (0.30%) | 16 (0.26%) | 6144 |
2517---------------------------------------------------------------------------
2518
2519>>Event 'pa_meta1' at time 1504792580.28
2520 Took 0.50 seconds
2521
2522-----------------------------------------------
2523 Allocating metadata (pass 1)
2524-----------------------------------------------
2525Allocation Step
2526Total metadata field instances to allocate: 2 / 12 bits (12 ingress bits and 0 egress bits)
2527Promised metadata field instances to allocate: 1 / 9 bits (9 ingress bits and 0 egress bits)
2528 0: ig_intr_md_for_tm.ucast_egress_port (ingress) (highly=0, mau_group_size=2, max_overlay=0, max_share=0, max_split=1, bit_width=9, initial_usage_read=3, earliest_use=0, latest_use=12)
2529
2530--------------
2531Working on:
2532ig_intr_md_for_tm.ucast_egress_port <9 bits ingress imeta R W>
2533bits_will_need_to_parse = 9
2534unused_metadata_container_bits = 0
2535min_parse_states = 1
2536bits_per_state = 16
2537extracted_bits = 9 while meta_fi.bit_width = 9
2538Parse state 0 (9 bits)
2539 ig_intr_md_for_tm.ucast_egress_port [8:0]
2540----------------------------------------------------------------------------------------------------------------
2541| Name | BW | Tagalong? | Req | Pref | Not Allow | MaxSplit | Group Size |
2542----------------------------------------------------------------------------------------------------------------
2543| ig_intr_md_for_tm.ucast_egress_port | 9 | False | [(16, 9)] | - | [8, 32] | 1 | 2 |
2544----------------------------------------------------------------------------------------------------------------
2545
2546max_split = 1, adj = False
2547required_packing = [(16, 9)]
2548Packing options: 1
2549Valid packing options: 1
2550
2551Attempting to overlay...
2552 [16]
2553 case 2: looking at allowed start bits [0]
2554 final start_bit = 0
2555 (1) msb_offset = 9
2556>> HEY!: Adjusted msb_offset!
2557>>Can pack using [16] if open up 1 new containers.
2558
2559Attempting to share...
2560
2561 [16]
2562 (2a) msb_offset = 16
2563>>Can pack using [16] if open up 1 new containers.
2564
2565>>Choose overlay option
2566 case 2: looking at allowed start bits [0]
2567 final start_bit = 0
2568 (1) msb_offset = 9
2569>> HEY!: Adjusted msb_offset!
2570***Allocating phv130[8:0] for ig_intr_md_for_tm.ucast_egress_port[8:0]
2571Allocation state after promised meta allocated:
2572Allocation state: Final Allocation
2573------------------------------------------------------------------------------
2574| PHV Group | Containers Used | Bits Used | Bits Available |
2575| (container bit widths) | (% used) | (% used) | |
2576------------------------------------------------------------------------------
2577| 0 (32) | 3 (18.75%) | 96 (18.75%) | 512 |
2578| 1 (32) | 0 (0.00%) | 0 (0.00%) | 512 |
2579| 2 (32) | 0 (0.00%) | 0 (0.00%) | 512 |
2580| 3 (32) | 0 (0.00%) | 0 (0.00%) | 512 |
2581| Total for 32 bit | 3 (4.69%) | 96 (4.69%) | 2048 |
2582| | | | |
2583| 4 (8) | 3 (18.75%) | 24 (18.75%) | 128 |
2584| 5 (8) | 2 (12.50%) | 16 (12.50%) | 128 |
2585| 6 (8) | 0 (0.00%) | 0 (0.00%) | 128 |
2586| 7 (8) | 0 (0.00%) | 0 (0.00%) | 128 |
2587| Total for 8 bit | 5 (7.81%) | 40 (7.81%) | 512 |
2588| | | | |
2589| 8 (16) | 5 (31.25%) | 73 (28.52%) | 256 |
2590| 9 (16) | 3 (18.75%) | 48 (18.75%) | 256 |
2591| 10 (16) | 0 (0.00%) | 0 (0.00%) | 256 |
2592| 11 (16) | 0 (0.00%) | 0 (0.00%) | 256 |
2593| 12 (16) | 0 (0.00%) | 0 (0.00%) | 256 |
2594| 13 (16) | 0 (0.00%) | 0 (0.00%) | 256 |
2595| Total for 16 bit | 8 (8.33%) | 121 (7.88%) | 1536 |
2596| | | | |
2597| 14 (32) T | 14 (87.50%) | 448 (87.50%) | 512 |
2598| 15 (32) T | 0 (0.00%) | 0 (0.00%) | 512 |
2599| Total for 32 bit | 14 (43.75%) | 448 (43.75%) | 1024 |
2600| | | | |
2601| 16 (8) T | 10 (62.50%) | 80 (62.50%) | 128 |
2602| 17 (8) T | 0 (0.00%) | 0 (0.00%) | 128 |
2603| Total for 8 bit | 10 (31.25%) | 80 (31.25%) | 256 |
2604| | | | |
2605| 18 (16) T | 10 (62.50%) | 160 (62.50%) | 256 |
2606| 19 (16) T | 5 (31.25%) | 80 (31.25%) | 256 |
2607| 20 (16) T | 0 (0.00%) | 0 (0.00%) | 256 |
2608| Total for 16 bit | 15 (31.25%) | 240 (31.25%) | 768 |
2609| | | | |
2610| MAU total | 16 (7.14%) | 257 (6.27%) | 4096 |
2611| Tagalong total | 39 (34.82%) | 768 (37.50%) | 2048 |
2612| Overall total | 55 (16.37%) | 1025 (16.68%) | 6144 |
2613------------------------------------------------------------------------------
2614
2615Allocation state difference after promised meta allocated:
2616Allocation state: Diff
2617--------------------------------------------------------------------------
2618| PHV Group | Containers Used | Bits Used | Bits Available |
2619| (container bit widths) | (% used) | (% used) | |
2620--------------------------------------------------------------------------
2621| 0 (32) | 0 (0.00%) | 0 (0.00%) | 512 |
2622| 1 (32) | 0 (0.00%) | 0 (0.00%) | 512 |
2623| 2 (32) | 0 (0.00%) | 0 (0.00%) | 512 |
2624| 3 (32) | 0 (0.00%) | 0 (0.00%) | 512 |
2625| Total for 32 bit | 0 (0.00%) | 0 (0.00%) | 2048 |
2626| | | | |
2627| 4 (8) | 0 (0.00%) | 0 (0.00%) | 128 |
2628| 5 (8) | 0 (0.00%) | 0 (0.00%) | 128 |
2629| 6 (8) | 0 (0.00%) | 0 (0.00%) | 128 |
2630| 7 (8) | 0 (0.00%) | 0 (0.00%) | 128 |
2631| Total for 8 bit | 0 (0.00%) | 0 (0.00%) | 512 |
2632| | | | |
2633| 8 (16) | 1 (6.25%) | 9 (3.52%) | 256 |
2634| 9 (16) | 0 (0.00%) | 0 (0.00%) | 256 |
2635| 10 (16) | 0 (0.00%) | 0 (0.00%) | 256 |
2636| 11 (16) | 0 (0.00%) | 0 (0.00%) | 256 |
2637| 12 (16) | 0 (0.00%) | 0 (0.00%) | 256 |
2638| 13 (16) | 0 (0.00%) | 0 (0.00%) | 256 |
2639| Total for 16 bit | 1 (1.04%) | 9 (0.59%) | 1536 |
2640| | | | |
2641| 14 (32) T | 0 (0.00%) | 0 (0.00%) | 512 |
2642| 15 (32) T | 0 (0.00%) | 0 (0.00%) | 512 |
2643| Total for 32 bit | 0 (0.00%) | 0 (0.00%) | 1024 |
2644| | | | |
2645| 16 (8) T | 0 (0.00%) | 0 (0.00%) | 128 |
2646| 17 (8) T | 0 (0.00%) | 0 (0.00%) | 128 |
2647| Total for 8 bit | 0 (0.00%) | 0 (0.00%) | 256 |
2648| | | | |
2649| 18 (16) T | 0 (0.00%) | 0 (0.00%) | 256 |
2650| 19 (16) T | 0 (0.00%) | 0 (0.00%) | 256 |
2651| 20 (16) T | 0 (0.00%) | 0 (0.00%) | 256 |
2652| Total for 16 bit | 0 (0.00%) | 0 (0.00%) | 768 |
2653| | | | |
2654| MAU total | 1 (0.45%) | 9 (0.22%) | 4096 |
2655| Tagalong total | 0 (0.00%) | 0 (0.00%) | 2048 |
2656| Overall total | 1 (0.30%) | 9 (0.15%) | 6144 |
2657--------------------------------------------------------------------------
2658
2659Sorted metadata field instances to allocate: 0 / 0 bits (0 ingress bits and 0 egress bits)
2660>>Event 'pa_pov' at time 1504792580.33
2661 Took 0.05 seconds
2662
2663-----------------------------------------------
2664 Allocating POV
2665-----------------------------------------------
2666Allocation Step
2667Allocation state: Final Allocation
2668------------------------------------------------------------------------------
2669| PHV Group | Containers Used | Bits Used | Bits Available |
2670| (container bit widths) | (% used) | (% used) | |
2671------------------------------------------------------------------------------
2672| 0 (32) | 3 (18.75%) | 96 (18.75%) | 512 |
2673| 1 (32) | 0 (0.00%) | 0 (0.00%) | 512 |
2674| 2 (32) | 0 (0.00%) | 0 (0.00%) | 512 |
2675| 3 (32) | 0 (0.00%) | 0 (0.00%) | 512 |
2676| Total for 32 bit | 3 (4.69%) | 96 (4.69%) | 2048 |
2677| | | | |
2678| 4 (8) | 3 (18.75%) | 24 (18.75%) | 128 |
2679| 5 (8) | 2 (12.50%) | 16 (12.50%) | 128 |
2680| 6 (8) | 0 (0.00%) | 0 (0.00%) | 128 |
2681| 7 (8) | 0 (0.00%) | 0 (0.00%) | 128 |
2682| Total for 8 bit | 5 (7.81%) | 40 (7.81%) | 512 |
2683| | | | |
2684| 8 (16) | 5 (31.25%) | 73 (28.52%) | 256 |
2685| 9 (16) | 3 (18.75%) | 48 (18.75%) | 256 |
2686| 10 (16) | 0 (0.00%) | 0 (0.00%) | 256 |
2687| 11 (16) | 0 (0.00%) | 0 (0.00%) | 256 |
2688| 12 (16) | 0 (0.00%) | 0 (0.00%) | 256 |
2689| 13 (16) | 0 (0.00%) | 0 (0.00%) | 256 |
2690| Total for 16 bit | 8 (8.33%) | 121 (7.88%) | 1536 |
2691| | | | |
2692| 14 (32) T | 14 (87.50%) | 448 (87.50%) | 512 |
2693| 15 (32) T | 0 (0.00%) | 0 (0.00%) | 512 |
2694| Total for 32 bit | 14 (43.75%) | 448 (43.75%) | 1024 |
2695| | | | |
2696| 16 (8) T | 10 (62.50%) | 80 (62.50%) | 128 |
2697| 17 (8) T | 0 (0.00%) | 0 (0.00%) | 128 |
2698| Total for 8 bit | 10 (31.25%) | 80 (31.25%) | 256 |
2699| | | | |
2700| 18 (16) T | 10 (62.50%) | 160 (62.50%) | 256 |
2701| 19 (16) T | 5 (31.25%) | 80 (31.25%) | 256 |
2702| 20 (16) T | 0 (0.00%) | 0 (0.00%) | 256 |
2703| Total for 16 bit | 15 (31.25%) | 240 (31.25%) | 768 |
2704| | | | |
2705| MAU total | 16 (7.14%) | 257 (6.27%) | 4096 |
2706| Tagalong total | 39 (34.82%) | 768 (37.50%) | 2048 |
2707| Overall total | 55 (16.37%) | 1025 (16.68%) | 6144 |
2708------------------------------------------------------------------------------
2709
2710Sorted POV field instances to allocate (with best pack): 13
2711 0: --validity_check--packet_in_hdr (ingress) -- max pov share 6 / best pack 5
2712 1: --validity_check--packet_out_hdr (ingress) -- max pov share 6 / best pack 5
2713 2: --validity_check--ethernet (ingress) -- max pov share 6 / best pack 5
2714 3: --validity_check--ipv4 (ingress) -- max pov share 6 / best pack 5
2715 4: --validity_check--tcp (ingress) -- max pov share 6 / best pack 5
2716 5: --validity_check--udp (ingress) -- max pov share 6 / best pack 5
2717 6: --validity_check--metadata_bridge (ingress) -- max pov share 6 / best pack 5
2718 7: --validity_check--packet_in_hdr (egress) -- max pov share 5 / best pack 4
2719 8: --validity_check--packet_out_hdr (egress) -- max pov share 5 / best pack 4
2720 9: --validity_check--ethernet (egress) -- max pov share 5 / best pack 4
2721 10: --validity_check--ipv4 (egress) -- max pov share 5 / best pack 4
2722 11: --validity_check--tcp (egress) -- max pov share 5 / best pack 4
2723 12: --validity_check--udp (egress) -- max pov share 5 / best pack 4
2724
2725Working on
2726--validity_check--packet_in_hdr <1 bits ingress parsed pov>
2727Call to _allocate_pov_helper for:
2728 --validity_check--packet_in_hdr (ingress)
2729 Best pack group: (6)
2730
2731Looking for container to share POV bit in from already allocated containers for POV.
2732Container availability (not used yet for POV): total 197 / partial 1
2733
2734Looking for container to share POV bit in from already allocated containers that have not been used for POV.
2735>>Choose container phv67, starting at container bit 0, which results in 7 bits still available (unused = 8 and could fit = 7).
2736 >> Decided to allocate new container
2737Required container phv67
2738***Allocating phv67[0:0] for --validity_check--packet_in_hdr[0:0]
2739***Allocating phv67[1:1] for --validity_check--packet_out_hdr[0:0]
2740***Allocating phv67[2:2] for --validity_check--ethernet[0:0]
2741***Allocating phv67[3:3] for --validity_check--ipv4[0:0]
2742***Allocating phv67[4:4] for --validity_check--tcp[0:0]
2743***Allocating phv67[5:5] for --validity_check--udp[0:0]
2744***Allocating phv67[6:6] for --validity_check--metadata_bridge[0:0]
2745
2746Working on
2747--validity_check--packet_out_hdr <1 bits ingress parsed pov R W>
2748 Already allocated.
2749
2750Working on
2751--validity_check--ethernet <1 bits ingress parsed pov>
2752 Already allocated.
2753
2754Working on
2755--validity_check--ipv4 <1 bits ingress parsed pov>
2756 Already allocated.
2757
2758Working on
2759--validity_check--tcp <1 bits ingress parsed pov>
2760 Already allocated.
2761
2762Working on
2763--validity_check--udp <1 bits ingress parsed pov>
2764 Already allocated.
2765
2766Working on
2767--validity_check--metadata_bridge <1 bits ingress parsed pov>
2768 Already allocated.
2769
2770Working on
2771--validity_check--packet_in_hdr <1 bits egress parsed pov W>
2772Call to _allocate_pov_helper for:
2773 --validity_check--packet_in_hdr (egress)
2774 Best pack group: (5)
2775
2776Looking for container to share POV bit in from already allocated containers for POV.
2777Container availability (not used yet for POV): total 199 / partial 0
2778
2779Looking for container to share POV bit in from already allocated containers that have not been used for POV.
2780>>Choose container phv82, starting at container bit 0, which results in 7 bits still available (unused = 8 and could fit = 6).
2781 >> Decided to allocate new container
2782Required container phv82
2783***Allocating phv82[0:0] for --validity_check--packet_in_hdr[0:0]
2784***Allocating phv82[1:1] for --validity_check--packet_out_hdr[0:0]
2785***Allocating phv82[2:2] for --validity_check--ethernet[0:0]
2786***Allocating phv82[3:3] for --validity_check--ipv4[0:0]
2787***Allocating phv82[4:4] for --validity_check--tcp[0:0]
2788***Allocating phv82[5:5] for --validity_check--udp[0:0]
2789
2790Working on
2791--validity_check--packet_out_hdr <1 bits egress parsed pov>
2792 Already allocated.
2793
2794Working on
2795--validity_check--ethernet <1 bits egress parsed pov>
2796 Already allocated.
2797
2798Working on
2799--validity_check--ipv4 <1 bits egress parsed pov>
2800 Already allocated.
2801
2802Working on
2803--validity_check--tcp <1 bits egress parsed pov>
2804 Already allocated.
2805
2806Working on
2807--validity_check--udp <1 bits egress parsed pov>
2808 Already allocated.
2809
2810Sum of container bit widths POVs found in: 16
2811 ingress
2812 phv67 (8 bits)
2813 >> 8 total bits
2814 egress
2815 phv82 (8 bits)
2816 >> 8 total bits
2817>>Event 'pa_meta2' at time 1504792580.45
2818 Took 0.12 seconds
2819
2820-----------------------------------------------
2821 Allocating metadata (pass 2)
2822-----------------------------------------------
2823Allocation Step
2824Total metadata field instances to allocate: 1 / 3 bits (3 ingress bits and 0 egress bits)
2825Promised metadata field instances to allocate: 0 / 0 bits (0 ingress bits and 0 egress bits)
2826Allocation state after promised meta allocated:
2827Allocation state: Final Allocation
2828------------------------------------------------------------------------------
2829| PHV Group | Containers Used | Bits Used | Bits Available |
2830| (container bit widths) | (% used) | (% used) | |
2831------------------------------------------------------------------------------
2832| 0 (32) | 3 (18.75%) | 96 (18.75%) | 512 |
2833| 1 (32) | 0 (0.00%) | 0 (0.00%) | 512 |
2834| 2 (32) | 0 (0.00%) | 0 (0.00%) | 512 |
2835| 3 (32) | 0 (0.00%) | 0 (0.00%) | 512 |
2836| Total for 32 bit | 3 (4.69%) | 96 (4.69%) | 2048 |
2837| | | | |
2838| 4 (8) | 4 (25.00%) | 31 (24.22%) | 128 |
2839| 5 (8) | 3 (18.75%) | 22 (17.19%) | 128 |
2840| 6 (8) | 0 (0.00%) | 0 (0.00%) | 128 |
2841| 7 (8) | 0 (0.00%) | 0 (0.00%) | 128 |
2842| Total for 8 bit | 7 (10.94%) | 53 (10.35%) | 512 |
2843| | | | |
2844| 8 (16) | 5 (31.25%) | 73 (28.52%) | 256 |
2845| 9 (16) | 3 (18.75%) | 48 (18.75%) | 256 |
2846| 10 (16) | 0 (0.00%) | 0 (0.00%) | 256 |
2847| 11 (16) | 0 (0.00%) | 0 (0.00%) | 256 |
2848| 12 (16) | 0 (0.00%) | 0 (0.00%) | 256 |
2849| 13 (16) | 0 (0.00%) | 0 (0.00%) | 256 |
2850| Total for 16 bit | 8 (8.33%) | 121 (7.88%) | 1536 |
2851| | | | |
2852| 14 (32) T | 14 (87.50%) | 448 (87.50%) | 512 |
2853| 15 (32) T | 0 (0.00%) | 0 (0.00%) | 512 |
2854| Total for 32 bit | 14 (43.75%) | 448 (43.75%) | 1024 |
2855| | | | |
2856| 16 (8) T | 10 (62.50%) | 80 (62.50%) | 128 |
2857| 17 (8) T | 0 (0.00%) | 0 (0.00%) | 128 |
2858| Total for 8 bit | 10 (31.25%) | 80 (31.25%) | 256 |
2859| | | | |
2860| 18 (16) T | 10 (62.50%) | 160 (62.50%) | 256 |
2861| 19 (16) T | 5 (31.25%) | 80 (31.25%) | 256 |
2862| 20 (16) T | 0 (0.00%) | 0 (0.00%) | 256 |
2863| Total for 16 bit | 15 (31.25%) | 240 (31.25%) | 768 |
2864| | | | |
2865| MAU total | 18 (8.04%) | 270 (6.59%) | 4096 |
2866| Tagalong total | 39 (34.82%) | 768 (37.50%) | 2048 |
2867| Overall total | 57 (16.96%) | 1038 (16.89%) | 6144 |
2868------------------------------------------------------------------------------
2869
2870Allocation state difference after promised meta allocated:
2871Allocation state: Diff
2872--------------------------------------------------------------------------
2873| PHV Group | Containers Used | Bits Used | Bits Available |
2874| (container bit widths) | (% used) | (% used) | |
2875--------------------------------------------------------------------------
2876| 0 (32) | 0 (0.00%) | 0 (0.00%) | 512 |
2877| 1 (32) | 0 (0.00%) | 0 (0.00%) | 512 |
2878| 2 (32) | 0 (0.00%) | 0 (0.00%) | 512 |
2879| 3 (32) | 0 (0.00%) | 0 (0.00%) | 512 |
2880| Total for 32 bit | 0 (0.00%) | 0 (0.00%) | 2048 |
2881| | | | |
2882| 4 (8) | 0 (0.00%) | 0 (0.00%) | 128 |
2883| 5 (8) | 0 (0.00%) | 0 (0.00%) | 128 |
2884| 6 (8) | 0 (0.00%) | 0 (0.00%) | 128 |
2885| 7 (8) | 0 (0.00%) | 0 (0.00%) | 128 |
2886| Total for 8 bit | 0 (0.00%) | 0 (0.00%) | 512 |
2887| | | | |
2888| 8 (16) | 0 (0.00%) | 0 (0.00%) | 256 |
2889| 9 (16) | 0 (0.00%) | 0 (0.00%) | 256 |
2890| 10 (16) | 0 (0.00%) | 0 (0.00%) | 256 |
2891| 11 (16) | 0 (0.00%) | 0 (0.00%) | 256 |
2892| 12 (16) | 0 (0.00%) | 0 (0.00%) | 256 |
2893| 13 (16) | 0 (0.00%) | 0 (0.00%) | 256 |
2894| Total for 16 bit | 0 (0.00%) | 0 (0.00%) | 1536 |
2895| | | | |
2896| 14 (32) T | 0 (0.00%) | 0 (0.00%) | 512 |
2897| 15 (32) T | 0 (0.00%) | 0 (0.00%) | 512 |
2898| Total for 32 bit | 0 (0.00%) | 0 (0.00%) | 1024 |
2899| | | | |
2900| 16 (8) T | 0 (0.00%) | 0 (0.00%) | 128 |
2901| 17 (8) T | 0 (0.00%) | 0 (0.00%) | 128 |
2902| Total for 8 bit | 0 (0.00%) | 0 (0.00%) | 256 |
2903| | | | |
2904| 18 (16) T | 0 (0.00%) | 0 (0.00%) | 256 |
2905| 19 (16) T | 0 (0.00%) | 0 (0.00%) | 256 |
2906| 20 (16) T | 0 (0.00%) | 0 (0.00%) | 256 |
2907| Total for 16 bit | 0 (0.00%) | 0 (0.00%) | 768 |
2908| | | | |
2909| MAU total | 0 (0.00%) | 0 (0.00%) | 4096 |
2910| Tagalong total | 0 (0.00%) | 0 (0.00%) | 2048 |
2911| Overall total | 0 (0.00%) | 0 (0.00%) | 6144 |
2912--------------------------------------------------------------------------
2913
2914Sorted metadata field instances to allocate: 1 / 3 bits (3 ingress bits and 0 egress bits)
2915 0: ig_intr_md_for_tm.drop_ctl (ingress) (highly=0, mau_group_size=1, max_overlay=0, best_overlay_pack=0, max_share=0, best_share_pack=0, max_split=1, bit_width=3, initial_usage_read=2, earliest_use=1, latest_use=12)
2916
2917---------------------------------------
2918Working on:
2919ig_intr_md_for_tm.drop_ctl <3 bits ingress imeta W>
2920max_split = 1, adj = False
2921Of remaining metadata fields to allocate
2922 max_overlay = 0 (0 bits)
2923 max_share = 0 (0 bits)
2924bits_will_need_to_parse = 3
2925unused_metadata_container_bits = 0
2926min_parse_states = 1
2927bits_per_state = 8
2928Parse state 0 (3 bits)
2929 ig_intr_md_for_tm.drop_ctl [2:0]
2930-------------------------------------------------------------------------------------------------
2931| Name | BW | Tagalong? | Req | Pref | Not Allow | MaxSplit | Group Size |
2932-------------------------------------------------------------------------------------------------
2933| ig_intr_md_for_tm.drop_ctl | 3 | False | - | - | - | 1 | 1 |
2934-------------------------------------------------------------------------------------------------
2935
2936 req packing: [None]
2937 disallowed packing: [None]
2938 Group 0 32 bits -- avail 13 and promised 1 -- ingress promised 1 and remain 12 and req 1 -- egress promised 0 and remain 12 and req 0 -- as if deparsed True -- container_to_use phv3 -- fails False
2939 Group 1 32 bits -- avail 16 and promised None -- ingress promised None and remain None and req None -- egress promised None and remain None and req None -- as if deparsed False -- container_to_use None -- fails True
2940 Group 2 32 bits -- avail 16 and promised 1 -- ingress promised 1 and remain 15 and req 1 -- egress promised 0 and remain 12 and req 0 -- as if deparsed True -- container_to_use phv32 -- fails False
2941 Group 3 32 bits -- avail 16 and promised 1 -- ingress promised 1 and remain 15 and req 1 -- egress promised 0 and remain 12 and req 0 -- as if deparsed True -- container_to_use phv48 -- fails False
2942 Group 4 8 bits -- avail 12 and promised 1 -- ingress promised 1 and remain 11 and req 1 -- egress promised 0 and remain 8 and req 0 -- as if deparsed True -- container_to_use phv68 -- fails False
2943 Group 5 8 bits -- avail 13 and promised None -- ingress promised None and remain None and req None -- egress promised None and remain None and req None -- as if deparsed False -- container_to_use None -- fails True
2944 Group 6 8 bits -- avail 16 and promised 1 -- ingress promised 1 and remain 15 and req 1 -- egress promised 0 and remain 8 and req 0 -- as if deparsed True -- container_to_use phv96 -- fails False
2945 Group 7 8 bits -- avail 16 and promised 1 -- ingress promised 1 and remain 15 and req 1 -- egress promised 0 and remain 8 and req 0 -- as if deparsed True -- container_to_use phv112 -- fails False
2946 Group 8 16 bits -- avail 11 and promised 1 -- ingress promised 1 and remain 10 and req 1 -- egress promised 0 and remain 8 and req 0 -- as if deparsed True -- container_to_use phv133 -- fails False
2947 Group 9 16 bits -- avail 13 and promised None -- ingress promised None and remain None and req None -- egress promised None and remain None and req None -- as if deparsed False -- container_to_use None -- fails True
2948 Group 10 16 bits -- avail 16 and promised 1 -- ingress promised 1 and remain 15 and req 1 -- egress promised 0 and remain 8 and req 0 -- as if deparsed True -- container_to_use phv160 -- fails False
2949 Group 11 16 bits -- avail 16 and promised 1 -- ingress promised 1 and remain 15 and req 1 -- egress promised 0 and remain 8 and req 0 -- as if deparsed True -- container_to_use phv176 -- fails False
2950 Group 12 16 bits -- avail 16 and promised 1 -- ingress promised 1 and remain 15 and req 1 -- egress promised 0 and remain 8 and req 0 -- as if deparsed True -- container_to_use phv192 -- fails False
2951 Group 13 16 bits -- avail 16 and promised 1 -- ingress promised 1 and remain 15 and req 1 -- egress promised 0 and remain 8 and req 0 -- as if deparsed True -- container_to_use phv208 -- fails False
2952Metadata instance: ig_intr_md_for_tm.drop_ctl <3 bits ingress imeta W>
2953>>req_alignment = None
2954>>allowed_container_start_bits = [0, 1, 2, 3, 4, 5, 6, 7]
2955>>req_container = None
2956 case 2: looking at allowed start bits [0, 1, 2, 3, 4, 5, 6, 7]
2957 final start_bit = 5
2958 (1) msb_offset = 8
2959***Allocating phv68[7:5] for ig_intr_md_for_tm.drop_ctl[2:0]
2960>>Event 'pa_meta_init' at time 1504792580.52
2961 Took 0.07 seconds
2962
2963-----------------------------------------------
2964 Adding metadata initialization
2965-----------------------------------------------
2966
2967+------------------------+
2968
2969Performing inject metadata initialization instructions: (0)
2970tbl_name_to_common_edge_groups: 0
2971all_edge: 0
2972
2973Performing replace metadata initialization instructions: (0)
2974
2975Performing remove metadata initialization instructions: (0)
2976
2977Performing clear metadata initialization instructions: (0)
2978
2979Performing invalidate metadata initialization instructions: (0)
2980
2981 Total overlay containers examined for initialization: 0
2982
2983-----------------------------------------------
2984 Checking constraints satisfied
2985-----------------------------------------------
2986 No constraints violated.