blob: 4f05f0a7cf5ead4d99971f314701ed40f784f765 [file] [log] [blame]
Carmelo Casconef1d0a422017-09-07 17:21:46 +02001{
Brian O'Connora6862e02017-09-08 01:17:39 -07002 "build_date": "Fri Sep 8 08:26:24 2017",
Carmelo Casconef1d0a422017-09-07 17:21:46 +02003 "phv_allocation": [
4 {
5 "ingress": [
6 {
7 "phv_number": 0,
8 "records": [
9 {
10 "word_bit_width": 32,
11 "position_offset": 0,
12 "phv_lsb": 0,
13 "is_pov": true,
14 "pov_headers": [],
15 "field_msb": 31,
16 "phv_msb": 31,
17 "is_compiler_generated": false,
18 "field_name": "POV",
19 "field_width": 0,
20 "field_lsb": 0
21 }
22 ]
23 },
24 {
25 "phv_number": 1,
26 "records": [
27 {
28 "word_bit_width": 32,
Brian O'Connora6862e02017-09-08 01:17:39 -070029 "position_offset": 19,
Carmelo Casconef1d0a422017-09-07 17:21:46 +020030 "phv_lsb": 24,
31 "is_pov": false,
32 "field_msb": 7,
33 "phv_msb": 31,
34 "is_compiler_generated": false,
35 "field_name": "ipv4_protocol",
36 "field_width": 1,
37 "field_lsb": 0
38 },
39 {
40 "word_bit_width": 32,
41 "position_offset": 10,
42 "phv_lsb": 8,
43 "is_pov": false,
44 "field_msb": 15,
45 "phv_msb": 23,
46 "is_compiler_generated": false,
47 "field_name": "ipv4_hdrChecksum",
48 "field_width": 2,
49 "field_lsb": 0
50 },
51 {
52 "word_bit_width": 32,
Brian O'Connora6862e02017-09-08 01:17:39 -070053 "position_offset": 13,
Carmelo Casconef1d0a422017-09-07 17:21:46 +020054 "phv_lsb": 0,
55 "is_pov": false,
56 "field_msb": 31,
57 "phv_msb": 7,
58 "is_compiler_generated": false,
59 "field_name": "ipv4_srcAddr",
60 "field_width": 4,
61 "field_lsb": 24
62 }
63 ]
64 },
65 {
66 "phv_number": 2,
67 "records": [
68 {
69 "word_bit_width": 32,
Brian O'Connora6862e02017-09-08 01:17:39 -070070 "position_offset": 57,
Carmelo Casconef1d0a422017-09-07 17:21:46 +020071 "phv_lsb": 0,
72 "is_pov": false,
73 "field_msb": 31,
74 "phv_msb": 31,
75 "is_compiler_generated": false,
76 "field_name": "ipv4_dstAddr",
77 "field_width": 4,
78 "field_lsb": 0
79 }
80 ]
81 },
82 {
83 "phv_number": 3,
84 "records": [
85 {
86 "word_bit_width": 32,
Brian O'Connora6862e02017-09-08 01:17:39 -070087 "position_offset": 22,
Carmelo Casconef1d0a422017-09-07 17:21:46 +020088 "phv_lsb": 0,
89 "is_pov": false,
90 "field_msb": 39,
91 "phv_msb": 31,
92 "is_compiler_generated": false,
93 "field_name": "ethernet_dstAddr",
94 "field_width": 6,
95 "field_lsb": 8
96 }
97 ]
98 },
99 {
100 "phv_number": 4,
101 "records": [
102 {
103 "word_bit_width": 32,
Brian O'Connora6862e02017-09-08 01:17:39 -0700104 "position_offset": 70,
Carmelo Casconef1d0a422017-09-07 17:21:46 +0200105 "phv_lsb": 0,
106 "is_pov": false,
107 "field_msb": 31,
108 "phv_msb": 31,
109 "is_compiler_generated": false,
110 "field_name": "ethernet_srcAddr",
111 "field_width": 6,
112 "field_lsb": 0
113 }
114 ]
115 },
116 {
117 "phv_number": 5,
118 "records": [
119 {
120 "word_bit_width": 32,
Brian O'Connora6862e02017-09-08 01:17:39 -0700121 "position_offset": 66,
Carmelo Casconef1d0a422017-09-07 17:21:46 +0200122 "phv_lsb": 16,
123 "is_pov": false,
124 "field_msb": 15,
125 "phv_msb": 31,
126 "is_compiler_generated": false,
127 "field_name": "udp_srcPort",
128 "field_width": 2,
129 "field_lsb": 0
130 },
131 {
132 "word_bit_width": 32,
Brian O'Connora6862e02017-09-08 01:17:39 -0700133 "position_offset": 55,
Carmelo Casconef1d0a422017-09-07 17:21:46 +0200134 "phv_lsb": 0,
135 "is_pov": false,
136 "field_msb": 15,
137 "phv_msb": 15,
138 "is_compiler_generated": false,
139 "field_name": "udp_dstPort",
140 "field_width": 2,
141 "field_lsb": 0
142 }
143 ]
144 },
145 {
146 "phv_number": 64,
147 "records": [
148 {
149 "word_bit_width": 8,
Brian O'Connora6862e02017-09-08 01:17:39 -0700150 "position_offset": 13,
Carmelo Casconef1d0a422017-09-07 17:21:46 +0200151 "phv_lsb": 0,
152 "is_pov": false,
153 "field_msb": 23,
154 "phv_msb": 7,
155 "is_compiler_generated": false,
156 "field_name": "ipv4_srcAddr",
157 "field_width": 4,
158 "field_lsb": 16
159 }
160 ]
161 },
162 {
Brian O'Connora6862e02017-09-08 01:17:39 -0700163 "phv_number": 65,
Carmelo Casconef1d0a422017-09-07 17:21:46 +0200164 "records": [
165 {
166 "word_bit_width": 8,
Brian O'Connora6862e02017-09-08 01:17:39 -0700167 "position_offset": 22,
Carmelo Casconef1d0a422017-09-07 17:21:46 +0200168 "phv_lsb": 0,
169 "is_pov": false,
170 "field_msb": 47,
171 "phv_msb": 7,
172 "is_compiler_generated": false,
173 "field_name": "ethernet_dstAddr",
174 "field_width": 6,
175 "field_lsb": 40
176 }
177 ]
178 },
179 {
Brian O'Connora6862e02017-09-08 01:17:39 -0700180 "phv_number": 66,
Carmelo Casconef1d0a422017-09-07 17:21:46 +0200181 "records": [
182 {
183 "word_bit_width": 8,
Brian O'Connora6862e02017-09-08 01:17:39 -0700184 "position_offset": 70,
Carmelo Casconef1d0a422017-09-07 17:21:46 +0200185 "phv_lsb": 0,
186 "is_pov": false,
187 "field_msb": 39,
188 "phv_msb": 7,
189 "is_compiler_generated": false,
190 "field_name": "ethernet_srcAddr",
191 "field_width": 6,
192 "field_lsb": 32
193 }
194 ]
195 },
196 {
Brian O'Connora6862e02017-09-08 01:17:39 -0700197 "phv_number": 67,
Carmelo Casconef1d0a422017-09-07 17:21:46 +0200198 "records": [
199 {
200 "word_bit_width": 8,
201 "position_offset": 0,
202 "phv_lsb": 0,
203 "is_pov": true,
204 "pov_headers": [
205 {
206 "bit_index": 0,
Brian O'Connora6862e02017-09-08 01:17:39 -0700207 "position_offset": 80,
Carmelo Casconef1d0a422017-09-07 17:21:46 +0200208 "header_name": "packet_in_hdr",
209 "hidden": false
210 },
211 {
212 "bit_index": 1,
Brian O'Connora6862e02017-09-08 01:17:39 -0700213 "position_offset": 81,
Carmelo Casconef1d0a422017-09-07 17:21:46 +0200214 "header_name": "packet_out_hdr",
215 "hidden": false
216 },
217 {
218 "bit_index": 2,
Brian O'Connora6862e02017-09-08 01:17:39 -0700219 "position_offset": 82,
Carmelo Casconef1d0a422017-09-07 17:21:46 +0200220 "header_name": "ethernet",
221 "hidden": false
222 },
223 {
224 "bit_index": 3,
Brian O'Connora6862e02017-09-08 01:17:39 -0700225 "position_offset": 83,
Carmelo Casconef1d0a422017-09-07 17:21:46 +0200226 "header_name": "ipv4",
227 "hidden": false
228 },
229 {
230 "bit_index": 4,
Brian O'Connora6862e02017-09-08 01:17:39 -0700231 "position_offset": 84,
Carmelo Casconef1d0a422017-09-07 17:21:46 +0200232 "header_name": "tcp",
233 "hidden": false
234 },
235 {
236 "bit_index": 5,
Brian O'Connora6862e02017-09-08 01:17:39 -0700237 "position_offset": 85,
Carmelo Casconef1d0a422017-09-07 17:21:46 +0200238 "header_name": "udp",
239 "hidden": false
240 }
241 ],
242 "field_msb": 39,
243 "phv_msb": 7,
244 "is_compiler_generated": false,
245 "field_name": "POV",
246 "field_width": 0,
247 "field_lsb": 32
248 }
249 ]
250 },
251 {
Brian O'Connora6862e02017-09-08 01:17:39 -0700252 "phv_number": 68,
Carmelo Casconef1d0a422017-09-07 17:21:46 +0200253 "records": [
254 {
255 "word_bit_width": 8,
Brian O'Connora6862e02017-09-08 01:17:39 -0700256 "position_offset": 51,
Carmelo Casconef1d0a422017-09-07 17:21:46 +0200257 "phv_lsb": 5,
258 "is_pov": false,
259 "field_msb": 2,
260 "phv_msb": 7,
261 "is_compiler_generated": false,
262 "field_name": "ig_intr_md_for_tm_drop_ctl",
263 "field_width": 1,
264 "field_lsb": 0
265 }
266 ]
267 },
268 {
269 "phv_number": 128,
270 "records": [
271 {
272 "word_bit_width": 16,
Brian O'Connora6862e02017-09-08 01:17:39 -0700273 "position_offset": 32,
Carmelo Casconef1d0a422017-09-07 17:21:46 +0200274 "phv_lsb": 15,
275 "is_pov": false,
276 "field_msb": 0,
277 "phv_msb": 15,
278 "is_compiler_generated": false,
279 "field_name": "ig_intr_md_resubmit_flag",
280 "field_width": 1,
281 "field_lsb": 0
282 },
283 {
284 "word_bit_width": 16,
285 "position_offset": 8,
286 "phv_lsb": 0,
287 "is_pov": false,
288 "field_msb": 8,
289 "phv_msb": 8,
290 "is_compiler_generated": false,
291 "field_name": "ig_intr_md_ingress_port",
292 "field_width": 2,
293 "field_lsb": 0
294 }
295 ]
296 },
297 {
298 "phv_number": 129,
299 "records": [
300 {
301 "word_bit_width": 16,
302 "position_offset": 0,
303 "phv_lsb": 7,
304 "is_pov": false,
305 "field_msb": 8,
306 "phv_msb": 15,
307 "is_compiler_generated": false,
308 "field_name": "packet_out_hdr_egress_port",
309 "field_width": 2,
310 "field_lsb": 0
311 },
312 {
313 "word_bit_width": 16,
Brian O'Connora6862e02017-09-08 01:17:39 -0700314 "position_offset": 33,
Carmelo Casconef1d0a422017-09-07 17:21:46 +0200315 "phv_lsb": 7,
316 "is_pov": false,
317 "field_msb": 8,
318 "phv_msb": 15,
319 "is_compiler_generated": false,
320 "field_name": "packet_in_hdr_ingress_port",
321 "field_width": 2,
322 "field_lsb": 0
323 }
324 ]
325 },
326 {
327 "phv_number": 130,
328 "records": [
329 {
330 "word_bit_width": 16,
Brian O'Connora6862e02017-09-08 01:17:39 -0700331 "position_offset": 41,
Carmelo Casconef1d0a422017-09-07 17:21:46 +0200332 "phv_lsb": 0,
333 "is_pov": false,
334 "field_msb": 8,
335 "phv_msb": 8,
336 "is_compiler_generated": false,
337 "field_name": "ig_intr_md_for_tm_ucast_egress_port",
338 "field_width": 2,
339 "field_lsb": 0
340 }
341 ]
342 },
343 {
344 "phv_number": 131,
345 "records": [
346 {
347 "word_bit_width": 16,
Brian O'Connora6862e02017-09-08 01:17:39 -0700348 "position_offset": 13,
Carmelo Casconef1d0a422017-09-07 17:21:46 +0200349 "phv_lsb": 0,
350 "is_pov": false,
351 "field_msb": 15,
352 "phv_msb": 15,
353 "is_compiler_generated": false,
354 "field_name": "ipv4_srcAddr",
355 "field_width": 4,
356 "field_lsb": 0
357 }
358 ]
359 },
360 {
361 "phv_number": 132,
362 "records": [
363 {
364 "word_bit_width": 16,
Brian O'Connora6862e02017-09-08 01:17:39 -0700365 "position_offset": 22,
Carmelo Casconef1d0a422017-09-07 17:21:46 +0200366 "phv_lsb": 8,
367 "is_pov": false,
368 "field_msb": 7,
369 "phv_msb": 15,
370 "is_compiler_generated": false,
371 "field_name": "ethernet_dstAddr",
372 "field_width": 6,
373 "field_lsb": 0
374 },
375 {
376 "word_bit_width": 16,
Brian O'Connora6862e02017-09-08 01:17:39 -0700377 "position_offset": 70,
Carmelo Casconef1d0a422017-09-07 17:21:46 +0200378 "phv_lsb": 0,
379 "is_pov": false,
380 "field_msb": 47,
381 "phv_msb": 7,
382 "is_compiler_generated": false,
383 "field_name": "ethernet_srcAddr",
384 "field_width": 6,
385 "field_lsb": 40
386 }
387 ]
388 },
389 {
390 "phv_number": 133,
391 "records": [
392 {
393 "word_bit_width": 16,
394 "position_offset": 5,
395 "phv_lsb": 0,
396 "is_pov": false,
397 "field_msb": 15,
398 "phv_msb": 15,
399 "is_compiler_generated": false,
400 "field_name": "ethernet_etherType",
401 "field_width": 2,
402 "field_lsb": 0
403 }
404 ]
405 },
406 {
407 "phv_number": 134,
408 "records": [
409 {
410 "word_bit_width": 16,
Brian O'Connora6862e02017-09-08 01:17:39 -0700411 "position_offset": 20,
Carmelo Casconef1d0a422017-09-07 17:21:46 +0200412 "phv_lsb": 0,
413 "is_pov": false,
414 "field_msb": 15,
415 "phv_msb": 15,
416 "is_compiler_generated": false,
417 "field_name": "ecmp_metadata_groupId",
418 "field_width": 2,
419 "field_lsb": 0
420 }
421 ]
422 },
423 {
424 "phv_number": 135,
425 "records": [
426 {
427 "word_bit_width": 16,
Brian O'Connora6862e02017-09-08 01:17:39 -0700428 "position_offset": 61,
Carmelo Casconef1d0a422017-09-07 17:21:46 +0200429 "phv_lsb": 0,
430 "is_pov": false,
431 "field_msb": 15,
432 "phv_msb": 15,
433 "is_compiler_generated": false,
434 "field_name": "ecmp_metadata_selector",
435 "field_width": 2,
436 "field_lsb": 0
437 }
438 ]
439 },
440 {
441 "phv_number": 256,
442 "records": [
443 {
444 "word_bit_width": 32,
Brian O'Connora6862e02017-09-08 01:17:39 -0700445 "position_offset": 49,
Carmelo Casconef1d0a422017-09-07 17:21:46 +0200446 "phv_lsb": 24,
447 "is_pov": false,
448 "field_msb": 7,
449 "phv_msb": 31,
450 "is_compiler_generated": false,
451 "field_name": "ipv4_identification",
452 "field_width": 2,
453 "field_lsb": 0
454 },
455 {
456 "word_bit_width": 32,
457 "position_offset": 7,
458 "phv_lsb": 21,
459 "is_pov": false,
460 "field_msb": 2,
461 "phv_msb": 23,
462 "is_compiler_generated": false,
463 "field_name": "ipv4_flags",
464 "field_width": 1,
465 "field_lsb": 0
466 },
467 {
468 "word_bit_width": 32,
Brian O'Connora6862e02017-09-08 01:17:39 -0700469 "position_offset": 44,
Carmelo Casconef1d0a422017-09-07 17:21:46 +0200470 "phv_lsb": 8,
471 "is_pov": false,
472 "field_msb": 12,
473 "phv_msb": 20,
474 "is_compiler_generated": false,
475 "field_name": "ipv4_fragOffset",
476 "field_width": 2,
477 "field_lsb": 0
478 },
479 {
480 "word_bit_width": 32,
Brian O'Connora6862e02017-09-08 01:17:39 -0700481 "position_offset": 54,
Carmelo Casconef1d0a422017-09-07 17:21:46 +0200482 "phv_lsb": 0,
483 "is_pov": false,
484 "field_msb": 7,
485 "phv_msb": 7,
486 "is_compiler_generated": false,
487 "field_name": "ipv4_ttl",
488 "field_width": 1,
489 "field_lsb": 0
490 }
491 ]
492 },
493 {
494 "phv_number": 257,
495 "records": [
496 {
497 "word_bit_width": 32,
Brian O'Connora6862e02017-09-08 01:17:39 -0700498 "position_offset": 43,
Carmelo Casconef1d0a422017-09-07 17:21:46 +0200499 "phv_lsb": 28,
500 "is_pov": false,
501 "field_msb": 3,
502 "phv_msb": 31,
503 "is_compiler_generated": false,
504 "field_name": "tcp_dataOffset",
505 "field_width": 1,
506 "field_lsb": 0
507 },
508 {
509 "word_bit_width": 32,
Brian O'Connora6862e02017-09-08 01:17:39 -0700510 "position_offset": 48,
Carmelo Casconef1d0a422017-09-07 17:21:46 +0200511 "phv_lsb": 25,
512 "is_pov": false,
513 "field_msb": 2,
514 "phv_msb": 27,
515 "is_compiler_generated": false,
516 "field_name": "tcp_res",
517 "field_width": 1,
518 "field_lsb": 0
519 },
520 {
521 "word_bit_width": 32,
Brian O'Connora6862e02017-09-08 01:17:39 -0700522 "position_offset": 12,
Carmelo Casconef1d0a422017-09-07 17:21:46 +0200523 "phv_lsb": 22,
524 "is_pov": false,
525 "field_msb": 2,
526 "phv_msb": 24,
527 "is_compiler_generated": false,
528 "field_name": "tcp_ecn",
529 "field_width": 1,
530 "field_lsb": 0
531 },
532 {
533 "word_bit_width": 32,
534 "position_offset": 37,
535 "phv_lsb": 16,
536 "is_pov": false,
537 "field_msb": 5,
538 "phv_msb": 21,
539 "is_compiler_generated": false,
540 "field_name": "tcp_ctrl",
541 "field_width": 1,
542 "field_lsb": 0
543 },
544 {
545 "word_bit_width": 32,
Brian O'Connora6862e02017-09-08 01:17:39 -0700546 "position_offset": 46,
Carmelo Casconef1d0a422017-09-07 17:21:46 +0200547 "phv_lsb": 0,
548 "is_pov": false,
549 "field_msb": 15,
550 "phv_msb": 15,
551 "is_compiler_generated": false,
552 "field_name": "tcp_window",
553 "field_width": 2,
554 "field_lsb": 0
555 }
556 ]
557 },
558 {
Brian O'Connora6862e02017-09-08 01:17:39 -0700559 "phv_number": 258,
Carmelo Casconef1d0a422017-09-07 17:21:46 +0200560 "records": [
561 {
562 "word_bit_width": 32,
563 "position_offset": 2,
564 "phv_lsb": 16,
565 "is_pov": false,
566 "field_msb": 15,
567 "phv_msb": 31,
568 "is_compiler_generated": false,
569 "field_name": "tcp_checksum",
570 "field_width": 2,
571 "field_lsb": 0
572 },
573 {
574 "word_bit_width": 32,
Brian O'Connora6862e02017-09-08 01:17:39 -0700575 "position_offset": 52,
Carmelo Casconef1d0a422017-09-07 17:21:46 +0200576 "phv_lsb": 0,
577 "is_pov": false,
578 "field_msb": 15,
579 "phv_msb": 15,
580 "is_compiler_generated": false,
581 "field_name": "tcp_urgentPtr",
582 "field_width": 2,
583 "field_lsb": 0
584 }
585 ]
586 },
587 {
Brian O'Connora6862e02017-09-08 01:17:39 -0700588 "phv_number": 288,
Carmelo Casconef1d0a422017-09-07 17:21:46 +0200589 "records": [
590 {
591 "word_bit_width": 8,
Brian O'Connora6862e02017-09-08 01:17:39 -0700592 "position_offset": 65,
Carmelo Casconef1d0a422017-09-07 17:21:46 +0200593 "phv_lsb": 4,
594 "is_pov": false,
595 "field_msb": 3,
596 "phv_msb": 7,
597 "is_compiler_generated": false,
598 "field_name": "ipv4_version",
599 "field_width": 1,
600 "field_lsb": 0
601 },
602 {
603 "word_bit_width": 8,
604 "position_offset": 40,
605 "phv_lsb": 0,
606 "is_pov": false,
607 "field_msb": 3,
608 "phv_msb": 3,
609 "is_compiler_generated": false,
610 "field_name": "ipv4_ihl",
611 "field_width": 1,
612 "field_lsb": 0
613 }
614 ]
615 },
616 {
Brian O'Connora6862e02017-09-08 01:17:39 -0700617 "phv_number": 289,
618 "records": [
619 {
620 "word_bit_width": 8,
621 "position_offset": 38,
622 "phv_lsb": 0,
623 "is_pov": false,
624 "field_msb": 15,
625 "phv_msb": 7,
626 "is_compiler_generated": false,
627 "field_name": "tcp_srcPort",
628 "field_width": 2,
629 "field_lsb": 8
630 },
631 {
632 "word_bit_width": 8,
633 "position_offset": 17,
634 "phv_lsb": 0,
635 "is_pov": false,
636 "field_msb": 15,
637 "phv_msb": 7,
638 "is_compiler_generated": false,
639 "field_name": "udp_length_",
640 "field_width": 2,
641 "field_lsb": 8
642 }
643 ]
644 },
645 {
646 "phv_number": 290,
647 "records": [
648 {
649 "word_bit_width": 8,
650 "position_offset": 38,
651 "phv_lsb": 0,
652 "is_pov": false,
653 "field_msb": 7,
654 "phv_msb": 7,
655 "is_compiler_generated": false,
656 "field_name": "tcp_srcPort",
657 "field_width": 2,
658 "field_lsb": 0
659 },
660 {
661 "word_bit_width": 8,
662 "position_offset": 17,
663 "phv_lsb": 0,
664 "is_pov": false,
665 "field_msb": 7,
666 "phv_msb": 7,
667 "is_compiler_generated": false,
668 "field_name": "udp_length_",
669 "field_width": 2,
670 "field_lsb": 0
671 }
672 ]
673 },
674 {
675 "phv_number": 291,
676 "records": [
677 {
678 "word_bit_width": 8,
679 "position_offset": 35,
680 "phv_lsb": 0,
681 "is_pov": false,
682 "field_msb": 15,
683 "phv_msb": 7,
684 "is_compiler_generated": false,
685 "field_name": "tcp_dstPort",
686 "field_width": 2,
687 "field_lsb": 8
688 }
689 ]
690 },
691 {
692 "phv_number": 292,
693 "records": [
694 {
695 "word_bit_width": 8,
696 "position_offset": 35,
697 "phv_lsb": 0,
698 "is_pov": false,
699 "field_msb": 7,
700 "phv_msb": 7,
701 "is_compiler_generated": false,
702 "field_name": "tcp_dstPort",
703 "field_width": 2,
704 "field_lsb": 0
705 }
706 ]
707 },
708 {
709 "phv_number": 320,
710 "records": [
711 {
712 "word_bit_width": 16,
713 "position_offset": 4,
714 "phv_lsb": 8,
715 "is_pov": false,
716 "field_msb": 7,
717 "phv_msb": 15,
718 "is_compiler_generated": false,
719 "field_name": "ipv4_diffserv",
720 "field_width": 1,
721 "field_lsb": 0
722 },
723 {
724 "word_bit_width": 16,
725 "position_offset": 63,
726 "phv_lsb": 0,
727 "is_pov": false,
728 "field_msb": 15,
729 "phv_msb": 7,
730 "is_compiler_generated": false,
731 "field_name": "ipv4_totalLen",
732 "field_width": 2,
733 "field_lsb": 8
734 }
735 ]
736 },
737 {
738 "phv_number": 321,
739 "records": [
740 {
741 "word_bit_width": 16,
742 "position_offset": 63,
743 "phv_lsb": 8,
744 "is_pov": false,
745 "field_msb": 7,
746 "phv_msb": 15,
747 "is_compiler_generated": false,
748 "field_name": "ipv4_totalLen",
749 "field_width": 2,
750 "field_lsb": 0
751 },
752 {
753 "word_bit_width": 16,
754 "position_offset": 49,
755 "phv_lsb": 0,
756 "is_pov": false,
757 "field_msb": 15,
758 "phv_msb": 7,
759 "is_compiler_generated": false,
760 "field_name": "ipv4_identification",
761 "field_width": 2,
762 "field_lsb": 8
763 }
764 ]
765 },
766 {
767 "phv_number": 322,
768 "records": [
769 {
770 "word_bit_width": 16,
771 "position_offset": 76,
772 "phv_lsb": 0,
773 "is_pov": false,
774 "field_msb": 31,
775 "phv_msb": 15,
776 "is_compiler_generated": false,
777 "field_name": "tcp_seqNo",
778 "field_width": 4,
779 "field_lsb": 16
780 },
781 {
782 "word_bit_width": 16,
783 "position_offset": 68,
784 "phv_lsb": 0,
785 "is_pov": false,
786 "field_msb": 15,
787 "phv_msb": 15,
788 "is_compiler_generated": false,
789 "field_name": "udp_checksum",
790 "field_width": 2,
791 "field_lsb": 0
792 }
793 ]
794 },
795 {
796 "phv_number": 323,
797 "records": [
798 {
799 "word_bit_width": 16,
800 "position_offset": 76,
801 "phv_lsb": 0,
802 "is_pov": false,
803 "field_msb": 15,
804 "phv_msb": 15,
805 "is_compiler_generated": false,
806 "field_name": "tcp_seqNo",
807 "field_width": 4,
808 "field_lsb": 0
809 }
810 ]
811 },
812 {
813 "phv_number": 324,
814 "records": [
815 {
816 "word_bit_width": 16,
817 "position_offset": 28,
818 "phv_lsb": 0,
819 "is_pov": false,
820 "field_msb": 31,
821 "phv_msb": 15,
822 "is_compiler_generated": false,
823 "field_name": "tcp_ackNo",
824 "field_width": 4,
825 "field_lsb": 16
826 }
827 ]
828 },
829 {
830 "phv_number": 325,
831 "records": [
832 {
833 "word_bit_width": 16,
834 "position_offset": 28,
835 "phv_lsb": 0,
836 "is_pov": false,
837 "field_msb": 15,
838 "phv_msb": 15,
839 "is_compiler_generated": false,
840 "field_name": "tcp_ackNo",
841 "field_width": 4,
842 "field_lsb": 0
843 }
844 ]
845 }
846 ],
847 "egress": [
848 {
849 "phv_number": 80,
850 "records": [
851 {
852 "word_bit_width": 8,
853 "position_offset": 7,
854 "phv_lsb": 0,
855 "is_pov": false,
856 "field_msb": 2,
857 "phv_msb": 2,
858 "is_compiler_generated": false,
859 "field_name": "eg_intr_md_egress_cos",
860 "field_width": 1,
861 "field_lsb": 0
862 }
863 ]
864 },
865 {
866 "phv_number": 81,
867 "records": [
868 {
869 "word_bit_width": 8,
870 "position_offset": 0,
871 "phv_lsb": 0,
872 "is_pov": true,
873 "pov_headers": [
874 {
875 "bit_index": 0,
876 "position_offset": 73,
877 "header_name": "packet_in_hdr",
878 "hidden": false
879 },
880 {
881 "bit_index": 1,
882 "position_offset": 74,
883 "header_name": "packet_out_hdr",
884 "hidden": false
885 },
886 {
887 "bit_index": 2,
888 "position_offset": 75,
889 "header_name": "ethernet",
890 "hidden": false
891 },
892 {
893 "bit_index": 3,
894 "position_offset": 76,
895 "header_name": "ipv4",
896 "hidden": false
897 },
898 {
899 "bit_index": 4,
900 "position_offset": 77,
901 "header_name": "tcp",
902 "hidden": false
903 },
904 {
905 "bit_index": 5,
906 "position_offset": 78,
907 "header_name": "udp",
908 "hidden": false
909 }
910 ],
911 "field_msb": 7,
912 "phv_msb": 7,
913 "is_compiler_generated": false,
914 "field_name": "POV",
915 "field_width": 0,
916 "field_lsb": 0
917 }
918 ]
919 },
920 {
921 "phv_number": 144,
922 "records": [
923 {
924 "word_bit_width": 16,
925 "position_offset": 61,
926 "phv_lsb": 0,
927 "is_pov": false,
928 "field_msb": 8,
929 "phv_msb": 8,
930 "is_compiler_generated": false,
931 "field_name": "eg_intr_md_egress_port",
932 "field_width": 2,
933 "field_lsb": 0
934 }
935 ]
936 },
937 {
938 "phv_number": 264,
939 "records": [
940 {
941 "word_bit_width": 32,
942 "position_offset": 47,
943 "phv_lsb": 24,
944 "is_pov": false,
945 "field_msb": 7,
946 "phv_msb": 31,
947 "is_compiler_generated": false,
948 "field_name": "ipv4_ttl",
949 "field_width": 1,
950 "field_lsb": 0
951 },
952 {
953 "word_bit_width": 32,
954 "position_offset": 18,
955 "phv_lsb": 16,
956 "is_pov": false,
957 "field_msb": 7,
958 "phv_msb": 23,
959 "is_compiler_generated": false,
960 "field_name": "ipv4_protocol",
961 "field_width": 1,
962 "field_lsb": 0
963 },
964 {
965 "word_bit_width": 32,
966 "position_offset": 9,
967 "phv_lsb": 0,
968 "is_pov": false,
969 "field_msb": 15,
970 "phv_msb": 15,
971 "is_compiler_generated": false,
972 "field_name": "ipv4_hdrChecksum",
973 "field_width": 2,
974 "field_lsb": 0
975 }
976 ]
977 },
978 {
979 "phv_number": 265,
980 "records": [
981 {
982 "word_bit_width": 32,
983 "position_offset": 12,
984 "phv_lsb": 0,
985 "is_pov": false,
986 "field_msb": 31,
987 "phv_msb": 31,
988 "is_compiler_generated": false,
989 "field_name": "ipv4_srcAddr",
990 "field_width": 4,
991 "field_lsb": 0
992 }
993 ]
994 },
995 {
996 "phv_number": 266,
997 "records": [
998 {
999 "word_bit_width": 32,
1000 "position_offset": 50,
1001 "phv_lsb": 0,
1002 "is_pov": false,
1003 "field_msb": 31,
1004 "phv_msb": 31,
1005 "is_compiler_generated": false,
1006 "field_name": "ipv4_dstAddr",
1007 "field_width": 4,
1008 "field_lsb": 0
1009 }
1010 ]
1011 },
1012 {
1013 "phv_number": 267,
1014 "records": [
1015 {
1016 "word_bit_width": 32,
1017 "position_offset": 25,
1018 "phv_lsb": 0,
1019 "is_pov": false,
1020 "field_msb": 31,
1021 "phv_msb": 31,
1022 "is_compiler_generated": false,
1023 "field_name": "tcp_ackNo",
1024 "field_width": 4,
1025 "field_lsb": 0
1026 },
1027 {
1028 "word_bit_width": 32,
1029 "position_offset": 16,
1030 "phv_lsb": 16,
1031 "is_pov": false,
1032 "field_msb": 15,
1033 "phv_msb": 31,
1034 "is_compiler_generated": false,
1035 "field_name": "udp_length_",
1036 "field_width": 2,
1037 "field_lsb": 0
1038 },
1039 {
1040 "word_bit_width": 32,
1041 "position_offset": 59,
1042 "phv_lsb": 0,
1043 "is_pov": false,
1044 "field_msb": 15,
1045 "phv_msb": 15,
1046 "is_compiler_generated": false,
1047 "field_name": "udp_checksum",
1048 "field_width": 2,
1049 "field_lsb": 0
1050 }
1051 ]
1052 },
1053 {
1054 "phv_number": 268,
1055 "records": [
1056 {
1057 "word_bit_width": 32,
1058 "position_offset": 38,
1059 "phv_lsb": 28,
1060 "is_pov": false,
1061 "field_msb": 3,
1062 "phv_msb": 31,
1063 "is_compiler_generated": false,
1064 "field_name": "tcp_dataOffset",
1065 "field_width": 1,
1066 "field_lsb": 0
1067 },
1068 {
1069 "word_bit_width": 32,
1070 "position_offset": 58,
1071 "phv_lsb": 25,
1072 "is_pov": false,
1073 "field_msb": 2,
1074 "phv_msb": 27,
1075 "is_compiler_generated": false,
1076 "field_name": "tcp_res",
1077 "field_width": 1,
1078 "field_lsb": 0
1079 },
1080 {
1081 "word_bit_width": 32,
1082 "position_offset": 11,
1083 "phv_lsb": 22,
1084 "is_pov": false,
1085 "field_msb": 2,
1086 "phv_msb": 24,
1087 "is_compiler_generated": false,
1088 "field_name": "tcp_ecn",
1089 "field_width": 1,
1090 "field_lsb": 0
1091 },
1092 {
1093 "word_bit_width": 32,
1094 "position_offset": 34,
1095 "phv_lsb": 16,
1096 "is_pov": false,
1097 "field_msb": 5,
1098 "phv_msb": 21,
1099 "is_compiler_generated": false,
1100 "field_name": "tcp_ctrl",
1101 "field_width": 1,
1102 "field_lsb": 0
1103 },
1104 {
1105 "word_bit_width": 32,
1106 "position_offset": 41,
1107 "phv_lsb": 0,
1108 "is_pov": false,
1109 "field_msb": 15,
1110 "phv_msb": 15,
1111 "is_compiler_generated": false,
1112 "field_name": "tcp_window",
1113 "field_width": 2,
1114 "field_lsb": 0
1115 }
1116 ]
1117 },
1118 {
1119 "phv_number": 269,
1120 "records": [
1121 {
1122 "word_bit_width": 32,
1123 "position_offset": 2,
1124 "phv_lsb": 16,
1125 "is_pov": false,
1126 "field_msb": 15,
1127 "phv_msb": 31,
1128 "is_compiler_generated": false,
1129 "field_name": "tcp_checksum",
1130 "field_width": 2,
1131 "field_lsb": 0
1132 },
1133 {
1134 "word_bit_width": 32,
1135 "position_offset": 45,
1136 "phv_lsb": 0,
1137 "is_pov": false,
1138 "field_msb": 15,
1139 "phv_msb": 15,
1140 "is_compiler_generated": false,
1141 "field_name": "tcp_urgentPtr",
1142 "field_width": 2,
1143 "field_lsb": 0
1144 }
1145 ]
1146 },
1147 {
1148 "phv_number": 270,
1149 "records": [
1150 {
1151 "word_bit_width": 32,
1152 "position_offset": 19,
1153 "phv_lsb": 0,
1154 "is_pov": false,
1155 "field_msb": 39,
1156 "phv_msb": 31,
1157 "is_compiler_generated": false,
1158 "field_name": "ethernet_dstAddr",
1159 "field_width": 6,
1160 "field_lsb": 8
1161 }
1162 ]
1163 },
1164 {
1165 "phv_number": 271,
1166 "records": [
1167 {
1168 "word_bit_width": 32,
1169 "position_offset": 63,
1170 "phv_lsb": 0,
1171 "is_pov": false,
1172 "field_msb": 31,
1173 "phv_msb": 31,
1174 "is_compiler_generated": false,
1175 "field_name": "ethernet_srcAddr",
1176 "field_width": 6,
1177 "field_lsb": 0
1178 }
1179 ]
1180 },
1181 {
1182 "phv_number": 296,
1183 "records": [
1184 {
1185 "word_bit_width": 8,
1186 "position_offset": 29,
1187 "phv_lsb": 4,
1188 "is_pov": false,
1189 "field_msb": 3,
1190 "phv_msb": 7,
1191 "is_compiler_generated": false,
1192 "field_name": "ipv4_version",
1193 "field_width": 1,
1194 "field_lsb": 0
1195 },
1196 {
1197 "word_bit_width": 8,
1198 "position_offset": 37,
1199 "phv_lsb": 0,
1200 "is_pov": false,
1201 "field_msb": 3,
1202 "phv_msb": 3,
1203 "is_compiler_generated": false,
1204 "field_name": "ipv4_ihl",
1205 "field_width": 1,
1206 "field_lsb": 0
1207 }
1208 ]
1209 },
1210 {
1211 "phv_number": 297,
Carmelo Casconef1d0a422017-09-07 17:21:46 +02001212 "records": [
1213 {
1214 "word_bit_width": 8,
1215 "position_offset": 4,
1216 "phv_lsb": 0,
1217 "is_pov": false,
1218 "field_msb": 7,
1219 "phv_msb": 7,
1220 "is_compiler_generated": false,
1221 "field_name": "ipv4_diffserv",
1222 "field_width": 1,
1223 "field_lsb": 0
1224 }
1225 ]
1226 },
1227 {
Brian O'Connora6862e02017-09-08 01:17:39 -07001228 "phv_number": 298,
Carmelo Casconef1d0a422017-09-07 17:21:46 +02001229 "records": [
1230 {
1231 "word_bit_width": 8,
Brian O'Connora6862e02017-09-08 01:17:39 -07001232 "position_offset": 35,
Carmelo Casconef1d0a422017-09-07 17:21:46 +02001233 "phv_lsb": 0,
1234 "is_pov": false,
1235 "field_msb": 15,
1236 "phv_msb": 7,
1237 "is_compiler_generated": false,
1238 "field_name": "tcp_srcPort",
1239 "field_width": 2,
1240 "field_lsb": 8
1241 },
1242 {
1243 "word_bit_width": 8,
Brian O'Connora6862e02017-09-08 01:17:39 -07001244 "position_offset": 56,
Carmelo Casconef1d0a422017-09-07 17:21:46 +02001245 "phv_lsb": 0,
1246 "is_pov": false,
1247 "field_msb": 15,
1248 "phv_msb": 7,
1249 "is_compiler_generated": false,
1250 "field_name": "udp_srcPort",
1251 "field_width": 2,
1252 "field_lsb": 8
1253 }
1254 ]
1255 },
1256 {
Brian O'Connora6862e02017-09-08 01:17:39 -07001257 "phv_number": 299,
Carmelo Casconef1d0a422017-09-07 17:21:46 +02001258 "records": [
1259 {
1260 "word_bit_width": 8,
Brian O'Connora6862e02017-09-08 01:17:39 -07001261 "position_offset": 35,
Carmelo Casconef1d0a422017-09-07 17:21:46 +02001262 "phv_lsb": 0,
1263 "is_pov": false,
1264 "field_msb": 7,
1265 "phv_msb": 7,
1266 "is_compiler_generated": false,
1267 "field_name": "tcp_srcPort",
1268 "field_width": 2,
1269 "field_lsb": 0
1270 },
1271 {
1272 "word_bit_width": 8,
Brian O'Connora6862e02017-09-08 01:17:39 -07001273 "position_offset": 56,
Carmelo Casconef1d0a422017-09-07 17:21:46 +02001274 "phv_lsb": 0,
1275 "is_pov": false,
1276 "field_msb": 7,
1277 "phv_msb": 7,
1278 "is_compiler_generated": false,
1279 "field_name": "udp_srcPort",
1280 "field_width": 2,
1281 "field_lsb": 0
1282 }
1283 ]
1284 },
1285 {
Brian O'Connora6862e02017-09-08 01:17:39 -07001286 "phv_number": 300,
Carmelo Casconef1d0a422017-09-07 17:21:46 +02001287 "records": [
1288 {
1289 "word_bit_width": 8,
Brian O'Connora6862e02017-09-08 01:17:39 -07001290 "position_offset": 19,
Carmelo Casconef1d0a422017-09-07 17:21:46 +02001291 "phv_lsb": 0,
1292 "is_pov": false,
1293 "field_msb": 47,
1294 "phv_msb": 7,
1295 "is_compiler_generated": false,
1296 "field_name": "ethernet_dstAddr",
1297 "field_width": 6,
1298 "field_lsb": 40
1299 }
1300 ]
1301 },
1302 {
Brian O'Connora6862e02017-09-08 01:17:39 -07001303 "phv_number": 301,
Carmelo Casconef1d0a422017-09-07 17:21:46 +02001304 "records": [
1305 {
1306 "word_bit_width": 8,
Brian O'Connora6862e02017-09-08 01:17:39 -07001307 "position_offset": 63,
Carmelo Casconef1d0a422017-09-07 17:21:46 +02001308 "phv_lsb": 0,
1309 "is_pov": false,
1310 "field_msb": 39,
1311 "phv_msb": 7,
1312 "is_compiler_generated": false,
1313 "field_name": "ethernet_srcAddr",
1314 "field_width": 6,
1315 "field_lsb": 32
1316 }
1317 ]
1318 },
1319 {
Brian O'Connora6862e02017-09-08 01:17:39 -07001320 "phv_number": 332,
Carmelo Casconef1d0a422017-09-07 17:21:46 +02001321 "records": [
1322 {
1323 "word_bit_width": 16,
Brian O'Connora6862e02017-09-08 01:17:39 -07001324 "position_offset": 54,
Carmelo Casconef1d0a422017-09-07 17:21:46 +02001325 "phv_lsb": 0,
1326 "is_pov": false,
1327 "field_msb": 15,
1328 "phv_msb": 15,
1329 "is_compiler_generated": false,
1330 "field_name": "ipv4_totalLen",
1331 "field_width": 2,
1332 "field_lsb": 0
1333 }
1334 ]
1335 },
1336 {
Brian O'Connora6862e02017-09-08 01:17:39 -07001337 "phv_number": 333,
Carmelo Casconef1d0a422017-09-07 17:21:46 +02001338 "records": [
1339 {
1340 "word_bit_width": 16,
Brian O'Connora6862e02017-09-08 01:17:39 -07001341 "position_offset": 43,
Carmelo Casconef1d0a422017-09-07 17:21:46 +02001342 "phv_lsb": 0,
1343 "is_pov": false,
1344 "field_msb": 15,
1345 "phv_msb": 15,
1346 "is_compiler_generated": false,
1347 "field_name": "ipv4_identification",
1348 "field_width": 2,
1349 "field_lsb": 0
1350 }
1351 ]
1352 },
1353 {
Brian O'Connora6862e02017-09-08 01:17:39 -07001354 "phv_number": 334,
Carmelo Casconef1d0a422017-09-07 17:21:46 +02001355 "records": [
1356 {
1357 "word_bit_width": 16,
1358 "position_offset": 8,
1359 "phv_lsb": 13,
1360 "is_pov": false,
1361 "field_msb": 2,
1362 "phv_msb": 15,
1363 "is_compiler_generated": false,
1364 "field_name": "ipv4_flags",
1365 "field_width": 1,
1366 "field_lsb": 0
1367 },
1368 {
1369 "word_bit_width": 16,
1370 "position_offset": 5,
1371 "phv_lsb": 0,
1372 "is_pov": false,
1373 "field_msb": 12,
1374 "phv_msb": 12,
1375 "is_compiler_generated": false,
1376 "field_name": "ipv4_fragOffset",
1377 "field_width": 2,
1378 "field_lsb": 0
1379 }
1380 ]
1381 },
1382 {
Brian O'Connora6862e02017-09-08 01:17:39 -07001383 "phv_number": 335,
Carmelo Casconef1d0a422017-09-07 17:21:46 +02001384 "records": [
1385 {
1386 "word_bit_width": 16,
Brian O'Connora6862e02017-09-08 01:17:39 -07001387 "position_offset": 32,
Carmelo Casconef1d0a422017-09-07 17:21:46 +02001388 "phv_lsb": 0,
1389 "is_pov": false,
1390 "field_msb": 15,
1391 "phv_msb": 15,
1392 "is_compiler_generated": false,
1393 "field_name": "tcp_dstPort",
1394 "field_width": 2,
1395 "field_lsb": 0
Brian O'Connora6862e02017-09-08 01:17:39 -07001396 }
1397 ]
1398 },
1399 {
1400 "phv_number": 336,
1401 "records": [
1402 {
1403 "word_bit_width": 16,
1404 "position_offset": 69,
1405 "phv_lsb": 0,
1406 "is_pov": false,
1407 "field_msb": 31,
1408 "phv_msb": 15,
1409 "is_compiler_generated": false,
1410 "field_name": "tcp_seqNo",
1411 "field_width": 4,
1412 "field_lsb": 16
Carmelo Casconef1d0a422017-09-07 17:21:46 +02001413 },
1414 {
1415 "word_bit_width": 16,
Brian O'Connora6862e02017-09-08 01:17:39 -07001416 "position_offset": 48,
Carmelo Casconef1d0a422017-09-07 17:21:46 +02001417 "phv_lsb": 0,
1418 "is_pov": false,
1419 "field_msb": 15,
1420 "phv_msb": 15,
1421 "is_compiler_generated": false,
1422 "field_name": "udp_dstPort",
1423 "field_width": 2,
1424 "field_lsb": 0
1425 }
1426 ]
1427 },
1428 {
Brian O'Connora6862e02017-09-08 01:17:39 -07001429 "phv_number": 337,
Carmelo Casconef1d0a422017-09-07 17:21:46 +02001430 "records": [
1431 {
1432 "word_bit_width": 16,
Brian O'Connora6862e02017-09-08 01:17:39 -07001433 "position_offset": 69,
Carmelo Casconef1d0a422017-09-07 17:21:46 +02001434 "phv_lsb": 0,
1435 "is_pov": false,
1436 "field_msb": 15,
1437 "phv_msb": 15,
1438 "is_compiler_generated": false,
1439 "field_name": "tcp_seqNo",
1440 "field_width": 4,
1441 "field_lsb": 0
1442 }
1443 ]
1444 },
1445 {
Brian O'Connora6862e02017-09-08 01:17:39 -07001446 "phv_number": 338,
Carmelo Casconef1d0a422017-09-07 17:21:46 +02001447 "records": [
1448 {
1449 "word_bit_width": 16,
Brian O'Connora6862e02017-09-08 01:17:39 -07001450 "position_offset": 19,
Carmelo Casconef1d0a422017-09-07 17:21:46 +02001451 "phv_lsb": 8,
1452 "is_pov": false,
1453 "field_msb": 7,
1454 "phv_msb": 15,
1455 "is_compiler_generated": false,
1456 "field_name": "ethernet_dstAddr",
1457 "field_width": 6,
1458 "field_lsb": 0
1459 },
1460 {
1461 "word_bit_width": 16,
Brian O'Connora6862e02017-09-08 01:17:39 -07001462 "position_offset": 63,
Carmelo Casconef1d0a422017-09-07 17:21:46 +02001463 "phv_lsb": 0,
1464 "is_pov": false,
1465 "field_msb": 47,
1466 "phv_msb": 7,
1467 "is_compiler_generated": false,
1468 "field_name": "ethernet_srcAddr",
1469 "field_width": 6,
1470 "field_lsb": 40
1471 }
1472 ]
1473 },
1474 {
Brian O'Connora6862e02017-09-08 01:17:39 -07001475 "phv_number": 339,
Carmelo Casconef1d0a422017-09-07 17:21:46 +02001476 "records": [
1477 {
1478 "word_bit_width": 16,
Brian O'Connora6862e02017-09-08 01:17:39 -07001479 "position_offset": 39,
Carmelo Casconef1d0a422017-09-07 17:21:46 +02001480 "phv_lsb": 0,
1481 "is_pov": false,
1482 "field_msb": 15,
1483 "phv_msb": 15,
1484 "is_compiler_generated": false,
1485 "field_name": "ethernet_etherType",
1486 "field_width": 2,
1487 "field_lsb": 0
1488 }
1489 ]
1490 },
1491 {
Brian O'Connora6862e02017-09-08 01:17:39 -07001492 "phv_number": 340,
Carmelo Casconef1d0a422017-09-07 17:21:46 +02001493 "records": [
1494 {
1495 "word_bit_width": 16,
1496 "position_offset": 0,
1497 "phv_lsb": 7,
1498 "is_pov": false,
1499 "field_msb": 8,
1500 "phv_msb": 15,
1501 "is_compiler_generated": false,
1502 "field_name": "packet_out_hdr_egress_port",
1503 "field_width": 2,
1504 "field_lsb": 0
Brian O'Connora6862e02017-09-08 01:17:39 -07001505 },
1506 {
1507 "word_bit_width": 16,
1508 "position_offset": 30,
1509 "phv_lsb": 7,
1510 "is_pov": false,
1511 "field_msb": 8,
1512 "phv_msb": 15,
1513 "is_compiler_generated": false,
1514 "field_name": "packet_in_hdr_ingress_port",
1515 "field_width": 2,
1516 "field_lsb": 0
Carmelo Casconef1d0a422017-09-07 17:21:46 +02001517 }
1518 ]
1519 }
1520 ],
1521 "stage_number": 0
1522 },
1523 {
1524 "ingress": [
1525 {
1526 "phv_number": 0,
1527 "records": [
1528 {
1529 "word_bit_width": 32,
1530 "position_offset": 0,
1531 "phv_lsb": 0,
1532 "is_pov": true,
1533 "pov_headers": [],
1534 "field_msb": 31,
1535 "phv_msb": 31,
1536 "is_compiler_generated": false,
1537 "field_name": "POV",
1538 "field_width": 0,
1539 "field_lsb": 0
1540 }
1541 ]
1542 },
1543 {
1544 "phv_number": 1,
1545 "records": [
1546 {
1547 "word_bit_width": 32,
Brian O'Connora6862e02017-09-08 01:17:39 -07001548 "position_offset": 19,
Carmelo Casconef1d0a422017-09-07 17:21:46 +02001549 "phv_lsb": 24,
1550 "is_pov": false,
1551 "field_msb": 7,
1552 "phv_msb": 31,
1553 "is_compiler_generated": false,
1554 "field_name": "ipv4_protocol",
1555 "field_width": 1,
1556 "field_lsb": 0
1557 },
1558 {
1559 "word_bit_width": 32,
1560 "position_offset": 10,
1561 "phv_lsb": 8,
1562 "is_pov": false,
1563 "field_msb": 15,
1564 "phv_msb": 23,
1565 "is_compiler_generated": false,
1566 "field_name": "ipv4_hdrChecksum",
1567 "field_width": 2,
1568 "field_lsb": 0
1569 },
1570 {
1571 "word_bit_width": 32,
Brian O'Connora6862e02017-09-08 01:17:39 -07001572 "position_offset": 13,
Carmelo Casconef1d0a422017-09-07 17:21:46 +02001573 "phv_lsb": 0,
1574 "is_pov": false,
1575 "field_msb": 31,
1576 "phv_msb": 7,
1577 "is_compiler_generated": false,
1578 "field_name": "ipv4_srcAddr",
1579 "field_width": 4,
1580 "field_lsb": 24
1581 }
1582 ]
1583 },
1584 {
1585 "phv_number": 2,
1586 "records": [
1587 {
1588 "word_bit_width": 32,
Brian O'Connora6862e02017-09-08 01:17:39 -07001589 "position_offset": 57,
Carmelo Casconef1d0a422017-09-07 17:21:46 +02001590 "phv_lsb": 0,
1591 "is_pov": false,
1592 "field_msb": 31,
1593 "phv_msb": 31,
1594 "is_compiler_generated": false,
1595 "field_name": "ipv4_dstAddr",
1596 "field_width": 4,
1597 "field_lsb": 0
1598 }
1599 ]
1600 },
1601 {
1602 "phv_number": 3,
1603 "records": [
1604 {
1605 "word_bit_width": 32,
Brian O'Connora6862e02017-09-08 01:17:39 -07001606 "position_offset": 22,
Carmelo Casconef1d0a422017-09-07 17:21:46 +02001607 "phv_lsb": 0,
1608 "is_pov": false,
1609 "field_msb": 39,
1610 "phv_msb": 31,
1611 "is_compiler_generated": false,
1612 "field_name": "ethernet_dstAddr",
1613 "field_width": 6,
1614 "field_lsb": 8
1615 }
1616 ]
1617 },
1618 {
1619 "phv_number": 4,
1620 "records": [
1621 {
1622 "word_bit_width": 32,
Brian O'Connora6862e02017-09-08 01:17:39 -07001623 "position_offset": 70,
Carmelo Casconef1d0a422017-09-07 17:21:46 +02001624 "phv_lsb": 0,
1625 "is_pov": false,
1626 "field_msb": 31,
1627 "phv_msb": 31,
1628 "is_compiler_generated": false,
1629 "field_name": "ethernet_srcAddr",
1630 "field_width": 6,
1631 "field_lsb": 0
1632 }
1633 ]
1634 },
1635 {
1636 "phv_number": 5,
1637 "records": [
1638 {
1639 "word_bit_width": 32,
Brian O'Connora6862e02017-09-08 01:17:39 -07001640 "position_offset": 66,
Carmelo Casconef1d0a422017-09-07 17:21:46 +02001641 "phv_lsb": 16,
1642 "is_pov": false,
1643 "field_msb": 15,
1644 "phv_msb": 31,
1645 "is_compiler_generated": false,
1646 "field_name": "udp_srcPort",
1647 "field_width": 2,
1648 "field_lsb": 0
1649 },
1650 {
1651 "word_bit_width": 32,
Brian O'Connora6862e02017-09-08 01:17:39 -07001652 "position_offset": 55,
Carmelo Casconef1d0a422017-09-07 17:21:46 +02001653 "phv_lsb": 0,
1654 "is_pov": false,
1655 "field_msb": 15,
1656 "phv_msb": 15,
1657 "is_compiler_generated": false,
1658 "field_name": "udp_dstPort",
1659 "field_width": 2,
1660 "field_lsb": 0
1661 }
1662 ]
1663 },
1664 {
1665 "phv_number": 64,
1666 "records": [
1667 {
1668 "word_bit_width": 8,
Brian O'Connora6862e02017-09-08 01:17:39 -07001669 "position_offset": 13,
Carmelo Casconef1d0a422017-09-07 17:21:46 +02001670 "phv_lsb": 0,
1671 "is_pov": false,
1672 "field_msb": 23,
1673 "phv_msb": 7,
1674 "is_compiler_generated": false,
1675 "field_name": "ipv4_srcAddr",
1676 "field_width": 4,
1677 "field_lsb": 16
1678 }
1679 ]
1680 },
1681 {
Brian O'Connora6862e02017-09-08 01:17:39 -07001682 "phv_number": 65,
Carmelo Casconef1d0a422017-09-07 17:21:46 +02001683 "records": [
1684 {
1685 "word_bit_width": 8,
Brian O'Connora6862e02017-09-08 01:17:39 -07001686 "position_offset": 22,
Carmelo Casconef1d0a422017-09-07 17:21:46 +02001687 "phv_lsb": 0,
1688 "is_pov": false,
1689 "field_msb": 47,
1690 "phv_msb": 7,
1691 "is_compiler_generated": false,
1692 "field_name": "ethernet_dstAddr",
1693 "field_width": 6,
1694 "field_lsb": 40
1695 }
1696 ]
1697 },
1698 {
Brian O'Connora6862e02017-09-08 01:17:39 -07001699 "phv_number": 66,
Carmelo Casconef1d0a422017-09-07 17:21:46 +02001700 "records": [
1701 {
1702 "word_bit_width": 8,
Brian O'Connora6862e02017-09-08 01:17:39 -07001703 "position_offset": 70,
Carmelo Casconef1d0a422017-09-07 17:21:46 +02001704 "phv_lsb": 0,
1705 "is_pov": false,
1706 "field_msb": 39,
1707 "phv_msb": 7,
1708 "is_compiler_generated": false,
1709 "field_name": "ethernet_srcAddr",
1710 "field_width": 6,
1711 "field_lsb": 32
1712 }
1713 ]
1714 },
1715 {
Brian O'Connora6862e02017-09-08 01:17:39 -07001716 "phv_number": 67,
Carmelo Casconef1d0a422017-09-07 17:21:46 +02001717 "records": [
1718 {
1719 "word_bit_width": 8,
1720 "position_offset": 0,
1721 "phv_lsb": 0,
1722 "is_pov": true,
1723 "pov_headers": [
1724 {
1725 "bit_index": 0,
Brian O'Connora6862e02017-09-08 01:17:39 -07001726 "position_offset": 80,
Carmelo Casconef1d0a422017-09-07 17:21:46 +02001727 "header_name": "packet_in_hdr",
1728 "hidden": false
1729 },
1730 {
1731 "bit_index": 1,
Brian O'Connora6862e02017-09-08 01:17:39 -07001732 "position_offset": 81,
Carmelo Casconef1d0a422017-09-07 17:21:46 +02001733 "header_name": "packet_out_hdr",
1734 "hidden": false
1735 },
1736 {
1737 "bit_index": 2,
Brian O'Connora6862e02017-09-08 01:17:39 -07001738 "position_offset": 82,
Carmelo Casconef1d0a422017-09-07 17:21:46 +02001739 "header_name": "ethernet",
1740 "hidden": false
1741 },
1742 {
1743 "bit_index": 3,
Brian O'Connora6862e02017-09-08 01:17:39 -07001744 "position_offset": 83,
Carmelo Casconef1d0a422017-09-07 17:21:46 +02001745 "header_name": "ipv4",
1746 "hidden": false
1747 },
1748 {
1749 "bit_index": 4,
Brian O'Connora6862e02017-09-08 01:17:39 -07001750 "position_offset": 84,
Carmelo Casconef1d0a422017-09-07 17:21:46 +02001751 "header_name": "tcp",
1752 "hidden": false
1753 },
1754 {
1755 "bit_index": 5,
Brian O'Connora6862e02017-09-08 01:17:39 -07001756 "position_offset": 85,
Carmelo Casconef1d0a422017-09-07 17:21:46 +02001757 "header_name": "udp",
1758 "hidden": false
1759 }
1760 ],
1761 "field_msb": 39,
1762 "phv_msb": 7,
1763 "is_compiler_generated": false,
1764 "field_name": "POV",
1765 "field_width": 0,
1766 "field_lsb": 32
1767 }
1768 ]
1769 },
1770 {
Brian O'Connora6862e02017-09-08 01:17:39 -07001771 "phv_number": 68,
Carmelo Casconef1d0a422017-09-07 17:21:46 +02001772 "records": [
1773 {
1774 "word_bit_width": 8,
Brian O'Connora6862e02017-09-08 01:17:39 -07001775 "position_offset": 51,
Carmelo Casconef1d0a422017-09-07 17:21:46 +02001776 "phv_lsb": 5,
1777 "is_pov": false,
1778 "field_msb": 2,
1779 "phv_msb": 7,
1780 "is_compiler_generated": false,
1781 "field_name": "ig_intr_md_for_tm_drop_ctl",
1782 "field_width": 1,
1783 "field_lsb": 0
1784 }
1785 ]
1786 },
1787 {
1788 "phv_number": 128,
1789 "records": [
1790 {
1791 "word_bit_width": 16,
Brian O'Connora6862e02017-09-08 01:17:39 -07001792 "position_offset": 32,
Carmelo Casconef1d0a422017-09-07 17:21:46 +02001793 "phv_lsb": 15,
1794 "is_pov": false,
1795 "field_msb": 0,
1796 "phv_msb": 15,
1797 "is_compiler_generated": false,
1798 "field_name": "ig_intr_md_resubmit_flag",
1799 "field_width": 1,
1800 "field_lsb": 0
1801 },
1802 {
1803 "word_bit_width": 16,
1804 "position_offset": 8,
1805 "phv_lsb": 0,
1806 "is_pov": false,
1807 "field_msb": 8,
1808 "phv_msb": 8,
1809 "is_compiler_generated": false,
1810 "field_name": "ig_intr_md_ingress_port",
1811 "field_width": 2,
1812 "field_lsb": 0
1813 }
1814 ]
1815 },
1816 {
1817 "phv_number": 129,
1818 "records": [
1819 {
1820 "word_bit_width": 16,
1821 "position_offset": 0,
1822 "phv_lsb": 7,
1823 "is_pov": false,
1824 "field_msb": 8,
1825 "phv_msb": 15,
1826 "is_compiler_generated": false,
1827 "field_name": "packet_out_hdr_egress_port",
1828 "field_width": 2,
1829 "field_lsb": 0
1830 },
1831 {
1832 "word_bit_width": 16,
Brian O'Connora6862e02017-09-08 01:17:39 -07001833 "position_offset": 33,
Carmelo Casconef1d0a422017-09-07 17:21:46 +02001834 "phv_lsb": 7,
1835 "is_pov": false,
1836 "field_msb": 8,
1837 "phv_msb": 15,
1838 "is_compiler_generated": false,
1839 "field_name": "packet_in_hdr_ingress_port",
1840 "field_width": 2,
1841 "field_lsb": 0
1842 }
1843 ]
1844 },
1845 {
1846 "phv_number": 130,
1847 "records": [
1848 {
1849 "word_bit_width": 16,
Brian O'Connora6862e02017-09-08 01:17:39 -07001850 "position_offset": 41,
Carmelo Casconef1d0a422017-09-07 17:21:46 +02001851 "phv_lsb": 0,
1852 "is_pov": false,
1853 "field_msb": 8,
1854 "phv_msb": 8,
1855 "is_compiler_generated": false,
1856 "field_name": "ig_intr_md_for_tm_ucast_egress_port",
1857 "field_width": 2,
1858 "field_lsb": 0
1859 }
1860 ]
1861 },
1862 {
1863 "phv_number": 131,
1864 "records": [
1865 {
1866 "word_bit_width": 16,
Brian O'Connora6862e02017-09-08 01:17:39 -07001867 "position_offset": 13,
Carmelo Casconef1d0a422017-09-07 17:21:46 +02001868 "phv_lsb": 0,
1869 "is_pov": false,
1870 "field_msb": 15,
1871 "phv_msb": 15,
1872 "is_compiler_generated": false,
1873 "field_name": "ipv4_srcAddr",
1874 "field_width": 4,
1875 "field_lsb": 0
1876 }
1877 ]
1878 },
1879 {
1880 "phv_number": 132,
1881 "records": [
1882 {
1883 "word_bit_width": 16,
Brian O'Connora6862e02017-09-08 01:17:39 -07001884 "position_offset": 22,
Carmelo Casconef1d0a422017-09-07 17:21:46 +02001885 "phv_lsb": 8,
1886 "is_pov": false,
1887 "field_msb": 7,
1888 "phv_msb": 15,
1889 "is_compiler_generated": false,
1890 "field_name": "ethernet_dstAddr",
1891 "field_width": 6,
1892 "field_lsb": 0
1893 },
1894 {
1895 "word_bit_width": 16,
Brian O'Connora6862e02017-09-08 01:17:39 -07001896 "position_offset": 70,
Carmelo Casconef1d0a422017-09-07 17:21:46 +02001897 "phv_lsb": 0,
1898 "is_pov": false,
1899 "field_msb": 47,
1900 "phv_msb": 7,
1901 "is_compiler_generated": false,
1902 "field_name": "ethernet_srcAddr",
1903 "field_width": 6,
1904 "field_lsb": 40
1905 }
1906 ]
1907 },
1908 {
1909 "phv_number": 133,
1910 "records": [
1911 {
1912 "word_bit_width": 16,
1913 "position_offset": 5,
1914 "phv_lsb": 0,
1915 "is_pov": false,
1916 "field_msb": 15,
1917 "phv_msb": 15,
1918 "is_compiler_generated": false,
1919 "field_name": "ethernet_etherType",
1920 "field_width": 2,
1921 "field_lsb": 0
1922 }
1923 ]
1924 },
1925 {
1926 "phv_number": 134,
1927 "records": [
1928 {
1929 "word_bit_width": 16,
Brian O'Connora6862e02017-09-08 01:17:39 -07001930 "position_offset": 20,
Carmelo Casconef1d0a422017-09-07 17:21:46 +02001931 "phv_lsb": 0,
1932 "is_pov": false,
1933 "field_msb": 15,
1934 "phv_msb": 15,
1935 "is_compiler_generated": false,
1936 "field_name": "ecmp_metadata_groupId",
1937 "field_width": 2,
1938 "field_lsb": 0
1939 }
1940 ]
1941 },
1942 {
1943 "phv_number": 135,
1944 "records": [
1945 {
1946 "word_bit_width": 16,
Brian O'Connora6862e02017-09-08 01:17:39 -07001947 "position_offset": 61,
Carmelo Casconef1d0a422017-09-07 17:21:46 +02001948 "phv_lsb": 0,
1949 "is_pov": false,
1950 "field_msb": 15,
1951 "phv_msb": 15,
1952 "is_compiler_generated": false,
1953 "field_name": "ecmp_metadata_selector",
1954 "field_width": 2,
1955 "field_lsb": 0
1956 }
1957 ]
1958 },
1959 {
1960 "phv_number": 256,
1961 "records": [
1962 {
1963 "word_bit_width": 32,
Brian O'Connora6862e02017-09-08 01:17:39 -07001964 "position_offset": 49,
Carmelo Casconef1d0a422017-09-07 17:21:46 +02001965 "phv_lsb": 24,
1966 "is_pov": false,
1967 "field_msb": 7,
1968 "phv_msb": 31,
1969 "is_compiler_generated": false,
1970 "field_name": "ipv4_identification",
1971 "field_width": 2,
1972 "field_lsb": 0
1973 },
1974 {
1975 "word_bit_width": 32,
1976 "position_offset": 7,
1977 "phv_lsb": 21,
1978 "is_pov": false,
1979 "field_msb": 2,
1980 "phv_msb": 23,
1981 "is_compiler_generated": false,
1982 "field_name": "ipv4_flags",
1983 "field_width": 1,
1984 "field_lsb": 0
1985 },
1986 {
1987 "word_bit_width": 32,
Brian O'Connora6862e02017-09-08 01:17:39 -07001988 "position_offset": 44,
Carmelo Casconef1d0a422017-09-07 17:21:46 +02001989 "phv_lsb": 8,
1990 "is_pov": false,
1991 "field_msb": 12,
1992 "phv_msb": 20,
1993 "is_compiler_generated": false,
1994 "field_name": "ipv4_fragOffset",
1995 "field_width": 2,
1996 "field_lsb": 0
1997 },
1998 {
1999 "word_bit_width": 32,
Brian O'Connora6862e02017-09-08 01:17:39 -07002000 "position_offset": 54,
Carmelo Casconef1d0a422017-09-07 17:21:46 +02002001 "phv_lsb": 0,
2002 "is_pov": false,
2003 "field_msb": 7,
2004 "phv_msb": 7,
2005 "is_compiler_generated": false,
2006 "field_name": "ipv4_ttl",
2007 "field_width": 1,
2008 "field_lsb": 0
2009 }
2010 ]
2011 },
2012 {
2013 "phv_number": 257,
2014 "records": [
2015 {
2016 "word_bit_width": 32,
Brian O'Connora6862e02017-09-08 01:17:39 -07002017 "position_offset": 43,
Carmelo Casconef1d0a422017-09-07 17:21:46 +02002018 "phv_lsb": 28,
2019 "is_pov": false,
2020 "field_msb": 3,
2021 "phv_msb": 31,
2022 "is_compiler_generated": false,
2023 "field_name": "tcp_dataOffset",
2024 "field_width": 1,
2025 "field_lsb": 0
2026 },
2027 {
2028 "word_bit_width": 32,
Brian O'Connora6862e02017-09-08 01:17:39 -07002029 "position_offset": 48,
Carmelo Casconef1d0a422017-09-07 17:21:46 +02002030 "phv_lsb": 25,
2031 "is_pov": false,
2032 "field_msb": 2,
2033 "phv_msb": 27,
2034 "is_compiler_generated": false,
2035 "field_name": "tcp_res",
2036 "field_width": 1,
2037 "field_lsb": 0
2038 },
2039 {
2040 "word_bit_width": 32,
Brian O'Connora6862e02017-09-08 01:17:39 -07002041 "position_offset": 12,
Carmelo Casconef1d0a422017-09-07 17:21:46 +02002042 "phv_lsb": 22,
2043 "is_pov": false,
2044 "field_msb": 2,
2045 "phv_msb": 24,
2046 "is_compiler_generated": false,
2047 "field_name": "tcp_ecn",
2048 "field_width": 1,
2049 "field_lsb": 0
2050 },
2051 {
2052 "word_bit_width": 32,
2053 "position_offset": 37,
2054 "phv_lsb": 16,
2055 "is_pov": false,
2056 "field_msb": 5,
2057 "phv_msb": 21,
2058 "is_compiler_generated": false,
2059 "field_name": "tcp_ctrl",
2060 "field_width": 1,
2061 "field_lsb": 0
2062 },
2063 {
2064 "word_bit_width": 32,
Brian O'Connora6862e02017-09-08 01:17:39 -07002065 "position_offset": 46,
Carmelo Casconef1d0a422017-09-07 17:21:46 +02002066 "phv_lsb": 0,
2067 "is_pov": false,
2068 "field_msb": 15,
2069 "phv_msb": 15,
2070 "is_compiler_generated": false,
2071 "field_name": "tcp_window",
2072 "field_width": 2,
2073 "field_lsb": 0
2074 }
2075 ]
2076 },
2077 {
Brian O'Connora6862e02017-09-08 01:17:39 -07002078 "phv_number": 258,
Carmelo Casconef1d0a422017-09-07 17:21:46 +02002079 "records": [
2080 {
2081 "word_bit_width": 32,
2082 "position_offset": 2,
2083 "phv_lsb": 16,
2084 "is_pov": false,
2085 "field_msb": 15,
2086 "phv_msb": 31,
2087 "is_compiler_generated": false,
2088 "field_name": "tcp_checksum",
2089 "field_width": 2,
2090 "field_lsb": 0
2091 },
2092 {
2093 "word_bit_width": 32,
Brian O'Connora6862e02017-09-08 01:17:39 -07002094 "position_offset": 52,
Carmelo Casconef1d0a422017-09-07 17:21:46 +02002095 "phv_lsb": 0,
2096 "is_pov": false,
2097 "field_msb": 15,
2098 "phv_msb": 15,
2099 "is_compiler_generated": false,
2100 "field_name": "tcp_urgentPtr",
2101 "field_width": 2,
2102 "field_lsb": 0
2103 }
2104 ]
2105 },
2106 {
Brian O'Connora6862e02017-09-08 01:17:39 -07002107 "phv_number": 288,
Carmelo Casconef1d0a422017-09-07 17:21:46 +02002108 "records": [
2109 {
2110 "word_bit_width": 8,
Brian O'Connora6862e02017-09-08 01:17:39 -07002111 "position_offset": 65,
Carmelo Casconef1d0a422017-09-07 17:21:46 +02002112 "phv_lsb": 4,
2113 "is_pov": false,
2114 "field_msb": 3,
2115 "phv_msb": 7,
2116 "is_compiler_generated": false,
2117 "field_name": "ipv4_version",
2118 "field_width": 1,
2119 "field_lsb": 0
2120 },
2121 {
2122 "word_bit_width": 8,
2123 "position_offset": 40,
2124 "phv_lsb": 0,
2125 "is_pov": false,
2126 "field_msb": 3,
2127 "phv_msb": 3,
2128 "is_compiler_generated": false,
2129 "field_name": "ipv4_ihl",
2130 "field_width": 1,
2131 "field_lsb": 0
2132 }
2133 ]
2134 },
2135 {
Brian O'Connora6862e02017-09-08 01:17:39 -07002136 "phv_number": 289,
2137 "records": [
2138 {
2139 "word_bit_width": 8,
2140 "position_offset": 38,
2141 "phv_lsb": 0,
2142 "is_pov": false,
2143 "field_msb": 15,
2144 "phv_msb": 7,
2145 "is_compiler_generated": false,
2146 "field_name": "tcp_srcPort",
2147 "field_width": 2,
2148 "field_lsb": 8
2149 },
2150 {
2151 "word_bit_width": 8,
2152 "position_offset": 17,
2153 "phv_lsb": 0,
2154 "is_pov": false,
2155 "field_msb": 15,
2156 "phv_msb": 7,
2157 "is_compiler_generated": false,
2158 "field_name": "udp_length_",
2159 "field_width": 2,
2160 "field_lsb": 8
2161 }
2162 ]
2163 },
2164 {
2165 "phv_number": 290,
2166 "records": [
2167 {
2168 "word_bit_width": 8,
2169 "position_offset": 38,
2170 "phv_lsb": 0,
2171 "is_pov": false,
2172 "field_msb": 7,
2173 "phv_msb": 7,
2174 "is_compiler_generated": false,
2175 "field_name": "tcp_srcPort",
2176 "field_width": 2,
2177 "field_lsb": 0
2178 },
2179 {
2180 "word_bit_width": 8,
2181 "position_offset": 17,
2182 "phv_lsb": 0,
2183 "is_pov": false,
2184 "field_msb": 7,
2185 "phv_msb": 7,
2186 "is_compiler_generated": false,
2187 "field_name": "udp_length_",
2188 "field_width": 2,
2189 "field_lsb": 0
2190 }
2191 ]
2192 },
2193 {
2194 "phv_number": 291,
2195 "records": [
2196 {
2197 "word_bit_width": 8,
2198 "position_offset": 35,
2199 "phv_lsb": 0,
2200 "is_pov": false,
2201 "field_msb": 15,
2202 "phv_msb": 7,
2203 "is_compiler_generated": false,
2204 "field_name": "tcp_dstPort",
2205 "field_width": 2,
2206 "field_lsb": 8
2207 }
2208 ]
2209 },
2210 {
2211 "phv_number": 292,
2212 "records": [
2213 {
2214 "word_bit_width": 8,
2215 "position_offset": 35,
2216 "phv_lsb": 0,
2217 "is_pov": false,
2218 "field_msb": 7,
2219 "phv_msb": 7,
2220 "is_compiler_generated": false,
2221 "field_name": "tcp_dstPort",
2222 "field_width": 2,
2223 "field_lsb": 0
2224 }
2225 ]
2226 },
2227 {
2228 "phv_number": 320,
2229 "records": [
2230 {
2231 "word_bit_width": 16,
2232 "position_offset": 4,
2233 "phv_lsb": 8,
2234 "is_pov": false,
2235 "field_msb": 7,
2236 "phv_msb": 15,
2237 "is_compiler_generated": false,
2238 "field_name": "ipv4_diffserv",
2239 "field_width": 1,
2240 "field_lsb": 0
2241 },
2242 {
2243 "word_bit_width": 16,
2244 "position_offset": 63,
2245 "phv_lsb": 0,
2246 "is_pov": false,
2247 "field_msb": 15,
2248 "phv_msb": 7,
2249 "is_compiler_generated": false,
2250 "field_name": "ipv4_totalLen",
2251 "field_width": 2,
2252 "field_lsb": 8
2253 }
2254 ]
2255 },
2256 {
2257 "phv_number": 321,
2258 "records": [
2259 {
2260 "word_bit_width": 16,
2261 "position_offset": 63,
2262 "phv_lsb": 8,
2263 "is_pov": false,
2264 "field_msb": 7,
2265 "phv_msb": 15,
2266 "is_compiler_generated": false,
2267 "field_name": "ipv4_totalLen",
2268 "field_width": 2,
2269 "field_lsb": 0
2270 },
2271 {
2272 "word_bit_width": 16,
2273 "position_offset": 49,
2274 "phv_lsb": 0,
2275 "is_pov": false,
2276 "field_msb": 15,
2277 "phv_msb": 7,
2278 "is_compiler_generated": false,
2279 "field_name": "ipv4_identification",
2280 "field_width": 2,
2281 "field_lsb": 8
2282 }
2283 ]
2284 },
2285 {
2286 "phv_number": 322,
2287 "records": [
2288 {
2289 "word_bit_width": 16,
2290 "position_offset": 76,
2291 "phv_lsb": 0,
2292 "is_pov": false,
2293 "field_msb": 31,
2294 "phv_msb": 15,
2295 "is_compiler_generated": false,
2296 "field_name": "tcp_seqNo",
2297 "field_width": 4,
2298 "field_lsb": 16
2299 },
2300 {
2301 "word_bit_width": 16,
2302 "position_offset": 68,
2303 "phv_lsb": 0,
2304 "is_pov": false,
2305 "field_msb": 15,
2306 "phv_msb": 15,
2307 "is_compiler_generated": false,
2308 "field_name": "udp_checksum",
2309 "field_width": 2,
2310 "field_lsb": 0
2311 }
2312 ]
2313 },
2314 {
2315 "phv_number": 323,
2316 "records": [
2317 {
2318 "word_bit_width": 16,
2319 "position_offset": 76,
2320 "phv_lsb": 0,
2321 "is_pov": false,
2322 "field_msb": 15,
2323 "phv_msb": 15,
2324 "is_compiler_generated": false,
2325 "field_name": "tcp_seqNo",
2326 "field_width": 4,
2327 "field_lsb": 0
2328 }
2329 ]
2330 },
2331 {
2332 "phv_number": 324,
2333 "records": [
2334 {
2335 "word_bit_width": 16,
2336 "position_offset": 28,
2337 "phv_lsb": 0,
2338 "is_pov": false,
2339 "field_msb": 31,
2340 "phv_msb": 15,
2341 "is_compiler_generated": false,
2342 "field_name": "tcp_ackNo",
2343 "field_width": 4,
2344 "field_lsb": 16
2345 }
2346 ]
2347 },
2348 {
2349 "phv_number": 325,
2350 "records": [
2351 {
2352 "word_bit_width": 16,
2353 "position_offset": 28,
2354 "phv_lsb": 0,
2355 "is_pov": false,
2356 "field_msb": 15,
2357 "phv_msb": 15,
2358 "is_compiler_generated": false,
2359 "field_name": "tcp_ackNo",
2360 "field_width": 4,
2361 "field_lsb": 0
2362 }
2363 ]
2364 }
2365 ],
2366 "egress": [
2367 {
2368 "phv_number": 80,
2369 "records": [
2370 {
2371 "word_bit_width": 8,
2372 "position_offset": 7,
2373 "phv_lsb": 0,
2374 "is_pov": false,
2375 "field_msb": 2,
2376 "phv_msb": 2,
2377 "is_compiler_generated": false,
2378 "field_name": "eg_intr_md_egress_cos",
2379 "field_width": 1,
2380 "field_lsb": 0
2381 }
2382 ]
2383 },
2384 {
2385 "phv_number": 81,
2386 "records": [
2387 {
2388 "word_bit_width": 8,
2389 "position_offset": 0,
2390 "phv_lsb": 0,
2391 "is_pov": true,
2392 "pov_headers": [
2393 {
2394 "bit_index": 0,
2395 "position_offset": 73,
2396 "header_name": "packet_in_hdr",
2397 "hidden": false
2398 },
2399 {
2400 "bit_index": 1,
2401 "position_offset": 74,
2402 "header_name": "packet_out_hdr",
2403 "hidden": false
2404 },
2405 {
2406 "bit_index": 2,
2407 "position_offset": 75,
2408 "header_name": "ethernet",
2409 "hidden": false
2410 },
2411 {
2412 "bit_index": 3,
2413 "position_offset": 76,
2414 "header_name": "ipv4",
2415 "hidden": false
2416 },
2417 {
2418 "bit_index": 4,
2419 "position_offset": 77,
2420 "header_name": "tcp",
2421 "hidden": false
2422 },
2423 {
2424 "bit_index": 5,
2425 "position_offset": 78,
2426 "header_name": "udp",
2427 "hidden": false
2428 }
2429 ],
2430 "field_msb": 7,
2431 "phv_msb": 7,
2432 "is_compiler_generated": false,
2433 "field_name": "POV",
2434 "field_width": 0,
2435 "field_lsb": 0
2436 }
2437 ]
2438 },
2439 {
2440 "phv_number": 144,
2441 "records": [
2442 {
2443 "word_bit_width": 16,
2444 "position_offset": 61,
2445 "phv_lsb": 0,
2446 "is_pov": false,
2447 "field_msb": 8,
2448 "phv_msb": 8,
2449 "is_compiler_generated": false,
2450 "field_name": "eg_intr_md_egress_port",
2451 "field_width": 2,
2452 "field_lsb": 0
2453 }
2454 ]
2455 },
2456 {
2457 "phv_number": 264,
2458 "records": [
2459 {
2460 "word_bit_width": 32,
2461 "position_offset": 47,
2462 "phv_lsb": 24,
2463 "is_pov": false,
2464 "field_msb": 7,
2465 "phv_msb": 31,
2466 "is_compiler_generated": false,
2467 "field_name": "ipv4_ttl",
2468 "field_width": 1,
2469 "field_lsb": 0
2470 },
2471 {
2472 "word_bit_width": 32,
2473 "position_offset": 18,
2474 "phv_lsb": 16,
2475 "is_pov": false,
2476 "field_msb": 7,
2477 "phv_msb": 23,
2478 "is_compiler_generated": false,
2479 "field_name": "ipv4_protocol",
2480 "field_width": 1,
2481 "field_lsb": 0
2482 },
2483 {
2484 "word_bit_width": 32,
2485 "position_offset": 9,
2486 "phv_lsb": 0,
2487 "is_pov": false,
2488 "field_msb": 15,
2489 "phv_msb": 15,
2490 "is_compiler_generated": false,
2491 "field_name": "ipv4_hdrChecksum",
2492 "field_width": 2,
2493 "field_lsb": 0
2494 }
2495 ]
2496 },
2497 {
2498 "phv_number": 265,
2499 "records": [
2500 {
2501 "word_bit_width": 32,
2502 "position_offset": 12,
2503 "phv_lsb": 0,
2504 "is_pov": false,
2505 "field_msb": 31,
2506 "phv_msb": 31,
2507 "is_compiler_generated": false,
2508 "field_name": "ipv4_srcAddr",
2509 "field_width": 4,
2510 "field_lsb": 0
2511 }
2512 ]
2513 },
2514 {
2515 "phv_number": 266,
2516 "records": [
2517 {
2518 "word_bit_width": 32,
2519 "position_offset": 50,
2520 "phv_lsb": 0,
2521 "is_pov": false,
2522 "field_msb": 31,
2523 "phv_msb": 31,
2524 "is_compiler_generated": false,
2525 "field_name": "ipv4_dstAddr",
2526 "field_width": 4,
2527 "field_lsb": 0
2528 }
2529 ]
2530 },
2531 {
2532 "phv_number": 267,
2533 "records": [
2534 {
2535 "word_bit_width": 32,
2536 "position_offset": 25,
2537 "phv_lsb": 0,
2538 "is_pov": false,
2539 "field_msb": 31,
2540 "phv_msb": 31,
2541 "is_compiler_generated": false,
2542 "field_name": "tcp_ackNo",
2543 "field_width": 4,
2544 "field_lsb": 0
2545 },
2546 {
2547 "word_bit_width": 32,
2548 "position_offset": 16,
2549 "phv_lsb": 16,
2550 "is_pov": false,
2551 "field_msb": 15,
2552 "phv_msb": 31,
2553 "is_compiler_generated": false,
2554 "field_name": "udp_length_",
2555 "field_width": 2,
2556 "field_lsb": 0
2557 },
2558 {
2559 "word_bit_width": 32,
2560 "position_offset": 59,
2561 "phv_lsb": 0,
2562 "is_pov": false,
2563 "field_msb": 15,
2564 "phv_msb": 15,
2565 "is_compiler_generated": false,
2566 "field_name": "udp_checksum",
2567 "field_width": 2,
2568 "field_lsb": 0
2569 }
2570 ]
2571 },
2572 {
2573 "phv_number": 268,
2574 "records": [
2575 {
2576 "word_bit_width": 32,
2577 "position_offset": 38,
2578 "phv_lsb": 28,
2579 "is_pov": false,
2580 "field_msb": 3,
2581 "phv_msb": 31,
2582 "is_compiler_generated": false,
2583 "field_name": "tcp_dataOffset",
2584 "field_width": 1,
2585 "field_lsb": 0
2586 },
2587 {
2588 "word_bit_width": 32,
2589 "position_offset": 58,
2590 "phv_lsb": 25,
2591 "is_pov": false,
2592 "field_msb": 2,
2593 "phv_msb": 27,
2594 "is_compiler_generated": false,
2595 "field_name": "tcp_res",
2596 "field_width": 1,
2597 "field_lsb": 0
2598 },
2599 {
2600 "word_bit_width": 32,
2601 "position_offset": 11,
2602 "phv_lsb": 22,
2603 "is_pov": false,
2604 "field_msb": 2,
2605 "phv_msb": 24,
2606 "is_compiler_generated": false,
2607 "field_name": "tcp_ecn",
2608 "field_width": 1,
2609 "field_lsb": 0
2610 },
2611 {
2612 "word_bit_width": 32,
2613 "position_offset": 34,
2614 "phv_lsb": 16,
2615 "is_pov": false,
2616 "field_msb": 5,
2617 "phv_msb": 21,
2618 "is_compiler_generated": false,
2619 "field_name": "tcp_ctrl",
2620 "field_width": 1,
2621 "field_lsb": 0
2622 },
2623 {
2624 "word_bit_width": 32,
2625 "position_offset": 41,
2626 "phv_lsb": 0,
2627 "is_pov": false,
2628 "field_msb": 15,
2629 "phv_msb": 15,
2630 "is_compiler_generated": false,
2631 "field_name": "tcp_window",
2632 "field_width": 2,
2633 "field_lsb": 0
2634 }
2635 ]
2636 },
2637 {
2638 "phv_number": 269,
2639 "records": [
2640 {
2641 "word_bit_width": 32,
2642 "position_offset": 2,
2643 "phv_lsb": 16,
2644 "is_pov": false,
2645 "field_msb": 15,
2646 "phv_msb": 31,
2647 "is_compiler_generated": false,
2648 "field_name": "tcp_checksum",
2649 "field_width": 2,
2650 "field_lsb": 0
2651 },
2652 {
2653 "word_bit_width": 32,
2654 "position_offset": 45,
2655 "phv_lsb": 0,
2656 "is_pov": false,
2657 "field_msb": 15,
2658 "phv_msb": 15,
2659 "is_compiler_generated": false,
2660 "field_name": "tcp_urgentPtr",
2661 "field_width": 2,
2662 "field_lsb": 0
2663 }
2664 ]
2665 },
2666 {
2667 "phv_number": 270,
2668 "records": [
2669 {
2670 "word_bit_width": 32,
2671 "position_offset": 19,
2672 "phv_lsb": 0,
2673 "is_pov": false,
2674 "field_msb": 39,
2675 "phv_msb": 31,
2676 "is_compiler_generated": false,
2677 "field_name": "ethernet_dstAddr",
2678 "field_width": 6,
2679 "field_lsb": 8
2680 }
2681 ]
2682 },
2683 {
2684 "phv_number": 271,
2685 "records": [
2686 {
2687 "word_bit_width": 32,
2688 "position_offset": 63,
2689 "phv_lsb": 0,
2690 "is_pov": false,
2691 "field_msb": 31,
2692 "phv_msb": 31,
2693 "is_compiler_generated": false,
2694 "field_name": "ethernet_srcAddr",
2695 "field_width": 6,
2696 "field_lsb": 0
2697 }
2698 ]
2699 },
2700 {
2701 "phv_number": 296,
2702 "records": [
2703 {
2704 "word_bit_width": 8,
2705 "position_offset": 29,
2706 "phv_lsb": 4,
2707 "is_pov": false,
2708 "field_msb": 3,
2709 "phv_msb": 7,
2710 "is_compiler_generated": false,
2711 "field_name": "ipv4_version",
2712 "field_width": 1,
2713 "field_lsb": 0
2714 },
2715 {
2716 "word_bit_width": 8,
2717 "position_offset": 37,
2718 "phv_lsb": 0,
2719 "is_pov": false,
2720 "field_msb": 3,
2721 "phv_msb": 3,
2722 "is_compiler_generated": false,
2723 "field_name": "ipv4_ihl",
2724 "field_width": 1,
2725 "field_lsb": 0
2726 }
2727 ]
2728 },
2729 {
2730 "phv_number": 297,
Carmelo Casconef1d0a422017-09-07 17:21:46 +02002731 "records": [
2732 {
2733 "word_bit_width": 8,
2734 "position_offset": 4,
2735 "phv_lsb": 0,
2736 "is_pov": false,
2737 "field_msb": 7,
2738 "phv_msb": 7,
2739 "is_compiler_generated": false,
2740 "field_name": "ipv4_diffserv",
2741 "field_width": 1,
2742 "field_lsb": 0
2743 }
2744 ]
2745 },
2746 {
Brian O'Connora6862e02017-09-08 01:17:39 -07002747 "phv_number": 298,
Carmelo Casconef1d0a422017-09-07 17:21:46 +02002748 "records": [
2749 {
2750 "word_bit_width": 8,
Brian O'Connora6862e02017-09-08 01:17:39 -07002751 "position_offset": 35,
Carmelo Casconef1d0a422017-09-07 17:21:46 +02002752 "phv_lsb": 0,
2753 "is_pov": false,
2754 "field_msb": 15,
2755 "phv_msb": 7,
2756 "is_compiler_generated": false,
2757 "field_name": "tcp_srcPort",
2758 "field_width": 2,
2759 "field_lsb": 8
2760 },
2761 {
2762 "word_bit_width": 8,
Brian O'Connora6862e02017-09-08 01:17:39 -07002763 "position_offset": 56,
Carmelo Casconef1d0a422017-09-07 17:21:46 +02002764 "phv_lsb": 0,
2765 "is_pov": false,
2766 "field_msb": 15,
2767 "phv_msb": 7,
2768 "is_compiler_generated": false,
2769 "field_name": "udp_srcPort",
2770 "field_width": 2,
2771 "field_lsb": 8
2772 }
2773 ]
2774 },
2775 {
Brian O'Connora6862e02017-09-08 01:17:39 -07002776 "phv_number": 299,
Carmelo Casconef1d0a422017-09-07 17:21:46 +02002777 "records": [
2778 {
2779 "word_bit_width": 8,
Brian O'Connora6862e02017-09-08 01:17:39 -07002780 "position_offset": 35,
Carmelo Casconef1d0a422017-09-07 17:21:46 +02002781 "phv_lsb": 0,
2782 "is_pov": false,
2783 "field_msb": 7,
2784 "phv_msb": 7,
2785 "is_compiler_generated": false,
2786 "field_name": "tcp_srcPort",
2787 "field_width": 2,
2788 "field_lsb": 0
2789 },
2790 {
2791 "word_bit_width": 8,
Brian O'Connora6862e02017-09-08 01:17:39 -07002792 "position_offset": 56,
Carmelo Casconef1d0a422017-09-07 17:21:46 +02002793 "phv_lsb": 0,
2794 "is_pov": false,
2795 "field_msb": 7,
2796 "phv_msb": 7,
2797 "is_compiler_generated": false,
2798 "field_name": "udp_srcPort",
2799 "field_width": 2,
2800 "field_lsb": 0
2801 }
2802 ]
2803 },
2804 {
Brian O'Connora6862e02017-09-08 01:17:39 -07002805 "phv_number": 300,
Carmelo Casconef1d0a422017-09-07 17:21:46 +02002806 "records": [
2807 {
2808 "word_bit_width": 8,
Brian O'Connora6862e02017-09-08 01:17:39 -07002809 "position_offset": 19,
Carmelo Casconef1d0a422017-09-07 17:21:46 +02002810 "phv_lsb": 0,
2811 "is_pov": false,
2812 "field_msb": 47,
2813 "phv_msb": 7,
2814 "is_compiler_generated": false,
2815 "field_name": "ethernet_dstAddr",
2816 "field_width": 6,
2817 "field_lsb": 40
2818 }
2819 ]
2820 },
2821 {
Brian O'Connora6862e02017-09-08 01:17:39 -07002822 "phv_number": 301,
Carmelo Casconef1d0a422017-09-07 17:21:46 +02002823 "records": [
2824 {
2825 "word_bit_width": 8,
Brian O'Connora6862e02017-09-08 01:17:39 -07002826 "position_offset": 63,
Carmelo Casconef1d0a422017-09-07 17:21:46 +02002827 "phv_lsb": 0,
2828 "is_pov": false,
2829 "field_msb": 39,
2830 "phv_msb": 7,
2831 "is_compiler_generated": false,
2832 "field_name": "ethernet_srcAddr",
2833 "field_width": 6,
2834 "field_lsb": 32
2835 }
2836 ]
2837 },
2838 {
Brian O'Connora6862e02017-09-08 01:17:39 -07002839 "phv_number": 332,
Carmelo Casconef1d0a422017-09-07 17:21:46 +02002840 "records": [
2841 {
2842 "word_bit_width": 16,
Brian O'Connora6862e02017-09-08 01:17:39 -07002843 "position_offset": 54,
Carmelo Casconef1d0a422017-09-07 17:21:46 +02002844 "phv_lsb": 0,
2845 "is_pov": false,
2846 "field_msb": 15,
2847 "phv_msb": 15,
2848 "is_compiler_generated": false,
2849 "field_name": "ipv4_totalLen",
2850 "field_width": 2,
2851 "field_lsb": 0
2852 }
2853 ]
2854 },
2855 {
Brian O'Connora6862e02017-09-08 01:17:39 -07002856 "phv_number": 333,
Carmelo Casconef1d0a422017-09-07 17:21:46 +02002857 "records": [
2858 {
2859 "word_bit_width": 16,
Brian O'Connora6862e02017-09-08 01:17:39 -07002860 "position_offset": 43,
Carmelo Casconef1d0a422017-09-07 17:21:46 +02002861 "phv_lsb": 0,
2862 "is_pov": false,
2863 "field_msb": 15,
2864 "phv_msb": 15,
2865 "is_compiler_generated": false,
2866 "field_name": "ipv4_identification",
2867 "field_width": 2,
2868 "field_lsb": 0
2869 }
2870 ]
2871 },
2872 {
Brian O'Connora6862e02017-09-08 01:17:39 -07002873 "phv_number": 334,
Carmelo Casconef1d0a422017-09-07 17:21:46 +02002874 "records": [
2875 {
2876 "word_bit_width": 16,
2877 "position_offset": 8,
2878 "phv_lsb": 13,
2879 "is_pov": false,
2880 "field_msb": 2,
2881 "phv_msb": 15,
2882 "is_compiler_generated": false,
2883 "field_name": "ipv4_flags",
2884 "field_width": 1,
2885 "field_lsb": 0
2886 },
2887 {
2888 "word_bit_width": 16,
2889 "position_offset": 5,
2890 "phv_lsb": 0,
2891 "is_pov": false,
2892 "field_msb": 12,
2893 "phv_msb": 12,
2894 "is_compiler_generated": false,
2895 "field_name": "ipv4_fragOffset",
2896 "field_width": 2,
2897 "field_lsb": 0
2898 }
2899 ]
2900 },
2901 {
Brian O'Connora6862e02017-09-08 01:17:39 -07002902 "phv_number": 335,
Carmelo Casconef1d0a422017-09-07 17:21:46 +02002903 "records": [
2904 {
2905 "word_bit_width": 16,
Brian O'Connora6862e02017-09-08 01:17:39 -07002906 "position_offset": 32,
Carmelo Casconef1d0a422017-09-07 17:21:46 +02002907 "phv_lsb": 0,
2908 "is_pov": false,
2909 "field_msb": 15,
2910 "phv_msb": 15,
2911 "is_compiler_generated": false,
2912 "field_name": "tcp_dstPort",
2913 "field_width": 2,
2914 "field_lsb": 0
Brian O'Connora6862e02017-09-08 01:17:39 -07002915 }
2916 ]
2917 },
2918 {
2919 "phv_number": 336,
2920 "records": [
2921 {
2922 "word_bit_width": 16,
2923 "position_offset": 69,
2924 "phv_lsb": 0,
2925 "is_pov": false,
2926 "field_msb": 31,
2927 "phv_msb": 15,
2928 "is_compiler_generated": false,
2929 "field_name": "tcp_seqNo",
2930 "field_width": 4,
2931 "field_lsb": 16
Carmelo Casconef1d0a422017-09-07 17:21:46 +02002932 },
2933 {
2934 "word_bit_width": 16,
Brian O'Connora6862e02017-09-08 01:17:39 -07002935 "position_offset": 48,
Carmelo Casconef1d0a422017-09-07 17:21:46 +02002936 "phv_lsb": 0,
2937 "is_pov": false,
2938 "field_msb": 15,
2939 "phv_msb": 15,
2940 "is_compiler_generated": false,
2941 "field_name": "udp_dstPort",
2942 "field_width": 2,
2943 "field_lsb": 0
2944 }
2945 ]
2946 },
2947 {
Brian O'Connora6862e02017-09-08 01:17:39 -07002948 "phv_number": 337,
Carmelo Casconef1d0a422017-09-07 17:21:46 +02002949 "records": [
2950 {
2951 "word_bit_width": 16,
Brian O'Connora6862e02017-09-08 01:17:39 -07002952 "position_offset": 69,
Carmelo Casconef1d0a422017-09-07 17:21:46 +02002953 "phv_lsb": 0,
2954 "is_pov": false,
2955 "field_msb": 15,
2956 "phv_msb": 15,
2957 "is_compiler_generated": false,
2958 "field_name": "tcp_seqNo",
2959 "field_width": 4,
2960 "field_lsb": 0
2961 }
2962 ]
2963 },
2964 {
Brian O'Connora6862e02017-09-08 01:17:39 -07002965 "phv_number": 338,
Carmelo Casconef1d0a422017-09-07 17:21:46 +02002966 "records": [
2967 {
2968 "word_bit_width": 16,
Brian O'Connora6862e02017-09-08 01:17:39 -07002969 "position_offset": 19,
Carmelo Casconef1d0a422017-09-07 17:21:46 +02002970 "phv_lsb": 8,
2971 "is_pov": false,
2972 "field_msb": 7,
2973 "phv_msb": 15,
2974 "is_compiler_generated": false,
2975 "field_name": "ethernet_dstAddr",
2976 "field_width": 6,
2977 "field_lsb": 0
2978 },
2979 {
2980 "word_bit_width": 16,
Brian O'Connora6862e02017-09-08 01:17:39 -07002981 "position_offset": 63,
Carmelo Casconef1d0a422017-09-07 17:21:46 +02002982 "phv_lsb": 0,
2983 "is_pov": false,
2984 "field_msb": 47,
2985 "phv_msb": 7,
2986 "is_compiler_generated": false,
2987 "field_name": "ethernet_srcAddr",
2988 "field_width": 6,
2989 "field_lsb": 40
2990 }
2991 ]
2992 },
2993 {
Brian O'Connora6862e02017-09-08 01:17:39 -07002994 "phv_number": 339,
Carmelo Casconef1d0a422017-09-07 17:21:46 +02002995 "records": [
2996 {
2997 "word_bit_width": 16,
Brian O'Connora6862e02017-09-08 01:17:39 -07002998 "position_offset": 39,
Carmelo Casconef1d0a422017-09-07 17:21:46 +02002999 "phv_lsb": 0,
3000 "is_pov": false,
3001 "field_msb": 15,
3002 "phv_msb": 15,
3003 "is_compiler_generated": false,
3004 "field_name": "ethernet_etherType",
3005 "field_width": 2,
3006 "field_lsb": 0
3007 }
3008 ]
3009 },
3010 {
Brian O'Connora6862e02017-09-08 01:17:39 -07003011 "phv_number": 340,
Carmelo Casconef1d0a422017-09-07 17:21:46 +02003012 "records": [
3013 {
3014 "word_bit_width": 16,
3015 "position_offset": 0,
3016 "phv_lsb": 7,
3017 "is_pov": false,
3018 "field_msb": 8,
3019 "phv_msb": 15,
3020 "is_compiler_generated": false,
3021 "field_name": "packet_out_hdr_egress_port",
3022 "field_width": 2,
3023 "field_lsb": 0
Brian O'Connora6862e02017-09-08 01:17:39 -07003024 },
3025 {
3026 "word_bit_width": 16,
3027 "position_offset": 30,
3028 "phv_lsb": 7,
3029 "is_pov": false,
3030 "field_msb": 8,
3031 "phv_msb": 15,
3032 "is_compiler_generated": false,
3033 "field_name": "packet_in_hdr_ingress_port",
3034 "field_width": 2,
3035 "field_lsb": 0
Carmelo Casconef1d0a422017-09-07 17:21:46 +02003036 }
3037 ]
3038 }
3039 ],
3040 "stage_number": 1
3041 },
3042 {
3043 "ingress": [
3044 {
3045 "phv_number": 0,
3046 "records": [
3047 {
3048 "word_bit_width": 32,
3049 "position_offset": 0,
3050 "phv_lsb": 0,
3051 "is_pov": true,
3052 "pov_headers": [],
3053 "field_msb": 31,
3054 "phv_msb": 31,
3055 "is_compiler_generated": false,
3056 "field_name": "POV",
3057 "field_width": 0,
3058 "field_lsb": 0
3059 }
3060 ]
3061 },
3062 {
3063 "phv_number": 1,
3064 "records": [
3065 {
3066 "word_bit_width": 32,
Brian O'Connora6862e02017-09-08 01:17:39 -07003067 "position_offset": 19,
Carmelo Casconef1d0a422017-09-07 17:21:46 +02003068 "phv_lsb": 24,
3069 "is_pov": false,
3070 "field_msb": 7,
3071 "phv_msb": 31,
3072 "is_compiler_generated": false,
3073 "field_name": "ipv4_protocol",
3074 "field_width": 1,
3075 "field_lsb": 0
3076 },
3077 {
3078 "word_bit_width": 32,
3079 "position_offset": 10,
3080 "phv_lsb": 8,
3081 "is_pov": false,
3082 "field_msb": 15,
3083 "phv_msb": 23,
3084 "is_compiler_generated": false,
3085 "field_name": "ipv4_hdrChecksum",
3086 "field_width": 2,
3087 "field_lsb": 0
3088 },
3089 {
3090 "word_bit_width": 32,
Brian O'Connora6862e02017-09-08 01:17:39 -07003091 "position_offset": 13,
Carmelo Casconef1d0a422017-09-07 17:21:46 +02003092 "phv_lsb": 0,
3093 "is_pov": false,
3094 "field_msb": 31,
3095 "phv_msb": 7,
3096 "is_compiler_generated": false,
3097 "field_name": "ipv4_srcAddr",
3098 "field_width": 4,
3099 "field_lsb": 24
3100 }
3101 ]
3102 },
3103 {
3104 "phv_number": 2,
3105 "records": [
3106 {
3107 "word_bit_width": 32,
Brian O'Connora6862e02017-09-08 01:17:39 -07003108 "position_offset": 57,
Carmelo Casconef1d0a422017-09-07 17:21:46 +02003109 "phv_lsb": 0,
3110 "is_pov": false,
3111 "field_msb": 31,
3112 "phv_msb": 31,
3113 "is_compiler_generated": false,
3114 "field_name": "ipv4_dstAddr",
3115 "field_width": 4,
3116 "field_lsb": 0
3117 }
3118 ]
3119 },
3120 {
3121 "phv_number": 3,
3122 "records": [
3123 {
3124 "word_bit_width": 32,
Brian O'Connora6862e02017-09-08 01:17:39 -07003125 "position_offset": 22,
Carmelo Casconef1d0a422017-09-07 17:21:46 +02003126 "phv_lsb": 0,
3127 "is_pov": false,
3128 "field_msb": 39,
3129 "phv_msb": 31,
3130 "is_compiler_generated": false,
3131 "field_name": "ethernet_dstAddr",
3132 "field_width": 6,
3133 "field_lsb": 8
3134 }
3135 ]
3136 },
3137 {
3138 "phv_number": 4,
3139 "records": [
3140 {
3141 "word_bit_width": 32,
Brian O'Connora6862e02017-09-08 01:17:39 -07003142 "position_offset": 70,
Carmelo Casconef1d0a422017-09-07 17:21:46 +02003143 "phv_lsb": 0,
3144 "is_pov": false,
3145 "field_msb": 31,
3146 "phv_msb": 31,
3147 "is_compiler_generated": false,
3148 "field_name": "ethernet_srcAddr",
3149 "field_width": 6,
3150 "field_lsb": 0
3151 }
3152 ]
3153 },
3154 {
3155 "phv_number": 5,
3156 "records": [
3157 {
3158 "word_bit_width": 32,
Brian O'Connora6862e02017-09-08 01:17:39 -07003159 "position_offset": 66,
Carmelo Casconef1d0a422017-09-07 17:21:46 +02003160 "phv_lsb": 16,
3161 "is_pov": false,
3162 "field_msb": 15,
3163 "phv_msb": 31,
3164 "is_compiler_generated": false,
3165 "field_name": "udp_srcPort",
3166 "field_width": 2,
3167 "field_lsb": 0
3168 },
3169 {
3170 "word_bit_width": 32,
Brian O'Connora6862e02017-09-08 01:17:39 -07003171 "position_offset": 55,
Carmelo Casconef1d0a422017-09-07 17:21:46 +02003172 "phv_lsb": 0,
3173 "is_pov": false,
3174 "field_msb": 15,
3175 "phv_msb": 15,
3176 "is_compiler_generated": false,
3177 "field_name": "udp_dstPort",
3178 "field_width": 2,
3179 "field_lsb": 0
3180 }
3181 ]
3182 },
3183 {
3184 "phv_number": 64,
3185 "records": [
3186 {
3187 "word_bit_width": 8,
Brian O'Connora6862e02017-09-08 01:17:39 -07003188 "position_offset": 13,
Carmelo Casconef1d0a422017-09-07 17:21:46 +02003189 "phv_lsb": 0,
3190 "is_pov": false,
3191 "field_msb": 23,
3192 "phv_msb": 7,
3193 "is_compiler_generated": false,
3194 "field_name": "ipv4_srcAddr",
3195 "field_width": 4,
3196 "field_lsb": 16
3197 }
3198 ]
3199 },
3200 {
Brian O'Connora6862e02017-09-08 01:17:39 -07003201 "phv_number": 65,
Carmelo Casconef1d0a422017-09-07 17:21:46 +02003202 "records": [
3203 {
3204 "word_bit_width": 8,
Brian O'Connora6862e02017-09-08 01:17:39 -07003205 "position_offset": 22,
Carmelo Casconef1d0a422017-09-07 17:21:46 +02003206 "phv_lsb": 0,
3207 "is_pov": false,
3208 "field_msb": 47,
3209 "phv_msb": 7,
3210 "is_compiler_generated": false,
3211 "field_name": "ethernet_dstAddr",
3212 "field_width": 6,
3213 "field_lsb": 40
3214 }
3215 ]
3216 },
3217 {
Brian O'Connora6862e02017-09-08 01:17:39 -07003218 "phv_number": 66,
Carmelo Casconef1d0a422017-09-07 17:21:46 +02003219 "records": [
3220 {
3221 "word_bit_width": 8,
Brian O'Connora6862e02017-09-08 01:17:39 -07003222 "position_offset": 70,
Carmelo Casconef1d0a422017-09-07 17:21:46 +02003223 "phv_lsb": 0,
3224 "is_pov": false,
3225 "field_msb": 39,
3226 "phv_msb": 7,
3227 "is_compiler_generated": false,
3228 "field_name": "ethernet_srcAddr",
3229 "field_width": 6,
3230 "field_lsb": 32
3231 }
3232 ]
3233 },
3234 {
Brian O'Connora6862e02017-09-08 01:17:39 -07003235 "phv_number": 67,
Carmelo Casconef1d0a422017-09-07 17:21:46 +02003236 "records": [
3237 {
3238 "word_bit_width": 8,
3239 "position_offset": 0,
3240 "phv_lsb": 0,
3241 "is_pov": true,
3242 "pov_headers": [
3243 {
3244 "bit_index": 0,
Brian O'Connora6862e02017-09-08 01:17:39 -07003245 "position_offset": 80,
Carmelo Casconef1d0a422017-09-07 17:21:46 +02003246 "header_name": "packet_in_hdr",
3247 "hidden": false
3248 },
3249 {
3250 "bit_index": 1,
Brian O'Connora6862e02017-09-08 01:17:39 -07003251 "position_offset": 81,
Carmelo Casconef1d0a422017-09-07 17:21:46 +02003252 "header_name": "packet_out_hdr",
3253 "hidden": false
3254 },
3255 {
3256 "bit_index": 2,
Brian O'Connora6862e02017-09-08 01:17:39 -07003257 "position_offset": 82,
Carmelo Casconef1d0a422017-09-07 17:21:46 +02003258 "header_name": "ethernet",
3259 "hidden": false
3260 },
3261 {
3262 "bit_index": 3,
Brian O'Connora6862e02017-09-08 01:17:39 -07003263 "position_offset": 83,
Carmelo Casconef1d0a422017-09-07 17:21:46 +02003264 "header_name": "ipv4",
3265 "hidden": false
3266 },
3267 {
3268 "bit_index": 4,
Brian O'Connora6862e02017-09-08 01:17:39 -07003269 "position_offset": 84,
Carmelo Casconef1d0a422017-09-07 17:21:46 +02003270 "header_name": "tcp",
3271 "hidden": false
3272 },
3273 {
3274 "bit_index": 5,
Brian O'Connora6862e02017-09-08 01:17:39 -07003275 "position_offset": 85,
Carmelo Casconef1d0a422017-09-07 17:21:46 +02003276 "header_name": "udp",
3277 "hidden": false
3278 }
3279 ],
3280 "field_msb": 39,
3281 "phv_msb": 7,
3282 "is_compiler_generated": false,
3283 "field_name": "POV",
3284 "field_width": 0,
3285 "field_lsb": 32
3286 }
3287 ]
3288 },
3289 {
Brian O'Connora6862e02017-09-08 01:17:39 -07003290 "phv_number": 68,
Carmelo Casconef1d0a422017-09-07 17:21:46 +02003291 "records": [
3292 {
3293 "word_bit_width": 8,
Brian O'Connora6862e02017-09-08 01:17:39 -07003294 "position_offset": 51,
Carmelo Casconef1d0a422017-09-07 17:21:46 +02003295 "phv_lsb": 5,
3296 "is_pov": false,
3297 "field_msb": 2,
3298 "phv_msb": 7,
3299 "is_compiler_generated": false,
3300 "field_name": "ig_intr_md_for_tm_drop_ctl",
3301 "field_width": 1,
3302 "field_lsb": 0
3303 }
3304 ]
3305 },
3306 {
3307 "phv_number": 128,
3308 "records": [
3309 {
3310 "word_bit_width": 16,
Brian O'Connora6862e02017-09-08 01:17:39 -07003311 "position_offset": 32,
Carmelo Casconef1d0a422017-09-07 17:21:46 +02003312 "phv_lsb": 15,
3313 "is_pov": false,
3314 "field_msb": 0,
3315 "phv_msb": 15,
3316 "is_compiler_generated": false,
3317 "field_name": "ig_intr_md_resubmit_flag",
3318 "field_width": 1,
3319 "field_lsb": 0
3320 },
3321 {
3322 "word_bit_width": 16,
3323 "position_offset": 8,
3324 "phv_lsb": 0,
3325 "is_pov": false,
3326 "field_msb": 8,
3327 "phv_msb": 8,
3328 "is_compiler_generated": false,
3329 "field_name": "ig_intr_md_ingress_port",
3330 "field_width": 2,
3331 "field_lsb": 0
3332 }
3333 ]
3334 },
3335 {
3336 "phv_number": 129,
3337 "records": [
3338 {
3339 "word_bit_width": 16,
3340 "position_offset": 0,
3341 "phv_lsb": 7,
3342 "is_pov": false,
3343 "field_msb": 8,
3344 "phv_msb": 15,
3345 "is_compiler_generated": false,
3346 "field_name": "packet_out_hdr_egress_port",
3347 "field_width": 2,
3348 "field_lsb": 0
3349 },
3350 {
3351 "word_bit_width": 16,
Brian O'Connora6862e02017-09-08 01:17:39 -07003352 "position_offset": 33,
Carmelo Casconef1d0a422017-09-07 17:21:46 +02003353 "phv_lsb": 7,
3354 "is_pov": false,
3355 "field_msb": 8,
3356 "phv_msb": 15,
3357 "is_compiler_generated": false,
3358 "field_name": "packet_in_hdr_ingress_port",
3359 "field_width": 2,
3360 "field_lsb": 0
3361 }
3362 ]
3363 },
3364 {
3365 "phv_number": 130,
3366 "records": [
3367 {
3368 "word_bit_width": 16,
Brian O'Connora6862e02017-09-08 01:17:39 -07003369 "position_offset": 41,
Carmelo Casconef1d0a422017-09-07 17:21:46 +02003370 "phv_lsb": 0,
3371 "is_pov": false,
3372 "field_msb": 8,
3373 "phv_msb": 8,
3374 "is_compiler_generated": false,
3375 "field_name": "ig_intr_md_for_tm_ucast_egress_port",
3376 "field_width": 2,
3377 "field_lsb": 0
3378 }
3379 ]
3380 },
3381 {
3382 "phv_number": 131,
3383 "records": [
3384 {
3385 "word_bit_width": 16,
Brian O'Connora6862e02017-09-08 01:17:39 -07003386 "position_offset": 13,
Carmelo Casconef1d0a422017-09-07 17:21:46 +02003387 "phv_lsb": 0,
3388 "is_pov": false,
3389 "field_msb": 15,
3390 "phv_msb": 15,
3391 "is_compiler_generated": false,
3392 "field_name": "ipv4_srcAddr",
3393 "field_width": 4,
3394 "field_lsb": 0
3395 }
3396 ]
3397 },
3398 {
3399 "phv_number": 132,
3400 "records": [
3401 {
3402 "word_bit_width": 16,
Brian O'Connora6862e02017-09-08 01:17:39 -07003403 "position_offset": 22,
Carmelo Casconef1d0a422017-09-07 17:21:46 +02003404 "phv_lsb": 8,
3405 "is_pov": false,
3406 "field_msb": 7,
3407 "phv_msb": 15,
3408 "is_compiler_generated": false,
3409 "field_name": "ethernet_dstAddr",
3410 "field_width": 6,
3411 "field_lsb": 0
3412 },
3413 {
3414 "word_bit_width": 16,
Brian O'Connora6862e02017-09-08 01:17:39 -07003415 "position_offset": 70,
Carmelo Casconef1d0a422017-09-07 17:21:46 +02003416 "phv_lsb": 0,
3417 "is_pov": false,
3418 "field_msb": 47,
3419 "phv_msb": 7,
3420 "is_compiler_generated": false,
3421 "field_name": "ethernet_srcAddr",
3422 "field_width": 6,
3423 "field_lsb": 40
3424 }
3425 ]
3426 },
3427 {
3428 "phv_number": 133,
3429 "records": [
3430 {
3431 "word_bit_width": 16,
3432 "position_offset": 5,
3433 "phv_lsb": 0,
3434 "is_pov": false,
3435 "field_msb": 15,
3436 "phv_msb": 15,
3437 "is_compiler_generated": false,
3438 "field_name": "ethernet_etherType",
3439 "field_width": 2,
3440 "field_lsb": 0
3441 }
3442 ]
3443 },
3444 {
3445 "phv_number": 134,
3446 "records": [
3447 {
3448 "word_bit_width": 16,
Brian O'Connora6862e02017-09-08 01:17:39 -07003449 "position_offset": 20,
Carmelo Casconef1d0a422017-09-07 17:21:46 +02003450 "phv_lsb": 0,
3451 "is_pov": false,
3452 "field_msb": 15,
3453 "phv_msb": 15,
3454 "is_compiler_generated": false,
3455 "field_name": "ecmp_metadata_groupId",
3456 "field_width": 2,
3457 "field_lsb": 0
3458 }
3459 ]
3460 },
3461 {
3462 "phv_number": 135,
3463 "records": [
3464 {
3465 "word_bit_width": 16,
Brian O'Connora6862e02017-09-08 01:17:39 -07003466 "position_offset": 61,
Carmelo Casconef1d0a422017-09-07 17:21:46 +02003467 "phv_lsb": 0,
3468 "is_pov": false,
3469 "field_msb": 15,
3470 "phv_msb": 15,
3471 "is_compiler_generated": false,
3472 "field_name": "ecmp_metadata_selector",
3473 "field_width": 2,
3474 "field_lsb": 0
3475 }
3476 ]
3477 },
3478 {
3479 "phv_number": 256,
3480 "records": [
3481 {
3482 "word_bit_width": 32,
Brian O'Connora6862e02017-09-08 01:17:39 -07003483 "position_offset": 49,
Carmelo Casconef1d0a422017-09-07 17:21:46 +02003484 "phv_lsb": 24,
3485 "is_pov": false,
3486 "field_msb": 7,
3487 "phv_msb": 31,
3488 "is_compiler_generated": false,
3489 "field_name": "ipv4_identification",
3490 "field_width": 2,
3491 "field_lsb": 0
3492 },
3493 {
3494 "word_bit_width": 32,
3495 "position_offset": 7,
3496 "phv_lsb": 21,
3497 "is_pov": false,
3498 "field_msb": 2,
3499 "phv_msb": 23,
3500 "is_compiler_generated": false,
3501 "field_name": "ipv4_flags",
3502 "field_width": 1,
3503 "field_lsb": 0
3504 },
3505 {
3506 "word_bit_width": 32,
Brian O'Connora6862e02017-09-08 01:17:39 -07003507 "position_offset": 44,
Carmelo Casconef1d0a422017-09-07 17:21:46 +02003508 "phv_lsb": 8,
3509 "is_pov": false,
3510 "field_msb": 12,
3511 "phv_msb": 20,
3512 "is_compiler_generated": false,
3513 "field_name": "ipv4_fragOffset",
3514 "field_width": 2,
3515 "field_lsb": 0
3516 },
3517 {
3518 "word_bit_width": 32,
Brian O'Connora6862e02017-09-08 01:17:39 -07003519 "position_offset": 54,
Carmelo Casconef1d0a422017-09-07 17:21:46 +02003520 "phv_lsb": 0,
3521 "is_pov": false,
3522 "field_msb": 7,
3523 "phv_msb": 7,
3524 "is_compiler_generated": false,
3525 "field_name": "ipv4_ttl",
3526 "field_width": 1,
3527 "field_lsb": 0
3528 }
3529 ]
3530 },
3531 {
3532 "phv_number": 257,
3533 "records": [
3534 {
3535 "word_bit_width": 32,
Brian O'Connora6862e02017-09-08 01:17:39 -07003536 "position_offset": 43,
Carmelo Casconef1d0a422017-09-07 17:21:46 +02003537 "phv_lsb": 28,
3538 "is_pov": false,
3539 "field_msb": 3,
3540 "phv_msb": 31,
3541 "is_compiler_generated": false,
3542 "field_name": "tcp_dataOffset",
3543 "field_width": 1,
3544 "field_lsb": 0
3545 },
3546 {
3547 "word_bit_width": 32,
Brian O'Connora6862e02017-09-08 01:17:39 -07003548 "position_offset": 48,
Carmelo Casconef1d0a422017-09-07 17:21:46 +02003549 "phv_lsb": 25,
3550 "is_pov": false,
3551 "field_msb": 2,
3552 "phv_msb": 27,
3553 "is_compiler_generated": false,
3554 "field_name": "tcp_res",
3555 "field_width": 1,
3556 "field_lsb": 0
3557 },
3558 {
3559 "word_bit_width": 32,
Brian O'Connora6862e02017-09-08 01:17:39 -07003560 "position_offset": 12,
Carmelo Casconef1d0a422017-09-07 17:21:46 +02003561 "phv_lsb": 22,
3562 "is_pov": false,
3563 "field_msb": 2,
3564 "phv_msb": 24,
3565 "is_compiler_generated": false,
3566 "field_name": "tcp_ecn",
3567 "field_width": 1,
3568 "field_lsb": 0
3569 },
3570 {
3571 "word_bit_width": 32,
3572 "position_offset": 37,
3573 "phv_lsb": 16,
3574 "is_pov": false,
3575 "field_msb": 5,
3576 "phv_msb": 21,
3577 "is_compiler_generated": false,
3578 "field_name": "tcp_ctrl",
3579 "field_width": 1,
3580 "field_lsb": 0
3581 },
3582 {
3583 "word_bit_width": 32,
Brian O'Connora6862e02017-09-08 01:17:39 -07003584 "position_offset": 46,
Carmelo Casconef1d0a422017-09-07 17:21:46 +02003585 "phv_lsb": 0,
3586 "is_pov": false,
3587 "field_msb": 15,
3588 "phv_msb": 15,
3589 "is_compiler_generated": false,
3590 "field_name": "tcp_window",
3591 "field_width": 2,
3592 "field_lsb": 0
3593 }
3594 ]
3595 },
3596 {
Brian O'Connora6862e02017-09-08 01:17:39 -07003597 "phv_number": 258,
Carmelo Casconef1d0a422017-09-07 17:21:46 +02003598 "records": [
3599 {
3600 "word_bit_width": 32,
3601 "position_offset": 2,
3602 "phv_lsb": 16,
3603 "is_pov": false,
3604 "field_msb": 15,
3605 "phv_msb": 31,
3606 "is_compiler_generated": false,
3607 "field_name": "tcp_checksum",
3608 "field_width": 2,
3609 "field_lsb": 0
3610 },
3611 {
3612 "word_bit_width": 32,
Brian O'Connora6862e02017-09-08 01:17:39 -07003613 "position_offset": 52,
Carmelo Casconef1d0a422017-09-07 17:21:46 +02003614 "phv_lsb": 0,
3615 "is_pov": false,
3616 "field_msb": 15,
3617 "phv_msb": 15,
3618 "is_compiler_generated": false,
3619 "field_name": "tcp_urgentPtr",
3620 "field_width": 2,
3621 "field_lsb": 0
3622 }
3623 ]
3624 },
3625 {
Brian O'Connora6862e02017-09-08 01:17:39 -07003626 "phv_number": 288,
Carmelo Casconef1d0a422017-09-07 17:21:46 +02003627 "records": [
3628 {
3629 "word_bit_width": 8,
Brian O'Connora6862e02017-09-08 01:17:39 -07003630 "position_offset": 65,
Carmelo Casconef1d0a422017-09-07 17:21:46 +02003631 "phv_lsb": 4,
3632 "is_pov": false,
3633 "field_msb": 3,
3634 "phv_msb": 7,
3635 "is_compiler_generated": false,
3636 "field_name": "ipv4_version",
3637 "field_width": 1,
3638 "field_lsb": 0
3639 },
3640 {
3641 "word_bit_width": 8,
3642 "position_offset": 40,
3643 "phv_lsb": 0,
3644 "is_pov": false,
3645 "field_msb": 3,
3646 "phv_msb": 3,
3647 "is_compiler_generated": false,
3648 "field_name": "ipv4_ihl",
3649 "field_width": 1,
3650 "field_lsb": 0
3651 }
3652 ]
3653 },
3654 {
Brian O'Connora6862e02017-09-08 01:17:39 -07003655 "phv_number": 289,
3656 "records": [
3657 {
3658 "word_bit_width": 8,
3659 "position_offset": 38,
3660 "phv_lsb": 0,
3661 "is_pov": false,
3662 "field_msb": 15,
3663 "phv_msb": 7,
3664 "is_compiler_generated": false,
3665 "field_name": "tcp_srcPort",
3666 "field_width": 2,
3667 "field_lsb": 8
3668 },
3669 {
3670 "word_bit_width": 8,
3671 "position_offset": 17,
3672 "phv_lsb": 0,
3673 "is_pov": false,
3674 "field_msb": 15,
3675 "phv_msb": 7,
3676 "is_compiler_generated": false,
3677 "field_name": "udp_length_",
3678 "field_width": 2,
3679 "field_lsb": 8
3680 }
3681 ]
3682 },
3683 {
3684 "phv_number": 290,
3685 "records": [
3686 {
3687 "word_bit_width": 8,
3688 "position_offset": 38,
3689 "phv_lsb": 0,
3690 "is_pov": false,
3691 "field_msb": 7,
3692 "phv_msb": 7,
3693 "is_compiler_generated": false,
3694 "field_name": "tcp_srcPort",
3695 "field_width": 2,
3696 "field_lsb": 0
3697 },
3698 {
3699 "word_bit_width": 8,
3700 "position_offset": 17,
3701 "phv_lsb": 0,
3702 "is_pov": false,
3703 "field_msb": 7,
3704 "phv_msb": 7,
3705 "is_compiler_generated": false,
3706 "field_name": "udp_length_",
3707 "field_width": 2,
3708 "field_lsb": 0
3709 }
3710 ]
3711 },
3712 {
3713 "phv_number": 291,
3714 "records": [
3715 {
3716 "word_bit_width": 8,
3717 "position_offset": 35,
3718 "phv_lsb": 0,
3719 "is_pov": false,
3720 "field_msb": 15,
3721 "phv_msb": 7,
3722 "is_compiler_generated": false,
3723 "field_name": "tcp_dstPort",
3724 "field_width": 2,
3725 "field_lsb": 8
3726 }
3727 ]
3728 },
3729 {
3730 "phv_number": 292,
3731 "records": [
3732 {
3733 "word_bit_width": 8,
3734 "position_offset": 35,
3735 "phv_lsb": 0,
3736 "is_pov": false,
3737 "field_msb": 7,
3738 "phv_msb": 7,
3739 "is_compiler_generated": false,
3740 "field_name": "tcp_dstPort",
3741 "field_width": 2,
3742 "field_lsb": 0
3743 }
3744 ]
3745 },
3746 {
3747 "phv_number": 320,
3748 "records": [
3749 {
3750 "word_bit_width": 16,
3751 "position_offset": 4,
3752 "phv_lsb": 8,
3753 "is_pov": false,
3754 "field_msb": 7,
3755 "phv_msb": 15,
3756 "is_compiler_generated": false,
3757 "field_name": "ipv4_diffserv",
3758 "field_width": 1,
3759 "field_lsb": 0
3760 },
3761 {
3762 "word_bit_width": 16,
3763 "position_offset": 63,
3764 "phv_lsb": 0,
3765 "is_pov": false,
3766 "field_msb": 15,
3767 "phv_msb": 7,
3768 "is_compiler_generated": false,
3769 "field_name": "ipv4_totalLen",
3770 "field_width": 2,
3771 "field_lsb": 8
3772 }
3773 ]
3774 },
3775 {
3776 "phv_number": 321,
3777 "records": [
3778 {
3779 "word_bit_width": 16,
3780 "position_offset": 63,
3781 "phv_lsb": 8,
3782 "is_pov": false,
3783 "field_msb": 7,
3784 "phv_msb": 15,
3785 "is_compiler_generated": false,
3786 "field_name": "ipv4_totalLen",
3787 "field_width": 2,
3788 "field_lsb": 0
3789 },
3790 {
3791 "word_bit_width": 16,
3792 "position_offset": 49,
3793 "phv_lsb": 0,
3794 "is_pov": false,
3795 "field_msb": 15,
3796 "phv_msb": 7,
3797 "is_compiler_generated": false,
3798 "field_name": "ipv4_identification",
3799 "field_width": 2,
3800 "field_lsb": 8
3801 }
3802 ]
3803 },
3804 {
3805 "phv_number": 322,
3806 "records": [
3807 {
3808 "word_bit_width": 16,
3809 "position_offset": 76,
3810 "phv_lsb": 0,
3811 "is_pov": false,
3812 "field_msb": 31,
3813 "phv_msb": 15,
3814 "is_compiler_generated": false,
3815 "field_name": "tcp_seqNo",
3816 "field_width": 4,
3817 "field_lsb": 16
3818 },
3819 {
3820 "word_bit_width": 16,
3821 "position_offset": 68,
3822 "phv_lsb": 0,
3823 "is_pov": false,
3824 "field_msb": 15,
3825 "phv_msb": 15,
3826 "is_compiler_generated": false,
3827 "field_name": "udp_checksum",
3828 "field_width": 2,
3829 "field_lsb": 0
3830 }
3831 ]
3832 },
3833 {
3834 "phv_number": 323,
3835 "records": [
3836 {
3837 "word_bit_width": 16,
3838 "position_offset": 76,
3839 "phv_lsb": 0,
3840 "is_pov": false,
3841 "field_msb": 15,
3842 "phv_msb": 15,
3843 "is_compiler_generated": false,
3844 "field_name": "tcp_seqNo",
3845 "field_width": 4,
3846 "field_lsb": 0
3847 }
3848 ]
3849 },
3850 {
3851 "phv_number": 324,
3852 "records": [
3853 {
3854 "word_bit_width": 16,
3855 "position_offset": 28,
3856 "phv_lsb": 0,
3857 "is_pov": false,
3858 "field_msb": 31,
3859 "phv_msb": 15,
3860 "is_compiler_generated": false,
3861 "field_name": "tcp_ackNo",
3862 "field_width": 4,
3863 "field_lsb": 16
3864 }
3865 ]
3866 },
3867 {
3868 "phv_number": 325,
3869 "records": [
3870 {
3871 "word_bit_width": 16,
3872 "position_offset": 28,
3873 "phv_lsb": 0,
3874 "is_pov": false,
3875 "field_msb": 15,
3876 "phv_msb": 15,
3877 "is_compiler_generated": false,
3878 "field_name": "tcp_ackNo",
3879 "field_width": 4,
3880 "field_lsb": 0
3881 }
3882 ]
3883 }
3884 ],
3885 "egress": [
3886 {
3887 "phv_number": 80,
3888 "records": [
3889 {
3890 "word_bit_width": 8,
3891 "position_offset": 7,
3892 "phv_lsb": 0,
3893 "is_pov": false,
3894 "field_msb": 2,
3895 "phv_msb": 2,
3896 "is_compiler_generated": false,
3897 "field_name": "eg_intr_md_egress_cos",
3898 "field_width": 1,
3899 "field_lsb": 0
3900 }
3901 ]
3902 },
3903 {
3904 "phv_number": 81,
3905 "records": [
3906 {
3907 "word_bit_width": 8,
3908 "position_offset": 0,
3909 "phv_lsb": 0,
3910 "is_pov": true,
3911 "pov_headers": [
3912 {
3913 "bit_index": 0,
3914 "position_offset": 73,
3915 "header_name": "packet_in_hdr",
3916 "hidden": false
3917 },
3918 {
3919 "bit_index": 1,
3920 "position_offset": 74,
3921 "header_name": "packet_out_hdr",
3922 "hidden": false
3923 },
3924 {
3925 "bit_index": 2,
3926 "position_offset": 75,
3927 "header_name": "ethernet",
3928 "hidden": false
3929 },
3930 {
3931 "bit_index": 3,
3932 "position_offset": 76,
3933 "header_name": "ipv4",
3934 "hidden": false
3935 },
3936 {
3937 "bit_index": 4,
3938 "position_offset": 77,
3939 "header_name": "tcp",
3940 "hidden": false
3941 },
3942 {
3943 "bit_index": 5,
3944 "position_offset": 78,
3945 "header_name": "udp",
3946 "hidden": false
3947 }
3948 ],
3949 "field_msb": 7,
3950 "phv_msb": 7,
3951 "is_compiler_generated": false,
3952 "field_name": "POV",
3953 "field_width": 0,
3954 "field_lsb": 0
3955 }
3956 ]
3957 },
3958 {
3959 "phv_number": 144,
3960 "records": [
3961 {
3962 "word_bit_width": 16,
3963 "position_offset": 61,
3964 "phv_lsb": 0,
3965 "is_pov": false,
3966 "field_msb": 8,
3967 "phv_msb": 8,
3968 "is_compiler_generated": false,
3969 "field_name": "eg_intr_md_egress_port",
3970 "field_width": 2,
3971 "field_lsb": 0
3972 }
3973 ]
3974 },
3975 {
3976 "phv_number": 264,
3977 "records": [
3978 {
3979 "word_bit_width": 32,
3980 "position_offset": 47,
3981 "phv_lsb": 24,
3982 "is_pov": false,
3983 "field_msb": 7,
3984 "phv_msb": 31,
3985 "is_compiler_generated": false,
3986 "field_name": "ipv4_ttl",
3987 "field_width": 1,
3988 "field_lsb": 0
3989 },
3990 {
3991 "word_bit_width": 32,
3992 "position_offset": 18,
3993 "phv_lsb": 16,
3994 "is_pov": false,
3995 "field_msb": 7,
3996 "phv_msb": 23,
3997 "is_compiler_generated": false,
3998 "field_name": "ipv4_protocol",
3999 "field_width": 1,
4000 "field_lsb": 0
4001 },
4002 {
4003 "word_bit_width": 32,
4004 "position_offset": 9,
4005 "phv_lsb": 0,
4006 "is_pov": false,
4007 "field_msb": 15,
4008 "phv_msb": 15,
4009 "is_compiler_generated": false,
4010 "field_name": "ipv4_hdrChecksum",
4011 "field_width": 2,
4012 "field_lsb": 0
4013 }
4014 ]
4015 },
4016 {
4017 "phv_number": 265,
4018 "records": [
4019 {
4020 "word_bit_width": 32,
4021 "position_offset": 12,
4022 "phv_lsb": 0,
4023 "is_pov": false,
4024 "field_msb": 31,
4025 "phv_msb": 31,
4026 "is_compiler_generated": false,
4027 "field_name": "ipv4_srcAddr",
4028 "field_width": 4,
4029 "field_lsb": 0
4030 }
4031 ]
4032 },
4033 {
4034 "phv_number": 266,
4035 "records": [
4036 {
4037 "word_bit_width": 32,
4038 "position_offset": 50,
4039 "phv_lsb": 0,
4040 "is_pov": false,
4041 "field_msb": 31,
4042 "phv_msb": 31,
4043 "is_compiler_generated": false,
4044 "field_name": "ipv4_dstAddr",
4045 "field_width": 4,
4046 "field_lsb": 0
4047 }
4048 ]
4049 },
4050 {
4051 "phv_number": 267,
4052 "records": [
4053 {
4054 "word_bit_width": 32,
4055 "position_offset": 25,
4056 "phv_lsb": 0,
4057 "is_pov": false,
4058 "field_msb": 31,
4059 "phv_msb": 31,
4060 "is_compiler_generated": false,
4061 "field_name": "tcp_ackNo",
4062 "field_width": 4,
4063 "field_lsb": 0
4064 },
4065 {
4066 "word_bit_width": 32,
4067 "position_offset": 16,
4068 "phv_lsb": 16,
4069 "is_pov": false,
4070 "field_msb": 15,
4071 "phv_msb": 31,
4072 "is_compiler_generated": false,
4073 "field_name": "udp_length_",
4074 "field_width": 2,
4075 "field_lsb": 0
4076 },
4077 {
4078 "word_bit_width": 32,
4079 "position_offset": 59,
4080 "phv_lsb": 0,
4081 "is_pov": false,
4082 "field_msb": 15,
4083 "phv_msb": 15,
4084 "is_compiler_generated": false,
4085 "field_name": "udp_checksum",
4086 "field_width": 2,
4087 "field_lsb": 0
4088 }
4089 ]
4090 },
4091 {
4092 "phv_number": 268,
4093 "records": [
4094 {
4095 "word_bit_width": 32,
4096 "position_offset": 38,
4097 "phv_lsb": 28,
4098 "is_pov": false,
4099 "field_msb": 3,
4100 "phv_msb": 31,
4101 "is_compiler_generated": false,
4102 "field_name": "tcp_dataOffset",
4103 "field_width": 1,
4104 "field_lsb": 0
4105 },
4106 {
4107 "word_bit_width": 32,
4108 "position_offset": 58,
4109 "phv_lsb": 25,
4110 "is_pov": false,
4111 "field_msb": 2,
4112 "phv_msb": 27,
4113 "is_compiler_generated": false,
4114 "field_name": "tcp_res",
4115 "field_width": 1,
4116 "field_lsb": 0
4117 },
4118 {
4119 "word_bit_width": 32,
4120 "position_offset": 11,
4121 "phv_lsb": 22,
4122 "is_pov": false,
4123 "field_msb": 2,
4124 "phv_msb": 24,
4125 "is_compiler_generated": false,
4126 "field_name": "tcp_ecn",
4127 "field_width": 1,
4128 "field_lsb": 0
4129 },
4130 {
4131 "word_bit_width": 32,
4132 "position_offset": 34,
4133 "phv_lsb": 16,
4134 "is_pov": false,
4135 "field_msb": 5,
4136 "phv_msb": 21,
4137 "is_compiler_generated": false,
4138 "field_name": "tcp_ctrl",
4139 "field_width": 1,
4140 "field_lsb": 0
4141 },
4142 {
4143 "word_bit_width": 32,
4144 "position_offset": 41,
4145 "phv_lsb": 0,
4146 "is_pov": false,
4147 "field_msb": 15,
4148 "phv_msb": 15,
4149 "is_compiler_generated": false,
4150 "field_name": "tcp_window",
4151 "field_width": 2,
4152 "field_lsb": 0
4153 }
4154 ]
4155 },
4156 {
4157 "phv_number": 269,
4158 "records": [
4159 {
4160 "word_bit_width": 32,
4161 "position_offset": 2,
4162 "phv_lsb": 16,
4163 "is_pov": false,
4164 "field_msb": 15,
4165 "phv_msb": 31,
4166 "is_compiler_generated": false,
4167 "field_name": "tcp_checksum",
4168 "field_width": 2,
4169 "field_lsb": 0
4170 },
4171 {
4172 "word_bit_width": 32,
4173 "position_offset": 45,
4174 "phv_lsb": 0,
4175 "is_pov": false,
4176 "field_msb": 15,
4177 "phv_msb": 15,
4178 "is_compiler_generated": false,
4179 "field_name": "tcp_urgentPtr",
4180 "field_width": 2,
4181 "field_lsb": 0
4182 }
4183 ]
4184 },
4185 {
4186 "phv_number": 270,
4187 "records": [
4188 {
4189 "word_bit_width": 32,
4190 "position_offset": 19,
4191 "phv_lsb": 0,
4192 "is_pov": false,
4193 "field_msb": 39,
4194 "phv_msb": 31,
4195 "is_compiler_generated": false,
4196 "field_name": "ethernet_dstAddr",
4197 "field_width": 6,
4198 "field_lsb": 8
4199 }
4200 ]
4201 },
4202 {
4203 "phv_number": 271,
4204 "records": [
4205 {
4206 "word_bit_width": 32,
4207 "position_offset": 63,
4208 "phv_lsb": 0,
4209 "is_pov": false,
4210 "field_msb": 31,
4211 "phv_msb": 31,
4212 "is_compiler_generated": false,
4213 "field_name": "ethernet_srcAddr",
4214 "field_width": 6,
4215 "field_lsb": 0
4216 }
4217 ]
4218 },
4219 {
4220 "phv_number": 296,
4221 "records": [
4222 {
4223 "word_bit_width": 8,
4224 "position_offset": 29,
4225 "phv_lsb": 4,
4226 "is_pov": false,
4227 "field_msb": 3,
4228 "phv_msb": 7,
4229 "is_compiler_generated": false,
4230 "field_name": "ipv4_version",
4231 "field_width": 1,
4232 "field_lsb": 0
4233 },
4234 {
4235 "word_bit_width": 8,
4236 "position_offset": 37,
4237 "phv_lsb": 0,
4238 "is_pov": false,
4239 "field_msb": 3,
4240 "phv_msb": 3,
4241 "is_compiler_generated": false,
4242 "field_name": "ipv4_ihl",
4243 "field_width": 1,
4244 "field_lsb": 0
4245 }
4246 ]
4247 },
4248 {
4249 "phv_number": 297,
Carmelo Casconef1d0a422017-09-07 17:21:46 +02004250 "records": [
4251 {
4252 "word_bit_width": 8,
4253 "position_offset": 4,
4254 "phv_lsb": 0,
4255 "is_pov": false,
4256 "field_msb": 7,
4257 "phv_msb": 7,
4258 "is_compiler_generated": false,
4259 "field_name": "ipv4_diffserv",
4260 "field_width": 1,
4261 "field_lsb": 0
4262 }
4263 ]
4264 },
4265 {
Brian O'Connora6862e02017-09-08 01:17:39 -07004266 "phv_number": 298,
Carmelo Casconef1d0a422017-09-07 17:21:46 +02004267 "records": [
4268 {
4269 "word_bit_width": 8,
Brian O'Connora6862e02017-09-08 01:17:39 -07004270 "position_offset": 35,
Carmelo Casconef1d0a422017-09-07 17:21:46 +02004271 "phv_lsb": 0,
4272 "is_pov": false,
4273 "field_msb": 15,
4274 "phv_msb": 7,
4275 "is_compiler_generated": false,
4276 "field_name": "tcp_srcPort",
4277 "field_width": 2,
4278 "field_lsb": 8
4279 },
4280 {
4281 "word_bit_width": 8,
Brian O'Connora6862e02017-09-08 01:17:39 -07004282 "position_offset": 56,
Carmelo Casconef1d0a422017-09-07 17:21:46 +02004283 "phv_lsb": 0,
4284 "is_pov": false,
4285 "field_msb": 15,
4286 "phv_msb": 7,
4287 "is_compiler_generated": false,
4288 "field_name": "udp_srcPort",
4289 "field_width": 2,
4290 "field_lsb": 8
4291 }
4292 ]
4293 },
4294 {
Brian O'Connora6862e02017-09-08 01:17:39 -07004295 "phv_number": 299,
Carmelo Casconef1d0a422017-09-07 17:21:46 +02004296 "records": [
4297 {
4298 "word_bit_width": 8,
Brian O'Connora6862e02017-09-08 01:17:39 -07004299 "position_offset": 35,
Carmelo Casconef1d0a422017-09-07 17:21:46 +02004300 "phv_lsb": 0,
4301 "is_pov": false,
4302 "field_msb": 7,
4303 "phv_msb": 7,
4304 "is_compiler_generated": false,
4305 "field_name": "tcp_srcPort",
4306 "field_width": 2,
4307 "field_lsb": 0
4308 },
4309 {
4310 "word_bit_width": 8,
Brian O'Connora6862e02017-09-08 01:17:39 -07004311 "position_offset": 56,
Carmelo Casconef1d0a422017-09-07 17:21:46 +02004312 "phv_lsb": 0,
4313 "is_pov": false,
4314 "field_msb": 7,
4315 "phv_msb": 7,
4316 "is_compiler_generated": false,
4317 "field_name": "udp_srcPort",
4318 "field_width": 2,
4319 "field_lsb": 0
4320 }
4321 ]
4322 },
4323 {
Brian O'Connora6862e02017-09-08 01:17:39 -07004324 "phv_number": 300,
Carmelo Casconef1d0a422017-09-07 17:21:46 +02004325 "records": [
4326 {
4327 "word_bit_width": 8,
Brian O'Connora6862e02017-09-08 01:17:39 -07004328 "position_offset": 19,
Carmelo Casconef1d0a422017-09-07 17:21:46 +02004329 "phv_lsb": 0,
4330 "is_pov": false,
4331 "field_msb": 47,
4332 "phv_msb": 7,
4333 "is_compiler_generated": false,
4334 "field_name": "ethernet_dstAddr",
4335 "field_width": 6,
4336 "field_lsb": 40
4337 }
4338 ]
4339 },
4340 {
Brian O'Connora6862e02017-09-08 01:17:39 -07004341 "phv_number": 301,
Carmelo Casconef1d0a422017-09-07 17:21:46 +02004342 "records": [
4343 {
4344 "word_bit_width": 8,
Brian O'Connora6862e02017-09-08 01:17:39 -07004345 "position_offset": 63,
Carmelo Casconef1d0a422017-09-07 17:21:46 +02004346 "phv_lsb": 0,
4347 "is_pov": false,
4348 "field_msb": 39,
4349 "phv_msb": 7,
4350 "is_compiler_generated": false,
4351 "field_name": "ethernet_srcAddr",
4352 "field_width": 6,
4353 "field_lsb": 32
4354 }
4355 ]
4356 },
4357 {
Brian O'Connora6862e02017-09-08 01:17:39 -07004358 "phv_number": 332,
Carmelo Casconef1d0a422017-09-07 17:21:46 +02004359 "records": [
4360 {
4361 "word_bit_width": 16,
Brian O'Connora6862e02017-09-08 01:17:39 -07004362 "position_offset": 54,
Carmelo Casconef1d0a422017-09-07 17:21:46 +02004363 "phv_lsb": 0,
4364 "is_pov": false,
4365 "field_msb": 15,
4366 "phv_msb": 15,
4367 "is_compiler_generated": false,
4368 "field_name": "ipv4_totalLen",
4369 "field_width": 2,
4370 "field_lsb": 0
4371 }
4372 ]
4373 },
4374 {
Brian O'Connora6862e02017-09-08 01:17:39 -07004375 "phv_number": 333,
Carmelo Casconef1d0a422017-09-07 17:21:46 +02004376 "records": [
4377 {
4378 "word_bit_width": 16,
Brian O'Connora6862e02017-09-08 01:17:39 -07004379 "position_offset": 43,
Carmelo Casconef1d0a422017-09-07 17:21:46 +02004380 "phv_lsb": 0,
4381 "is_pov": false,
4382 "field_msb": 15,
4383 "phv_msb": 15,
4384 "is_compiler_generated": false,
4385 "field_name": "ipv4_identification",
4386 "field_width": 2,
4387 "field_lsb": 0
4388 }
4389 ]
4390 },
4391 {
Brian O'Connora6862e02017-09-08 01:17:39 -07004392 "phv_number": 334,
Carmelo Casconef1d0a422017-09-07 17:21:46 +02004393 "records": [
4394 {
4395 "word_bit_width": 16,
4396 "position_offset": 8,
4397 "phv_lsb": 13,
4398 "is_pov": false,
4399 "field_msb": 2,
4400 "phv_msb": 15,
4401 "is_compiler_generated": false,
4402 "field_name": "ipv4_flags",
4403 "field_width": 1,
4404 "field_lsb": 0
4405 },
4406 {
4407 "word_bit_width": 16,
4408 "position_offset": 5,
4409 "phv_lsb": 0,
4410 "is_pov": false,
4411 "field_msb": 12,
4412 "phv_msb": 12,
4413 "is_compiler_generated": false,
4414 "field_name": "ipv4_fragOffset",
4415 "field_width": 2,
4416 "field_lsb": 0
4417 }
4418 ]
4419 },
4420 {
Brian O'Connora6862e02017-09-08 01:17:39 -07004421 "phv_number": 335,
Carmelo Casconef1d0a422017-09-07 17:21:46 +02004422 "records": [
4423 {
4424 "word_bit_width": 16,
Brian O'Connora6862e02017-09-08 01:17:39 -07004425 "position_offset": 32,
Carmelo Casconef1d0a422017-09-07 17:21:46 +02004426 "phv_lsb": 0,
4427 "is_pov": false,
4428 "field_msb": 15,
4429 "phv_msb": 15,
4430 "is_compiler_generated": false,
4431 "field_name": "tcp_dstPort",
4432 "field_width": 2,
4433 "field_lsb": 0
Brian O'Connora6862e02017-09-08 01:17:39 -07004434 }
4435 ]
4436 },
4437 {
4438 "phv_number": 336,
4439 "records": [
4440 {
4441 "word_bit_width": 16,
4442 "position_offset": 69,
4443 "phv_lsb": 0,
4444 "is_pov": false,
4445 "field_msb": 31,
4446 "phv_msb": 15,
4447 "is_compiler_generated": false,
4448 "field_name": "tcp_seqNo",
4449 "field_width": 4,
4450 "field_lsb": 16
Carmelo Casconef1d0a422017-09-07 17:21:46 +02004451 },
4452 {
4453 "word_bit_width": 16,
Brian O'Connora6862e02017-09-08 01:17:39 -07004454 "position_offset": 48,
Carmelo Casconef1d0a422017-09-07 17:21:46 +02004455 "phv_lsb": 0,
4456 "is_pov": false,
4457 "field_msb": 15,
4458 "phv_msb": 15,
4459 "is_compiler_generated": false,
4460 "field_name": "udp_dstPort",
4461 "field_width": 2,
4462 "field_lsb": 0
4463 }
4464 ]
4465 },
4466 {
Brian O'Connora6862e02017-09-08 01:17:39 -07004467 "phv_number": 337,
Carmelo Casconef1d0a422017-09-07 17:21:46 +02004468 "records": [
4469 {
4470 "word_bit_width": 16,
Brian O'Connora6862e02017-09-08 01:17:39 -07004471 "position_offset": 69,
Carmelo Casconef1d0a422017-09-07 17:21:46 +02004472 "phv_lsb": 0,
4473 "is_pov": false,
4474 "field_msb": 15,
4475 "phv_msb": 15,
4476 "is_compiler_generated": false,
4477 "field_name": "tcp_seqNo",
4478 "field_width": 4,
4479 "field_lsb": 0
4480 }
4481 ]
4482 },
4483 {
Brian O'Connora6862e02017-09-08 01:17:39 -07004484 "phv_number": 338,
Carmelo Casconef1d0a422017-09-07 17:21:46 +02004485 "records": [
4486 {
4487 "word_bit_width": 16,
Brian O'Connora6862e02017-09-08 01:17:39 -07004488 "position_offset": 19,
Carmelo Casconef1d0a422017-09-07 17:21:46 +02004489 "phv_lsb": 8,
4490 "is_pov": false,
4491 "field_msb": 7,
4492 "phv_msb": 15,
4493 "is_compiler_generated": false,
4494 "field_name": "ethernet_dstAddr",
4495 "field_width": 6,
4496 "field_lsb": 0
4497 },
4498 {
4499 "word_bit_width": 16,
Brian O'Connora6862e02017-09-08 01:17:39 -07004500 "position_offset": 63,
Carmelo Casconef1d0a422017-09-07 17:21:46 +02004501 "phv_lsb": 0,
4502 "is_pov": false,
4503 "field_msb": 47,
4504 "phv_msb": 7,
4505 "is_compiler_generated": false,
4506 "field_name": "ethernet_srcAddr",
4507 "field_width": 6,
4508 "field_lsb": 40
4509 }
4510 ]
4511 },
4512 {
Brian O'Connora6862e02017-09-08 01:17:39 -07004513 "phv_number": 339,
Carmelo Casconef1d0a422017-09-07 17:21:46 +02004514 "records": [
4515 {
4516 "word_bit_width": 16,
Brian O'Connora6862e02017-09-08 01:17:39 -07004517 "position_offset": 39,
Carmelo Casconef1d0a422017-09-07 17:21:46 +02004518 "phv_lsb": 0,
4519 "is_pov": false,
4520 "field_msb": 15,
4521 "phv_msb": 15,
4522 "is_compiler_generated": false,
4523 "field_name": "ethernet_etherType",
4524 "field_width": 2,
4525 "field_lsb": 0
4526 }
4527 ]
4528 },
4529 {
Brian O'Connora6862e02017-09-08 01:17:39 -07004530 "phv_number": 340,
Carmelo Casconef1d0a422017-09-07 17:21:46 +02004531 "records": [
4532 {
4533 "word_bit_width": 16,
4534 "position_offset": 0,
4535 "phv_lsb": 7,
4536 "is_pov": false,
4537 "field_msb": 8,
4538 "phv_msb": 15,
4539 "is_compiler_generated": false,
4540 "field_name": "packet_out_hdr_egress_port",
4541 "field_width": 2,
4542 "field_lsb": 0
Brian O'Connora6862e02017-09-08 01:17:39 -07004543 },
4544 {
4545 "word_bit_width": 16,
4546 "position_offset": 30,
4547 "phv_lsb": 7,
4548 "is_pov": false,
4549 "field_msb": 8,
4550 "phv_msb": 15,
4551 "is_compiler_generated": false,
4552 "field_name": "packet_in_hdr_ingress_port",
4553 "field_width": 2,
4554 "field_lsb": 0
Carmelo Casconef1d0a422017-09-07 17:21:46 +02004555 }
4556 ]
4557 }
4558 ],
4559 "stage_number": 2
4560 },
4561 {
4562 "ingress": [
4563 {
4564 "phv_number": 0,
4565 "records": [
4566 {
4567 "word_bit_width": 32,
4568 "position_offset": 0,
4569 "phv_lsb": 0,
4570 "is_pov": true,
4571 "pov_headers": [],
4572 "field_msb": 31,
4573 "phv_msb": 31,
4574 "is_compiler_generated": false,
4575 "field_name": "POV",
4576 "field_width": 0,
4577 "field_lsb": 0
4578 }
4579 ]
4580 },
4581 {
4582 "phv_number": 1,
4583 "records": [
4584 {
4585 "word_bit_width": 32,
Brian O'Connora6862e02017-09-08 01:17:39 -07004586 "position_offset": 19,
Carmelo Casconef1d0a422017-09-07 17:21:46 +02004587 "phv_lsb": 24,
4588 "is_pov": false,
4589 "field_msb": 7,
4590 "phv_msb": 31,
4591 "is_compiler_generated": false,
4592 "field_name": "ipv4_protocol",
4593 "field_width": 1,
4594 "field_lsb": 0
4595 },
4596 {
4597 "word_bit_width": 32,
4598 "position_offset": 10,
4599 "phv_lsb": 8,
4600 "is_pov": false,
4601 "field_msb": 15,
4602 "phv_msb": 23,
4603 "is_compiler_generated": false,
4604 "field_name": "ipv4_hdrChecksum",
4605 "field_width": 2,
4606 "field_lsb": 0
4607 },
4608 {
4609 "word_bit_width": 32,
Brian O'Connora6862e02017-09-08 01:17:39 -07004610 "position_offset": 13,
Carmelo Casconef1d0a422017-09-07 17:21:46 +02004611 "phv_lsb": 0,
4612 "is_pov": false,
4613 "field_msb": 31,
4614 "phv_msb": 7,
4615 "is_compiler_generated": false,
4616 "field_name": "ipv4_srcAddr",
4617 "field_width": 4,
4618 "field_lsb": 24
4619 }
4620 ]
4621 },
4622 {
4623 "phv_number": 2,
4624 "records": [
4625 {
4626 "word_bit_width": 32,
Brian O'Connora6862e02017-09-08 01:17:39 -07004627 "position_offset": 57,
Carmelo Casconef1d0a422017-09-07 17:21:46 +02004628 "phv_lsb": 0,
4629 "is_pov": false,
4630 "field_msb": 31,
4631 "phv_msb": 31,
4632 "is_compiler_generated": false,
4633 "field_name": "ipv4_dstAddr",
4634 "field_width": 4,
4635 "field_lsb": 0
4636 }
4637 ]
4638 },
4639 {
4640 "phv_number": 3,
4641 "records": [
4642 {
4643 "word_bit_width": 32,
Brian O'Connora6862e02017-09-08 01:17:39 -07004644 "position_offset": 22,
Carmelo Casconef1d0a422017-09-07 17:21:46 +02004645 "phv_lsb": 0,
4646 "is_pov": false,
4647 "field_msb": 39,
4648 "phv_msb": 31,
4649 "is_compiler_generated": false,
4650 "field_name": "ethernet_dstAddr",
4651 "field_width": 6,
4652 "field_lsb": 8
4653 }
4654 ]
4655 },
4656 {
4657 "phv_number": 4,
4658 "records": [
4659 {
4660 "word_bit_width": 32,
Brian O'Connora6862e02017-09-08 01:17:39 -07004661 "position_offset": 70,
Carmelo Casconef1d0a422017-09-07 17:21:46 +02004662 "phv_lsb": 0,
4663 "is_pov": false,
4664 "field_msb": 31,
4665 "phv_msb": 31,
4666 "is_compiler_generated": false,
4667 "field_name": "ethernet_srcAddr",
4668 "field_width": 6,
4669 "field_lsb": 0
4670 }
4671 ]
4672 },
4673 {
4674 "phv_number": 5,
4675 "records": [
4676 {
4677 "word_bit_width": 32,
Brian O'Connora6862e02017-09-08 01:17:39 -07004678 "position_offset": 66,
Carmelo Casconef1d0a422017-09-07 17:21:46 +02004679 "phv_lsb": 16,
4680 "is_pov": false,
4681 "field_msb": 15,
4682 "phv_msb": 31,
4683 "is_compiler_generated": false,
4684 "field_name": "udp_srcPort",
4685 "field_width": 2,
4686 "field_lsb": 0
4687 },
4688 {
4689 "word_bit_width": 32,
Brian O'Connora6862e02017-09-08 01:17:39 -07004690 "position_offset": 55,
Carmelo Casconef1d0a422017-09-07 17:21:46 +02004691 "phv_lsb": 0,
4692 "is_pov": false,
4693 "field_msb": 15,
4694 "phv_msb": 15,
4695 "is_compiler_generated": false,
4696 "field_name": "udp_dstPort",
4697 "field_width": 2,
4698 "field_lsb": 0
4699 }
4700 ]
4701 },
4702 {
4703 "phv_number": 64,
4704 "records": [
4705 {
4706 "word_bit_width": 8,
Brian O'Connora6862e02017-09-08 01:17:39 -07004707 "position_offset": 13,
Carmelo Casconef1d0a422017-09-07 17:21:46 +02004708 "phv_lsb": 0,
4709 "is_pov": false,
4710 "field_msb": 23,
4711 "phv_msb": 7,
4712 "is_compiler_generated": false,
4713 "field_name": "ipv4_srcAddr",
4714 "field_width": 4,
4715 "field_lsb": 16
4716 }
4717 ]
4718 },
4719 {
Brian O'Connora6862e02017-09-08 01:17:39 -07004720 "phv_number": 65,
Carmelo Casconef1d0a422017-09-07 17:21:46 +02004721 "records": [
4722 {
4723 "word_bit_width": 8,
Brian O'Connora6862e02017-09-08 01:17:39 -07004724 "position_offset": 22,
Carmelo Casconef1d0a422017-09-07 17:21:46 +02004725 "phv_lsb": 0,
4726 "is_pov": false,
4727 "field_msb": 47,
4728 "phv_msb": 7,
4729 "is_compiler_generated": false,
4730 "field_name": "ethernet_dstAddr",
4731 "field_width": 6,
4732 "field_lsb": 40
4733 }
4734 ]
4735 },
4736 {
Brian O'Connora6862e02017-09-08 01:17:39 -07004737 "phv_number": 66,
Carmelo Casconef1d0a422017-09-07 17:21:46 +02004738 "records": [
4739 {
4740 "word_bit_width": 8,
Brian O'Connora6862e02017-09-08 01:17:39 -07004741 "position_offset": 70,
Carmelo Casconef1d0a422017-09-07 17:21:46 +02004742 "phv_lsb": 0,
4743 "is_pov": false,
4744 "field_msb": 39,
4745 "phv_msb": 7,
4746 "is_compiler_generated": false,
4747 "field_name": "ethernet_srcAddr",
4748 "field_width": 6,
4749 "field_lsb": 32
4750 }
4751 ]
4752 },
4753 {
Brian O'Connora6862e02017-09-08 01:17:39 -07004754 "phv_number": 67,
Carmelo Casconef1d0a422017-09-07 17:21:46 +02004755 "records": [
4756 {
4757 "word_bit_width": 8,
4758 "position_offset": 0,
4759 "phv_lsb": 0,
4760 "is_pov": true,
4761 "pov_headers": [
4762 {
4763 "bit_index": 0,
Brian O'Connora6862e02017-09-08 01:17:39 -07004764 "position_offset": 80,
Carmelo Casconef1d0a422017-09-07 17:21:46 +02004765 "header_name": "packet_in_hdr",
4766 "hidden": false
4767 },
4768 {
4769 "bit_index": 1,
Brian O'Connora6862e02017-09-08 01:17:39 -07004770 "position_offset": 81,
Carmelo Casconef1d0a422017-09-07 17:21:46 +02004771 "header_name": "packet_out_hdr",
4772 "hidden": false
4773 },
4774 {
4775 "bit_index": 2,
Brian O'Connora6862e02017-09-08 01:17:39 -07004776 "position_offset": 82,
Carmelo Casconef1d0a422017-09-07 17:21:46 +02004777 "header_name": "ethernet",
4778 "hidden": false
4779 },
4780 {
4781 "bit_index": 3,
Brian O'Connora6862e02017-09-08 01:17:39 -07004782 "position_offset": 83,
Carmelo Casconef1d0a422017-09-07 17:21:46 +02004783 "header_name": "ipv4",
4784 "hidden": false
4785 },
4786 {
4787 "bit_index": 4,
Brian O'Connora6862e02017-09-08 01:17:39 -07004788 "position_offset": 84,
Carmelo Casconef1d0a422017-09-07 17:21:46 +02004789 "header_name": "tcp",
4790 "hidden": false
4791 },
4792 {
4793 "bit_index": 5,
Brian O'Connora6862e02017-09-08 01:17:39 -07004794 "position_offset": 85,
Carmelo Casconef1d0a422017-09-07 17:21:46 +02004795 "header_name": "udp",
4796 "hidden": false
4797 }
4798 ],
4799 "field_msb": 39,
4800 "phv_msb": 7,
4801 "is_compiler_generated": false,
4802 "field_name": "POV",
4803 "field_width": 0,
4804 "field_lsb": 32
4805 }
4806 ]
4807 },
4808 {
Brian O'Connora6862e02017-09-08 01:17:39 -07004809 "phv_number": 68,
Carmelo Casconef1d0a422017-09-07 17:21:46 +02004810 "records": [
4811 {
4812 "word_bit_width": 8,
Brian O'Connora6862e02017-09-08 01:17:39 -07004813 "position_offset": 51,
Carmelo Casconef1d0a422017-09-07 17:21:46 +02004814 "phv_lsb": 5,
4815 "is_pov": false,
4816 "field_msb": 2,
4817 "phv_msb": 7,
4818 "is_compiler_generated": false,
4819 "field_name": "ig_intr_md_for_tm_drop_ctl",
4820 "field_width": 1,
4821 "field_lsb": 0
4822 }
4823 ]
4824 },
4825 {
4826 "phv_number": 128,
4827 "records": [
4828 {
4829 "word_bit_width": 16,
Brian O'Connora6862e02017-09-08 01:17:39 -07004830 "position_offset": 32,
Carmelo Casconef1d0a422017-09-07 17:21:46 +02004831 "phv_lsb": 15,
4832 "is_pov": false,
4833 "field_msb": 0,
4834 "phv_msb": 15,
4835 "is_compiler_generated": false,
4836 "field_name": "ig_intr_md_resubmit_flag",
4837 "field_width": 1,
4838 "field_lsb": 0
4839 },
4840 {
4841 "word_bit_width": 16,
4842 "position_offset": 8,
4843 "phv_lsb": 0,
4844 "is_pov": false,
4845 "field_msb": 8,
4846 "phv_msb": 8,
4847 "is_compiler_generated": false,
4848 "field_name": "ig_intr_md_ingress_port",
4849 "field_width": 2,
4850 "field_lsb": 0
4851 }
4852 ]
4853 },
4854 {
4855 "phv_number": 129,
4856 "records": [
4857 {
4858 "word_bit_width": 16,
4859 "position_offset": 0,
4860 "phv_lsb": 7,
4861 "is_pov": false,
4862 "field_msb": 8,
4863 "phv_msb": 15,
4864 "is_compiler_generated": false,
4865 "field_name": "packet_out_hdr_egress_port",
4866 "field_width": 2,
4867 "field_lsb": 0
4868 },
4869 {
4870 "word_bit_width": 16,
Brian O'Connora6862e02017-09-08 01:17:39 -07004871 "position_offset": 33,
Carmelo Casconef1d0a422017-09-07 17:21:46 +02004872 "phv_lsb": 7,
4873 "is_pov": false,
4874 "field_msb": 8,
4875 "phv_msb": 15,
4876 "is_compiler_generated": false,
4877 "field_name": "packet_in_hdr_ingress_port",
4878 "field_width": 2,
4879 "field_lsb": 0
4880 }
4881 ]
4882 },
4883 {
4884 "phv_number": 130,
4885 "records": [
4886 {
4887 "word_bit_width": 16,
Brian O'Connora6862e02017-09-08 01:17:39 -07004888 "position_offset": 41,
Carmelo Casconef1d0a422017-09-07 17:21:46 +02004889 "phv_lsb": 0,
4890 "is_pov": false,
4891 "field_msb": 8,
4892 "phv_msb": 8,
4893 "is_compiler_generated": false,
4894 "field_name": "ig_intr_md_for_tm_ucast_egress_port",
4895 "field_width": 2,
4896 "field_lsb": 0
4897 }
4898 ]
4899 },
4900 {
4901 "phv_number": 131,
4902 "records": [
4903 {
4904 "word_bit_width": 16,
Brian O'Connora6862e02017-09-08 01:17:39 -07004905 "position_offset": 13,
Carmelo Casconef1d0a422017-09-07 17:21:46 +02004906 "phv_lsb": 0,
4907 "is_pov": false,
4908 "field_msb": 15,
4909 "phv_msb": 15,
4910 "is_compiler_generated": false,
4911 "field_name": "ipv4_srcAddr",
4912 "field_width": 4,
4913 "field_lsb": 0
4914 }
4915 ]
4916 },
4917 {
4918 "phv_number": 132,
4919 "records": [
4920 {
4921 "word_bit_width": 16,
Brian O'Connora6862e02017-09-08 01:17:39 -07004922 "position_offset": 22,
Carmelo Casconef1d0a422017-09-07 17:21:46 +02004923 "phv_lsb": 8,
4924 "is_pov": false,
4925 "field_msb": 7,
4926 "phv_msb": 15,
4927 "is_compiler_generated": false,
4928 "field_name": "ethernet_dstAddr",
4929 "field_width": 6,
4930 "field_lsb": 0
4931 },
4932 {
4933 "word_bit_width": 16,
Brian O'Connora6862e02017-09-08 01:17:39 -07004934 "position_offset": 70,
Carmelo Casconef1d0a422017-09-07 17:21:46 +02004935 "phv_lsb": 0,
4936 "is_pov": false,
4937 "field_msb": 47,
4938 "phv_msb": 7,
4939 "is_compiler_generated": false,
4940 "field_name": "ethernet_srcAddr",
4941 "field_width": 6,
4942 "field_lsb": 40
4943 }
4944 ]
4945 },
4946 {
4947 "phv_number": 133,
4948 "records": [
4949 {
4950 "word_bit_width": 16,
4951 "position_offset": 5,
4952 "phv_lsb": 0,
4953 "is_pov": false,
4954 "field_msb": 15,
4955 "phv_msb": 15,
4956 "is_compiler_generated": false,
4957 "field_name": "ethernet_etherType",
4958 "field_width": 2,
4959 "field_lsb": 0
4960 }
4961 ]
4962 },
4963 {
4964 "phv_number": 134,
4965 "records": [
4966 {
4967 "word_bit_width": 16,
Brian O'Connora6862e02017-09-08 01:17:39 -07004968 "position_offset": 20,
Carmelo Casconef1d0a422017-09-07 17:21:46 +02004969 "phv_lsb": 0,
4970 "is_pov": false,
4971 "field_msb": 15,
4972 "phv_msb": 15,
4973 "is_compiler_generated": false,
4974 "field_name": "ecmp_metadata_groupId",
4975 "field_width": 2,
4976 "field_lsb": 0
4977 }
4978 ]
4979 },
4980 {
4981 "phv_number": 135,
4982 "records": [
4983 {
4984 "word_bit_width": 16,
Brian O'Connora6862e02017-09-08 01:17:39 -07004985 "position_offset": 61,
Carmelo Casconef1d0a422017-09-07 17:21:46 +02004986 "phv_lsb": 0,
4987 "is_pov": false,
4988 "field_msb": 15,
4989 "phv_msb": 15,
4990 "is_compiler_generated": false,
4991 "field_name": "ecmp_metadata_selector",
4992 "field_width": 2,
4993 "field_lsb": 0
4994 }
4995 ]
4996 },
4997 {
4998 "phv_number": 256,
4999 "records": [
5000 {
5001 "word_bit_width": 32,
Brian O'Connora6862e02017-09-08 01:17:39 -07005002 "position_offset": 49,
Carmelo Casconef1d0a422017-09-07 17:21:46 +02005003 "phv_lsb": 24,
5004 "is_pov": false,
5005 "field_msb": 7,
5006 "phv_msb": 31,
5007 "is_compiler_generated": false,
5008 "field_name": "ipv4_identification",
5009 "field_width": 2,
5010 "field_lsb": 0
5011 },
5012 {
5013 "word_bit_width": 32,
5014 "position_offset": 7,
5015 "phv_lsb": 21,
5016 "is_pov": false,
5017 "field_msb": 2,
5018 "phv_msb": 23,
5019 "is_compiler_generated": false,
5020 "field_name": "ipv4_flags",
5021 "field_width": 1,
5022 "field_lsb": 0
5023 },
5024 {
5025 "word_bit_width": 32,
Brian O'Connora6862e02017-09-08 01:17:39 -07005026 "position_offset": 44,
Carmelo Casconef1d0a422017-09-07 17:21:46 +02005027 "phv_lsb": 8,
5028 "is_pov": false,
5029 "field_msb": 12,
5030 "phv_msb": 20,
5031 "is_compiler_generated": false,
5032 "field_name": "ipv4_fragOffset",
5033 "field_width": 2,
5034 "field_lsb": 0
5035 },
5036 {
5037 "word_bit_width": 32,
Brian O'Connora6862e02017-09-08 01:17:39 -07005038 "position_offset": 54,
Carmelo Casconef1d0a422017-09-07 17:21:46 +02005039 "phv_lsb": 0,
5040 "is_pov": false,
5041 "field_msb": 7,
5042 "phv_msb": 7,
5043 "is_compiler_generated": false,
5044 "field_name": "ipv4_ttl",
5045 "field_width": 1,
5046 "field_lsb": 0
5047 }
5048 ]
5049 },
5050 {
5051 "phv_number": 257,
5052 "records": [
5053 {
5054 "word_bit_width": 32,
Brian O'Connora6862e02017-09-08 01:17:39 -07005055 "position_offset": 43,
Carmelo Casconef1d0a422017-09-07 17:21:46 +02005056 "phv_lsb": 28,
5057 "is_pov": false,
5058 "field_msb": 3,
5059 "phv_msb": 31,
5060 "is_compiler_generated": false,
5061 "field_name": "tcp_dataOffset",
5062 "field_width": 1,
5063 "field_lsb": 0
5064 },
5065 {
5066 "word_bit_width": 32,
Brian O'Connora6862e02017-09-08 01:17:39 -07005067 "position_offset": 48,
Carmelo Casconef1d0a422017-09-07 17:21:46 +02005068 "phv_lsb": 25,
5069 "is_pov": false,
5070 "field_msb": 2,
5071 "phv_msb": 27,
5072 "is_compiler_generated": false,
5073 "field_name": "tcp_res",
5074 "field_width": 1,
5075 "field_lsb": 0
5076 },
5077 {
5078 "word_bit_width": 32,
Brian O'Connora6862e02017-09-08 01:17:39 -07005079 "position_offset": 12,
Carmelo Casconef1d0a422017-09-07 17:21:46 +02005080 "phv_lsb": 22,
5081 "is_pov": false,
5082 "field_msb": 2,
5083 "phv_msb": 24,
5084 "is_compiler_generated": false,
5085 "field_name": "tcp_ecn",
5086 "field_width": 1,
5087 "field_lsb": 0
5088 },
5089 {
5090 "word_bit_width": 32,
5091 "position_offset": 37,
5092 "phv_lsb": 16,
5093 "is_pov": false,
5094 "field_msb": 5,
5095 "phv_msb": 21,
5096 "is_compiler_generated": false,
5097 "field_name": "tcp_ctrl",
5098 "field_width": 1,
5099 "field_lsb": 0
5100 },
5101 {
5102 "word_bit_width": 32,
Brian O'Connora6862e02017-09-08 01:17:39 -07005103 "position_offset": 46,
Carmelo Casconef1d0a422017-09-07 17:21:46 +02005104 "phv_lsb": 0,
5105 "is_pov": false,
5106 "field_msb": 15,
5107 "phv_msb": 15,
5108 "is_compiler_generated": false,
5109 "field_name": "tcp_window",
5110 "field_width": 2,
5111 "field_lsb": 0
5112 }
5113 ]
5114 },
5115 {
Brian O'Connora6862e02017-09-08 01:17:39 -07005116 "phv_number": 258,
Carmelo Casconef1d0a422017-09-07 17:21:46 +02005117 "records": [
5118 {
5119 "word_bit_width": 32,
5120 "position_offset": 2,
5121 "phv_lsb": 16,
5122 "is_pov": false,
5123 "field_msb": 15,
5124 "phv_msb": 31,
5125 "is_compiler_generated": false,
5126 "field_name": "tcp_checksum",
5127 "field_width": 2,
5128 "field_lsb": 0
5129 },
5130 {
5131 "word_bit_width": 32,
Brian O'Connora6862e02017-09-08 01:17:39 -07005132 "position_offset": 52,
Carmelo Casconef1d0a422017-09-07 17:21:46 +02005133 "phv_lsb": 0,
5134 "is_pov": false,
5135 "field_msb": 15,
5136 "phv_msb": 15,
5137 "is_compiler_generated": false,
5138 "field_name": "tcp_urgentPtr",
5139 "field_width": 2,
5140 "field_lsb": 0
5141 }
5142 ]
5143 },
5144 {
Brian O'Connora6862e02017-09-08 01:17:39 -07005145 "phv_number": 288,
Carmelo Casconef1d0a422017-09-07 17:21:46 +02005146 "records": [
5147 {
5148 "word_bit_width": 8,
Brian O'Connora6862e02017-09-08 01:17:39 -07005149 "position_offset": 65,
Carmelo Casconef1d0a422017-09-07 17:21:46 +02005150 "phv_lsb": 4,
5151 "is_pov": false,
5152 "field_msb": 3,
5153 "phv_msb": 7,
5154 "is_compiler_generated": false,
5155 "field_name": "ipv4_version",
5156 "field_width": 1,
5157 "field_lsb": 0
5158 },
5159 {
5160 "word_bit_width": 8,
5161 "position_offset": 40,
5162 "phv_lsb": 0,
5163 "is_pov": false,
5164 "field_msb": 3,
5165 "phv_msb": 3,
5166 "is_compiler_generated": false,
5167 "field_name": "ipv4_ihl",
5168 "field_width": 1,
5169 "field_lsb": 0
5170 }
5171 ]
5172 },
5173 {
Brian O'Connora6862e02017-09-08 01:17:39 -07005174 "phv_number": 289,
5175 "records": [
5176 {
5177 "word_bit_width": 8,
5178 "position_offset": 38,
5179 "phv_lsb": 0,
5180 "is_pov": false,
5181 "field_msb": 15,
5182 "phv_msb": 7,
5183 "is_compiler_generated": false,
5184 "field_name": "tcp_srcPort",
5185 "field_width": 2,
5186 "field_lsb": 8
5187 },
5188 {
5189 "word_bit_width": 8,
5190 "position_offset": 17,
5191 "phv_lsb": 0,
5192 "is_pov": false,
5193 "field_msb": 15,
5194 "phv_msb": 7,
5195 "is_compiler_generated": false,
5196 "field_name": "udp_length_",
5197 "field_width": 2,
5198 "field_lsb": 8
5199 }
5200 ]
5201 },
5202 {
5203 "phv_number": 290,
5204 "records": [
5205 {
5206 "word_bit_width": 8,
5207 "position_offset": 38,
5208 "phv_lsb": 0,
5209 "is_pov": false,
5210 "field_msb": 7,
5211 "phv_msb": 7,
5212 "is_compiler_generated": false,
5213 "field_name": "tcp_srcPort",
5214 "field_width": 2,
5215 "field_lsb": 0
5216 },
5217 {
5218 "word_bit_width": 8,
5219 "position_offset": 17,
5220 "phv_lsb": 0,
5221 "is_pov": false,
5222 "field_msb": 7,
5223 "phv_msb": 7,
5224 "is_compiler_generated": false,
5225 "field_name": "udp_length_",
5226 "field_width": 2,
5227 "field_lsb": 0
5228 }
5229 ]
5230 },
5231 {
5232 "phv_number": 291,
5233 "records": [
5234 {
5235 "word_bit_width": 8,
5236 "position_offset": 35,
5237 "phv_lsb": 0,
5238 "is_pov": false,
5239 "field_msb": 15,
5240 "phv_msb": 7,
5241 "is_compiler_generated": false,
5242 "field_name": "tcp_dstPort",
5243 "field_width": 2,
5244 "field_lsb": 8
5245 }
5246 ]
5247 },
5248 {
5249 "phv_number": 292,
5250 "records": [
5251 {
5252 "word_bit_width": 8,
5253 "position_offset": 35,
5254 "phv_lsb": 0,
5255 "is_pov": false,
5256 "field_msb": 7,
5257 "phv_msb": 7,
5258 "is_compiler_generated": false,
5259 "field_name": "tcp_dstPort",
5260 "field_width": 2,
5261 "field_lsb": 0
5262 }
5263 ]
5264 },
5265 {
5266 "phv_number": 320,
5267 "records": [
5268 {
5269 "word_bit_width": 16,
5270 "position_offset": 4,
5271 "phv_lsb": 8,
5272 "is_pov": false,
5273 "field_msb": 7,
5274 "phv_msb": 15,
5275 "is_compiler_generated": false,
5276 "field_name": "ipv4_diffserv",
5277 "field_width": 1,
5278 "field_lsb": 0
5279 },
5280 {
5281 "word_bit_width": 16,
5282 "position_offset": 63,
5283 "phv_lsb": 0,
5284 "is_pov": false,
5285 "field_msb": 15,
5286 "phv_msb": 7,
5287 "is_compiler_generated": false,
5288 "field_name": "ipv4_totalLen",
5289 "field_width": 2,
5290 "field_lsb": 8
5291 }
5292 ]
5293 },
5294 {
5295 "phv_number": 321,
5296 "records": [
5297 {
5298 "word_bit_width": 16,
5299 "position_offset": 63,
5300 "phv_lsb": 8,
5301 "is_pov": false,
5302 "field_msb": 7,
5303 "phv_msb": 15,
5304 "is_compiler_generated": false,
5305 "field_name": "ipv4_totalLen",
5306 "field_width": 2,
5307 "field_lsb": 0
5308 },
5309 {
5310 "word_bit_width": 16,
5311 "position_offset": 49,
5312 "phv_lsb": 0,
5313 "is_pov": false,
5314 "field_msb": 15,
5315 "phv_msb": 7,
5316 "is_compiler_generated": false,
5317 "field_name": "ipv4_identification",
5318 "field_width": 2,
5319 "field_lsb": 8
5320 }
5321 ]
5322 },
5323 {
5324 "phv_number": 322,
5325 "records": [
5326 {
5327 "word_bit_width": 16,
5328 "position_offset": 76,
5329 "phv_lsb": 0,
5330 "is_pov": false,
5331 "field_msb": 31,
5332 "phv_msb": 15,
5333 "is_compiler_generated": false,
5334 "field_name": "tcp_seqNo",
5335 "field_width": 4,
5336 "field_lsb": 16
5337 },
5338 {
5339 "word_bit_width": 16,
5340 "position_offset": 68,
5341 "phv_lsb": 0,
5342 "is_pov": false,
5343 "field_msb": 15,
5344 "phv_msb": 15,
5345 "is_compiler_generated": false,
5346 "field_name": "udp_checksum",
5347 "field_width": 2,
5348 "field_lsb": 0
5349 }
5350 ]
5351 },
5352 {
5353 "phv_number": 323,
5354 "records": [
5355 {
5356 "word_bit_width": 16,
5357 "position_offset": 76,
5358 "phv_lsb": 0,
5359 "is_pov": false,
5360 "field_msb": 15,
5361 "phv_msb": 15,
5362 "is_compiler_generated": false,
5363 "field_name": "tcp_seqNo",
5364 "field_width": 4,
5365 "field_lsb": 0
5366 }
5367 ]
5368 },
5369 {
5370 "phv_number": 324,
5371 "records": [
5372 {
5373 "word_bit_width": 16,
5374 "position_offset": 28,
5375 "phv_lsb": 0,
5376 "is_pov": false,
5377 "field_msb": 31,
5378 "phv_msb": 15,
5379 "is_compiler_generated": false,
5380 "field_name": "tcp_ackNo",
5381 "field_width": 4,
5382 "field_lsb": 16
5383 }
5384 ]
5385 },
5386 {
5387 "phv_number": 325,
5388 "records": [
5389 {
5390 "word_bit_width": 16,
5391 "position_offset": 28,
5392 "phv_lsb": 0,
5393 "is_pov": false,
5394 "field_msb": 15,
5395 "phv_msb": 15,
5396 "is_compiler_generated": false,
5397 "field_name": "tcp_ackNo",
5398 "field_width": 4,
5399 "field_lsb": 0
5400 }
5401 ]
5402 }
5403 ],
5404 "egress": [
5405 {
5406 "phv_number": 80,
5407 "records": [
5408 {
5409 "word_bit_width": 8,
5410 "position_offset": 7,
5411 "phv_lsb": 0,
5412 "is_pov": false,
5413 "field_msb": 2,
5414 "phv_msb": 2,
5415 "is_compiler_generated": false,
5416 "field_name": "eg_intr_md_egress_cos",
5417 "field_width": 1,
5418 "field_lsb": 0
5419 }
5420 ]
5421 },
5422 {
5423 "phv_number": 81,
5424 "records": [
5425 {
5426 "word_bit_width": 8,
5427 "position_offset": 0,
5428 "phv_lsb": 0,
5429 "is_pov": true,
5430 "pov_headers": [
5431 {
5432 "bit_index": 0,
5433 "position_offset": 73,
5434 "header_name": "packet_in_hdr",
5435 "hidden": false
5436 },
5437 {
5438 "bit_index": 1,
5439 "position_offset": 74,
5440 "header_name": "packet_out_hdr",
5441 "hidden": false
5442 },
5443 {
5444 "bit_index": 2,
5445 "position_offset": 75,
5446 "header_name": "ethernet",
5447 "hidden": false
5448 },
5449 {
5450 "bit_index": 3,
5451 "position_offset": 76,
5452 "header_name": "ipv4",
5453 "hidden": false
5454 },
5455 {
5456 "bit_index": 4,
5457 "position_offset": 77,
5458 "header_name": "tcp",
5459 "hidden": false
5460 },
5461 {
5462 "bit_index": 5,
5463 "position_offset": 78,
5464 "header_name": "udp",
5465 "hidden": false
5466 }
5467 ],
5468 "field_msb": 7,
5469 "phv_msb": 7,
5470 "is_compiler_generated": false,
5471 "field_name": "POV",
5472 "field_width": 0,
5473 "field_lsb": 0
5474 }
5475 ]
5476 },
5477 {
5478 "phv_number": 144,
5479 "records": [
5480 {
5481 "word_bit_width": 16,
5482 "position_offset": 61,
5483 "phv_lsb": 0,
5484 "is_pov": false,
5485 "field_msb": 8,
5486 "phv_msb": 8,
5487 "is_compiler_generated": false,
5488 "field_name": "eg_intr_md_egress_port",
5489 "field_width": 2,
5490 "field_lsb": 0
5491 }
5492 ]
5493 },
5494 {
5495 "phv_number": 264,
5496 "records": [
5497 {
5498 "word_bit_width": 32,
5499 "position_offset": 47,
5500 "phv_lsb": 24,
5501 "is_pov": false,
5502 "field_msb": 7,
5503 "phv_msb": 31,
5504 "is_compiler_generated": false,
5505 "field_name": "ipv4_ttl",
5506 "field_width": 1,
5507 "field_lsb": 0
5508 },
5509 {
5510 "word_bit_width": 32,
5511 "position_offset": 18,
5512 "phv_lsb": 16,
5513 "is_pov": false,
5514 "field_msb": 7,
5515 "phv_msb": 23,
5516 "is_compiler_generated": false,
5517 "field_name": "ipv4_protocol",
5518 "field_width": 1,
5519 "field_lsb": 0
5520 },
5521 {
5522 "word_bit_width": 32,
5523 "position_offset": 9,
5524 "phv_lsb": 0,
5525 "is_pov": false,
5526 "field_msb": 15,
5527 "phv_msb": 15,
5528 "is_compiler_generated": false,
5529 "field_name": "ipv4_hdrChecksum",
5530 "field_width": 2,
5531 "field_lsb": 0
5532 }
5533 ]
5534 },
5535 {
5536 "phv_number": 265,
5537 "records": [
5538 {
5539 "word_bit_width": 32,
5540 "position_offset": 12,
5541 "phv_lsb": 0,
5542 "is_pov": false,
5543 "field_msb": 31,
5544 "phv_msb": 31,
5545 "is_compiler_generated": false,
5546 "field_name": "ipv4_srcAddr",
5547 "field_width": 4,
5548 "field_lsb": 0
5549 }
5550 ]
5551 },
5552 {
5553 "phv_number": 266,
5554 "records": [
5555 {
5556 "word_bit_width": 32,
5557 "position_offset": 50,
5558 "phv_lsb": 0,
5559 "is_pov": false,
5560 "field_msb": 31,
5561 "phv_msb": 31,
5562 "is_compiler_generated": false,
5563 "field_name": "ipv4_dstAddr",
5564 "field_width": 4,
5565 "field_lsb": 0
5566 }
5567 ]
5568 },
5569 {
5570 "phv_number": 267,
5571 "records": [
5572 {
5573 "word_bit_width": 32,
5574 "position_offset": 25,
5575 "phv_lsb": 0,
5576 "is_pov": false,
5577 "field_msb": 31,
5578 "phv_msb": 31,
5579 "is_compiler_generated": false,
5580 "field_name": "tcp_ackNo",
5581 "field_width": 4,
5582 "field_lsb": 0
5583 },
5584 {
5585 "word_bit_width": 32,
5586 "position_offset": 16,
5587 "phv_lsb": 16,
5588 "is_pov": false,
5589 "field_msb": 15,
5590 "phv_msb": 31,
5591 "is_compiler_generated": false,
5592 "field_name": "udp_length_",
5593 "field_width": 2,
5594 "field_lsb": 0
5595 },
5596 {
5597 "word_bit_width": 32,
5598 "position_offset": 59,
5599 "phv_lsb": 0,
5600 "is_pov": false,
5601 "field_msb": 15,
5602 "phv_msb": 15,
5603 "is_compiler_generated": false,
5604 "field_name": "udp_checksum",
5605 "field_width": 2,
5606 "field_lsb": 0
5607 }
5608 ]
5609 },
5610 {
5611 "phv_number": 268,
5612 "records": [
5613 {
5614 "word_bit_width": 32,
5615 "position_offset": 38,
5616 "phv_lsb": 28,
5617 "is_pov": false,
5618 "field_msb": 3,
5619 "phv_msb": 31,
5620 "is_compiler_generated": false,
5621 "field_name": "tcp_dataOffset",
5622 "field_width": 1,
5623 "field_lsb": 0
5624 },
5625 {
5626 "word_bit_width": 32,
5627 "position_offset": 58,
5628 "phv_lsb": 25,
5629 "is_pov": false,
5630 "field_msb": 2,
5631 "phv_msb": 27,
5632 "is_compiler_generated": false,
5633 "field_name": "tcp_res",
5634 "field_width": 1,
5635 "field_lsb": 0
5636 },
5637 {
5638 "word_bit_width": 32,
5639 "position_offset": 11,
5640 "phv_lsb": 22,
5641 "is_pov": false,
5642 "field_msb": 2,
5643 "phv_msb": 24,
5644 "is_compiler_generated": false,
5645 "field_name": "tcp_ecn",
5646 "field_width": 1,
5647 "field_lsb": 0
5648 },
5649 {
5650 "word_bit_width": 32,
5651 "position_offset": 34,
5652 "phv_lsb": 16,
5653 "is_pov": false,
5654 "field_msb": 5,
5655 "phv_msb": 21,
5656 "is_compiler_generated": false,
5657 "field_name": "tcp_ctrl",
5658 "field_width": 1,
5659 "field_lsb": 0
5660 },
5661 {
5662 "word_bit_width": 32,
5663 "position_offset": 41,
5664 "phv_lsb": 0,
5665 "is_pov": false,
5666 "field_msb": 15,
5667 "phv_msb": 15,
5668 "is_compiler_generated": false,
5669 "field_name": "tcp_window",
5670 "field_width": 2,
5671 "field_lsb": 0
5672 }
5673 ]
5674 },
5675 {
5676 "phv_number": 269,
5677 "records": [
5678 {
5679 "word_bit_width": 32,
5680 "position_offset": 2,
5681 "phv_lsb": 16,
5682 "is_pov": false,
5683 "field_msb": 15,
5684 "phv_msb": 31,
5685 "is_compiler_generated": false,
5686 "field_name": "tcp_checksum",
5687 "field_width": 2,
5688 "field_lsb": 0
5689 },
5690 {
5691 "word_bit_width": 32,
5692 "position_offset": 45,
5693 "phv_lsb": 0,
5694 "is_pov": false,
5695 "field_msb": 15,
5696 "phv_msb": 15,
5697 "is_compiler_generated": false,
5698 "field_name": "tcp_urgentPtr",
5699 "field_width": 2,
5700 "field_lsb": 0
5701 }
5702 ]
5703 },
5704 {
5705 "phv_number": 270,
5706 "records": [
5707 {
5708 "word_bit_width": 32,
5709 "position_offset": 19,
5710 "phv_lsb": 0,
5711 "is_pov": false,
5712 "field_msb": 39,
5713 "phv_msb": 31,
5714 "is_compiler_generated": false,
5715 "field_name": "ethernet_dstAddr",
5716 "field_width": 6,
5717 "field_lsb": 8
5718 }
5719 ]
5720 },
5721 {
5722 "phv_number": 271,
5723 "records": [
5724 {
5725 "word_bit_width": 32,
5726 "position_offset": 63,
5727 "phv_lsb": 0,
5728 "is_pov": false,
5729 "field_msb": 31,
5730 "phv_msb": 31,
5731 "is_compiler_generated": false,
5732 "field_name": "ethernet_srcAddr",
5733 "field_width": 6,
5734 "field_lsb": 0
5735 }
5736 ]
5737 },
5738 {
5739 "phv_number": 296,
5740 "records": [
5741 {
5742 "word_bit_width": 8,
5743 "position_offset": 29,
5744 "phv_lsb": 4,
5745 "is_pov": false,
5746 "field_msb": 3,
5747 "phv_msb": 7,
5748 "is_compiler_generated": false,
5749 "field_name": "ipv4_version",
5750 "field_width": 1,
5751 "field_lsb": 0
5752 },
5753 {
5754 "word_bit_width": 8,
5755 "position_offset": 37,
5756 "phv_lsb": 0,
5757 "is_pov": false,
5758 "field_msb": 3,
5759 "phv_msb": 3,
5760 "is_compiler_generated": false,
5761 "field_name": "ipv4_ihl",
5762 "field_width": 1,
5763 "field_lsb": 0
5764 }
5765 ]
5766 },
5767 {
5768 "phv_number": 297,
Carmelo Casconef1d0a422017-09-07 17:21:46 +02005769 "records": [
5770 {
5771 "word_bit_width": 8,
5772 "position_offset": 4,
5773 "phv_lsb": 0,
5774 "is_pov": false,
5775 "field_msb": 7,
5776 "phv_msb": 7,
5777 "is_compiler_generated": false,
5778 "field_name": "ipv4_diffserv",
5779 "field_width": 1,
5780 "field_lsb": 0
5781 }
5782 ]
5783 },
5784 {
Brian O'Connora6862e02017-09-08 01:17:39 -07005785 "phv_number": 298,
Carmelo Casconef1d0a422017-09-07 17:21:46 +02005786 "records": [
5787 {
5788 "word_bit_width": 8,
Brian O'Connora6862e02017-09-08 01:17:39 -07005789 "position_offset": 35,
Carmelo Casconef1d0a422017-09-07 17:21:46 +02005790 "phv_lsb": 0,
5791 "is_pov": false,
5792 "field_msb": 15,
5793 "phv_msb": 7,
5794 "is_compiler_generated": false,
5795 "field_name": "tcp_srcPort",
5796 "field_width": 2,
5797 "field_lsb": 8
5798 },
5799 {
5800 "word_bit_width": 8,
Brian O'Connora6862e02017-09-08 01:17:39 -07005801 "position_offset": 56,
Carmelo Casconef1d0a422017-09-07 17:21:46 +02005802 "phv_lsb": 0,
5803 "is_pov": false,
5804 "field_msb": 15,
5805 "phv_msb": 7,
5806 "is_compiler_generated": false,
5807 "field_name": "udp_srcPort",
5808 "field_width": 2,
5809 "field_lsb": 8
5810 }
5811 ]
5812 },
5813 {
Brian O'Connora6862e02017-09-08 01:17:39 -07005814 "phv_number": 299,
Carmelo Casconef1d0a422017-09-07 17:21:46 +02005815 "records": [
5816 {
5817 "word_bit_width": 8,
Brian O'Connora6862e02017-09-08 01:17:39 -07005818 "position_offset": 35,
Carmelo Casconef1d0a422017-09-07 17:21:46 +02005819 "phv_lsb": 0,
5820 "is_pov": false,
5821 "field_msb": 7,
5822 "phv_msb": 7,
5823 "is_compiler_generated": false,
5824 "field_name": "tcp_srcPort",
5825 "field_width": 2,
5826 "field_lsb": 0
5827 },
5828 {
5829 "word_bit_width": 8,
Brian O'Connora6862e02017-09-08 01:17:39 -07005830 "position_offset": 56,
Carmelo Casconef1d0a422017-09-07 17:21:46 +02005831 "phv_lsb": 0,
5832 "is_pov": false,
5833 "field_msb": 7,
5834 "phv_msb": 7,
5835 "is_compiler_generated": false,
5836 "field_name": "udp_srcPort",
5837 "field_width": 2,
5838 "field_lsb": 0
5839 }
5840 ]
5841 },
5842 {
Brian O'Connora6862e02017-09-08 01:17:39 -07005843 "phv_number": 300,
Carmelo Casconef1d0a422017-09-07 17:21:46 +02005844 "records": [
5845 {
5846 "word_bit_width": 8,
Brian O'Connora6862e02017-09-08 01:17:39 -07005847 "position_offset": 19,
Carmelo Casconef1d0a422017-09-07 17:21:46 +02005848 "phv_lsb": 0,
5849 "is_pov": false,
5850 "field_msb": 47,
5851 "phv_msb": 7,
5852 "is_compiler_generated": false,
5853 "field_name": "ethernet_dstAddr",
5854 "field_width": 6,
5855 "field_lsb": 40
5856 }
5857 ]
5858 },
5859 {
Brian O'Connora6862e02017-09-08 01:17:39 -07005860 "phv_number": 301,
Carmelo Casconef1d0a422017-09-07 17:21:46 +02005861 "records": [
5862 {
5863 "word_bit_width": 8,
Brian O'Connora6862e02017-09-08 01:17:39 -07005864 "position_offset": 63,
Carmelo Casconef1d0a422017-09-07 17:21:46 +02005865 "phv_lsb": 0,
5866 "is_pov": false,
5867 "field_msb": 39,
5868 "phv_msb": 7,
5869 "is_compiler_generated": false,
5870 "field_name": "ethernet_srcAddr",
5871 "field_width": 6,
5872 "field_lsb": 32
5873 }
5874 ]
5875 },
5876 {
Brian O'Connora6862e02017-09-08 01:17:39 -07005877 "phv_number": 332,
Carmelo Casconef1d0a422017-09-07 17:21:46 +02005878 "records": [
5879 {
5880 "word_bit_width": 16,
Brian O'Connora6862e02017-09-08 01:17:39 -07005881 "position_offset": 54,
Carmelo Casconef1d0a422017-09-07 17:21:46 +02005882 "phv_lsb": 0,
5883 "is_pov": false,
5884 "field_msb": 15,
5885 "phv_msb": 15,
5886 "is_compiler_generated": false,
5887 "field_name": "ipv4_totalLen",
5888 "field_width": 2,
5889 "field_lsb": 0
5890 }
5891 ]
5892 },
5893 {
Brian O'Connora6862e02017-09-08 01:17:39 -07005894 "phv_number": 333,
Carmelo Casconef1d0a422017-09-07 17:21:46 +02005895 "records": [
5896 {
5897 "word_bit_width": 16,
Brian O'Connora6862e02017-09-08 01:17:39 -07005898 "position_offset": 43,
Carmelo Casconef1d0a422017-09-07 17:21:46 +02005899 "phv_lsb": 0,
5900 "is_pov": false,
5901 "field_msb": 15,
5902 "phv_msb": 15,
5903 "is_compiler_generated": false,
5904 "field_name": "ipv4_identification",
5905 "field_width": 2,
5906 "field_lsb": 0
5907 }
5908 ]
5909 },
5910 {
Brian O'Connora6862e02017-09-08 01:17:39 -07005911 "phv_number": 334,
Carmelo Casconef1d0a422017-09-07 17:21:46 +02005912 "records": [
5913 {
5914 "word_bit_width": 16,
5915 "position_offset": 8,
5916 "phv_lsb": 13,
5917 "is_pov": false,
5918 "field_msb": 2,
5919 "phv_msb": 15,
5920 "is_compiler_generated": false,
5921 "field_name": "ipv4_flags",
5922 "field_width": 1,
5923 "field_lsb": 0
5924 },
5925 {
5926 "word_bit_width": 16,
5927 "position_offset": 5,
5928 "phv_lsb": 0,
5929 "is_pov": false,
5930 "field_msb": 12,
5931 "phv_msb": 12,
5932 "is_compiler_generated": false,
5933 "field_name": "ipv4_fragOffset",
5934 "field_width": 2,
5935 "field_lsb": 0
5936 }
5937 ]
5938 },
5939 {
Brian O'Connora6862e02017-09-08 01:17:39 -07005940 "phv_number": 335,
Carmelo Casconef1d0a422017-09-07 17:21:46 +02005941 "records": [
5942 {
5943 "word_bit_width": 16,
Brian O'Connora6862e02017-09-08 01:17:39 -07005944 "position_offset": 32,
Carmelo Casconef1d0a422017-09-07 17:21:46 +02005945 "phv_lsb": 0,
5946 "is_pov": false,
5947 "field_msb": 15,
5948 "phv_msb": 15,
5949 "is_compiler_generated": false,
5950 "field_name": "tcp_dstPort",
5951 "field_width": 2,
5952 "field_lsb": 0
Brian O'Connora6862e02017-09-08 01:17:39 -07005953 }
5954 ]
5955 },
5956 {
5957 "phv_number": 336,
5958 "records": [
5959 {
5960 "word_bit_width": 16,
5961 "position_offset": 69,
5962 "phv_lsb": 0,
5963 "is_pov": false,
5964 "field_msb": 31,
5965 "phv_msb": 15,
5966 "is_compiler_generated": false,
5967 "field_name": "tcp_seqNo",
5968 "field_width": 4,
5969 "field_lsb": 16
Carmelo Casconef1d0a422017-09-07 17:21:46 +02005970 },
5971 {
5972 "word_bit_width": 16,
Brian O'Connora6862e02017-09-08 01:17:39 -07005973 "position_offset": 48,
Carmelo Casconef1d0a422017-09-07 17:21:46 +02005974 "phv_lsb": 0,
5975 "is_pov": false,
5976 "field_msb": 15,
5977 "phv_msb": 15,
5978 "is_compiler_generated": false,
5979 "field_name": "udp_dstPort",
5980 "field_width": 2,
5981 "field_lsb": 0
5982 }
5983 ]
5984 },
5985 {
Brian O'Connora6862e02017-09-08 01:17:39 -07005986 "phv_number": 337,
Carmelo Casconef1d0a422017-09-07 17:21:46 +02005987 "records": [
5988 {
5989 "word_bit_width": 16,
Brian O'Connora6862e02017-09-08 01:17:39 -07005990 "position_offset": 69,
Carmelo Casconef1d0a422017-09-07 17:21:46 +02005991 "phv_lsb": 0,
5992 "is_pov": false,
5993 "field_msb": 15,
5994 "phv_msb": 15,
5995 "is_compiler_generated": false,
5996 "field_name": "tcp_seqNo",
5997 "field_width": 4,
5998 "field_lsb": 0
5999 }
6000 ]
6001 },
6002 {
Brian O'Connora6862e02017-09-08 01:17:39 -07006003 "phv_number": 338,
Carmelo Casconef1d0a422017-09-07 17:21:46 +02006004 "records": [
6005 {
6006 "word_bit_width": 16,
Brian O'Connora6862e02017-09-08 01:17:39 -07006007 "position_offset": 19,
Carmelo Casconef1d0a422017-09-07 17:21:46 +02006008 "phv_lsb": 8,
6009 "is_pov": false,
6010 "field_msb": 7,
6011 "phv_msb": 15,
6012 "is_compiler_generated": false,
6013 "field_name": "ethernet_dstAddr",
6014 "field_width": 6,
6015 "field_lsb": 0
6016 },
6017 {
6018 "word_bit_width": 16,
Brian O'Connora6862e02017-09-08 01:17:39 -07006019 "position_offset": 63,
Carmelo Casconef1d0a422017-09-07 17:21:46 +02006020 "phv_lsb": 0,
6021 "is_pov": false,
6022 "field_msb": 47,
6023 "phv_msb": 7,
6024 "is_compiler_generated": false,
6025 "field_name": "ethernet_srcAddr",
6026 "field_width": 6,
6027 "field_lsb": 40
6028 }
6029 ]
6030 },
6031 {
Brian O'Connora6862e02017-09-08 01:17:39 -07006032 "phv_number": 339,
Carmelo Casconef1d0a422017-09-07 17:21:46 +02006033 "records": [
6034 {
6035 "word_bit_width": 16,
Brian O'Connora6862e02017-09-08 01:17:39 -07006036 "position_offset": 39,
Carmelo Casconef1d0a422017-09-07 17:21:46 +02006037 "phv_lsb": 0,
6038 "is_pov": false,
6039 "field_msb": 15,
6040 "phv_msb": 15,
6041 "is_compiler_generated": false,
6042 "field_name": "ethernet_etherType",
6043 "field_width": 2,
6044 "field_lsb": 0
6045 }
6046 ]
6047 },
6048 {
Brian O'Connora6862e02017-09-08 01:17:39 -07006049 "phv_number": 340,
Carmelo Casconef1d0a422017-09-07 17:21:46 +02006050 "records": [
6051 {
6052 "word_bit_width": 16,
6053 "position_offset": 0,
6054 "phv_lsb": 7,
6055 "is_pov": false,
6056 "field_msb": 8,
6057 "phv_msb": 15,
6058 "is_compiler_generated": false,
6059 "field_name": "packet_out_hdr_egress_port",
6060 "field_width": 2,
6061 "field_lsb": 0
Brian O'Connora6862e02017-09-08 01:17:39 -07006062 },
6063 {
6064 "word_bit_width": 16,
6065 "position_offset": 30,
6066 "phv_lsb": 7,
6067 "is_pov": false,
6068 "field_msb": 8,
6069 "phv_msb": 15,
6070 "is_compiler_generated": false,
6071 "field_name": "packet_in_hdr_ingress_port",
6072 "field_width": 2,
6073 "field_lsb": 0
Carmelo Casconef1d0a422017-09-07 17:21:46 +02006074 }
6075 ]
6076 }
6077 ],
6078 "stage_number": 3
6079 },
6080 {
6081 "ingress": [
6082 {
6083 "phv_number": 0,
6084 "records": [
6085 {
6086 "word_bit_width": 32,
6087 "position_offset": 0,
6088 "phv_lsb": 0,
6089 "is_pov": true,
6090 "pov_headers": [],
6091 "field_msb": 31,
6092 "phv_msb": 31,
6093 "is_compiler_generated": false,
6094 "field_name": "POV",
6095 "field_width": 0,
6096 "field_lsb": 0
6097 }
6098 ]
6099 },
6100 {
6101 "phv_number": 1,
6102 "records": [
6103 {
6104 "word_bit_width": 32,
Brian O'Connora6862e02017-09-08 01:17:39 -07006105 "position_offset": 19,
Carmelo Casconef1d0a422017-09-07 17:21:46 +02006106 "phv_lsb": 24,
6107 "is_pov": false,
6108 "field_msb": 7,
6109 "phv_msb": 31,
6110 "is_compiler_generated": false,
6111 "field_name": "ipv4_protocol",
6112 "field_width": 1,
6113 "field_lsb": 0
6114 },
6115 {
6116 "word_bit_width": 32,
6117 "position_offset": 10,
6118 "phv_lsb": 8,
6119 "is_pov": false,
6120 "field_msb": 15,
6121 "phv_msb": 23,
6122 "is_compiler_generated": false,
6123 "field_name": "ipv4_hdrChecksum",
6124 "field_width": 2,
6125 "field_lsb": 0
6126 },
6127 {
6128 "word_bit_width": 32,
Brian O'Connora6862e02017-09-08 01:17:39 -07006129 "position_offset": 13,
Carmelo Casconef1d0a422017-09-07 17:21:46 +02006130 "phv_lsb": 0,
6131 "is_pov": false,
6132 "field_msb": 31,
6133 "phv_msb": 7,
6134 "is_compiler_generated": false,
6135 "field_name": "ipv4_srcAddr",
6136 "field_width": 4,
6137 "field_lsb": 24
6138 }
6139 ]
6140 },
6141 {
6142 "phv_number": 2,
6143 "records": [
6144 {
6145 "word_bit_width": 32,
Brian O'Connora6862e02017-09-08 01:17:39 -07006146 "position_offset": 57,
Carmelo Casconef1d0a422017-09-07 17:21:46 +02006147 "phv_lsb": 0,
6148 "is_pov": false,
6149 "field_msb": 31,
6150 "phv_msb": 31,
6151 "is_compiler_generated": false,
6152 "field_name": "ipv4_dstAddr",
6153 "field_width": 4,
6154 "field_lsb": 0
6155 }
6156 ]
6157 },
6158 {
6159 "phv_number": 3,
6160 "records": [
6161 {
6162 "word_bit_width": 32,
Brian O'Connora6862e02017-09-08 01:17:39 -07006163 "position_offset": 22,
Carmelo Casconef1d0a422017-09-07 17:21:46 +02006164 "phv_lsb": 0,
6165 "is_pov": false,
6166 "field_msb": 39,
6167 "phv_msb": 31,
6168 "is_compiler_generated": false,
6169 "field_name": "ethernet_dstAddr",
6170 "field_width": 6,
6171 "field_lsb": 8
6172 }
6173 ]
6174 },
6175 {
6176 "phv_number": 4,
6177 "records": [
6178 {
6179 "word_bit_width": 32,
Brian O'Connora6862e02017-09-08 01:17:39 -07006180 "position_offset": 70,
Carmelo Casconef1d0a422017-09-07 17:21:46 +02006181 "phv_lsb": 0,
6182 "is_pov": false,
6183 "field_msb": 31,
6184 "phv_msb": 31,
6185 "is_compiler_generated": false,
6186 "field_name": "ethernet_srcAddr",
6187 "field_width": 6,
6188 "field_lsb": 0
6189 }
6190 ]
6191 },
6192 {
6193 "phv_number": 5,
6194 "records": [
6195 {
6196 "word_bit_width": 32,
Brian O'Connora6862e02017-09-08 01:17:39 -07006197 "position_offset": 66,
Carmelo Casconef1d0a422017-09-07 17:21:46 +02006198 "phv_lsb": 16,
6199 "is_pov": false,
6200 "field_msb": 15,
6201 "phv_msb": 31,
6202 "is_compiler_generated": false,
6203 "field_name": "udp_srcPort",
6204 "field_width": 2,
6205 "field_lsb": 0
6206 },
6207 {
6208 "word_bit_width": 32,
Brian O'Connora6862e02017-09-08 01:17:39 -07006209 "position_offset": 55,
Carmelo Casconef1d0a422017-09-07 17:21:46 +02006210 "phv_lsb": 0,
6211 "is_pov": false,
6212 "field_msb": 15,
6213 "phv_msb": 15,
6214 "is_compiler_generated": false,
6215 "field_name": "udp_dstPort",
6216 "field_width": 2,
6217 "field_lsb": 0
6218 }
6219 ]
6220 },
6221 {
6222 "phv_number": 64,
6223 "records": [
6224 {
6225 "word_bit_width": 8,
Brian O'Connora6862e02017-09-08 01:17:39 -07006226 "position_offset": 13,
Carmelo Casconef1d0a422017-09-07 17:21:46 +02006227 "phv_lsb": 0,
6228 "is_pov": false,
6229 "field_msb": 23,
6230 "phv_msb": 7,
6231 "is_compiler_generated": false,
6232 "field_name": "ipv4_srcAddr",
6233 "field_width": 4,
6234 "field_lsb": 16
6235 }
6236 ]
6237 },
6238 {
Brian O'Connora6862e02017-09-08 01:17:39 -07006239 "phv_number": 65,
Carmelo Casconef1d0a422017-09-07 17:21:46 +02006240 "records": [
6241 {
6242 "word_bit_width": 8,
Brian O'Connora6862e02017-09-08 01:17:39 -07006243 "position_offset": 22,
Carmelo Casconef1d0a422017-09-07 17:21:46 +02006244 "phv_lsb": 0,
6245 "is_pov": false,
6246 "field_msb": 47,
6247 "phv_msb": 7,
6248 "is_compiler_generated": false,
6249 "field_name": "ethernet_dstAddr",
6250 "field_width": 6,
6251 "field_lsb": 40
6252 }
6253 ]
6254 },
6255 {
Brian O'Connora6862e02017-09-08 01:17:39 -07006256 "phv_number": 66,
Carmelo Casconef1d0a422017-09-07 17:21:46 +02006257 "records": [
6258 {
6259 "word_bit_width": 8,
Brian O'Connora6862e02017-09-08 01:17:39 -07006260 "position_offset": 70,
Carmelo Casconef1d0a422017-09-07 17:21:46 +02006261 "phv_lsb": 0,
6262 "is_pov": false,
6263 "field_msb": 39,
6264 "phv_msb": 7,
6265 "is_compiler_generated": false,
6266 "field_name": "ethernet_srcAddr",
6267 "field_width": 6,
6268 "field_lsb": 32
6269 }
6270 ]
6271 },
6272 {
Brian O'Connora6862e02017-09-08 01:17:39 -07006273 "phv_number": 67,
Carmelo Casconef1d0a422017-09-07 17:21:46 +02006274 "records": [
6275 {
6276 "word_bit_width": 8,
6277 "position_offset": 0,
6278 "phv_lsb": 0,
6279 "is_pov": true,
6280 "pov_headers": [
6281 {
6282 "bit_index": 0,
Brian O'Connora6862e02017-09-08 01:17:39 -07006283 "position_offset": 80,
Carmelo Casconef1d0a422017-09-07 17:21:46 +02006284 "header_name": "packet_in_hdr",
6285 "hidden": false
6286 },
6287 {
6288 "bit_index": 1,
Brian O'Connora6862e02017-09-08 01:17:39 -07006289 "position_offset": 81,
Carmelo Casconef1d0a422017-09-07 17:21:46 +02006290 "header_name": "packet_out_hdr",
6291 "hidden": false
6292 },
6293 {
6294 "bit_index": 2,
Brian O'Connora6862e02017-09-08 01:17:39 -07006295 "position_offset": 82,
Carmelo Casconef1d0a422017-09-07 17:21:46 +02006296 "header_name": "ethernet",
6297 "hidden": false
6298 },
6299 {
6300 "bit_index": 3,
Brian O'Connora6862e02017-09-08 01:17:39 -07006301 "position_offset": 83,
Carmelo Casconef1d0a422017-09-07 17:21:46 +02006302 "header_name": "ipv4",
6303 "hidden": false
6304 },
6305 {
6306 "bit_index": 4,
Brian O'Connora6862e02017-09-08 01:17:39 -07006307 "position_offset": 84,
Carmelo Casconef1d0a422017-09-07 17:21:46 +02006308 "header_name": "tcp",
6309 "hidden": false
6310 },
6311 {
6312 "bit_index": 5,
Brian O'Connora6862e02017-09-08 01:17:39 -07006313 "position_offset": 85,
Carmelo Casconef1d0a422017-09-07 17:21:46 +02006314 "header_name": "udp",
6315 "hidden": false
6316 }
6317 ],
6318 "field_msb": 39,
6319 "phv_msb": 7,
6320 "is_compiler_generated": false,
6321 "field_name": "POV",
6322 "field_width": 0,
6323 "field_lsb": 32
6324 }
6325 ]
6326 },
6327 {
Brian O'Connora6862e02017-09-08 01:17:39 -07006328 "phv_number": 68,
Carmelo Casconef1d0a422017-09-07 17:21:46 +02006329 "records": [
6330 {
6331 "word_bit_width": 8,
Brian O'Connora6862e02017-09-08 01:17:39 -07006332 "position_offset": 51,
Carmelo Casconef1d0a422017-09-07 17:21:46 +02006333 "phv_lsb": 5,
6334 "is_pov": false,
6335 "field_msb": 2,
6336 "phv_msb": 7,
6337 "is_compiler_generated": false,
6338 "field_name": "ig_intr_md_for_tm_drop_ctl",
6339 "field_width": 1,
6340 "field_lsb": 0
6341 }
6342 ]
6343 },
6344 {
6345 "phv_number": 128,
6346 "records": [
6347 {
6348 "word_bit_width": 16,
Brian O'Connora6862e02017-09-08 01:17:39 -07006349 "position_offset": 32,
Carmelo Casconef1d0a422017-09-07 17:21:46 +02006350 "phv_lsb": 15,
6351 "is_pov": false,
6352 "field_msb": 0,
6353 "phv_msb": 15,
6354 "is_compiler_generated": false,
6355 "field_name": "ig_intr_md_resubmit_flag",
6356 "field_width": 1,
6357 "field_lsb": 0
6358 },
6359 {
6360 "word_bit_width": 16,
6361 "position_offset": 8,
6362 "phv_lsb": 0,
6363 "is_pov": false,
6364 "field_msb": 8,
6365 "phv_msb": 8,
6366 "is_compiler_generated": false,
6367 "field_name": "ig_intr_md_ingress_port",
6368 "field_width": 2,
6369 "field_lsb": 0
6370 }
6371 ]
6372 },
6373 {
6374 "phv_number": 129,
6375 "records": [
6376 {
6377 "word_bit_width": 16,
6378 "position_offset": 0,
6379 "phv_lsb": 7,
6380 "is_pov": false,
6381 "field_msb": 8,
6382 "phv_msb": 15,
6383 "is_compiler_generated": false,
6384 "field_name": "packet_out_hdr_egress_port",
6385 "field_width": 2,
6386 "field_lsb": 0
6387 },
6388 {
6389 "word_bit_width": 16,
Brian O'Connora6862e02017-09-08 01:17:39 -07006390 "position_offset": 33,
Carmelo Casconef1d0a422017-09-07 17:21:46 +02006391 "phv_lsb": 7,
6392 "is_pov": false,
6393 "field_msb": 8,
6394 "phv_msb": 15,
6395 "is_compiler_generated": false,
6396 "field_name": "packet_in_hdr_ingress_port",
6397 "field_width": 2,
6398 "field_lsb": 0
6399 }
6400 ]
6401 },
6402 {
6403 "phv_number": 130,
6404 "records": [
6405 {
6406 "word_bit_width": 16,
Brian O'Connora6862e02017-09-08 01:17:39 -07006407 "position_offset": 41,
Carmelo Casconef1d0a422017-09-07 17:21:46 +02006408 "phv_lsb": 0,
6409 "is_pov": false,
6410 "field_msb": 8,
6411 "phv_msb": 8,
6412 "is_compiler_generated": false,
6413 "field_name": "ig_intr_md_for_tm_ucast_egress_port",
6414 "field_width": 2,
6415 "field_lsb": 0
6416 }
6417 ]
6418 },
6419 {
6420 "phv_number": 131,
6421 "records": [
6422 {
6423 "word_bit_width": 16,
Brian O'Connora6862e02017-09-08 01:17:39 -07006424 "position_offset": 13,
Carmelo Casconef1d0a422017-09-07 17:21:46 +02006425 "phv_lsb": 0,
6426 "is_pov": false,
6427 "field_msb": 15,
6428 "phv_msb": 15,
6429 "is_compiler_generated": false,
6430 "field_name": "ipv4_srcAddr",
6431 "field_width": 4,
6432 "field_lsb": 0
6433 }
6434 ]
6435 },
6436 {
6437 "phv_number": 132,
6438 "records": [
6439 {
6440 "word_bit_width": 16,
Brian O'Connora6862e02017-09-08 01:17:39 -07006441 "position_offset": 22,
Carmelo Casconef1d0a422017-09-07 17:21:46 +02006442 "phv_lsb": 8,
6443 "is_pov": false,
6444 "field_msb": 7,
6445 "phv_msb": 15,
6446 "is_compiler_generated": false,
6447 "field_name": "ethernet_dstAddr",
6448 "field_width": 6,
6449 "field_lsb": 0
6450 },
6451 {
6452 "word_bit_width": 16,
Brian O'Connora6862e02017-09-08 01:17:39 -07006453 "position_offset": 70,
Carmelo Casconef1d0a422017-09-07 17:21:46 +02006454 "phv_lsb": 0,
6455 "is_pov": false,
6456 "field_msb": 47,
6457 "phv_msb": 7,
6458 "is_compiler_generated": false,
6459 "field_name": "ethernet_srcAddr",
6460 "field_width": 6,
6461 "field_lsb": 40
6462 }
6463 ]
6464 },
6465 {
6466 "phv_number": 133,
6467 "records": [
6468 {
6469 "word_bit_width": 16,
6470 "position_offset": 5,
6471 "phv_lsb": 0,
6472 "is_pov": false,
6473 "field_msb": 15,
6474 "phv_msb": 15,
6475 "is_compiler_generated": false,
6476 "field_name": "ethernet_etherType",
6477 "field_width": 2,
6478 "field_lsb": 0
6479 }
6480 ]
6481 },
6482 {
6483 "phv_number": 134,
6484 "records": [
6485 {
6486 "word_bit_width": 16,
Brian O'Connora6862e02017-09-08 01:17:39 -07006487 "position_offset": 20,
Carmelo Casconef1d0a422017-09-07 17:21:46 +02006488 "phv_lsb": 0,
6489 "is_pov": false,
6490 "field_msb": 15,
6491 "phv_msb": 15,
6492 "is_compiler_generated": false,
6493 "field_name": "ecmp_metadata_groupId",
6494 "field_width": 2,
6495 "field_lsb": 0
6496 }
6497 ]
6498 },
6499 {
6500 "phv_number": 135,
6501 "records": [
6502 {
6503 "word_bit_width": 16,
Brian O'Connora6862e02017-09-08 01:17:39 -07006504 "position_offset": 61,
Carmelo Casconef1d0a422017-09-07 17:21:46 +02006505 "phv_lsb": 0,
6506 "is_pov": false,
6507 "field_msb": 15,
6508 "phv_msb": 15,
6509 "is_compiler_generated": false,
6510 "field_name": "ecmp_metadata_selector",
6511 "field_width": 2,
6512 "field_lsb": 0
6513 }
6514 ]
6515 },
6516 {
6517 "phv_number": 256,
6518 "records": [
6519 {
6520 "word_bit_width": 32,
Brian O'Connora6862e02017-09-08 01:17:39 -07006521 "position_offset": 49,
Carmelo Casconef1d0a422017-09-07 17:21:46 +02006522 "phv_lsb": 24,
6523 "is_pov": false,
6524 "field_msb": 7,
6525 "phv_msb": 31,
6526 "is_compiler_generated": false,
6527 "field_name": "ipv4_identification",
6528 "field_width": 2,
6529 "field_lsb": 0
6530 },
6531 {
6532 "word_bit_width": 32,
6533 "position_offset": 7,
6534 "phv_lsb": 21,
6535 "is_pov": false,
6536 "field_msb": 2,
6537 "phv_msb": 23,
6538 "is_compiler_generated": false,
6539 "field_name": "ipv4_flags",
6540 "field_width": 1,
6541 "field_lsb": 0
6542 },
6543 {
6544 "word_bit_width": 32,
Brian O'Connora6862e02017-09-08 01:17:39 -07006545 "position_offset": 44,
Carmelo Casconef1d0a422017-09-07 17:21:46 +02006546 "phv_lsb": 8,
6547 "is_pov": false,
6548 "field_msb": 12,
6549 "phv_msb": 20,
6550 "is_compiler_generated": false,
6551 "field_name": "ipv4_fragOffset",
6552 "field_width": 2,
6553 "field_lsb": 0
6554 },
6555 {
6556 "word_bit_width": 32,
Brian O'Connora6862e02017-09-08 01:17:39 -07006557 "position_offset": 54,
Carmelo Casconef1d0a422017-09-07 17:21:46 +02006558 "phv_lsb": 0,
6559 "is_pov": false,
6560 "field_msb": 7,
6561 "phv_msb": 7,
6562 "is_compiler_generated": false,
6563 "field_name": "ipv4_ttl",
6564 "field_width": 1,
6565 "field_lsb": 0
6566 }
6567 ]
6568 },
6569 {
6570 "phv_number": 257,
6571 "records": [
6572 {
6573 "word_bit_width": 32,
Brian O'Connora6862e02017-09-08 01:17:39 -07006574 "position_offset": 43,
Carmelo Casconef1d0a422017-09-07 17:21:46 +02006575 "phv_lsb": 28,
6576 "is_pov": false,
6577 "field_msb": 3,
6578 "phv_msb": 31,
6579 "is_compiler_generated": false,
6580 "field_name": "tcp_dataOffset",
6581 "field_width": 1,
6582 "field_lsb": 0
6583 },
6584 {
6585 "word_bit_width": 32,
Brian O'Connora6862e02017-09-08 01:17:39 -07006586 "position_offset": 48,
Carmelo Casconef1d0a422017-09-07 17:21:46 +02006587 "phv_lsb": 25,
6588 "is_pov": false,
6589 "field_msb": 2,
6590 "phv_msb": 27,
6591 "is_compiler_generated": false,
6592 "field_name": "tcp_res",
6593 "field_width": 1,
6594 "field_lsb": 0
6595 },
6596 {
6597 "word_bit_width": 32,
Brian O'Connora6862e02017-09-08 01:17:39 -07006598 "position_offset": 12,
Carmelo Casconef1d0a422017-09-07 17:21:46 +02006599 "phv_lsb": 22,
6600 "is_pov": false,
6601 "field_msb": 2,
6602 "phv_msb": 24,
6603 "is_compiler_generated": false,
6604 "field_name": "tcp_ecn",
6605 "field_width": 1,
6606 "field_lsb": 0
6607 },
6608 {
6609 "word_bit_width": 32,
6610 "position_offset": 37,
6611 "phv_lsb": 16,
6612 "is_pov": false,
6613 "field_msb": 5,
6614 "phv_msb": 21,
6615 "is_compiler_generated": false,
6616 "field_name": "tcp_ctrl",
6617 "field_width": 1,
6618 "field_lsb": 0
6619 },
6620 {
6621 "word_bit_width": 32,
Brian O'Connora6862e02017-09-08 01:17:39 -07006622 "position_offset": 46,
Carmelo Casconef1d0a422017-09-07 17:21:46 +02006623 "phv_lsb": 0,
6624 "is_pov": false,
6625 "field_msb": 15,
6626 "phv_msb": 15,
6627 "is_compiler_generated": false,
6628 "field_name": "tcp_window",
6629 "field_width": 2,
6630 "field_lsb": 0
6631 }
6632 ]
6633 },
6634 {
Brian O'Connora6862e02017-09-08 01:17:39 -07006635 "phv_number": 258,
Carmelo Casconef1d0a422017-09-07 17:21:46 +02006636 "records": [
6637 {
6638 "word_bit_width": 32,
6639 "position_offset": 2,
6640 "phv_lsb": 16,
6641 "is_pov": false,
6642 "field_msb": 15,
6643 "phv_msb": 31,
6644 "is_compiler_generated": false,
6645 "field_name": "tcp_checksum",
6646 "field_width": 2,
6647 "field_lsb": 0
6648 },
6649 {
6650 "word_bit_width": 32,
Brian O'Connora6862e02017-09-08 01:17:39 -07006651 "position_offset": 52,
Carmelo Casconef1d0a422017-09-07 17:21:46 +02006652 "phv_lsb": 0,
6653 "is_pov": false,
6654 "field_msb": 15,
6655 "phv_msb": 15,
6656 "is_compiler_generated": false,
6657 "field_name": "tcp_urgentPtr",
6658 "field_width": 2,
6659 "field_lsb": 0
6660 }
6661 ]
6662 },
6663 {
Brian O'Connora6862e02017-09-08 01:17:39 -07006664 "phv_number": 288,
Carmelo Casconef1d0a422017-09-07 17:21:46 +02006665 "records": [
6666 {
6667 "word_bit_width": 8,
Brian O'Connora6862e02017-09-08 01:17:39 -07006668 "position_offset": 65,
Carmelo Casconef1d0a422017-09-07 17:21:46 +02006669 "phv_lsb": 4,
6670 "is_pov": false,
6671 "field_msb": 3,
6672 "phv_msb": 7,
6673 "is_compiler_generated": false,
6674 "field_name": "ipv4_version",
6675 "field_width": 1,
6676 "field_lsb": 0
6677 },
6678 {
6679 "word_bit_width": 8,
6680 "position_offset": 40,
6681 "phv_lsb": 0,
6682 "is_pov": false,
6683 "field_msb": 3,
6684 "phv_msb": 3,
6685 "is_compiler_generated": false,
6686 "field_name": "ipv4_ihl",
6687 "field_width": 1,
6688 "field_lsb": 0
6689 }
6690 ]
6691 },
6692 {
Brian O'Connora6862e02017-09-08 01:17:39 -07006693 "phv_number": 289,
6694 "records": [
6695 {
6696 "word_bit_width": 8,
6697 "position_offset": 38,
6698 "phv_lsb": 0,
6699 "is_pov": false,
6700 "field_msb": 15,
6701 "phv_msb": 7,
6702 "is_compiler_generated": false,
6703 "field_name": "tcp_srcPort",
6704 "field_width": 2,
6705 "field_lsb": 8
6706 },
6707 {
6708 "word_bit_width": 8,
6709 "position_offset": 17,
6710 "phv_lsb": 0,
6711 "is_pov": false,
6712 "field_msb": 15,
6713 "phv_msb": 7,
6714 "is_compiler_generated": false,
6715 "field_name": "udp_length_",
6716 "field_width": 2,
6717 "field_lsb": 8
6718 }
6719 ]
6720 },
6721 {
6722 "phv_number": 290,
6723 "records": [
6724 {
6725 "word_bit_width": 8,
6726 "position_offset": 38,
6727 "phv_lsb": 0,
6728 "is_pov": false,
6729 "field_msb": 7,
6730 "phv_msb": 7,
6731 "is_compiler_generated": false,
6732 "field_name": "tcp_srcPort",
6733 "field_width": 2,
6734 "field_lsb": 0
6735 },
6736 {
6737 "word_bit_width": 8,
6738 "position_offset": 17,
6739 "phv_lsb": 0,
6740 "is_pov": false,
6741 "field_msb": 7,
6742 "phv_msb": 7,
6743 "is_compiler_generated": false,
6744 "field_name": "udp_length_",
6745 "field_width": 2,
6746 "field_lsb": 0
6747 }
6748 ]
6749 },
6750 {
6751 "phv_number": 291,
6752 "records": [
6753 {
6754 "word_bit_width": 8,
6755 "position_offset": 35,
6756 "phv_lsb": 0,
6757 "is_pov": false,
6758 "field_msb": 15,
6759 "phv_msb": 7,
6760 "is_compiler_generated": false,
6761 "field_name": "tcp_dstPort",
6762 "field_width": 2,
6763 "field_lsb": 8
6764 }
6765 ]
6766 },
6767 {
6768 "phv_number": 292,
6769 "records": [
6770 {
6771 "word_bit_width": 8,
6772 "position_offset": 35,
6773 "phv_lsb": 0,
6774 "is_pov": false,
6775 "field_msb": 7,
6776 "phv_msb": 7,
6777 "is_compiler_generated": false,
6778 "field_name": "tcp_dstPort",
6779 "field_width": 2,
6780 "field_lsb": 0
6781 }
6782 ]
6783 },
6784 {
6785 "phv_number": 320,
6786 "records": [
6787 {
6788 "word_bit_width": 16,
6789 "position_offset": 4,
6790 "phv_lsb": 8,
6791 "is_pov": false,
6792 "field_msb": 7,
6793 "phv_msb": 15,
6794 "is_compiler_generated": false,
6795 "field_name": "ipv4_diffserv",
6796 "field_width": 1,
6797 "field_lsb": 0
6798 },
6799 {
6800 "word_bit_width": 16,
6801 "position_offset": 63,
6802 "phv_lsb": 0,
6803 "is_pov": false,
6804 "field_msb": 15,
6805 "phv_msb": 7,
6806 "is_compiler_generated": false,
6807 "field_name": "ipv4_totalLen",
6808 "field_width": 2,
6809 "field_lsb": 8
6810 }
6811 ]
6812 },
6813 {
6814 "phv_number": 321,
6815 "records": [
6816 {
6817 "word_bit_width": 16,
6818 "position_offset": 63,
6819 "phv_lsb": 8,
6820 "is_pov": false,
6821 "field_msb": 7,
6822 "phv_msb": 15,
6823 "is_compiler_generated": false,
6824 "field_name": "ipv4_totalLen",
6825 "field_width": 2,
6826 "field_lsb": 0
6827 },
6828 {
6829 "word_bit_width": 16,
6830 "position_offset": 49,
6831 "phv_lsb": 0,
6832 "is_pov": false,
6833 "field_msb": 15,
6834 "phv_msb": 7,
6835 "is_compiler_generated": false,
6836 "field_name": "ipv4_identification",
6837 "field_width": 2,
6838 "field_lsb": 8
6839 }
6840 ]
6841 },
6842 {
6843 "phv_number": 322,
6844 "records": [
6845 {
6846 "word_bit_width": 16,
6847 "position_offset": 76,
6848 "phv_lsb": 0,
6849 "is_pov": false,
6850 "field_msb": 31,
6851 "phv_msb": 15,
6852 "is_compiler_generated": false,
6853 "field_name": "tcp_seqNo",
6854 "field_width": 4,
6855 "field_lsb": 16
6856 },
6857 {
6858 "word_bit_width": 16,
6859 "position_offset": 68,
6860 "phv_lsb": 0,
6861 "is_pov": false,
6862 "field_msb": 15,
6863 "phv_msb": 15,
6864 "is_compiler_generated": false,
6865 "field_name": "udp_checksum",
6866 "field_width": 2,
6867 "field_lsb": 0
6868 }
6869 ]
6870 },
6871 {
6872 "phv_number": 323,
6873 "records": [
6874 {
6875 "word_bit_width": 16,
6876 "position_offset": 76,
6877 "phv_lsb": 0,
6878 "is_pov": false,
6879 "field_msb": 15,
6880 "phv_msb": 15,
6881 "is_compiler_generated": false,
6882 "field_name": "tcp_seqNo",
6883 "field_width": 4,
6884 "field_lsb": 0
6885 }
6886 ]
6887 },
6888 {
6889 "phv_number": 324,
6890 "records": [
6891 {
6892 "word_bit_width": 16,
6893 "position_offset": 28,
6894 "phv_lsb": 0,
6895 "is_pov": false,
6896 "field_msb": 31,
6897 "phv_msb": 15,
6898 "is_compiler_generated": false,
6899 "field_name": "tcp_ackNo",
6900 "field_width": 4,
6901 "field_lsb": 16
6902 }
6903 ]
6904 },
6905 {
6906 "phv_number": 325,
6907 "records": [
6908 {
6909 "word_bit_width": 16,
6910 "position_offset": 28,
6911 "phv_lsb": 0,
6912 "is_pov": false,
6913 "field_msb": 15,
6914 "phv_msb": 15,
6915 "is_compiler_generated": false,
6916 "field_name": "tcp_ackNo",
6917 "field_width": 4,
6918 "field_lsb": 0
6919 }
6920 ]
6921 }
6922 ],
6923 "egress": [
6924 {
6925 "phv_number": 80,
6926 "records": [
6927 {
6928 "word_bit_width": 8,
6929 "position_offset": 7,
6930 "phv_lsb": 0,
6931 "is_pov": false,
6932 "field_msb": 2,
6933 "phv_msb": 2,
6934 "is_compiler_generated": false,
6935 "field_name": "eg_intr_md_egress_cos",
6936 "field_width": 1,
6937 "field_lsb": 0
6938 }
6939 ]
6940 },
6941 {
6942 "phv_number": 81,
6943 "records": [
6944 {
6945 "word_bit_width": 8,
6946 "position_offset": 0,
6947 "phv_lsb": 0,
6948 "is_pov": true,
6949 "pov_headers": [
6950 {
6951 "bit_index": 0,
6952 "position_offset": 73,
6953 "header_name": "packet_in_hdr",
6954 "hidden": false
6955 },
6956 {
6957 "bit_index": 1,
6958 "position_offset": 74,
6959 "header_name": "packet_out_hdr",
6960 "hidden": false
6961 },
6962 {
6963 "bit_index": 2,
6964 "position_offset": 75,
6965 "header_name": "ethernet",
6966 "hidden": false
6967 },
6968 {
6969 "bit_index": 3,
6970 "position_offset": 76,
6971 "header_name": "ipv4",
6972 "hidden": false
6973 },
6974 {
6975 "bit_index": 4,
6976 "position_offset": 77,
6977 "header_name": "tcp",
6978 "hidden": false
6979 },
6980 {
6981 "bit_index": 5,
6982 "position_offset": 78,
6983 "header_name": "udp",
6984 "hidden": false
6985 }
6986 ],
6987 "field_msb": 7,
6988 "phv_msb": 7,
6989 "is_compiler_generated": false,
6990 "field_name": "POV",
6991 "field_width": 0,
6992 "field_lsb": 0
6993 }
6994 ]
6995 },
6996 {
6997 "phv_number": 144,
6998 "records": [
6999 {
7000 "word_bit_width": 16,
7001 "position_offset": 61,
7002 "phv_lsb": 0,
7003 "is_pov": false,
7004 "field_msb": 8,
7005 "phv_msb": 8,
7006 "is_compiler_generated": false,
7007 "field_name": "eg_intr_md_egress_port",
7008 "field_width": 2,
7009 "field_lsb": 0
7010 }
7011 ]
7012 },
7013 {
7014 "phv_number": 264,
7015 "records": [
7016 {
7017 "word_bit_width": 32,
7018 "position_offset": 47,
7019 "phv_lsb": 24,
7020 "is_pov": false,
7021 "field_msb": 7,
7022 "phv_msb": 31,
7023 "is_compiler_generated": false,
7024 "field_name": "ipv4_ttl",
7025 "field_width": 1,
7026 "field_lsb": 0
7027 },
7028 {
7029 "word_bit_width": 32,
7030 "position_offset": 18,
7031 "phv_lsb": 16,
7032 "is_pov": false,
7033 "field_msb": 7,
7034 "phv_msb": 23,
7035 "is_compiler_generated": false,
7036 "field_name": "ipv4_protocol",
7037 "field_width": 1,
7038 "field_lsb": 0
7039 },
7040 {
7041 "word_bit_width": 32,
7042 "position_offset": 9,
7043 "phv_lsb": 0,
7044 "is_pov": false,
7045 "field_msb": 15,
7046 "phv_msb": 15,
7047 "is_compiler_generated": false,
7048 "field_name": "ipv4_hdrChecksum",
7049 "field_width": 2,
7050 "field_lsb": 0
7051 }
7052 ]
7053 },
7054 {
7055 "phv_number": 265,
7056 "records": [
7057 {
7058 "word_bit_width": 32,
7059 "position_offset": 12,
7060 "phv_lsb": 0,
7061 "is_pov": false,
7062 "field_msb": 31,
7063 "phv_msb": 31,
7064 "is_compiler_generated": false,
7065 "field_name": "ipv4_srcAddr",
7066 "field_width": 4,
7067 "field_lsb": 0
7068 }
7069 ]
7070 },
7071 {
7072 "phv_number": 266,
7073 "records": [
7074 {
7075 "word_bit_width": 32,
7076 "position_offset": 50,
7077 "phv_lsb": 0,
7078 "is_pov": false,
7079 "field_msb": 31,
7080 "phv_msb": 31,
7081 "is_compiler_generated": false,
7082 "field_name": "ipv4_dstAddr",
7083 "field_width": 4,
7084 "field_lsb": 0
7085 }
7086 ]
7087 },
7088 {
7089 "phv_number": 267,
7090 "records": [
7091 {
7092 "word_bit_width": 32,
7093 "position_offset": 25,
7094 "phv_lsb": 0,
7095 "is_pov": false,
7096 "field_msb": 31,
7097 "phv_msb": 31,
7098 "is_compiler_generated": false,
7099 "field_name": "tcp_ackNo",
7100 "field_width": 4,
7101 "field_lsb": 0
7102 },
7103 {
7104 "word_bit_width": 32,
7105 "position_offset": 16,
7106 "phv_lsb": 16,
7107 "is_pov": false,
7108 "field_msb": 15,
7109 "phv_msb": 31,
7110 "is_compiler_generated": false,
7111 "field_name": "udp_length_",
7112 "field_width": 2,
7113 "field_lsb": 0
7114 },
7115 {
7116 "word_bit_width": 32,
7117 "position_offset": 59,
7118 "phv_lsb": 0,
7119 "is_pov": false,
7120 "field_msb": 15,
7121 "phv_msb": 15,
7122 "is_compiler_generated": false,
7123 "field_name": "udp_checksum",
7124 "field_width": 2,
7125 "field_lsb": 0
7126 }
7127 ]
7128 },
7129 {
7130 "phv_number": 268,
7131 "records": [
7132 {
7133 "word_bit_width": 32,
7134 "position_offset": 38,
7135 "phv_lsb": 28,
7136 "is_pov": false,
7137 "field_msb": 3,
7138 "phv_msb": 31,
7139 "is_compiler_generated": false,
7140 "field_name": "tcp_dataOffset",
7141 "field_width": 1,
7142 "field_lsb": 0
7143 },
7144 {
7145 "word_bit_width": 32,
7146 "position_offset": 58,
7147 "phv_lsb": 25,
7148 "is_pov": false,
7149 "field_msb": 2,
7150 "phv_msb": 27,
7151 "is_compiler_generated": false,
7152 "field_name": "tcp_res",
7153 "field_width": 1,
7154 "field_lsb": 0
7155 },
7156 {
7157 "word_bit_width": 32,
7158 "position_offset": 11,
7159 "phv_lsb": 22,
7160 "is_pov": false,
7161 "field_msb": 2,
7162 "phv_msb": 24,
7163 "is_compiler_generated": false,
7164 "field_name": "tcp_ecn",
7165 "field_width": 1,
7166 "field_lsb": 0
7167 },
7168 {
7169 "word_bit_width": 32,
7170 "position_offset": 34,
7171 "phv_lsb": 16,
7172 "is_pov": false,
7173 "field_msb": 5,
7174 "phv_msb": 21,
7175 "is_compiler_generated": false,
7176 "field_name": "tcp_ctrl",
7177 "field_width": 1,
7178 "field_lsb": 0
7179 },
7180 {
7181 "word_bit_width": 32,
7182 "position_offset": 41,
7183 "phv_lsb": 0,
7184 "is_pov": false,
7185 "field_msb": 15,
7186 "phv_msb": 15,
7187 "is_compiler_generated": false,
7188 "field_name": "tcp_window",
7189 "field_width": 2,
7190 "field_lsb": 0
7191 }
7192 ]
7193 },
7194 {
7195 "phv_number": 269,
7196 "records": [
7197 {
7198 "word_bit_width": 32,
7199 "position_offset": 2,
7200 "phv_lsb": 16,
7201 "is_pov": false,
7202 "field_msb": 15,
7203 "phv_msb": 31,
7204 "is_compiler_generated": false,
7205 "field_name": "tcp_checksum",
7206 "field_width": 2,
7207 "field_lsb": 0
7208 },
7209 {
7210 "word_bit_width": 32,
7211 "position_offset": 45,
7212 "phv_lsb": 0,
7213 "is_pov": false,
7214 "field_msb": 15,
7215 "phv_msb": 15,
7216 "is_compiler_generated": false,
7217 "field_name": "tcp_urgentPtr",
7218 "field_width": 2,
7219 "field_lsb": 0
7220 }
7221 ]
7222 },
7223 {
7224 "phv_number": 270,
7225 "records": [
7226 {
7227 "word_bit_width": 32,
7228 "position_offset": 19,
7229 "phv_lsb": 0,
7230 "is_pov": false,
7231 "field_msb": 39,
7232 "phv_msb": 31,
7233 "is_compiler_generated": false,
7234 "field_name": "ethernet_dstAddr",
7235 "field_width": 6,
7236 "field_lsb": 8
7237 }
7238 ]
7239 },
7240 {
7241 "phv_number": 271,
7242 "records": [
7243 {
7244 "word_bit_width": 32,
7245 "position_offset": 63,
7246 "phv_lsb": 0,
7247 "is_pov": false,
7248 "field_msb": 31,
7249 "phv_msb": 31,
7250 "is_compiler_generated": false,
7251 "field_name": "ethernet_srcAddr",
7252 "field_width": 6,
7253 "field_lsb": 0
7254 }
7255 ]
7256 },
7257 {
7258 "phv_number": 296,
7259 "records": [
7260 {
7261 "word_bit_width": 8,
7262 "position_offset": 29,
7263 "phv_lsb": 4,
7264 "is_pov": false,
7265 "field_msb": 3,
7266 "phv_msb": 7,
7267 "is_compiler_generated": false,
7268 "field_name": "ipv4_version",
7269 "field_width": 1,
7270 "field_lsb": 0
7271 },
7272 {
7273 "word_bit_width": 8,
7274 "position_offset": 37,
7275 "phv_lsb": 0,
7276 "is_pov": false,
7277 "field_msb": 3,
7278 "phv_msb": 3,
7279 "is_compiler_generated": false,
7280 "field_name": "ipv4_ihl",
7281 "field_width": 1,
7282 "field_lsb": 0
7283 }
7284 ]
7285 },
7286 {
7287 "phv_number": 297,
Carmelo Casconef1d0a422017-09-07 17:21:46 +02007288 "records": [
7289 {
7290 "word_bit_width": 8,
7291 "position_offset": 4,
7292 "phv_lsb": 0,
7293 "is_pov": false,
7294 "field_msb": 7,
7295 "phv_msb": 7,
7296 "is_compiler_generated": false,
7297 "field_name": "ipv4_diffserv",
7298 "field_width": 1,
7299 "field_lsb": 0
7300 }
7301 ]
7302 },
7303 {
Brian O'Connora6862e02017-09-08 01:17:39 -07007304 "phv_number": 298,
Carmelo Casconef1d0a422017-09-07 17:21:46 +02007305 "records": [
7306 {
7307 "word_bit_width": 8,
Brian O'Connora6862e02017-09-08 01:17:39 -07007308 "position_offset": 35,
Carmelo Casconef1d0a422017-09-07 17:21:46 +02007309 "phv_lsb": 0,
7310 "is_pov": false,
7311 "field_msb": 15,
7312 "phv_msb": 7,
7313 "is_compiler_generated": false,
7314 "field_name": "tcp_srcPort",
7315 "field_width": 2,
7316 "field_lsb": 8
7317 },
7318 {
7319 "word_bit_width": 8,
Brian O'Connora6862e02017-09-08 01:17:39 -07007320 "position_offset": 56,
Carmelo Casconef1d0a422017-09-07 17:21:46 +02007321 "phv_lsb": 0,
7322 "is_pov": false,
7323 "field_msb": 15,
7324 "phv_msb": 7,
7325 "is_compiler_generated": false,
7326 "field_name": "udp_srcPort",
7327 "field_width": 2,
7328 "field_lsb": 8
7329 }
7330 ]
7331 },
7332 {
Brian O'Connora6862e02017-09-08 01:17:39 -07007333 "phv_number": 299,
Carmelo Casconef1d0a422017-09-07 17:21:46 +02007334 "records": [
7335 {
7336 "word_bit_width": 8,
Brian O'Connora6862e02017-09-08 01:17:39 -07007337 "position_offset": 35,
Carmelo Casconef1d0a422017-09-07 17:21:46 +02007338 "phv_lsb": 0,
7339 "is_pov": false,
7340 "field_msb": 7,
7341 "phv_msb": 7,
7342 "is_compiler_generated": false,
7343 "field_name": "tcp_srcPort",
7344 "field_width": 2,
7345 "field_lsb": 0
7346 },
7347 {
7348 "word_bit_width": 8,
Brian O'Connora6862e02017-09-08 01:17:39 -07007349 "position_offset": 56,
Carmelo Casconef1d0a422017-09-07 17:21:46 +02007350 "phv_lsb": 0,
7351 "is_pov": false,
7352 "field_msb": 7,
7353 "phv_msb": 7,
7354 "is_compiler_generated": false,
7355 "field_name": "udp_srcPort",
7356 "field_width": 2,
7357 "field_lsb": 0
7358 }
7359 ]
7360 },
7361 {
Brian O'Connora6862e02017-09-08 01:17:39 -07007362 "phv_number": 300,
Carmelo Casconef1d0a422017-09-07 17:21:46 +02007363 "records": [
7364 {
7365 "word_bit_width": 8,
Brian O'Connora6862e02017-09-08 01:17:39 -07007366 "position_offset": 19,
Carmelo Casconef1d0a422017-09-07 17:21:46 +02007367 "phv_lsb": 0,
7368 "is_pov": false,
7369 "field_msb": 47,
7370 "phv_msb": 7,
7371 "is_compiler_generated": false,
7372 "field_name": "ethernet_dstAddr",
7373 "field_width": 6,
7374 "field_lsb": 40
7375 }
7376 ]
7377 },
7378 {
Brian O'Connora6862e02017-09-08 01:17:39 -07007379 "phv_number": 301,
Carmelo Casconef1d0a422017-09-07 17:21:46 +02007380 "records": [
7381 {
7382 "word_bit_width": 8,
Brian O'Connora6862e02017-09-08 01:17:39 -07007383 "position_offset": 63,
Carmelo Casconef1d0a422017-09-07 17:21:46 +02007384 "phv_lsb": 0,
7385 "is_pov": false,
7386 "field_msb": 39,
7387 "phv_msb": 7,
7388 "is_compiler_generated": false,
7389 "field_name": "ethernet_srcAddr",
7390 "field_width": 6,
7391 "field_lsb": 32
7392 }
7393 ]
7394 },
7395 {
Brian O'Connora6862e02017-09-08 01:17:39 -07007396 "phv_number": 332,
Carmelo Casconef1d0a422017-09-07 17:21:46 +02007397 "records": [
7398 {
7399 "word_bit_width": 16,
Brian O'Connora6862e02017-09-08 01:17:39 -07007400 "position_offset": 54,
Carmelo Casconef1d0a422017-09-07 17:21:46 +02007401 "phv_lsb": 0,
7402 "is_pov": false,
7403 "field_msb": 15,
7404 "phv_msb": 15,
7405 "is_compiler_generated": false,
7406 "field_name": "ipv4_totalLen",
7407 "field_width": 2,
7408 "field_lsb": 0
7409 }
7410 ]
7411 },
7412 {
Brian O'Connora6862e02017-09-08 01:17:39 -07007413 "phv_number": 333,
Carmelo Casconef1d0a422017-09-07 17:21:46 +02007414 "records": [
7415 {
7416 "word_bit_width": 16,
Brian O'Connora6862e02017-09-08 01:17:39 -07007417 "position_offset": 43,
Carmelo Casconef1d0a422017-09-07 17:21:46 +02007418 "phv_lsb": 0,
7419 "is_pov": false,
7420 "field_msb": 15,
7421 "phv_msb": 15,
7422 "is_compiler_generated": false,
7423 "field_name": "ipv4_identification",
7424 "field_width": 2,
7425 "field_lsb": 0
7426 }
7427 ]
7428 },
7429 {
Brian O'Connora6862e02017-09-08 01:17:39 -07007430 "phv_number": 334,
Carmelo Casconef1d0a422017-09-07 17:21:46 +02007431 "records": [
7432 {
7433 "word_bit_width": 16,
7434 "position_offset": 8,
7435 "phv_lsb": 13,
7436 "is_pov": false,
7437 "field_msb": 2,
7438 "phv_msb": 15,
7439 "is_compiler_generated": false,
7440 "field_name": "ipv4_flags",
7441 "field_width": 1,
7442 "field_lsb": 0
7443 },
7444 {
7445 "word_bit_width": 16,
7446 "position_offset": 5,
7447 "phv_lsb": 0,
7448 "is_pov": false,
7449 "field_msb": 12,
7450 "phv_msb": 12,
7451 "is_compiler_generated": false,
7452 "field_name": "ipv4_fragOffset",
7453 "field_width": 2,
7454 "field_lsb": 0
7455 }
7456 ]
7457 },
7458 {
Brian O'Connora6862e02017-09-08 01:17:39 -07007459 "phv_number": 335,
Carmelo Casconef1d0a422017-09-07 17:21:46 +02007460 "records": [
7461 {
7462 "word_bit_width": 16,
Brian O'Connora6862e02017-09-08 01:17:39 -07007463 "position_offset": 32,
Carmelo Casconef1d0a422017-09-07 17:21:46 +02007464 "phv_lsb": 0,
7465 "is_pov": false,
7466 "field_msb": 15,
7467 "phv_msb": 15,
7468 "is_compiler_generated": false,
7469 "field_name": "tcp_dstPort",
7470 "field_width": 2,
7471 "field_lsb": 0
Brian O'Connora6862e02017-09-08 01:17:39 -07007472 }
7473 ]
7474 },
7475 {
7476 "phv_number": 336,
7477 "records": [
7478 {
7479 "word_bit_width": 16,
7480 "position_offset": 69,
7481 "phv_lsb": 0,
7482 "is_pov": false,
7483 "field_msb": 31,
7484 "phv_msb": 15,
7485 "is_compiler_generated": false,
7486 "field_name": "tcp_seqNo",
7487 "field_width": 4,
7488 "field_lsb": 16
Carmelo Casconef1d0a422017-09-07 17:21:46 +02007489 },
7490 {
7491 "word_bit_width": 16,
Brian O'Connora6862e02017-09-08 01:17:39 -07007492 "position_offset": 48,
Carmelo Casconef1d0a422017-09-07 17:21:46 +02007493 "phv_lsb": 0,
7494 "is_pov": false,
7495 "field_msb": 15,
7496 "phv_msb": 15,
7497 "is_compiler_generated": false,
7498 "field_name": "udp_dstPort",
7499 "field_width": 2,
7500 "field_lsb": 0
7501 }
7502 ]
7503 },
7504 {
Brian O'Connora6862e02017-09-08 01:17:39 -07007505 "phv_number": 337,
Carmelo Casconef1d0a422017-09-07 17:21:46 +02007506 "records": [
7507 {
7508 "word_bit_width": 16,
Brian O'Connora6862e02017-09-08 01:17:39 -07007509 "position_offset": 69,
Carmelo Casconef1d0a422017-09-07 17:21:46 +02007510 "phv_lsb": 0,
7511 "is_pov": false,
7512 "field_msb": 15,
7513 "phv_msb": 15,
7514 "is_compiler_generated": false,
7515 "field_name": "tcp_seqNo",
7516 "field_width": 4,
7517 "field_lsb": 0
7518 }
7519 ]
7520 },
7521 {
Brian O'Connora6862e02017-09-08 01:17:39 -07007522 "phv_number": 338,
Carmelo Casconef1d0a422017-09-07 17:21:46 +02007523 "records": [
7524 {
7525 "word_bit_width": 16,
Brian O'Connora6862e02017-09-08 01:17:39 -07007526 "position_offset": 19,
Carmelo Casconef1d0a422017-09-07 17:21:46 +02007527 "phv_lsb": 8,
7528 "is_pov": false,
7529 "field_msb": 7,
7530 "phv_msb": 15,
7531 "is_compiler_generated": false,
7532 "field_name": "ethernet_dstAddr",
7533 "field_width": 6,
7534 "field_lsb": 0
7535 },
7536 {
7537 "word_bit_width": 16,
Brian O'Connora6862e02017-09-08 01:17:39 -07007538 "position_offset": 63,
Carmelo Casconef1d0a422017-09-07 17:21:46 +02007539 "phv_lsb": 0,
7540 "is_pov": false,
7541 "field_msb": 47,
7542 "phv_msb": 7,
7543 "is_compiler_generated": false,
7544 "field_name": "ethernet_srcAddr",
7545 "field_width": 6,
7546 "field_lsb": 40
7547 }
7548 ]
7549 },
7550 {
Brian O'Connora6862e02017-09-08 01:17:39 -07007551 "phv_number": 339,
Carmelo Casconef1d0a422017-09-07 17:21:46 +02007552 "records": [
7553 {
7554 "word_bit_width": 16,
Brian O'Connora6862e02017-09-08 01:17:39 -07007555 "position_offset": 39,
Carmelo Casconef1d0a422017-09-07 17:21:46 +02007556 "phv_lsb": 0,
7557 "is_pov": false,
7558 "field_msb": 15,
7559 "phv_msb": 15,
7560 "is_compiler_generated": false,
7561 "field_name": "ethernet_etherType",
7562 "field_width": 2,
7563 "field_lsb": 0
7564 }
7565 ]
7566 },
7567 {
Brian O'Connora6862e02017-09-08 01:17:39 -07007568 "phv_number": 340,
Carmelo Casconef1d0a422017-09-07 17:21:46 +02007569 "records": [
7570 {
7571 "word_bit_width": 16,
7572 "position_offset": 0,
7573 "phv_lsb": 7,
7574 "is_pov": false,
7575 "field_msb": 8,
7576 "phv_msb": 15,
7577 "is_compiler_generated": false,
7578 "field_name": "packet_out_hdr_egress_port",
7579 "field_width": 2,
7580 "field_lsb": 0
Brian O'Connora6862e02017-09-08 01:17:39 -07007581 },
7582 {
7583 "word_bit_width": 16,
7584 "position_offset": 30,
7585 "phv_lsb": 7,
7586 "is_pov": false,
7587 "field_msb": 8,
7588 "phv_msb": 15,
7589 "is_compiler_generated": false,
7590 "field_name": "packet_in_hdr_ingress_port",
7591 "field_width": 2,
7592 "field_lsb": 0
Carmelo Casconef1d0a422017-09-07 17:21:46 +02007593 }
7594 ]
7595 }
7596 ],
7597 "stage_number": 4
7598 },
7599 {
7600 "ingress": [
7601 {
7602 "phv_number": 0,
7603 "records": [
7604 {
7605 "word_bit_width": 32,
7606 "position_offset": 0,
7607 "phv_lsb": 0,
7608 "is_pov": true,
7609 "pov_headers": [],
7610 "field_msb": 31,
7611 "phv_msb": 31,
7612 "is_compiler_generated": false,
7613 "field_name": "POV",
7614 "field_width": 0,
7615 "field_lsb": 0
7616 }
7617 ]
7618 },
7619 {
7620 "phv_number": 1,
7621 "records": [
7622 {
7623 "word_bit_width": 32,
Brian O'Connora6862e02017-09-08 01:17:39 -07007624 "position_offset": 19,
Carmelo Casconef1d0a422017-09-07 17:21:46 +02007625 "phv_lsb": 24,
7626 "is_pov": false,
7627 "field_msb": 7,
7628 "phv_msb": 31,
7629 "is_compiler_generated": false,
7630 "field_name": "ipv4_protocol",
7631 "field_width": 1,
7632 "field_lsb": 0
7633 },
7634 {
7635 "word_bit_width": 32,
7636 "position_offset": 10,
7637 "phv_lsb": 8,
7638 "is_pov": false,
7639 "field_msb": 15,
7640 "phv_msb": 23,
7641 "is_compiler_generated": false,
7642 "field_name": "ipv4_hdrChecksum",
7643 "field_width": 2,
7644 "field_lsb": 0
7645 },
7646 {
7647 "word_bit_width": 32,
Brian O'Connora6862e02017-09-08 01:17:39 -07007648 "position_offset": 13,
Carmelo Casconef1d0a422017-09-07 17:21:46 +02007649 "phv_lsb": 0,
7650 "is_pov": false,
7651 "field_msb": 31,
7652 "phv_msb": 7,
7653 "is_compiler_generated": false,
7654 "field_name": "ipv4_srcAddr",
7655 "field_width": 4,
7656 "field_lsb": 24
7657 }
7658 ]
7659 },
7660 {
7661 "phv_number": 2,
7662 "records": [
7663 {
7664 "word_bit_width": 32,
Brian O'Connora6862e02017-09-08 01:17:39 -07007665 "position_offset": 57,
Carmelo Casconef1d0a422017-09-07 17:21:46 +02007666 "phv_lsb": 0,
7667 "is_pov": false,
7668 "field_msb": 31,
7669 "phv_msb": 31,
7670 "is_compiler_generated": false,
7671 "field_name": "ipv4_dstAddr",
7672 "field_width": 4,
7673 "field_lsb": 0
7674 }
7675 ]
7676 },
7677 {
7678 "phv_number": 3,
7679 "records": [
7680 {
7681 "word_bit_width": 32,
Brian O'Connora6862e02017-09-08 01:17:39 -07007682 "position_offset": 22,
Carmelo Casconef1d0a422017-09-07 17:21:46 +02007683 "phv_lsb": 0,
7684 "is_pov": false,
7685 "field_msb": 39,
7686 "phv_msb": 31,
7687 "is_compiler_generated": false,
7688 "field_name": "ethernet_dstAddr",
7689 "field_width": 6,
7690 "field_lsb": 8
7691 }
7692 ]
7693 },
7694 {
7695 "phv_number": 4,
7696 "records": [
7697 {
7698 "word_bit_width": 32,
Brian O'Connora6862e02017-09-08 01:17:39 -07007699 "position_offset": 70,
Carmelo Casconef1d0a422017-09-07 17:21:46 +02007700 "phv_lsb": 0,
7701 "is_pov": false,
7702 "field_msb": 31,
7703 "phv_msb": 31,
7704 "is_compiler_generated": false,
7705 "field_name": "ethernet_srcAddr",
7706 "field_width": 6,
7707 "field_lsb": 0
7708 }
7709 ]
7710 },
7711 {
7712 "phv_number": 5,
7713 "records": [
7714 {
7715 "word_bit_width": 32,
Brian O'Connora6862e02017-09-08 01:17:39 -07007716 "position_offset": 66,
Carmelo Casconef1d0a422017-09-07 17:21:46 +02007717 "phv_lsb": 16,
7718 "is_pov": false,
7719 "field_msb": 15,
7720 "phv_msb": 31,
7721 "is_compiler_generated": false,
7722 "field_name": "udp_srcPort",
7723 "field_width": 2,
7724 "field_lsb": 0
7725 },
7726 {
7727 "word_bit_width": 32,
Brian O'Connora6862e02017-09-08 01:17:39 -07007728 "position_offset": 55,
Carmelo Casconef1d0a422017-09-07 17:21:46 +02007729 "phv_lsb": 0,
7730 "is_pov": false,
7731 "field_msb": 15,
7732 "phv_msb": 15,
7733 "is_compiler_generated": false,
7734 "field_name": "udp_dstPort",
7735 "field_width": 2,
7736 "field_lsb": 0
7737 }
7738 ]
7739 },
7740 {
7741 "phv_number": 64,
7742 "records": [
7743 {
7744 "word_bit_width": 8,
Brian O'Connora6862e02017-09-08 01:17:39 -07007745 "position_offset": 13,
Carmelo Casconef1d0a422017-09-07 17:21:46 +02007746 "phv_lsb": 0,
7747 "is_pov": false,
7748 "field_msb": 23,
7749 "phv_msb": 7,
7750 "is_compiler_generated": false,
7751 "field_name": "ipv4_srcAddr",
7752 "field_width": 4,
7753 "field_lsb": 16
7754 }
7755 ]
7756 },
7757 {
Brian O'Connora6862e02017-09-08 01:17:39 -07007758 "phv_number": 65,
Carmelo Casconef1d0a422017-09-07 17:21:46 +02007759 "records": [
7760 {
7761 "word_bit_width": 8,
Brian O'Connora6862e02017-09-08 01:17:39 -07007762 "position_offset": 22,
Carmelo Casconef1d0a422017-09-07 17:21:46 +02007763 "phv_lsb": 0,
7764 "is_pov": false,
7765 "field_msb": 47,
7766 "phv_msb": 7,
7767 "is_compiler_generated": false,
7768 "field_name": "ethernet_dstAddr",
7769 "field_width": 6,
7770 "field_lsb": 40
7771 }
7772 ]
7773 },
7774 {
Brian O'Connora6862e02017-09-08 01:17:39 -07007775 "phv_number": 66,
Carmelo Casconef1d0a422017-09-07 17:21:46 +02007776 "records": [
7777 {
7778 "word_bit_width": 8,
Brian O'Connora6862e02017-09-08 01:17:39 -07007779 "position_offset": 70,
Carmelo Casconef1d0a422017-09-07 17:21:46 +02007780 "phv_lsb": 0,
7781 "is_pov": false,
7782 "field_msb": 39,
7783 "phv_msb": 7,
7784 "is_compiler_generated": false,
7785 "field_name": "ethernet_srcAddr",
7786 "field_width": 6,
7787 "field_lsb": 32
7788 }
7789 ]
7790 },
7791 {
Brian O'Connora6862e02017-09-08 01:17:39 -07007792 "phv_number": 67,
Carmelo Casconef1d0a422017-09-07 17:21:46 +02007793 "records": [
7794 {
7795 "word_bit_width": 8,
7796 "position_offset": 0,
7797 "phv_lsb": 0,
7798 "is_pov": true,
7799 "pov_headers": [
7800 {
7801 "bit_index": 0,
Brian O'Connora6862e02017-09-08 01:17:39 -07007802 "position_offset": 80,
Carmelo Casconef1d0a422017-09-07 17:21:46 +02007803 "header_name": "packet_in_hdr",
7804 "hidden": false
7805 },
7806 {
7807 "bit_index": 1,
Brian O'Connora6862e02017-09-08 01:17:39 -07007808 "position_offset": 81,
Carmelo Casconef1d0a422017-09-07 17:21:46 +02007809 "header_name": "packet_out_hdr",
7810 "hidden": false
7811 },
7812 {
7813 "bit_index": 2,
Brian O'Connora6862e02017-09-08 01:17:39 -07007814 "position_offset": 82,
Carmelo Casconef1d0a422017-09-07 17:21:46 +02007815 "header_name": "ethernet",
7816 "hidden": false
7817 },
7818 {
7819 "bit_index": 3,
Brian O'Connora6862e02017-09-08 01:17:39 -07007820 "position_offset": 83,
Carmelo Casconef1d0a422017-09-07 17:21:46 +02007821 "header_name": "ipv4",
7822 "hidden": false
7823 },
7824 {
7825 "bit_index": 4,
Brian O'Connora6862e02017-09-08 01:17:39 -07007826 "position_offset": 84,
Carmelo Casconef1d0a422017-09-07 17:21:46 +02007827 "header_name": "tcp",
7828 "hidden": false
7829 },
7830 {
7831 "bit_index": 5,
Brian O'Connora6862e02017-09-08 01:17:39 -07007832 "position_offset": 85,
Carmelo Casconef1d0a422017-09-07 17:21:46 +02007833 "header_name": "udp",
7834 "hidden": false
7835 }
7836 ],
7837 "field_msb": 39,
7838 "phv_msb": 7,
7839 "is_compiler_generated": false,
7840 "field_name": "POV",
7841 "field_width": 0,
7842 "field_lsb": 32
7843 }
7844 ]
7845 },
7846 {
Brian O'Connora6862e02017-09-08 01:17:39 -07007847 "phv_number": 68,
Carmelo Casconef1d0a422017-09-07 17:21:46 +02007848 "records": [
7849 {
7850 "word_bit_width": 8,
Brian O'Connora6862e02017-09-08 01:17:39 -07007851 "position_offset": 51,
Carmelo Casconef1d0a422017-09-07 17:21:46 +02007852 "phv_lsb": 5,
7853 "is_pov": false,
7854 "field_msb": 2,
7855 "phv_msb": 7,
7856 "is_compiler_generated": false,
7857 "field_name": "ig_intr_md_for_tm_drop_ctl",
7858 "field_width": 1,
7859 "field_lsb": 0
7860 }
7861 ]
7862 },
7863 {
7864 "phv_number": 128,
7865 "records": [
7866 {
7867 "word_bit_width": 16,
Brian O'Connora6862e02017-09-08 01:17:39 -07007868 "position_offset": 32,
Carmelo Casconef1d0a422017-09-07 17:21:46 +02007869 "phv_lsb": 15,
7870 "is_pov": false,
7871 "field_msb": 0,
7872 "phv_msb": 15,
7873 "is_compiler_generated": false,
7874 "field_name": "ig_intr_md_resubmit_flag",
7875 "field_width": 1,
7876 "field_lsb": 0
7877 },
7878 {
7879 "word_bit_width": 16,
7880 "position_offset": 8,
7881 "phv_lsb": 0,
7882 "is_pov": false,
7883 "field_msb": 8,
7884 "phv_msb": 8,
7885 "is_compiler_generated": false,
7886 "field_name": "ig_intr_md_ingress_port",
7887 "field_width": 2,
7888 "field_lsb": 0
7889 }
7890 ]
7891 },
7892 {
7893 "phv_number": 129,
7894 "records": [
7895 {
7896 "word_bit_width": 16,
7897 "position_offset": 0,
7898 "phv_lsb": 7,
7899 "is_pov": false,
7900 "field_msb": 8,
7901 "phv_msb": 15,
7902 "is_compiler_generated": false,
7903 "field_name": "packet_out_hdr_egress_port",
7904 "field_width": 2,
7905 "field_lsb": 0
7906 },
7907 {
7908 "word_bit_width": 16,
Brian O'Connora6862e02017-09-08 01:17:39 -07007909 "position_offset": 33,
Carmelo Casconef1d0a422017-09-07 17:21:46 +02007910 "phv_lsb": 7,
7911 "is_pov": false,
7912 "field_msb": 8,
7913 "phv_msb": 15,
7914 "is_compiler_generated": false,
7915 "field_name": "packet_in_hdr_ingress_port",
7916 "field_width": 2,
7917 "field_lsb": 0
7918 }
7919 ]
7920 },
7921 {
7922 "phv_number": 130,
7923 "records": [
7924 {
7925 "word_bit_width": 16,
Brian O'Connora6862e02017-09-08 01:17:39 -07007926 "position_offset": 41,
Carmelo Casconef1d0a422017-09-07 17:21:46 +02007927 "phv_lsb": 0,
7928 "is_pov": false,
7929 "field_msb": 8,
7930 "phv_msb": 8,
7931 "is_compiler_generated": false,
7932 "field_name": "ig_intr_md_for_tm_ucast_egress_port",
7933 "field_width": 2,
7934 "field_lsb": 0
7935 }
7936 ]
7937 },
7938 {
7939 "phv_number": 131,
7940 "records": [
7941 {
7942 "word_bit_width": 16,
Brian O'Connora6862e02017-09-08 01:17:39 -07007943 "position_offset": 13,
Carmelo Casconef1d0a422017-09-07 17:21:46 +02007944 "phv_lsb": 0,
7945 "is_pov": false,
7946 "field_msb": 15,
7947 "phv_msb": 15,
7948 "is_compiler_generated": false,
7949 "field_name": "ipv4_srcAddr",
7950 "field_width": 4,
7951 "field_lsb": 0
7952 }
7953 ]
7954 },
7955 {
7956 "phv_number": 132,
7957 "records": [
7958 {
7959 "word_bit_width": 16,
Brian O'Connora6862e02017-09-08 01:17:39 -07007960 "position_offset": 22,
Carmelo Casconef1d0a422017-09-07 17:21:46 +02007961 "phv_lsb": 8,
7962 "is_pov": false,
7963 "field_msb": 7,
7964 "phv_msb": 15,
7965 "is_compiler_generated": false,
7966 "field_name": "ethernet_dstAddr",
7967 "field_width": 6,
7968 "field_lsb": 0
7969 },
7970 {
7971 "word_bit_width": 16,
Brian O'Connora6862e02017-09-08 01:17:39 -07007972 "position_offset": 70,
Carmelo Casconef1d0a422017-09-07 17:21:46 +02007973 "phv_lsb": 0,
7974 "is_pov": false,
7975 "field_msb": 47,
7976 "phv_msb": 7,
7977 "is_compiler_generated": false,
7978 "field_name": "ethernet_srcAddr",
7979 "field_width": 6,
7980 "field_lsb": 40
7981 }
7982 ]
7983 },
7984 {
7985 "phv_number": 133,
7986 "records": [
7987 {
7988 "word_bit_width": 16,
7989 "position_offset": 5,
7990 "phv_lsb": 0,
7991 "is_pov": false,
7992 "field_msb": 15,
7993 "phv_msb": 15,
7994 "is_compiler_generated": false,
7995 "field_name": "ethernet_etherType",
7996 "field_width": 2,
7997 "field_lsb": 0
7998 }
7999 ]
8000 },
8001 {
8002 "phv_number": 134,
8003 "records": [
8004 {
8005 "word_bit_width": 16,
Brian O'Connora6862e02017-09-08 01:17:39 -07008006 "position_offset": 20,
Carmelo Casconef1d0a422017-09-07 17:21:46 +02008007 "phv_lsb": 0,
8008 "is_pov": false,
8009 "field_msb": 15,
8010 "phv_msb": 15,
8011 "is_compiler_generated": false,
8012 "field_name": "ecmp_metadata_groupId",
8013 "field_width": 2,
8014 "field_lsb": 0
8015 }
8016 ]
8017 },
8018 {
8019 "phv_number": 135,
8020 "records": [
8021 {
8022 "word_bit_width": 16,
Brian O'Connora6862e02017-09-08 01:17:39 -07008023 "position_offset": 61,
Carmelo Casconef1d0a422017-09-07 17:21:46 +02008024 "phv_lsb": 0,
8025 "is_pov": false,
8026 "field_msb": 15,
8027 "phv_msb": 15,
8028 "is_compiler_generated": false,
8029 "field_name": "ecmp_metadata_selector",
8030 "field_width": 2,
8031 "field_lsb": 0
8032 }
8033 ]
8034 },
8035 {
8036 "phv_number": 256,
8037 "records": [
8038 {
8039 "word_bit_width": 32,
Brian O'Connora6862e02017-09-08 01:17:39 -07008040 "position_offset": 49,
Carmelo Casconef1d0a422017-09-07 17:21:46 +02008041 "phv_lsb": 24,
8042 "is_pov": false,
8043 "field_msb": 7,
8044 "phv_msb": 31,
8045 "is_compiler_generated": false,
8046 "field_name": "ipv4_identification",
8047 "field_width": 2,
8048 "field_lsb": 0
8049 },
8050 {
8051 "word_bit_width": 32,
8052 "position_offset": 7,
8053 "phv_lsb": 21,
8054 "is_pov": false,
8055 "field_msb": 2,
8056 "phv_msb": 23,
8057 "is_compiler_generated": false,
8058 "field_name": "ipv4_flags",
8059 "field_width": 1,
8060 "field_lsb": 0
8061 },
8062 {
8063 "word_bit_width": 32,
Brian O'Connora6862e02017-09-08 01:17:39 -07008064 "position_offset": 44,
Carmelo Casconef1d0a422017-09-07 17:21:46 +02008065 "phv_lsb": 8,
8066 "is_pov": false,
8067 "field_msb": 12,
8068 "phv_msb": 20,
8069 "is_compiler_generated": false,
8070 "field_name": "ipv4_fragOffset",
8071 "field_width": 2,
8072 "field_lsb": 0
8073 },
8074 {
8075 "word_bit_width": 32,
Brian O'Connora6862e02017-09-08 01:17:39 -07008076 "position_offset": 54,
Carmelo Casconef1d0a422017-09-07 17:21:46 +02008077 "phv_lsb": 0,
8078 "is_pov": false,
8079 "field_msb": 7,
8080 "phv_msb": 7,
8081 "is_compiler_generated": false,
8082 "field_name": "ipv4_ttl",
8083 "field_width": 1,
8084 "field_lsb": 0
8085 }
8086 ]
8087 },
8088 {
8089 "phv_number": 257,
8090 "records": [
8091 {
8092 "word_bit_width": 32,
Brian O'Connora6862e02017-09-08 01:17:39 -07008093 "position_offset": 43,
Carmelo Casconef1d0a422017-09-07 17:21:46 +02008094 "phv_lsb": 28,
8095 "is_pov": false,
8096 "field_msb": 3,
8097 "phv_msb": 31,
8098 "is_compiler_generated": false,
8099 "field_name": "tcp_dataOffset",
8100 "field_width": 1,
8101 "field_lsb": 0
8102 },
8103 {
8104 "word_bit_width": 32,
Brian O'Connora6862e02017-09-08 01:17:39 -07008105 "position_offset": 48,
Carmelo Casconef1d0a422017-09-07 17:21:46 +02008106 "phv_lsb": 25,
8107 "is_pov": false,
8108 "field_msb": 2,
8109 "phv_msb": 27,
8110 "is_compiler_generated": false,
8111 "field_name": "tcp_res",
8112 "field_width": 1,
8113 "field_lsb": 0
8114 },
8115 {
8116 "word_bit_width": 32,
Brian O'Connora6862e02017-09-08 01:17:39 -07008117 "position_offset": 12,
Carmelo Casconef1d0a422017-09-07 17:21:46 +02008118 "phv_lsb": 22,
8119 "is_pov": false,
8120 "field_msb": 2,
8121 "phv_msb": 24,
8122 "is_compiler_generated": false,
8123 "field_name": "tcp_ecn",
8124 "field_width": 1,
8125 "field_lsb": 0
8126 },
8127 {
8128 "word_bit_width": 32,
8129 "position_offset": 37,
8130 "phv_lsb": 16,
8131 "is_pov": false,
8132 "field_msb": 5,
8133 "phv_msb": 21,
8134 "is_compiler_generated": false,
8135 "field_name": "tcp_ctrl",
8136 "field_width": 1,
8137 "field_lsb": 0
8138 },
8139 {
8140 "word_bit_width": 32,
Brian O'Connora6862e02017-09-08 01:17:39 -07008141 "position_offset": 46,
Carmelo Casconef1d0a422017-09-07 17:21:46 +02008142 "phv_lsb": 0,
8143 "is_pov": false,
8144 "field_msb": 15,
8145 "phv_msb": 15,
8146 "is_compiler_generated": false,
8147 "field_name": "tcp_window",
8148 "field_width": 2,
8149 "field_lsb": 0
8150 }
8151 ]
8152 },
8153 {
Brian O'Connora6862e02017-09-08 01:17:39 -07008154 "phv_number": 258,
Carmelo Casconef1d0a422017-09-07 17:21:46 +02008155 "records": [
8156 {
8157 "word_bit_width": 32,
8158 "position_offset": 2,
8159 "phv_lsb": 16,
8160 "is_pov": false,
8161 "field_msb": 15,
8162 "phv_msb": 31,
8163 "is_compiler_generated": false,
8164 "field_name": "tcp_checksum",
8165 "field_width": 2,
8166 "field_lsb": 0
8167 },
8168 {
8169 "word_bit_width": 32,
Brian O'Connora6862e02017-09-08 01:17:39 -07008170 "position_offset": 52,
Carmelo Casconef1d0a422017-09-07 17:21:46 +02008171 "phv_lsb": 0,
8172 "is_pov": false,
8173 "field_msb": 15,
8174 "phv_msb": 15,
8175 "is_compiler_generated": false,
8176 "field_name": "tcp_urgentPtr",
8177 "field_width": 2,
8178 "field_lsb": 0
8179 }
8180 ]
8181 },
8182 {
Brian O'Connora6862e02017-09-08 01:17:39 -07008183 "phv_number": 288,
Carmelo Casconef1d0a422017-09-07 17:21:46 +02008184 "records": [
8185 {
8186 "word_bit_width": 8,
Brian O'Connora6862e02017-09-08 01:17:39 -07008187 "position_offset": 65,
Carmelo Casconef1d0a422017-09-07 17:21:46 +02008188 "phv_lsb": 4,
8189 "is_pov": false,
8190 "field_msb": 3,
8191 "phv_msb": 7,
8192 "is_compiler_generated": false,
8193 "field_name": "ipv4_version",
8194 "field_width": 1,
8195 "field_lsb": 0
8196 },
8197 {
8198 "word_bit_width": 8,
8199 "position_offset": 40,
8200 "phv_lsb": 0,
8201 "is_pov": false,
8202 "field_msb": 3,
8203 "phv_msb": 3,
8204 "is_compiler_generated": false,
8205 "field_name": "ipv4_ihl",
8206 "field_width": 1,
8207 "field_lsb": 0
8208 }
8209 ]
8210 },
8211 {
Brian O'Connora6862e02017-09-08 01:17:39 -07008212 "phv_number": 289,
8213 "records": [
8214 {
8215 "word_bit_width": 8,
8216 "position_offset": 38,
8217 "phv_lsb": 0,
8218 "is_pov": false,
8219 "field_msb": 15,
8220 "phv_msb": 7,
8221 "is_compiler_generated": false,
8222 "field_name": "tcp_srcPort",
8223 "field_width": 2,
8224 "field_lsb": 8
8225 },
8226 {
8227 "word_bit_width": 8,
8228 "position_offset": 17,
8229 "phv_lsb": 0,
8230 "is_pov": false,
8231 "field_msb": 15,
8232 "phv_msb": 7,
8233 "is_compiler_generated": false,
8234 "field_name": "udp_length_",
8235 "field_width": 2,
8236 "field_lsb": 8
8237 }
8238 ]
8239 },
8240 {
8241 "phv_number": 290,
8242 "records": [
8243 {
8244 "word_bit_width": 8,
8245 "position_offset": 38,
8246 "phv_lsb": 0,
8247 "is_pov": false,
8248 "field_msb": 7,
8249 "phv_msb": 7,
8250 "is_compiler_generated": false,
8251 "field_name": "tcp_srcPort",
8252 "field_width": 2,
8253 "field_lsb": 0
8254 },
8255 {
8256 "word_bit_width": 8,
8257 "position_offset": 17,
8258 "phv_lsb": 0,
8259 "is_pov": false,
8260 "field_msb": 7,
8261 "phv_msb": 7,
8262 "is_compiler_generated": false,
8263 "field_name": "udp_length_",
8264 "field_width": 2,
8265 "field_lsb": 0
8266 }
8267 ]
8268 },
8269 {
8270 "phv_number": 291,
8271 "records": [
8272 {
8273 "word_bit_width": 8,
8274 "position_offset": 35,
8275 "phv_lsb": 0,
8276 "is_pov": false,
8277 "field_msb": 15,
8278 "phv_msb": 7,
8279 "is_compiler_generated": false,
8280 "field_name": "tcp_dstPort",
8281 "field_width": 2,
8282 "field_lsb": 8
8283 }
8284 ]
8285 },
8286 {
8287 "phv_number": 292,
8288 "records": [
8289 {
8290 "word_bit_width": 8,
8291 "position_offset": 35,
8292 "phv_lsb": 0,
8293 "is_pov": false,
8294 "field_msb": 7,
8295 "phv_msb": 7,
8296 "is_compiler_generated": false,
8297 "field_name": "tcp_dstPort",
8298 "field_width": 2,
8299 "field_lsb": 0
8300 }
8301 ]
8302 },
8303 {
8304 "phv_number": 320,
8305 "records": [
8306 {
8307 "word_bit_width": 16,
8308 "position_offset": 4,
8309 "phv_lsb": 8,
8310 "is_pov": false,
8311 "field_msb": 7,
8312 "phv_msb": 15,
8313 "is_compiler_generated": false,
8314 "field_name": "ipv4_diffserv",
8315 "field_width": 1,
8316 "field_lsb": 0
8317 },
8318 {
8319 "word_bit_width": 16,
8320 "position_offset": 63,
8321 "phv_lsb": 0,
8322 "is_pov": false,
8323 "field_msb": 15,
8324 "phv_msb": 7,
8325 "is_compiler_generated": false,
8326 "field_name": "ipv4_totalLen",
8327 "field_width": 2,
8328 "field_lsb": 8
8329 }
8330 ]
8331 },
8332 {
8333 "phv_number": 321,
8334 "records": [
8335 {
8336 "word_bit_width": 16,
8337 "position_offset": 63,
8338 "phv_lsb": 8,
8339 "is_pov": false,
8340 "field_msb": 7,
8341 "phv_msb": 15,
8342 "is_compiler_generated": false,
8343 "field_name": "ipv4_totalLen",
8344 "field_width": 2,
8345 "field_lsb": 0
8346 },
8347 {
8348 "word_bit_width": 16,
8349 "position_offset": 49,
8350 "phv_lsb": 0,
8351 "is_pov": false,
8352 "field_msb": 15,
8353 "phv_msb": 7,
8354 "is_compiler_generated": false,
8355 "field_name": "ipv4_identification",
8356 "field_width": 2,
8357 "field_lsb": 8
8358 }
8359 ]
8360 },
8361 {
8362 "phv_number": 322,
8363 "records": [
8364 {
8365 "word_bit_width": 16,
8366 "position_offset": 76,
8367 "phv_lsb": 0,
8368 "is_pov": false,
8369 "field_msb": 31,
8370 "phv_msb": 15,
8371 "is_compiler_generated": false,
8372 "field_name": "tcp_seqNo",
8373 "field_width": 4,
8374 "field_lsb": 16
8375 },
8376 {
8377 "word_bit_width": 16,
8378 "position_offset": 68,
8379 "phv_lsb": 0,
8380 "is_pov": false,
8381 "field_msb": 15,
8382 "phv_msb": 15,
8383 "is_compiler_generated": false,
8384 "field_name": "udp_checksum",
8385 "field_width": 2,
8386 "field_lsb": 0
8387 }
8388 ]
8389 },
8390 {
8391 "phv_number": 323,
8392 "records": [
8393 {
8394 "word_bit_width": 16,
8395 "position_offset": 76,
8396 "phv_lsb": 0,
8397 "is_pov": false,
8398 "field_msb": 15,
8399 "phv_msb": 15,
8400 "is_compiler_generated": false,
8401 "field_name": "tcp_seqNo",
8402 "field_width": 4,
8403 "field_lsb": 0
8404 }
8405 ]
8406 },
8407 {
8408 "phv_number": 324,
8409 "records": [
8410 {
8411 "word_bit_width": 16,
8412 "position_offset": 28,
8413 "phv_lsb": 0,
8414 "is_pov": false,
8415 "field_msb": 31,
8416 "phv_msb": 15,
8417 "is_compiler_generated": false,
8418 "field_name": "tcp_ackNo",
8419 "field_width": 4,
8420 "field_lsb": 16
8421 }
8422 ]
8423 },
8424 {
8425 "phv_number": 325,
8426 "records": [
8427 {
8428 "word_bit_width": 16,
8429 "position_offset": 28,
8430 "phv_lsb": 0,
8431 "is_pov": false,
8432 "field_msb": 15,
8433 "phv_msb": 15,
8434 "is_compiler_generated": false,
8435 "field_name": "tcp_ackNo",
8436 "field_width": 4,
8437 "field_lsb": 0
8438 }
8439 ]
8440 }
8441 ],
8442 "egress": [
8443 {
8444 "phv_number": 80,
8445 "records": [
8446 {
8447 "word_bit_width": 8,
8448 "position_offset": 7,
8449 "phv_lsb": 0,
8450 "is_pov": false,
8451 "field_msb": 2,
8452 "phv_msb": 2,
8453 "is_compiler_generated": false,
8454 "field_name": "eg_intr_md_egress_cos",
8455 "field_width": 1,
8456 "field_lsb": 0
8457 }
8458 ]
8459 },
8460 {
8461 "phv_number": 81,
8462 "records": [
8463 {
8464 "word_bit_width": 8,
8465 "position_offset": 0,
8466 "phv_lsb": 0,
8467 "is_pov": true,
8468 "pov_headers": [
8469 {
8470 "bit_index": 0,
8471 "position_offset": 73,
8472 "header_name": "packet_in_hdr",
8473 "hidden": false
8474 },
8475 {
8476 "bit_index": 1,
8477 "position_offset": 74,
8478 "header_name": "packet_out_hdr",
8479 "hidden": false
8480 },
8481 {
8482 "bit_index": 2,
8483 "position_offset": 75,
8484 "header_name": "ethernet",
8485 "hidden": false
8486 },
8487 {
8488 "bit_index": 3,
8489 "position_offset": 76,
8490 "header_name": "ipv4",
8491 "hidden": false
8492 },
8493 {
8494 "bit_index": 4,
8495 "position_offset": 77,
8496 "header_name": "tcp",
8497 "hidden": false
8498 },
8499 {
8500 "bit_index": 5,
8501 "position_offset": 78,
8502 "header_name": "udp",
8503 "hidden": false
8504 }
8505 ],
8506 "field_msb": 7,
8507 "phv_msb": 7,
8508 "is_compiler_generated": false,
8509 "field_name": "POV",
8510 "field_width": 0,
8511 "field_lsb": 0
8512 }
8513 ]
8514 },
8515 {
8516 "phv_number": 144,
8517 "records": [
8518 {
8519 "word_bit_width": 16,
8520 "position_offset": 61,
8521 "phv_lsb": 0,
8522 "is_pov": false,
8523 "field_msb": 8,
8524 "phv_msb": 8,
8525 "is_compiler_generated": false,
8526 "field_name": "eg_intr_md_egress_port",
8527 "field_width": 2,
8528 "field_lsb": 0
8529 }
8530 ]
8531 },
8532 {
8533 "phv_number": 264,
8534 "records": [
8535 {
8536 "word_bit_width": 32,
8537 "position_offset": 47,
8538 "phv_lsb": 24,
8539 "is_pov": false,
8540 "field_msb": 7,
8541 "phv_msb": 31,
8542 "is_compiler_generated": false,
8543 "field_name": "ipv4_ttl",
8544 "field_width": 1,
8545 "field_lsb": 0
8546 },
8547 {
8548 "word_bit_width": 32,
8549 "position_offset": 18,
8550 "phv_lsb": 16,
8551 "is_pov": false,
8552 "field_msb": 7,
8553 "phv_msb": 23,
8554 "is_compiler_generated": false,
8555 "field_name": "ipv4_protocol",
8556 "field_width": 1,
8557 "field_lsb": 0
8558 },
8559 {
8560 "word_bit_width": 32,
8561 "position_offset": 9,
8562 "phv_lsb": 0,
8563 "is_pov": false,
8564 "field_msb": 15,
8565 "phv_msb": 15,
8566 "is_compiler_generated": false,
8567 "field_name": "ipv4_hdrChecksum",
8568 "field_width": 2,
8569 "field_lsb": 0
8570 }
8571 ]
8572 },
8573 {
8574 "phv_number": 265,
8575 "records": [
8576 {
8577 "word_bit_width": 32,
8578 "position_offset": 12,
8579 "phv_lsb": 0,
8580 "is_pov": false,
8581 "field_msb": 31,
8582 "phv_msb": 31,
8583 "is_compiler_generated": false,
8584 "field_name": "ipv4_srcAddr",
8585 "field_width": 4,
8586 "field_lsb": 0
8587 }
8588 ]
8589 },
8590 {
8591 "phv_number": 266,
8592 "records": [
8593 {
8594 "word_bit_width": 32,
8595 "position_offset": 50,
8596 "phv_lsb": 0,
8597 "is_pov": false,
8598 "field_msb": 31,
8599 "phv_msb": 31,
8600 "is_compiler_generated": false,
8601 "field_name": "ipv4_dstAddr",
8602 "field_width": 4,
8603 "field_lsb": 0
8604 }
8605 ]
8606 },
8607 {
8608 "phv_number": 267,
8609 "records": [
8610 {
8611 "word_bit_width": 32,
8612 "position_offset": 25,
8613 "phv_lsb": 0,
8614 "is_pov": false,
8615 "field_msb": 31,
8616 "phv_msb": 31,
8617 "is_compiler_generated": false,
8618 "field_name": "tcp_ackNo",
8619 "field_width": 4,
8620 "field_lsb": 0
8621 },
8622 {
8623 "word_bit_width": 32,
8624 "position_offset": 16,
8625 "phv_lsb": 16,
8626 "is_pov": false,
8627 "field_msb": 15,
8628 "phv_msb": 31,
8629 "is_compiler_generated": false,
8630 "field_name": "udp_length_",
8631 "field_width": 2,
8632 "field_lsb": 0
8633 },
8634 {
8635 "word_bit_width": 32,
8636 "position_offset": 59,
8637 "phv_lsb": 0,
8638 "is_pov": false,
8639 "field_msb": 15,
8640 "phv_msb": 15,
8641 "is_compiler_generated": false,
8642 "field_name": "udp_checksum",
8643 "field_width": 2,
8644 "field_lsb": 0
8645 }
8646 ]
8647 },
8648 {
8649 "phv_number": 268,
8650 "records": [
8651 {
8652 "word_bit_width": 32,
8653 "position_offset": 38,
8654 "phv_lsb": 28,
8655 "is_pov": false,
8656 "field_msb": 3,
8657 "phv_msb": 31,
8658 "is_compiler_generated": false,
8659 "field_name": "tcp_dataOffset",
8660 "field_width": 1,
8661 "field_lsb": 0
8662 },
8663 {
8664 "word_bit_width": 32,
8665 "position_offset": 58,
8666 "phv_lsb": 25,
8667 "is_pov": false,
8668 "field_msb": 2,
8669 "phv_msb": 27,
8670 "is_compiler_generated": false,
8671 "field_name": "tcp_res",
8672 "field_width": 1,
8673 "field_lsb": 0
8674 },
8675 {
8676 "word_bit_width": 32,
8677 "position_offset": 11,
8678 "phv_lsb": 22,
8679 "is_pov": false,
8680 "field_msb": 2,
8681 "phv_msb": 24,
8682 "is_compiler_generated": false,
8683 "field_name": "tcp_ecn",
8684 "field_width": 1,
8685 "field_lsb": 0
8686 },
8687 {
8688 "word_bit_width": 32,
8689 "position_offset": 34,
8690 "phv_lsb": 16,
8691 "is_pov": false,
8692 "field_msb": 5,
8693 "phv_msb": 21,
8694 "is_compiler_generated": false,
8695 "field_name": "tcp_ctrl",
8696 "field_width": 1,
8697 "field_lsb": 0
8698 },
8699 {
8700 "word_bit_width": 32,
8701 "position_offset": 41,
8702 "phv_lsb": 0,
8703 "is_pov": false,
8704 "field_msb": 15,
8705 "phv_msb": 15,
8706 "is_compiler_generated": false,
8707 "field_name": "tcp_window",
8708 "field_width": 2,
8709 "field_lsb": 0
8710 }
8711 ]
8712 },
8713 {
8714 "phv_number": 269,
8715 "records": [
8716 {
8717 "word_bit_width": 32,
8718 "position_offset": 2,
8719 "phv_lsb": 16,
8720 "is_pov": false,
8721 "field_msb": 15,
8722 "phv_msb": 31,
8723 "is_compiler_generated": false,
8724 "field_name": "tcp_checksum",
8725 "field_width": 2,
8726 "field_lsb": 0
8727 },
8728 {
8729 "word_bit_width": 32,
8730 "position_offset": 45,
8731 "phv_lsb": 0,
8732 "is_pov": false,
8733 "field_msb": 15,
8734 "phv_msb": 15,
8735 "is_compiler_generated": false,
8736 "field_name": "tcp_urgentPtr",
8737 "field_width": 2,
8738 "field_lsb": 0
8739 }
8740 ]
8741 },
8742 {
8743 "phv_number": 270,
8744 "records": [
8745 {
8746 "word_bit_width": 32,
8747 "position_offset": 19,
8748 "phv_lsb": 0,
8749 "is_pov": false,
8750 "field_msb": 39,
8751 "phv_msb": 31,
8752 "is_compiler_generated": false,
8753 "field_name": "ethernet_dstAddr",
8754 "field_width": 6,
8755 "field_lsb": 8
8756 }
8757 ]
8758 },
8759 {
8760 "phv_number": 271,
8761 "records": [
8762 {
8763 "word_bit_width": 32,
8764 "position_offset": 63,
8765 "phv_lsb": 0,
8766 "is_pov": false,
8767 "field_msb": 31,
8768 "phv_msb": 31,
8769 "is_compiler_generated": false,
8770 "field_name": "ethernet_srcAddr",
8771 "field_width": 6,
8772 "field_lsb": 0
8773 }
8774 ]
8775 },
8776 {
8777 "phv_number": 296,
8778 "records": [
8779 {
8780 "word_bit_width": 8,
8781 "position_offset": 29,
8782 "phv_lsb": 4,
8783 "is_pov": false,
8784 "field_msb": 3,
8785 "phv_msb": 7,
8786 "is_compiler_generated": false,
8787 "field_name": "ipv4_version",
8788 "field_width": 1,
8789 "field_lsb": 0
8790 },
8791 {
8792 "word_bit_width": 8,
8793 "position_offset": 37,
8794 "phv_lsb": 0,
8795 "is_pov": false,
8796 "field_msb": 3,
8797 "phv_msb": 3,
8798 "is_compiler_generated": false,
8799 "field_name": "ipv4_ihl",
8800 "field_width": 1,
8801 "field_lsb": 0
8802 }
8803 ]
8804 },
8805 {
8806 "phv_number": 297,
Carmelo Casconef1d0a422017-09-07 17:21:46 +02008807 "records": [
8808 {
8809 "word_bit_width": 8,
8810 "position_offset": 4,
8811 "phv_lsb": 0,
8812 "is_pov": false,
8813 "field_msb": 7,
8814 "phv_msb": 7,
8815 "is_compiler_generated": false,
8816 "field_name": "ipv4_diffserv",
8817 "field_width": 1,
8818 "field_lsb": 0
8819 }
8820 ]
8821 },
8822 {
Brian O'Connora6862e02017-09-08 01:17:39 -07008823 "phv_number": 298,
Carmelo Casconef1d0a422017-09-07 17:21:46 +02008824 "records": [
8825 {
8826 "word_bit_width": 8,
Brian O'Connora6862e02017-09-08 01:17:39 -07008827 "position_offset": 35,
Carmelo Casconef1d0a422017-09-07 17:21:46 +02008828 "phv_lsb": 0,
8829 "is_pov": false,
8830 "field_msb": 15,
8831 "phv_msb": 7,
8832 "is_compiler_generated": false,
8833 "field_name": "tcp_srcPort",
8834 "field_width": 2,
8835 "field_lsb": 8
8836 },
8837 {
8838 "word_bit_width": 8,
Brian O'Connora6862e02017-09-08 01:17:39 -07008839 "position_offset": 56,
Carmelo Casconef1d0a422017-09-07 17:21:46 +02008840 "phv_lsb": 0,
8841 "is_pov": false,
8842 "field_msb": 15,
8843 "phv_msb": 7,
8844 "is_compiler_generated": false,
8845 "field_name": "udp_srcPort",
8846 "field_width": 2,
8847 "field_lsb": 8
8848 }
8849 ]
8850 },
8851 {
Brian O'Connora6862e02017-09-08 01:17:39 -07008852 "phv_number": 299,
Carmelo Casconef1d0a422017-09-07 17:21:46 +02008853 "records": [
8854 {
8855 "word_bit_width": 8,
Brian O'Connora6862e02017-09-08 01:17:39 -07008856 "position_offset": 35,
Carmelo Casconef1d0a422017-09-07 17:21:46 +02008857 "phv_lsb": 0,
8858 "is_pov": false,
8859 "field_msb": 7,
8860 "phv_msb": 7,
8861 "is_compiler_generated": false,
8862 "field_name": "tcp_srcPort",
8863 "field_width": 2,
8864 "field_lsb": 0
8865 },
8866 {
8867 "word_bit_width": 8,
Brian O'Connora6862e02017-09-08 01:17:39 -07008868 "position_offset": 56,
Carmelo Casconef1d0a422017-09-07 17:21:46 +02008869 "phv_lsb": 0,
8870 "is_pov": false,
8871 "field_msb": 7,
8872 "phv_msb": 7,
8873 "is_compiler_generated": false,
8874 "field_name": "udp_srcPort",
8875 "field_width": 2,
8876 "field_lsb": 0
8877 }
8878 ]
8879 },
8880 {
Brian O'Connora6862e02017-09-08 01:17:39 -07008881 "phv_number": 300,
Carmelo Casconef1d0a422017-09-07 17:21:46 +02008882 "records": [
8883 {
8884 "word_bit_width": 8,
Brian O'Connora6862e02017-09-08 01:17:39 -07008885 "position_offset": 19,
Carmelo Casconef1d0a422017-09-07 17:21:46 +02008886 "phv_lsb": 0,
8887 "is_pov": false,
8888 "field_msb": 47,
8889 "phv_msb": 7,
8890 "is_compiler_generated": false,
8891 "field_name": "ethernet_dstAddr",
8892 "field_width": 6,
8893 "field_lsb": 40
8894 }
8895 ]
8896 },
8897 {
Brian O'Connora6862e02017-09-08 01:17:39 -07008898 "phv_number": 301,
Carmelo Casconef1d0a422017-09-07 17:21:46 +02008899 "records": [
8900 {
8901 "word_bit_width": 8,
Brian O'Connora6862e02017-09-08 01:17:39 -07008902 "position_offset": 63,
Carmelo Casconef1d0a422017-09-07 17:21:46 +02008903 "phv_lsb": 0,
8904 "is_pov": false,
8905 "field_msb": 39,
8906 "phv_msb": 7,
8907 "is_compiler_generated": false,
8908 "field_name": "ethernet_srcAddr",
8909 "field_width": 6,
8910 "field_lsb": 32
8911 }
8912 ]
8913 },
8914 {
Brian O'Connora6862e02017-09-08 01:17:39 -07008915 "phv_number": 332,
Carmelo Casconef1d0a422017-09-07 17:21:46 +02008916 "records": [
8917 {
8918 "word_bit_width": 16,
Brian O'Connora6862e02017-09-08 01:17:39 -07008919 "position_offset": 54,
Carmelo Casconef1d0a422017-09-07 17:21:46 +02008920 "phv_lsb": 0,
8921 "is_pov": false,
8922 "field_msb": 15,
8923 "phv_msb": 15,
8924 "is_compiler_generated": false,
8925 "field_name": "ipv4_totalLen",
8926 "field_width": 2,
8927 "field_lsb": 0
8928 }
8929 ]
8930 },
8931 {
Brian O'Connora6862e02017-09-08 01:17:39 -07008932 "phv_number": 333,
Carmelo Casconef1d0a422017-09-07 17:21:46 +02008933 "records": [
8934 {
8935 "word_bit_width": 16,
Brian O'Connora6862e02017-09-08 01:17:39 -07008936 "position_offset": 43,
Carmelo Casconef1d0a422017-09-07 17:21:46 +02008937 "phv_lsb": 0,
8938 "is_pov": false,
8939 "field_msb": 15,
8940 "phv_msb": 15,
8941 "is_compiler_generated": false,
8942 "field_name": "ipv4_identification",
8943 "field_width": 2,
8944 "field_lsb": 0
8945 }
8946 ]
8947 },
8948 {
Brian O'Connora6862e02017-09-08 01:17:39 -07008949 "phv_number": 334,
Carmelo Casconef1d0a422017-09-07 17:21:46 +02008950 "records": [
8951 {
8952 "word_bit_width": 16,
8953 "position_offset": 8,
8954 "phv_lsb": 13,
8955 "is_pov": false,
8956 "field_msb": 2,
8957 "phv_msb": 15,
8958 "is_compiler_generated": false,
8959 "field_name": "ipv4_flags",
8960 "field_width": 1,
8961 "field_lsb": 0
8962 },
8963 {
8964 "word_bit_width": 16,
8965 "position_offset": 5,
8966 "phv_lsb": 0,
8967 "is_pov": false,
8968 "field_msb": 12,
8969 "phv_msb": 12,
8970 "is_compiler_generated": false,
8971 "field_name": "ipv4_fragOffset",
8972 "field_width": 2,
8973 "field_lsb": 0
8974 }
8975 ]
8976 },
8977 {
Brian O'Connora6862e02017-09-08 01:17:39 -07008978 "phv_number": 335,
Carmelo Casconef1d0a422017-09-07 17:21:46 +02008979 "records": [
8980 {
8981 "word_bit_width": 16,
Brian O'Connora6862e02017-09-08 01:17:39 -07008982 "position_offset": 32,
Carmelo Casconef1d0a422017-09-07 17:21:46 +02008983 "phv_lsb": 0,
8984 "is_pov": false,
8985 "field_msb": 15,
8986 "phv_msb": 15,
8987 "is_compiler_generated": false,
8988 "field_name": "tcp_dstPort",
8989 "field_width": 2,
8990 "field_lsb": 0
Brian O'Connora6862e02017-09-08 01:17:39 -07008991 }
8992 ]
8993 },
8994 {
8995 "phv_number": 336,
8996 "records": [
8997 {
8998 "word_bit_width": 16,
8999 "position_offset": 69,
9000 "phv_lsb": 0,
9001 "is_pov": false,
9002 "field_msb": 31,
9003 "phv_msb": 15,
9004 "is_compiler_generated": false,
9005 "field_name": "tcp_seqNo",
9006 "field_width": 4,
9007 "field_lsb": 16
Carmelo Casconef1d0a422017-09-07 17:21:46 +02009008 },
9009 {
9010 "word_bit_width": 16,
Brian O'Connora6862e02017-09-08 01:17:39 -07009011 "position_offset": 48,
Carmelo Casconef1d0a422017-09-07 17:21:46 +02009012 "phv_lsb": 0,
9013 "is_pov": false,
9014 "field_msb": 15,
9015 "phv_msb": 15,
9016 "is_compiler_generated": false,
9017 "field_name": "udp_dstPort",
9018 "field_width": 2,
9019 "field_lsb": 0
9020 }
9021 ]
9022 },
9023 {
Brian O'Connora6862e02017-09-08 01:17:39 -07009024 "phv_number": 337,
Carmelo Casconef1d0a422017-09-07 17:21:46 +02009025 "records": [
9026 {
9027 "word_bit_width": 16,
Brian O'Connora6862e02017-09-08 01:17:39 -07009028 "position_offset": 69,
Carmelo Casconef1d0a422017-09-07 17:21:46 +02009029 "phv_lsb": 0,
9030 "is_pov": false,
9031 "field_msb": 15,
9032 "phv_msb": 15,
9033 "is_compiler_generated": false,
9034 "field_name": "tcp_seqNo",
9035 "field_width": 4,
9036 "field_lsb": 0
9037 }
9038 ]
9039 },
9040 {
Brian O'Connora6862e02017-09-08 01:17:39 -07009041 "phv_number": 338,
Carmelo Casconef1d0a422017-09-07 17:21:46 +02009042 "records": [
9043 {
9044 "word_bit_width": 16,
Brian O'Connora6862e02017-09-08 01:17:39 -07009045 "position_offset": 19,
Carmelo Casconef1d0a422017-09-07 17:21:46 +02009046 "phv_lsb": 8,
9047 "is_pov": false,
9048 "field_msb": 7,
9049 "phv_msb": 15,
9050 "is_compiler_generated": false,
9051 "field_name": "ethernet_dstAddr",
9052 "field_width": 6,
9053 "field_lsb": 0
9054 },
9055 {
9056 "word_bit_width": 16,
Brian O'Connora6862e02017-09-08 01:17:39 -07009057 "position_offset": 63,
Carmelo Casconef1d0a422017-09-07 17:21:46 +02009058 "phv_lsb": 0,
9059 "is_pov": false,
9060 "field_msb": 47,
9061 "phv_msb": 7,
9062 "is_compiler_generated": false,
9063 "field_name": "ethernet_srcAddr",
9064 "field_width": 6,
9065 "field_lsb": 40
9066 }
9067 ]
9068 },
9069 {
Brian O'Connora6862e02017-09-08 01:17:39 -07009070 "phv_number": 339,
Carmelo Casconef1d0a422017-09-07 17:21:46 +02009071 "records": [
9072 {
9073 "word_bit_width": 16,
Brian O'Connora6862e02017-09-08 01:17:39 -07009074 "position_offset": 39,
Carmelo Casconef1d0a422017-09-07 17:21:46 +02009075 "phv_lsb": 0,
9076 "is_pov": false,
9077 "field_msb": 15,
9078 "phv_msb": 15,
9079 "is_compiler_generated": false,
9080 "field_name": "ethernet_etherType",
9081 "field_width": 2,
9082 "field_lsb": 0
9083 }
9084 ]
9085 },
9086 {
Brian O'Connora6862e02017-09-08 01:17:39 -07009087 "phv_number": 340,
Carmelo Casconef1d0a422017-09-07 17:21:46 +02009088 "records": [
9089 {
9090 "word_bit_width": 16,
9091 "position_offset": 0,
9092 "phv_lsb": 7,
9093 "is_pov": false,
9094 "field_msb": 8,
9095 "phv_msb": 15,
9096 "is_compiler_generated": false,
9097 "field_name": "packet_out_hdr_egress_port",
9098 "field_width": 2,
9099 "field_lsb": 0
Brian O'Connora6862e02017-09-08 01:17:39 -07009100 },
9101 {
9102 "word_bit_width": 16,
9103 "position_offset": 30,
9104 "phv_lsb": 7,
9105 "is_pov": false,
9106 "field_msb": 8,
9107 "phv_msb": 15,
9108 "is_compiler_generated": false,
9109 "field_name": "packet_in_hdr_ingress_port",
9110 "field_width": 2,
9111 "field_lsb": 0
Carmelo Casconef1d0a422017-09-07 17:21:46 +02009112 }
9113 ]
9114 }
9115 ],
9116 "stage_number": 5
9117 },
9118 {
9119 "ingress": [
9120 {
9121 "phv_number": 0,
9122 "records": [
9123 {
9124 "word_bit_width": 32,
9125 "position_offset": 0,
9126 "phv_lsb": 0,
9127 "is_pov": true,
9128 "pov_headers": [],
9129 "field_msb": 31,
9130 "phv_msb": 31,
9131 "is_compiler_generated": false,
9132 "field_name": "POV",
9133 "field_width": 0,
9134 "field_lsb": 0
9135 }
9136 ]
9137 },
9138 {
9139 "phv_number": 1,
9140 "records": [
9141 {
9142 "word_bit_width": 32,
Brian O'Connora6862e02017-09-08 01:17:39 -07009143 "position_offset": 19,
Carmelo Casconef1d0a422017-09-07 17:21:46 +02009144 "phv_lsb": 24,
9145 "is_pov": false,
9146 "field_msb": 7,
9147 "phv_msb": 31,
9148 "is_compiler_generated": false,
9149 "field_name": "ipv4_protocol",
9150 "field_width": 1,
9151 "field_lsb": 0
9152 },
9153 {
9154 "word_bit_width": 32,
9155 "position_offset": 10,
9156 "phv_lsb": 8,
9157 "is_pov": false,
9158 "field_msb": 15,
9159 "phv_msb": 23,
9160 "is_compiler_generated": false,
9161 "field_name": "ipv4_hdrChecksum",
9162 "field_width": 2,
9163 "field_lsb": 0
9164 },
9165 {
9166 "word_bit_width": 32,
Brian O'Connora6862e02017-09-08 01:17:39 -07009167 "position_offset": 13,
Carmelo Casconef1d0a422017-09-07 17:21:46 +02009168 "phv_lsb": 0,
9169 "is_pov": false,
9170 "field_msb": 31,
9171 "phv_msb": 7,
9172 "is_compiler_generated": false,
9173 "field_name": "ipv4_srcAddr",
9174 "field_width": 4,
9175 "field_lsb": 24
9176 }
9177 ]
9178 },
9179 {
9180 "phv_number": 2,
9181 "records": [
9182 {
9183 "word_bit_width": 32,
Brian O'Connora6862e02017-09-08 01:17:39 -07009184 "position_offset": 57,
Carmelo Casconef1d0a422017-09-07 17:21:46 +02009185 "phv_lsb": 0,
9186 "is_pov": false,
9187 "field_msb": 31,
9188 "phv_msb": 31,
9189 "is_compiler_generated": false,
9190 "field_name": "ipv4_dstAddr",
9191 "field_width": 4,
9192 "field_lsb": 0
9193 }
9194 ]
9195 },
9196 {
9197 "phv_number": 3,
9198 "records": [
9199 {
9200 "word_bit_width": 32,
Brian O'Connora6862e02017-09-08 01:17:39 -07009201 "position_offset": 22,
Carmelo Casconef1d0a422017-09-07 17:21:46 +02009202 "phv_lsb": 0,
9203 "is_pov": false,
9204 "field_msb": 39,
9205 "phv_msb": 31,
9206 "is_compiler_generated": false,
9207 "field_name": "ethernet_dstAddr",
9208 "field_width": 6,
9209 "field_lsb": 8
9210 }
9211 ]
9212 },
9213 {
9214 "phv_number": 4,
9215 "records": [
9216 {
9217 "word_bit_width": 32,
Brian O'Connora6862e02017-09-08 01:17:39 -07009218 "position_offset": 70,
Carmelo Casconef1d0a422017-09-07 17:21:46 +02009219 "phv_lsb": 0,
9220 "is_pov": false,
9221 "field_msb": 31,
9222 "phv_msb": 31,
9223 "is_compiler_generated": false,
9224 "field_name": "ethernet_srcAddr",
9225 "field_width": 6,
9226 "field_lsb": 0
9227 }
9228 ]
9229 },
9230 {
9231 "phv_number": 5,
9232 "records": [
9233 {
9234 "word_bit_width": 32,
Brian O'Connora6862e02017-09-08 01:17:39 -07009235 "position_offset": 66,
Carmelo Casconef1d0a422017-09-07 17:21:46 +02009236 "phv_lsb": 16,
9237 "is_pov": false,
9238 "field_msb": 15,
9239 "phv_msb": 31,
9240 "is_compiler_generated": false,
9241 "field_name": "udp_srcPort",
9242 "field_width": 2,
9243 "field_lsb": 0
9244 },
9245 {
9246 "word_bit_width": 32,
Brian O'Connora6862e02017-09-08 01:17:39 -07009247 "position_offset": 55,
Carmelo Casconef1d0a422017-09-07 17:21:46 +02009248 "phv_lsb": 0,
9249 "is_pov": false,
9250 "field_msb": 15,
9251 "phv_msb": 15,
9252 "is_compiler_generated": false,
9253 "field_name": "udp_dstPort",
9254 "field_width": 2,
9255 "field_lsb": 0
9256 }
9257 ]
9258 },
9259 {
9260 "phv_number": 64,
9261 "records": [
9262 {
9263 "word_bit_width": 8,
Brian O'Connora6862e02017-09-08 01:17:39 -07009264 "position_offset": 13,
Carmelo Casconef1d0a422017-09-07 17:21:46 +02009265 "phv_lsb": 0,
9266 "is_pov": false,
9267 "field_msb": 23,
9268 "phv_msb": 7,
9269 "is_compiler_generated": false,
9270 "field_name": "ipv4_srcAddr",
9271 "field_width": 4,
9272 "field_lsb": 16
9273 }
9274 ]
9275 },
9276 {
Brian O'Connora6862e02017-09-08 01:17:39 -07009277 "phv_number": 65,
Carmelo Casconef1d0a422017-09-07 17:21:46 +02009278 "records": [
9279 {
9280 "word_bit_width": 8,
Brian O'Connora6862e02017-09-08 01:17:39 -07009281 "position_offset": 22,
Carmelo Casconef1d0a422017-09-07 17:21:46 +02009282 "phv_lsb": 0,
9283 "is_pov": false,
9284 "field_msb": 47,
9285 "phv_msb": 7,
9286 "is_compiler_generated": false,
9287 "field_name": "ethernet_dstAddr",
9288 "field_width": 6,
9289 "field_lsb": 40
9290 }
9291 ]
9292 },
9293 {
Brian O'Connora6862e02017-09-08 01:17:39 -07009294 "phv_number": 66,
Carmelo Casconef1d0a422017-09-07 17:21:46 +02009295 "records": [
9296 {
9297 "word_bit_width": 8,
Brian O'Connora6862e02017-09-08 01:17:39 -07009298 "position_offset": 70,
Carmelo Casconef1d0a422017-09-07 17:21:46 +02009299 "phv_lsb": 0,
9300 "is_pov": false,
9301 "field_msb": 39,
9302 "phv_msb": 7,
9303 "is_compiler_generated": false,
9304 "field_name": "ethernet_srcAddr",
9305 "field_width": 6,
9306 "field_lsb": 32
9307 }
9308 ]
9309 },
9310 {
Brian O'Connora6862e02017-09-08 01:17:39 -07009311 "phv_number": 67,
Carmelo Casconef1d0a422017-09-07 17:21:46 +02009312 "records": [
9313 {
9314 "word_bit_width": 8,
9315 "position_offset": 0,
9316 "phv_lsb": 0,
9317 "is_pov": true,
9318 "pov_headers": [
9319 {
9320 "bit_index": 0,
Brian O'Connora6862e02017-09-08 01:17:39 -07009321 "position_offset": 80,
Carmelo Casconef1d0a422017-09-07 17:21:46 +02009322 "header_name": "packet_in_hdr",
9323 "hidden": false
9324 },
9325 {
9326 "bit_index": 1,
Brian O'Connora6862e02017-09-08 01:17:39 -07009327 "position_offset": 81,
Carmelo Casconef1d0a422017-09-07 17:21:46 +02009328 "header_name": "packet_out_hdr",
9329 "hidden": false
9330 },
9331 {
9332 "bit_index": 2,
Brian O'Connora6862e02017-09-08 01:17:39 -07009333 "position_offset": 82,
Carmelo Casconef1d0a422017-09-07 17:21:46 +02009334 "header_name": "ethernet",
9335 "hidden": false
9336 },
9337 {
9338 "bit_index": 3,
Brian O'Connora6862e02017-09-08 01:17:39 -07009339 "position_offset": 83,
Carmelo Casconef1d0a422017-09-07 17:21:46 +02009340 "header_name": "ipv4",
9341 "hidden": false
9342 },
9343 {
9344 "bit_index": 4,
Brian O'Connora6862e02017-09-08 01:17:39 -07009345 "position_offset": 84,
Carmelo Casconef1d0a422017-09-07 17:21:46 +02009346 "header_name": "tcp",
9347 "hidden": false
9348 },
9349 {
9350 "bit_index": 5,
Brian O'Connora6862e02017-09-08 01:17:39 -07009351 "position_offset": 85,
Carmelo Casconef1d0a422017-09-07 17:21:46 +02009352 "header_name": "udp",
9353 "hidden": false
9354 }
9355 ],
9356 "field_msb": 39,
9357 "phv_msb": 7,
9358 "is_compiler_generated": false,
9359 "field_name": "POV",
9360 "field_width": 0,
9361 "field_lsb": 32
9362 }
9363 ]
9364 },
9365 {
Brian O'Connora6862e02017-09-08 01:17:39 -07009366 "phv_number": 68,
Carmelo Casconef1d0a422017-09-07 17:21:46 +02009367 "records": [
9368 {
9369 "word_bit_width": 8,
Brian O'Connora6862e02017-09-08 01:17:39 -07009370 "position_offset": 51,
Carmelo Casconef1d0a422017-09-07 17:21:46 +02009371 "phv_lsb": 5,
9372 "is_pov": false,
9373 "field_msb": 2,
9374 "phv_msb": 7,
9375 "is_compiler_generated": false,
9376 "field_name": "ig_intr_md_for_tm_drop_ctl",
9377 "field_width": 1,
9378 "field_lsb": 0
9379 }
9380 ]
9381 },
9382 {
9383 "phv_number": 128,
9384 "records": [
9385 {
9386 "word_bit_width": 16,
Brian O'Connora6862e02017-09-08 01:17:39 -07009387 "position_offset": 32,
Carmelo Casconef1d0a422017-09-07 17:21:46 +02009388 "phv_lsb": 15,
9389 "is_pov": false,
9390 "field_msb": 0,
9391 "phv_msb": 15,
9392 "is_compiler_generated": false,
9393 "field_name": "ig_intr_md_resubmit_flag",
9394 "field_width": 1,
9395 "field_lsb": 0
9396 },
9397 {
9398 "word_bit_width": 16,
9399 "position_offset": 8,
9400 "phv_lsb": 0,
9401 "is_pov": false,
9402 "field_msb": 8,
9403 "phv_msb": 8,
9404 "is_compiler_generated": false,
9405 "field_name": "ig_intr_md_ingress_port",
9406 "field_width": 2,
9407 "field_lsb": 0
9408 }
9409 ]
9410 },
9411 {
9412 "phv_number": 129,
9413 "records": [
9414 {
9415 "word_bit_width": 16,
9416 "position_offset": 0,
9417 "phv_lsb": 7,
9418 "is_pov": false,
9419 "field_msb": 8,
9420 "phv_msb": 15,
9421 "is_compiler_generated": false,
9422 "field_name": "packet_out_hdr_egress_port",
9423 "field_width": 2,
9424 "field_lsb": 0
9425 },
9426 {
9427 "word_bit_width": 16,
Brian O'Connora6862e02017-09-08 01:17:39 -07009428 "position_offset": 33,
Carmelo Casconef1d0a422017-09-07 17:21:46 +02009429 "phv_lsb": 7,
9430 "is_pov": false,
9431 "field_msb": 8,
9432 "phv_msb": 15,
9433 "is_compiler_generated": false,
9434 "field_name": "packet_in_hdr_ingress_port",
9435 "field_width": 2,
9436 "field_lsb": 0
9437 }
9438 ]
9439 },
9440 {
9441 "phv_number": 130,
9442 "records": [
9443 {
9444 "word_bit_width": 16,
Brian O'Connora6862e02017-09-08 01:17:39 -07009445 "position_offset": 41,
Carmelo Casconef1d0a422017-09-07 17:21:46 +02009446 "phv_lsb": 0,
9447 "is_pov": false,
9448 "field_msb": 8,
9449 "phv_msb": 8,
9450 "is_compiler_generated": false,
9451 "field_name": "ig_intr_md_for_tm_ucast_egress_port",
9452 "field_width": 2,
9453 "field_lsb": 0
9454 }
9455 ]
9456 },
9457 {
9458 "phv_number": 131,
9459 "records": [
9460 {
9461 "word_bit_width": 16,
Brian O'Connora6862e02017-09-08 01:17:39 -07009462 "position_offset": 13,
Carmelo Casconef1d0a422017-09-07 17:21:46 +02009463 "phv_lsb": 0,
9464 "is_pov": false,
9465 "field_msb": 15,
9466 "phv_msb": 15,
9467 "is_compiler_generated": false,
9468 "field_name": "ipv4_srcAddr",
9469 "field_width": 4,
9470 "field_lsb": 0
9471 }
9472 ]
9473 },
9474 {
9475 "phv_number": 132,
9476 "records": [
9477 {
9478 "word_bit_width": 16,
Brian O'Connora6862e02017-09-08 01:17:39 -07009479 "position_offset": 22,
Carmelo Casconef1d0a422017-09-07 17:21:46 +02009480 "phv_lsb": 8,
9481 "is_pov": false,
9482 "field_msb": 7,
9483 "phv_msb": 15,
9484 "is_compiler_generated": false,
9485 "field_name": "ethernet_dstAddr",
9486 "field_width": 6,
9487 "field_lsb": 0
9488 },
9489 {
9490 "word_bit_width": 16,
Brian O'Connora6862e02017-09-08 01:17:39 -07009491 "position_offset": 70,
Carmelo Casconef1d0a422017-09-07 17:21:46 +02009492 "phv_lsb": 0,
9493 "is_pov": false,
9494 "field_msb": 47,
9495 "phv_msb": 7,
9496 "is_compiler_generated": false,
9497 "field_name": "ethernet_srcAddr",
9498 "field_width": 6,
9499 "field_lsb": 40
9500 }
9501 ]
9502 },
9503 {
9504 "phv_number": 133,
9505 "records": [
9506 {
9507 "word_bit_width": 16,
9508 "position_offset": 5,
9509 "phv_lsb": 0,
9510 "is_pov": false,
9511 "field_msb": 15,
9512 "phv_msb": 15,
9513 "is_compiler_generated": false,
9514 "field_name": "ethernet_etherType",
9515 "field_width": 2,
9516 "field_lsb": 0
9517 }
9518 ]
9519 },
9520 {
9521 "phv_number": 134,
9522 "records": [
9523 {
9524 "word_bit_width": 16,
Brian O'Connora6862e02017-09-08 01:17:39 -07009525 "position_offset": 20,
Carmelo Casconef1d0a422017-09-07 17:21:46 +02009526 "phv_lsb": 0,
9527 "is_pov": false,
9528 "field_msb": 15,
9529 "phv_msb": 15,
9530 "is_compiler_generated": false,
9531 "field_name": "ecmp_metadata_groupId",
9532 "field_width": 2,
9533 "field_lsb": 0
9534 }
9535 ]
9536 },
9537 {
9538 "phv_number": 135,
9539 "records": [
9540 {
9541 "word_bit_width": 16,
Brian O'Connora6862e02017-09-08 01:17:39 -07009542 "position_offset": 61,
Carmelo Casconef1d0a422017-09-07 17:21:46 +02009543 "phv_lsb": 0,
9544 "is_pov": false,
9545 "field_msb": 15,
9546 "phv_msb": 15,
9547 "is_compiler_generated": false,
9548 "field_name": "ecmp_metadata_selector",
9549 "field_width": 2,
9550 "field_lsb": 0
9551 }
9552 ]
9553 },
9554 {
9555 "phv_number": 256,
9556 "records": [
9557 {
9558 "word_bit_width": 32,
Brian O'Connora6862e02017-09-08 01:17:39 -07009559 "position_offset": 49,
Carmelo Casconef1d0a422017-09-07 17:21:46 +02009560 "phv_lsb": 24,
9561 "is_pov": false,
9562 "field_msb": 7,
9563 "phv_msb": 31,
9564 "is_compiler_generated": false,
9565 "field_name": "ipv4_identification",
9566 "field_width": 2,
9567 "field_lsb": 0
9568 },
9569 {
9570 "word_bit_width": 32,
9571 "position_offset": 7,
9572 "phv_lsb": 21,
9573 "is_pov": false,
9574 "field_msb": 2,
9575 "phv_msb": 23,
9576 "is_compiler_generated": false,
9577 "field_name": "ipv4_flags",
9578 "field_width": 1,
9579 "field_lsb": 0
9580 },
9581 {
9582 "word_bit_width": 32,
Brian O'Connora6862e02017-09-08 01:17:39 -07009583 "position_offset": 44,
Carmelo Casconef1d0a422017-09-07 17:21:46 +02009584 "phv_lsb": 8,
9585 "is_pov": false,
9586 "field_msb": 12,
9587 "phv_msb": 20,
9588 "is_compiler_generated": false,
9589 "field_name": "ipv4_fragOffset",
9590 "field_width": 2,
9591 "field_lsb": 0
9592 },
9593 {
9594 "word_bit_width": 32,
Brian O'Connora6862e02017-09-08 01:17:39 -07009595 "position_offset": 54,
Carmelo Casconef1d0a422017-09-07 17:21:46 +02009596 "phv_lsb": 0,
9597 "is_pov": false,
9598 "field_msb": 7,
9599 "phv_msb": 7,
9600 "is_compiler_generated": false,
9601 "field_name": "ipv4_ttl",
9602 "field_width": 1,
9603 "field_lsb": 0
9604 }
9605 ]
9606 },
9607 {
9608 "phv_number": 257,
9609 "records": [
9610 {
9611 "word_bit_width": 32,
Brian O'Connora6862e02017-09-08 01:17:39 -07009612 "position_offset": 43,
Carmelo Casconef1d0a422017-09-07 17:21:46 +02009613 "phv_lsb": 28,
9614 "is_pov": false,
9615 "field_msb": 3,
9616 "phv_msb": 31,
9617 "is_compiler_generated": false,
9618 "field_name": "tcp_dataOffset",
9619 "field_width": 1,
9620 "field_lsb": 0
9621 },
9622 {
9623 "word_bit_width": 32,
Brian O'Connora6862e02017-09-08 01:17:39 -07009624 "position_offset": 48,
Carmelo Casconef1d0a422017-09-07 17:21:46 +02009625 "phv_lsb": 25,
9626 "is_pov": false,
9627 "field_msb": 2,
9628 "phv_msb": 27,
9629 "is_compiler_generated": false,
9630 "field_name": "tcp_res",
9631 "field_width": 1,
9632 "field_lsb": 0
9633 },
9634 {
9635 "word_bit_width": 32,
Brian O'Connora6862e02017-09-08 01:17:39 -07009636 "position_offset": 12,
Carmelo Casconef1d0a422017-09-07 17:21:46 +02009637 "phv_lsb": 22,
9638 "is_pov": false,
9639 "field_msb": 2,
9640 "phv_msb": 24,
9641 "is_compiler_generated": false,
9642 "field_name": "tcp_ecn",
9643 "field_width": 1,
9644 "field_lsb": 0
9645 },
9646 {
9647 "word_bit_width": 32,
9648 "position_offset": 37,
9649 "phv_lsb": 16,
9650 "is_pov": false,
9651 "field_msb": 5,
9652 "phv_msb": 21,
9653 "is_compiler_generated": false,
9654 "field_name": "tcp_ctrl",
9655 "field_width": 1,
9656 "field_lsb": 0
9657 },
9658 {
9659 "word_bit_width": 32,
Brian O'Connora6862e02017-09-08 01:17:39 -07009660 "position_offset": 46,
Carmelo Casconef1d0a422017-09-07 17:21:46 +02009661 "phv_lsb": 0,
9662 "is_pov": false,
9663 "field_msb": 15,
9664 "phv_msb": 15,
9665 "is_compiler_generated": false,
9666 "field_name": "tcp_window",
9667 "field_width": 2,
9668 "field_lsb": 0
9669 }
9670 ]
9671 },
9672 {
Brian O'Connora6862e02017-09-08 01:17:39 -07009673 "phv_number": 258,
Carmelo Casconef1d0a422017-09-07 17:21:46 +02009674 "records": [
9675 {
9676 "word_bit_width": 32,
9677 "position_offset": 2,
9678 "phv_lsb": 16,
9679 "is_pov": false,
9680 "field_msb": 15,
9681 "phv_msb": 31,
9682 "is_compiler_generated": false,
9683 "field_name": "tcp_checksum",
9684 "field_width": 2,
9685 "field_lsb": 0
9686 },
9687 {
9688 "word_bit_width": 32,
Brian O'Connora6862e02017-09-08 01:17:39 -07009689 "position_offset": 52,
Carmelo Casconef1d0a422017-09-07 17:21:46 +02009690 "phv_lsb": 0,
9691 "is_pov": false,
9692 "field_msb": 15,
9693 "phv_msb": 15,
9694 "is_compiler_generated": false,
9695 "field_name": "tcp_urgentPtr",
9696 "field_width": 2,
9697 "field_lsb": 0
9698 }
9699 ]
9700 },
9701 {
Brian O'Connora6862e02017-09-08 01:17:39 -07009702 "phv_number": 288,
Carmelo Casconef1d0a422017-09-07 17:21:46 +02009703 "records": [
9704 {
9705 "word_bit_width": 8,
Brian O'Connora6862e02017-09-08 01:17:39 -07009706 "position_offset": 65,
Carmelo Casconef1d0a422017-09-07 17:21:46 +02009707 "phv_lsb": 4,
9708 "is_pov": false,
9709 "field_msb": 3,
9710 "phv_msb": 7,
9711 "is_compiler_generated": false,
9712 "field_name": "ipv4_version",
9713 "field_width": 1,
9714 "field_lsb": 0
9715 },
9716 {
9717 "word_bit_width": 8,
9718 "position_offset": 40,
9719 "phv_lsb": 0,
9720 "is_pov": false,
9721 "field_msb": 3,
9722 "phv_msb": 3,
9723 "is_compiler_generated": false,
9724 "field_name": "ipv4_ihl",
9725 "field_width": 1,
9726 "field_lsb": 0
9727 }
9728 ]
9729 },
9730 {
Brian O'Connora6862e02017-09-08 01:17:39 -07009731 "phv_number": 289,
9732 "records": [
9733 {
9734 "word_bit_width": 8,
9735 "position_offset": 38,
9736 "phv_lsb": 0,
9737 "is_pov": false,
9738 "field_msb": 15,
9739 "phv_msb": 7,
9740 "is_compiler_generated": false,
9741 "field_name": "tcp_srcPort",
9742 "field_width": 2,
9743 "field_lsb": 8
9744 },
9745 {
9746 "word_bit_width": 8,
9747 "position_offset": 17,
9748 "phv_lsb": 0,
9749 "is_pov": false,
9750 "field_msb": 15,
9751 "phv_msb": 7,
9752 "is_compiler_generated": false,
9753 "field_name": "udp_length_",
9754 "field_width": 2,
9755 "field_lsb": 8
9756 }
9757 ]
9758 },
9759 {
9760 "phv_number": 290,
9761 "records": [
9762 {
9763 "word_bit_width": 8,
9764 "position_offset": 38,
9765 "phv_lsb": 0,
9766 "is_pov": false,
9767 "field_msb": 7,
9768 "phv_msb": 7,
9769 "is_compiler_generated": false,
9770 "field_name": "tcp_srcPort",
9771 "field_width": 2,
9772 "field_lsb": 0
9773 },
9774 {
9775 "word_bit_width": 8,
9776 "position_offset": 17,
9777 "phv_lsb": 0,
9778 "is_pov": false,
9779 "field_msb": 7,
9780 "phv_msb": 7,
9781 "is_compiler_generated": false,
9782 "field_name": "udp_length_",
9783 "field_width": 2,
9784 "field_lsb": 0
9785 }
9786 ]
9787 },
9788 {
9789 "phv_number": 291,
9790 "records": [
9791 {
9792 "word_bit_width": 8,
9793 "position_offset": 35,
9794 "phv_lsb": 0,
9795 "is_pov": false,
9796 "field_msb": 15,
9797 "phv_msb": 7,
9798 "is_compiler_generated": false,
9799 "field_name": "tcp_dstPort",
9800 "field_width": 2,
9801 "field_lsb": 8
9802 }
9803 ]
9804 },
9805 {
9806 "phv_number": 292,
9807 "records": [
9808 {
9809 "word_bit_width": 8,
9810 "position_offset": 35,
9811 "phv_lsb": 0,
9812 "is_pov": false,
9813 "field_msb": 7,
9814 "phv_msb": 7,
9815 "is_compiler_generated": false,
9816 "field_name": "tcp_dstPort",
9817 "field_width": 2,
9818 "field_lsb": 0
9819 }
9820 ]
9821 },
9822 {
9823 "phv_number": 320,
9824 "records": [
9825 {
9826 "word_bit_width": 16,
9827 "position_offset": 4,
9828 "phv_lsb": 8,
9829 "is_pov": false,
9830 "field_msb": 7,
9831 "phv_msb": 15,
9832 "is_compiler_generated": false,
9833 "field_name": "ipv4_diffserv",
9834 "field_width": 1,
9835 "field_lsb": 0
9836 },
9837 {
9838 "word_bit_width": 16,
9839 "position_offset": 63,
9840 "phv_lsb": 0,
9841 "is_pov": false,
9842 "field_msb": 15,
9843 "phv_msb": 7,
9844 "is_compiler_generated": false,
9845 "field_name": "ipv4_totalLen",
9846 "field_width": 2,
9847 "field_lsb": 8
9848 }
9849 ]
9850 },
9851 {
9852 "phv_number": 321,
9853 "records": [
9854 {
9855 "word_bit_width": 16,
9856 "position_offset": 63,
9857 "phv_lsb": 8,
9858 "is_pov": false,
9859 "field_msb": 7,
9860 "phv_msb": 15,
9861 "is_compiler_generated": false,
9862 "field_name": "ipv4_totalLen",
9863 "field_width": 2,
9864 "field_lsb": 0
9865 },
9866 {
9867 "word_bit_width": 16,
9868 "position_offset": 49,
9869 "phv_lsb": 0,
9870 "is_pov": false,
9871 "field_msb": 15,
9872 "phv_msb": 7,
9873 "is_compiler_generated": false,
9874 "field_name": "ipv4_identification",
9875 "field_width": 2,
9876 "field_lsb": 8
9877 }
9878 ]
9879 },
9880 {
9881 "phv_number": 322,
9882 "records": [
9883 {
9884 "word_bit_width": 16,
9885 "position_offset": 76,
9886 "phv_lsb": 0,
9887 "is_pov": false,
9888 "field_msb": 31,
9889 "phv_msb": 15,
9890 "is_compiler_generated": false,
9891 "field_name": "tcp_seqNo",
9892 "field_width": 4,
9893 "field_lsb": 16
9894 },
9895 {
9896 "word_bit_width": 16,
9897 "position_offset": 68,
9898 "phv_lsb": 0,
9899 "is_pov": false,
9900 "field_msb": 15,
9901 "phv_msb": 15,
9902 "is_compiler_generated": false,
9903 "field_name": "udp_checksum",
9904 "field_width": 2,
9905 "field_lsb": 0
9906 }
9907 ]
9908 },
9909 {
9910 "phv_number": 323,
9911 "records": [
9912 {
9913 "word_bit_width": 16,
9914 "position_offset": 76,
9915 "phv_lsb": 0,
9916 "is_pov": false,
9917 "field_msb": 15,
9918 "phv_msb": 15,
9919 "is_compiler_generated": false,
9920 "field_name": "tcp_seqNo",
9921 "field_width": 4,
9922 "field_lsb": 0
9923 }
9924 ]
9925 },
9926 {
9927 "phv_number": 324,
9928 "records": [
9929 {
9930 "word_bit_width": 16,
9931 "position_offset": 28,
9932 "phv_lsb": 0,
9933 "is_pov": false,
9934 "field_msb": 31,
9935 "phv_msb": 15,
9936 "is_compiler_generated": false,
9937 "field_name": "tcp_ackNo",
9938 "field_width": 4,
9939 "field_lsb": 16
9940 }
9941 ]
9942 },
9943 {
9944 "phv_number": 325,
9945 "records": [
9946 {
9947 "word_bit_width": 16,
9948 "position_offset": 28,
9949 "phv_lsb": 0,
9950 "is_pov": false,
9951 "field_msb": 15,
9952 "phv_msb": 15,
9953 "is_compiler_generated": false,
9954 "field_name": "tcp_ackNo",
9955 "field_width": 4,
9956 "field_lsb": 0
9957 }
9958 ]
9959 }
9960 ],
9961 "egress": [
9962 {
9963 "phv_number": 80,
9964 "records": [
9965 {
9966 "word_bit_width": 8,
9967 "position_offset": 7,
9968 "phv_lsb": 0,
9969 "is_pov": false,
9970 "field_msb": 2,
9971 "phv_msb": 2,
9972 "is_compiler_generated": false,
9973 "field_name": "eg_intr_md_egress_cos",
9974 "field_width": 1,
9975 "field_lsb": 0
9976 }
9977 ]
9978 },
9979 {
9980 "phv_number": 81,
9981 "records": [
9982 {
9983 "word_bit_width": 8,
9984 "position_offset": 0,
9985 "phv_lsb": 0,
9986 "is_pov": true,
9987 "pov_headers": [
9988 {
9989 "bit_index": 0,
9990 "position_offset": 73,
9991 "header_name": "packet_in_hdr",
9992 "hidden": false
9993 },
9994 {
9995 "bit_index": 1,
9996 "position_offset": 74,
9997 "header_name": "packet_out_hdr",
9998 "hidden": false
9999 },
10000 {
10001 "bit_index": 2,
10002 "position_offset": 75,
10003 "header_name": "ethernet",
10004 "hidden": false
10005 },
10006 {
10007 "bit_index": 3,
10008 "position_offset": 76,
10009 "header_name": "ipv4",
10010 "hidden": false
10011 },
10012 {
10013 "bit_index": 4,
10014 "position_offset": 77,
10015 "header_name": "tcp",
10016 "hidden": false
10017 },
10018 {
10019 "bit_index": 5,
10020 "position_offset": 78,
10021 "header_name": "udp",
10022 "hidden": false
10023 }
10024 ],
10025 "field_msb": 7,
10026 "phv_msb": 7,
10027 "is_compiler_generated": false,
10028 "field_name": "POV",
10029 "field_width": 0,
10030 "field_lsb": 0
10031 }
10032 ]
10033 },
10034 {
10035 "phv_number": 144,
10036 "records": [
10037 {
10038 "word_bit_width": 16,
10039 "position_offset": 61,
10040 "phv_lsb": 0,
10041 "is_pov": false,
10042 "field_msb": 8,
10043 "phv_msb": 8,
10044 "is_compiler_generated": false,
10045 "field_name": "eg_intr_md_egress_port",
10046 "field_width": 2,
10047 "field_lsb": 0
10048 }
10049 ]
10050 },
10051 {
10052 "phv_number": 264,
10053 "records": [
10054 {
10055 "word_bit_width": 32,
10056 "position_offset": 47,
10057 "phv_lsb": 24,
10058 "is_pov": false,
10059 "field_msb": 7,
10060 "phv_msb": 31,
10061 "is_compiler_generated": false,
10062 "field_name": "ipv4_ttl",
10063 "field_width": 1,
10064 "field_lsb": 0
10065 },
10066 {
10067 "word_bit_width": 32,
10068 "position_offset": 18,
10069 "phv_lsb": 16,
10070 "is_pov": false,
10071 "field_msb": 7,
10072 "phv_msb": 23,
10073 "is_compiler_generated": false,
10074 "field_name": "ipv4_protocol",
10075 "field_width": 1,
10076 "field_lsb": 0
10077 },
10078 {
10079 "word_bit_width": 32,
10080 "position_offset": 9,
10081 "phv_lsb": 0,
10082 "is_pov": false,
10083 "field_msb": 15,
10084 "phv_msb": 15,
10085 "is_compiler_generated": false,
10086 "field_name": "ipv4_hdrChecksum",
10087 "field_width": 2,
10088 "field_lsb": 0
10089 }
10090 ]
10091 },
10092 {
10093 "phv_number": 265,
10094 "records": [
10095 {
10096 "word_bit_width": 32,
10097 "position_offset": 12,
10098 "phv_lsb": 0,
10099 "is_pov": false,
10100 "field_msb": 31,
10101 "phv_msb": 31,
10102 "is_compiler_generated": false,
10103 "field_name": "ipv4_srcAddr",
10104 "field_width": 4,
10105 "field_lsb": 0
10106 }
10107 ]
10108 },
10109 {
10110 "phv_number": 266,
10111 "records": [
10112 {
10113 "word_bit_width": 32,
10114 "position_offset": 50,
10115 "phv_lsb": 0,
10116 "is_pov": false,
10117 "field_msb": 31,
10118 "phv_msb": 31,
10119 "is_compiler_generated": false,
10120 "field_name": "ipv4_dstAddr",
10121 "field_width": 4,
10122 "field_lsb": 0
10123 }
10124 ]
10125 },
10126 {
10127 "phv_number": 267,
10128 "records": [
10129 {
10130 "word_bit_width": 32,
10131 "position_offset": 25,
10132 "phv_lsb": 0,
10133 "is_pov": false,
10134 "field_msb": 31,
10135 "phv_msb": 31,
10136 "is_compiler_generated": false,
10137 "field_name": "tcp_ackNo",
10138 "field_width": 4,
10139 "field_lsb": 0
10140 },
10141 {
10142 "word_bit_width": 32,
10143 "position_offset": 16,
10144 "phv_lsb": 16,
10145 "is_pov": false,
10146 "field_msb": 15,
10147 "phv_msb": 31,
10148 "is_compiler_generated": false,
10149 "field_name": "udp_length_",
10150 "field_width": 2,
10151 "field_lsb": 0
10152 },
10153 {
10154 "word_bit_width": 32,
10155 "position_offset": 59,
10156 "phv_lsb": 0,
10157 "is_pov": false,
10158 "field_msb": 15,
10159 "phv_msb": 15,
10160 "is_compiler_generated": false,
10161 "field_name": "udp_checksum",
10162 "field_width": 2,
10163 "field_lsb": 0
10164 }
10165 ]
10166 },
10167 {
10168 "phv_number": 268,
10169 "records": [
10170 {
10171 "word_bit_width": 32,
10172 "position_offset": 38,
10173 "phv_lsb": 28,
10174 "is_pov": false,
10175 "field_msb": 3,
10176 "phv_msb": 31,
10177 "is_compiler_generated": false,
10178 "field_name": "tcp_dataOffset",
10179 "field_width": 1,
10180 "field_lsb": 0
10181 },
10182 {
10183 "word_bit_width": 32,
10184 "position_offset": 58,
10185 "phv_lsb": 25,
10186 "is_pov": false,
10187 "field_msb": 2,
10188 "phv_msb": 27,
10189 "is_compiler_generated": false,
10190 "field_name": "tcp_res",
10191 "field_width": 1,
10192 "field_lsb": 0
10193 },
10194 {
10195 "word_bit_width": 32,
10196 "position_offset": 11,
10197 "phv_lsb": 22,
10198 "is_pov": false,
10199 "field_msb": 2,
10200 "phv_msb": 24,
10201 "is_compiler_generated": false,
10202 "field_name": "tcp_ecn",
10203 "field_width": 1,
10204 "field_lsb": 0
10205 },
10206 {
10207 "word_bit_width": 32,
10208 "position_offset": 34,
10209 "phv_lsb": 16,
10210 "is_pov": false,
10211 "field_msb": 5,
10212 "phv_msb": 21,
10213 "is_compiler_generated": false,
10214 "field_name": "tcp_ctrl",
10215 "field_width": 1,
10216 "field_lsb": 0
10217 },
10218 {
10219 "word_bit_width": 32,
10220 "position_offset": 41,
10221 "phv_lsb": 0,
10222 "is_pov": false,
10223 "field_msb": 15,
10224 "phv_msb": 15,
10225 "is_compiler_generated": false,
10226 "field_name": "tcp_window",
10227 "field_width": 2,
10228 "field_lsb": 0
10229 }
10230 ]
10231 },
10232 {
10233 "phv_number": 269,
10234 "records": [
10235 {
10236 "word_bit_width": 32,
10237 "position_offset": 2,
10238 "phv_lsb": 16,
10239 "is_pov": false,
10240 "field_msb": 15,
10241 "phv_msb": 31,
10242 "is_compiler_generated": false,
10243 "field_name": "tcp_checksum",
10244 "field_width": 2,
10245 "field_lsb": 0
10246 },
10247 {
10248 "word_bit_width": 32,
10249 "position_offset": 45,
10250 "phv_lsb": 0,
10251 "is_pov": false,
10252 "field_msb": 15,
10253 "phv_msb": 15,
10254 "is_compiler_generated": false,
10255 "field_name": "tcp_urgentPtr",
10256 "field_width": 2,
10257 "field_lsb": 0
10258 }
10259 ]
10260 },
10261 {
10262 "phv_number": 270,
10263 "records": [
10264 {
10265 "word_bit_width": 32,
10266 "position_offset": 19,
10267 "phv_lsb": 0,
10268 "is_pov": false,
10269 "field_msb": 39,
10270 "phv_msb": 31,
10271 "is_compiler_generated": false,
10272 "field_name": "ethernet_dstAddr",
10273 "field_width": 6,
10274 "field_lsb": 8
10275 }
10276 ]
10277 },
10278 {
10279 "phv_number": 271,
10280 "records": [
10281 {
10282 "word_bit_width": 32,
10283 "position_offset": 63,
10284 "phv_lsb": 0,
10285 "is_pov": false,
10286 "field_msb": 31,
10287 "phv_msb": 31,
10288 "is_compiler_generated": false,
10289 "field_name": "ethernet_srcAddr",
10290 "field_width": 6,
10291 "field_lsb": 0
10292 }
10293 ]
10294 },
10295 {
10296 "phv_number": 296,
10297 "records": [
10298 {
10299 "word_bit_width": 8,
10300 "position_offset": 29,
10301 "phv_lsb": 4,
10302 "is_pov": false,
10303 "field_msb": 3,
10304 "phv_msb": 7,
10305 "is_compiler_generated": false,
10306 "field_name": "ipv4_version",
10307 "field_width": 1,
10308 "field_lsb": 0
10309 },
10310 {
10311 "word_bit_width": 8,
10312 "position_offset": 37,
10313 "phv_lsb": 0,
10314 "is_pov": false,
10315 "field_msb": 3,
10316 "phv_msb": 3,
10317 "is_compiler_generated": false,
10318 "field_name": "ipv4_ihl",
10319 "field_width": 1,
10320 "field_lsb": 0
10321 }
10322 ]
10323 },
10324 {
10325 "phv_number": 297,
Carmelo Casconef1d0a422017-09-07 17:21:46 +020010326 "records": [
10327 {
10328 "word_bit_width": 8,
10329 "position_offset": 4,
10330 "phv_lsb": 0,
10331 "is_pov": false,
10332 "field_msb": 7,
10333 "phv_msb": 7,
10334 "is_compiler_generated": false,
10335 "field_name": "ipv4_diffserv",
10336 "field_width": 1,
10337 "field_lsb": 0
10338 }
10339 ]
10340 },
10341 {
Brian O'Connora6862e02017-09-08 01:17:39 -070010342 "phv_number": 298,
Carmelo Casconef1d0a422017-09-07 17:21:46 +020010343 "records": [
10344 {
10345 "word_bit_width": 8,
Brian O'Connora6862e02017-09-08 01:17:39 -070010346 "position_offset": 35,
Carmelo Casconef1d0a422017-09-07 17:21:46 +020010347 "phv_lsb": 0,
10348 "is_pov": false,
10349 "field_msb": 15,
10350 "phv_msb": 7,
10351 "is_compiler_generated": false,
10352 "field_name": "tcp_srcPort",
10353 "field_width": 2,
10354 "field_lsb": 8
10355 },
10356 {
10357 "word_bit_width": 8,
Brian O'Connora6862e02017-09-08 01:17:39 -070010358 "position_offset": 56,
Carmelo Casconef1d0a422017-09-07 17:21:46 +020010359 "phv_lsb": 0,
10360 "is_pov": false,
10361 "field_msb": 15,
10362 "phv_msb": 7,
10363 "is_compiler_generated": false,
10364 "field_name": "udp_srcPort",
10365 "field_width": 2,
10366 "field_lsb": 8
10367 }
10368 ]
10369 },
10370 {
Brian O'Connora6862e02017-09-08 01:17:39 -070010371 "phv_number": 299,
Carmelo Casconef1d0a422017-09-07 17:21:46 +020010372 "records": [
10373 {
10374 "word_bit_width": 8,
Brian O'Connora6862e02017-09-08 01:17:39 -070010375 "position_offset": 35,
Carmelo Casconef1d0a422017-09-07 17:21:46 +020010376 "phv_lsb": 0,
10377 "is_pov": false,
10378 "field_msb": 7,
10379 "phv_msb": 7,
10380 "is_compiler_generated": false,
10381 "field_name": "tcp_srcPort",
10382 "field_width": 2,
10383 "field_lsb": 0
10384 },
10385 {
10386 "word_bit_width": 8,
Brian O'Connora6862e02017-09-08 01:17:39 -070010387 "position_offset": 56,
Carmelo Casconef1d0a422017-09-07 17:21:46 +020010388 "phv_lsb": 0,
10389 "is_pov": false,
10390 "field_msb": 7,
10391 "phv_msb": 7,
10392 "is_compiler_generated": false,
10393 "field_name": "udp_srcPort",
10394 "field_width": 2,
10395 "field_lsb": 0
10396 }
10397 ]
10398 },
10399 {
Brian O'Connora6862e02017-09-08 01:17:39 -070010400 "phv_number": 300,
Carmelo Casconef1d0a422017-09-07 17:21:46 +020010401 "records": [
10402 {
10403 "word_bit_width": 8,
Brian O'Connora6862e02017-09-08 01:17:39 -070010404 "position_offset": 19,
Carmelo Casconef1d0a422017-09-07 17:21:46 +020010405 "phv_lsb": 0,
10406 "is_pov": false,
10407 "field_msb": 47,
10408 "phv_msb": 7,
10409 "is_compiler_generated": false,
10410 "field_name": "ethernet_dstAddr",
10411 "field_width": 6,
10412 "field_lsb": 40
10413 }
10414 ]
10415 },
10416 {
Brian O'Connora6862e02017-09-08 01:17:39 -070010417 "phv_number": 301,
Carmelo Casconef1d0a422017-09-07 17:21:46 +020010418 "records": [
10419 {
10420 "word_bit_width": 8,
Brian O'Connora6862e02017-09-08 01:17:39 -070010421 "position_offset": 63,
Carmelo Casconef1d0a422017-09-07 17:21:46 +020010422 "phv_lsb": 0,
10423 "is_pov": false,
10424 "field_msb": 39,
10425 "phv_msb": 7,
10426 "is_compiler_generated": false,
10427 "field_name": "ethernet_srcAddr",
10428 "field_width": 6,
10429 "field_lsb": 32
10430 }
10431 ]
10432 },
10433 {
Brian O'Connora6862e02017-09-08 01:17:39 -070010434 "phv_number": 332,
Carmelo Casconef1d0a422017-09-07 17:21:46 +020010435 "records": [
10436 {
10437 "word_bit_width": 16,
Brian O'Connora6862e02017-09-08 01:17:39 -070010438 "position_offset": 54,
Carmelo Casconef1d0a422017-09-07 17:21:46 +020010439 "phv_lsb": 0,
10440 "is_pov": false,
10441 "field_msb": 15,
10442 "phv_msb": 15,
10443 "is_compiler_generated": false,
10444 "field_name": "ipv4_totalLen",
10445 "field_width": 2,
10446 "field_lsb": 0
10447 }
10448 ]
10449 },
10450 {
Brian O'Connora6862e02017-09-08 01:17:39 -070010451 "phv_number": 333,
Carmelo Casconef1d0a422017-09-07 17:21:46 +020010452 "records": [
10453 {
10454 "word_bit_width": 16,
Brian O'Connora6862e02017-09-08 01:17:39 -070010455 "position_offset": 43,
Carmelo Casconef1d0a422017-09-07 17:21:46 +020010456 "phv_lsb": 0,
10457 "is_pov": false,
10458 "field_msb": 15,
10459 "phv_msb": 15,
10460 "is_compiler_generated": false,
10461 "field_name": "ipv4_identification",
10462 "field_width": 2,
10463 "field_lsb": 0
10464 }
10465 ]
10466 },
10467 {
Brian O'Connora6862e02017-09-08 01:17:39 -070010468 "phv_number": 334,
Carmelo Casconef1d0a422017-09-07 17:21:46 +020010469 "records": [
10470 {
10471 "word_bit_width": 16,
10472 "position_offset": 8,
10473 "phv_lsb": 13,
10474 "is_pov": false,
10475 "field_msb": 2,
10476 "phv_msb": 15,
10477 "is_compiler_generated": false,
10478 "field_name": "ipv4_flags",
10479 "field_width": 1,
10480 "field_lsb": 0
10481 },
10482 {
10483 "word_bit_width": 16,
10484 "position_offset": 5,
10485 "phv_lsb": 0,
10486 "is_pov": false,
10487 "field_msb": 12,
10488 "phv_msb": 12,
10489 "is_compiler_generated": false,
10490 "field_name": "ipv4_fragOffset",
10491 "field_width": 2,
10492 "field_lsb": 0
10493 }
10494 ]
10495 },
10496 {
Brian O'Connora6862e02017-09-08 01:17:39 -070010497 "phv_number": 335,
Carmelo Casconef1d0a422017-09-07 17:21:46 +020010498 "records": [
10499 {
10500 "word_bit_width": 16,
Brian O'Connora6862e02017-09-08 01:17:39 -070010501 "position_offset": 32,
Carmelo Casconef1d0a422017-09-07 17:21:46 +020010502 "phv_lsb": 0,
10503 "is_pov": false,
10504 "field_msb": 15,
10505 "phv_msb": 15,
10506 "is_compiler_generated": false,
10507 "field_name": "tcp_dstPort",
10508 "field_width": 2,
10509 "field_lsb": 0
Brian O'Connora6862e02017-09-08 01:17:39 -070010510 }
10511 ]
10512 },
10513 {
10514 "phv_number": 336,
10515 "records": [
10516 {
10517 "word_bit_width": 16,
10518 "position_offset": 69,
10519 "phv_lsb": 0,
10520 "is_pov": false,
10521 "field_msb": 31,
10522 "phv_msb": 15,
10523 "is_compiler_generated": false,
10524 "field_name": "tcp_seqNo",
10525 "field_width": 4,
10526 "field_lsb": 16
Carmelo Casconef1d0a422017-09-07 17:21:46 +020010527 },
10528 {
10529 "word_bit_width": 16,
Brian O'Connora6862e02017-09-08 01:17:39 -070010530 "position_offset": 48,
Carmelo Casconef1d0a422017-09-07 17:21:46 +020010531 "phv_lsb": 0,
10532 "is_pov": false,
10533 "field_msb": 15,
10534 "phv_msb": 15,
10535 "is_compiler_generated": false,
10536 "field_name": "udp_dstPort",
10537 "field_width": 2,
10538 "field_lsb": 0
10539 }
10540 ]
10541 },
10542 {
Brian O'Connora6862e02017-09-08 01:17:39 -070010543 "phv_number": 337,
Carmelo Casconef1d0a422017-09-07 17:21:46 +020010544 "records": [
10545 {
10546 "word_bit_width": 16,
Brian O'Connora6862e02017-09-08 01:17:39 -070010547 "position_offset": 69,
Carmelo Casconef1d0a422017-09-07 17:21:46 +020010548 "phv_lsb": 0,
10549 "is_pov": false,
10550 "field_msb": 15,
10551 "phv_msb": 15,
10552 "is_compiler_generated": false,
10553 "field_name": "tcp_seqNo",
10554 "field_width": 4,
10555 "field_lsb": 0
10556 }
10557 ]
10558 },
10559 {
Brian O'Connora6862e02017-09-08 01:17:39 -070010560 "phv_number": 338,
Carmelo Casconef1d0a422017-09-07 17:21:46 +020010561 "records": [
10562 {
10563 "word_bit_width": 16,
Brian O'Connora6862e02017-09-08 01:17:39 -070010564 "position_offset": 19,
Carmelo Casconef1d0a422017-09-07 17:21:46 +020010565 "phv_lsb": 8,
10566 "is_pov": false,
10567 "field_msb": 7,
10568 "phv_msb": 15,
10569 "is_compiler_generated": false,
10570 "field_name": "ethernet_dstAddr",
10571 "field_width": 6,
10572 "field_lsb": 0
10573 },
10574 {
10575 "word_bit_width": 16,
Brian O'Connora6862e02017-09-08 01:17:39 -070010576 "position_offset": 63,
Carmelo Casconef1d0a422017-09-07 17:21:46 +020010577 "phv_lsb": 0,
10578 "is_pov": false,
10579 "field_msb": 47,
10580 "phv_msb": 7,
10581 "is_compiler_generated": false,
10582 "field_name": "ethernet_srcAddr",
10583 "field_width": 6,
10584 "field_lsb": 40
10585 }
10586 ]
10587 },
10588 {
Brian O'Connora6862e02017-09-08 01:17:39 -070010589 "phv_number": 339,
Carmelo Casconef1d0a422017-09-07 17:21:46 +020010590 "records": [
10591 {
10592 "word_bit_width": 16,
Brian O'Connora6862e02017-09-08 01:17:39 -070010593 "position_offset": 39,
Carmelo Casconef1d0a422017-09-07 17:21:46 +020010594 "phv_lsb": 0,
10595 "is_pov": false,
10596 "field_msb": 15,
10597 "phv_msb": 15,
10598 "is_compiler_generated": false,
10599 "field_name": "ethernet_etherType",
10600 "field_width": 2,
10601 "field_lsb": 0
10602 }
10603 ]
10604 },
10605 {
Brian O'Connora6862e02017-09-08 01:17:39 -070010606 "phv_number": 340,
Carmelo Casconef1d0a422017-09-07 17:21:46 +020010607 "records": [
10608 {
10609 "word_bit_width": 16,
10610 "position_offset": 0,
10611 "phv_lsb": 7,
10612 "is_pov": false,
10613 "field_msb": 8,
10614 "phv_msb": 15,
10615 "is_compiler_generated": false,
10616 "field_name": "packet_out_hdr_egress_port",
10617 "field_width": 2,
10618 "field_lsb": 0
Brian O'Connora6862e02017-09-08 01:17:39 -070010619 },
10620 {
10621 "word_bit_width": 16,
10622 "position_offset": 30,
10623 "phv_lsb": 7,
10624 "is_pov": false,
10625 "field_msb": 8,
10626 "phv_msb": 15,
10627 "is_compiler_generated": false,
10628 "field_name": "packet_in_hdr_ingress_port",
10629 "field_width": 2,
10630 "field_lsb": 0
Carmelo Casconef1d0a422017-09-07 17:21:46 +020010631 }
10632 ]
10633 }
10634 ],
10635 "stage_number": 6
10636 },
10637 {
10638 "ingress": [
10639 {
10640 "phv_number": 0,
10641 "records": [
10642 {
10643 "word_bit_width": 32,
10644 "position_offset": 0,
10645 "phv_lsb": 0,
10646 "is_pov": true,
10647 "pov_headers": [],
10648 "field_msb": 31,
10649 "phv_msb": 31,
10650 "is_compiler_generated": false,
10651 "field_name": "POV",
10652 "field_width": 0,
10653 "field_lsb": 0
10654 }
10655 ]
10656 },
10657 {
10658 "phv_number": 1,
10659 "records": [
10660 {
10661 "word_bit_width": 32,
Brian O'Connora6862e02017-09-08 01:17:39 -070010662 "position_offset": 19,
Carmelo Casconef1d0a422017-09-07 17:21:46 +020010663 "phv_lsb": 24,
10664 "is_pov": false,
10665 "field_msb": 7,
10666 "phv_msb": 31,
10667 "is_compiler_generated": false,
10668 "field_name": "ipv4_protocol",
10669 "field_width": 1,
10670 "field_lsb": 0
10671 },
10672 {
10673 "word_bit_width": 32,
10674 "position_offset": 10,
10675 "phv_lsb": 8,
10676 "is_pov": false,
10677 "field_msb": 15,
10678 "phv_msb": 23,
10679 "is_compiler_generated": false,
10680 "field_name": "ipv4_hdrChecksum",
10681 "field_width": 2,
10682 "field_lsb": 0
10683 },
10684 {
10685 "word_bit_width": 32,
Brian O'Connora6862e02017-09-08 01:17:39 -070010686 "position_offset": 13,
Carmelo Casconef1d0a422017-09-07 17:21:46 +020010687 "phv_lsb": 0,
10688 "is_pov": false,
10689 "field_msb": 31,
10690 "phv_msb": 7,
10691 "is_compiler_generated": false,
10692 "field_name": "ipv4_srcAddr",
10693 "field_width": 4,
10694 "field_lsb": 24
10695 }
10696 ]
10697 },
10698 {
10699 "phv_number": 2,
10700 "records": [
10701 {
10702 "word_bit_width": 32,
Brian O'Connora6862e02017-09-08 01:17:39 -070010703 "position_offset": 57,
Carmelo Casconef1d0a422017-09-07 17:21:46 +020010704 "phv_lsb": 0,
10705 "is_pov": false,
10706 "field_msb": 31,
10707 "phv_msb": 31,
10708 "is_compiler_generated": false,
10709 "field_name": "ipv4_dstAddr",
10710 "field_width": 4,
10711 "field_lsb": 0
10712 }
10713 ]
10714 },
10715 {
10716 "phv_number": 3,
10717 "records": [
10718 {
10719 "word_bit_width": 32,
Brian O'Connora6862e02017-09-08 01:17:39 -070010720 "position_offset": 22,
Carmelo Casconef1d0a422017-09-07 17:21:46 +020010721 "phv_lsb": 0,
10722 "is_pov": false,
10723 "field_msb": 39,
10724 "phv_msb": 31,
10725 "is_compiler_generated": false,
10726 "field_name": "ethernet_dstAddr",
10727 "field_width": 6,
10728 "field_lsb": 8
10729 }
10730 ]
10731 },
10732 {
10733 "phv_number": 4,
10734 "records": [
10735 {
10736 "word_bit_width": 32,
Brian O'Connora6862e02017-09-08 01:17:39 -070010737 "position_offset": 70,
Carmelo Casconef1d0a422017-09-07 17:21:46 +020010738 "phv_lsb": 0,
10739 "is_pov": false,
10740 "field_msb": 31,
10741 "phv_msb": 31,
10742 "is_compiler_generated": false,
10743 "field_name": "ethernet_srcAddr",
10744 "field_width": 6,
10745 "field_lsb": 0
10746 }
10747 ]
10748 },
10749 {
10750 "phv_number": 5,
10751 "records": [
10752 {
10753 "word_bit_width": 32,
Brian O'Connora6862e02017-09-08 01:17:39 -070010754 "position_offset": 66,
Carmelo Casconef1d0a422017-09-07 17:21:46 +020010755 "phv_lsb": 16,
10756 "is_pov": false,
10757 "field_msb": 15,
10758 "phv_msb": 31,
10759 "is_compiler_generated": false,
10760 "field_name": "udp_srcPort",
10761 "field_width": 2,
10762 "field_lsb": 0
10763 },
10764 {
10765 "word_bit_width": 32,
Brian O'Connora6862e02017-09-08 01:17:39 -070010766 "position_offset": 55,
Carmelo Casconef1d0a422017-09-07 17:21:46 +020010767 "phv_lsb": 0,
10768 "is_pov": false,
10769 "field_msb": 15,
10770 "phv_msb": 15,
10771 "is_compiler_generated": false,
10772 "field_name": "udp_dstPort",
10773 "field_width": 2,
10774 "field_lsb": 0
10775 }
10776 ]
10777 },
10778 {
10779 "phv_number": 64,
10780 "records": [
10781 {
10782 "word_bit_width": 8,
Brian O'Connora6862e02017-09-08 01:17:39 -070010783 "position_offset": 13,
Carmelo Casconef1d0a422017-09-07 17:21:46 +020010784 "phv_lsb": 0,
10785 "is_pov": false,
10786 "field_msb": 23,
10787 "phv_msb": 7,
10788 "is_compiler_generated": false,
10789 "field_name": "ipv4_srcAddr",
10790 "field_width": 4,
10791 "field_lsb": 16
10792 }
10793 ]
10794 },
10795 {
Brian O'Connora6862e02017-09-08 01:17:39 -070010796 "phv_number": 65,
Carmelo Casconef1d0a422017-09-07 17:21:46 +020010797 "records": [
10798 {
10799 "word_bit_width": 8,
Brian O'Connora6862e02017-09-08 01:17:39 -070010800 "position_offset": 22,
Carmelo Casconef1d0a422017-09-07 17:21:46 +020010801 "phv_lsb": 0,
10802 "is_pov": false,
10803 "field_msb": 47,
10804 "phv_msb": 7,
10805 "is_compiler_generated": false,
10806 "field_name": "ethernet_dstAddr",
10807 "field_width": 6,
10808 "field_lsb": 40
10809 }
10810 ]
10811 },
10812 {
Brian O'Connora6862e02017-09-08 01:17:39 -070010813 "phv_number": 66,
Carmelo Casconef1d0a422017-09-07 17:21:46 +020010814 "records": [
10815 {
10816 "word_bit_width": 8,
Brian O'Connora6862e02017-09-08 01:17:39 -070010817 "position_offset": 70,
Carmelo Casconef1d0a422017-09-07 17:21:46 +020010818 "phv_lsb": 0,
10819 "is_pov": false,
10820 "field_msb": 39,
10821 "phv_msb": 7,
10822 "is_compiler_generated": false,
10823 "field_name": "ethernet_srcAddr",
10824 "field_width": 6,
10825 "field_lsb": 32
10826 }
10827 ]
10828 },
10829 {
Brian O'Connora6862e02017-09-08 01:17:39 -070010830 "phv_number": 67,
Carmelo Casconef1d0a422017-09-07 17:21:46 +020010831 "records": [
10832 {
10833 "word_bit_width": 8,
10834 "position_offset": 0,
10835 "phv_lsb": 0,
10836 "is_pov": true,
10837 "pov_headers": [
10838 {
10839 "bit_index": 0,
Brian O'Connora6862e02017-09-08 01:17:39 -070010840 "position_offset": 80,
Carmelo Casconef1d0a422017-09-07 17:21:46 +020010841 "header_name": "packet_in_hdr",
10842 "hidden": false
10843 },
10844 {
10845 "bit_index": 1,
Brian O'Connora6862e02017-09-08 01:17:39 -070010846 "position_offset": 81,
Carmelo Casconef1d0a422017-09-07 17:21:46 +020010847 "header_name": "packet_out_hdr",
10848 "hidden": false
10849 },
10850 {
10851 "bit_index": 2,
Brian O'Connora6862e02017-09-08 01:17:39 -070010852 "position_offset": 82,
Carmelo Casconef1d0a422017-09-07 17:21:46 +020010853 "header_name": "ethernet",
10854 "hidden": false
10855 },
10856 {
10857 "bit_index": 3,
Brian O'Connora6862e02017-09-08 01:17:39 -070010858 "position_offset": 83,
Carmelo Casconef1d0a422017-09-07 17:21:46 +020010859 "header_name": "ipv4",
10860 "hidden": false
10861 },
10862 {
10863 "bit_index": 4,
Brian O'Connora6862e02017-09-08 01:17:39 -070010864 "position_offset": 84,
Carmelo Casconef1d0a422017-09-07 17:21:46 +020010865 "header_name": "tcp",
10866 "hidden": false
10867 },
10868 {
10869 "bit_index": 5,
Brian O'Connora6862e02017-09-08 01:17:39 -070010870 "position_offset": 85,
Carmelo Casconef1d0a422017-09-07 17:21:46 +020010871 "header_name": "udp",
10872 "hidden": false
10873 }
10874 ],
10875 "field_msb": 39,
10876 "phv_msb": 7,
10877 "is_compiler_generated": false,
10878 "field_name": "POV",
10879 "field_width": 0,
10880 "field_lsb": 32
10881 }
10882 ]
10883 },
10884 {
Brian O'Connora6862e02017-09-08 01:17:39 -070010885 "phv_number": 68,
Carmelo Casconef1d0a422017-09-07 17:21:46 +020010886 "records": [
10887 {
10888 "word_bit_width": 8,
Brian O'Connora6862e02017-09-08 01:17:39 -070010889 "position_offset": 51,
Carmelo Casconef1d0a422017-09-07 17:21:46 +020010890 "phv_lsb": 5,
10891 "is_pov": false,
10892 "field_msb": 2,
10893 "phv_msb": 7,
10894 "is_compiler_generated": false,
10895 "field_name": "ig_intr_md_for_tm_drop_ctl",
10896 "field_width": 1,
10897 "field_lsb": 0
10898 }
10899 ]
10900 },
10901 {
10902 "phv_number": 128,
10903 "records": [
10904 {
10905 "word_bit_width": 16,
Brian O'Connora6862e02017-09-08 01:17:39 -070010906 "position_offset": 32,
Carmelo Casconef1d0a422017-09-07 17:21:46 +020010907 "phv_lsb": 15,
10908 "is_pov": false,
10909 "field_msb": 0,
10910 "phv_msb": 15,
10911 "is_compiler_generated": false,
10912 "field_name": "ig_intr_md_resubmit_flag",
10913 "field_width": 1,
10914 "field_lsb": 0
10915 },
10916 {
10917 "word_bit_width": 16,
10918 "position_offset": 8,
10919 "phv_lsb": 0,
10920 "is_pov": false,
10921 "field_msb": 8,
10922 "phv_msb": 8,
10923 "is_compiler_generated": false,
10924 "field_name": "ig_intr_md_ingress_port",
10925 "field_width": 2,
10926 "field_lsb": 0
10927 }
10928 ]
10929 },
10930 {
10931 "phv_number": 129,
10932 "records": [
10933 {
10934 "word_bit_width": 16,
10935 "position_offset": 0,
10936 "phv_lsb": 7,
10937 "is_pov": false,
10938 "field_msb": 8,
10939 "phv_msb": 15,
10940 "is_compiler_generated": false,
10941 "field_name": "packet_out_hdr_egress_port",
10942 "field_width": 2,
10943 "field_lsb": 0
10944 },
10945 {
10946 "word_bit_width": 16,
Brian O'Connora6862e02017-09-08 01:17:39 -070010947 "position_offset": 33,
Carmelo Casconef1d0a422017-09-07 17:21:46 +020010948 "phv_lsb": 7,
10949 "is_pov": false,
10950 "field_msb": 8,
10951 "phv_msb": 15,
10952 "is_compiler_generated": false,
10953 "field_name": "packet_in_hdr_ingress_port",
10954 "field_width": 2,
10955 "field_lsb": 0
10956 }
10957 ]
10958 },
10959 {
10960 "phv_number": 130,
10961 "records": [
10962 {
10963 "word_bit_width": 16,
Brian O'Connora6862e02017-09-08 01:17:39 -070010964 "position_offset": 41,
Carmelo Casconef1d0a422017-09-07 17:21:46 +020010965 "phv_lsb": 0,
10966 "is_pov": false,
10967 "field_msb": 8,
10968 "phv_msb": 8,
10969 "is_compiler_generated": false,
10970 "field_name": "ig_intr_md_for_tm_ucast_egress_port",
10971 "field_width": 2,
10972 "field_lsb": 0
10973 }
10974 ]
10975 },
10976 {
10977 "phv_number": 131,
10978 "records": [
10979 {
10980 "word_bit_width": 16,
Brian O'Connora6862e02017-09-08 01:17:39 -070010981 "position_offset": 13,
Carmelo Casconef1d0a422017-09-07 17:21:46 +020010982 "phv_lsb": 0,
10983 "is_pov": false,
10984 "field_msb": 15,
10985 "phv_msb": 15,
10986 "is_compiler_generated": false,
10987 "field_name": "ipv4_srcAddr",
10988 "field_width": 4,
10989 "field_lsb": 0
10990 }
10991 ]
10992 },
10993 {
10994 "phv_number": 132,
10995 "records": [
10996 {
10997 "word_bit_width": 16,
Brian O'Connora6862e02017-09-08 01:17:39 -070010998 "position_offset": 22,
Carmelo Casconef1d0a422017-09-07 17:21:46 +020010999 "phv_lsb": 8,
11000 "is_pov": false,
11001 "field_msb": 7,
11002 "phv_msb": 15,
11003 "is_compiler_generated": false,
11004 "field_name": "ethernet_dstAddr",
11005 "field_width": 6,
11006 "field_lsb": 0
11007 },
11008 {
11009 "word_bit_width": 16,
Brian O'Connora6862e02017-09-08 01:17:39 -070011010 "position_offset": 70,
Carmelo Casconef1d0a422017-09-07 17:21:46 +020011011 "phv_lsb": 0,
11012 "is_pov": false,
11013 "field_msb": 47,
11014 "phv_msb": 7,
11015 "is_compiler_generated": false,
11016 "field_name": "ethernet_srcAddr",
11017 "field_width": 6,
11018 "field_lsb": 40
11019 }
11020 ]
11021 },
11022 {
11023 "phv_number": 133,
11024 "records": [
11025 {
11026 "word_bit_width": 16,
11027 "position_offset": 5,
11028 "phv_lsb": 0,
11029 "is_pov": false,
11030 "field_msb": 15,
11031 "phv_msb": 15,
11032 "is_compiler_generated": false,
11033 "field_name": "ethernet_etherType",
11034 "field_width": 2,
11035 "field_lsb": 0
11036 }
11037 ]
11038 },
11039 {
11040 "phv_number": 134,
11041 "records": [
11042 {
11043 "word_bit_width": 16,
Brian O'Connora6862e02017-09-08 01:17:39 -070011044 "position_offset": 20,
Carmelo Casconef1d0a422017-09-07 17:21:46 +020011045 "phv_lsb": 0,
11046 "is_pov": false,
11047 "field_msb": 15,
11048 "phv_msb": 15,
11049 "is_compiler_generated": false,
11050 "field_name": "ecmp_metadata_groupId",
11051 "field_width": 2,
11052 "field_lsb": 0
11053 }
11054 ]
11055 },
11056 {
11057 "phv_number": 135,
11058 "records": [
11059 {
11060 "word_bit_width": 16,
Brian O'Connora6862e02017-09-08 01:17:39 -070011061 "position_offset": 61,
Carmelo Casconef1d0a422017-09-07 17:21:46 +020011062 "phv_lsb": 0,
11063 "is_pov": false,
11064 "field_msb": 15,
11065 "phv_msb": 15,
11066 "is_compiler_generated": false,
11067 "field_name": "ecmp_metadata_selector",
11068 "field_width": 2,
11069 "field_lsb": 0
11070 }
11071 ]
11072 },
11073 {
11074 "phv_number": 256,
11075 "records": [
11076 {
11077 "word_bit_width": 32,
Brian O'Connora6862e02017-09-08 01:17:39 -070011078 "position_offset": 49,
Carmelo Casconef1d0a422017-09-07 17:21:46 +020011079 "phv_lsb": 24,
11080 "is_pov": false,
11081 "field_msb": 7,
11082 "phv_msb": 31,
11083 "is_compiler_generated": false,
11084 "field_name": "ipv4_identification",
11085 "field_width": 2,
11086 "field_lsb": 0
11087 },
11088 {
11089 "word_bit_width": 32,
11090 "position_offset": 7,
11091 "phv_lsb": 21,
11092 "is_pov": false,
11093 "field_msb": 2,
11094 "phv_msb": 23,
11095 "is_compiler_generated": false,
11096 "field_name": "ipv4_flags",
11097 "field_width": 1,
11098 "field_lsb": 0
11099 },
11100 {
11101 "word_bit_width": 32,
Brian O'Connora6862e02017-09-08 01:17:39 -070011102 "position_offset": 44,
Carmelo Casconef1d0a422017-09-07 17:21:46 +020011103 "phv_lsb": 8,
11104 "is_pov": false,
11105 "field_msb": 12,
11106 "phv_msb": 20,
11107 "is_compiler_generated": false,
11108 "field_name": "ipv4_fragOffset",
11109 "field_width": 2,
11110 "field_lsb": 0
11111 },
11112 {
11113 "word_bit_width": 32,
Brian O'Connora6862e02017-09-08 01:17:39 -070011114 "position_offset": 54,
Carmelo Casconef1d0a422017-09-07 17:21:46 +020011115 "phv_lsb": 0,
11116 "is_pov": false,
11117 "field_msb": 7,
11118 "phv_msb": 7,
11119 "is_compiler_generated": false,
11120 "field_name": "ipv4_ttl",
11121 "field_width": 1,
11122 "field_lsb": 0
11123 }
11124 ]
11125 },
11126 {
11127 "phv_number": 257,
11128 "records": [
11129 {
11130 "word_bit_width": 32,
Brian O'Connora6862e02017-09-08 01:17:39 -070011131 "position_offset": 43,
Carmelo Casconef1d0a422017-09-07 17:21:46 +020011132 "phv_lsb": 28,
11133 "is_pov": false,
11134 "field_msb": 3,
11135 "phv_msb": 31,
11136 "is_compiler_generated": false,
11137 "field_name": "tcp_dataOffset",
11138 "field_width": 1,
11139 "field_lsb": 0
11140 },
11141 {
11142 "word_bit_width": 32,
Brian O'Connora6862e02017-09-08 01:17:39 -070011143 "position_offset": 48,
Carmelo Casconef1d0a422017-09-07 17:21:46 +020011144 "phv_lsb": 25,
11145 "is_pov": false,
11146 "field_msb": 2,
11147 "phv_msb": 27,
11148 "is_compiler_generated": false,
11149 "field_name": "tcp_res",
11150 "field_width": 1,
11151 "field_lsb": 0
11152 },
11153 {
11154 "word_bit_width": 32,
Brian O'Connora6862e02017-09-08 01:17:39 -070011155 "position_offset": 12,
Carmelo Casconef1d0a422017-09-07 17:21:46 +020011156 "phv_lsb": 22,
11157 "is_pov": false,
11158 "field_msb": 2,
11159 "phv_msb": 24,
11160 "is_compiler_generated": false,
11161 "field_name": "tcp_ecn",
11162 "field_width": 1,
11163 "field_lsb": 0
11164 },
11165 {
11166 "word_bit_width": 32,
11167 "position_offset": 37,
11168 "phv_lsb": 16,
11169 "is_pov": false,
11170 "field_msb": 5,
11171 "phv_msb": 21,
11172 "is_compiler_generated": false,
11173 "field_name": "tcp_ctrl",
11174 "field_width": 1,
11175 "field_lsb": 0
11176 },
11177 {
11178 "word_bit_width": 32,
Brian O'Connora6862e02017-09-08 01:17:39 -070011179 "position_offset": 46,
Carmelo Casconef1d0a422017-09-07 17:21:46 +020011180 "phv_lsb": 0,
11181 "is_pov": false,
11182 "field_msb": 15,
11183 "phv_msb": 15,
11184 "is_compiler_generated": false,
11185 "field_name": "tcp_window",
11186 "field_width": 2,
11187 "field_lsb": 0
11188 }
11189 ]
11190 },
11191 {
Brian O'Connora6862e02017-09-08 01:17:39 -070011192 "phv_number": 258,
Carmelo Casconef1d0a422017-09-07 17:21:46 +020011193 "records": [
11194 {
11195 "word_bit_width": 32,
11196 "position_offset": 2,
11197 "phv_lsb": 16,
11198 "is_pov": false,
11199 "field_msb": 15,
11200 "phv_msb": 31,
11201 "is_compiler_generated": false,
11202 "field_name": "tcp_checksum",
11203 "field_width": 2,
11204 "field_lsb": 0
11205 },
11206 {
11207 "word_bit_width": 32,
Brian O'Connora6862e02017-09-08 01:17:39 -070011208 "position_offset": 52,
Carmelo Casconef1d0a422017-09-07 17:21:46 +020011209 "phv_lsb": 0,
11210 "is_pov": false,
11211 "field_msb": 15,
11212 "phv_msb": 15,
11213 "is_compiler_generated": false,
11214 "field_name": "tcp_urgentPtr",
11215 "field_width": 2,
11216 "field_lsb": 0
11217 }
11218 ]
11219 },
11220 {
Brian O'Connora6862e02017-09-08 01:17:39 -070011221 "phv_number": 288,
Carmelo Casconef1d0a422017-09-07 17:21:46 +020011222 "records": [
11223 {
11224 "word_bit_width": 8,
Brian O'Connora6862e02017-09-08 01:17:39 -070011225 "position_offset": 65,
Carmelo Casconef1d0a422017-09-07 17:21:46 +020011226 "phv_lsb": 4,
11227 "is_pov": false,
11228 "field_msb": 3,
11229 "phv_msb": 7,
11230 "is_compiler_generated": false,
11231 "field_name": "ipv4_version",
11232 "field_width": 1,
11233 "field_lsb": 0
11234 },
11235 {
11236 "word_bit_width": 8,
11237 "position_offset": 40,
11238 "phv_lsb": 0,
11239 "is_pov": false,
11240 "field_msb": 3,
11241 "phv_msb": 3,
11242 "is_compiler_generated": false,
11243 "field_name": "ipv4_ihl",
11244 "field_width": 1,
11245 "field_lsb": 0
11246 }
11247 ]
11248 },
11249 {
Brian O'Connora6862e02017-09-08 01:17:39 -070011250 "phv_number": 289,
11251 "records": [
11252 {
11253 "word_bit_width": 8,
11254 "position_offset": 38,
11255 "phv_lsb": 0,
11256 "is_pov": false,
11257 "field_msb": 15,
11258 "phv_msb": 7,
11259 "is_compiler_generated": false,
11260 "field_name": "tcp_srcPort",
11261 "field_width": 2,
11262 "field_lsb": 8
11263 },
11264 {
11265 "word_bit_width": 8,
11266 "position_offset": 17,
11267 "phv_lsb": 0,
11268 "is_pov": false,
11269 "field_msb": 15,
11270 "phv_msb": 7,
11271 "is_compiler_generated": false,
11272 "field_name": "udp_length_",
11273 "field_width": 2,
11274 "field_lsb": 8
11275 }
11276 ]
11277 },
11278 {
11279 "phv_number": 290,
11280 "records": [
11281 {
11282 "word_bit_width": 8,
11283 "position_offset": 38,
11284 "phv_lsb": 0,
11285 "is_pov": false,
11286 "field_msb": 7,
11287 "phv_msb": 7,
11288 "is_compiler_generated": false,
11289 "field_name": "tcp_srcPort",
11290 "field_width": 2,
11291 "field_lsb": 0
11292 },
11293 {
11294 "word_bit_width": 8,
11295 "position_offset": 17,
11296 "phv_lsb": 0,
11297 "is_pov": false,
11298 "field_msb": 7,
11299 "phv_msb": 7,
11300 "is_compiler_generated": false,
11301 "field_name": "udp_length_",
11302 "field_width": 2,
11303 "field_lsb": 0
11304 }
11305 ]
11306 },
11307 {
11308 "phv_number": 291,
11309 "records": [
11310 {
11311 "word_bit_width": 8,
11312 "position_offset": 35,
11313 "phv_lsb": 0,
11314 "is_pov": false,
11315 "field_msb": 15,
11316 "phv_msb": 7,
11317 "is_compiler_generated": false,
11318 "field_name": "tcp_dstPort",
11319 "field_width": 2,
11320 "field_lsb": 8
11321 }
11322 ]
11323 },
11324 {
11325 "phv_number": 292,
11326 "records": [
11327 {
11328 "word_bit_width": 8,
11329 "position_offset": 35,
11330 "phv_lsb": 0,
11331 "is_pov": false,
11332 "field_msb": 7,
11333 "phv_msb": 7,
11334 "is_compiler_generated": false,
11335 "field_name": "tcp_dstPort",
11336 "field_width": 2,
11337 "field_lsb": 0
11338 }
11339 ]
11340 },
11341 {
11342 "phv_number": 320,
11343 "records": [
11344 {
11345 "word_bit_width": 16,
11346 "position_offset": 4,
11347 "phv_lsb": 8,
11348 "is_pov": false,
11349 "field_msb": 7,
11350 "phv_msb": 15,
11351 "is_compiler_generated": false,
11352 "field_name": "ipv4_diffserv",
11353 "field_width": 1,
11354 "field_lsb": 0
11355 },
11356 {
11357 "word_bit_width": 16,
11358 "position_offset": 63,
11359 "phv_lsb": 0,
11360 "is_pov": false,
11361 "field_msb": 15,
11362 "phv_msb": 7,
11363 "is_compiler_generated": false,
11364 "field_name": "ipv4_totalLen",
11365 "field_width": 2,
11366 "field_lsb": 8
11367 }
11368 ]
11369 },
11370 {
11371 "phv_number": 321,
11372 "records": [
11373 {
11374 "word_bit_width": 16,
11375 "position_offset": 63,
11376 "phv_lsb": 8,
11377 "is_pov": false,
11378 "field_msb": 7,
11379 "phv_msb": 15,
11380 "is_compiler_generated": false,
11381 "field_name": "ipv4_totalLen",
11382 "field_width": 2,
11383 "field_lsb": 0
11384 },
11385 {
11386 "word_bit_width": 16,
11387 "position_offset": 49,
11388 "phv_lsb": 0,
11389 "is_pov": false,
11390 "field_msb": 15,
11391 "phv_msb": 7,
11392 "is_compiler_generated": false,
11393 "field_name": "ipv4_identification",
11394 "field_width": 2,
11395 "field_lsb": 8
11396 }
11397 ]
11398 },
11399 {
11400 "phv_number": 322,
11401 "records": [
11402 {
11403 "word_bit_width": 16,
11404 "position_offset": 76,
11405 "phv_lsb": 0,
11406 "is_pov": false,
11407 "field_msb": 31,
11408 "phv_msb": 15,
11409 "is_compiler_generated": false,
11410 "field_name": "tcp_seqNo",
11411 "field_width": 4,
11412 "field_lsb": 16
11413 },
11414 {
11415 "word_bit_width": 16,
11416 "position_offset": 68,
11417 "phv_lsb": 0,
11418 "is_pov": false,
11419 "field_msb": 15,
11420 "phv_msb": 15,
11421 "is_compiler_generated": false,
11422 "field_name": "udp_checksum",
11423 "field_width": 2,
11424 "field_lsb": 0
11425 }
11426 ]
11427 },
11428 {
11429 "phv_number": 323,
11430 "records": [
11431 {
11432 "word_bit_width": 16,
11433 "position_offset": 76,
11434 "phv_lsb": 0,
11435 "is_pov": false,
11436 "field_msb": 15,
11437 "phv_msb": 15,
11438 "is_compiler_generated": false,
11439 "field_name": "tcp_seqNo",
11440 "field_width": 4,
11441 "field_lsb": 0
11442 }
11443 ]
11444 },
11445 {
11446 "phv_number": 324,
11447 "records": [
11448 {
11449 "word_bit_width": 16,
11450 "position_offset": 28,
11451 "phv_lsb": 0,
11452 "is_pov": false,
11453 "field_msb": 31,
11454 "phv_msb": 15,
11455 "is_compiler_generated": false,
11456 "field_name": "tcp_ackNo",
11457 "field_width": 4,
11458 "field_lsb": 16
11459 }
11460 ]
11461 },
11462 {
11463 "phv_number": 325,
11464 "records": [
11465 {
11466 "word_bit_width": 16,
11467 "position_offset": 28,
11468 "phv_lsb": 0,
11469 "is_pov": false,
11470 "field_msb": 15,
11471 "phv_msb": 15,
11472 "is_compiler_generated": false,
11473 "field_name": "tcp_ackNo",
11474 "field_width": 4,
11475 "field_lsb": 0
11476 }
11477 ]
11478 }
11479 ],
11480 "egress": [
11481 {
11482 "phv_number": 80,
11483 "records": [
11484 {
11485 "word_bit_width": 8,
11486 "position_offset": 7,
11487 "phv_lsb": 0,
11488 "is_pov": false,
11489 "field_msb": 2,
11490 "phv_msb": 2,
11491 "is_compiler_generated": false,
11492 "field_name": "eg_intr_md_egress_cos",
11493 "field_width": 1,
11494 "field_lsb": 0
11495 }
11496 ]
11497 },
11498 {
11499 "phv_number": 81,
11500 "records": [
11501 {
11502 "word_bit_width": 8,
11503 "position_offset": 0,
11504 "phv_lsb": 0,
11505 "is_pov": true,
11506 "pov_headers": [
11507 {
11508 "bit_index": 0,
11509 "position_offset": 73,
11510 "header_name": "packet_in_hdr",
11511 "hidden": false
11512 },
11513 {
11514 "bit_index": 1,
11515 "position_offset": 74,
11516 "header_name": "packet_out_hdr",
11517 "hidden": false
11518 },
11519 {
11520 "bit_index": 2,
11521 "position_offset": 75,
11522 "header_name": "ethernet",
11523 "hidden": false
11524 },
11525 {
11526 "bit_index": 3,
11527 "position_offset": 76,
11528 "header_name": "ipv4",
11529 "hidden": false
11530 },
11531 {
11532 "bit_index": 4,
11533 "position_offset": 77,
11534 "header_name": "tcp",
11535 "hidden": false
11536 },
11537 {
11538 "bit_index": 5,
11539 "position_offset": 78,
11540 "header_name": "udp",
11541 "hidden": false
11542 }
11543 ],
11544 "field_msb": 7,
11545 "phv_msb": 7,
11546 "is_compiler_generated": false,
11547 "field_name": "POV",
11548 "field_width": 0,
11549 "field_lsb": 0
11550 }
11551 ]
11552 },
11553 {
11554 "phv_number": 144,
11555 "records": [
11556 {
11557 "word_bit_width": 16,
11558 "position_offset": 61,
11559 "phv_lsb": 0,
11560 "is_pov": false,
11561 "field_msb": 8,
11562 "phv_msb": 8,
11563 "is_compiler_generated": false,
11564 "field_name": "eg_intr_md_egress_port",
11565 "field_width": 2,
11566 "field_lsb": 0
11567 }
11568 ]
11569 },
11570 {
11571 "phv_number": 264,
11572 "records": [
11573 {
11574 "word_bit_width": 32,
11575 "position_offset": 47,
11576 "phv_lsb": 24,
11577 "is_pov": false,
11578 "field_msb": 7,
11579 "phv_msb": 31,
11580 "is_compiler_generated": false,
11581 "field_name": "ipv4_ttl",
11582 "field_width": 1,
11583 "field_lsb": 0
11584 },
11585 {
11586 "word_bit_width": 32,
11587 "position_offset": 18,
11588 "phv_lsb": 16,
11589 "is_pov": false,
11590 "field_msb": 7,
11591 "phv_msb": 23,
11592 "is_compiler_generated": false,
11593 "field_name": "ipv4_protocol",
11594 "field_width": 1,
11595 "field_lsb": 0
11596 },
11597 {
11598 "word_bit_width": 32,
11599 "position_offset": 9,
11600 "phv_lsb": 0,
11601 "is_pov": false,
11602 "field_msb": 15,
11603 "phv_msb": 15,
11604 "is_compiler_generated": false,
11605 "field_name": "ipv4_hdrChecksum",
11606 "field_width": 2,
11607 "field_lsb": 0
11608 }
11609 ]
11610 },
11611 {
11612 "phv_number": 265,
11613 "records": [
11614 {
11615 "word_bit_width": 32,
11616 "position_offset": 12,
11617 "phv_lsb": 0,
11618 "is_pov": false,
11619 "field_msb": 31,
11620 "phv_msb": 31,
11621 "is_compiler_generated": false,
11622 "field_name": "ipv4_srcAddr",
11623 "field_width": 4,
11624 "field_lsb": 0
11625 }
11626 ]
11627 },
11628 {
11629 "phv_number": 266,
11630 "records": [
11631 {
11632 "word_bit_width": 32,
11633 "position_offset": 50,
11634 "phv_lsb": 0,
11635 "is_pov": false,
11636 "field_msb": 31,
11637 "phv_msb": 31,
11638 "is_compiler_generated": false,
11639 "field_name": "ipv4_dstAddr",
11640 "field_width": 4,
11641 "field_lsb": 0
11642 }
11643 ]
11644 },
11645 {
11646 "phv_number": 267,
11647 "records": [
11648 {
11649 "word_bit_width": 32,
11650 "position_offset": 25,
11651 "phv_lsb": 0,
11652 "is_pov": false,
11653 "field_msb": 31,
11654 "phv_msb": 31,
11655 "is_compiler_generated": false,
11656 "field_name": "tcp_ackNo",
11657 "field_width": 4,
11658 "field_lsb": 0
11659 },
11660 {
11661 "word_bit_width": 32,
11662 "position_offset": 16,
11663 "phv_lsb": 16,
11664 "is_pov": false,
11665 "field_msb": 15,
11666 "phv_msb": 31,
11667 "is_compiler_generated": false,
11668 "field_name": "udp_length_",
11669 "field_width": 2,
11670 "field_lsb": 0
11671 },
11672 {
11673 "word_bit_width": 32,
11674 "position_offset": 59,
11675 "phv_lsb": 0,
11676 "is_pov": false,
11677 "field_msb": 15,
11678 "phv_msb": 15,
11679 "is_compiler_generated": false,
11680 "field_name": "udp_checksum",
11681 "field_width": 2,
11682 "field_lsb": 0
11683 }
11684 ]
11685 },
11686 {
11687 "phv_number": 268,
11688 "records": [
11689 {
11690 "word_bit_width": 32,
11691 "position_offset": 38,
11692 "phv_lsb": 28,
11693 "is_pov": false,
11694 "field_msb": 3,
11695 "phv_msb": 31,
11696 "is_compiler_generated": false,
11697 "field_name": "tcp_dataOffset",
11698 "field_width": 1,
11699 "field_lsb": 0
11700 },
11701 {
11702 "word_bit_width": 32,
11703 "position_offset": 58,
11704 "phv_lsb": 25,
11705 "is_pov": false,
11706 "field_msb": 2,
11707 "phv_msb": 27,
11708 "is_compiler_generated": false,
11709 "field_name": "tcp_res",
11710 "field_width": 1,
11711 "field_lsb": 0
11712 },
11713 {
11714 "word_bit_width": 32,
11715 "position_offset": 11,
11716 "phv_lsb": 22,
11717 "is_pov": false,
11718 "field_msb": 2,
11719 "phv_msb": 24,
11720 "is_compiler_generated": false,
11721 "field_name": "tcp_ecn",
11722 "field_width": 1,
11723 "field_lsb": 0
11724 },
11725 {
11726 "word_bit_width": 32,
11727 "position_offset": 34,
11728 "phv_lsb": 16,
11729 "is_pov": false,
11730 "field_msb": 5,
11731 "phv_msb": 21,
11732 "is_compiler_generated": false,
11733 "field_name": "tcp_ctrl",
11734 "field_width": 1,
11735 "field_lsb": 0
11736 },
11737 {
11738 "word_bit_width": 32,
11739 "position_offset": 41,
11740 "phv_lsb": 0,
11741 "is_pov": false,
11742 "field_msb": 15,
11743 "phv_msb": 15,
11744 "is_compiler_generated": false,
11745 "field_name": "tcp_window",
11746 "field_width": 2,
11747 "field_lsb": 0
11748 }
11749 ]
11750 },
11751 {
11752 "phv_number": 269,
11753 "records": [
11754 {
11755 "word_bit_width": 32,
11756 "position_offset": 2,
11757 "phv_lsb": 16,
11758 "is_pov": false,
11759 "field_msb": 15,
11760 "phv_msb": 31,
11761 "is_compiler_generated": false,
11762 "field_name": "tcp_checksum",
11763 "field_width": 2,
11764 "field_lsb": 0
11765 },
11766 {
11767 "word_bit_width": 32,
11768 "position_offset": 45,
11769 "phv_lsb": 0,
11770 "is_pov": false,
11771 "field_msb": 15,
11772 "phv_msb": 15,
11773 "is_compiler_generated": false,
11774 "field_name": "tcp_urgentPtr",
11775 "field_width": 2,
11776 "field_lsb": 0
11777 }
11778 ]
11779 },
11780 {
11781 "phv_number": 270,
11782 "records": [
11783 {
11784 "word_bit_width": 32,
11785 "position_offset": 19,
11786 "phv_lsb": 0,
11787 "is_pov": false,
11788 "field_msb": 39,
11789 "phv_msb": 31,
11790 "is_compiler_generated": false,
11791 "field_name": "ethernet_dstAddr",
11792 "field_width": 6,
11793 "field_lsb": 8
11794 }
11795 ]
11796 },
11797 {
11798 "phv_number": 271,
11799 "records": [
11800 {
11801 "word_bit_width": 32,
11802 "position_offset": 63,
11803 "phv_lsb": 0,
11804 "is_pov": false,
11805 "field_msb": 31,
11806 "phv_msb": 31,
11807 "is_compiler_generated": false,
11808 "field_name": "ethernet_srcAddr",
11809 "field_width": 6,
11810 "field_lsb": 0
11811 }
11812 ]
11813 },
11814 {
11815 "phv_number": 296,
11816 "records": [
11817 {
11818 "word_bit_width": 8,
11819 "position_offset": 29,
11820 "phv_lsb": 4,
11821 "is_pov": false,
11822 "field_msb": 3,
11823 "phv_msb": 7,
11824 "is_compiler_generated": false,
11825 "field_name": "ipv4_version",
11826 "field_width": 1,
11827 "field_lsb": 0
11828 },
11829 {
11830 "word_bit_width": 8,
11831 "position_offset": 37,
11832 "phv_lsb": 0,
11833 "is_pov": false,
11834 "field_msb": 3,
11835 "phv_msb": 3,
11836 "is_compiler_generated": false,
11837 "field_name": "ipv4_ihl",
11838 "field_width": 1,
11839 "field_lsb": 0
11840 }
11841 ]
11842 },
11843 {
11844 "phv_number": 297,
Carmelo Casconef1d0a422017-09-07 17:21:46 +020011845 "records": [
11846 {
11847 "word_bit_width": 8,
11848 "position_offset": 4,
11849 "phv_lsb": 0,
11850 "is_pov": false,
11851 "field_msb": 7,
11852 "phv_msb": 7,
11853 "is_compiler_generated": false,
11854 "field_name": "ipv4_diffserv",
11855 "field_width": 1,
11856 "field_lsb": 0
11857 }
11858 ]
11859 },
11860 {
Brian O'Connora6862e02017-09-08 01:17:39 -070011861 "phv_number": 298,
Carmelo Casconef1d0a422017-09-07 17:21:46 +020011862 "records": [
11863 {
11864 "word_bit_width": 8,
Brian O'Connora6862e02017-09-08 01:17:39 -070011865 "position_offset": 35,
Carmelo Casconef1d0a422017-09-07 17:21:46 +020011866 "phv_lsb": 0,
11867 "is_pov": false,
11868 "field_msb": 15,
11869 "phv_msb": 7,
11870 "is_compiler_generated": false,
11871 "field_name": "tcp_srcPort",
11872 "field_width": 2,
11873 "field_lsb": 8
11874 },
11875 {
11876 "word_bit_width": 8,
Brian O'Connora6862e02017-09-08 01:17:39 -070011877 "position_offset": 56,
Carmelo Casconef1d0a422017-09-07 17:21:46 +020011878 "phv_lsb": 0,
11879 "is_pov": false,
11880 "field_msb": 15,
11881 "phv_msb": 7,
11882 "is_compiler_generated": false,
11883 "field_name": "udp_srcPort",
11884 "field_width": 2,
11885 "field_lsb": 8
11886 }
11887 ]
11888 },
11889 {
Brian O'Connora6862e02017-09-08 01:17:39 -070011890 "phv_number": 299,
Carmelo Casconef1d0a422017-09-07 17:21:46 +020011891 "records": [
11892 {
11893 "word_bit_width": 8,
Brian O'Connora6862e02017-09-08 01:17:39 -070011894 "position_offset": 35,
Carmelo Casconef1d0a422017-09-07 17:21:46 +020011895 "phv_lsb": 0,
11896 "is_pov": false,
11897 "field_msb": 7,
11898 "phv_msb": 7,
11899 "is_compiler_generated": false,
11900 "field_name": "tcp_srcPort",
11901 "field_width": 2,
11902 "field_lsb": 0
11903 },
11904 {
11905 "word_bit_width": 8,
Brian O'Connora6862e02017-09-08 01:17:39 -070011906 "position_offset": 56,
Carmelo Casconef1d0a422017-09-07 17:21:46 +020011907 "phv_lsb": 0,
11908 "is_pov": false,
11909 "field_msb": 7,
11910 "phv_msb": 7,
11911 "is_compiler_generated": false,
11912 "field_name": "udp_srcPort",
11913 "field_width": 2,
11914 "field_lsb": 0
11915 }
11916 ]
11917 },
11918 {
Brian O'Connora6862e02017-09-08 01:17:39 -070011919 "phv_number": 300,
Carmelo Casconef1d0a422017-09-07 17:21:46 +020011920 "records": [
11921 {
11922 "word_bit_width": 8,
Brian O'Connora6862e02017-09-08 01:17:39 -070011923 "position_offset": 19,
Carmelo Casconef1d0a422017-09-07 17:21:46 +020011924 "phv_lsb": 0,
11925 "is_pov": false,
11926 "field_msb": 47,
11927 "phv_msb": 7,
11928 "is_compiler_generated": false,
11929 "field_name": "ethernet_dstAddr",
11930 "field_width": 6,
11931 "field_lsb": 40
11932 }
11933 ]
11934 },
11935 {
Brian O'Connora6862e02017-09-08 01:17:39 -070011936 "phv_number": 301,
Carmelo Casconef1d0a422017-09-07 17:21:46 +020011937 "records": [
11938 {
11939 "word_bit_width": 8,
Brian O'Connora6862e02017-09-08 01:17:39 -070011940 "position_offset": 63,
Carmelo Casconef1d0a422017-09-07 17:21:46 +020011941 "phv_lsb": 0,
11942 "is_pov": false,
11943 "field_msb": 39,
11944 "phv_msb": 7,
11945 "is_compiler_generated": false,
11946 "field_name": "ethernet_srcAddr",
11947 "field_width": 6,
11948 "field_lsb": 32
11949 }
11950 ]
11951 },
11952 {
Brian O'Connora6862e02017-09-08 01:17:39 -070011953 "phv_number": 332,
Carmelo Casconef1d0a422017-09-07 17:21:46 +020011954 "records": [
11955 {
11956 "word_bit_width": 16,
Brian O'Connora6862e02017-09-08 01:17:39 -070011957 "position_offset": 54,
Carmelo Casconef1d0a422017-09-07 17:21:46 +020011958 "phv_lsb": 0,
11959 "is_pov": false,
11960 "field_msb": 15,
11961 "phv_msb": 15,
11962 "is_compiler_generated": false,
11963 "field_name": "ipv4_totalLen",
11964 "field_width": 2,
11965 "field_lsb": 0
11966 }
11967 ]
11968 },
11969 {
Brian O'Connora6862e02017-09-08 01:17:39 -070011970 "phv_number": 333,
Carmelo Casconef1d0a422017-09-07 17:21:46 +020011971 "records": [
11972 {
11973 "word_bit_width": 16,
Brian O'Connora6862e02017-09-08 01:17:39 -070011974 "position_offset": 43,
Carmelo Casconef1d0a422017-09-07 17:21:46 +020011975 "phv_lsb": 0,
11976 "is_pov": false,
11977 "field_msb": 15,
11978 "phv_msb": 15,
11979 "is_compiler_generated": false,
11980 "field_name": "ipv4_identification",
11981 "field_width": 2,
11982 "field_lsb": 0
11983 }
11984 ]
11985 },
11986 {
Brian O'Connora6862e02017-09-08 01:17:39 -070011987 "phv_number": 334,
Carmelo Casconef1d0a422017-09-07 17:21:46 +020011988 "records": [
11989 {
11990 "word_bit_width": 16,
11991 "position_offset": 8,
11992 "phv_lsb": 13,
11993 "is_pov": false,
11994 "field_msb": 2,
11995 "phv_msb": 15,
11996 "is_compiler_generated": false,
11997 "field_name": "ipv4_flags",
11998 "field_width": 1,
11999 "field_lsb": 0
12000 },
12001 {
12002 "word_bit_width": 16,
12003 "position_offset": 5,
12004 "phv_lsb": 0,
12005 "is_pov": false,
12006 "field_msb": 12,
12007 "phv_msb": 12,
12008 "is_compiler_generated": false,
12009 "field_name": "ipv4_fragOffset",
12010 "field_width": 2,
12011 "field_lsb": 0
12012 }
12013 ]
12014 },
12015 {
Brian O'Connora6862e02017-09-08 01:17:39 -070012016 "phv_number": 335,
Carmelo Casconef1d0a422017-09-07 17:21:46 +020012017 "records": [
12018 {
12019 "word_bit_width": 16,
Brian O'Connora6862e02017-09-08 01:17:39 -070012020 "position_offset": 32,
Carmelo Casconef1d0a422017-09-07 17:21:46 +020012021 "phv_lsb": 0,
12022 "is_pov": false,
12023 "field_msb": 15,
12024 "phv_msb": 15,
12025 "is_compiler_generated": false,
12026 "field_name": "tcp_dstPort",
12027 "field_width": 2,
12028 "field_lsb": 0
Brian O'Connora6862e02017-09-08 01:17:39 -070012029 }
12030 ]
12031 },
12032 {
12033 "phv_number": 336,
12034 "records": [
12035 {
12036 "word_bit_width": 16,
12037 "position_offset": 69,
12038 "phv_lsb": 0,
12039 "is_pov": false,
12040 "field_msb": 31,
12041 "phv_msb": 15,
12042 "is_compiler_generated": false,
12043 "field_name": "tcp_seqNo",
12044 "field_width": 4,
12045 "field_lsb": 16
Carmelo Casconef1d0a422017-09-07 17:21:46 +020012046 },
12047 {
12048 "word_bit_width": 16,
Brian O'Connora6862e02017-09-08 01:17:39 -070012049 "position_offset": 48,
Carmelo Casconef1d0a422017-09-07 17:21:46 +020012050 "phv_lsb": 0,
12051 "is_pov": false,
12052 "field_msb": 15,
12053 "phv_msb": 15,
12054 "is_compiler_generated": false,
12055 "field_name": "udp_dstPort",
12056 "field_width": 2,
12057 "field_lsb": 0
12058 }
12059 ]
12060 },
12061 {
Brian O'Connora6862e02017-09-08 01:17:39 -070012062 "phv_number": 337,
Carmelo Casconef1d0a422017-09-07 17:21:46 +020012063 "records": [
12064 {
12065 "word_bit_width": 16,
Brian O'Connora6862e02017-09-08 01:17:39 -070012066 "position_offset": 69,
Carmelo Casconef1d0a422017-09-07 17:21:46 +020012067 "phv_lsb": 0,
12068 "is_pov": false,
12069 "field_msb": 15,
12070 "phv_msb": 15,
12071 "is_compiler_generated": false,
12072 "field_name": "tcp_seqNo",
12073 "field_width": 4,
12074 "field_lsb": 0
12075 }
12076 ]
12077 },
12078 {
Brian O'Connora6862e02017-09-08 01:17:39 -070012079 "phv_number": 338,
Carmelo Casconef1d0a422017-09-07 17:21:46 +020012080 "records": [
12081 {
12082 "word_bit_width": 16,
Brian O'Connora6862e02017-09-08 01:17:39 -070012083 "position_offset": 19,
Carmelo Casconef1d0a422017-09-07 17:21:46 +020012084 "phv_lsb": 8,
12085 "is_pov": false,
12086 "field_msb": 7,
12087 "phv_msb": 15,
12088 "is_compiler_generated": false,
12089 "field_name": "ethernet_dstAddr",
12090 "field_width": 6,
12091 "field_lsb": 0
12092 },
12093 {
12094 "word_bit_width": 16,
Brian O'Connora6862e02017-09-08 01:17:39 -070012095 "position_offset": 63,
Carmelo Casconef1d0a422017-09-07 17:21:46 +020012096 "phv_lsb": 0,
12097 "is_pov": false,
12098 "field_msb": 47,
12099 "phv_msb": 7,
12100 "is_compiler_generated": false,
12101 "field_name": "ethernet_srcAddr",
12102 "field_width": 6,
12103 "field_lsb": 40
12104 }
12105 ]
12106 },
12107 {
Brian O'Connora6862e02017-09-08 01:17:39 -070012108 "phv_number": 339,
Carmelo Casconef1d0a422017-09-07 17:21:46 +020012109 "records": [
12110 {
12111 "word_bit_width": 16,
Brian O'Connora6862e02017-09-08 01:17:39 -070012112 "position_offset": 39,
Carmelo Casconef1d0a422017-09-07 17:21:46 +020012113 "phv_lsb": 0,
12114 "is_pov": false,
12115 "field_msb": 15,
12116 "phv_msb": 15,
12117 "is_compiler_generated": false,
12118 "field_name": "ethernet_etherType",
12119 "field_width": 2,
12120 "field_lsb": 0
12121 }
12122 ]
12123 },
12124 {
Brian O'Connora6862e02017-09-08 01:17:39 -070012125 "phv_number": 340,
Carmelo Casconef1d0a422017-09-07 17:21:46 +020012126 "records": [
12127 {
12128 "word_bit_width": 16,
12129 "position_offset": 0,
12130 "phv_lsb": 7,
12131 "is_pov": false,
12132 "field_msb": 8,
12133 "phv_msb": 15,
12134 "is_compiler_generated": false,
12135 "field_name": "packet_out_hdr_egress_port",
12136 "field_width": 2,
12137 "field_lsb": 0
Brian O'Connora6862e02017-09-08 01:17:39 -070012138 },
12139 {
12140 "word_bit_width": 16,
12141 "position_offset": 30,
12142 "phv_lsb": 7,
12143 "is_pov": false,
12144 "field_msb": 8,
12145 "phv_msb": 15,
12146 "is_compiler_generated": false,
12147 "field_name": "packet_in_hdr_ingress_port",
12148 "field_width": 2,
12149 "field_lsb": 0
Carmelo Casconef1d0a422017-09-07 17:21:46 +020012150 }
12151 ]
12152 }
12153 ],
12154 "stage_number": 7
12155 },
12156 {
12157 "ingress": [
12158 {
12159 "phv_number": 0,
12160 "records": [
12161 {
12162 "word_bit_width": 32,
12163 "position_offset": 0,
12164 "phv_lsb": 0,
12165 "is_pov": true,
12166 "pov_headers": [],
12167 "field_msb": 31,
12168 "phv_msb": 31,
12169 "is_compiler_generated": false,
12170 "field_name": "POV",
12171 "field_width": 0,
12172 "field_lsb": 0
12173 }
12174 ]
12175 },
12176 {
12177 "phv_number": 1,
12178 "records": [
12179 {
12180 "word_bit_width": 32,
Brian O'Connora6862e02017-09-08 01:17:39 -070012181 "position_offset": 19,
Carmelo Casconef1d0a422017-09-07 17:21:46 +020012182 "phv_lsb": 24,
12183 "is_pov": false,
12184 "field_msb": 7,
12185 "phv_msb": 31,
12186 "is_compiler_generated": false,
12187 "field_name": "ipv4_protocol",
12188 "field_width": 1,
12189 "field_lsb": 0
12190 },
12191 {
12192 "word_bit_width": 32,
12193 "position_offset": 10,
12194 "phv_lsb": 8,
12195 "is_pov": false,
12196 "field_msb": 15,
12197 "phv_msb": 23,
12198 "is_compiler_generated": false,
12199 "field_name": "ipv4_hdrChecksum",
12200 "field_width": 2,
12201 "field_lsb": 0
12202 },
12203 {
12204 "word_bit_width": 32,
Brian O'Connora6862e02017-09-08 01:17:39 -070012205 "position_offset": 13,
Carmelo Casconef1d0a422017-09-07 17:21:46 +020012206 "phv_lsb": 0,
12207 "is_pov": false,
12208 "field_msb": 31,
12209 "phv_msb": 7,
12210 "is_compiler_generated": false,
12211 "field_name": "ipv4_srcAddr",
12212 "field_width": 4,
12213 "field_lsb": 24
12214 }
12215 ]
12216 },
12217 {
12218 "phv_number": 2,
12219 "records": [
12220 {
12221 "word_bit_width": 32,
Brian O'Connora6862e02017-09-08 01:17:39 -070012222 "position_offset": 57,
Carmelo Casconef1d0a422017-09-07 17:21:46 +020012223 "phv_lsb": 0,
12224 "is_pov": false,
12225 "field_msb": 31,
12226 "phv_msb": 31,
12227 "is_compiler_generated": false,
12228 "field_name": "ipv4_dstAddr",
12229 "field_width": 4,
12230 "field_lsb": 0
12231 }
12232 ]
12233 },
12234 {
12235 "phv_number": 3,
12236 "records": [
12237 {
12238 "word_bit_width": 32,
Brian O'Connora6862e02017-09-08 01:17:39 -070012239 "position_offset": 22,
Carmelo Casconef1d0a422017-09-07 17:21:46 +020012240 "phv_lsb": 0,
12241 "is_pov": false,
12242 "field_msb": 39,
12243 "phv_msb": 31,
12244 "is_compiler_generated": false,
12245 "field_name": "ethernet_dstAddr",
12246 "field_width": 6,
12247 "field_lsb": 8
12248 }
12249 ]
12250 },
12251 {
12252 "phv_number": 4,
12253 "records": [
12254 {
12255 "word_bit_width": 32,
Brian O'Connora6862e02017-09-08 01:17:39 -070012256 "position_offset": 70,
Carmelo Casconef1d0a422017-09-07 17:21:46 +020012257 "phv_lsb": 0,
12258 "is_pov": false,
12259 "field_msb": 31,
12260 "phv_msb": 31,
12261 "is_compiler_generated": false,
12262 "field_name": "ethernet_srcAddr",
12263 "field_width": 6,
12264 "field_lsb": 0
12265 }
12266 ]
12267 },
12268 {
12269 "phv_number": 5,
12270 "records": [
12271 {
12272 "word_bit_width": 32,
Brian O'Connora6862e02017-09-08 01:17:39 -070012273 "position_offset": 66,
Carmelo Casconef1d0a422017-09-07 17:21:46 +020012274 "phv_lsb": 16,
12275 "is_pov": false,
12276 "field_msb": 15,
12277 "phv_msb": 31,
12278 "is_compiler_generated": false,
12279 "field_name": "udp_srcPort",
12280 "field_width": 2,
12281 "field_lsb": 0
12282 },
12283 {
12284 "word_bit_width": 32,
Brian O'Connora6862e02017-09-08 01:17:39 -070012285 "position_offset": 55,
Carmelo Casconef1d0a422017-09-07 17:21:46 +020012286 "phv_lsb": 0,
12287 "is_pov": false,
12288 "field_msb": 15,
12289 "phv_msb": 15,
12290 "is_compiler_generated": false,
12291 "field_name": "udp_dstPort",
12292 "field_width": 2,
12293 "field_lsb": 0
12294 }
12295 ]
12296 },
12297 {
12298 "phv_number": 64,
12299 "records": [
12300 {
12301 "word_bit_width": 8,
Brian O'Connora6862e02017-09-08 01:17:39 -070012302 "position_offset": 13,
Carmelo Casconef1d0a422017-09-07 17:21:46 +020012303 "phv_lsb": 0,
12304 "is_pov": false,
12305 "field_msb": 23,
12306 "phv_msb": 7,
12307 "is_compiler_generated": false,
12308 "field_name": "ipv4_srcAddr",
12309 "field_width": 4,
12310 "field_lsb": 16
12311 }
12312 ]
12313 },
12314 {
Brian O'Connora6862e02017-09-08 01:17:39 -070012315 "phv_number": 65,
Carmelo Casconef1d0a422017-09-07 17:21:46 +020012316 "records": [
12317 {
12318 "word_bit_width": 8,
Brian O'Connora6862e02017-09-08 01:17:39 -070012319 "position_offset": 22,
Carmelo Casconef1d0a422017-09-07 17:21:46 +020012320 "phv_lsb": 0,
12321 "is_pov": false,
12322 "field_msb": 47,
12323 "phv_msb": 7,
12324 "is_compiler_generated": false,
12325 "field_name": "ethernet_dstAddr",
12326 "field_width": 6,
12327 "field_lsb": 40
12328 }
12329 ]
12330 },
12331 {
Brian O'Connora6862e02017-09-08 01:17:39 -070012332 "phv_number": 66,
Carmelo Casconef1d0a422017-09-07 17:21:46 +020012333 "records": [
12334 {
12335 "word_bit_width": 8,
Brian O'Connora6862e02017-09-08 01:17:39 -070012336 "position_offset": 70,
Carmelo Casconef1d0a422017-09-07 17:21:46 +020012337 "phv_lsb": 0,
12338 "is_pov": false,
12339 "field_msb": 39,
12340 "phv_msb": 7,
12341 "is_compiler_generated": false,
12342 "field_name": "ethernet_srcAddr",
12343 "field_width": 6,
12344 "field_lsb": 32
12345 }
12346 ]
12347 },
12348 {
Brian O'Connora6862e02017-09-08 01:17:39 -070012349 "phv_number": 67,
Carmelo Casconef1d0a422017-09-07 17:21:46 +020012350 "records": [
12351 {
12352 "word_bit_width": 8,
12353 "position_offset": 0,
12354 "phv_lsb": 0,
12355 "is_pov": true,
12356 "pov_headers": [
12357 {
12358 "bit_index": 0,
Brian O'Connora6862e02017-09-08 01:17:39 -070012359 "position_offset": 80,
Carmelo Casconef1d0a422017-09-07 17:21:46 +020012360 "header_name": "packet_in_hdr",
12361 "hidden": false
12362 },
12363 {
12364 "bit_index": 1,
Brian O'Connora6862e02017-09-08 01:17:39 -070012365 "position_offset": 81,
Carmelo Casconef1d0a422017-09-07 17:21:46 +020012366 "header_name": "packet_out_hdr",
12367 "hidden": false
12368 },
12369 {
12370 "bit_index": 2,
Brian O'Connora6862e02017-09-08 01:17:39 -070012371 "position_offset": 82,
Carmelo Casconef1d0a422017-09-07 17:21:46 +020012372 "header_name": "ethernet",
12373 "hidden": false
12374 },
12375 {
12376 "bit_index": 3,
Brian O'Connora6862e02017-09-08 01:17:39 -070012377 "position_offset": 83,
Carmelo Casconef1d0a422017-09-07 17:21:46 +020012378 "header_name": "ipv4",
12379 "hidden": false
12380 },
12381 {
12382 "bit_index": 4,
Brian O'Connora6862e02017-09-08 01:17:39 -070012383 "position_offset": 84,
Carmelo Casconef1d0a422017-09-07 17:21:46 +020012384 "header_name": "tcp",
12385 "hidden": false
12386 },
12387 {
12388 "bit_index": 5,
Brian O'Connora6862e02017-09-08 01:17:39 -070012389 "position_offset": 85,
Carmelo Casconef1d0a422017-09-07 17:21:46 +020012390 "header_name": "udp",
12391 "hidden": false
12392 }
12393 ],
12394 "field_msb": 39,
12395 "phv_msb": 7,
12396 "is_compiler_generated": false,
12397 "field_name": "POV",
12398 "field_width": 0,
12399 "field_lsb": 32
12400 }
12401 ]
12402 },
12403 {
Brian O'Connora6862e02017-09-08 01:17:39 -070012404 "phv_number": 68,
Carmelo Casconef1d0a422017-09-07 17:21:46 +020012405 "records": [
12406 {
12407 "word_bit_width": 8,
Brian O'Connora6862e02017-09-08 01:17:39 -070012408 "position_offset": 51,
Carmelo Casconef1d0a422017-09-07 17:21:46 +020012409 "phv_lsb": 5,
12410 "is_pov": false,
12411 "field_msb": 2,
12412 "phv_msb": 7,
12413 "is_compiler_generated": false,
12414 "field_name": "ig_intr_md_for_tm_drop_ctl",
12415 "field_width": 1,
12416 "field_lsb": 0
12417 }
12418 ]
12419 },
12420 {
12421 "phv_number": 128,
12422 "records": [
12423 {
12424 "word_bit_width": 16,
Brian O'Connora6862e02017-09-08 01:17:39 -070012425 "position_offset": 32,
Carmelo Casconef1d0a422017-09-07 17:21:46 +020012426 "phv_lsb": 15,
12427 "is_pov": false,
12428 "field_msb": 0,
12429 "phv_msb": 15,
12430 "is_compiler_generated": false,
12431 "field_name": "ig_intr_md_resubmit_flag",
12432 "field_width": 1,
12433 "field_lsb": 0
12434 },
12435 {
12436 "word_bit_width": 16,
12437 "position_offset": 8,
12438 "phv_lsb": 0,
12439 "is_pov": false,
12440 "field_msb": 8,
12441 "phv_msb": 8,
12442 "is_compiler_generated": false,
12443 "field_name": "ig_intr_md_ingress_port",
12444 "field_width": 2,
12445 "field_lsb": 0
12446 }
12447 ]
12448 },
12449 {
12450 "phv_number": 129,
12451 "records": [
12452 {
12453 "word_bit_width": 16,
12454 "position_offset": 0,
12455 "phv_lsb": 7,
12456 "is_pov": false,
12457 "field_msb": 8,
12458 "phv_msb": 15,
12459 "is_compiler_generated": false,
12460 "field_name": "packet_out_hdr_egress_port",
12461 "field_width": 2,
12462 "field_lsb": 0
12463 },
12464 {
12465 "word_bit_width": 16,
Brian O'Connora6862e02017-09-08 01:17:39 -070012466 "position_offset": 33,
Carmelo Casconef1d0a422017-09-07 17:21:46 +020012467 "phv_lsb": 7,
12468 "is_pov": false,
12469 "field_msb": 8,
12470 "phv_msb": 15,
12471 "is_compiler_generated": false,
12472 "field_name": "packet_in_hdr_ingress_port",
12473 "field_width": 2,
12474 "field_lsb": 0
12475 }
12476 ]
12477 },
12478 {
12479 "phv_number": 130,
12480 "records": [
12481 {
12482 "word_bit_width": 16,
Brian O'Connora6862e02017-09-08 01:17:39 -070012483 "position_offset": 41,
Carmelo Casconef1d0a422017-09-07 17:21:46 +020012484 "phv_lsb": 0,
12485 "is_pov": false,
12486 "field_msb": 8,
12487 "phv_msb": 8,
12488 "is_compiler_generated": false,
12489 "field_name": "ig_intr_md_for_tm_ucast_egress_port",
12490 "field_width": 2,
12491 "field_lsb": 0
12492 }
12493 ]
12494 },
12495 {
12496 "phv_number": 131,
12497 "records": [
12498 {
12499 "word_bit_width": 16,
Brian O'Connora6862e02017-09-08 01:17:39 -070012500 "position_offset": 13,
Carmelo Casconef1d0a422017-09-07 17:21:46 +020012501 "phv_lsb": 0,
12502 "is_pov": false,
12503 "field_msb": 15,
12504 "phv_msb": 15,
12505 "is_compiler_generated": false,
12506 "field_name": "ipv4_srcAddr",
12507 "field_width": 4,
12508 "field_lsb": 0
12509 }
12510 ]
12511 },
12512 {
12513 "phv_number": 132,
12514 "records": [
12515 {
12516 "word_bit_width": 16,
Brian O'Connora6862e02017-09-08 01:17:39 -070012517 "position_offset": 22,
Carmelo Casconef1d0a422017-09-07 17:21:46 +020012518 "phv_lsb": 8,
12519 "is_pov": false,
12520 "field_msb": 7,
12521 "phv_msb": 15,
12522 "is_compiler_generated": false,
12523 "field_name": "ethernet_dstAddr",
12524 "field_width": 6,
12525 "field_lsb": 0
12526 },
12527 {
12528 "word_bit_width": 16,
Brian O'Connora6862e02017-09-08 01:17:39 -070012529 "position_offset": 70,
Carmelo Casconef1d0a422017-09-07 17:21:46 +020012530 "phv_lsb": 0,
12531 "is_pov": false,
12532 "field_msb": 47,
12533 "phv_msb": 7,
12534 "is_compiler_generated": false,
12535 "field_name": "ethernet_srcAddr",
12536 "field_width": 6,
12537 "field_lsb": 40
12538 }
12539 ]
12540 },
12541 {
12542 "phv_number": 133,
12543 "records": [
12544 {
12545 "word_bit_width": 16,
12546 "position_offset": 5,
12547 "phv_lsb": 0,
12548 "is_pov": false,
12549 "field_msb": 15,
12550 "phv_msb": 15,
12551 "is_compiler_generated": false,
12552 "field_name": "ethernet_etherType",
12553 "field_width": 2,
12554 "field_lsb": 0
12555 }
12556 ]
12557 },
12558 {
12559 "phv_number": 134,
12560 "records": [
12561 {
12562 "word_bit_width": 16,
Brian O'Connora6862e02017-09-08 01:17:39 -070012563 "position_offset": 20,
Carmelo Casconef1d0a422017-09-07 17:21:46 +020012564 "phv_lsb": 0,
12565 "is_pov": false,
12566 "field_msb": 15,
12567 "phv_msb": 15,
12568 "is_compiler_generated": false,
12569 "field_name": "ecmp_metadata_groupId",
12570 "field_width": 2,
12571 "field_lsb": 0
12572 }
12573 ]
12574 },
12575 {
12576 "phv_number": 135,
12577 "records": [
12578 {
12579 "word_bit_width": 16,
Brian O'Connora6862e02017-09-08 01:17:39 -070012580 "position_offset": 61,
Carmelo Casconef1d0a422017-09-07 17:21:46 +020012581 "phv_lsb": 0,
12582 "is_pov": false,
12583 "field_msb": 15,
12584 "phv_msb": 15,
12585 "is_compiler_generated": false,
12586 "field_name": "ecmp_metadata_selector",
12587 "field_width": 2,
12588 "field_lsb": 0
12589 }
12590 ]
12591 },
12592 {
12593 "phv_number": 256,
12594 "records": [
12595 {
12596 "word_bit_width": 32,
Brian O'Connora6862e02017-09-08 01:17:39 -070012597 "position_offset": 49,
Carmelo Casconef1d0a422017-09-07 17:21:46 +020012598 "phv_lsb": 24,
12599 "is_pov": false,
12600 "field_msb": 7,
12601 "phv_msb": 31,
12602 "is_compiler_generated": false,
12603 "field_name": "ipv4_identification",
12604 "field_width": 2,
12605 "field_lsb": 0
12606 },
12607 {
12608 "word_bit_width": 32,
12609 "position_offset": 7,
12610 "phv_lsb": 21,
12611 "is_pov": false,
12612 "field_msb": 2,
12613 "phv_msb": 23,
12614 "is_compiler_generated": false,
12615 "field_name": "ipv4_flags",
12616 "field_width": 1,
12617 "field_lsb": 0
12618 },
12619 {
12620 "word_bit_width": 32,
Brian O'Connora6862e02017-09-08 01:17:39 -070012621 "position_offset": 44,
Carmelo Casconef1d0a422017-09-07 17:21:46 +020012622 "phv_lsb": 8,
12623 "is_pov": false,
12624 "field_msb": 12,
12625 "phv_msb": 20,
12626 "is_compiler_generated": false,
12627 "field_name": "ipv4_fragOffset",
12628 "field_width": 2,
12629 "field_lsb": 0
12630 },
12631 {
12632 "word_bit_width": 32,
Brian O'Connora6862e02017-09-08 01:17:39 -070012633 "position_offset": 54,
Carmelo Casconef1d0a422017-09-07 17:21:46 +020012634 "phv_lsb": 0,
12635 "is_pov": false,
12636 "field_msb": 7,
12637 "phv_msb": 7,
12638 "is_compiler_generated": false,
12639 "field_name": "ipv4_ttl",
12640 "field_width": 1,
12641 "field_lsb": 0
12642 }
12643 ]
12644 },
12645 {
12646 "phv_number": 257,
12647 "records": [
12648 {
12649 "word_bit_width": 32,
Brian O'Connora6862e02017-09-08 01:17:39 -070012650 "position_offset": 43,
Carmelo Casconef1d0a422017-09-07 17:21:46 +020012651 "phv_lsb": 28,
12652 "is_pov": false,
12653 "field_msb": 3,
12654 "phv_msb": 31,
12655 "is_compiler_generated": false,
12656 "field_name": "tcp_dataOffset",
12657 "field_width": 1,
12658 "field_lsb": 0
12659 },
12660 {
12661 "word_bit_width": 32,
Brian O'Connora6862e02017-09-08 01:17:39 -070012662 "position_offset": 48,
Carmelo Casconef1d0a422017-09-07 17:21:46 +020012663 "phv_lsb": 25,
12664 "is_pov": false,
12665 "field_msb": 2,
12666 "phv_msb": 27,
12667 "is_compiler_generated": false,
12668 "field_name": "tcp_res",
12669 "field_width": 1,
12670 "field_lsb": 0
12671 },
12672 {
12673 "word_bit_width": 32,
Brian O'Connora6862e02017-09-08 01:17:39 -070012674 "position_offset": 12,
Carmelo Casconef1d0a422017-09-07 17:21:46 +020012675 "phv_lsb": 22,
12676 "is_pov": false,
12677 "field_msb": 2,
12678 "phv_msb": 24,
12679 "is_compiler_generated": false,
12680 "field_name": "tcp_ecn",
12681 "field_width": 1,
12682 "field_lsb": 0
12683 },
12684 {
12685 "word_bit_width": 32,
12686 "position_offset": 37,
12687 "phv_lsb": 16,
12688 "is_pov": false,
12689 "field_msb": 5,
12690 "phv_msb": 21,
12691 "is_compiler_generated": false,
12692 "field_name": "tcp_ctrl",
12693 "field_width": 1,
12694 "field_lsb": 0
12695 },
12696 {
12697 "word_bit_width": 32,
Brian O'Connora6862e02017-09-08 01:17:39 -070012698 "position_offset": 46,
Carmelo Casconef1d0a422017-09-07 17:21:46 +020012699 "phv_lsb": 0,
12700 "is_pov": false,
12701 "field_msb": 15,
12702 "phv_msb": 15,
12703 "is_compiler_generated": false,
12704 "field_name": "tcp_window",
12705 "field_width": 2,
12706 "field_lsb": 0
12707 }
12708 ]
12709 },
12710 {
Brian O'Connora6862e02017-09-08 01:17:39 -070012711 "phv_number": 258,
Carmelo Casconef1d0a422017-09-07 17:21:46 +020012712 "records": [
12713 {
12714 "word_bit_width": 32,
12715 "position_offset": 2,
12716 "phv_lsb": 16,
12717 "is_pov": false,
12718 "field_msb": 15,
12719 "phv_msb": 31,
12720 "is_compiler_generated": false,
12721 "field_name": "tcp_checksum",
12722 "field_width": 2,
12723 "field_lsb": 0
12724 },
12725 {
12726 "word_bit_width": 32,
Brian O'Connora6862e02017-09-08 01:17:39 -070012727 "position_offset": 52,
Carmelo Casconef1d0a422017-09-07 17:21:46 +020012728 "phv_lsb": 0,
12729 "is_pov": false,
12730 "field_msb": 15,
12731 "phv_msb": 15,
12732 "is_compiler_generated": false,
12733 "field_name": "tcp_urgentPtr",
12734 "field_width": 2,
12735 "field_lsb": 0
12736 }
12737 ]
12738 },
12739 {
Brian O'Connora6862e02017-09-08 01:17:39 -070012740 "phv_number": 288,
Carmelo Casconef1d0a422017-09-07 17:21:46 +020012741 "records": [
12742 {
12743 "word_bit_width": 8,
Brian O'Connora6862e02017-09-08 01:17:39 -070012744 "position_offset": 65,
Carmelo Casconef1d0a422017-09-07 17:21:46 +020012745 "phv_lsb": 4,
12746 "is_pov": false,
12747 "field_msb": 3,
12748 "phv_msb": 7,
12749 "is_compiler_generated": false,
12750 "field_name": "ipv4_version",
12751 "field_width": 1,
12752 "field_lsb": 0
12753 },
12754 {
12755 "word_bit_width": 8,
12756 "position_offset": 40,
12757 "phv_lsb": 0,
12758 "is_pov": false,
12759 "field_msb": 3,
12760 "phv_msb": 3,
12761 "is_compiler_generated": false,
12762 "field_name": "ipv4_ihl",
12763 "field_width": 1,
12764 "field_lsb": 0
12765 }
12766 ]
12767 },
12768 {
Brian O'Connora6862e02017-09-08 01:17:39 -070012769 "phv_number": 289,
12770 "records": [
12771 {
12772 "word_bit_width": 8,
12773 "position_offset": 38,
12774 "phv_lsb": 0,
12775 "is_pov": false,
12776 "field_msb": 15,
12777 "phv_msb": 7,
12778 "is_compiler_generated": false,
12779 "field_name": "tcp_srcPort",
12780 "field_width": 2,
12781 "field_lsb": 8
12782 },
12783 {
12784 "word_bit_width": 8,
12785 "position_offset": 17,
12786 "phv_lsb": 0,
12787 "is_pov": false,
12788 "field_msb": 15,
12789 "phv_msb": 7,
12790 "is_compiler_generated": false,
12791 "field_name": "udp_length_",
12792 "field_width": 2,
12793 "field_lsb": 8
12794 }
12795 ]
12796 },
12797 {
12798 "phv_number": 290,
12799 "records": [
12800 {
12801 "word_bit_width": 8,
12802 "position_offset": 38,
12803 "phv_lsb": 0,
12804 "is_pov": false,
12805 "field_msb": 7,
12806 "phv_msb": 7,
12807 "is_compiler_generated": false,
12808 "field_name": "tcp_srcPort",
12809 "field_width": 2,
12810 "field_lsb": 0
12811 },
12812 {
12813 "word_bit_width": 8,
12814 "position_offset": 17,
12815 "phv_lsb": 0,
12816 "is_pov": false,
12817 "field_msb": 7,
12818 "phv_msb": 7,
12819 "is_compiler_generated": false,
12820 "field_name": "udp_length_",
12821 "field_width": 2,
12822 "field_lsb": 0
12823 }
12824 ]
12825 },
12826 {
12827 "phv_number": 291,
12828 "records": [
12829 {
12830 "word_bit_width": 8,
12831 "position_offset": 35,
12832 "phv_lsb": 0,
12833 "is_pov": false,
12834 "field_msb": 15,
12835 "phv_msb": 7,
12836 "is_compiler_generated": false,
12837 "field_name": "tcp_dstPort",
12838 "field_width": 2,
12839 "field_lsb": 8
12840 }
12841 ]
12842 },
12843 {
12844 "phv_number": 292,
12845 "records": [
12846 {
12847 "word_bit_width": 8,
12848 "position_offset": 35,
12849 "phv_lsb": 0,
12850 "is_pov": false,
12851 "field_msb": 7,
12852 "phv_msb": 7,
12853 "is_compiler_generated": false,
12854 "field_name": "tcp_dstPort",
12855 "field_width": 2,
12856 "field_lsb": 0
12857 }
12858 ]
12859 },
12860 {
12861 "phv_number": 320,
12862 "records": [
12863 {
12864 "word_bit_width": 16,
12865 "position_offset": 4,
12866 "phv_lsb": 8,
12867 "is_pov": false,
12868 "field_msb": 7,
12869 "phv_msb": 15,
12870 "is_compiler_generated": false,
12871 "field_name": "ipv4_diffserv",
12872 "field_width": 1,
12873 "field_lsb": 0
12874 },
12875 {
12876 "word_bit_width": 16,
12877 "position_offset": 63,
12878 "phv_lsb": 0,
12879 "is_pov": false,
12880 "field_msb": 15,
12881 "phv_msb": 7,
12882 "is_compiler_generated": false,
12883 "field_name": "ipv4_totalLen",
12884 "field_width": 2,
12885 "field_lsb": 8
12886 }
12887 ]
12888 },
12889 {
12890 "phv_number": 321,
12891 "records": [
12892 {
12893 "word_bit_width": 16,
12894 "position_offset": 63,
12895 "phv_lsb": 8,
12896 "is_pov": false,
12897 "field_msb": 7,
12898 "phv_msb": 15,
12899 "is_compiler_generated": false,
12900 "field_name": "ipv4_totalLen",
12901 "field_width": 2,
12902 "field_lsb": 0
12903 },
12904 {
12905 "word_bit_width": 16,
12906 "position_offset": 49,
12907 "phv_lsb": 0,
12908 "is_pov": false,
12909 "field_msb": 15,
12910 "phv_msb": 7,
12911 "is_compiler_generated": false,
12912 "field_name": "ipv4_identification",
12913 "field_width": 2,
12914 "field_lsb": 8
12915 }
12916 ]
12917 },
12918 {
12919 "phv_number": 322,
12920 "records": [
12921 {
12922 "word_bit_width": 16,
12923 "position_offset": 76,
12924 "phv_lsb": 0,
12925 "is_pov": false,
12926 "field_msb": 31,
12927 "phv_msb": 15,
12928 "is_compiler_generated": false,
12929 "field_name": "tcp_seqNo",
12930 "field_width": 4,
12931 "field_lsb": 16
12932 },
12933 {
12934 "word_bit_width": 16,
12935 "position_offset": 68,
12936 "phv_lsb": 0,
12937 "is_pov": false,
12938 "field_msb": 15,
12939 "phv_msb": 15,
12940 "is_compiler_generated": false,
12941 "field_name": "udp_checksum",
12942 "field_width": 2,
12943 "field_lsb": 0
12944 }
12945 ]
12946 },
12947 {
12948 "phv_number": 323,
12949 "records": [
12950 {
12951 "word_bit_width": 16,
12952 "position_offset": 76,
12953 "phv_lsb": 0,
12954 "is_pov": false,
12955 "field_msb": 15,
12956 "phv_msb": 15,
12957 "is_compiler_generated": false,
12958 "field_name": "tcp_seqNo",
12959 "field_width": 4,
12960 "field_lsb": 0
12961 }
12962 ]
12963 },
12964 {
12965 "phv_number": 324,
12966 "records": [
12967 {
12968 "word_bit_width": 16,
12969 "position_offset": 28,
12970 "phv_lsb": 0,
12971 "is_pov": false,
12972 "field_msb": 31,
12973 "phv_msb": 15,
12974 "is_compiler_generated": false,
12975 "field_name": "tcp_ackNo",
12976 "field_width": 4,
12977 "field_lsb": 16
12978 }
12979 ]
12980 },
12981 {
12982 "phv_number": 325,
12983 "records": [
12984 {
12985 "word_bit_width": 16,
12986 "position_offset": 28,
12987 "phv_lsb": 0,
12988 "is_pov": false,
12989 "field_msb": 15,
12990 "phv_msb": 15,
12991 "is_compiler_generated": false,
12992 "field_name": "tcp_ackNo",
12993 "field_width": 4,
12994 "field_lsb": 0
12995 }
12996 ]
12997 }
12998 ],
12999 "egress": [
13000 {
13001 "phv_number": 80,
13002 "records": [
13003 {
13004 "word_bit_width": 8,
13005 "position_offset": 7,
13006 "phv_lsb": 0,
13007 "is_pov": false,
13008 "field_msb": 2,
13009 "phv_msb": 2,
13010 "is_compiler_generated": false,
13011 "field_name": "eg_intr_md_egress_cos",
13012 "field_width": 1,
13013 "field_lsb": 0
13014 }
13015 ]
13016 },
13017 {
13018 "phv_number": 81,
13019 "records": [
13020 {
13021 "word_bit_width": 8,
13022 "position_offset": 0,
13023 "phv_lsb": 0,
13024 "is_pov": true,
13025 "pov_headers": [
13026 {
13027 "bit_index": 0,
13028 "position_offset": 73,
13029 "header_name": "packet_in_hdr",
13030 "hidden": false
13031 },
13032 {
13033 "bit_index": 1,
13034 "position_offset": 74,
13035 "header_name": "packet_out_hdr",
13036 "hidden": false
13037 },
13038 {
13039 "bit_index": 2,
13040 "position_offset": 75,
13041 "header_name": "ethernet",
13042 "hidden": false
13043 },
13044 {
13045 "bit_index": 3,
13046 "position_offset": 76,
13047 "header_name": "ipv4",
13048 "hidden": false
13049 },
13050 {
13051 "bit_index": 4,
13052 "position_offset": 77,
13053 "header_name": "tcp",
13054 "hidden": false
13055 },
13056 {
13057 "bit_index": 5,
13058 "position_offset": 78,
13059 "header_name": "udp",
13060 "hidden": false
13061 }
13062 ],
13063 "field_msb": 7,
13064 "phv_msb": 7,
13065 "is_compiler_generated": false,
13066 "field_name": "POV",
13067 "field_width": 0,
13068 "field_lsb": 0
13069 }
13070 ]
13071 },
13072 {
13073 "phv_number": 144,
13074 "records": [
13075 {
13076 "word_bit_width": 16,
13077 "position_offset": 61,
13078 "phv_lsb": 0,
13079 "is_pov": false,
13080 "field_msb": 8,
13081 "phv_msb": 8,
13082 "is_compiler_generated": false,
13083 "field_name": "eg_intr_md_egress_port",
13084 "field_width": 2,
13085 "field_lsb": 0
13086 }
13087 ]
13088 },
13089 {
13090 "phv_number": 264,
13091 "records": [
13092 {
13093 "word_bit_width": 32,
13094 "position_offset": 47,
13095 "phv_lsb": 24,
13096 "is_pov": false,
13097 "field_msb": 7,
13098 "phv_msb": 31,
13099 "is_compiler_generated": false,
13100 "field_name": "ipv4_ttl",
13101 "field_width": 1,
13102 "field_lsb": 0
13103 },
13104 {
13105 "word_bit_width": 32,
13106 "position_offset": 18,
13107 "phv_lsb": 16,
13108 "is_pov": false,
13109 "field_msb": 7,
13110 "phv_msb": 23,
13111 "is_compiler_generated": false,
13112 "field_name": "ipv4_protocol",
13113 "field_width": 1,
13114 "field_lsb": 0
13115 },
13116 {
13117 "word_bit_width": 32,
13118 "position_offset": 9,
13119 "phv_lsb": 0,
13120 "is_pov": false,
13121 "field_msb": 15,
13122 "phv_msb": 15,
13123 "is_compiler_generated": false,
13124 "field_name": "ipv4_hdrChecksum",
13125 "field_width": 2,
13126 "field_lsb": 0
13127 }
13128 ]
13129 },
13130 {
13131 "phv_number": 265,
13132 "records": [
13133 {
13134 "word_bit_width": 32,
13135 "position_offset": 12,
13136 "phv_lsb": 0,
13137 "is_pov": false,
13138 "field_msb": 31,
13139 "phv_msb": 31,
13140 "is_compiler_generated": false,
13141 "field_name": "ipv4_srcAddr",
13142 "field_width": 4,
13143 "field_lsb": 0
13144 }
13145 ]
13146 },
13147 {
13148 "phv_number": 266,
13149 "records": [
13150 {
13151 "word_bit_width": 32,
13152 "position_offset": 50,
13153 "phv_lsb": 0,
13154 "is_pov": false,
13155 "field_msb": 31,
13156 "phv_msb": 31,
13157 "is_compiler_generated": false,
13158 "field_name": "ipv4_dstAddr",
13159 "field_width": 4,
13160 "field_lsb": 0
13161 }
13162 ]
13163 },
13164 {
13165 "phv_number": 267,
13166 "records": [
13167 {
13168 "word_bit_width": 32,
13169 "position_offset": 25,
13170 "phv_lsb": 0,
13171 "is_pov": false,
13172 "field_msb": 31,
13173 "phv_msb": 31,
13174 "is_compiler_generated": false,
13175 "field_name": "tcp_ackNo",
13176 "field_width": 4,
13177 "field_lsb": 0
13178 },
13179 {
13180 "word_bit_width": 32,
13181 "position_offset": 16,
13182 "phv_lsb": 16,
13183 "is_pov": false,
13184 "field_msb": 15,
13185 "phv_msb": 31,
13186 "is_compiler_generated": false,
13187 "field_name": "udp_length_",
13188 "field_width": 2,
13189 "field_lsb": 0
13190 },
13191 {
13192 "word_bit_width": 32,
13193 "position_offset": 59,
13194 "phv_lsb": 0,
13195 "is_pov": false,
13196 "field_msb": 15,
13197 "phv_msb": 15,
13198 "is_compiler_generated": false,
13199 "field_name": "udp_checksum",
13200 "field_width": 2,
13201 "field_lsb": 0
13202 }
13203 ]
13204 },
13205 {
13206 "phv_number": 268,
13207 "records": [
13208 {
13209 "word_bit_width": 32,
13210 "position_offset": 38,
13211 "phv_lsb": 28,
13212 "is_pov": false,
13213 "field_msb": 3,
13214 "phv_msb": 31,
13215 "is_compiler_generated": false,
13216 "field_name": "tcp_dataOffset",
13217 "field_width": 1,
13218 "field_lsb": 0
13219 },
13220 {
13221 "word_bit_width": 32,
13222 "position_offset": 58,
13223 "phv_lsb": 25,
13224 "is_pov": false,
13225 "field_msb": 2,
13226 "phv_msb": 27,
13227 "is_compiler_generated": false,
13228 "field_name": "tcp_res",
13229 "field_width": 1,
13230 "field_lsb": 0
13231 },
13232 {
13233 "word_bit_width": 32,
13234 "position_offset": 11,
13235 "phv_lsb": 22,
13236 "is_pov": false,
13237 "field_msb": 2,
13238 "phv_msb": 24,
13239 "is_compiler_generated": false,
13240 "field_name": "tcp_ecn",
13241 "field_width": 1,
13242 "field_lsb": 0
13243 },
13244 {
13245 "word_bit_width": 32,
13246 "position_offset": 34,
13247 "phv_lsb": 16,
13248 "is_pov": false,
13249 "field_msb": 5,
13250 "phv_msb": 21,
13251 "is_compiler_generated": false,
13252 "field_name": "tcp_ctrl",
13253 "field_width": 1,
13254 "field_lsb": 0
13255 },
13256 {
13257 "word_bit_width": 32,
13258 "position_offset": 41,
13259 "phv_lsb": 0,
13260 "is_pov": false,
13261 "field_msb": 15,
13262 "phv_msb": 15,
13263 "is_compiler_generated": false,
13264 "field_name": "tcp_window",
13265 "field_width": 2,
13266 "field_lsb": 0
13267 }
13268 ]
13269 },
13270 {
13271 "phv_number": 269,
13272 "records": [
13273 {
13274 "word_bit_width": 32,
13275 "position_offset": 2,
13276 "phv_lsb": 16,
13277 "is_pov": false,
13278 "field_msb": 15,
13279 "phv_msb": 31,
13280 "is_compiler_generated": false,
13281 "field_name": "tcp_checksum",
13282 "field_width": 2,
13283 "field_lsb": 0
13284 },
13285 {
13286 "word_bit_width": 32,
13287 "position_offset": 45,
13288 "phv_lsb": 0,
13289 "is_pov": false,
13290 "field_msb": 15,
13291 "phv_msb": 15,
13292 "is_compiler_generated": false,
13293 "field_name": "tcp_urgentPtr",
13294 "field_width": 2,
13295 "field_lsb": 0
13296 }
13297 ]
13298 },
13299 {
13300 "phv_number": 270,
13301 "records": [
13302 {
13303 "word_bit_width": 32,
13304 "position_offset": 19,
13305 "phv_lsb": 0,
13306 "is_pov": false,
13307 "field_msb": 39,
13308 "phv_msb": 31,
13309 "is_compiler_generated": false,
13310 "field_name": "ethernet_dstAddr",
13311 "field_width": 6,
13312 "field_lsb": 8
13313 }
13314 ]
13315 },
13316 {
13317 "phv_number": 271,
13318 "records": [
13319 {
13320 "word_bit_width": 32,
13321 "position_offset": 63,
13322 "phv_lsb": 0,
13323 "is_pov": false,
13324 "field_msb": 31,
13325 "phv_msb": 31,
13326 "is_compiler_generated": false,
13327 "field_name": "ethernet_srcAddr",
13328 "field_width": 6,
13329 "field_lsb": 0
13330 }
13331 ]
13332 },
13333 {
13334 "phv_number": 296,
13335 "records": [
13336 {
13337 "word_bit_width": 8,
13338 "position_offset": 29,
13339 "phv_lsb": 4,
13340 "is_pov": false,
13341 "field_msb": 3,
13342 "phv_msb": 7,
13343 "is_compiler_generated": false,
13344 "field_name": "ipv4_version",
13345 "field_width": 1,
13346 "field_lsb": 0
13347 },
13348 {
13349 "word_bit_width": 8,
13350 "position_offset": 37,
13351 "phv_lsb": 0,
13352 "is_pov": false,
13353 "field_msb": 3,
13354 "phv_msb": 3,
13355 "is_compiler_generated": false,
13356 "field_name": "ipv4_ihl",
13357 "field_width": 1,
13358 "field_lsb": 0
13359 }
13360 ]
13361 },
13362 {
13363 "phv_number": 297,
Carmelo Casconef1d0a422017-09-07 17:21:46 +020013364 "records": [
13365 {
13366 "word_bit_width": 8,
13367 "position_offset": 4,
13368 "phv_lsb": 0,
13369 "is_pov": false,
13370 "field_msb": 7,
13371 "phv_msb": 7,
13372 "is_compiler_generated": false,
13373 "field_name": "ipv4_diffserv",
13374 "field_width": 1,
13375 "field_lsb": 0
13376 }
13377 ]
13378 },
13379 {
Brian O'Connora6862e02017-09-08 01:17:39 -070013380 "phv_number": 298,
Carmelo Casconef1d0a422017-09-07 17:21:46 +020013381 "records": [
13382 {
13383 "word_bit_width": 8,
Brian O'Connora6862e02017-09-08 01:17:39 -070013384 "position_offset": 35,
Carmelo Casconef1d0a422017-09-07 17:21:46 +020013385 "phv_lsb": 0,
13386 "is_pov": false,
13387 "field_msb": 15,
13388 "phv_msb": 7,
13389 "is_compiler_generated": false,
13390 "field_name": "tcp_srcPort",
13391 "field_width": 2,
13392 "field_lsb": 8
13393 },
13394 {
13395 "word_bit_width": 8,
Brian O'Connora6862e02017-09-08 01:17:39 -070013396 "position_offset": 56,
Carmelo Casconef1d0a422017-09-07 17:21:46 +020013397 "phv_lsb": 0,
13398 "is_pov": false,
13399 "field_msb": 15,
13400 "phv_msb": 7,
13401 "is_compiler_generated": false,
13402 "field_name": "udp_srcPort",
13403 "field_width": 2,
13404 "field_lsb": 8
13405 }
13406 ]
13407 },
13408 {
Brian O'Connora6862e02017-09-08 01:17:39 -070013409 "phv_number": 299,
Carmelo Casconef1d0a422017-09-07 17:21:46 +020013410 "records": [
13411 {
13412 "word_bit_width": 8,
Brian O'Connora6862e02017-09-08 01:17:39 -070013413 "position_offset": 35,
Carmelo Casconef1d0a422017-09-07 17:21:46 +020013414 "phv_lsb": 0,
13415 "is_pov": false,
13416 "field_msb": 7,
13417 "phv_msb": 7,
13418 "is_compiler_generated": false,
13419 "field_name": "tcp_srcPort",
13420 "field_width": 2,
13421 "field_lsb": 0
13422 },
13423 {
13424 "word_bit_width": 8,
Brian O'Connora6862e02017-09-08 01:17:39 -070013425 "position_offset": 56,
Carmelo Casconef1d0a422017-09-07 17:21:46 +020013426 "phv_lsb": 0,
13427 "is_pov": false,
13428 "field_msb": 7,
13429 "phv_msb": 7,
13430 "is_compiler_generated": false,
13431 "field_name": "udp_srcPort",
13432 "field_width": 2,
13433 "field_lsb": 0
13434 }
13435 ]
13436 },
13437 {
Brian O'Connora6862e02017-09-08 01:17:39 -070013438 "phv_number": 300,
Carmelo Casconef1d0a422017-09-07 17:21:46 +020013439 "records": [
13440 {
13441 "word_bit_width": 8,
Brian O'Connora6862e02017-09-08 01:17:39 -070013442 "position_offset": 19,
Carmelo Casconef1d0a422017-09-07 17:21:46 +020013443 "phv_lsb": 0,
13444 "is_pov": false,
13445 "field_msb": 47,
13446 "phv_msb": 7,
13447 "is_compiler_generated": false,
13448 "field_name": "ethernet_dstAddr",
13449 "field_width": 6,
13450 "field_lsb": 40
13451 }
13452 ]
13453 },
13454 {
Brian O'Connora6862e02017-09-08 01:17:39 -070013455 "phv_number": 301,
Carmelo Casconef1d0a422017-09-07 17:21:46 +020013456 "records": [
13457 {
13458 "word_bit_width": 8,
Brian O'Connora6862e02017-09-08 01:17:39 -070013459 "position_offset": 63,
Carmelo Casconef1d0a422017-09-07 17:21:46 +020013460 "phv_lsb": 0,
13461 "is_pov": false,
13462 "field_msb": 39,
13463 "phv_msb": 7,
13464 "is_compiler_generated": false,
13465 "field_name": "ethernet_srcAddr",
13466 "field_width": 6,
13467 "field_lsb": 32
13468 }
13469 ]
13470 },
13471 {
Brian O'Connora6862e02017-09-08 01:17:39 -070013472 "phv_number": 332,
Carmelo Casconef1d0a422017-09-07 17:21:46 +020013473 "records": [
13474 {
13475 "word_bit_width": 16,
Brian O'Connora6862e02017-09-08 01:17:39 -070013476 "position_offset": 54,
Carmelo Casconef1d0a422017-09-07 17:21:46 +020013477 "phv_lsb": 0,
13478 "is_pov": false,
13479 "field_msb": 15,
13480 "phv_msb": 15,
13481 "is_compiler_generated": false,
13482 "field_name": "ipv4_totalLen",
13483 "field_width": 2,
13484 "field_lsb": 0
13485 }
13486 ]
13487 },
13488 {
Brian O'Connora6862e02017-09-08 01:17:39 -070013489 "phv_number": 333,
Carmelo Casconef1d0a422017-09-07 17:21:46 +020013490 "records": [
13491 {
13492 "word_bit_width": 16,
Brian O'Connora6862e02017-09-08 01:17:39 -070013493 "position_offset": 43,
Carmelo Casconef1d0a422017-09-07 17:21:46 +020013494 "phv_lsb": 0,
13495 "is_pov": false,
13496 "field_msb": 15,
13497 "phv_msb": 15,
13498 "is_compiler_generated": false,
13499 "field_name": "ipv4_identification",
13500 "field_width": 2,
13501 "field_lsb": 0
13502 }
13503 ]
13504 },
13505 {
Brian O'Connora6862e02017-09-08 01:17:39 -070013506 "phv_number": 334,
Carmelo Casconef1d0a422017-09-07 17:21:46 +020013507 "records": [
13508 {
13509 "word_bit_width": 16,
13510 "position_offset": 8,
13511 "phv_lsb": 13,
13512 "is_pov": false,
13513 "field_msb": 2,
13514 "phv_msb": 15,
13515 "is_compiler_generated": false,
13516 "field_name": "ipv4_flags",
13517 "field_width": 1,
13518 "field_lsb": 0
13519 },
13520 {
13521 "word_bit_width": 16,
13522 "position_offset": 5,
13523 "phv_lsb": 0,
13524 "is_pov": false,
13525 "field_msb": 12,
13526 "phv_msb": 12,
13527 "is_compiler_generated": false,
13528 "field_name": "ipv4_fragOffset",
13529 "field_width": 2,
13530 "field_lsb": 0
13531 }
13532 ]
13533 },
13534 {
Brian O'Connora6862e02017-09-08 01:17:39 -070013535 "phv_number": 335,
Carmelo Casconef1d0a422017-09-07 17:21:46 +020013536 "records": [
13537 {
13538 "word_bit_width": 16,
Brian O'Connora6862e02017-09-08 01:17:39 -070013539 "position_offset": 32,
Carmelo Casconef1d0a422017-09-07 17:21:46 +020013540 "phv_lsb": 0,
13541 "is_pov": false,
13542 "field_msb": 15,
13543 "phv_msb": 15,
13544 "is_compiler_generated": false,
13545 "field_name": "tcp_dstPort",
13546 "field_width": 2,
13547 "field_lsb": 0
Brian O'Connora6862e02017-09-08 01:17:39 -070013548 }
13549 ]
13550 },
13551 {
13552 "phv_number": 336,
13553 "records": [
13554 {
13555 "word_bit_width": 16,
13556 "position_offset": 69,
13557 "phv_lsb": 0,
13558 "is_pov": false,
13559 "field_msb": 31,
13560 "phv_msb": 15,
13561 "is_compiler_generated": false,
13562 "field_name": "tcp_seqNo",
13563 "field_width": 4,
13564 "field_lsb": 16
Carmelo Casconef1d0a422017-09-07 17:21:46 +020013565 },
13566 {
13567 "word_bit_width": 16,
Brian O'Connora6862e02017-09-08 01:17:39 -070013568 "position_offset": 48,
Carmelo Casconef1d0a422017-09-07 17:21:46 +020013569 "phv_lsb": 0,
13570 "is_pov": false,
13571 "field_msb": 15,
13572 "phv_msb": 15,
13573 "is_compiler_generated": false,
13574 "field_name": "udp_dstPort",
13575 "field_width": 2,
13576 "field_lsb": 0
13577 }
13578 ]
13579 },
13580 {
Brian O'Connora6862e02017-09-08 01:17:39 -070013581 "phv_number": 337,
Carmelo Casconef1d0a422017-09-07 17:21:46 +020013582 "records": [
13583 {
13584 "word_bit_width": 16,
Brian O'Connora6862e02017-09-08 01:17:39 -070013585 "position_offset": 69,
Carmelo Casconef1d0a422017-09-07 17:21:46 +020013586 "phv_lsb": 0,
13587 "is_pov": false,
13588 "field_msb": 15,
13589 "phv_msb": 15,
13590 "is_compiler_generated": false,
13591 "field_name": "tcp_seqNo",
13592 "field_width": 4,
13593 "field_lsb": 0
13594 }
13595 ]
13596 },
13597 {
Brian O'Connora6862e02017-09-08 01:17:39 -070013598 "phv_number": 338,
Carmelo Casconef1d0a422017-09-07 17:21:46 +020013599 "records": [
13600 {
13601 "word_bit_width": 16,
Brian O'Connora6862e02017-09-08 01:17:39 -070013602 "position_offset": 19,
Carmelo Casconef1d0a422017-09-07 17:21:46 +020013603 "phv_lsb": 8,
13604 "is_pov": false,
13605 "field_msb": 7,
13606 "phv_msb": 15,
13607 "is_compiler_generated": false,
13608 "field_name": "ethernet_dstAddr",
13609 "field_width": 6,
13610 "field_lsb": 0
13611 },
13612 {
13613 "word_bit_width": 16,
Brian O'Connora6862e02017-09-08 01:17:39 -070013614 "position_offset": 63,
Carmelo Casconef1d0a422017-09-07 17:21:46 +020013615 "phv_lsb": 0,
13616 "is_pov": false,
13617 "field_msb": 47,
13618 "phv_msb": 7,
13619 "is_compiler_generated": false,
13620 "field_name": "ethernet_srcAddr",
13621 "field_width": 6,
13622 "field_lsb": 40
13623 }
13624 ]
13625 },
13626 {
Brian O'Connora6862e02017-09-08 01:17:39 -070013627 "phv_number": 339,
Carmelo Casconef1d0a422017-09-07 17:21:46 +020013628 "records": [
13629 {
13630 "word_bit_width": 16,
Brian O'Connora6862e02017-09-08 01:17:39 -070013631 "position_offset": 39,
Carmelo Casconef1d0a422017-09-07 17:21:46 +020013632 "phv_lsb": 0,
13633 "is_pov": false,
13634 "field_msb": 15,
13635 "phv_msb": 15,
13636 "is_compiler_generated": false,
13637 "field_name": "ethernet_etherType",
13638 "field_width": 2,
13639 "field_lsb": 0
13640 }
13641 ]
13642 },
13643 {
Brian O'Connora6862e02017-09-08 01:17:39 -070013644 "phv_number": 340,
Carmelo Casconef1d0a422017-09-07 17:21:46 +020013645 "records": [
13646 {
13647 "word_bit_width": 16,
13648 "position_offset": 0,
13649 "phv_lsb": 7,
13650 "is_pov": false,
13651 "field_msb": 8,
13652 "phv_msb": 15,
13653 "is_compiler_generated": false,
13654 "field_name": "packet_out_hdr_egress_port",
13655 "field_width": 2,
13656 "field_lsb": 0
Brian O'Connora6862e02017-09-08 01:17:39 -070013657 },
13658 {
13659 "word_bit_width": 16,
13660 "position_offset": 30,
13661 "phv_lsb": 7,
13662 "is_pov": false,
13663 "field_msb": 8,
13664 "phv_msb": 15,
13665 "is_compiler_generated": false,
13666 "field_name": "packet_in_hdr_ingress_port",
13667 "field_width": 2,
13668 "field_lsb": 0
Carmelo Casconef1d0a422017-09-07 17:21:46 +020013669 }
13670 ]
13671 }
13672 ],
13673 "stage_number": 8
13674 },
13675 {
13676 "ingress": [
13677 {
13678 "phv_number": 0,
13679 "records": [
13680 {
13681 "word_bit_width": 32,
13682 "position_offset": 0,
13683 "phv_lsb": 0,
13684 "is_pov": true,
13685 "pov_headers": [],
13686 "field_msb": 31,
13687 "phv_msb": 31,
13688 "is_compiler_generated": false,
13689 "field_name": "POV",
13690 "field_width": 0,
13691 "field_lsb": 0
13692 }
13693 ]
13694 },
13695 {
13696 "phv_number": 1,
13697 "records": [
13698 {
13699 "word_bit_width": 32,
Brian O'Connora6862e02017-09-08 01:17:39 -070013700 "position_offset": 19,
Carmelo Casconef1d0a422017-09-07 17:21:46 +020013701 "phv_lsb": 24,
13702 "is_pov": false,
13703 "field_msb": 7,
13704 "phv_msb": 31,
13705 "is_compiler_generated": false,
13706 "field_name": "ipv4_protocol",
13707 "field_width": 1,
13708 "field_lsb": 0
13709 },
13710 {
13711 "word_bit_width": 32,
13712 "position_offset": 10,
13713 "phv_lsb": 8,
13714 "is_pov": false,
13715 "field_msb": 15,
13716 "phv_msb": 23,
13717 "is_compiler_generated": false,
13718 "field_name": "ipv4_hdrChecksum",
13719 "field_width": 2,
13720 "field_lsb": 0
13721 },
13722 {
13723 "word_bit_width": 32,
Brian O'Connora6862e02017-09-08 01:17:39 -070013724 "position_offset": 13,
Carmelo Casconef1d0a422017-09-07 17:21:46 +020013725 "phv_lsb": 0,
13726 "is_pov": false,
13727 "field_msb": 31,
13728 "phv_msb": 7,
13729 "is_compiler_generated": false,
13730 "field_name": "ipv4_srcAddr",
13731 "field_width": 4,
13732 "field_lsb": 24
13733 }
13734 ]
13735 },
13736 {
13737 "phv_number": 2,
13738 "records": [
13739 {
13740 "word_bit_width": 32,
Brian O'Connora6862e02017-09-08 01:17:39 -070013741 "position_offset": 57,
Carmelo Casconef1d0a422017-09-07 17:21:46 +020013742 "phv_lsb": 0,
13743 "is_pov": false,
13744 "field_msb": 31,
13745 "phv_msb": 31,
13746 "is_compiler_generated": false,
13747 "field_name": "ipv4_dstAddr",
13748 "field_width": 4,
13749 "field_lsb": 0
13750 }
13751 ]
13752 },
13753 {
13754 "phv_number": 3,
13755 "records": [
13756 {
13757 "word_bit_width": 32,
Brian O'Connora6862e02017-09-08 01:17:39 -070013758 "position_offset": 22,
Carmelo Casconef1d0a422017-09-07 17:21:46 +020013759 "phv_lsb": 0,
13760 "is_pov": false,
13761 "field_msb": 39,
13762 "phv_msb": 31,
13763 "is_compiler_generated": false,
13764 "field_name": "ethernet_dstAddr",
13765 "field_width": 6,
13766 "field_lsb": 8
13767 }
13768 ]
13769 },
13770 {
13771 "phv_number": 4,
13772 "records": [
13773 {
13774 "word_bit_width": 32,
Brian O'Connora6862e02017-09-08 01:17:39 -070013775 "position_offset": 70,
Carmelo Casconef1d0a422017-09-07 17:21:46 +020013776 "phv_lsb": 0,
13777 "is_pov": false,
13778 "field_msb": 31,
13779 "phv_msb": 31,
13780 "is_compiler_generated": false,
13781 "field_name": "ethernet_srcAddr",
13782 "field_width": 6,
13783 "field_lsb": 0
13784 }
13785 ]
13786 },
13787 {
13788 "phv_number": 5,
13789 "records": [
13790 {
13791 "word_bit_width": 32,
Brian O'Connora6862e02017-09-08 01:17:39 -070013792 "position_offset": 66,
Carmelo Casconef1d0a422017-09-07 17:21:46 +020013793 "phv_lsb": 16,
13794 "is_pov": false,
13795 "field_msb": 15,
13796 "phv_msb": 31,
13797 "is_compiler_generated": false,
13798 "field_name": "udp_srcPort",
13799 "field_width": 2,
13800 "field_lsb": 0
13801 },
13802 {
13803 "word_bit_width": 32,
Brian O'Connora6862e02017-09-08 01:17:39 -070013804 "position_offset": 55,
Carmelo Casconef1d0a422017-09-07 17:21:46 +020013805 "phv_lsb": 0,
13806 "is_pov": false,
13807 "field_msb": 15,
13808 "phv_msb": 15,
13809 "is_compiler_generated": false,
13810 "field_name": "udp_dstPort",
13811 "field_width": 2,
13812 "field_lsb": 0
13813 }
13814 ]
13815 },
13816 {
13817 "phv_number": 64,
13818 "records": [
13819 {
13820 "word_bit_width": 8,
Brian O'Connora6862e02017-09-08 01:17:39 -070013821 "position_offset": 13,
Carmelo Casconef1d0a422017-09-07 17:21:46 +020013822 "phv_lsb": 0,
13823 "is_pov": false,
13824 "field_msb": 23,
13825 "phv_msb": 7,
13826 "is_compiler_generated": false,
13827 "field_name": "ipv4_srcAddr",
13828 "field_width": 4,
13829 "field_lsb": 16
13830 }
13831 ]
13832 },
13833 {
Brian O'Connora6862e02017-09-08 01:17:39 -070013834 "phv_number": 65,
Carmelo Casconef1d0a422017-09-07 17:21:46 +020013835 "records": [
13836 {
13837 "word_bit_width": 8,
Brian O'Connora6862e02017-09-08 01:17:39 -070013838 "position_offset": 22,
Carmelo Casconef1d0a422017-09-07 17:21:46 +020013839 "phv_lsb": 0,
13840 "is_pov": false,
13841 "field_msb": 47,
13842 "phv_msb": 7,
13843 "is_compiler_generated": false,
13844 "field_name": "ethernet_dstAddr",
13845 "field_width": 6,
13846 "field_lsb": 40
13847 }
13848 ]
13849 },
13850 {
Brian O'Connora6862e02017-09-08 01:17:39 -070013851 "phv_number": 66,
Carmelo Casconef1d0a422017-09-07 17:21:46 +020013852 "records": [
13853 {
13854 "word_bit_width": 8,
Brian O'Connora6862e02017-09-08 01:17:39 -070013855 "position_offset": 70,
Carmelo Casconef1d0a422017-09-07 17:21:46 +020013856 "phv_lsb": 0,
13857 "is_pov": false,
13858 "field_msb": 39,
13859 "phv_msb": 7,
13860 "is_compiler_generated": false,
13861 "field_name": "ethernet_srcAddr",
13862 "field_width": 6,
13863 "field_lsb": 32
13864 }
13865 ]
13866 },
13867 {
Brian O'Connora6862e02017-09-08 01:17:39 -070013868 "phv_number": 67,
Carmelo Casconef1d0a422017-09-07 17:21:46 +020013869 "records": [
13870 {
13871 "word_bit_width": 8,
13872 "position_offset": 0,
13873 "phv_lsb": 0,
13874 "is_pov": true,
13875 "pov_headers": [
13876 {
13877 "bit_index": 0,
Brian O'Connora6862e02017-09-08 01:17:39 -070013878 "position_offset": 80,
Carmelo Casconef1d0a422017-09-07 17:21:46 +020013879 "header_name": "packet_in_hdr",
13880 "hidden": false
13881 },
13882 {
13883 "bit_index": 1,
Brian O'Connora6862e02017-09-08 01:17:39 -070013884 "position_offset": 81,
Carmelo Casconef1d0a422017-09-07 17:21:46 +020013885 "header_name": "packet_out_hdr",
13886 "hidden": false
13887 },
13888 {
13889 "bit_index": 2,
Brian O'Connora6862e02017-09-08 01:17:39 -070013890 "position_offset": 82,
Carmelo Casconef1d0a422017-09-07 17:21:46 +020013891 "header_name": "ethernet",
13892 "hidden": false
13893 },
13894 {
13895 "bit_index": 3,
Brian O'Connora6862e02017-09-08 01:17:39 -070013896 "position_offset": 83,
Carmelo Casconef1d0a422017-09-07 17:21:46 +020013897 "header_name": "ipv4",
13898 "hidden": false
13899 },
13900 {
13901 "bit_index": 4,
Brian O'Connora6862e02017-09-08 01:17:39 -070013902 "position_offset": 84,
Carmelo Casconef1d0a422017-09-07 17:21:46 +020013903 "header_name": "tcp",
13904 "hidden": false
13905 },
13906 {
13907 "bit_index": 5,
Brian O'Connora6862e02017-09-08 01:17:39 -070013908 "position_offset": 85,
Carmelo Casconef1d0a422017-09-07 17:21:46 +020013909 "header_name": "udp",
13910 "hidden": false
13911 }
13912 ],
13913 "field_msb": 39,
13914 "phv_msb": 7,
13915 "is_compiler_generated": false,
13916 "field_name": "POV",
13917 "field_width": 0,
13918 "field_lsb": 32
13919 }
13920 ]
13921 },
13922 {
Brian O'Connora6862e02017-09-08 01:17:39 -070013923 "phv_number": 68,
Carmelo Casconef1d0a422017-09-07 17:21:46 +020013924 "records": [
13925 {
13926 "word_bit_width": 8,
Brian O'Connora6862e02017-09-08 01:17:39 -070013927 "position_offset": 51,
Carmelo Casconef1d0a422017-09-07 17:21:46 +020013928 "phv_lsb": 5,
13929 "is_pov": false,
13930 "field_msb": 2,
13931 "phv_msb": 7,
13932 "is_compiler_generated": false,
13933 "field_name": "ig_intr_md_for_tm_drop_ctl",
13934 "field_width": 1,
13935 "field_lsb": 0
13936 }
13937 ]
13938 },
13939 {
13940 "phv_number": 128,
13941 "records": [
13942 {
13943 "word_bit_width": 16,
Brian O'Connora6862e02017-09-08 01:17:39 -070013944 "position_offset": 32,
Carmelo Casconef1d0a422017-09-07 17:21:46 +020013945 "phv_lsb": 15,
13946 "is_pov": false,
13947 "field_msb": 0,
13948 "phv_msb": 15,
13949 "is_compiler_generated": false,
13950 "field_name": "ig_intr_md_resubmit_flag",
13951 "field_width": 1,
13952 "field_lsb": 0
13953 },
13954 {
13955 "word_bit_width": 16,
13956 "position_offset": 8,
13957 "phv_lsb": 0,
13958 "is_pov": false,
13959 "field_msb": 8,
13960 "phv_msb": 8,
13961 "is_compiler_generated": false,
13962 "field_name": "ig_intr_md_ingress_port",
13963 "field_width": 2,
13964 "field_lsb": 0
13965 }
13966 ]
13967 },
13968 {
13969 "phv_number": 129,
13970 "records": [
13971 {
13972 "word_bit_width": 16,
13973 "position_offset": 0,
13974 "phv_lsb": 7,
13975 "is_pov": false,
13976 "field_msb": 8,
13977 "phv_msb": 15,
13978 "is_compiler_generated": false,
13979 "field_name": "packet_out_hdr_egress_port",
13980 "field_width": 2,
13981 "field_lsb": 0
13982 },
13983 {
13984 "word_bit_width": 16,
Brian O'Connora6862e02017-09-08 01:17:39 -070013985 "position_offset": 33,
Carmelo Casconef1d0a422017-09-07 17:21:46 +020013986 "phv_lsb": 7,
13987 "is_pov": false,
13988 "field_msb": 8,
13989 "phv_msb": 15,
13990 "is_compiler_generated": false,
13991 "field_name": "packet_in_hdr_ingress_port",
13992 "field_width": 2,
13993 "field_lsb": 0
13994 }
13995 ]
13996 },
13997 {
13998 "phv_number": 130,
13999 "records": [
14000 {
14001 "word_bit_width": 16,
Brian O'Connora6862e02017-09-08 01:17:39 -070014002 "position_offset": 41,
Carmelo Casconef1d0a422017-09-07 17:21:46 +020014003 "phv_lsb": 0,
14004 "is_pov": false,
14005 "field_msb": 8,
14006 "phv_msb": 8,
14007 "is_compiler_generated": false,
14008 "field_name": "ig_intr_md_for_tm_ucast_egress_port",
14009 "field_width": 2,
14010 "field_lsb": 0
14011 }
14012 ]
14013 },
14014 {
14015 "phv_number": 131,
14016 "records": [
14017 {
14018 "word_bit_width": 16,
Brian O'Connora6862e02017-09-08 01:17:39 -070014019 "position_offset": 13,
Carmelo Casconef1d0a422017-09-07 17:21:46 +020014020 "phv_lsb": 0,
14021 "is_pov": false,
14022 "field_msb": 15,
14023 "phv_msb": 15,
14024 "is_compiler_generated": false,
14025 "field_name": "ipv4_srcAddr",
14026 "field_width": 4,
14027 "field_lsb": 0
14028 }
14029 ]
14030 },
14031 {
14032 "phv_number": 132,
14033 "records": [
14034 {
14035 "word_bit_width": 16,
Brian O'Connora6862e02017-09-08 01:17:39 -070014036 "position_offset": 22,
Carmelo Casconef1d0a422017-09-07 17:21:46 +020014037 "phv_lsb": 8,
14038 "is_pov": false,
14039 "field_msb": 7,
14040 "phv_msb": 15,
14041 "is_compiler_generated": false,
14042 "field_name": "ethernet_dstAddr",
14043 "field_width": 6,
14044 "field_lsb": 0
14045 },
14046 {
14047 "word_bit_width": 16,
Brian O'Connora6862e02017-09-08 01:17:39 -070014048 "position_offset": 70,
Carmelo Casconef1d0a422017-09-07 17:21:46 +020014049 "phv_lsb": 0,
14050 "is_pov": false,
14051 "field_msb": 47,
14052 "phv_msb": 7,
14053 "is_compiler_generated": false,
14054 "field_name": "ethernet_srcAddr",
14055 "field_width": 6,
14056 "field_lsb": 40
14057 }
14058 ]
14059 },
14060 {
14061 "phv_number": 133,
14062 "records": [
14063 {
14064 "word_bit_width": 16,
14065 "position_offset": 5,
14066 "phv_lsb": 0,
14067 "is_pov": false,
14068 "field_msb": 15,
14069 "phv_msb": 15,
14070 "is_compiler_generated": false,
14071 "field_name": "ethernet_etherType",
14072 "field_width": 2,
14073 "field_lsb": 0
14074 }
14075 ]
14076 },
14077 {
14078 "phv_number": 134,
14079 "records": [
14080 {
14081 "word_bit_width": 16,
Brian O'Connora6862e02017-09-08 01:17:39 -070014082 "position_offset": 20,
Carmelo Casconef1d0a422017-09-07 17:21:46 +020014083 "phv_lsb": 0,
14084 "is_pov": false,
14085 "field_msb": 15,
14086 "phv_msb": 15,
14087 "is_compiler_generated": false,
14088 "field_name": "ecmp_metadata_groupId",
14089 "field_width": 2,
14090 "field_lsb": 0
14091 }
14092 ]
14093 },
14094 {
14095 "phv_number": 135,
14096 "records": [
14097 {
14098 "word_bit_width": 16,
Brian O'Connora6862e02017-09-08 01:17:39 -070014099 "position_offset": 61,
Carmelo Casconef1d0a422017-09-07 17:21:46 +020014100 "phv_lsb": 0,
14101 "is_pov": false,
14102 "field_msb": 15,
14103 "phv_msb": 15,
14104 "is_compiler_generated": false,
14105 "field_name": "ecmp_metadata_selector",
14106 "field_width": 2,
14107 "field_lsb": 0
14108 }
14109 ]
14110 },
14111 {
14112 "phv_number": 256,
14113 "records": [
14114 {
14115 "word_bit_width": 32,
Brian O'Connora6862e02017-09-08 01:17:39 -070014116 "position_offset": 49,
Carmelo Casconef1d0a422017-09-07 17:21:46 +020014117 "phv_lsb": 24,
14118 "is_pov": false,
14119 "field_msb": 7,
14120 "phv_msb": 31,
14121 "is_compiler_generated": false,
14122 "field_name": "ipv4_identification",
14123 "field_width": 2,
14124 "field_lsb": 0
14125 },
14126 {
14127 "word_bit_width": 32,
14128 "position_offset": 7,
14129 "phv_lsb": 21,
14130 "is_pov": false,
14131 "field_msb": 2,
14132 "phv_msb": 23,
14133 "is_compiler_generated": false,
14134 "field_name": "ipv4_flags",
14135 "field_width": 1,
14136 "field_lsb": 0
14137 },
14138 {
14139 "word_bit_width": 32,
Brian O'Connora6862e02017-09-08 01:17:39 -070014140 "position_offset": 44,
Carmelo Casconef1d0a422017-09-07 17:21:46 +020014141 "phv_lsb": 8,
14142 "is_pov": false,
14143 "field_msb": 12,
14144 "phv_msb": 20,
14145 "is_compiler_generated": false,
14146 "field_name": "ipv4_fragOffset",
14147 "field_width": 2,
14148 "field_lsb": 0
14149 },
14150 {
14151 "word_bit_width": 32,
Brian O'Connora6862e02017-09-08 01:17:39 -070014152 "position_offset": 54,
Carmelo Casconef1d0a422017-09-07 17:21:46 +020014153 "phv_lsb": 0,
14154 "is_pov": false,
14155 "field_msb": 7,
14156 "phv_msb": 7,
14157 "is_compiler_generated": false,
14158 "field_name": "ipv4_ttl",
14159 "field_width": 1,
14160 "field_lsb": 0
14161 }
14162 ]
14163 },
14164 {
14165 "phv_number": 257,
14166 "records": [
14167 {
14168 "word_bit_width": 32,
Brian O'Connora6862e02017-09-08 01:17:39 -070014169 "position_offset": 43,
Carmelo Casconef1d0a422017-09-07 17:21:46 +020014170 "phv_lsb": 28,
14171 "is_pov": false,
14172 "field_msb": 3,
14173 "phv_msb": 31,
14174 "is_compiler_generated": false,
14175 "field_name": "tcp_dataOffset",
14176 "field_width": 1,
14177 "field_lsb": 0
14178 },
14179 {
14180 "word_bit_width": 32,
Brian O'Connora6862e02017-09-08 01:17:39 -070014181 "position_offset": 48,
Carmelo Casconef1d0a422017-09-07 17:21:46 +020014182 "phv_lsb": 25,
14183 "is_pov": false,
14184 "field_msb": 2,
14185 "phv_msb": 27,
14186 "is_compiler_generated": false,
14187 "field_name": "tcp_res",
14188 "field_width": 1,
14189 "field_lsb": 0
14190 },
14191 {
14192 "word_bit_width": 32,
Brian O'Connora6862e02017-09-08 01:17:39 -070014193 "position_offset": 12,
Carmelo Casconef1d0a422017-09-07 17:21:46 +020014194 "phv_lsb": 22,
14195 "is_pov": false,
14196 "field_msb": 2,
14197 "phv_msb": 24,
14198 "is_compiler_generated": false,
14199 "field_name": "tcp_ecn",
14200 "field_width": 1,
14201 "field_lsb": 0
14202 },
14203 {
14204 "word_bit_width": 32,
14205 "position_offset": 37,
14206 "phv_lsb": 16,
14207 "is_pov": false,
14208 "field_msb": 5,
14209 "phv_msb": 21,
14210 "is_compiler_generated": false,
14211 "field_name": "tcp_ctrl",
14212 "field_width": 1,
14213 "field_lsb": 0
14214 },
14215 {
14216 "word_bit_width": 32,
Brian O'Connora6862e02017-09-08 01:17:39 -070014217 "position_offset": 46,
Carmelo Casconef1d0a422017-09-07 17:21:46 +020014218 "phv_lsb": 0,
14219 "is_pov": false,
14220 "field_msb": 15,
14221 "phv_msb": 15,
14222 "is_compiler_generated": false,
14223 "field_name": "tcp_window",
14224 "field_width": 2,
14225 "field_lsb": 0
14226 }
14227 ]
14228 },
14229 {
Brian O'Connora6862e02017-09-08 01:17:39 -070014230 "phv_number": 258,
Carmelo Casconef1d0a422017-09-07 17:21:46 +020014231 "records": [
14232 {
14233 "word_bit_width": 32,
14234 "position_offset": 2,
14235 "phv_lsb": 16,
14236 "is_pov": false,
14237 "field_msb": 15,
14238 "phv_msb": 31,
14239 "is_compiler_generated": false,
14240 "field_name": "tcp_checksum",
14241 "field_width": 2,
14242 "field_lsb": 0
14243 },
14244 {
14245 "word_bit_width": 32,
Brian O'Connora6862e02017-09-08 01:17:39 -070014246 "position_offset": 52,
Carmelo Casconef1d0a422017-09-07 17:21:46 +020014247 "phv_lsb": 0,
14248 "is_pov": false,
14249 "field_msb": 15,
14250 "phv_msb": 15,
14251 "is_compiler_generated": false,
14252 "field_name": "tcp_urgentPtr",
14253 "field_width": 2,
14254 "field_lsb": 0
14255 }
14256 ]
14257 },
14258 {
Brian O'Connora6862e02017-09-08 01:17:39 -070014259 "phv_number": 288,
Carmelo Casconef1d0a422017-09-07 17:21:46 +020014260 "records": [
14261 {
14262 "word_bit_width": 8,
Brian O'Connora6862e02017-09-08 01:17:39 -070014263 "position_offset": 65,
Carmelo Casconef1d0a422017-09-07 17:21:46 +020014264 "phv_lsb": 4,
14265 "is_pov": false,
14266 "field_msb": 3,
14267 "phv_msb": 7,
14268 "is_compiler_generated": false,
14269 "field_name": "ipv4_version",
14270 "field_width": 1,
14271 "field_lsb": 0
14272 },
14273 {
14274 "word_bit_width": 8,
14275 "position_offset": 40,
14276 "phv_lsb": 0,
14277 "is_pov": false,
14278 "field_msb": 3,
14279 "phv_msb": 3,
14280 "is_compiler_generated": false,
14281 "field_name": "ipv4_ihl",
14282 "field_width": 1,
14283 "field_lsb": 0
14284 }
14285 ]
14286 },
14287 {
Brian O'Connora6862e02017-09-08 01:17:39 -070014288 "phv_number": 289,
14289 "records": [
14290 {
14291 "word_bit_width": 8,
14292 "position_offset": 38,
14293 "phv_lsb": 0,
14294 "is_pov": false,
14295 "field_msb": 15,
14296 "phv_msb": 7,
14297 "is_compiler_generated": false,
14298 "field_name": "tcp_srcPort",
14299 "field_width": 2,
14300 "field_lsb": 8
14301 },
14302 {
14303 "word_bit_width": 8,
14304 "position_offset": 17,
14305 "phv_lsb": 0,
14306 "is_pov": false,
14307 "field_msb": 15,
14308 "phv_msb": 7,
14309 "is_compiler_generated": false,
14310 "field_name": "udp_length_",
14311 "field_width": 2,
14312 "field_lsb": 8
14313 }
14314 ]
14315 },
14316 {
14317 "phv_number": 290,
14318 "records": [
14319 {
14320 "word_bit_width": 8,
14321 "position_offset": 38,
14322 "phv_lsb": 0,
14323 "is_pov": false,
14324 "field_msb": 7,
14325 "phv_msb": 7,
14326 "is_compiler_generated": false,
14327 "field_name": "tcp_srcPort",
14328 "field_width": 2,
14329 "field_lsb": 0
14330 },
14331 {
14332 "word_bit_width": 8,
14333 "position_offset": 17,
14334 "phv_lsb": 0,
14335 "is_pov": false,
14336 "field_msb": 7,
14337 "phv_msb": 7,
14338 "is_compiler_generated": false,
14339 "field_name": "udp_length_",
14340 "field_width": 2,
14341 "field_lsb": 0
14342 }
14343 ]
14344 },
14345 {
14346 "phv_number": 291,
14347 "records": [
14348 {
14349 "word_bit_width": 8,
14350 "position_offset": 35,
14351 "phv_lsb": 0,
14352 "is_pov": false,
14353 "field_msb": 15,
14354 "phv_msb": 7,
14355 "is_compiler_generated": false,
14356 "field_name": "tcp_dstPort",
14357 "field_width": 2,
14358 "field_lsb": 8
14359 }
14360 ]
14361 },
14362 {
14363 "phv_number": 292,
14364 "records": [
14365 {
14366 "word_bit_width": 8,
14367 "position_offset": 35,
14368 "phv_lsb": 0,
14369 "is_pov": false,
14370 "field_msb": 7,
14371 "phv_msb": 7,
14372 "is_compiler_generated": false,
14373 "field_name": "tcp_dstPort",
14374 "field_width": 2,
14375 "field_lsb": 0
14376 }
14377 ]
14378 },
14379 {
14380 "phv_number": 320,
14381 "records": [
14382 {
14383 "word_bit_width": 16,
14384 "position_offset": 4,
14385 "phv_lsb": 8,
14386 "is_pov": false,
14387 "field_msb": 7,
14388 "phv_msb": 15,
14389 "is_compiler_generated": false,
14390 "field_name": "ipv4_diffserv",
14391 "field_width": 1,
14392 "field_lsb": 0
14393 },
14394 {
14395 "word_bit_width": 16,
14396 "position_offset": 63,
14397 "phv_lsb": 0,
14398 "is_pov": false,
14399 "field_msb": 15,
14400 "phv_msb": 7,
14401 "is_compiler_generated": false,
14402 "field_name": "ipv4_totalLen",
14403 "field_width": 2,
14404 "field_lsb": 8
14405 }
14406 ]
14407 },
14408 {
14409 "phv_number": 321,
14410 "records": [
14411 {
14412 "word_bit_width": 16,
14413 "position_offset": 63,
14414 "phv_lsb": 8,
14415 "is_pov": false,
14416 "field_msb": 7,
14417 "phv_msb": 15,
14418 "is_compiler_generated": false,
14419 "field_name": "ipv4_totalLen",
14420 "field_width": 2,
14421 "field_lsb": 0
14422 },
14423 {
14424 "word_bit_width": 16,
14425 "position_offset": 49,
14426 "phv_lsb": 0,
14427 "is_pov": false,
14428 "field_msb": 15,
14429 "phv_msb": 7,
14430 "is_compiler_generated": false,
14431 "field_name": "ipv4_identification",
14432 "field_width": 2,
14433 "field_lsb": 8
14434 }
14435 ]
14436 },
14437 {
14438 "phv_number": 322,
14439 "records": [
14440 {
14441 "word_bit_width": 16,
14442 "position_offset": 76,
14443 "phv_lsb": 0,
14444 "is_pov": false,
14445 "field_msb": 31,
14446 "phv_msb": 15,
14447 "is_compiler_generated": false,
14448 "field_name": "tcp_seqNo",
14449 "field_width": 4,
14450 "field_lsb": 16
14451 },
14452 {
14453 "word_bit_width": 16,
14454 "position_offset": 68,
14455 "phv_lsb": 0,
14456 "is_pov": false,
14457 "field_msb": 15,
14458 "phv_msb": 15,
14459 "is_compiler_generated": false,
14460 "field_name": "udp_checksum",
14461 "field_width": 2,
14462 "field_lsb": 0
14463 }
14464 ]
14465 },
14466 {
14467 "phv_number": 323,
14468 "records": [
14469 {
14470 "word_bit_width": 16,
14471 "position_offset": 76,
14472 "phv_lsb": 0,
14473 "is_pov": false,
14474 "field_msb": 15,
14475 "phv_msb": 15,
14476 "is_compiler_generated": false,
14477 "field_name": "tcp_seqNo",
14478 "field_width": 4,
14479 "field_lsb": 0
14480 }
14481 ]
14482 },
14483 {
14484 "phv_number": 324,
14485 "records": [
14486 {
14487 "word_bit_width": 16,
14488 "position_offset": 28,
14489 "phv_lsb": 0,
14490 "is_pov": false,
14491 "field_msb": 31,
14492 "phv_msb": 15,
14493 "is_compiler_generated": false,
14494 "field_name": "tcp_ackNo",
14495 "field_width": 4,
14496 "field_lsb": 16
14497 }
14498 ]
14499 },
14500 {
14501 "phv_number": 325,
14502 "records": [
14503 {
14504 "word_bit_width": 16,
14505 "position_offset": 28,
14506 "phv_lsb": 0,
14507 "is_pov": false,
14508 "field_msb": 15,
14509 "phv_msb": 15,
14510 "is_compiler_generated": false,
14511 "field_name": "tcp_ackNo",
14512 "field_width": 4,
14513 "field_lsb": 0
14514 }
14515 ]
14516 }
14517 ],
14518 "egress": [
14519 {
14520 "phv_number": 80,
14521 "records": [
14522 {
14523 "word_bit_width": 8,
14524 "position_offset": 7,
14525 "phv_lsb": 0,
14526 "is_pov": false,
14527 "field_msb": 2,
14528 "phv_msb": 2,
14529 "is_compiler_generated": false,
14530 "field_name": "eg_intr_md_egress_cos",
14531 "field_width": 1,
14532 "field_lsb": 0
14533 }
14534 ]
14535 },
14536 {
14537 "phv_number": 81,
14538 "records": [
14539 {
14540 "word_bit_width": 8,
14541 "position_offset": 0,
14542 "phv_lsb": 0,
14543 "is_pov": true,
14544 "pov_headers": [
14545 {
14546 "bit_index": 0,
14547 "position_offset": 73,
14548 "header_name": "packet_in_hdr",
14549 "hidden": false
14550 },
14551 {
14552 "bit_index": 1,
14553 "position_offset": 74,
14554 "header_name": "packet_out_hdr",
14555 "hidden": false
14556 },
14557 {
14558 "bit_index": 2,
14559 "position_offset": 75,
14560 "header_name": "ethernet",
14561 "hidden": false
14562 },
14563 {
14564 "bit_index": 3,
14565 "position_offset": 76,
14566 "header_name": "ipv4",
14567 "hidden": false
14568 },
14569 {
14570 "bit_index": 4,
14571 "position_offset": 77,
14572 "header_name": "tcp",
14573 "hidden": false
14574 },
14575 {
14576 "bit_index": 5,
14577 "position_offset": 78,
14578 "header_name": "udp",
14579 "hidden": false
14580 }
14581 ],
14582 "field_msb": 7,
14583 "phv_msb": 7,
14584 "is_compiler_generated": false,
14585 "field_name": "POV",
14586 "field_width": 0,
14587 "field_lsb": 0
14588 }
14589 ]
14590 },
14591 {
14592 "phv_number": 144,
14593 "records": [
14594 {
14595 "word_bit_width": 16,
14596 "position_offset": 61,
14597 "phv_lsb": 0,
14598 "is_pov": false,
14599 "field_msb": 8,
14600 "phv_msb": 8,
14601 "is_compiler_generated": false,
14602 "field_name": "eg_intr_md_egress_port",
14603 "field_width": 2,
14604 "field_lsb": 0
14605 }
14606 ]
14607 },
14608 {
14609 "phv_number": 264,
14610 "records": [
14611 {
14612 "word_bit_width": 32,
14613 "position_offset": 47,
14614 "phv_lsb": 24,
14615 "is_pov": false,
14616 "field_msb": 7,
14617 "phv_msb": 31,
14618 "is_compiler_generated": false,
14619 "field_name": "ipv4_ttl",
14620 "field_width": 1,
14621 "field_lsb": 0
14622 },
14623 {
14624 "word_bit_width": 32,
14625 "position_offset": 18,
14626 "phv_lsb": 16,
14627 "is_pov": false,
14628 "field_msb": 7,
14629 "phv_msb": 23,
14630 "is_compiler_generated": false,
14631 "field_name": "ipv4_protocol",
14632 "field_width": 1,
14633 "field_lsb": 0
14634 },
14635 {
14636 "word_bit_width": 32,
14637 "position_offset": 9,
14638 "phv_lsb": 0,
14639 "is_pov": false,
14640 "field_msb": 15,
14641 "phv_msb": 15,
14642 "is_compiler_generated": false,
14643 "field_name": "ipv4_hdrChecksum",
14644 "field_width": 2,
14645 "field_lsb": 0
14646 }
14647 ]
14648 },
14649 {
14650 "phv_number": 265,
14651 "records": [
14652 {
14653 "word_bit_width": 32,
14654 "position_offset": 12,
14655 "phv_lsb": 0,
14656 "is_pov": false,
14657 "field_msb": 31,
14658 "phv_msb": 31,
14659 "is_compiler_generated": false,
14660 "field_name": "ipv4_srcAddr",
14661 "field_width": 4,
14662 "field_lsb": 0
14663 }
14664 ]
14665 },
14666 {
14667 "phv_number": 266,
14668 "records": [
14669 {
14670 "word_bit_width": 32,
14671 "position_offset": 50,
14672 "phv_lsb": 0,
14673 "is_pov": false,
14674 "field_msb": 31,
14675 "phv_msb": 31,
14676 "is_compiler_generated": false,
14677 "field_name": "ipv4_dstAddr",
14678 "field_width": 4,
14679 "field_lsb": 0
14680 }
14681 ]
14682 },
14683 {
14684 "phv_number": 267,
14685 "records": [
14686 {
14687 "word_bit_width": 32,
14688 "position_offset": 25,
14689 "phv_lsb": 0,
14690 "is_pov": false,
14691 "field_msb": 31,
14692 "phv_msb": 31,
14693 "is_compiler_generated": false,
14694 "field_name": "tcp_ackNo",
14695 "field_width": 4,
14696 "field_lsb": 0
14697 },
14698 {
14699 "word_bit_width": 32,
14700 "position_offset": 16,
14701 "phv_lsb": 16,
14702 "is_pov": false,
14703 "field_msb": 15,
14704 "phv_msb": 31,
14705 "is_compiler_generated": false,
14706 "field_name": "udp_length_",
14707 "field_width": 2,
14708 "field_lsb": 0
14709 },
14710 {
14711 "word_bit_width": 32,
14712 "position_offset": 59,
14713 "phv_lsb": 0,
14714 "is_pov": false,
14715 "field_msb": 15,
14716 "phv_msb": 15,
14717 "is_compiler_generated": false,
14718 "field_name": "udp_checksum",
14719 "field_width": 2,
14720 "field_lsb": 0
14721 }
14722 ]
14723 },
14724 {
14725 "phv_number": 268,
14726 "records": [
14727 {
14728 "word_bit_width": 32,
14729 "position_offset": 38,
14730 "phv_lsb": 28,
14731 "is_pov": false,
14732 "field_msb": 3,
14733 "phv_msb": 31,
14734 "is_compiler_generated": false,
14735 "field_name": "tcp_dataOffset",
14736 "field_width": 1,
14737 "field_lsb": 0
14738 },
14739 {
14740 "word_bit_width": 32,
14741 "position_offset": 58,
14742 "phv_lsb": 25,
14743 "is_pov": false,
14744 "field_msb": 2,
14745 "phv_msb": 27,
14746 "is_compiler_generated": false,
14747 "field_name": "tcp_res",
14748 "field_width": 1,
14749 "field_lsb": 0
14750 },
14751 {
14752 "word_bit_width": 32,
14753 "position_offset": 11,
14754 "phv_lsb": 22,
14755 "is_pov": false,
14756 "field_msb": 2,
14757 "phv_msb": 24,
14758 "is_compiler_generated": false,
14759 "field_name": "tcp_ecn",
14760 "field_width": 1,
14761 "field_lsb": 0
14762 },
14763 {
14764 "word_bit_width": 32,
14765 "position_offset": 34,
14766 "phv_lsb": 16,
14767 "is_pov": false,
14768 "field_msb": 5,
14769 "phv_msb": 21,
14770 "is_compiler_generated": false,
14771 "field_name": "tcp_ctrl",
14772 "field_width": 1,
14773 "field_lsb": 0
14774 },
14775 {
14776 "word_bit_width": 32,
14777 "position_offset": 41,
14778 "phv_lsb": 0,
14779 "is_pov": false,
14780 "field_msb": 15,
14781 "phv_msb": 15,
14782 "is_compiler_generated": false,
14783 "field_name": "tcp_window",
14784 "field_width": 2,
14785 "field_lsb": 0
14786 }
14787 ]
14788 },
14789 {
14790 "phv_number": 269,
14791 "records": [
14792 {
14793 "word_bit_width": 32,
14794 "position_offset": 2,
14795 "phv_lsb": 16,
14796 "is_pov": false,
14797 "field_msb": 15,
14798 "phv_msb": 31,
14799 "is_compiler_generated": false,
14800 "field_name": "tcp_checksum",
14801 "field_width": 2,
14802 "field_lsb": 0
14803 },
14804 {
14805 "word_bit_width": 32,
14806 "position_offset": 45,
14807 "phv_lsb": 0,
14808 "is_pov": false,
14809 "field_msb": 15,
14810 "phv_msb": 15,
14811 "is_compiler_generated": false,
14812 "field_name": "tcp_urgentPtr",
14813 "field_width": 2,
14814 "field_lsb": 0
14815 }
14816 ]
14817 },
14818 {
14819 "phv_number": 270,
14820 "records": [
14821 {
14822 "word_bit_width": 32,
14823 "position_offset": 19,
14824 "phv_lsb": 0,
14825 "is_pov": false,
14826 "field_msb": 39,
14827 "phv_msb": 31,
14828 "is_compiler_generated": false,
14829 "field_name": "ethernet_dstAddr",
14830 "field_width": 6,
14831 "field_lsb": 8
14832 }
14833 ]
14834 },
14835 {
14836 "phv_number": 271,
14837 "records": [
14838 {
14839 "word_bit_width": 32,
14840 "position_offset": 63,
14841 "phv_lsb": 0,
14842 "is_pov": false,
14843 "field_msb": 31,
14844 "phv_msb": 31,
14845 "is_compiler_generated": false,
14846 "field_name": "ethernet_srcAddr",
14847 "field_width": 6,
14848 "field_lsb": 0
14849 }
14850 ]
14851 },
14852 {
14853 "phv_number": 296,
14854 "records": [
14855 {
14856 "word_bit_width": 8,
14857 "position_offset": 29,
14858 "phv_lsb": 4,
14859 "is_pov": false,
14860 "field_msb": 3,
14861 "phv_msb": 7,
14862 "is_compiler_generated": false,
14863 "field_name": "ipv4_version",
14864 "field_width": 1,
14865 "field_lsb": 0
14866 },
14867 {
14868 "word_bit_width": 8,
14869 "position_offset": 37,
14870 "phv_lsb": 0,
14871 "is_pov": false,
14872 "field_msb": 3,
14873 "phv_msb": 3,
14874 "is_compiler_generated": false,
14875 "field_name": "ipv4_ihl",
14876 "field_width": 1,
14877 "field_lsb": 0
14878 }
14879 ]
14880 },
14881 {
14882 "phv_number": 297,
Carmelo Casconef1d0a422017-09-07 17:21:46 +020014883 "records": [
14884 {
14885 "word_bit_width": 8,
14886 "position_offset": 4,
14887 "phv_lsb": 0,
14888 "is_pov": false,
14889 "field_msb": 7,
14890 "phv_msb": 7,
14891 "is_compiler_generated": false,
14892 "field_name": "ipv4_diffserv",
14893 "field_width": 1,
14894 "field_lsb": 0
14895 }
14896 ]
14897 },
14898 {
Brian O'Connora6862e02017-09-08 01:17:39 -070014899 "phv_number": 298,
Carmelo Casconef1d0a422017-09-07 17:21:46 +020014900 "records": [
14901 {
14902 "word_bit_width": 8,
Brian O'Connora6862e02017-09-08 01:17:39 -070014903 "position_offset": 35,
Carmelo Casconef1d0a422017-09-07 17:21:46 +020014904 "phv_lsb": 0,
14905 "is_pov": false,
14906 "field_msb": 15,
14907 "phv_msb": 7,
14908 "is_compiler_generated": false,
14909 "field_name": "tcp_srcPort",
14910 "field_width": 2,
14911 "field_lsb": 8
14912 },
14913 {
14914 "word_bit_width": 8,
Brian O'Connora6862e02017-09-08 01:17:39 -070014915 "position_offset": 56,
Carmelo Casconef1d0a422017-09-07 17:21:46 +020014916 "phv_lsb": 0,
14917 "is_pov": false,
14918 "field_msb": 15,
14919 "phv_msb": 7,
14920 "is_compiler_generated": false,
14921 "field_name": "udp_srcPort",
14922 "field_width": 2,
14923 "field_lsb": 8
14924 }
14925 ]
14926 },
14927 {
Brian O'Connora6862e02017-09-08 01:17:39 -070014928 "phv_number": 299,
Carmelo Casconef1d0a422017-09-07 17:21:46 +020014929 "records": [
14930 {
14931 "word_bit_width": 8,
Brian O'Connora6862e02017-09-08 01:17:39 -070014932 "position_offset": 35,
Carmelo Casconef1d0a422017-09-07 17:21:46 +020014933 "phv_lsb": 0,
14934 "is_pov": false,
14935 "field_msb": 7,
14936 "phv_msb": 7,
14937 "is_compiler_generated": false,
14938 "field_name": "tcp_srcPort",
14939 "field_width": 2,
14940 "field_lsb": 0
14941 },
14942 {
14943 "word_bit_width": 8,
Brian O'Connora6862e02017-09-08 01:17:39 -070014944 "position_offset": 56,
Carmelo Casconef1d0a422017-09-07 17:21:46 +020014945 "phv_lsb": 0,
14946 "is_pov": false,
14947 "field_msb": 7,
14948 "phv_msb": 7,
14949 "is_compiler_generated": false,
14950 "field_name": "udp_srcPort",
14951 "field_width": 2,
14952 "field_lsb": 0
14953 }
14954 ]
14955 },
14956 {
Brian O'Connora6862e02017-09-08 01:17:39 -070014957 "phv_number": 300,
Carmelo Casconef1d0a422017-09-07 17:21:46 +020014958 "records": [
14959 {
14960 "word_bit_width": 8,
Brian O'Connora6862e02017-09-08 01:17:39 -070014961 "position_offset": 19,
Carmelo Casconef1d0a422017-09-07 17:21:46 +020014962 "phv_lsb": 0,
14963 "is_pov": false,
14964 "field_msb": 47,
14965 "phv_msb": 7,
14966 "is_compiler_generated": false,
14967 "field_name": "ethernet_dstAddr",
14968 "field_width": 6,
14969 "field_lsb": 40
14970 }
14971 ]
14972 },
14973 {
Brian O'Connora6862e02017-09-08 01:17:39 -070014974 "phv_number": 301,
Carmelo Casconef1d0a422017-09-07 17:21:46 +020014975 "records": [
14976 {
14977 "word_bit_width": 8,
Brian O'Connora6862e02017-09-08 01:17:39 -070014978 "position_offset": 63,
Carmelo Casconef1d0a422017-09-07 17:21:46 +020014979 "phv_lsb": 0,
14980 "is_pov": false,
14981 "field_msb": 39,
14982 "phv_msb": 7,
14983 "is_compiler_generated": false,
14984 "field_name": "ethernet_srcAddr",
14985 "field_width": 6,
14986 "field_lsb": 32
14987 }
14988 ]
14989 },
14990 {
Brian O'Connora6862e02017-09-08 01:17:39 -070014991 "phv_number": 332,
Carmelo Casconef1d0a422017-09-07 17:21:46 +020014992 "records": [
14993 {
14994 "word_bit_width": 16,
Brian O'Connora6862e02017-09-08 01:17:39 -070014995 "position_offset": 54,
Carmelo Casconef1d0a422017-09-07 17:21:46 +020014996 "phv_lsb": 0,
14997 "is_pov": false,
14998 "field_msb": 15,
14999 "phv_msb": 15,
15000 "is_compiler_generated": false,
15001 "field_name": "ipv4_totalLen",
15002 "field_width": 2,
15003 "field_lsb": 0
15004 }
15005 ]
15006 },
15007 {
Brian O'Connora6862e02017-09-08 01:17:39 -070015008 "phv_number": 333,
Carmelo Casconef1d0a422017-09-07 17:21:46 +020015009 "records": [
15010 {
15011 "word_bit_width": 16,
Brian O'Connora6862e02017-09-08 01:17:39 -070015012 "position_offset": 43,
Carmelo Casconef1d0a422017-09-07 17:21:46 +020015013 "phv_lsb": 0,
15014 "is_pov": false,
15015 "field_msb": 15,
15016 "phv_msb": 15,
15017 "is_compiler_generated": false,
15018 "field_name": "ipv4_identification",
15019 "field_width": 2,
15020 "field_lsb": 0
15021 }
15022 ]
15023 },
15024 {
Brian O'Connora6862e02017-09-08 01:17:39 -070015025 "phv_number": 334,
Carmelo Casconef1d0a422017-09-07 17:21:46 +020015026 "records": [
15027 {
15028 "word_bit_width": 16,
15029 "position_offset": 8,
15030 "phv_lsb": 13,
15031 "is_pov": false,
15032 "field_msb": 2,
15033 "phv_msb": 15,
15034 "is_compiler_generated": false,
15035 "field_name": "ipv4_flags",
15036 "field_width": 1,
15037 "field_lsb": 0
15038 },
15039 {
15040 "word_bit_width": 16,
15041 "position_offset": 5,
15042 "phv_lsb": 0,
15043 "is_pov": false,
15044 "field_msb": 12,
15045 "phv_msb": 12,
15046 "is_compiler_generated": false,
15047 "field_name": "ipv4_fragOffset",
15048 "field_width": 2,
15049 "field_lsb": 0
15050 }
15051 ]
15052 },
15053 {
Brian O'Connora6862e02017-09-08 01:17:39 -070015054 "phv_number": 335,
Carmelo Casconef1d0a422017-09-07 17:21:46 +020015055 "records": [
15056 {
15057 "word_bit_width": 16,
Brian O'Connora6862e02017-09-08 01:17:39 -070015058 "position_offset": 32,
Carmelo Casconef1d0a422017-09-07 17:21:46 +020015059 "phv_lsb": 0,
15060 "is_pov": false,
15061 "field_msb": 15,
15062 "phv_msb": 15,
15063 "is_compiler_generated": false,
15064 "field_name": "tcp_dstPort",
15065 "field_width": 2,
15066 "field_lsb": 0
Brian O'Connora6862e02017-09-08 01:17:39 -070015067 }
15068 ]
15069 },
15070 {
15071 "phv_number": 336,
15072 "records": [
15073 {
15074 "word_bit_width": 16,
15075 "position_offset": 69,
15076 "phv_lsb": 0,
15077 "is_pov": false,
15078 "field_msb": 31,
15079 "phv_msb": 15,
15080 "is_compiler_generated": false,
15081 "field_name": "tcp_seqNo",
15082 "field_width": 4,
15083 "field_lsb": 16
Carmelo Casconef1d0a422017-09-07 17:21:46 +020015084 },
15085 {
15086 "word_bit_width": 16,
Brian O'Connora6862e02017-09-08 01:17:39 -070015087 "position_offset": 48,
Carmelo Casconef1d0a422017-09-07 17:21:46 +020015088 "phv_lsb": 0,
15089 "is_pov": false,
15090 "field_msb": 15,
15091 "phv_msb": 15,
15092 "is_compiler_generated": false,
15093 "field_name": "udp_dstPort",
15094 "field_width": 2,
15095 "field_lsb": 0
15096 }
15097 ]
15098 },
15099 {
Brian O'Connora6862e02017-09-08 01:17:39 -070015100 "phv_number": 337,
Carmelo Casconef1d0a422017-09-07 17:21:46 +020015101 "records": [
15102 {
15103 "word_bit_width": 16,
Brian O'Connora6862e02017-09-08 01:17:39 -070015104 "position_offset": 69,
Carmelo Casconef1d0a422017-09-07 17:21:46 +020015105 "phv_lsb": 0,
15106 "is_pov": false,
15107 "field_msb": 15,
15108 "phv_msb": 15,
15109 "is_compiler_generated": false,
15110 "field_name": "tcp_seqNo",
15111 "field_width": 4,
15112 "field_lsb": 0
15113 }
15114 ]
15115 },
15116 {
Brian O'Connora6862e02017-09-08 01:17:39 -070015117 "phv_number": 338,
Carmelo Casconef1d0a422017-09-07 17:21:46 +020015118 "records": [
15119 {
15120 "word_bit_width": 16,
Brian O'Connora6862e02017-09-08 01:17:39 -070015121 "position_offset": 19,
Carmelo Casconef1d0a422017-09-07 17:21:46 +020015122 "phv_lsb": 8,
15123 "is_pov": false,
15124 "field_msb": 7,
15125 "phv_msb": 15,
15126 "is_compiler_generated": false,
15127 "field_name": "ethernet_dstAddr",
15128 "field_width": 6,
15129 "field_lsb": 0
15130 },
15131 {
15132 "word_bit_width": 16,
Brian O'Connora6862e02017-09-08 01:17:39 -070015133 "position_offset": 63,
Carmelo Casconef1d0a422017-09-07 17:21:46 +020015134 "phv_lsb": 0,
15135 "is_pov": false,
15136 "field_msb": 47,
15137 "phv_msb": 7,
15138 "is_compiler_generated": false,
15139 "field_name": "ethernet_srcAddr",
15140 "field_width": 6,
15141 "field_lsb": 40
15142 }
15143 ]
15144 },
15145 {
Brian O'Connora6862e02017-09-08 01:17:39 -070015146 "phv_number": 339,
Carmelo Casconef1d0a422017-09-07 17:21:46 +020015147 "records": [
15148 {
15149 "word_bit_width": 16,
Brian O'Connora6862e02017-09-08 01:17:39 -070015150 "position_offset": 39,
Carmelo Casconef1d0a422017-09-07 17:21:46 +020015151 "phv_lsb": 0,
15152 "is_pov": false,
15153 "field_msb": 15,
15154 "phv_msb": 15,
15155 "is_compiler_generated": false,
15156 "field_name": "ethernet_etherType",
15157 "field_width": 2,
15158 "field_lsb": 0
15159 }
15160 ]
15161 },
15162 {
Brian O'Connora6862e02017-09-08 01:17:39 -070015163 "phv_number": 340,
Carmelo Casconef1d0a422017-09-07 17:21:46 +020015164 "records": [
15165 {
15166 "word_bit_width": 16,
15167 "position_offset": 0,
15168 "phv_lsb": 7,
15169 "is_pov": false,
15170 "field_msb": 8,
15171 "phv_msb": 15,
15172 "is_compiler_generated": false,
15173 "field_name": "packet_out_hdr_egress_port",
15174 "field_width": 2,
15175 "field_lsb": 0
Brian O'Connora6862e02017-09-08 01:17:39 -070015176 },
15177 {
15178 "word_bit_width": 16,
15179 "position_offset": 30,
15180 "phv_lsb": 7,
15181 "is_pov": false,
15182 "field_msb": 8,
15183 "phv_msb": 15,
15184 "is_compiler_generated": false,
15185 "field_name": "packet_in_hdr_ingress_port",
15186 "field_width": 2,
15187 "field_lsb": 0
Carmelo Casconef1d0a422017-09-07 17:21:46 +020015188 }
15189 ]
15190 }
15191 ],
15192 "stage_number": 9
15193 },
15194 {
15195 "ingress": [
15196 {
15197 "phv_number": 0,
15198 "records": [
15199 {
15200 "word_bit_width": 32,
15201 "position_offset": 0,
15202 "phv_lsb": 0,
15203 "is_pov": true,
15204 "pov_headers": [],
15205 "field_msb": 31,
15206 "phv_msb": 31,
15207 "is_compiler_generated": false,
15208 "field_name": "POV",
15209 "field_width": 0,
15210 "field_lsb": 0
15211 }
15212 ]
15213 },
15214 {
15215 "phv_number": 1,
15216 "records": [
15217 {
15218 "word_bit_width": 32,
Brian O'Connora6862e02017-09-08 01:17:39 -070015219 "position_offset": 19,
Carmelo Casconef1d0a422017-09-07 17:21:46 +020015220 "phv_lsb": 24,
15221 "is_pov": false,
15222 "field_msb": 7,
15223 "phv_msb": 31,
15224 "is_compiler_generated": false,
15225 "field_name": "ipv4_protocol",
15226 "field_width": 1,
15227 "field_lsb": 0
15228 },
15229 {
15230 "word_bit_width": 32,
15231 "position_offset": 10,
15232 "phv_lsb": 8,
15233 "is_pov": false,
15234 "field_msb": 15,
15235 "phv_msb": 23,
15236 "is_compiler_generated": false,
15237 "field_name": "ipv4_hdrChecksum",
15238 "field_width": 2,
15239 "field_lsb": 0
15240 },
15241 {
15242 "word_bit_width": 32,
Brian O'Connora6862e02017-09-08 01:17:39 -070015243 "position_offset": 13,
Carmelo Casconef1d0a422017-09-07 17:21:46 +020015244 "phv_lsb": 0,
15245 "is_pov": false,
15246 "field_msb": 31,
15247 "phv_msb": 7,
15248 "is_compiler_generated": false,
15249 "field_name": "ipv4_srcAddr",
15250 "field_width": 4,
15251 "field_lsb": 24
15252 }
15253 ]
15254 },
15255 {
15256 "phv_number": 2,
15257 "records": [
15258 {
15259 "word_bit_width": 32,
Brian O'Connora6862e02017-09-08 01:17:39 -070015260 "position_offset": 57,
Carmelo Casconef1d0a422017-09-07 17:21:46 +020015261 "phv_lsb": 0,
15262 "is_pov": false,
15263 "field_msb": 31,
15264 "phv_msb": 31,
15265 "is_compiler_generated": false,
15266 "field_name": "ipv4_dstAddr",
15267 "field_width": 4,
15268 "field_lsb": 0
15269 }
15270 ]
15271 },
15272 {
15273 "phv_number": 3,
15274 "records": [
15275 {
15276 "word_bit_width": 32,
Brian O'Connora6862e02017-09-08 01:17:39 -070015277 "position_offset": 22,
Carmelo Casconef1d0a422017-09-07 17:21:46 +020015278 "phv_lsb": 0,
15279 "is_pov": false,
15280 "field_msb": 39,
15281 "phv_msb": 31,
15282 "is_compiler_generated": false,
15283 "field_name": "ethernet_dstAddr",
15284 "field_width": 6,
15285 "field_lsb": 8
15286 }
15287 ]
15288 },
15289 {
15290 "phv_number": 4,
15291 "records": [
15292 {
15293 "word_bit_width": 32,
Brian O'Connora6862e02017-09-08 01:17:39 -070015294 "position_offset": 70,
Carmelo Casconef1d0a422017-09-07 17:21:46 +020015295 "phv_lsb": 0,
15296 "is_pov": false,
15297 "field_msb": 31,
15298 "phv_msb": 31,
15299 "is_compiler_generated": false,
15300 "field_name": "ethernet_srcAddr",
15301 "field_width": 6,
15302 "field_lsb": 0
15303 }
15304 ]
15305 },
15306 {
15307 "phv_number": 5,
15308 "records": [
15309 {
15310 "word_bit_width": 32,
Brian O'Connora6862e02017-09-08 01:17:39 -070015311 "position_offset": 66,
Carmelo Casconef1d0a422017-09-07 17:21:46 +020015312 "phv_lsb": 16,
15313 "is_pov": false,
15314 "field_msb": 15,
15315 "phv_msb": 31,
15316 "is_compiler_generated": false,
15317 "field_name": "udp_srcPort",
15318 "field_width": 2,
15319 "field_lsb": 0
15320 },
15321 {
15322 "word_bit_width": 32,
Brian O'Connora6862e02017-09-08 01:17:39 -070015323 "position_offset": 55,
Carmelo Casconef1d0a422017-09-07 17:21:46 +020015324 "phv_lsb": 0,
15325 "is_pov": false,
15326 "field_msb": 15,
15327 "phv_msb": 15,
15328 "is_compiler_generated": false,
15329 "field_name": "udp_dstPort",
15330 "field_width": 2,
15331 "field_lsb": 0
15332 }
15333 ]
15334 },
15335 {
15336 "phv_number": 64,
15337 "records": [
15338 {
15339 "word_bit_width": 8,
Brian O'Connora6862e02017-09-08 01:17:39 -070015340 "position_offset": 13,
Carmelo Casconef1d0a422017-09-07 17:21:46 +020015341 "phv_lsb": 0,
15342 "is_pov": false,
15343 "field_msb": 23,
15344 "phv_msb": 7,
15345 "is_compiler_generated": false,
15346 "field_name": "ipv4_srcAddr",
15347 "field_width": 4,
15348 "field_lsb": 16
15349 }
15350 ]
15351 },
15352 {
Brian O'Connora6862e02017-09-08 01:17:39 -070015353 "phv_number": 65,
Carmelo Casconef1d0a422017-09-07 17:21:46 +020015354 "records": [
15355 {
15356 "word_bit_width": 8,
Brian O'Connora6862e02017-09-08 01:17:39 -070015357 "position_offset": 22,
Carmelo Casconef1d0a422017-09-07 17:21:46 +020015358 "phv_lsb": 0,
15359 "is_pov": false,
15360 "field_msb": 47,
15361 "phv_msb": 7,
15362 "is_compiler_generated": false,
15363 "field_name": "ethernet_dstAddr",
15364 "field_width": 6,
15365 "field_lsb": 40
15366 }
15367 ]
15368 },
15369 {
Brian O'Connora6862e02017-09-08 01:17:39 -070015370 "phv_number": 66,
Carmelo Casconef1d0a422017-09-07 17:21:46 +020015371 "records": [
15372 {
15373 "word_bit_width": 8,
Brian O'Connora6862e02017-09-08 01:17:39 -070015374 "position_offset": 70,
Carmelo Casconef1d0a422017-09-07 17:21:46 +020015375 "phv_lsb": 0,
15376 "is_pov": false,
15377 "field_msb": 39,
15378 "phv_msb": 7,
15379 "is_compiler_generated": false,
15380 "field_name": "ethernet_srcAddr",
15381 "field_width": 6,
15382 "field_lsb": 32
15383 }
15384 ]
15385 },
15386 {
Brian O'Connora6862e02017-09-08 01:17:39 -070015387 "phv_number": 67,
Carmelo Casconef1d0a422017-09-07 17:21:46 +020015388 "records": [
15389 {
15390 "word_bit_width": 8,
15391 "position_offset": 0,
15392 "phv_lsb": 0,
15393 "is_pov": true,
15394 "pov_headers": [
15395 {
15396 "bit_index": 0,
Brian O'Connora6862e02017-09-08 01:17:39 -070015397 "position_offset": 80,
Carmelo Casconef1d0a422017-09-07 17:21:46 +020015398 "header_name": "packet_in_hdr",
15399 "hidden": false
15400 },
15401 {
15402 "bit_index": 1,
Brian O'Connora6862e02017-09-08 01:17:39 -070015403 "position_offset": 81,
Carmelo Casconef1d0a422017-09-07 17:21:46 +020015404 "header_name": "packet_out_hdr",
15405 "hidden": false
15406 },
15407 {
15408 "bit_index": 2,
Brian O'Connora6862e02017-09-08 01:17:39 -070015409 "position_offset": 82,
Carmelo Casconef1d0a422017-09-07 17:21:46 +020015410 "header_name": "ethernet",
15411 "hidden": false
15412 },
15413 {
15414 "bit_index": 3,
Brian O'Connora6862e02017-09-08 01:17:39 -070015415 "position_offset": 83,
Carmelo Casconef1d0a422017-09-07 17:21:46 +020015416 "header_name": "ipv4",
15417 "hidden": false
15418 },
15419 {
15420 "bit_index": 4,
Brian O'Connora6862e02017-09-08 01:17:39 -070015421 "position_offset": 84,
Carmelo Casconef1d0a422017-09-07 17:21:46 +020015422 "header_name": "tcp",
15423 "hidden": false
15424 },
15425 {
15426 "bit_index": 5,
Brian O'Connora6862e02017-09-08 01:17:39 -070015427 "position_offset": 85,
Carmelo Casconef1d0a422017-09-07 17:21:46 +020015428 "header_name": "udp",
15429 "hidden": false
15430 }
15431 ],
15432 "field_msb": 39,
15433 "phv_msb": 7,
15434 "is_compiler_generated": false,
15435 "field_name": "POV",
15436 "field_width": 0,
15437 "field_lsb": 32
15438 }
15439 ]
15440 },
15441 {
Brian O'Connora6862e02017-09-08 01:17:39 -070015442 "phv_number": 68,
Carmelo Casconef1d0a422017-09-07 17:21:46 +020015443 "records": [
15444 {
15445 "word_bit_width": 8,
Brian O'Connora6862e02017-09-08 01:17:39 -070015446 "position_offset": 51,
Carmelo Casconef1d0a422017-09-07 17:21:46 +020015447 "phv_lsb": 5,
15448 "is_pov": false,
15449 "field_msb": 2,
15450 "phv_msb": 7,
15451 "is_compiler_generated": false,
15452 "field_name": "ig_intr_md_for_tm_drop_ctl",
15453 "field_width": 1,
15454 "field_lsb": 0
15455 }
15456 ]
15457 },
15458 {
15459 "phv_number": 128,
15460 "records": [
15461 {
15462 "word_bit_width": 16,
Brian O'Connora6862e02017-09-08 01:17:39 -070015463 "position_offset": 32,
Carmelo Casconef1d0a422017-09-07 17:21:46 +020015464 "phv_lsb": 15,
15465 "is_pov": false,
15466 "field_msb": 0,
15467 "phv_msb": 15,
15468 "is_compiler_generated": false,
15469 "field_name": "ig_intr_md_resubmit_flag",
15470 "field_width": 1,
15471 "field_lsb": 0
15472 },
15473 {
15474 "word_bit_width": 16,
15475 "position_offset": 8,
15476 "phv_lsb": 0,
15477 "is_pov": false,
15478 "field_msb": 8,
15479 "phv_msb": 8,
15480 "is_compiler_generated": false,
15481 "field_name": "ig_intr_md_ingress_port",
15482 "field_width": 2,
15483 "field_lsb": 0
15484 }
15485 ]
15486 },
15487 {
15488 "phv_number": 129,
15489 "records": [
15490 {
15491 "word_bit_width": 16,
15492 "position_offset": 0,
15493 "phv_lsb": 7,
15494 "is_pov": false,
15495 "field_msb": 8,
15496 "phv_msb": 15,
15497 "is_compiler_generated": false,
15498 "field_name": "packet_out_hdr_egress_port",
15499 "field_width": 2,
15500 "field_lsb": 0
15501 },
15502 {
15503 "word_bit_width": 16,
Brian O'Connora6862e02017-09-08 01:17:39 -070015504 "position_offset": 33,
Carmelo Casconef1d0a422017-09-07 17:21:46 +020015505 "phv_lsb": 7,
15506 "is_pov": false,
15507 "field_msb": 8,
15508 "phv_msb": 15,
15509 "is_compiler_generated": false,
15510 "field_name": "packet_in_hdr_ingress_port",
15511 "field_width": 2,
15512 "field_lsb": 0
15513 }
15514 ]
15515 },
15516 {
15517 "phv_number": 130,
15518 "records": [
15519 {
15520 "word_bit_width": 16,
Brian O'Connora6862e02017-09-08 01:17:39 -070015521 "position_offset": 41,
Carmelo Casconef1d0a422017-09-07 17:21:46 +020015522 "phv_lsb": 0,
15523 "is_pov": false,
15524 "field_msb": 8,
15525 "phv_msb": 8,
15526 "is_compiler_generated": false,
15527 "field_name": "ig_intr_md_for_tm_ucast_egress_port",
15528 "field_width": 2,
15529 "field_lsb": 0
15530 }
15531 ]
15532 },
15533 {
15534 "phv_number": 131,
15535 "records": [
15536 {
15537 "word_bit_width": 16,
Brian O'Connora6862e02017-09-08 01:17:39 -070015538 "position_offset": 13,
Carmelo Casconef1d0a422017-09-07 17:21:46 +020015539 "phv_lsb": 0,
15540 "is_pov": false,
15541 "field_msb": 15,
15542 "phv_msb": 15,
15543 "is_compiler_generated": false,
15544 "field_name": "ipv4_srcAddr",
15545 "field_width": 4,
15546 "field_lsb": 0
15547 }
15548 ]
15549 },
15550 {
15551 "phv_number": 132,
15552 "records": [
15553 {
15554 "word_bit_width": 16,
Brian O'Connora6862e02017-09-08 01:17:39 -070015555 "position_offset": 22,
Carmelo Casconef1d0a422017-09-07 17:21:46 +020015556 "phv_lsb": 8,
15557 "is_pov": false,
15558 "field_msb": 7,
15559 "phv_msb": 15,
15560 "is_compiler_generated": false,
15561 "field_name": "ethernet_dstAddr",
15562 "field_width": 6,
15563 "field_lsb": 0
15564 },
15565 {
15566 "word_bit_width": 16,
Brian O'Connora6862e02017-09-08 01:17:39 -070015567 "position_offset": 70,
Carmelo Casconef1d0a422017-09-07 17:21:46 +020015568 "phv_lsb": 0,
15569 "is_pov": false,
15570 "field_msb": 47,
15571 "phv_msb": 7,
15572 "is_compiler_generated": false,
15573 "field_name": "ethernet_srcAddr",
15574 "field_width": 6,
15575 "field_lsb": 40
15576 }
15577 ]
15578 },
15579 {
15580 "phv_number": 133,
15581 "records": [
15582 {
15583 "word_bit_width": 16,
15584 "position_offset": 5,
15585 "phv_lsb": 0,
15586 "is_pov": false,
15587 "field_msb": 15,
15588 "phv_msb": 15,
15589 "is_compiler_generated": false,
15590 "field_name": "ethernet_etherType",
15591 "field_width": 2,
15592 "field_lsb": 0
15593 }
15594 ]
15595 },
15596 {
15597 "phv_number": 134,
15598 "records": [
15599 {
15600 "word_bit_width": 16,
Brian O'Connora6862e02017-09-08 01:17:39 -070015601 "position_offset": 20,
Carmelo Casconef1d0a422017-09-07 17:21:46 +020015602 "phv_lsb": 0,
15603 "is_pov": false,
15604 "field_msb": 15,
15605 "phv_msb": 15,
15606 "is_compiler_generated": false,
15607 "field_name": "ecmp_metadata_groupId",
15608 "field_width": 2,
15609 "field_lsb": 0
15610 }
15611 ]
15612 },
15613 {
15614 "phv_number": 135,
15615 "records": [
15616 {
15617 "word_bit_width": 16,
Brian O'Connora6862e02017-09-08 01:17:39 -070015618 "position_offset": 61,
Carmelo Casconef1d0a422017-09-07 17:21:46 +020015619 "phv_lsb": 0,
15620 "is_pov": false,
15621 "field_msb": 15,
15622 "phv_msb": 15,
15623 "is_compiler_generated": false,
15624 "field_name": "ecmp_metadata_selector",
15625 "field_width": 2,
15626 "field_lsb": 0
15627 }
15628 ]
15629 },
15630 {
15631 "phv_number": 256,
15632 "records": [
15633 {
15634 "word_bit_width": 32,
Brian O'Connora6862e02017-09-08 01:17:39 -070015635 "position_offset": 49,
Carmelo Casconef1d0a422017-09-07 17:21:46 +020015636 "phv_lsb": 24,
15637 "is_pov": false,
15638 "field_msb": 7,
15639 "phv_msb": 31,
15640 "is_compiler_generated": false,
15641 "field_name": "ipv4_identification",
15642 "field_width": 2,
15643 "field_lsb": 0
15644 },
15645 {
15646 "word_bit_width": 32,
15647 "position_offset": 7,
15648 "phv_lsb": 21,
15649 "is_pov": false,
15650 "field_msb": 2,
15651 "phv_msb": 23,
15652 "is_compiler_generated": false,
15653 "field_name": "ipv4_flags",
15654 "field_width": 1,
15655 "field_lsb": 0
15656 },
15657 {
15658 "word_bit_width": 32,
Brian O'Connora6862e02017-09-08 01:17:39 -070015659 "position_offset": 44,
Carmelo Casconef1d0a422017-09-07 17:21:46 +020015660 "phv_lsb": 8,
15661 "is_pov": false,
15662 "field_msb": 12,
15663 "phv_msb": 20,
15664 "is_compiler_generated": false,
15665 "field_name": "ipv4_fragOffset",
15666 "field_width": 2,
15667 "field_lsb": 0
15668 },
15669 {
15670 "word_bit_width": 32,
Brian O'Connora6862e02017-09-08 01:17:39 -070015671 "position_offset": 54,
Carmelo Casconef1d0a422017-09-07 17:21:46 +020015672 "phv_lsb": 0,
15673 "is_pov": false,
15674 "field_msb": 7,
15675 "phv_msb": 7,
15676 "is_compiler_generated": false,
15677 "field_name": "ipv4_ttl",
15678 "field_width": 1,
15679 "field_lsb": 0
15680 }
15681 ]
15682 },
15683 {
15684 "phv_number": 257,
15685 "records": [
15686 {
15687 "word_bit_width": 32,
Brian O'Connora6862e02017-09-08 01:17:39 -070015688 "position_offset": 43,
Carmelo Casconef1d0a422017-09-07 17:21:46 +020015689 "phv_lsb": 28,
15690 "is_pov": false,
15691 "field_msb": 3,
15692 "phv_msb": 31,
15693 "is_compiler_generated": false,
15694 "field_name": "tcp_dataOffset",
15695 "field_width": 1,
15696 "field_lsb": 0
15697 },
15698 {
15699 "word_bit_width": 32,
Brian O'Connora6862e02017-09-08 01:17:39 -070015700 "position_offset": 48,
Carmelo Casconef1d0a422017-09-07 17:21:46 +020015701 "phv_lsb": 25,
15702 "is_pov": false,
15703 "field_msb": 2,
15704 "phv_msb": 27,
15705 "is_compiler_generated": false,
15706 "field_name": "tcp_res",
15707 "field_width": 1,
15708 "field_lsb": 0
15709 },
15710 {
15711 "word_bit_width": 32,
Brian O'Connora6862e02017-09-08 01:17:39 -070015712 "position_offset": 12,
Carmelo Casconef1d0a422017-09-07 17:21:46 +020015713 "phv_lsb": 22,
15714 "is_pov": false,
15715 "field_msb": 2,
15716 "phv_msb": 24,
15717 "is_compiler_generated": false,
15718 "field_name": "tcp_ecn",
15719 "field_width": 1,
15720 "field_lsb": 0
15721 },
15722 {
15723 "word_bit_width": 32,
15724 "position_offset": 37,
15725 "phv_lsb": 16,
15726 "is_pov": false,
15727 "field_msb": 5,
15728 "phv_msb": 21,
15729 "is_compiler_generated": false,
15730 "field_name": "tcp_ctrl",
15731 "field_width": 1,
15732 "field_lsb": 0
15733 },
15734 {
15735 "word_bit_width": 32,
Brian O'Connora6862e02017-09-08 01:17:39 -070015736 "position_offset": 46,
Carmelo Casconef1d0a422017-09-07 17:21:46 +020015737 "phv_lsb": 0,
15738 "is_pov": false,
15739 "field_msb": 15,
15740 "phv_msb": 15,
15741 "is_compiler_generated": false,
15742 "field_name": "tcp_window",
15743 "field_width": 2,
15744 "field_lsb": 0
15745 }
15746 ]
15747 },
15748 {
Brian O'Connora6862e02017-09-08 01:17:39 -070015749 "phv_number": 258,
Carmelo Casconef1d0a422017-09-07 17:21:46 +020015750 "records": [
15751 {
15752 "word_bit_width": 32,
15753 "position_offset": 2,
15754 "phv_lsb": 16,
15755 "is_pov": false,
15756 "field_msb": 15,
15757 "phv_msb": 31,
15758 "is_compiler_generated": false,
15759 "field_name": "tcp_checksum",
15760 "field_width": 2,
15761 "field_lsb": 0
15762 },
15763 {
15764 "word_bit_width": 32,
Brian O'Connora6862e02017-09-08 01:17:39 -070015765 "position_offset": 52,
Carmelo Casconef1d0a422017-09-07 17:21:46 +020015766 "phv_lsb": 0,
15767 "is_pov": false,
15768 "field_msb": 15,
15769 "phv_msb": 15,
15770 "is_compiler_generated": false,
15771 "field_name": "tcp_urgentPtr",
15772 "field_width": 2,
15773 "field_lsb": 0
15774 }
15775 ]
15776 },
15777 {
Brian O'Connora6862e02017-09-08 01:17:39 -070015778 "phv_number": 288,
Carmelo Casconef1d0a422017-09-07 17:21:46 +020015779 "records": [
15780 {
15781 "word_bit_width": 8,
Brian O'Connora6862e02017-09-08 01:17:39 -070015782 "position_offset": 65,
Carmelo Casconef1d0a422017-09-07 17:21:46 +020015783 "phv_lsb": 4,
15784 "is_pov": false,
15785 "field_msb": 3,
15786 "phv_msb": 7,
15787 "is_compiler_generated": false,
15788 "field_name": "ipv4_version",
15789 "field_width": 1,
15790 "field_lsb": 0
15791 },
15792 {
15793 "word_bit_width": 8,
15794 "position_offset": 40,
15795 "phv_lsb": 0,
15796 "is_pov": false,
15797 "field_msb": 3,
15798 "phv_msb": 3,
15799 "is_compiler_generated": false,
15800 "field_name": "ipv4_ihl",
15801 "field_width": 1,
15802 "field_lsb": 0
15803 }
15804 ]
15805 },
15806 {
Brian O'Connora6862e02017-09-08 01:17:39 -070015807 "phv_number": 289,
15808 "records": [
15809 {
15810 "word_bit_width": 8,
15811 "position_offset": 38,
15812 "phv_lsb": 0,
15813 "is_pov": false,
15814 "field_msb": 15,
15815 "phv_msb": 7,
15816 "is_compiler_generated": false,
15817 "field_name": "tcp_srcPort",
15818 "field_width": 2,
15819 "field_lsb": 8
15820 },
15821 {
15822 "word_bit_width": 8,
15823 "position_offset": 17,
15824 "phv_lsb": 0,
15825 "is_pov": false,
15826 "field_msb": 15,
15827 "phv_msb": 7,
15828 "is_compiler_generated": false,
15829 "field_name": "udp_length_",
15830 "field_width": 2,
15831 "field_lsb": 8
15832 }
15833 ]
15834 },
15835 {
15836 "phv_number": 290,
15837 "records": [
15838 {
15839 "word_bit_width": 8,
15840 "position_offset": 38,
15841 "phv_lsb": 0,
15842 "is_pov": false,
15843 "field_msb": 7,
15844 "phv_msb": 7,
15845 "is_compiler_generated": false,
15846 "field_name": "tcp_srcPort",
15847 "field_width": 2,
15848 "field_lsb": 0
15849 },
15850 {
15851 "word_bit_width": 8,
15852 "position_offset": 17,
15853 "phv_lsb": 0,
15854 "is_pov": false,
15855 "field_msb": 7,
15856 "phv_msb": 7,
15857 "is_compiler_generated": false,
15858 "field_name": "udp_length_",
15859 "field_width": 2,
15860 "field_lsb": 0
15861 }
15862 ]
15863 },
15864 {
15865 "phv_number": 291,
15866 "records": [
15867 {
15868 "word_bit_width": 8,
15869 "position_offset": 35,
15870 "phv_lsb": 0,
15871 "is_pov": false,
15872 "field_msb": 15,
15873 "phv_msb": 7,
15874 "is_compiler_generated": false,
15875 "field_name": "tcp_dstPort",
15876 "field_width": 2,
15877 "field_lsb": 8
15878 }
15879 ]
15880 },
15881 {
15882 "phv_number": 292,
15883 "records": [
15884 {
15885 "word_bit_width": 8,
15886 "position_offset": 35,
15887 "phv_lsb": 0,
15888 "is_pov": false,
15889 "field_msb": 7,
15890 "phv_msb": 7,
15891 "is_compiler_generated": false,
15892 "field_name": "tcp_dstPort",
15893 "field_width": 2,
15894 "field_lsb": 0
15895 }
15896 ]
15897 },
15898 {
15899 "phv_number": 320,
15900 "records": [
15901 {
15902 "word_bit_width": 16,
15903 "position_offset": 4,
15904 "phv_lsb": 8,
15905 "is_pov": false,
15906 "field_msb": 7,
15907 "phv_msb": 15,
15908 "is_compiler_generated": false,
15909 "field_name": "ipv4_diffserv",
15910 "field_width": 1,
15911 "field_lsb": 0
15912 },
15913 {
15914 "word_bit_width": 16,
15915 "position_offset": 63,
15916 "phv_lsb": 0,
15917 "is_pov": false,
15918 "field_msb": 15,
15919 "phv_msb": 7,
15920 "is_compiler_generated": false,
15921 "field_name": "ipv4_totalLen",
15922 "field_width": 2,
15923 "field_lsb": 8
15924 }
15925 ]
15926 },
15927 {
15928 "phv_number": 321,
15929 "records": [
15930 {
15931 "word_bit_width": 16,
15932 "position_offset": 63,
15933 "phv_lsb": 8,
15934 "is_pov": false,
15935 "field_msb": 7,
15936 "phv_msb": 15,
15937 "is_compiler_generated": false,
15938 "field_name": "ipv4_totalLen",
15939 "field_width": 2,
15940 "field_lsb": 0
15941 },
15942 {
15943 "word_bit_width": 16,
15944 "position_offset": 49,
15945 "phv_lsb": 0,
15946 "is_pov": false,
15947 "field_msb": 15,
15948 "phv_msb": 7,
15949 "is_compiler_generated": false,
15950 "field_name": "ipv4_identification",
15951 "field_width": 2,
15952 "field_lsb": 8
15953 }
15954 ]
15955 },
15956 {
15957 "phv_number": 322,
15958 "records": [
15959 {
15960 "word_bit_width": 16,
15961 "position_offset": 76,
15962 "phv_lsb": 0,
15963 "is_pov": false,
15964 "field_msb": 31,
15965 "phv_msb": 15,
15966 "is_compiler_generated": false,
15967 "field_name": "tcp_seqNo",
15968 "field_width": 4,
15969 "field_lsb": 16
15970 },
15971 {
15972 "word_bit_width": 16,
15973 "position_offset": 68,
15974 "phv_lsb": 0,
15975 "is_pov": false,
15976 "field_msb": 15,
15977 "phv_msb": 15,
15978 "is_compiler_generated": false,
15979 "field_name": "udp_checksum",
15980 "field_width": 2,
15981 "field_lsb": 0
15982 }
15983 ]
15984 },
15985 {
15986 "phv_number": 323,
15987 "records": [
15988 {
15989 "word_bit_width": 16,
15990 "position_offset": 76,
15991 "phv_lsb": 0,
15992 "is_pov": false,
15993 "field_msb": 15,
15994 "phv_msb": 15,
15995 "is_compiler_generated": false,
15996 "field_name": "tcp_seqNo",
15997 "field_width": 4,
15998 "field_lsb": 0
15999 }
16000 ]
16001 },
16002 {
16003 "phv_number": 324,
16004 "records": [
16005 {
16006 "word_bit_width": 16,
16007 "position_offset": 28,
16008 "phv_lsb": 0,
16009 "is_pov": false,
16010 "field_msb": 31,
16011 "phv_msb": 15,
16012 "is_compiler_generated": false,
16013 "field_name": "tcp_ackNo",
16014 "field_width": 4,
16015 "field_lsb": 16
16016 }
16017 ]
16018 },
16019 {
16020 "phv_number": 325,
16021 "records": [
16022 {
16023 "word_bit_width": 16,
16024 "position_offset": 28,
16025 "phv_lsb": 0,
16026 "is_pov": false,
16027 "field_msb": 15,
16028 "phv_msb": 15,
16029 "is_compiler_generated": false,
16030 "field_name": "tcp_ackNo",
16031 "field_width": 4,
16032 "field_lsb": 0
16033 }
16034 ]
16035 }
16036 ],
16037 "egress": [
16038 {
16039 "phv_number": 80,
16040 "records": [
16041 {
16042 "word_bit_width": 8,
16043 "position_offset": 7,
16044 "phv_lsb": 0,
16045 "is_pov": false,
16046 "field_msb": 2,
16047 "phv_msb": 2,
16048 "is_compiler_generated": false,
16049 "field_name": "eg_intr_md_egress_cos",
16050 "field_width": 1,
16051 "field_lsb": 0
16052 }
16053 ]
16054 },
16055 {
16056 "phv_number": 81,
16057 "records": [
16058 {
16059 "word_bit_width": 8,
16060 "position_offset": 0,
16061 "phv_lsb": 0,
16062 "is_pov": true,
16063 "pov_headers": [
16064 {
16065 "bit_index": 0,
16066 "position_offset": 73,
16067 "header_name": "packet_in_hdr",
16068 "hidden": false
16069 },
16070 {
16071 "bit_index": 1,
16072 "position_offset": 74,
16073 "header_name": "packet_out_hdr",
16074 "hidden": false
16075 },
16076 {
16077 "bit_index": 2,
16078 "position_offset": 75,
16079 "header_name": "ethernet",
16080 "hidden": false
16081 },
16082 {
16083 "bit_index": 3,
16084 "position_offset": 76,
16085 "header_name": "ipv4",
16086 "hidden": false
16087 },
16088 {
16089 "bit_index": 4,
16090 "position_offset": 77,
16091 "header_name": "tcp",
16092 "hidden": false
16093 },
16094 {
16095 "bit_index": 5,
16096 "position_offset": 78,
16097 "header_name": "udp",
16098 "hidden": false
16099 }
16100 ],
16101 "field_msb": 7,
16102 "phv_msb": 7,
16103 "is_compiler_generated": false,
16104 "field_name": "POV",
16105 "field_width": 0,
16106 "field_lsb": 0
16107 }
16108 ]
16109 },
16110 {
16111 "phv_number": 144,
16112 "records": [
16113 {
16114 "word_bit_width": 16,
16115 "position_offset": 61,
16116 "phv_lsb": 0,
16117 "is_pov": false,
16118 "field_msb": 8,
16119 "phv_msb": 8,
16120 "is_compiler_generated": false,
16121 "field_name": "eg_intr_md_egress_port",
16122 "field_width": 2,
16123 "field_lsb": 0
16124 }
16125 ]
16126 },
16127 {
16128 "phv_number": 264,
16129 "records": [
16130 {
16131 "word_bit_width": 32,
16132 "position_offset": 47,
16133 "phv_lsb": 24,
16134 "is_pov": false,
16135 "field_msb": 7,
16136 "phv_msb": 31,
16137 "is_compiler_generated": false,
16138 "field_name": "ipv4_ttl",
16139 "field_width": 1,
16140 "field_lsb": 0
16141 },
16142 {
16143 "word_bit_width": 32,
16144 "position_offset": 18,
16145 "phv_lsb": 16,
16146 "is_pov": false,
16147 "field_msb": 7,
16148 "phv_msb": 23,
16149 "is_compiler_generated": false,
16150 "field_name": "ipv4_protocol",
16151 "field_width": 1,
16152 "field_lsb": 0
16153 },
16154 {
16155 "word_bit_width": 32,
16156 "position_offset": 9,
16157 "phv_lsb": 0,
16158 "is_pov": false,
16159 "field_msb": 15,
16160 "phv_msb": 15,
16161 "is_compiler_generated": false,
16162 "field_name": "ipv4_hdrChecksum",
16163 "field_width": 2,
16164 "field_lsb": 0
16165 }
16166 ]
16167 },
16168 {
16169 "phv_number": 265,
16170 "records": [
16171 {
16172 "word_bit_width": 32,
16173 "position_offset": 12,
16174 "phv_lsb": 0,
16175 "is_pov": false,
16176 "field_msb": 31,
16177 "phv_msb": 31,
16178 "is_compiler_generated": false,
16179 "field_name": "ipv4_srcAddr",
16180 "field_width": 4,
16181 "field_lsb": 0
16182 }
16183 ]
16184 },
16185 {
16186 "phv_number": 266,
16187 "records": [
16188 {
16189 "word_bit_width": 32,
16190 "position_offset": 50,
16191 "phv_lsb": 0,
16192 "is_pov": false,
16193 "field_msb": 31,
16194 "phv_msb": 31,
16195 "is_compiler_generated": false,
16196 "field_name": "ipv4_dstAddr",
16197 "field_width": 4,
16198 "field_lsb": 0
16199 }
16200 ]
16201 },
16202 {
16203 "phv_number": 267,
16204 "records": [
16205 {
16206 "word_bit_width": 32,
16207 "position_offset": 25,
16208 "phv_lsb": 0,
16209 "is_pov": false,
16210 "field_msb": 31,
16211 "phv_msb": 31,
16212 "is_compiler_generated": false,
16213 "field_name": "tcp_ackNo",
16214 "field_width": 4,
16215 "field_lsb": 0
16216 },
16217 {
16218 "word_bit_width": 32,
16219 "position_offset": 16,
16220 "phv_lsb": 16,
16221 "is_pov": false,
16222 "field_msb": 15,
16223 "phv_msb": 31,
16224 "is_compiler_generated": false,
16225 "field_name": "udp_length_",
16226 "field_width": 2,
16227 "field_lsb": 0
16228 },
16229 {
16230 "word_bit_width": 32,
16231 "position_offset": 59,
16232 "phv_lsb": 0,
16233 "is_pov": false,
16234 "field_msb": 15,
16235 "phv_msb": 15,
16236 "is_compiler_generated": false,
16237 "field_name": "udp_checksum",
16238 "field_width": 2,
16239 "field_lsb": 0
16240 }
16241 ]
16242 },
16243 {
16244 "phv_number": 268,
16245 "records": [
16246 {
16247 "word_bit_width": 32,
16248 "position_offset": 38,
16249 "phv_lsb": 28,
16250 "is_pov": false,
16251 "field_msb": 3,
16252 "phv_msb": 31,
16253 "is_compiler_generated": false,
16254 "field_name": "tcp_dataOffset",
16255 "field_width": 1,
16256 "field_lsb": 0
16257 },
16258 {
16259 "word_bit_width": 32,
16260 "position_offset": 58,
16261 "phv_lsb": 25,
16262 "is_pov": false,
16263 "field_msb": 2,
16264 "phv_msb": 27,
16265 "is_compiler_generated": false,
16266 "field_name": "tcp_res",
16267 "field_width": 1,
16268 "field_lsb": 0
16269 },
16270 {
16271 "word_bit_width": 32,
16272 "position_offset": 11,
16273 "phv_lsb": 22,
16274 "is_pov": false,
16275 "field_msb": 2,
16276 "phv_msb": 24,
16277 "is_compiler_generated": false,
16278 "field_name": "tcp_ecn",
16279 "field_width": 1,
16280 "field_lsb": 0
16281 },
16282 {
16283 "word_bit_width": 32,
16284 "position_offset": 34,
16285 "phv_lsb": 16,
16286 "is_pov": false,
16287 "field_msb": 5,
16288 "phv_msb": 21,
16289 "is_compiler_generated": false,
16290 "field_name": "tcp_ctrl",
16291 "field_width": 1,
16292 "field_lsb": 0
16293 },
16294 {
16295 "word_bit_width": 32,
16296 "position_offset": 41,
16297 "phv_lsb": 0,
16298 "is_pov": false,
16299 "field_msb": 15,
16300 "phv_msb": 15,
16301 "is_compiler_generated": false,
16302 "field_name": "tcp_window",
16303 "field_width": 2,
16304 "field_lsb": 0
16305 }
16306 ]
16307 },
16308 {
16309 "phv_number": 269,
16310 "records": [
16311 {
16312 "word_bit_width": 32,
16313 "position_offset": 2,
16314 "phv_lsb": 16,
16315 "is_pov": false,
16316 "field_msb": 15,
16317 "phv_msb": 31,
16318 "is_compiler_generated": false,
16319 "field_name": "tcp_checksum",
16320 "field_width": 2,
16321 "field_lsb": 0
16322 },
16323 {
16324 "word_bit_width": 32,
16325 "position_offset": 45,
16326 "phv_lsb": 0,
16327 "is_pov": false,
16328 "field_msb": 15,
16329 "phv_msb": 15,
16330 "is_compiler_generated": false,
16331 "field_name": "tcp_urgentPtr",
16332 "field_width": 2,
16333 "field_lsb": 0
16334 }
16335 ]
16336 },
16337 {
16338 "phv_number": 270,
16339 "records": [
16340 {
16341 "word_bit_width": 32,
16342 "position_offset": 19,
16343 "phv_lsb": 0,
16344 "is_pov": false,
16345 "field_msb": 39,
16346 "phv_msb": 31,
16347 "is_compiler_generated": false,
16348 "field_name": "ethernet_dstAddr",
16349 "field_width": 6,
16350 "field_lsb": 8
16351 }
16352 ]
16353 },
16354 {
16355 "phv_number": 271,
16356 "records": [
16357 {
16358 "word_bit_width": 32,
16359 "position_offset": 63,
16360 "phv_lsb": 0,
16361 "is_pov": false,
16362 "field_msb": 31,
16363 "phv_msb": 31,
16364 "is_compiler_generated": false,
16365 "field_name": "ethernet_srcAddr",
16366 "field_width": 6,
16367 "field_lsb": 0
16368 }
16369 ]
16370 },
16371 {
16372 "phv_number": 296,
16373 "records": [
16374 {
16375 "word_bit_width": 8,
16376 "position_offset": 29,
16377 "phv_lsb": 4,
16378 "is_pov": false,
16379 "field_msb": 3,
16380 "phv_msb": 7,
16381 "is_compiler_generated": false,
16382 "field_name": "ipv4_version",
16383 "field_width": 1,
16384 "field_lsb": 0
16385 },
16386 {
16387 "word_bit_width": 8,
16388 "position_offset": 37,
16389 "phv_lsb": 0,
16390 "is_pov": false,
16391 "field_msb": 3,
16392 "phv_msb": 3,
16393 "is_compiler_generated": false,
16394 "field_name": "ipv4_ihl",
16395 "field_width": 1,
16396 "field_lsb": 0
16397 }
16398 ]
16399 },
16400 {
16401 "phv_number": 297,
Carmelo Casconef1d0a422017-09-07 17:21:46 +020016402 "records": [
16403 {
16404 "word_bit_width": 8,
16405 "position_offset": 4,
16406 "phv_lsb": 0,
16407 "is_pov": false,
16408 "field_msb": 7,
16409 "phv_msb": 7,
16410 "is_compiler_generated": false,
16411 "field_name": "ipv4_diffserv",
16412 "field_width": 1,
16413 "field_lsb": 0
16414 }
16415 ]
16416 },
16417 {
Brian O'Connora6862e02017-09-08 01:17:39 -070016418 "phv_number": 298,
Carmelo Casconef1d0a422017-09-07 17:21:46 +020016419 "records": [
16420 {
16421 "word_bit_width": 8,
Brian O'Connora6862e02017-09-08 01:17:39 -070016422 "position_offset": 35,
Carmelo Casconef1d0a422017-09-07 17:21:46 +020016423 "phv_lsb": 0,
16424 "is_pov": false,
16425 "field_msb": 15,
16426 "phv_msb": 7,
16427 "is_compiler_generated": false,
16428 "field_name": "tcp_srcPort",
16429 "field_width": 2,
16430 "field_lsb": 8
16431 },
16432 {
16433 "word_bit_width": 8,
Brian O'Connora6862e02017-09-08 01:17:39 -070016434 "position_offset": 56,
Carmelo Casconef1d0a422017-09-07 17:21:46 +020016435 "phv_lsb": 0,
16436 "is_pov": false,
16437 "field_msb": 15,
16438 "phv_msb": 7,
16439 "is_compiler_generated": false,
16440 "field_name": "udp_srcPort",
16441 "field_width": 2,
16442 "field_lsb": 8
16443 }
16444 ]
16445 },
16446 {
Brian O'Connora6862e02017-09-08 01:17:39 -070016447 "phv_number": 299,
Carmelo Casconef1d0a422017-09-07 17:21:46 +020016448 "records": [
16449 {
16450 "word_bit_width": 8,
Brian O'Connora6862e02017-09-08 01:17:39 -070016451 "position_offset": 35,
Carmelo Casconef1d0a422017-09-07 17:21:46 +020016452 "phv_lsb": 0,
16453 "is_pov": false,
16454 "field_msb": 7,
16455 "phv_msb": 7,
16456 "is_compiler_generated": false,
16457 "field_name": "tcp_srcPort",
16458 "field_width": 2,
16459 "field_lsb": 0
16460 },
16461 {
16462 "word_bit_width": 8,
Brian O'Connora6862e02017-09-08 01:17:39 -070016463 "position_offset": 56,
Carmelo Casconef1d0a422017-09-07 17:21:46 +020016464 "phv_lsb": 0,
16465 "is_pov": false,
16466 "field_msb": 7,
16467 "phv_msb": 7,
16468 "is_compiler_generated": false,
16469 "field_name": "udp_srcPort",
16470 "field_width": 2,
16471 "field_lsb": 0
16472 }
16473 ]
16474 },
16475 {
Brian O'Connora6862e02017-09-08 01:17:39 -070016476 "phv_number": 300,
Carmelo Casconef1d0a422017-09-07 17:21:46 +020016477 "records": [
16478 {
16479 "word_bit_width": 8,
Brian O'Connora6862e02017-09-08 01:17:39 -070016480 "position_offset": 19,
Carmelo Casconef1d0a422017-09-07 17:21:46 +020016481 "phv_lsb": 0,
16482 "is_pov": false,
16483 "field_msb": 47,
16484 "phv_msb": 7,
16485 "is_compiler_generated": false,
16486 "field_name": "ethernet_dstAddr",
16487 "field_width": 6,
16488 "field_lsb": 40
16489 }
16490 ]
16491 },
16492 {
Brian O'Connora6862e02017-09-08 01:17:39 -070016493 "phv_number": 301,
Carmelo Casconef1d0a422017-09-07 17:21:46 +020016494 "records": [
16495 {
16496 "word_bit_width": 8,
Brian O'Connora6862e02017-09-08 01:17:39 -070016497 "position_offset": 63,
Carmelo Casconef1d0a422017-09-07 17:21:46 +020016498 "phv_lsb": 0,
16499 "is_pov": false,
16500 "field_msb": 39,
16501 "phv_msb": 7,
16502 "is_compiler_generated": false,
16503 "field_name": "ethernet_srcAddr",
16504 "field_width": 6,
16505 "field_lsb": 32
16506 }
16507 ]
16508 },
16509 {
Brian O'Connora6862e02017-09-08 01:17:39 -070016510 "phv_number": 332,
Carmelo Casconef1d0a422017-09-07 17:21:46 +020016511 "records": [
16512 {
16513 "word_bit_width": 16,
Brian O'Connora6862e02017-09-08 01:17:39 -070016514 "position_offset": 54,
Carmelo Casconef1d0a422017-09-07 17:21:46 +020016515 "phv_lsb": 0,
16516 "is_pov": false,
16517 "field_msb": 15,
16518 "phv_msb": 15,
16519 "is_compiler_generated": false,
16520 "field_name": "ipv4_totalLen",
16521 "field_width": 2,
16522 "field_lsb": 0
16523 }
16524 ]
16525 },
16526 {
Brian O'Connora6862e02017-09-08 01:17:39 -070016527 "phv_number": 333,
Carmelo Casconef1d0a422017-09-07 17:21:46 +020016528 "records": [
16529 {
16530 "word_bit_width": 16,
Brian O'Connora6862e02017-09-08 01:17:39 -070016531 "position_offset": 43,
Carmelo Casconef1d0a422017-09-07 17:21:46 +020016532 "phv_lsb": 0,
16533 "is_pov": false,
16534 "field_msb": 15,
16535 "phv_msb": 15,
16536 "is_compiler_generated": false,
16537 "field_name": "ipv4_identification",
16538 "field_width": 2,
16539 "field_lsb": 0
16540 }
16541 ]
16542 },
16543 {
Brian O'Connora6862e02017-09-08 01:17:39 -070016544 "phv_number": 334,
Carmelo Casconef1d0a422017-09-07 17:21:46 +020016545 "records": [
16546 {
16547 "word_bit_width": 16,
16548 "position_offset": 8,
16549 "phv_lsb": 13,
16550 "is_pov": false,
16551 "field_msb": 2,
16552 "phv_msb": 15,
16553 "is_compiler_generated": false,
16554 "field_name": "ipv4_flags",
16555 "field_width": 1,
16556 "field_lsb": 0
16557 },
16558 {
16559 "word_bit_width": 16,
16560 "position_offset": 5,
16561 "phv_lsb": 0,
16562 "is_pov": false,
16563 "field_msb": 12,
16564 "phv_msb": 12,
16565 "is_compiler_generated": false,
16566 "field_name": "ipv4_fragOffset",
16567 "field_width": 2,
16568 "field_lsb": 0
16569 }
16570 ]
16571 },
16572 {
Brian O'Connora6862e02017-09-08 01:17:39 -070016573 "phv_number": 335,
Carmelo Casconef1d0a422017-09-07 17:21:46 +020016574 "records": [
16575 {
16576 "word_bit_width": 16,
Brian O'Connora6862e02017-09-08 01:17:39 -070016577 "position_offset": 32,
Carmelo Casconef1d0a422017-09-07 17:21:46 +020016578 "phv_lsb": 0,
16579 "is_pov": false,
16580 "field_msb": 15,
16581 "phv_msb": 15,
16582 "is_compiler_generated": false,
16583 "field_name": "tcp_dstPort",
16584 "field_width": 2,
16585 "field_lsb": 0
Brian O'Connora6862e02017-09-08 01:17:39 -070016586 }
16587 ]
16588 },
16589 {
16590 "phv_number": 336,
16591 "records": [
16592 {
16593 "word_bit_width": 16,
16594 "position_offset": 69,
16595 "phv_lsb": 0,
16596 "is_pov": false,
16597 "field_msb": 31,
16598 "phv_msb": 15,
16599 "is_compiler_generated": false,
16600 "field_name": "tcp_seqNo",
16601 "field_width": 4,
16602 "field_lsb": 16
Carmelo Casconef1d0a422017-09-07 17:21:46 +020016603 },
16604 {
16605 "word_bit_width": 16,
Brian O'Connora6862e02017-09-08 01:17:39 -070016606 "position_offset": 48,
Carmelo Casconef1d0a422017-09-07 17:21:46 +020016607 "phv_lsb": 0,
16608 "is_pov": false,
16609 "field_msb": 15,
16610 "phv_msb": 15,
16611 "is_compiler_generated": false,
16612 "field_name": "udp_dstPort",
16613 "field_width": 2,
16614 "field_lsb": 0
16615 }
16616 ]
16617 },
16618 {
Brian O'Connora6862e02017-09-08 01:17:39 -070016619 "phv_number": 337,
Carmelo Casconef1d0a422017-09-07 17:21:46 +020016620 "records": [
16621 {
16622 "word_bit_width": 16,
Brian O'Connora6862e02017-09-08 01:17:39 -070016623 "position_offset": 69,
Carmelo Casconef1d0a422017-09-07 17:21:46 +020016624 "phv_lsb": 0,
16625 "is_pov": false,
16626 "field_msb": 15,
16627 "phv_msb": 15,
16628 "is_compiler_generated": false,
16629 "field_name": "tcp_seqNo",
16630 "field_width": 4,
16631 "field_lsb": 0
16632 }
16633 ]
16634 },
16635 {
Brian O'Connora6862e02017-09-08 01:17:39 -070016636 "phv_number": 338,
Carmelo Casconef1d0a422017-09-07 17:21:46 +020016637 "records": [
16638 {
16639 "word_bit_width": 16,
Brian O'Connora6862e02017-09-08 01:17:39 -070016640 "position_offset": 19,
Carmelo Casconef1d0a422017-09-07 17:21:46 +020016641 "phv_lsb": 8,
16642 "is_pov": false,
16643 "field_msb": 7,
16644 "phv_msb": 15,
16645 "is_compiler_generated": false,
16646 "field_name": "ethernet_dstAddr",
16647 "field_width": 6,
16648 "field_lsb": 0
16649 },
16650 {
16651 "word_bit_width": 16,
Brian O'Connora6862e02017-09-08 01:17:39 -070016652 "position_offset": 63,
Carmelo Casconef1d0a422017-09-07 17:21:46 +020016653 "phv_lsb": 0,
16654 "is_pov": false,
16655 "field_msb": 47,
16656 "phv_msb": 7,
16657 "is_compiler_generated": false,
16658 "field_name": "ethernet_srcAddr",
16659 "field_width": 6,
16660 "field_lsb": 40
16661 }
16662 ]
16663 },
16664 {
Brian O'Connora6862e02017-09-08 01:17:39 -070016665 "phv_number": 339,
Carmelo Casconef1d0a422017-09-07 17:21:46 +020016666 "records": [
16667 {
16668 "word_bit_width": 16,
Brian O'Connora6862e02017-09-08 01:17:39 -070016669 "position_offset": 39,
Carmelo Casconef1d0a422017-09-07 17:21:46 +020016670 "phv_lsb": 0,
16671 "is_pov": false,
16672 "field_msb": 15,
16673 "phv_msb": 15,
16674 "is_compiler_generated": false,
16675 "field_name": "ethernet_etherType",
16676 "field_width": 2,
16677 "field_lsb": 0
16678 }
16679 ]
16680 },
16681 {
Brian O'Connora6862e02017-09-08 01:17:39 -070016682 "phv_number": 340,
Carmelo Casconef1d0a422017-09-07 17:21:46 +020016683 "records": [
16684 {
16685 "word_bit_width": 16,
16686 "position_offset": 0,
16687 "phv_lsb": 7,
16688 "is_pov": false,
16689 "field_msb": 8,
16690 "phv_msb": 15,
16691 "is_compiler_generated": false,
16692 "field_name": "packet_out_hdr_egress_port",
16693 "field_width": 2,
16694 "field_lsb": 0
Brian O'Connora6862e02017-09-08 01:17:39 -070016695 },
16696 {
16697 "word_bit_width": 16,
16698 "position_offset": 30,
16699 "phv_lsb": 7,
16700 "is_pov": false,
16701 "field_msb": 8,
16702 "phv_msb": 15,
16703 "is_compiler_generated": false,
16704 "field_name": "packet_in_hdr_ingress_port",
16705 "field_width": 2,
16706 "field_lsb": 0
Carmelo Casconef1d0a422017-09-07 17:21:46 +020016707 }
16708 ]
16709 }
16710 ],
16711 "stage_number": 10
16712 },
16713 {
16714 "ingress": [
16715 {
16716 "phv_number": 0,
16717 "records": [
16718 {
16719 "word_bit_width": 32,
16720 "position_offset": 0,
16721 "phv_lsb": 0,
16722 "is_pov": true,
16723 "pov_headers": [],
16724 "field_msb": 31,
16725 "phv_msb": 31,
16726 "is_compiler_generated": false,
16727 "field_name": "POV",
16728 "field_width": 0,
16729 "field_lsb": 0
16730 }
16731 ]
16732 },
16733 {
16734 "phv_number": 1,
16735 "records": [
16736 {
16737 "word_bit_width": 32,
Brian O'Connora6862e02017-09-08 01:17:39 -070016738 "position_offset": 19,
Carmelo Casconef1d0a422017-09-07 17:21:46 +020016739 "phv_lsb": 24,
16740 "is_pov": false,
16741 "field_msb": 7,
16742 "phv_msb": 31,
16743 "is_compiler_generated": false,
16744 "field_name": "ipv4_protocol",
16745 "field_width": 1,
16746 "field_lsb": 0
16747 },
16748 {
16749 "word_bit_width": 32,
16750 "position_offset": 10,
16751 "phv_lsb": 8,
16752 "is_pov": false,
16753 "field_msb": 15,
16754 "phv_msb": 23,
16755 "is_compiler_generated": false,
16756 "field_name": "ipv4_hdrChecksum",
16757 "field_width": 2,
16758 "field_lsb": 0
16759 },
16760 {
16761 "word_bit_width": 32,
Brian O'Connora6862e02017-09-08 01:17:39 -070016762 "position_offset": 13,
Carmelo Casconef1d0a422017-09-07 17:21:46 +020016763 "phv_lsb": 0,
16764 "is_pov": false,
16765 "field_msb": 31,
16766 "phv_msb": 7,
16767 "is_compiler_generated": false,
16768 "field_name": "ipv4_srcAddr",
16769 "field_width": 4,
16770 "field_lsb": 24
16771 }
16772 ]
16773 },
16774 {
16775 "phv_number": 2,
16776 "records": [
16777 {
16778 "word_bit_width": 32,
Brian O'Connora6862e02017-09-08 01:17:39 -070016779 "position_offset": 57,
Carmelo Casconef1d0a422017-09-07 17:21:46 +020016780 "phv_lsb": 0,
16781 "is_pov": false,
16782 "field_msb": 31,
16783 "phv_msb": 31,
16784 "is_compiler_generated": false,
16785 "field_name": "ipv4_dstAddr",
16786 "field_width": 4,
16787 "field_lsb": 0
16788 }
16789 ]
16790 },
16791 {
16792 "phv_number": 3,
16793 "records": [
16794 {
16795 "word_bit_width": 32,
Brian O'Connora6862e02017-09-08 01:17:39 -070016796 "position_offset": 22,
Carmelo Casconef1d0a422017-09-07 17:21:46 +020016797 "phv_lsb": 0,
16798 "is_pov": false,
16799 "field_msb": 39,
16800 "phv_msb": 31,
16801 "is_compiler_generated": false,
16802 "field_name": "ethernet_dstAddr",
16803 "field_width": 6,
16804 "field_lsb": 8
16805 }
16806 ]
16807 },
16808 {
16809 "phv_number": 4,
16810 "records": [
16811 {
16812 "word_bit_width": 32,
Brian O'Connora6862e02017-09-08 01:17:39 -070016813 "position_offset": 70,
Carmelo Casconef1d0a422017-09-07 17:21:46 +020016814 "phv_lsb": 0,
16815 "is_pov": false,
16816 "field_msb": 31,
16817 "phv_msb": 31,
16818 "is_compiler_generated": false,
16819 "field_name": "ethernet_srcAddr",
16820 "field_width": 6,
16821 "field_lsb": 0
16822 }
16823 ]
16824 },
16825 {
16826 "phv_number": 5,
16827 "records": [
16828 {
16829 "word_bit_width": 32,
Brian O'Connora6862e02017-09-08 01:17:39 -070016830 "position_offset": 66,
Carmelo Casconef1d0a422017-09-07 17:21:46 +020016831 "phv_lsb": 16,
16832 "is_pov": false,
16833 "field_msb": 15,
16834 "phv_msb": 31,
16835 "is_compiler_generated": false,
16836 "field_name": "udp_srcPort",
16837 "field_width": 2,
16838 "field_lsb": 0
16839 },
16840 {
16841 "word_bit_width": 32,
Brian O'Connora6862e02017-09-08 01:17:39 -070016842 "position_offset": 55,
Carmelo Casconef1d0a422017-09-07 17:21:46 +020016843 "phv_lsb": 0,
16844 "is_pov": false,
16845 "field_msb": 15,
16846 "phv_msb": 15,
16847 "is_compiler_generated": false,
16848 "field_name": "udp_dstPort",
16849 "field_width": 2,
16850 "field_lsb": 0
16851 }
16852 ]
16853 },
16854 {
16855 "phv_number": 64,
16856 "records": [
16857 {
16858 "word_bit_width": 8,
Brian O'Connora6862e02017-09-08 01:17:39 -070016859 "position_offset": 13,
Carmelo Casconef1d0a422017-09-07 17:21:46 +020016860 "phv_lsb": 0,
16861 "is_pov": false,
16862 "field_msb": 23,
16863 "phv_msb": 7,
16864 "is_compiler_generated": false,
16865 "field_name": "ipv4_srcAddr",
16866 "field_width": 4,
16867 "field_lsb": 16
16868 }
16869 ]
16870 },
16871 {
Brian O'Connora6862e02017-09-08 01:17:39 -070016872 "phv_number": 65,
Carmelo Casconef1d0a422017-09-07 17:21:46 +020016873 "records": [
16874 {
16875 "word_bit_width": 8,
Brian O'Connora6862e02017-09-08 01:17:39 -070016876 "position_offset": 22,
Carmelo Casconef1d0a422017-09-07 17:21:46 +020016877 "phv_lsb": 0,
16878 "is_pov": false,
16879 "field_msb": 47,
16880 "phv_msb": 7,
16881 "is_compiler_generated": false,
16882 "field_name": "ethernet_dstAddr",
16883 "field_width": 6,
16884 "field_lsb": 40
16885 }
16886 ]
16887 },
16888 {
Brian O'Connora6862e02017-09-08 01:17:39 -070016889 "phv_number": 66,
Carmelo Casconef1d0a422017-09-07 17:21:46 +020016890 "records": [
16891 {
16892 "word_bit_width": 8,
Brian O'Connora6862e02017-09-08 01:17:39 -070016893 "position_offset": 70,
Carmelo Casconef1d0a422017-09-07 17:21:46 +020016894 "phv_lsb": 0,
16895 "is_pov": false,
16896 "field_msb": 39,
16897 "phv_msb": 7,
16898 "is_compiler_generated": false,
16899 "field_name": "ethernet_srcAddr",
16900 "field_width": 6,
16901 "field_lsb": 32
16902 }
16903 ]
16904 },
16905 {
Brian O'Connora6862e02017-09-08 01:17:39 -070016906 "phv_number": 67,
Carmelo Casconef1d0a422017-09-07 17:21:46 +020016907 "records": [
16908 {
16909 "word_bit_width": 8,
16910 "position_offset": 0,
16911 "phv_lsb": 0,
16912 "is_pov": true,
16913 "pov_headers": [
16914 {
16915 "bit_index": 0,
Brian O'Connora6862e02017-09-08 01:17:39 -070016916 "position_offset": 80,
Carmelo Casconef1d0a422017-09-07 17:21:46 +020016917 "header_name": "packet_in_hdr",
16918 "hidden": false
16919 },
16920 {
16921 "bit_index": 1,
Brian O'Connora6862e02017-09-08 01:17:39 -070016922 "position_offset": 81,
Carmelo Casconef1d0a422017-09-07 17:21:46 +020016923 "header_name": "packet_out_hdr",
16924 "hidden": false
16925 },
16926 {
16927 "bit_index": 2,
Brian O'Connora6862e02017-09-08 01:17:39 -070016928 "position_offset": 82,
Carmelo Casconef1d0a422017-09-07 17:21:46 +020016929 "header_name": "ethernet",
16930 "hidden": false
16931 },
16932 {
16933 "bit_index": 3,
Brian O'Connora6862e02017-09-08 01:17:39 -070016934 "position_offset": 83,
Carmelo Casconef1d0a422017-09-07 17:21:46 +020016935 "header_name": "ipv4",
16936 "hidden": false
16937 },
16938 {
16939 "bit_index": 4,
Brian O'Connora6862e02017-09-08 01:17:39 -070016940 "position_offset": 84,
Carmelo Casconef1d0a422017-09-07 17:21:46 +020016941 "header_name": "tcp",
16942 "hidden": false
16943 },
16944 {
16945 "bit_index": 5,
Brian O'Connora6862e02017-09-08 01:17:39 -070016946 "position_offset": 85,
Carmelo Casconef1d0a422017-09-07 17:21:46 +020016947 "header_name": "udp",
16948 "hidden": false
16949 }
16950 ],
16951 "field_msb": 39,
16952 "phv_msb": 7,
16953 "is_compiler_generated": false,
16954 "field_name": "POV",
16955 "field_width": 0,
16956 "field_lsb": 32
16957 }
16958 ]
16959 },
16960 {
Brian O'Connora6862e02017-09-08 01:17:39 -070016961 "phv_number": 68,
Carmelo Casconef1d0a422017-09-07 17:21:46 +020016962 "records": [
16963 {
16964 "word_bit_width": 8,
Brian O'Connora6862e02017-09-08 01:17:39 -070016965 "position_offset": 51,
Carmelo Casconef1d0a422017-09-07 17:21:46 +020016966 "phv_lsb": 5,
16967 "is_pov": false,
16968 "field_msb": 2,
16969 "phv_msb": 7,
16970 "is_compiler_generated": false,
16971 "field_name": "ig_intr_md_for_tm_drop_ctl",
16972 "field_width": 1,
16973 "field_lsb": 0
16974 }
16975 ]
16976 },
16977 {
16978 "phv_number": 128,
16979 "records": [
16980 {
16981 "word_bit_width": 16,
Brian O'Connora6862e02017-09-08 01:17:39 -070016982 "position_offset": 32,
Carmelo Casconef1d0a422017-09-07 17:21:46 +020016983 "phv_lsb": 15,
16984 "is_pov": false,
16985 "field_msb": 0,
16986 "phv_msb": 15,
16987 "is_compiler_generated": false,
16988 "field_name": "ig_intr_md_resubmit_flag",
16989 "field_width": 1,
16990 "field_lsb": 0
16991 },
16992 {
16993 "word_bit_width": 16,
16994 "position_offset": 8,
16995 "phv_lsb": 0,
16996 "is_pov": false,
16997 "field_msb": 8,
16998 "phv_msb": 8,
16999 "is_compiler_generated": false,
17000 "field_name": "ig_intr_md_ingress_port",
17001 "field_width": 2,
17002 "field_lsb": 0
17003 }
17004 ]
17005 },
17006 {
17007 "phv_number": 129,
17008 "records": [
17009 {
17010 "word_bit_width": 16,
17011 "position_offset": 0,
17012 "phv_lsb": 7,
17013 "is_pov": false,
17014 "field_msb": 8,
17015 "phv_msb": 15,
17016 "is_compiler_generated": false,
17017 "field_name": "packet_out_hdr_egress_port",
17018 "field_width": 2,
17019 "field_lsb": 0
17020 },
17021 {
17022 "word_bit_width": 16,
Brian O'Connora6862e02017-09-08 01:17:39 -070017023 "position_offset": 33,
Carmelo Casconef1d0a422017-09-07 17:21:46 +020017024 "phv_lsb": 7,
17025 "is_pov": false,
17026 "field_msb": 8,
17027 "phv_msb": 15,
17028 "is_compiler_generated": false,
17029 "field_name": "packet_in_hdr_ingress_port",
17030 "field_width": 2,
17031 "field_lsb": 0
17032 }
17033 ]
17034 },
17035 {
17036 "phv_number": 130,
17037 "records": [
17038 {
17039 "word_bit_width": 16,
Brian O'Connora6862e02017-09-08 01:17:39 -070017040 "position_offset": 41,
Carmelo Casconef1d0a422017-09-07 17:21:46 +020017041 "phv_lsb": 0,
17042 "is_pov": false,
17043 "field_msb": 8,
17044 "phv_msb": 8,
17045 "is_compiler_generated": false,
17046 "field_name": "ig_intr_md_for_tm_ucast_egress_port",
17047 "field_width": 2,
17048 "field_lsb": 0
17049 }
17050 ]
17051 },
17052 {
17053 "phv_number": 131,
17054 "records": [
17055 {
17056 "word_bit_width": 16,
Brian O'Connora6862e02017-09-08 01:17:39 -070017057 "position_offset": 13,
Carmelo Casconef1d0a422017-09-07 17:21:46 +020017058 "phv_lsb": 0,
17059 "is_pov": false,
17060 "field_msb": 15,
17061 "phv_msb": 15,
17062 "is_compiler_generated": false,
17063 "field_name": "ipv4_srcAddr",
17064 "field_width": 4,
17065 "field_lsb": 0
17066 }
17067 ]
17068 },
17069 {
17070 "phv_number": 132,
17071 "records": [
17072 {
17073 "word_bit_width": 16,
Brian O'Connora6862e02017-09-08 01:17:39 -070017074 "position_offset": 22,
Carmelo Casconef1d0a422017-09-07 17:21:46 +020017075 "phv_lsb": 8,
17076 "is_pov": false,
17077 "field_msb": 7,
17078 "phv_msb": 15,
17079 "is_compiler_generated": false,
17080 "field_name": "ethernet_dstAddr",
17081 "field_width": 6,
17082 "field_lsb": 0
17083 },
17084 {
17085 "word_bit_width": 16,
Brian O'Connora6862e02017-09-08 01:17:39 -070017086 "position_offset": 70,
Carmelo Casconef1d0a422017-09-07 17:21:46 +020017087 "phv_lsb": 0,
17088 "is_pov": false,
17089 "field_msb": 47,
17090 "phv_msb": 7,
17091 "is_compiler_generated": false,
17092 "field_name": "ethernet_srcAddr",
17093 "field_width": 6,
17094 "field_lsb": 40
17095 }
17096 ]
17097 },
17098 {
17099 "phv_number": 133,
17100 "records": [
17101 {
17102 "word_bit_width": 16,
17103 "position_offset": 5,
17104 "phv_lsb": 0,
17105 "is_pov": false,
17106 "field_msb": 15,
17107 "phv_msb": 15,
17108 "is_compiler_generated": false,
17109 "field_name": "ethernet_etherType",
17110 "field_width": 2,
17111 "field_lsb": 0
17112 }
17113 ]
17114 },
17115 {
17116 "phv_number": 134,
17117 "records": [
17118 {
17119 "word_bit_width": 16,
Brian O'Connora6862e02017-09-08 01:17:39 -070017120 "position_offset": 20,
Carmelo Casconef1d0a422017-09-07 17:21:46 +020017121 "phv_lsb": 0,
17122 "is_pov": false,
17123 "field_msb": 15,
17124 "phv_msb": 15,
17125 "is_compiler_generated": false,
17126 "field_name": "ecmp_metadata_groupId",
17127 "field_width": 2,
17128 "field_lsb": 0
17129 }
17130 ]
17131 },
17132 {
17133 "phv_number": 135,
17134 "records": [
17135 {
17136 "word_bit_width": 16,
Brian O'Connora6862e02017-09-08 01:17:39 -070017137 "position_offset": 61,
Carmelo Casconef1d0a422017-09-07 17:21:46 +020017138 "phv_lsb": 0,
17139 "is_pov": false,
17140 "field_msb": 15,
17141 "phv_msb": 15,
17142 "is_compiler_generated": false,
17143 "field_name": "ecmp_metadata_selector",
17144 "field_width": 2,
17145 "field_lsb": 0
17146 }
17147 ]
17148 },
17149 {
17150 "phv_number": 256,
17151 "records": [
17152 {
17153 "word_bit_width": 32,
Brian O'Connora6862e02017-09-08 01:17:39 -070017154 "position_offset": 49,
Carmelo Casconef1d0a422017-09-07 17:21:46 +020017155 "phv_lsb": 24,
17156 "is_pov": false,
17157 "field_msb": 7,
17158 "phv_msb": 31,
17159 "is_compiler_generated": false,
17160 "field_name": "ipv4_identification",
17161 "field_width": 2,
17162 "field_lsb": 0
17163 },
17164 {
17165 "word_bit_width": 32,
17166 "position_offset": 7,
17167 "phv_lsb": 21,
17168 "is_pov": false,
17169 "field_msb": 2,
17170 "phv_msb": 23,
17171 "is_compiler_generated": false,
17172 "field_name": "ipv4_flags",
17173 "field_width": 1,
17174 "field_lsb": 0
17175 },
17176 {
17177 "word_bit_width": 32,
Brian O'Connora6862e02017-09-08 01:17:39 -070017178 "position_offset": 44,
Carmelo Casconef1d0a422017-09-07 17:21:46 +020017179 "phv_lsb": 8,
17180 "is_pov": false,
17181 "field_msb": 12,
17182 "phv_msb": 20,
17183 "is_compiler_generated": false,
17184 "field_name": "ipv4_fragOffset",
17185 "field_width": 2,
17186 "field_lsb": 0
17187 },
17188 {
17189 "word_bit_width": 32,
Brian O'Connora6862e02017-09-08 01:17:39 -070017190 "position_offset": 54,
Carmelo Casconef1d0a422017-09-07 17:21:46 +020017191 "phv_lsb": 0,
17192 "is_pov": false,
17193 "field_msb": 7,
17194 "phv_msb": 7,
17195 "is_compiler_generated": false,
17196 "field_name": "ipv4_ttl",
17197 "field_width": 1,
17198 "field_lsb": 0
17199 }
17200 ]
17201 },
17202 {
17203 "phv_number": 257,
17204 "records": [
17205 {
17206 "word_bit_width": 32,
Brian O'Connora6862e02017-09-08 01:17:39 -070017207 "position_offset": 43,
Carmelo Casconef1d0a422017-09-07 17:21:46 +020017208 "phv_lsb": 28,
17209 "is_pov": false,
17210 "field_msb": 3,
17211 "phv_msb": 31,
17212 "is_compiler_generated": false,
17213 "field_name": "tcp_dataOffset",
17214 "field_width": 1,
17215 "field_lsb": 0
17216 },
17217 {
17218 "word_bit_width": 32,
Brian O'Connora6862e02017-09-08 01:17:39 -070017219 "position_offset": 48,
Carmelo Casconef1d0a422017-09-07 17:21:46 +020017220 "phv_lsb": 25,
17221 "is_pov": false,
17222 "field_msb": 2,
17223 "phv_msb": 27,
17224 "is_compiler_generated": false,
17225 "field_name": "tcp_res",
17226 "field_width": 1,
17227 "field_lsb": 0
17228 },
17229 {
17230 "word_bit_width": 32,
Brian O'Connora6862e02017-09-08 01:17:39 -070017231 "position_offset": 12,
Carmelo Casconef1d0a422017-09-07 17:21:46 +020017232 "phv_lsb": 22,
17233 "is_pov": false,
17234 "field_msb": 2,
17235 "phv_msb": 24,
17236 "is_compiler_generated": false,
17237 "field_name": "tcp_ecn",
17238 "field_width": 1,
17239 "field_lsb": 0
17240 },
17241 {
17242 "word_bit_width": 32,
17243 "position_offset": 37,
17244 "phv_lsb": 16,
17245 "is_pov": false,
17246 "field_msb": 5,
17247 "phv_msb": 21,
17248 "is_compiler_generated": false,
17249 "field_name": "tcp_ctrl",
17250 "field_width": 1,
17251 "field_lsb": 0
17252 },
17253 {
17254 "word_bit_width": 32,
Brian O'Connora6862e02017-09-08 01:17:39 -070017255 "position_offset": 46,
Carmelo Casconef1d0a422017-09-07 17:21:46 +020017256 "phv_lsb": 0,
17257 "is_pov": false,
17258 "field_msb": 15,
17259 "phv_msb": 15,
17260 "is_compiler_generated": false,
17261 "field_name": "tcp_window",
17262 "field_width": 2,
17263 "field_lsb": 0
17264 }
17265 ]
17266 },
17267 {
Brian O'Connora6862e02017-09-08 01:17:39 -070017268 "phv_number": 258,
Carmelo Casconef1d0a422017-09-07 17:21:46 +020017269 "records": [
17270 {
17271 "word_bit_width": 32,
17272 "position_offset": 2,
17273 "phv_lsb": 16,
17274 "is_pov": false,
17275 "field_msb": 15,
17276 "phv_msb": 31,
17277 "is_compiler_generated": false,
17278 "field_name": "tcp_checksum",
17279 "field_width": 2,
17280 "field_lsb": 0
17281 },
17282 {
17283 "word_bit_width": 32,
Brian O'Connora6862e02017-09-08 01:17:39 -070017284 "position_offset": 52,
Carmelo Casconef1d0a422017-09-07 17:21:46 +020017285 "phv_lsb": 0,
17286 "is_pov": false,
17287 "field_msb": 15,
17288 "phv_msb": 15,
17289 "is_compiler_generated": false,
17290 "field_name": "tcp_urgentPtr",
17291 "field_width": 2,
17292 "field_lsb": 0
17293 }
17294 ]
17295 },
17296 {
Brian O'Connora6862e02017-09-08 01:17:39 -070017297 "phv_number": 288,
Carmelo Casconef1d0a422017-09-07 17:21:46 +020017298 "records": [
17299 {
17300 "word_bit_width": 8,
Brian O'Connora6862e02017-09-08 01:17:39 -070017301 "position_offset": 65,
Carmelo Casconef1d0a422017-09-07 17:21:46 +020017302 "phv_lsb": 4,
17303 "is_pov": false,
17304 "field_msb": 3,
17305 "phv_msb": 7,
17306 "is_compiler_generated": false,
17307 "field_name": "ipv4_version",
17308 "field_width": 1,
17309 "field_lsb": 0
17310 },
17311 {
17312 "word_bit_width": 8,
17313 "position_offset": 40,
17314 "phv_lsb": 0,
17315 "is_pov": false,
17316 "field_msb": 3,
17317 "phv_msb": 3,
17318 "is_compiler_generated": false,
17319 "field_name": "ipv4_ihl",
17320 "field_width": 1,
17321 "field_lsb": 0
17322 }
17323 ]
17324 },
17325 {
Brian O'Connora6862e02017-09-08 01:17:39 -070017326 "phv_number": 289,
17327 "records": [
17328 {
17329 "word_bit_width": 8,
17330 "position_offset": 38,
17331 "phv_lsb": 0,
17332 "is_pov": false,
17333 "field_msb": 15,
17334 "phv_msb": 7,
17335 "is_compiler_generated": false,
17336 "field_name": "tcp_srcPort",
17337 "field_width": 2,
17338 "field_lsb": 8
17339 },
17340 {
17341 "word_bit_width": 8,
17342 "position_offset": 17,
17343 "phv_lsb": 0,
17344 "is_pov": false,
17345 "field_msb": 15,
17346 "phv_msb": 7,
17347 "is_compiler_generated": false,
17348 "field_name": "udp_length_",
17349 "field_width": 2,
17350 "field_lsb": 8
17351 }
17352 ]
17353 },
17354 {
17355 "phv_number": 290,
17356 "records": [
17357 {
17358 "word_bit_width": 8,
17359 "position_offset": 38,
17360 "phv_lsb": 0,
17361 "is_pov": false,
17362 "field_msb": 7,
17363 "phv_msb": 7,
17364 "is_compiler_generated": false,
17365 "field_name": "tcp_srcPort",
17366 "field_width": 2,
17367 "field_lsb": 0
17368 },
17369 {
17370 "word_bit_width": 8,
17371 "position_offset": 17,
17372 "phv_lsb": 0,
17373 "is_pov": false,
17374 "field_msb": 7,
17375 "phv_msb": 7,
17376 "is_compiler_generated": false,
17377 "field_name": "udp_length_",
17378 "field_width": 2,
17379 "field_lsb": 0
17380 }
17381 ]
17382 },
17383 {
17384 "phv_number": 291,
17385 "records": [
17386 {
17387 "word_bit_width": 8,
17388 "position_offset": 35,
17389 "phv_lsb": 0,
17390 "is_pov": false,
17391 "field_msb": 15,
17392 "phv_msb": 7,
17393 "is_compiler_generated": false,
17394 "field_name": "tcp_dstPort",
17395 "field_width": 2,
17396 "field_lsb": 8
17397 }
17398 ]
17399 },
17400 {
17401 "phv_number": 292,
17402 "records": [
17403 {
17404 "word_bit_width": 8,
17405 "position_offset": 35,
17406 "phv_lsb": 0,
17407 "is_pov": false,
17408 "field_msb": 7,
17409 "phv_msb": 7,
17410 "is_compiler_generated": false,
17411 "field_name": "tcp_dstPort",
17412 "field_width": 2,
17413 "field_lsb": 0
17414 }
17415 ]
17416 },
17417 {
17418 "phv_number": 320,
17419 "records": [
17420 {
17421 "word_bit_width": 16,
17422 "position_offset": 4,
17423 "phv_lsb": 8,
17424 "is_pov": false,
17425 "field_msb": 7,
17426 "phv_msb": 15,
17427 "is_compiler_generated": false,
17428 "field_name": "ipv4_diffserv",
17429 "field_width": 1,
17430 "field_lsb": 0
17431 },
17432 {
17433 "word_bit_width": 16,
17434 "position_offset": 63,
17435 "phv_lsb": 0,
17436 "is_pov": false,
17437 "field_msb": 15,
17438 "phv_msb": 7,
17439 "is_compiler_generated": false,
17440 "field_name": "ipv4_totalLen",
17441 "field_width": 2,
17442 "field_lsb": 8
17443 }
17444 ]
17445 },
17446 {
17447 "phv_number": 321,
17448 "records": [
17449 {
17450 "word_bit_width": 16,
17451 "position_offset": 63,
17452 "phv_lsb": 8,
17453 "is_pov": false,
17454 "field_msb": 7,
17455 "phv_msb": 15,
17456 "is_compiler_generated": false,
17457 "field_name": "ipv4_totalLen",
17458 "field_width": 2,
17459 "field_lsb": 0
17460 },
17461 {
17462 "word_bit_width": 16,
17463 "position_offset": 49,
17464 "phv_lsb": 0,
17465 "is_pov": false,
17466 "field_msb": 15,
17467 "phv_msb": 7,
17468 "is_compiler_generated": false,
17469 "field_name": "ipv4_identification",
17470 "field_width": 2,
17471 "field_lsb": 8
17472 }
17473 ]
17474 },
17475 {
17476 "phv_number": 322,
17477 "records": [
17478 {
17479 "word_bit_width": 16,
17480 "position_offset": 76,
17481 "phv_lsb": 0,
17482 "is_pov": false,
17483 "field_msb": 31,
17484 "phv_msb": 15,
17485 "is_compiler_generated": false,
17486 "field_name": "tcp_seqNo",
17487 "field_width": 4,
17488 "field_lsb": 16
17489 },
17490 {
17491 "word_bit_width": 16,
17492 "position_offset": 68,
17493 "phv_lsb": 0,
17494 "is_pov": false,
17495 "field_msb": 15,
17496 "phv_msb": 15,
17497 "is_compiler_generated": false,
17498 "field_name": "udp_checksum",
17499 "field_width": 2,
17500 "field_lsb": 0
17501 }
17502 ]
17503 },
17504 {
17505 "phv_number": 323,
17506 "records": [
17507 {
17508 "word_bit_width": 16,
17509 "position_offset": 76,
17510 "phv_lsb": 0,
17511 "is_pov": false,
17512 "field_msb": 15,
17513 "phv_msb": 15,
17514 "is_compiler_generated": false,
17515 "field_name": "tcp_seqNo",
17516 "field_width": 4,
17517 "field_lsb": 0
17518 }
17519 ]
17520 },
17521 {
17522 "phv_number": 324,
17523 "records": [
17524 {
17525 "word_bit_width": 16,
17526 "position_offset": 28,
17527 "phv_lsb": 0,
17528 "is_pov": false,
17529 "field_msb": 31,
17530 "phv_msb": 15,
17531 "is_compiler_generated": false,
17532 "field_name": "tcp_ackNo",
17533 "field_width": 4,
17534 "field_lsb": 16
17535 }
17536 ]
17537 },
17538 {
17539 "phv_number": 325,
17540 "records": [
17541 {
17542 "word_bit_width": 16,
17543 "position_offset": 28,
17544 "phv_lsb": 0,
17545 "is_pov": false,
17546 "field_msb": 15,
17547 "phv_msb": 15,
17548 "is_compiler_generated": false,
17549 "field_name": "tcp_ackNo",
17550 "field_width": 4,
17551 "field_lsb": 0
17552 }
17553 ]
17554 }
17555 ],
17556 "egress": [
17557 {
17558 "phv_number": 80,
17559 "records": [
17560 {
17561 "word_bit_width": 8,
17562 "position_offset": 7,
17563 "phv_lsb": 0,
17564 "is_pov": false,
17565 "field_msb": 2,
17566 "phv_msb": 2,
17567 "is_compiler_generated": false,
17568 "field_name": "eg_intr_md_egress_cos",
17569 "field_width": 1,
17570 "field_lsb": 0
17571 }
17572 ]
17573 },
17574 {
17575 "phv_number": 81,
17576 "records": [
17577 {
17578 "word_bit_width": 8,
17579 "position_offset": 0,
17580 "phv_lsb": 0,
17581 "is_pov": true,
17582 "pov_headers": [
17583 {
17584 "bit_index": 0,
17585 "position_offset": 73,
17586 "header_name": "packet_in_hdr",
17587 "hidden": false
17588 },
17589 {
17590 "bit_index": 1,
17591 "position_offset": 74,
17592 "header_name": "packet_out_hdr",
17593 "hidden": false
17594 },
17595 {
17596 "bit_index": 2,
17597 "position_offset": 75,
17598 "header_name": "ethernet",
17599 "hidden": false
17600 },
17601 {
17602 "bit_index": 3,
17603 "position_offset": 76,
17604 "header_name": "ipv4",
17605 "hidden": false
17606 },
17607 {
17608 "bit_index": 4,
17609 "position_offset": 77,
17610 "header_name": "tcp",
17611 "hidden": false
17612 },
17613 {
17614 "bit_index": 5,
17615 "position_offset": 78,
17616 "header_name": "udp",
17617 "hidden": false
17618 }
17619 ],
17620 "field_msb": 7,
17621 "phv_msb": 7,
17622 "is_compiler_generated": false,
17623 "field_name": "POV",
17624 "field_width": 0,
17625 "field_lsb": 0
17626 }
17627 ]
17628 },
17629 {
17630 "phv_number": 144,
17631 "records": [
17632 {
17633 "word_bit_width": 16,
17634 "position_offset": 61,
17635 "phv_lsb": 0,
17636 "is_pov": false,
17637 "field_msb": 8,
17638 "phv_msb": 8,
17639 "is_compiler_generated": false,
17640 "field_name": "eg_intr_md_egress_port",
17641 "field_width": 2,
17642 "field_lsb": 0
17643 }
17644 ]
17645 },
17646 {
17647 "phv_number": 264,
17648 "records": [
17649 {
17650 "word_bit_width": 32,
17651 "position_offset": 47,
17652 "phv_lsb": 24,
17653 "is_pov": false,
17654 "field_msb": 7,
17655 "phv_msb": 31,
17656 "is_compiler_generated": false,
17657 "field_name": "ipv4_ttl",
17658 "field_width": 1,
17659 "field_lsb": 0
17660 },
17661 {
17662 "word_bit_width": 32,
17663 "position_offset": 18,
17664 "phv_lsb": 16,
17665 "is_pov": false,
17666 "field_msb": 7,
17667 "phv_msb": 23,
17668 "is_compiler_generated": false,
17669 "field_name": "ipv4_protocol",
17670 "field_width": 1,
17671 "field_lsb": 0
17672 },
17673 {
17674 "word_bit_width": 32,
17675 "position_offset": 9,
17676 "phv_lsb": 0,
17677 "is_pov": false,
17678 "field_msb": 15,
17679 "phv_msb": 15,
17680 "is_compiler_generated": false,
17681 "field_name": "ipv4_hdrChecksum",
17682 "field_width": 2,
17683 "field_lsb": 0
17684 }
17685 ]
17686 },
17687 {
17688 "phv_number": 265,
17689 "records": [
17690 {
17691 "word_bit_width": 32,
17692 "position_offset": 12,
17693 "phv_lsb": 0,
17694 "is_pov": false,
17695 "field_msb": 31,
17696 "phv_msb": 31,
17697 "is_compiler_generated": false,
17698 "field_name": "ipv4_srcAddr",
17699 "field_width": 4,
17700 "field_lsb": 0
17701 }
17702 ]
17703 },
17704 {
17705 "phv_number": 266,
17706 "records": [
17707 {
17708 "word_bit_width": 32,
17709 "position_offset": 50,
17710 "phv_lsb": 0,
17711 "is_pov": false,
17712 "field_msb": 31,
17713 "phv_msb": 31,
17714 "is_compiler_generated": false,
17715 "field_name": "ipv4_dstAddr",
17716 "field_width": 4,
17717 "field_lsb": 0
17718 }
17719 ]
17720 },
17721 {
17722 "phv_number": 267,
17723 "records": [
17724 {
17725 "word_bit_width": 32,
17726 "position_offset": 25,
17727 "phv_lsb": 0,
17728 "is_pov": false,
17729 "field_msb": 31,
17730 "phv_msb": 31,
17731 "is_compiler_generated": false,
17732 "field_name": "tcp_ackNo",
17733 "field_width": 4,
17734 "field_lsb": 0
17735 },
17736 {
17737 "word_bit_width": 32,
17738 "position_offset": 16,
17739 "phv_lsb": 16,
17740 "is_pov": false,
17741 "field_msb": 15,
17742 "phv_msb": 31,
17743 "is_compiler_generated": false,
17744 "field_name": "udp_length_",
17745 "field_width": 2,
17746 "field_lsb": 0
17747 },
17748 {
17749 "word_bit_width": 32,
17750 "position_offset": 59,
17751 "phv_lsb": 0,
17752 "is_pov": false,
17753 "field_msb": 15,
17754 "phv_msb": 15,
17755 "is_compiler_generated": false,
17756 "field_name": "udp_checksum",
17757 "field_width": 2,
17758 "field_lsb": 0
17759 }
17760 ]
17761 },
17762 {
17763 "phv_number": 268,
17764 "records": [
17765 {
17766 "word_bit_width": 32,
17767 "position_offset": 38,
17768 "phv_lsb": 28,
17769 "is_pov": false,
17770 "field_msb": 3,
17771 "phv_msb": 31,
17772 "is_compiler_generated": false,
17773 "field_name": "tcp_dataOffset",
17774 "field_width": 1,
17775 "field_lsb": 0
17776 },
17777 {
17778 "word_bit_width": 32,
17779 "position_offset": 58,
17780 "phv_lsb": 25,
17781 "is_pov": false,
17782 "field_msb": 2,
17783 "phv_msb": 27,
17784 "is_compiler_generated": false,
17785 "field_name": "tcp_res",
17786 "field_width": 1,
17787 "field_lsb": 0
17788 },
17789 {
17790 "word_bit_width": 32,
17791 "position_offset": 11,
17792 "phv_lsb": 22,
17793 "is_pov": false,
17794 "field_msb": 2,
17795 "phv_msb": 24,
17796 "is_compiler_generated": false,
17797 "field_name": "tcp_ecn",
17798 "field_width": 1,
17799 "field_lsb": 0
17800 },
17801 {
17802 "word_bit_width": 32,
17803 "position_offset": 34,
17804 "phv_lsb": 16,
17805 "is_pov": false,
17806 "field_msb": 5,
17807 "phv_msb": 21,
17808 "is_compiler_generated": false,
17809 "field_name": "tcp_ctrl",
17810 "field_width": 1,
17811 "field_lsb": 0
17812 },
17813 {
17814 "word_bit_width": 32,
17815 "position_offset": 41,
17816 "phv_lsb": 0,
17817 "is_pov": false,
17818 "field_msb": 15,
17819 "phv_msb": 15,
17820 "is_compiler_generated": false,
17821 "field_name": "tcp_window",
17822 "field_width": 2,
17823 "field_lsb": 0
17824 }
17825 ]
17826 },
17827 {
17828 "phv_number": 269,
17829 "records": [
17830 {
17831 "word_bit_width": 32,
17832 "position_offset": 2,
17833 "phv_lsb": 16,
17834 "is_pov": false,
17835 "field_msb": 15,
17836 "phv_msb": 31,
17837 "is_compiler_generated": false,
17838 "field_name": "tcp_checksum",
17839 "field_width": 2,
17840 "field_lsb": 0
17841 },
17842 {
17843 "word_bit_width": 32,
17844 "position_offset": 45,
17845 "phv_lsb": 0,
17846 "is_pov": false,
17847 "field_msb": 15,
17848 "phv_msb": 15,
17849 "is_compiler_generated": false,
17850 "field_name": "tcp_urgentPtr",
17851 "field_width": 2,
17852 "field_lsb": 0
17853 }
17854 ]
17855 },
17856 {
17857 "phv_number": 270,
17858 "records": [
17859 {
17860 "word_bit_width": 32,
17861 "position_offset": 19,
17862 "phv_lsb": 0,
17863 "is_pov": false,
17864 "field_msb": 39,
17865 "phv_msb": 31,
17866 "is_compiler_generated": false,
17867 "field_name": "ethernet_dstAddr",
17868 "field_width": 6,
17869 "field_lsb": 8
17870 }
17871 ]
17872 },
17873 {
17874 "phv_number": 271,
17875 "records": [
17876 {
17877 "word_bit_width": 32,
17878 "position_offset": 63,
17879 "phv_lsb": 0,
17880 "is_pov": false,
17881 "field_msb": 31,
17882 "phv_msb": 31,
17883 "is_compiler_generated": false,
17884 "field_name": "ethernet_srcAddr",
17885 "field_width": 6,
17886 "field_lsb": 0
17887 }
17888 ]
17889 },
17890 {
17891 "phv_number": 296,
17892 "records": [
17893 {
17894 "word_bit_width": 8,
17895 "position_offset": 29,
17896 "phv_lsb": 4,
17897 "is_pov": false,
17898 "field_msb": 3,
17899 "phv_msb": 7,
17900 "is_compiler_generated": false,
17901 "field_name": "ipv4_version",
17902 "field_width": 1,
17903 "field_lsb": 0
17904 },
17905 {
17906 "word_bit_width": 8,
17907 "position_offset": 37,
17908 "phv_lsb": 0,
17909 "is_pov": false,
17910 "field_msb": 3,
17911 "phv_msb": 3,
17912 "is_compiler_generated": false,
17913 "field_name": "ipv4_ihl",
17914 "field_width": 1,
17915 "field_lsb": 0
17916 }
17917 ]
17918 },
17919 {
17920 "phv_number": 297,
Carmelo Casconef1d0a422017-09-07 17:21:46 +020017921 "records": [
17922 {
17923 "word_bit_width": 8,
17924 "position_offset": 4,
17925 "phv_lsb": 0,
17926 "is_pov": false,
17927 "field_msb": 7,
17928 "phv_msb": 7,
17929 "is_compiler_generated": false,
17930 "field_name": "ipv4_diffserv",
17931 "field_width": 1,
17932 "field_lsb": 0
17933 }
17934 ]
17935 },
17936 {
Brian O'Connora6862e02017-09-08 01:17:39 -070017937 "phv_number": 298,
Carmelo Casconef1d0a422017-09-07 17:21:46 +020017938 "records": [
17939 {
17940 "word_bit_width": 8,
Brian O'Connora6862e02017-09-08 01:17:39 -070017941 "position_offset": 35,
Carmelo Casconef1d0a422017-09-07 17:21:46 +020017942 "phv_lsb": 0,
17943 "is_pov": false,
17944 "field_msb": 15,
17945 "phv_msb": 7,
17946 "is_compiler_generated": false,
17947 "field_name": "tcp_srcPort",
17948 "field_width": 2,
17949 "field_lsb": 8
17950 },
17951 {
17952 "word_bit_width": 8,
Brian O'Connora6862e02017-09-08 01:17:39 -070017953 "position_offset": 56,
Carmelo Casconef1d0a422017-09-07 17:21:46 +020017954 "phv_lsb": 0,
17955 "is_pov": false,
17956 "field_msb": 15,
17957 "phv_msb": 7,
17958 "is_compiler_generated": false,
17959 "field_name": "udp_srcPort",
17960 "field_width": 2,
17961 "field_lsb": 8
17962 }
17963 ]
17964 },
17965 {
Brian O'Connora6862e02017-09-08 01:17:39 -070017966 "phv_number": 299,
Carmelo Casconef1d0a422017-09-07 17:21:46 +020017967 "records": [
17968 {
17969 "word_bit_width": 8,
Brian O'Connora6862e02017-09-08 01:17:39 -070017970 "position_offset": 35,
Carmelo Casconef1d0a422017-09-07 17:21:46 +020017971 "phv_lsb": 0,
17972 "is_pov": false,
17973 "field_msb": 7,
17974 "phv_msb": 7,
17975 "is_compiler_generated": false,
17976 "field_name": "tcp_srcPort",
17977 "field_width": 2,
17978 "field_lsb": 0
17979 },
17980 {
17981 "word_bit_width": 8,
Brian O'Connora6862e02017-09-08 01:17:39 -070017982 "position_offset": 56,
Carmelo Casconef1d0a422017-09-07 17:21:46 +020017983 "phv_lsb": 0,
17984 "is_pov": false,
17985 "field_msb": 7,
17986 "phv_msb": 7,
17987 "is_compiler_generated": false,
17988 "field_name": "udp_srcPort",
17989 "field_width": 2,
17990 "field_lsb": 0
17991 }
17992 ]
17993 },
17994 {
Brian O'Connora6862e02017-09-08 01:17:39 -070017995 "phv_number": 300,
Carmelo Casconef1d0a422017-09-07 17:21:46 +020017996 "records": [
17997 {
17998 "word_bit_width": 8,
Brian O'Connora6862e02017-09-08 01:17:39 -070017999 "position_offset": 19,
Carmelo Casconef1d0a422017-09-07 17:21:46 +020018000 "phv_lsb": 0,
18001 "is_pov": false,
18002 "field_msb": 47,
18003 "phv_msb": 7,
18004 "is_compiler_generated": false,
18005 "field_name": "ethernet_dstAddr",
18006 "field_width": 6,
18007 "field_lsb": 40
18008 }
18009 ]
18010 },
18011 {
Brian O'Connora6862e02017-09-08 01:17:39 -070018012 "phv_number": 301,
Carmelo Casconef1d0a422017-09-07 17:21:46 +020018013 "records": [
18014 {
18015 "word_bit_width": 8,
Brian O'Connora6862e02017-09-08 01:17:39 -070018016 "position_offset": 63,
Carmelo Casconef1d0a422017-09-07 17:21:46 +020018017 "phv_lsb": 0,
18018 "is_pov": false,
18019 "field_msb": 39,
18020 "phv_msb": 7,
18021 "is_compiler_generated": false,
18022 "field_name": "ethernet_srcAddr",
18023 "field_width": 6,
18024 "field_lsb": 32
18025 }
18026 ]
18027 },
18028 {
Brian O'Connora6862e02017-09-08 01:17:39 -070018029 "phv_number": 332,
Carmelo Casconef1d0a422017-09-07 17:21:46 +020018030 "records": [
18031 {
18032 "word_bit_width": 16,
Brian O'Connora6862e02017-09-08 01:17:39 -070018033 "position_offset": 54,
Carmelo Casconef1d0a422017-09-07 17:21:46 +020018034 "phv_lsb": 0,
18035 "is_pov": false,
18036 "field_msb": 15,
18037 "phv_msb": 15,
18038 "is_compiler_generated": false,
18039 "field_name": "ipv4_totalLen",
18040 "field_width": 2,
18041 "field_lsb": 0
18042 }
18043 ]
18044 },
18045 {
Brian O'Connora6862e02017-09-08 01:17:39 -070018046 "phv_number": 333,
Carmelo Casconef1d0a422017-09-07 17:21:46 +020018047 "records": [
18048 {
18049 "word_bit_width": 16,
Brian O'Connora6862e02017-09-08 01:17:39 -070018050 "position_offset": 43,
Carmelo Casconef1d0a422017-09-07 17:21:46 +020018051 "phv_lsb": 0,
18052 "is_pov": false,
18053 "field_msb": 15,
18054 "phv_msb": 15,
18055 "is_compiler_generated": false,
18056 "field_name": "ipv4_identification",
18057 "field_width": 2,
18058 "field_lsb": 0
18059 }
18060 ]
18061 },
18062 {
Brian O'Connora6862e02017-09-08 01:17:39 -070018063 "phv_number": 334,
Carmelo Casconef1d0a422017-09-07 17:21:46 +020018064 "records": [
18065 {
18066 "word_bit_width": 16,
18067 "position_offset": 8,
18068 "phv_lsb": 13,
18069 "is_pov": false,
18070 "field_msb": 2,
18071 "phv_msb": 15,
18072 "is_compiler_generated": false,
18073 "field_name": "ipv4_flags",
18074 "field_width": 1,
18075 "field_lsb": 0
18076 },
18077 {
18078 "word_bit_width": 16,
18079 "position_offset": 5,
18080 "phv_lsb": 0,
18081 "is_pov": false,
18082 "field_msb": 12,
18083 "phv_msb": 12,
18084 "is_compiler_generated": false,
18085 "field_name": "ipv4_fragOffset",
18086 "field_width": 2,
18087 "field_lsb": 0
18088 }
18089 ]
18090 },
18091 {
Brian O'Connora6862e02017-09-08 01:17:39 -070018092 "phv_number": 335,
Carmelo Casconef1d0a422017-09-07 17:21:46 +020018093 "records": [
18094 {
18095 "word_bit_width": 16,
Brian O'Connora6862e02017-09-08 01:17:39 -070018096 "position_offset": 32,
Carmelo Casconef1d0a422017-09-07 17:21:46 +020018097 "phv_lsb": 0,
18098 "is_pov": false,
18099 "field_msb": 15,
18100 "phv_msb": 15,
18101 "is_compiler_generated": false,
18102 "field_name": "tcp_dstPort",
18103 "field_width": 2,
18104 "field_lsb": 0
Brian O'Connora6862e02017-09-08 01:17:39 -070018105 }
18106 ]
18107 },
18108 {
18109 "phv_number": 336,
18110 "records": [
18111 {
18112 "word_bit_width": 16,
18113 "position_offset": 69,
18114 "phv_lsb": 0,
18115 "is_pov": false,
18116 "field_msb": 31,
18117 "phv_msb": 15,
18118 "is_compiler_generated": false,
18119 "field_name": "tcp_seqNo",
18120 "field_width": 4,
18121 "field_lsb": 16
Carmelo Casconef1d0a422017-09-07 17:21:46 +020018122 },
18123 {
18124 "word_bit_width": 16,
Brian O'Connora6862e02017-09-08 01:17:39 -070018125 "position_offset": 48,
Carmelo Casconef1d0a422017-09-07 17:21:46 +020018126 "phv_lsb": 0,
18127 "is_pov": false,
18128 "field_msb": 15,
18129 "phv_msb": 15,
18130 "is_compiler_generated": false,
18131 "field_name": "udp_dstPort",
18132 "field_width": 2,
18133 "field_lsb": 0
18134 }
18135 ]
18136 },
18137 {
Brian O'Connora6862e02017-09-08 01:17:39 -070018138 "phv_number": 337,
Carmelo Casconef1d0a422017-09-07 17:21:46 +020018139 "records": [
18140 {
18141 "word_bit_width": 16,
Brian O'Connora6862e02017-09-08 01:17:39 -070018142 "position_offset": 69,
Carmelo Casconef1d0a422017-09-07 17:21:46 +020018143 "phv_lsb": 0,
18144 "is_pov": false,
18145 "field_msb": 15,
18146 "phv_msb": 15,
18147 "is_compiler_generated": false,
18148 "field_name": "tcp_seqNo",
18149 "field_width": 4,
18150 "field_lsb": 0
18151 }
18152 ]
18153 },
18154 {
Brian O'Connora6862e02017-09-08 01:17:39 -070018155 "phv_number": 338,
Carmelo Casconef1d0a422017-09-07 17:21:46 +020018156 "records": [
18157 {
18158 "word_bit_width": 16,
Brian O'Connora6862e02017-09-08 01:17:39 -070018159 "position_offset": 19,
Carmelo Casconef1d0a422017-09-07 17:21:46 +020018160 "phv_lsb": 8,
18161 "is_pov": false,
18162 "field_msb": 7,
18163 "phv_msb": 15,
18164 "is_compiler_generated": false,
18165 "field_name": "ethernet_dstAddr",
18166 "field_width": 6,
18167 "field_lsb": 0
18168 },
18169 {
18170 "word_bit_width": 16,
Brian O'Connora6862e02017-09-08 01:17:39 -070018171 "position_offset": 63,
Carmelo Casconef1d0a422017-09-07 17:21:46 +020018172 "phv_lsb": 0,
18173 "is_pov": false,
18174 "field_msb": 47,
18175 "phv_msb": 7,
18176 "is_compiler_generated": false,
18177 "field_name": "ethernet_srcAddr",
18178 "field_width": 6,
18179 "field_lsb": 40
18180 }
18181 ]
18182 },
18183 {
Brian O'Connora6862e02017-09-08 01:17:39 -070018184 "phv_number": 339,
Carmelo Casconef1d0a422017-09-07 17:21:46 +020018185 "records": [
18186 {
18187 "word_bit_width": 16,
Brian O'Connora6862e02017-09-08 01:17:39 -070018188 "position_offset": 39,
Carmelo Casconef1d0a422017-09-07 17:21:46 +020018189 "phv_lsb": 0,
18190 "is_pov": false,
18191 "field_msb": 15,
18192 "phv_msb": 15,
18193 "is_compiler_generated": false,
18194 "field_name": "ethernet_etherType",
18195 "field_width": 2,
18196 "field_lsb": 0
18197 }
18198 ]
18199 },
18200 {
Brian O'Connora6862e02017-09-08 01:17:39 -070018201 "phv_number": 340,
Carmelo Casconef1d0a422017-09-07 17:21:46 +020018202 "records": [
18203 {
18204 "word_bit_width": 16,
18205 "position_offset": 0,
18206 "phv_lsb": 7,
18207 "is_pov": false,
18208 "field_msb": 8,
18209 "phv_msb": 15,
18210 "is_compiler_generated": false,
18211 "field_name": "packet_out_hdr_egress_port",
18212 "field_width": 2,
18213 "field_lsb": 0
Brian O'Connora6862e02017-09-08 01:17:39 -070018214 },
18215 {
18216 "word_bit_width": 16,
18217 "position_offset": 30,
18218 "phv_lsb": 7,
18219 "is_pov": false,
18220 "field_msb": 8,
18221 "phv_msb": 15,
18222 "is_compiler_generated": false,
18223 "field_name": "packet_in_hdr_ingress_port",
18224 "field_width": 2,
18225 "field_lsb": 0
Carmelo Casconef1d0a422017-09-07 17:21:46 +020018226 }
18227 ]
18228 }
18229 ],
18230 "stage_number": 11
18231 }
18232 ],
18233 "compiler_version": "5.1.0",
18234 "tables": [
18235 {
18236 "direction": "ingress",
18237 "handle": 33554433,
18238 "name": "ingress_port_count_table__action__",
18239 "table_type": "action",
18240 "stage_tables": [
18241 {
18242 "memory_resource_allocation": null,
18243 "pack_format": [
18244 {
18245 "entries_per_table_word": 1,
18246 "action_handle": 536870914,
18247 "memory_word_width": 128,
18248 "table_word_width": 128,
18249 "entries": [
18250 {
18251 "entry_number": 0,
18252 "fields": [
18253 {
18254 "start_bit": 0,
18255 "field_width": 0,
18256 "lsb_mem_word_idx": 1,
18257 "source": "zero",
18258 "lsb_mem_word_offset": 0,
18259 "field_name": "--padding--"
18260 }
18261 ]
18262 }
18263 ],
18264 "number_memory_units_per_table_word": 1
18265 }
18266 ],
18267 "logical_table_id": 0,
Brian O'Connora6862e02017-09-08 01:17:39 -070018268 "stage_number": 2,
Carmelo Casconef1d0a422017-09-07 17:21:46 +020018269 "stage_table_type": "action_data",
18270 "size": 0
18271 }
18272 ],
18273 "actions": [
18274 {
18275 "p4_parameters": [],
18276 "handle": 536870914,
18277 "name": "count_ingress",
18278 "indirect_resources": [],
18279 "override_stat_full_addr": 0,
18280 "override_meter_addr_pfe": false,
18281 "allowed_as_default_action": true,
18282 "override_stat_addr_pfe": true,
18283 "override_stateful_addr_pfe": false,
18284 "override_meter_full_addr": 0,
18285 "override_stat_addr": false,
18286 "override_stateful_addr": false,
18287 "override_stateful_full_addr": 0,
18288 "override_meter_addr": false
18289 }
18290 ],
18291 "how_referenced": "direct",
18292 "size": 1024
18293 },
18294 {
18295 "direction": "ingress",
18296 "handle": 16777217,
18297 "name": "ingress_port_count_table",
18298 "is_resource_controllable": true,
18299 "table_type": "match",
18300 "ap_bind_indirect_res_to_match": [],
18301 "statistics_table_refs": [
18302 {
18303 "how_referenced": "indirect",
18304 "handle": 67108865,
18305 "name": "ingress_port_counter"
18306 }
18307 ],
18308 "actions": [
18309 {
18310 "p4_parameters": [],
18311 "handle": 536870914,
18312 "name": "count_ingress",
18313 "indirect_resources": [],
18314 "override_stat_full_addr": 0,
18315 "override_meter_addr_pfe": false,
18316 "allowed_as_default_action": true,
18317 "override_stat_addr_pfe": true,
18318 "override_stateful_addr_pfe": false,
18319 "override_meter_full_addr": 0,
18320 "override_stat_addr": false,
18321 "override_stateful_addr": false,
18322 "override_stateful_full_addr": 0,
18323 "override_meter_addr": false
18324 }
18325 ],
18326 "meter_table_refs": [],
18327 "default_action_handle": 536870914,
18328 "uses_range": false,
18329 "match_attributes": {
18330 "stage_tables": [
18331 {
Brian O'Connora6862e02017-09-08 01:17:39 -070018332 "default_next_table": 33,
Carmelo Casconef1d0a422017-09-07 17:21:46 +020018333 "action_format": [
18334 {
18335 "vliw_instruction_full": 64,
18336 "next_table": 0,
Brian O'Connora6862e02017-09-08 01:17:39 -070018337 "next_table_full": 33,
Carmelo Casconef1d0a422017-09-07 17:21:46 +020018338 "action_handle": 536870914,
18339 "action_name": "count_ingress",
18340 "table_name": "egress_port_count_table",
18341 "immediate_fields": [],
18342 "vliw_instruction": 1
18343 }
18344 ],
18345 "memory_resource_allocation": null,
18346 "pack_format": [
18347 {
18348 "memory_word_width": 0,
18349 "entries_per_table_word": 1,
18350 "table_word_width": 0,
18351 "number_memory_units_per_table_word": 0
18352 }
18353 ],
18354 "result_physical_buses": [
18355 1
18356 ],
18357 "logical_table_id": 0,
Brian O'Connora6862e02017-09-08 01:17:39 -070018358 "stage_number": 2,
Carmelo Casconef1d0a422017-09-07 17:21:46 +020018359 "stage_table_type": "match_with_no_key",
18360 "size": 1
18361 }
18362 ],
18363 "match_type": "match_with_no_key"
18364 },
18365 "stateful_table_refs": [],
18366 "default_next_table_mask": 0,
18367 "selection_table_refs": [],
18368 "action_data_table_refs": [],
18369 "match_key_fields": [],
18370 "size": 1024
18371 },
18372 {
18373 "direction": "ingress",
18374 "handle": 33554434,
18375 "name": "egress_port_count_table__action__",
18376 "table_type": "action",
18377 "stage_tables": [
18378 {
18379 "memory_resource_allocation": null,
18380 "pack_format": [
18381 {
18382 "entries_per_table_word": 1,
18383 "action_handle": 536870916,
18384 "memory_word_width": 128,
18385 "table_word_width": 128,
18386 "entries": [
18387 {
18388 "entry_number": 0,
18389 "fields": [
18390 {
18391 "start_bit": 0,
18392 "field_width": 0,
18393 "lsb_mem_word_idx": 1,
18394 "source": "zero",
18395 "lsb_mem_word_offset": 0,
18396 "field_name": "--padding--"
18397 }
18398 ]
18399 }
18400 ],
18401 "number_memory_units_per_table_word": 1
18402 }
18403 ],
18404 "logical_table_id": 1,
Brian O'Connora6862e02017-09-08 01:17:39 -070018405 "stage_number": 2,
Carmelo Casconef1d0a422017-09-07 17:21:46 +020018406 "stage_table_type": "action_data",
18407 "size": 0
18408 }
18409 ],
18410 "actions": [
18411 {
18412 "p4_parameters": [],
18413 "handle": 536870916,
18414 "name": "count_egress",
18415 "indirect_resources": [],
18416 "override_stat_full_addr": 0,
18417 "override_meter_addr_pfe": false,
18418 "allowed_as_default_action": true,
18419 "override_stat_addr_pfe": true,
18420 "override_stateful_addr_pfe": false,
18421 "override_meter_full_addr": 0,
18422 "override_stat_addr": false,
18423 "override_stateful_addr": false,
18424 "override_stateful_full_addr": 0,
18425 "override_meter_addr": false
18426 }
18427 ],
18428 "how_referenced": "direct",
18429 "size": 1024
18430 },
18431 {
18432 "direction": "ingress",
18433 "handle": 16777218,
18434 "name": "egress_port_count_table",
18435 "is_resource_controllable": true,
18436 "table_type": "match",
18437 "ap_bind_indirect_res_to_match": [],
18438 "statistics_table_refs": [
18439 {
18440 "how_referenced": "indirect",
18441 "handle": 67108866,
18442 "name": "egress_port_counter"
18443 }
18444 ],
18445 "actions": [
18446 {
18447 "p4_parameters": [],
18448 "handle": 536870916,
18449 "name": "count_egress",
18450 "indirect_resources": [],
18451 "override_stat_full_addr": 0,
18452 "override_meter_addr_pfe": false,
18453 "allowed_as_default_action": true,
18454 "override_stat_addr_pfe": true,
18455 "override_stateful_addr_pfe": false,
18456 "override_meter_full_addr": 0,
18457 "override_stat_addr": false,
18458 "override_stateful_addr": false,
18459 "override_stateful_full_addr": 0,
18460 "override_meter_addr": false
18461 }
18462 ],
18463 "meter_table_refs": [],
18464 "default_action_handle": 536870916,
18465 "uses_range": false,
18466 "match_attributes": {
18467 "stage_tables": [
18468 {
18469 "default_next_table": 255,
18470 "action_format": [
18471 {
18472 "vliw_instruction_full": 64,
18473 "next_table": 0,
18474 "next_table_full": 255,
18475 "action_handle": 536870916,
18476 "action_name": "count_egress",
18477 "table_name": "--END_OF_PIPELINE--",
18478 "immediate_fields": [],
18479 "vliw_instruction": 0
18480 }
18481 ],
18482 "memory_resource_allocation": null,
18483 "pack_format": [
18484 {
18485 "memory_word_width": 0,
18486 "entries_per_table_word": 1,
18487 "table_word_width": 0,
18488 "number_memory_units_per_table_word": 0
18489 }
18490 ],
18491 "result_physical_buses": [
18492 0
18493 ],
18494 "logical_table_id": 1,
Brian O'Connora6862e02017-09-08 01:17:39 -070018495 "stage_number": 2,
Carmelo Casconef1d0a422017-09-07 17:21:46 +020018496 "stage_table_type": "match_with_no_key",
18497 "size": 1
18498 }
18499 ],
18500 "match_type": "match_with_no_key"
18501 },
18502 "stateful_table_refs": [],
18503 "default_next_table_mask": 0,
18504 "selection_table_refs": [],
18505 "action_data_table_refs": [],
18506 "match_key_fields": [],
18507 "size": 1024
18508 },
18509 {
18510 "direction": "ingress",
18511 "handle": 33554435,
Brian O'Connora6862e02017-09-08 01:17:39 -070018512 "name": "process_packet_out_table__action__",
Carmelo Casconef1d0a422017-09-07 17:21:46 +020018513 "table_type": "action",
18514 "stage_tables": [
18515 {
18516 "memory_resource_allocation": null,
18517 "pack_format": [
18518 {
18519 "entries_per_table_word": 1,
18520 "action_handle": 536870919,
18521 "memory_word_width": 128,
18522 "table_word_width": 128,
18523 "entries": [
18524 {
18525 "entry_number": 0,
18526 "fields": [
18527 {
18528 "start_bit": 0,
18529 "field_width": 0,
18530 "lsb_mem_word_idx": 1,
18531 "source": "zero",
18532 "lsb_mem_word_offset": 0,
18533 "field_name": "--padding--"
18534 }
18535 ]
18536 }
18537 ],
18538 "number_memory_units_per_table_word": 1
18539 }
18540 ],
Carmelo Casconef1d0a422017-09-07 17:21:46 +020018541 "logical_table_id": 1,
18542 "stage_number": 0,
18543 "stage_table_type": "action_data",
18544 "size": 0
18545 }
18546 ],
18547 "actions": [
18548 {
18549 "p4_parameters": [],
Brian O'Connora6862e02017-09-08 01:17:39 -070018550 "handle": 536870919,
18551 "name": "_process_packet_out",
Carmelo Casconef1d0a422017-09-07 17:21:46 +020018552 "indirect_resources": [],
18553 "override_stat_full_addr": 0,
18554 "override_meter_addr_pfe": false,
18555 "allowed_as_default_action": true,
18556 "override_stat_addr_pfe": false,
18557 "override_stateful_addr_pfe": false,
18558 "override_meter_full_addr": 0,
18559 "override_stat_addr": false,
18560 "override_stateful_addr": false,
18561 "override_stateful_full_addr": 0,
18562 "override_meter_addr": false
18563 }
18564 ],
18565 "how_referenced": "direct",
18566 "size": 1024
18567 },
18568 {
Brian O'Connora6862e02017-09-08 01:17:39 -070018569 "direction": "ingress",
18570 "handle": 16777219,
18571 "name": "process_packet_out_table",
Carmelo Casconef1d0a422017-09-07 17:21:46 +020018572 "is_resource_controllable": true,
18573 "table_type": "match",
18574 "ap_bind_indirect_res_to_match": [],
18575 "statistics_table_refs": [],
18576 "actions": [
18577 {
18578 "p4_parameters": [],
Brian O'Connora6862e02017-09-08 01:17:39 -070018579 "handle": 536870919,
18580 "name": "_process_packet_out",
Carmelo Casconef1d0a422017-09-07 17:21:46 +020018581 "indirect_resources": [],
18582 "override_stat_full_addr": 0,
18583 "override_meter_addr_pfe": false,
18584 "allowed_as_default_action": true,
18585 "override_stat_addr_pfe": false,
18586 "override_stateful_addr_pfe": false,
18587 "override_meter_full_addr": 0,
18588 "override_stat_addr": false,
18589 "override_stateful_addr": false,
18590 "override_stateful_full_addr": 0,
18591 "override_meter_addr": false
18592 }
18593 ],
18594 "meter_table_refs": [],
Brian O'Connora6862e02017-09-08 01:17:39 -070018595 "default_action_handle": 536870919,
Carmelo Casconef1d0a422017-09-07 17:21:46 +020018596 "uses_range": false,
18597 "match_attributes": {
18598 "stage_tables": [
18599 {
Brian O'Connora6862e02017-09-08 01:17:39 -070018600 "default_next_table": 32,
Carmelo Casconef1d0a422017-09-07 17:21:46 +020018601 "action_format": [
18602 {
Brian O'Connora6862e02017-09-08 01:17:39 -070018603 "vliw_instruction_full": 69,
Carmelo Casconef1d0a422017-09-07 17:21:46 +020018604 "next_table": 0,
Brian O'Connora6862e02017-09-08 01:17:39 -070018605 "next_table_full": 32,
18606 "action_handle": 536870919,
18607 "action_name": "_process_packet_out",
18608 "table_name": "_condition_2",
Carmelo Casconef1d0a422017-09-07 17:21:46 +020018609 "immediate_fields": [],
Brian O'Connora6862e02017-09-08 01:17:39 -070018610 "vliw_instruction": 0
Carmelo Casconef1d0a422017-09-07 17:21:46 +020018611 }
18612 ],
18613 "memory_resource_allocation": null,
18614 "pack_format": [
18615 {
18616 "memory_word_width": 0,
18617 "entries_per_table_word": 1,
18618 "table_word_width": 0,
18619 "number_memory_units_per_table_word": 0
18620 }
18621 ],
18622 "result_physical_buses": [
Brian O'Connora6862e02017-09-08 01:17:39 -070018623 1
Carmelo Casconef1d0a422017-09-07 17:21:46 +020018624 ],
18625 "logical_table_id": 1,
18626 "stage_number": 0,
18627 "stage_table_type": "match_with_no_key",
18628 "size": 1
18629 }
18630 ],
18631 "match_type": "match_with_no_key"
18632 },
18633 "stateful_table_refs": [],
18634 "default_next_table_mask": 0,
18635 "selection_table_refs": [],
18636 "action_data_table_refs": [],
18637 "match_key_fields": [],
18638 "size": 1024
18639 },
18640 {
18641 "direction": "ingress",
Brian O'Connora6862e02017-09-08 01:17:39 -070018642 "handle": 33554436,
Carmelo Casconef1d0a422017-09-07 17:21:46 +020018643 "name": "table0__action__",
18644 "table_type": "action",
18645 "stage_tables": [
18646 {
18647 "memory_resource_allocation": {
18648 "spare_bank_memory_unit": 80,
18649 "memory_units_and_vpns": [
18650 {
18651 "memory_units": [
18652 80
18653 ],
18654 "vpns": [
18655 0
18656 ]
18657 }
18658 ],
18659 "memory_type": "sram"
18660 },
18661 "pack_format": [
18662 {
18663 "entries_per_table_word": 8,
Brian O'Connora6862e02017-09-08 01:17:39 -070018664 "action_handle": 536870921,
Carmelo Casconef1d0a422017-09-07 17:21:46 +020018665 "memory_word_width": 128,
18666 "table_word_width": 128,
18667 "entries": [
18668 {
18669 "entry_number": 7,
18670 "fields": [
18671 {
18672 "start_bit": 0,
18673 "field_width": 7,
18674 "lsb_mem_word_idx": 0,
18675 "source": "zero",
18676 "lsb_mem_word_offset": 121,
18677 "field_name": "--padding--"
18678 },
18679 {
18680 "start_bit": 0,
18681 "field_width": 9,
18682 "lsb_mem_word_idx": 0,
18683 "source": "spec",
18684 "lsb_mem_word_offset": 112,
18685 "field_name": "port"
18686 }
18687 ]
18688 },
18689 {
18690 "entry_number": 6,
18691 "fields": [
18692 {
18693 "start_bit": 0,
18694 "field_width": 7,
18695 "lsb_mem_word_idx": 0,
18696 "source": "zero",
18697 "lsb_mem_word_offset": 105,
18698 "field_name": "--padding--"
18699 },
18700 {
18701 "start_bit": 0,
18702 "field_width": 9,
18703 "lsb_mem_word_idx": 0,
18704 "source": "spec",
18705 "lsb_mem_word_offset": 96,
18706 "field_name": "port"
18707 }
18708 ]
18709 },
18710 {
18711 "entry_number": 5,
18712 "fields": [
18713 {
18714 "start_bit": 0,
18715 "field_width": 7,
18716 "lsb_mem_word_idx": 0,
18717 "source": "zero",
18718 "lsb_mem_word_offset": 89,
18719 "field_name": "--padding--"
18720 },
18721 {
18722 "start_bit": 0,
18723 "field_width": 9,
18724 "lsb_mem_word_idx": 0,
18725 "source": "spec",
18726 "lsb_mem_word_offset": 80,
18727 "field_name": "port"
18728 }
18729 ]
18730 },
18731 {
18732 "entry_number": 4,
18733 "fields": [
18734 {
18735 "start_bit": 0,
18736 "field_width": 7,
18737 "lsb_mem_word_idx": 0,
18738 "source": "zero",
18739 "lsb_mem_word_offset": 73,
18740 "field_name": "--padding--"
18741 },
18742 {
18743 "start_bit": 0,
18744 "field_width": 9,
18745 "lsb_mem_word_idx": 0,
18746 "source": "spec",
18747 "lsb_mem_word_offset": 64,
18748 "field_name": "port"
18749 }
18750 ]
18751 },
18752 {
18753 "entry_number": 3,
18754 "fields": [
18755 {
18756 "start_bit": 0,
18757 "field_width": 7,
18758 "lsb_mem_word_idx": 0,
18759 "source": "zero",
18760 "lsb_mem_word_offset": 57,
18761 "field_name": "--padding--"
18762 },
18763 {
18764 "start_bit": 0,
18765 "field_width": 9,
18766 "lsb_mem_word_idx": 0,
18767 "source": "spec",
18768 "lsb_mem_word_offset": 48,
18769 "field_name": "port"
18770 }
18771 ]
18772 },
18773 {
18774 "entry_number": 2,
18775 "fields": [
18776 {
18777 "start_bit": 0,
18778 "field_width": 7,
18779 "lsb_mem_word_idx": 0,
18780 "source": "zero",
18781 "lsb_mem_word_offset": 41,
18782 "field_name": "--padding--"
18783 },
18784 {
18785 "start_bit": 0,
18786 "field_width": 9,
18787 "lsb_mem_word_idx": 0,
18788 "source": "spec",
18789 "lsb_mem_word_offset": 32,
18790 "field_name": "port"
18791 }
18792 ]
18793 },
18794 {
18795 "entry_number": 1,
18796 "fields": [
18797 {
18798 "start_bit": 0,
18799 "field_width": 7,
18800 "lsb_mem_word_idx": 0,
18801 "source": "zero",
18802 "lsb_mem_word_offset": 25,
18803 "field_name": "--padding--"
18804 },
18805 {
18806 "start_bit": 0,
18807 "field_width": 9,
18808 "lsb_mem_word_idx": 0,
18809 "source": "spec",
18810 "lsb_mem_word_offset": 16,
18811 "field_name": "port"
18812 }
18813 ]
18814 },
18815 {
18816 "entry_number": 0,
18817 "fields": [
18818 {
18819 "start_bit": 0,
18820 "field_width": 7,
18821 "lsb_mem_word_idx": 0,
18822 "source": "zero",
18823 "lsb_mem_word_offset": 9,
18824 "field_name": "--padding--"
18825 },
18826 {
18827 "start_bit": 0,
18828 "field_width": 9,
18829 "lsb_mem_word_idx": 0,
18830 "source": "spec",
18831 "lsb_mem_word_offset": 0,
18832 "field_name": "port"
18833 }
18834 ]
18835 }
18836 ],
18837 "number_memory_units_per_table_word": 1
18838 },
18839 {
18840 "entries_per_table_word": 8,
Brian O'Connora6862e02017-09-08 01:17:39 -070018841 "action_handle": 536870924,
Carmelo Casconef1d0a422017-09-07 17:21:46 +020018842 "memory_word_width": 128,
18843 "table_word_width": 128,
18844 "entries": [
18845 {
18846 "entry_number": 7,
18847 "fields": [
18848 {
18849 "start_bit": 0,
18850 "field_width": 16,
18851 "lsb_mem_word_idx": 0,
18852 "source": "spec",
18853 "lsb_mem_word_offset": 112,
18854 "field_name": "groupId"
18855 }
18856 ]
18857 },
18858 {
18859 "entry_number": 6,
18860 "fields": [
18861 {
18862 "start_bit": 0,
18863 "field_width": 16,
18864 "lsb_mem_word_idx": 0,
18865 "source": "spec",
18866 "lsb_mem_word_offset": 96,
18867 "field_name": "groupId"
18868 }
18869 ]
18870 },
18871 {
18872 "entry_number": 5,
18873 "fields": [
18874 {
18875 "start_bit": 0,
18876 "field_width": 16,
18877 "lsb_mem_word_idx": 0,
18878 "source": "spec",
18879 "lsb_mem_word_offset": 80,
18880 "field_name": "groupId"
18881 }
18882 ]
18883 },
18884 {
18885 "entry_number": 4,
18886 "fields": [
18887 {
18888 "start_bit": 0,
18889 "field_width": 16,
18890 "lsb_mem_word_idx": 0,
18891 "source": "spec",
18892 "lsb_mem_word_offset": 64,
18893 "field_name": "groupId"
18894 }
18895 ]
18896 },
18897 {
18898 "entry_number": 3,
18899 "fields": [
18900 {
18901 "start_bit": 0,
18902 "field_width": 16,
18903 "lsb_mem_word_idx": 0,
18904 "source": "spec",
18905 "lsb_mem_word_offset": 48,
18906 "field_name": "groupId"
18907 }
18908 ]
18909 },
18910 {
18911 "entry_number": 2,
18912 "fields": [
18913 {
18914 "start_bit": 0,
18915 "field_width": 16,
18916 "lsb_mem_word_idx": 0,
18917 "source": "spec",
18918 "lsb_mem_word_offset": 32,
18919 "field_name": "groupId"
18920 }
18921 ]
18922 },
18923 {
18924 "entry_number": 1,
18925 "fields": [
18926 {
18927 "start_bit": 0,
18928 "field_width": 16,
18929 "lsb_mem_word_idx": 0,
18930 "source": "spec",
18931 "lsb_mem_word_offset": 16,
18932 "field_name": "groupId"
18933 }
18934 ]
18935 },
18936 {
18937 "entry_number": 0,
18938 "fields": [
18939 {
18940 "start_bit": 0,
18941 "field_width": 16,
18942 "lsb_mem_word_idx": 0,
18943 "source": "spec",
18944 "lsb_mem_word_offset": 0,
18945 "field_name": "groupId"
18946 }
18947 ]
18948 }
18949 ],
18950 "number_memory_units_per_table_word": 1
18951 },
18952 {
18953 "entries_per_table_word": 8,
Brian O'Connora6862e02017-09-08 01:17:39 -070018954 "action_handle": 536870928,
Carmelo Casconef1d0a422017-09-07 17:21:46 +020018955 "memory_word_width": 128,
18956 "table_word_width": 128,
18957 "entries": [
18958 {
18959 "entry_number": 7,
18960 "fields": [
18961 {
18962 "start_bit": 0,
Brian O'Connora6862e02017-09-08 01:17:39 -070018963 "field_width": 7,
Carmelo Casconef1d0a422017-09-07 17:21:46 +020018964 "lsb_mem_word_idx": 0,
18965 "source": "zero",
Brian O'Connora6862e02017-09-08 01:17:39 -070018966 "lsb_mem_word_offset": 121,
Carmelo Casconef1d0a422017-09-07 17:21:46 +020018967 "field_name": "--padding--"
Brian O'Connora6862e02017-09-08 01:17:39 -070018968 },
18969 {
18970 "start_bit": 0,
18971 "immediate_name": "--constant-0--",
18972 "field_width": 9,
18973 "lsb_mem_word_idx": 0,
18974 "const_tuples": [
18975 {
18976 "dest_start": 0,
18977 "value": 192,
18978 "dest_width": 9
18979 }
18980 ],
18981 "source": "constant",
18982 "lsb_mem_word_offset": 112,
18983 "field_name": "--constant-0--"
Carmelo Casconef1d0a422017-09-07 17:21:46 +020018984 }
18985 ]
18986 },
18987 {
18988 "entry_number": 6,
18989 "fields": [
18990 {
18991 "start_bit": 0,
Brian O'Connora6862e02017-09-08 01:17:39 -070018992 "field_width": 7,
Carmelo Casconef1d0a422017-09-07 17:21:46 +020018993 "lsb_mem_word_idx": 0,
18994 "source": "zero",
Brian O'Connora6862e02017-09-08 01:17:39 -070018995 "lsb_mem_word_offset": 105,
Carmelo Casconef1d0a422017-09-07 17:21:46 +020018996 "field_name": "--padding--"
Brian O'Connora6862e02017-09-08 01:17:39 -070018997 },
18998 {
18999 "start_bit": 0,
19000 "immediate_name": "--constant-0--",
19001 "field_width": 9,
19002 "lsb_mem_word_idx": 0,
19003 "const_tuples": [
19004 {
19005 "dest_start": 0,
19006 "value": 192,
19007 "dest_width": 9
19008 }
19009 ],
19010 "source": "constant",
19011 "lsb_mem_word_offset": 96,
19012 "field_name": "--constant-0--"
Carmelo Casconef1d0a422017-09-07 17:21:46 +020019013 }
19014 ]
19015 },
19016 {
19017 "entry_number": 5,
19018 "fields": [
19019 {
19020 "start_bit": 0,
Brian O'Connora6862e02017-09-08 01:17:39 -070019021 "field_width": 7,
Carmelo Casconef1d0a422017-09-07 17:21:46 +020019022 "lsb_mem_word_idx": 0,
19023 "source": "zero",
Brian O'Connora6862e02017-09-08 01:17:39 -070019024 "lsb_mem_word_offset": 89,
Carmelo Casconef1d0a422017-09-07 17:21:46 +020019025 "field_name": "--padding--"
Brian O'Connora6862e02017-09-08 01:17:39 -070019026 },
19027 {
19028 "start_bit": 0,
19029 "immediate_name": "--constant-0--",
19030 "field_width": 9,
19031 "lsb_mem_word_idx": 0,
19032 "const_tuples": [
19033 {
19034 "dest_start": 0,
19035 "value": 192,
19036 "dest_width": 9
19037 }
19038 ],
19039 "source": "constant",
19040 "lsb_mem_word_offset": 80,
19041 "field_name": "--constant-0--"
Carmelo Casconef1d0a422017-09-07 17:21:46 +020019042 }
19043 ]
19044 },
19045 {
19046 "entry_number": 4,
19047 "fields": [
19048 {
19049 "start_bit": 0,
Brian O'Connora6862e02017-09-08 01:17:39 -070019050 "field_width": 7,
Carmelo Casconef1d0a422017-09-07 17:21:46 +020019051 "lsb_mem_word_idx": 0,
19052 "source": "zero",
Brian O'Connora6862e02017-09-08 01:17:39 -070019053 "lsb_mem_word_offset": 73,
Carmelo Casconef1d0a422017-09-07 17:21:46 +020019054 "field_name": "--padding--"
Brian O'Connora6862e02017-09-08 01:17:39 -070019055 },
19056 {
19057 "start_bit": 0,
19058 "immediate_name": "--constant-0--",
19059 "field_width": 9,
19060 "lsb_mem_word_idx": 0,
19061 "const_tuples": [
19062 {
19063 "dest_start": 0,
19064 "value": 192,
19065 "dest_width": 9
19066 }
19067 ],
19068 "source": "constant",
19069 "lsb_mem_word_offset": 64,
19070 "field_name": "--constant-0--"
Carmelo Casconef1d0a422017-09-07 17:21:46 +020019071 }
19072 ]
19073 },
19074 {
19075 "entry_number": 3,
19076 "fields": [
19077 {
19078 "start_bit": 0,
Brian O'Connora6862e02017-09-08 01:17:39 -070019079 "field_width": 7,
Carmelo Casconef1d0a422017-09-07 17:21:46 +020019080 "lsb_mem_word_idx": 0,
19081 "source": "zero",
Brian O'Connora6862e02017-09-08 01:17:39 -070019082 "lsb_mem_word_offset": 57,
Carmelo Casconef1d0a422017-09-07 17:21:46 +020019083 "field_name": "--padding--"
Brian O'Connora6862e02017-09-08 01:17:39 -070019084 },
19085 {
19086 "start_bit": 0,
19087 "immediate_name": "--constant-0--",
19088 "field_width": 9,
19089 "lsb_mem_word_idx": 0,
19090 "const_tuples": [
19091 {
19092 "dest_start": 0,
19093 "value": 192,
19094 "dest_width": 9
19095 }
19096 ],
19097 "source": "constant",
19098 "lsb_mem_word_offset": 48,
19099 "field_name": "--constant-0--"
Carmelo Casconef1d0a422017-09-07 17:21:46 +020019100 }
19101 ]
19102 },
19103 {
19104 "entry_number": 2,
19105 "fields": [
19106 {
19107 "start_bit": 0,
Brian O'Connora6862e02017-09-08 01:17:39 -070019108 "field_width": 7,
Carmelo Casconef1d0a422017-09-07 17:21:46 +020019109 "lsb_mem_word_idx": 0,
19110 "source": "zero",
Brian O'Connora6862e02017-09-08 01:17:39 -070019111 "lsb_mem_word_offset": 41,
Carmelo Casconef1d0a422017-09-07 17:21:46 +020019112 "field_name": "--padding--"
Brian O'Connora6862e02017-09-08 01:17:39 -070019113 },
19114 {
19115 "start_bit": 0,
19116 "immediate_name": "--constant-0--",
19117 "field_width": 9,
19118 "lsb_mem_word_idx": 0,
19119 "const_tuples": [
19120 {
19121 "dest_start": 0,
19122 "value": 192,
19123 "dest_width": 9
19124 }
19125 ],
19126 "source": "constant",
19127 "lsb_mem_word_offset": 32,
19128 "field_name": "--constant-0--"
Carmelo Casconef1d0a422017-09-07 17:21:46 +020019129 }
19130 ]
19131 },
19132 {
19133 "entry_number": 1,
19134 "fields": [
19135 {
19136 "start_bit": 0,
Brian O'Connora6862e02017-09-08 01:17:39 -070019137 "field_width": 7,
Carmelo Casconef1d0a422017-09-07 17:21:46 +020019138 "lsb_mem_word_idx": 0,
19139 "source": "zero",
Brian O'Connora6862e02017-09-08 01:17:39 -070019140 "lsb_mem_word_offset": 25,
Carmelo Casconef1d0a422017-09-07 17:21:46 +020019141 "field_name": "--padding--"
Brian O'Connora6862e02017-09-08 01:17:39 -070019142 },
19143 {
19144 "start_bit": 0,
19145 "immediate_name": "--constant-0--",
19146 "field_width": 9,
19147 "lsb_mem_word_idx": 0,
19148 "const_tuples": [
19149 {
19150 "dest_start": 0,
19151 "value": 192,
19152 "dest_width": 9
19153 }
19154 ],
19155 "source": "constant",
19156 "lsb_mem_word_offset": 16,
19157 "field_name": "--constant-0--"
Carmelo Casconef1d0a422017-09-07 17:21:46 +020019158 }
19159 ]
19160 },
19161 {
19162 "entry_number": 0,
19163 "fields": [
19164 {
19165 "start_bit": 0,
Brian O'Connora6862e02017-09-08 01:17:39 -070019166 "field_width": 7,
Carmelo Casconef1d0a422017-09-07 17:21:46 +020019167 "lsb_mem_word_idx": 0,
19168 "source": "zero",
Brian O'Connora6862e02017-09-08 01:17:39 -070019169 "lsb_mem_word_offset": 9,
Carmelo Casconef1d0a422017-09-07 17:21:46 +020019170 "field_name": "--padding--"
Brian O'Connora6862e02017-09-08 01:17:39 -070019171 },
19172 {
19173 "start_bit": 0,
19174 "immediate_name": "--constant-0--",
19175 "field_width": 9,
19176 "lsb_mem_word_idx": 0,
19177 "const_tuples": [
19178 {
19179 "dest_start": 0,
19180 "value": 192,
19181 "dest_width": 9
19182 }
19183 ],
19184 "source": "constant",
19185 "lsb_mem_word_offset": 0,
19186 "field_name": "--constant-0--"
Carmelo Casconef1d0a422017-09-07 17:21:46 +020019187 }
19188 ]
19189 }
19190 ],
19191 "number_memory_units_per_table_word": 1
19192 },
19193 {
19194 "entries_per_table_word": 8,
Brian O'Connora6862e02017-09-08 01:17:39 -070019195 "action_handle": 536870930,
Carmelo Casconef1d0a422017-09-07 17:21:46 +020019196 "memory_word_width": 128,
19197 "table_word_width": 128,
19198 "entries": [
19199 {
19200 "entry_number": 7,
19201 "fields": [
19202 {
19203 "start_bit": 0,
19204 "field_width": 16,
19205 "lsb_mem_word_idx": 0,
19206 "source": "zero",
19207 "lsb_mem_word_offset": 112,
19208 "field_name": "--padding--"
19209 }
19210 ]
19211 },
19212 {
19213 "entry_number": 6,
19214 "fields": [
19215 {
19216 "start_bit": 0,
19217 "field_width": 16,
19218 "lsb_mem_word_idx": 0,
19219 "source": "zero",
19220 "lsb_mem_word_offset": 96,
19221 "field_name": "--padding--"
19222 }
19223 ]
19224 },
19225 {
19226 "entry_number": 5,
19227 "fields": [
19228 {
19229 "start_bit": 0,
19230 "field_width": 16,
19231 "lsb_mem_word_idx": 0,
19232 "source": "zero",
19233 "lsb_mem_word_offset": 80,
19234 "field_name": "--padding--"
19235 }
19236 ]
19237 },
19238 {
19239 "entry_number": 4,
19240 "fields": [
19241 {
19242 "start_bit": 0,
19243 "field_width": 16,
19244 "lsb_mem_word_idx": 0,
19245 "source": "zero",
19246 "lsb_mem_word_offset": 64,
19247 "field_name": "--padding--"
19248 }
19249 ]
19250 },
19251 {
19252 "entry_number": 3,
19253 "fields": [
19254 {
19255 "start_bit": 0,
19256 "field_width": 16,
19257 "lsb_mem_word_idx": 0,
19258 "source": "zero",
19259 "lsb_mem_word_offset": 48,
19260 "field_name": "--padding--"
19261 }
19262 ]
19263 },
19264 {
19265 "entry_number": 2,
19266 "fields": [
19267 {
19268 "start_bit": 0,
19269 "field_width": 16,
19270 "lsb_mem_word_idx": 0,
19271 "source": "zero",
19272 "lsb_mem_word_offset": 32,
19273 "field_name": "--padding--"
19274 }
19275 ]
19276 },
19277 {
19278 "entry_number": 1,
19279 "fields": [
19280 {
19281 "start_bit": 0,
19282 "field_width": 16,
19283 "lsb_mem_word_idx": 0,
19284 "source": "zero",
19285 "lsb_mem_word_offset": 16,
19286 "field_name": "--padding--"
19287 }
19288 ]
19289 },
19290 {
19291 "entry_number": 0,
19292 "fields": [
19293 {
19294 "start_bit": 0,
19295 "field_width": 16,
19296 "lsb_mem_word_idx": 0,
19297 "source": "zero",
19298 "lsb_mem_word_offset": 0,
19299 "field_name": "--padding--"
19300 }
19301 ]
19302 }
19303 ],
19304 "number_memory_units_per_table_word": 1
19305 }
19306 ],
19307 "logical_table_id": 0,
Brian O'Connora6862e02017-09-08 01:17:39 -070019308 "stage_number": 0,
Carmelo Casconef1d0a422017-09-07 17:21:46 +020019309 "stage_table_type": "action_data",
19310 "size": 8192
19311 }
19312 ],
19313 "actions": [
19314 {
19315 "p4_parameters": [
19316 {
19317 "position": 0,
19318 "name": "port",
19319 "start_bit": 0,
19320 "bit_width": 9
19321 }
19322 ],
Brian O'Connora6862e02017-09-08 01:17:39 -070019323 "handle": 536870921,
Carmelo Casconef1d0a422017-09-07 17:21:46 +020019324 "name": "set_egress_port",
19325 "indirect_resources": [],
19326 "override_stat_full_addr": 0,
19327 "override_meter_addr_pfe": false,
19328 "allowed_as_default_action": true,
19329 "override_stat_addr_pfe": false,
19330 "override_stateful_addr_pfe": false,
19331 "override_meter_full_addr": 0,
19332 "override_stat_addr": false,
19333 "override_stateful_addr": false,
19334 "override_stateful_full_addr": 0,
19335 "override_meter_addr": false
19336 },
19337 {
19338 "p4_parameters": [
19339 {
19340 "position": 0,
19341 "name": "groupId",
19342 "start_bit": 0,
19343 "bit_width": 16
19344 }
19345 ],
19346 "disallowed_as_default_action_reason": "USES_HASH_DIST",
Brian O'Connora6862e02017-09-08 01:17:39 -070019347 "handle": 536870924,
Carmelo Casconef1d0a422017-09-07 17:21:46 +020019348 "name": "ecmp_group",
19349 "indirect_resources": [],
19350 "override_stat_full_addr": 0,
19351 "override_meter_addr_pfe": false,
19352 "allowed_as_default_action": false,
19353 "override_stat_addr_pfe": false,
19354 "override_stateful_addr_pfe": false,
19355 "override_meter_full_addr": 0,
19356 "override_stat_addr": false,
19357 "override_stateful_addr": false,
19358 "override_stateful_full_addr": 0,
19359 "override_meter_addr": false
19360 },
19361 {
19362 "p4_parameters": [],
Brian O'Connora6862e02017-09-08 01:17:39 -070019363 "handle": 536870928,
Carmelo Casconef1d0a422017-09-07 17:21:46 +020019364 "name": "send_to_cpu",
19365 "indirect_resources": [],
19366 "override_stat_full_addr": 0,
19367 "override_meter_addr_pfe": false,
19368 "allowed_as_default_action": true,
19369 "override_stat_addr_pfe": false,
19370 "override_stateful_addr_pfe": false,
19371 "override_meter_full_addr": 0,
19372 "override_stat_addr": false,
19373 "override_stateful_addr": false,
19374 "override_stateful_full_addr": 0,
19375 "override_meter_addr": false
19376 },
19377 {
19378 "p4_parameters": [],
Brian O'Connora6862e02017-09-08 01:17:39 -070019379 "handle": 536870930,
Carmelo Casconef1d0a422017-09-07 17:21:46 +020019380 "name": "_drop",
19381 "indirect_resources": [],
19382 "override_stat_full_addr": 0,
19383 "override_meter_addr_pfe": false,
19384 "allowed_as_default_action": true,
19385 "override_stat_addr_pfe": false,
19386 "override_stateful_addr_pfe": false,
19387 "override_meter_full_addr": 0,
19388 "override_stat_addr": false,
19389 "override_stateful_addr": false,
19390 "override_stateful_full_addr": 0,
19391 "override_meter_addr": false
19392 }
19393 ],
19394 "how_referenced": "direct",
19395 "size": 512
19396 },
19397 {
19398 "direction": "ingress",
Brian O'Connora6862e02017-09-08 01:17:39 -070019399 "handle": 16777220,
Carmelo Casconef1d0a422017-09-07 17:21:46 +020019400 "name": "table0",
19401 "is_resource_controllable": true,
19402 "table_type": "match",
19403 "ap_bind_indirect_res_to_match": [],
19404 "statistics_table_refs": [
19405 {
19406 "how_referenced": "direct",
19407 "handle": 67108867,
19408 "name": "table0_counter"
19409 }
19410 ],
19411 "actions": [
19412 {
19413 "p4_parameters": [
19414 {
19415 "position": 0,
19416 "name": "port",
19417 "start_bit": 0,
19418 "bit_width": 9
19419 }
19420 ],
Brian O'Connora6862e02017-09-08 01:17:39 -070019421 "handle": 536870921,
Carmelo Casconef1d0a422017-09-07 17:21:46 +020019422 "name": "set_egress_port",
19423 "indirect_resources": [],
19424 "override_stat_full_addr": 0,
19425 "override_meter_addr_pfe": false,
19426 "allowed_as_default_action": true,
19427 "override_stat_addr_pfe": false,
19428 "override_stateful_addr_pfe": false,
19429 "override_meter_full_addr": 0,
19430 "override_stat_addr": false,
19431 "override_stateful_addr": false,
19432 "override_stateful_full_addr": 0,
19433 "override_meter_addr": false
19434 },
19435 {
19436 "p4_parameters": [
19437 {
19438 "position": 0,
19439 "name": "groupId",
19440 "start_bit": 0,
19441 "bit_width": 16
19442 }
19443 ],
19444 "disallowed_as_default_action_reason": "USES_HASH_DIST",
Brian O'Connora6862e02017-09-08 01:17:39 -070019445 "handle": 536870924,
Carmelo Casconef1d0a422017-09-07 17:21:46 +020019446 "name": "ecmp_group",
19447 "indirect_resources": [],
19448 "override_stat_full_addr": 0,
19449 "override_meter_addr_pfe": false,
19450 "allowed_as_default_action": false,
19451 "override_stat_addr_pfe": false,
19452 "override_stateful_addr_pfe": false,
19453 "override_meter_full_addr": 0,
19454 "override_stat_addr": false,
19455 "override_stateful_addr": false,
19456 "override_stateful_full_addr": 0,
19457 "override_meter_addr": false
19458 },
19459 {
19460 "p4_parameters": [],
Brian O'Connora6862e02017-09-08 01:17:39 -070019461 "handle": 536870928,
Carmelo Casconef1d0a422017-09-07 17:21:46 +020019462 "name": "send_to_cpu",
19463 "indirect_resources": [],
19464 "override_stat_full_addr": 0,
19465 "override_meter_addr_pfe": false,
19466 "allowed_as_default_action": true,
19467 "override_stat_addr_pfe": false,
19468 "override_stateful_addr_pfe": false,
19469 "override_meter_full_addr": 0,
19470 "override_stat_addr": false,
19471 "override_stateful_addr": false,
19472 "override_stateful_full_addr": 0,
19473 "override_meter_addr": false
19474 },
19475 {
19476 "p4_parameters": [],
Brian O'Connora6862e02017-09-08 01:17:39 -070019477 "handle": 536870930,
Carmelo Casconef1d0a422017-09-07 17:21:46 +020019478 "name": "_drop",
19479 "indirect_resources": [],
19480 "override_stat_full_addr": 0,
19481 "override_meter_addr_pfe": false,
19482 "allowed_as_default_action": true,
19483 "override_stat_addr_pfe": false,
19484 "override_stateful_addr_pfe": false,
19485 "override_meter_full_addr": 0,
19486 "override_stat_addr": false,
19487 "override_stateful_addr": false,
19488 "override_stateful_full_addr": 0,
19489 "override_meter_addr": false
19490 }
19491 ],
19492 "meter_table_refs": [],
19493 "uses_range": false,
19494 "match_attributes": {
19495 "stage_tables": [
19496 {
Brian O'Connora6862e02017-09-08 01:17:39 -070019497 "default_next_table": 32,
Carmelo Casconef1d0a422017-09-07 17:21:46 +020019498 "memory_resource_allocation": {
19499 "memory_units_and_vpns": [
19500 {
19501 "memory_units": [
19502 21,
19503 22,
19504 23
19505 ],
19506 "vpns": [
19507 0
19508 ]
19509 }
19510 ],
19511 "memory_type": "tcam"
19512 },
19513 "pack_format": [
19514 {
19515 "memory_word_width": 47,
19516 "entries_per_table_word": 1,
19517 "entries": [
19518 {
19519 "entry_number": 0,
19520 "fields": [
19521 {
19522 "start_bit": 0,
19523 "field_width": 2,
19524 "lsb_mem_word_idx": 2,
19525 "source": "parity",
19526 "msb_mem_word_idx": 2,
19527 "lsb_mem_word_offset": 45,
19528 "field_name": "--tcam_parity_2--"
19529 },
19530 {
19531 "start_bit": 0,
19532 "field_width": 4,
19533 "lsb_mem_word_idx": 2,
19534 "source": "zero",
19535 "msb_mem_word_idx": 2,
19536 "lsb_mem_word_offset": 41,
19537 "field_name": "--unused--"
19538 },
19539 {
19540 "start_bit": 40,
19541 "field_width": 8,
19542 "lsb_mem_word_idx": 2,
19543 "source": "spec",
19544 "msb_mem_word_idx": 2,
19545 "lsb_mem_word_offset": 33,
19546 "field_name": "ethernet_dstAddr"
19547 },
19548 {
19549 "start_bit": 32,
19550 "field_width": 8,
19551 "lsb_mem_word_idx": 2,
19552 "source": "spec",
19553 "msb_mem_word_idx": 2,
19554 "lsb_mem_word_offset": 25,
19555 "field_name": "ethernet_srcAddr"
19556 },
19557 {
19558 "start_bit": 0,
19559 "field_width": 8,
19560 "lsb_mem_word_idx": 2,
19561 "source": "spec",
19562 "msb_mem_word_idx": 2,
19563 "lsb_mem_word_offset": 17,
19564 "field_name": "ethernet_dstAddr"
19565 },
19566 {
19567 "start_bit": 0,
19568 "field_width": 8,
19569 "lsb_mem_word_idx": 2,
19570 "source": "spec",
19571 "msb_mem_word_idx": 2,
19572 "lsb_mem_word_offset": 9,
19573 "field_name": "ig_intr_md_ingress_port"
19574 },
19575 {
19576 "start_bit": 8,
19577 "field_width": 8,
19578 "lsb_mem_word_idx": 2,
19579 "source": "spec",
19580 "msb_mem_word_idx": 2,
19581 "lsb_mem_word_offset": 1,
19582 "field_name": "ethernet_etherType"
19583 },
19584 {
19585 "start_bit": 0,
19586 "field_width": 1,
19587 "lsb_mem_word_idx": 2,
19588 "source": "payload",
19589 "msb_mem_word_idx": 2,
19590 "lsb_mem_word_offset": 0,
19591 "field_name": "--tcam_payload_2--"
19592 },
19593 {
19594 "start_bit": 0,
19595 "field_width": 2,
19596 "lsb_mem_word_idx": 1,
19597 "source": "parity",
19598 "msb_mem_word_idx": 1,
19599 "lsb_mem_word_offset": 45,
19600 "field_name": "--tcam_parity_1--"
19601 },
19602 {
19603 "start_bit": 0,
19604 "field_width": 2,
19605 "lsb_mem_word_idx": 1,
19606 "source": "version",
19607 "msb_mem_word_idx": 1,
19608 "lsb_mem_word_offset": 43,
19609 "field_name": "--version--"
19610 },
19611 {
19612 "start_bit": 0,
19613 "field_width": 2,
19614 "lsb_mem_word_idx": 1,
19615 "source": "zero",
19616 "msb_mem_word_idx": 1,
19617 "lsb_mem_word_offset": 41,
19618 "field_name": "--unused--"
19619 },
19620 {
19621 "start_bit": 40,
19622 "field_width": 8,
19623 "lsb_mem_word_idx": 1,
19624 "source": "spec",
19625 "msb_mem_word_idx": 1,
19626 "lsb_mem_word_offset": 33,
19627 "field_name": "ethernet_srcAddr"
19628 },
19629 {
19630 "start_bit": 16,
19631 "field_width": 8,
19632 "lsb_mem_word_idx": 1,
19633 "source": "spec",
19634 "msb_mem_word_idx": 1,
19635 "lsb_mem_word_offset": 25,
19636 "field_name": "ethernet_dstAddr"
19637 },
19638 {
19639 "start_bit": 0,
19640 "field_width": 8,
19641 "lsb_mem_word_idx": 1,
19642 "source": "spec",
19643 "msb_mem_word_idx": 1,
19644 "lsb_mem_word_offset": 17,
19645 "field_name": "ethernet_etherType"
19646 },
19647 {
19648 "start_bit": 24,
19649 "field_width": 16,
19650 "lsb_mem_word_idx": 1,
19651 "source": "spec",
19652 "msb_mem_word_idx": 1,
19653 "lsb_mem_word_offset": 1,
19654 "field_name": "ethernet_dstAddr"
19655 },
19656 {
19657 "start_bit": 0,
19658 "field_width": 1,
19659 "lsb_mem_word_idx": 1,
19660 "source": "payload",
19661 "msb_mem_word_idx": 1,
19662 "lsb_mem_word_offset": 0,
19663 "field_name": "--tcam_payload_1--"
19664 },
19665 {
19666 "start_bit": 0,
19667 "field_width": 2,
19668 "lsb_mem_word_idx": 0,
19669 "source": "parity",
19670 "msb_mem_word_idx": 0,
19671 "lsb_mem_word_offset": 45,
19672 "field_name": "--tcam_parity_0--"
19673 },
19674 {
19675 "start_bit": 0,
19676 "field_width": 3,
19677 "lsb_mem_word_idx": 0,
19678 "source": "zero",
19679 "msb_mem_word_idx": 0,
19680 "lsb_mem_word_offset": 42,
19681 "field_name": "--unused--"
19682 },
19683 {
19684 "start_bit": 8,
19685 "field_width": 1,
19686 "lsb_mem_word_idx": 0,
19687 "source": "spec",
19688 "msb_mem_word_idx": 0,
19689 "lsb_mem_word_offset": 41,
19690 "field_name": "ig_intr_md_ingress_port"
19691 },
19692 {
19693 "start_bit": 8,
19694 "field_width": 8,
19695 "lsb_mem_word_idx": 0,
19696 "source": "spec",
19697 "msb_mem_word_idx": 0,
19698 "lsb_mem_word_offset": 33,
19699 "field_name": "ethernet_dstAddr"
19700 },
19701 {
19702 "start_bit": 0,
19703 "field_width": 32,
19704 "lsb_mem_word_idx": 0,
19705 "source": "spec",
19706 "msb_mem_word_idx": 0,
19707 "lsb_mem_word_offset": 1,
19708 "field_name": "ethernet_srcAddr"
19709 },
19710 {
19711 "start_bit": 0,
19712 "field_width": 1,
19713 "lsb_mem_word_idx": 0,
19714 "source": "payload",
19715 "msb_mem_word_idx": 0,
19716 "lsb_mem_word_offset": 0,
19717 "field_name": "--tcam_payload_0--"
19718 }
19719 ]
19720 }
19721 ],
19722 "table_word_width": 141,
19723 "number_memory_units_per_table_word": 3
19724 }
19725 ],
19726 "idletime_stage_table": {
19727 "memory_resource_allocation": {
19728 "spare_bank_memory_unit": 42,
19729 "memory_units_and_vpns": [
19730 {
19731 "memory_units": [
19732 42
19733 ],
19734 "vpns": [
19735 0
19736 ]
19737 }
19738 ],
19739 "memory_type": "map_ram"
19740 },
19741 "pack_format": [
19742 {
19743 "memory_word_width": 11,
19744 "entries_per_table_word": 2,
19745 "table_word_width": 11,
19746 "number_memory_units_per_table_word": 1
19747 }
19748 ],
19749 "precision": 3,
19750 "enable_pfe": true,
19751 "two_way_notification": true,
19752 "disable_notification": false,
19753 "logical_table_id": 0,
Brian O'Connora6862e02017-09-08 01:17:39 -070019754 "stage_number": 0,
Carmelo Casconef1d0a422017-09-07 17:21:46 +020019755 "stage_table_type": "idletime",
19756 "size": 2048
19757 },
19758 "ternary_indirection_stage_table": {
19759 "action_format": [
19760 {
19761 "vliw_instruction_full": 65,
19762 "next_table": 0,
Brian O'Connora6862e02017-09-08 01:17:39 -070019763 "next_table_full": 32,
19764 "action_handle": 536870921,
Carmelo Casconef1d0a422017-09-07 17:21:46 +020019765 "action_name": "set_egress_port",
19766 "table_name": "_condition_2",
19767 "immediate_fields": [],
19768 "vliw_instruction": 9
19769 },
19770 {
19771 "vliw_instruction_full": 66,
19772 "next_table": 1,
Brian O'Connora6862e02017-09-08 01:17:39 -070019773 "next_table_full": 16,
19774 "action_handle": 536870924,
Carmelo Casconef1d0a422017-09-07 17:21:46 +020019775 "action_name": "ecmp_group",
19776 "table_name": "ecmp_group_table",
19777 "immediate_fields": [],
19778 "vliw_instruction": 10
19779 },
19780 {
19781 "vliw_instruction_full": 67,
19782 "next_table": 0,
Brian O'Connora6862e02017-09-08 01:17:39 -070019783 "next_table_full": 32,
19784 "action_handle": 536870928,
Carmelo Casconef1d0a422017-09-07 17:21:46 +020019785 "action_name": "send_to_cpu",
19786 "table_name": "_condition_2",
19787 "immediate_fields": [],
19788 "vliw_instruction": 11
19789 },
19790 {
19791 "vliw_instruction_full": 68,
19792 "next_table": 0,
Brian O'Connora6862e02017-09-08 01:17:39 -070019793 "next_table_full": 32,
19794 "action_handle": 536870930,
Carmelo Casconef1d0a422017-09-07 17:21:46 +020019795 "action_name": "_drop",
19796 "table_name": "_condition_2",
19797 "immediate_fields": [],
19798 "vliw_instruction": 12
19799 }
19800 ],
19801 "memory_resource_allocation": {
19802 "spare_bank_memory_unit": 2,
19803 "memory_units_and_vpns": [
19804 {
19805 "memory_units": [
19806 2
19807 ],
19808 "vpns": [
19809 0
19810 ]
19811 }
19812 ],
19813 "memory_type": "sram"
19814 },
19815 "pack_format": [
19816 {
19817 "memory_word_width": 128,
19818 "entries_per_table_word": 16,
19819 "entries": [
19820 {
19821 "entry_number": 15,
19822 "fields": [
19823 {
19824 "start_bit": 0,
19825 "field_width": 3,
19826 "lsb_mem_word_idx": 0,
19827 "source": "zero",
19828 "msb_mem_word_idx": 0,
19829 "lsb_mem_word_offset": 125,
19830 "field_name": "--padding--",
19831 "enable_pfe": false
19832 },
19833 {
19834 "start_bit": 0,
19835 "field_width": 4,
19836 "lsb_mem_word_idx": 0,
19837 "source": "instr",
19838 "msb_mem_word_idx": 0,
19839 "lsb_mem_word_offset": 121,
19840 "field_name": "--instruction_address--",
19841 "enable_pfe": false
19842 },
19843 {
19844 "start_bit": 0,
19845 "field_width": 1,
19846 "lsb_mem_word_idx": 0,
19847 "source": "next_table",
19848 "msb_mem_word_idx": 0,
19849 "lsb_mem_word_offset": 120,
19850 "field_name": "--next_table--",
19851 "enable_pfe": false
19852 }
19853 ]
19854 },
19855 {
19856 "entry_number": 14,
19857 "fields": [
19858 {
19859 "start_bit": 0,
19860 "field_width": 3,
19861 "lsb_mem_word_idx": 0,
19862 "source": "zero",
19863 "msb_mem_word_idx": 0,
19864 "lsb_mem_word_offset": 117,
19865 "field_name": "--padding--",
19866 "enable_pfe": false
19867 },
19868 {
19869 "start_bit": 0,
19870 "field_width": 4,
19871 "lsb_mem_word_idx": 0,
19872 "source": "instr",
19873 "msb_mem_word_idx": 0,
19874 "lsb_mem_word_offset": 113,
19875 "field_name": "--instruction_address--",
19876 "enable_pfe": false
19877 },
19878 {
19879 "start_bit": 0,
19880 "field_width": 1,
19881 "lsb_mem_word_idx": 0,
19882 "source": "next_table",
19883 "msb_mem_word_idx": 0,
19884 "lsb_mem_word_offset": 112,
19885 "field_name": "--next_table--",
19886 "enable_pfe": false
19887 }
19888 ]
19889 },
19890 {
19891 "entry_number": 13,
19892 "fields": [
19893 {
19894 "start_bit": 0,
19895 "field_width": 3,
19896 "lsb_mem_word_idx": 0,
19897 "source": "zero",
19898 "msb_mem_word_idx": 0,
19899 "lsb_mem_word_offset": 109,
19900 "field_name": "--padding--",
19901 "enable_pfe": false
19902 },
19903 {
19904 "start_bit": 0,
19905 "field_width": 4,
19906 "lsb_mem_word_idx": 0,
19907 "source": "instr",
19908 "msb_mem_word_idx": 0,
19909 "lsb_mem_word_offset": 105,
19910 "field_name": "--instruction_address--",
19911 "enable_pfe": false
19912 },
19913 {
19914 "start_bit": 0,
19915 "field_width": 1,
19916 "lsb_mem_word_idx": 0,
19917 "source": "next_table",
19918 "msb_mem_word_idx": 0,
19919 "lsb_mem_word_offset": 104,
19920 "field_name": "--next_table--",
19921 "enable_pfe": false
19922 }
19923 ]
19924 },
19925 {
19926 "entry_number": 12,
19927 "fields": [
19928 {
19929 "start_bit": 0,
19930 "field_width": 3,
19931 "lsb_mem_word_idx": 0,
19932 "source": "zero",
19933 "msb_mem_word_idx": 0,
19934 "lsb_mem_word_offset": 101,
19935 "field_name": "--padding--",
19936 "enable_pfe": false
19937 },
19938 {
19939 "start_bit": 0,
19940 "field_width": 4,
19941 "lsb_mem_word_idx": 0,
19942 "source": "instr",
19943 "msb_mem_word_idx": 0,
19944 "lsb_mem_word_offset": 97,
19945 "field_name": "--instruction_address--",
19946 "enable_pfe": false
19947 },
19948 {
19949 "start_bit": 0,
19950 "field_width": 1,
19951 "lsb_mem_word_idx": 0,
19952 "source": "next_table",
19953 "msb_mem_word_idx": 0,
19954 "lsb_mem_word_offset": 96,
19955 "field_name": "--next_table--",
19956 "enable_pfe": false
19957 }
19958 ]
19959 },
19960 {
19961 "entry_number": 11,
19962 "fields": [
19963 {
19964 "start_bit": 0,
19965 "field_width": 3,
19966 "lsb_mem_word_idx": 0,
19967 "source": "zero",
19968 "msb_mem_word_idx": 0,
19969 "lsb_mem_word_offset": 93,
19970 "field_name": "--padding--",
19971 "enable_pfe": false
19972 },
19973 {
19974 "start_bit": 0,
19975 "field_width": 4,
19976 "lsb_mem_word_idx": 0,
19977 "source": "instr",
19978 "msb_mem_word_idx": 0,
19979 "lsb_mem_word_offset": 89,
19980 "field_name": "--instruction_address--",
19981 "enable_pfe": false
19982 },
19983 {
19984 "start_bit": 0,
19985 "field_width": 1,
19986 "lsb_mem_word_idx": 0,
19987 "source": "next_table",
19988 "msb_mem_word_idx": 0,
19989 "lsb_mem_word_offset": 88,
19990 "field_name": "--next_table--",
19991 "enable_pfe": false
19992 }
19993 ]
19994 },
19995 {
19996 "entry_number": 10,
19997 "fields": [
19998 {
19999 "start_bit": 0,
20000 "field_width": 3,
20001 "lsb_mem_word_idx": 0,
20002 "source": "zero",
20003 "msb_mem_word_idx": 0,
20004 "lsb_mem_word_offset": 85,
20005 "field_name": "--padding--",
20006 "enable_pfe": false
20007 },
20008 {
20009 "start_bit": 0,
20010 "field_width": 4,
20011 "lsb_mem_word_idx": 0,
20012 "source": "instr",
20013 "msb_mem_word_idx": 0,
20014 "lsb_mem_word_offset": 81,
20015 "field_name": "--instruction_address--",
20016 "enable_pfe": false
20017 },
20018 {
20019 "start_bit": 0,
20020 "field_width": 1,
20021 "lsb_mem_word_idx": 0,
20022 "source": "next_table",
20023 "msb_mem_word_idx": 0,
20024 "lsb_mem_word_offset": 80,
20025 "field_name": "--next_table--",
20026 "enable_pfe": false
20027 }
20028 ]
20029 },
20030 {
20031 "entry_number": 9,
20032 "fields": [
20033 {
20034 "start_bit": 0,
20035 "field_width": 3,
20036 "lsb_mem_word_idx": 0,
20037 "source": "zero",
20038 "msb_mem_word_idx": 0,
20039 "lsb_mem_word_offset": 77,
20040 "field_name": "--padding--",
20041 "enable_pfe": false
20042 },
20043 {
20044 "start_bit": 0,
20045 "field_width": 4,
20046 "lsb_mem_word_idx": 0,
20047 "source": "instr",
20048 "msb_mem_word_idx": 0,
20049 "lsb_mem_word_offset": 73,
20050 "field_name": "--instruction_address--",
20051 "enable_pfe": false
20052 },
20053 {
20054 "start_bit": 0,
20055 "field_width": 1,
20056 "lsb_mem_word_idx": 0,
20057 "source": "next_table",
20058 "msb_mem_word_idx": 0,
20059 "lsb_mem_word_offset": 72,
20060 "field_name": "--next_table--",
20061 "enable_pfe": false
20062 }
20063 ]
20064 },
20065 {
20066 "entry_number": 8,
20067 "fields": [
20068 {
20069 "start_bit": 0,
20070 "field_width": 3,
20071 "lsb_mem_word_idx": 0,
20072 "source": "zero",
20073 "msb_mem_word_idx": 0,
20074 "lsb_mem_word_offset": 69,
20075 "field_name": "--padding--",
20076 "enable_pfe": false
20077 },
20078 {
20079 "start_bit": 0,
20080 "field_width": 4,
20081 "lsb_mem_word_idx": 0,
20082 "source": "instr",
20083 "msb_mem_word_idx": 0,
20084 "lsb_mem_word_offset": 65,
20085 "field_name": "--instruction_address--",
20086 "enable_pfe": false
20087 },
20088 {
20089 "start_bit": 0,
20090 "field_width": 1,
20091 "lsb_mem_word_idx": 0,
20092 "source": "next_table",
20093 "msb_mem_word_idx": 0,
20094 "lsb_mem_word_offset": 64,
20095 "field_name": "--next_table--",
20096 "enable_pfe": false
20097 }
20098 ]
20099 },
20100 {
20101 "entry_number": 7,
20102 "fields": [
20103 {
20104 "start_bit": 0,
20105 "field_width": 3,
20106 "lsb_mem_word_idx": 0,
20107 "source": "zero",
20108 "msb_mem_word_idx": 0,
20109 "lsb_mem_word_offset": 61,
20110 "field_name": "--padding--",
20111 "enable_pfe": false
20112 },
20113 {
20114 "start_bit": 0,
20115 "field_width": 4,
20116 "lsb_mem_word_idx": 0,
20117 "source": "instr",
20118 "msb_mem_word_idx": 0,
20119 "lsb_mem_word_offset": 57,
20120 "field_name": "--instruction_address--",
20121 "enable_pfe": false
20122 },
20123 {
20124 "start_bit": 0,
20125 "field_width": 1,
20126 "lsb_mem_word_idx": 0,
20127 "source": "next_table",
20128 "msb_mem_word_idx": 0,
20129 "lsb_mem_word_offset": 56,
20130 "field_name": "--next_table--",
20131 "enable_pfe": false
20132 }
20133 ]
20134 },
20135 {
20136 "entry_number": 6,
20137 "fields": [
20138 {
20139 "start_bit": 0,
20140 "field_width": 3,
20141 "lsb_mem_word_idx": 0,
20142 "source": "zero",
20143 "msb_mem_word_idx": 0,
20144 "lsb_mem_word_offset": 53,
20145 "field_name": "--padding--",
20146 "enable_pfe": false
20147 },
20148 {
20149 "start_bit": 0,
20150 "field_width": 4,
20151 "lsb_mem_word_idx": 0,
20152 "source": "instr",
20153 "msb_mem_word_idx": 0,
20154 "lsb_mem_word_offset": 49,
20155 "field_name": "--instruction_address--",
20156 "enable_pfe": false
20157 },
20158 {
20159 "start_bit": 0,
20160 "field_width": 1,
20161 "lsb_mem_word_idx": 0,
20162 "source": "next_table",
20163 "msb_mem_word_idx": 0,
20164 "lsb_mem_word_offset": 48,
20165 "field_name": "--next_table--",
20166 "enable_pfe": false
20167 }
20168 ]
20169 },
20170 {
20171 "entry_number": 5,
20172 "fields": [
20173 {
20174 "start_bit": 0,
20175 "field_width": 3,
20176 "lsb_mem_word_idx": 0,
20177 "source": "zero",
20178 "msb_mem_word_idx": 0,
20179 "lsb_mem_word_offset": 45,
20180 "field_name": "--padding--",
20181 "enable_pfe": false
20182 },
20183 {
20184 "start_bit": 0,
20185 "field_width": 4,
20186 "lsb_mem_word_idx": 0,
20187 "source": "instr",
20188 "msb_mem_word_idx": 0,
20189 "lsb_mem_word_offset": 41,
20190 "field_name": "--instruction_address--",
20191 "enable_pfe": false
20192 },
20193 {
20194 "start_bit": 0,
20195 "field_width": 1,
20196 "lsb_mem_word_idx": 0,
20197 "source": "next_table",
20198 "msb_mem_word_idx": 0,
20199 "lsb_mem_word_offset": 40,
20200 "field_name": "--next_table--",
20201 "enable_pfe": false
20202 }
20203 ]
20204 },
20205 {
20206 "entry_number": 4,
20207 "fields": [
20208 {
20209 "start_bit": 0,
20210 "field_width": 3,
20211 "lsb_mem_word_idx": 0,
20212 "source": "zero",
20213 "msb_mem_word_idx": 0,
20214 "lsb_mem_word_offset": 37,
20215 "field_name": "--padding--",
20216 "enable_pfe": false
20217 },
20218 {
20219 "start_bit": 0,
20220 "field_width": 4,
20221 "lsb_mem_word_idx": 0,
20222 "source": "instr",
20223 "msb_mem_word_idx": 0,
20224 "lsb_mem_word_offset": 33,
20225 "field_name": "--instruction_address--",
20226 "enable_pfe": false
20227 },
20228 {
20229 "start_bit": 0,
20230 "field_width": 1,
20231 "lsb_mem_word_idx": 0,
20232 "source": "next_table",
20233 "msb_mem_word_idx": 0,
20234 "lsb_mem_word_offset": 32,
20235 "field_name": "--next_table--",
20236 "enable_pfe": false
20237 }
20238 ]
20239 },
20240 {
20241 "entry_number": 3,
20242 "fields": [
20243 {
20244 "start_bit": 0,
20245 "field_width": 3,
20246 "lsb_mem_word_idx": 0,
20247 "source": "zero",
20248 "msb_mem_word_idx": 0,
20249 "lsb_mem_word_offset": 29,
20250 "field_name": "--padding--",
20251 "enable_pfe": false
20252 },
20253 {
20254 "start_bit": 0,
20255 "field_width": 4,
20256 "lsb_mem_word_idx": 0,
20257 "source": "instr",
20258 "msb_mem_word_idx": 0,
20259 "lsb_mem_word_offset": 25,
20260 "field_name": "--instruction_address--",
20261 "enable_pfe": false
20262 },
20263 {
20264 "start_bit": 0,
20265 "field_width": 1,
20266 "lsb_mem_word_idx": 0,
20267 "source": "next_table",
20268 "msb_mem_word_idx": 0,
20269 "lsb_mem_word_offset": 24,
20270 "field_name": "--next_table--",
20271 "enable_pfe": false
20272 }
20273 ]
20274 },
20275 {
20276 "entry_number": 2,
20277 "fields": [
20278 {
20279 "start_bit": 0,
20280 "field_width": 3,
20281 "lsb_mem_word_idx": 0,
20282 "source": "zero",
20283 "msb_mem_word_idx": 0,
20284 "lsb_mem_word_offset": 21,
20285 "field_name": "--padding--",
20286 "enable_pfe": false
20287 },
20288 {
20289 "start_bit": 0,
20290 "field_width": 4,
20291 "lsb_mem_word_idx": 0,
20292 "source": "instr",
20293 "msb_mem_word_idx": 0,
20294 "lsb_mem_word_offset": 17,
20295 "field_name": "--instruction_address--",
20296 "enable_pfe": false
20297 },
20298 {
20299 "start_bit": 0,
20300 "field_width": 1,
20301 "lsb_mem_word_idx": 0,
20302 "source": "next_table",
20303 "msb_mem_word_idx": 0,
20304 "lsb_mem_word_offset": 16,
20305 "field_name": "--next_table--",
20306 "enable_pfe": false
20307 }
20308 ]
20309 },
20310 {
20311 "entry_number": 1,
20312 "fields": [
20313 {
20314 "start_bit": 0,
20315 "field_width": 3,
20316 "lsb_mem_word_idx": 0,
20317 "source": "zero",
20318 "msb_mem_word_idx": 0,
20319 "lsb_mem_word_offset": 13,
20320 "field_name": "--padding--",
20321 "enable_pfe": false
20322 },
20323 {
20324 "start_bit": 0,
20325 "field_width": 4,
20326 "lsb_mem_word_idx": 0,
20327 "source": "instr",
20328 "msb_mem_word_idx": 0,
20329 "lsb_mem_word_offset": 9,
20330 "field_name": "--instruction_address--",
20331 "enable_pfe": false
20332 },
20333 {
20334 "start_bit": 0,
20335 "field_width": 1,
20336 "lsb_mem_word_idx": 0,
20337 "source": "next_table",
20338 "msb_mem_word_idx": 0,
20339 "lsb_mem_word_offset": 8,
20340 "field_name": "--next_table--",
20341 "enable_pfe": false
20342 }
20343 ]
20344 },
20345 {
20346 "entry_number": 0,
20347 "fields": [
20348 {
20349 "start_bit": 0,
20350 "field_width": 3,
20351 "lsb_mem_word_idx": 0,
20352 "source": "zero",
20353 "msb_mem_word_idx": 0,
20354 "lsb_mem_word_offset": 5,
20355 "field_name": "--padding--",
20356 "enable_pfe": false
20357 },
20358 {
20359 "start_bit": 0,
20360 "field_width": 4,
20361 "lsb_mem_word_idx": 0,
20362 "source": "instr",
20363 "msb_mem_word_idx": 0,
20364 "lsb_mem_word_offset": 1,
20365 "field_name": "--instruction_address--",
20366 "enable_pfe": false
20367 },
20368 {
20369 "start_bit": 0,
20370 "field_width": 1,
20371 "lsb_mem_word_idx": 0,
20372 "source": "next_table",
20373 "msb_mem_word_idx": 0,
20374 "lsb_mem_word_offset": 0,
20375 "field_name": "--next_table--",
20376 "enable_pfe": false
20377 }
20378 ]
20379 }
20380 ],
20381 "table_word_width": 128,
20382 "number_memory_units_per_table_word": 1
20383 }
20384 ],
20385 "logical_table_id": 0,
Brian O'Connora6862e02017-09-08 01:17:39 -070020386 "stage_number": 0,
Carmelo Casconef1d0a422017-09-07 17:21:46 +020020387 "stage_table_type": "ternary_indirection",
20388 "size": 16384
20389 },
20390 "result_physical_buses": [
20391 0
20392 ],
20393 "logical_table_id": 0,
Brian O'Connora6862e02017-09-08 01:17:39 -070020394 "stage_number": 0,
Carmelo Casconef1d0a422017-09-07 17:21:46 +020020395 "stage_table_type": "ternary_match",
20396 "size": 512
20397 }
20398 ],
20399 "match_type": "ternary"
20400 },
20401 "stateful_table_refs": [],
20402 "default_next_table_mask": 1,
20403 "selection_table_refs": [],
20404 "action_data_table_refs": [
20405 {
20406 "how_referenced": "direct",
Brian O'Connora6862e02017-09-08 01:17:39 -070020407 "handle": 33554436,
Carmelo Casconef1d0a422017-09-07 17:21:46 +020020408 "name": "table0__action__"
20409 }
20410 ],
20411 "match_key_fields": [
20412 {
20413 "bit_width": 9,
20414 "match_type": "ternary",
20415 "start_bit": 0,
20416 "position": 0,
20417 "bit_width_full": 9,
20418 "name": "ig_intr_md_ingress_port"
20419 },
20420 {
20421 "bit_width": 48,
20422 "match_type": "ternary",
20423 "start_bit": 0,
20424 "position": 1,
20425 "bit_width_full": 48,
20426 "name": "ethernet_dstAddr"
20427 },
20428 {
20429 "bit_width": 48,
20430 "match_type": "ternary",
20431 "start_bit": 0,
20432 "position": 2,
20433 "bit_width_full": 48,
20434 "name": "ethernet_srcAddr"
20435 },
20436 {
20437 "bit_width": 16,
20438 "match_type": "ternary",
20439 "start_bit": 0,
20440 "position": 3,
20441 "bit_width_full": 16,
20442 "name": "ethernet_etherType"
20443 }
20444 ],
20445 "size": 512
20446 },
20447 {
20448 "direction": "ingress",
Brian O'Connora6862e02017-09-08 01:17:39 -070020449 "handle": 33554437,
Carmelo Casconef1d0a422017-09-07 17:21:46 +020020450 "name": "ecmp_group_table__action__",
20451 "table_type": "action",
20452 "stage_tables": [
20453 {
20454 "memory_resource_allocation": null,
20455 "pack_format": [
20456 {
20457 "entries_per_table_word": 1,
Brian O'Connora6862e02017-09-08 01:17:39 -070020458 "action_handle": 536870932,
Carmelo Casconef1d0a422017-09-07 17:21:46 +020020459 "memory_word_width": 128,
20460 "table_word_width": 128,
20461 "entries": [
20462 {
20463 "entry_number": 0,
20464 "fields": [
20465 {
20466 "start_bit": 0,
20467 "field_width": 0,
20468 "lsb_mem_word_idx": 1,
20469 "source": "zero",
20470 "lsb_mem_word_offset": 0,
20471 "field_name": "--padding--"
20472 }
20473 ]
20474 }
20475 ],
20476 "number_memory_units_per_table_word": 1
20477 }
20478 ],
20479 "logical_table_id": 0,
Brian O'Connora6862e02017-09-08 01:17:39 -070020480 "stage_number": 1,
Carmelo Casconef1d0a422017-09-07 17:21:46 +020020481 "stage_table_type": "action_data",
20482 "size": 0
20483 }
20484 ],
20485 "actions": [
20486 {
20487 "p4_parameters": [
20488 {
20489 "position": 0,
20490 "name": "port",
20491 "start_bit": 0,
20492 "bit_width": 9
20493 }
20494 ],
Brian O'Connora6862e02017-09-08 01:17:39 -070020495 "handle": 536870932,
Carmelo Casconef1d0a422017-09-07 17:21:46 +020020496 "name": "set_egress_port",
20497 "indirect_resources": [],
20498 "override_stat_full_addr": 0,
20499 "override_meter_addr_pfe": false,
20500 "allowed_as_default_action": true,
20501 "override_stat_addr_pfe": false,
20502 "override_stateful_addr_pfe": false,
20503 "override_meter_full_addr": 0,
20504 "override_stat_addr": false,
20505 "override_stateful_addr": false,
20506 "override_stateful_full_addr": 0,
20507 "override_meter_addr": false
20508 }
20509 ],
20510 "how_referenced": "direct",
20511 "size": 1024
20512 },
20513 {
20514 "direction": "ingress",
Brian O'Connora6862e02017-09-08 01:17:39 -070020515 "handle": 16777221,
Carmelo Casconef1d0a422017-09-07 17:21:46 +020020516 "name": "ecmp_group_table",
20517 "is_resource_controllable": true,
20518 "table_type": "match",
20519 "ap_bind_indirect_res_to_match": [],
20520 "statistics_table_refs": [
20521 {
20522 "how_referenced": "direct",
20523 "handle": 67108868,
20524 "name": "ecmp_group_table_counter"
20525 }
20526 ],
20527 "actions": [
20528 {
20529 "p4_parameters": [
20530 {
20531 "position": 0,
20532 "name": "port",
20533 "start_bit": 0,
20534 "bit_width": 9
20535 }
20536 ],
Brian O'Connora6862e02017-09-08 01:17:39 -070020537 "handle": 536870932,
Carmelo Casconef1d0a422017-09-07 17:21:46 +020020538 "name": "set_egress_port",
20539 "indirect_resources": [],
20540 "override_stat_full_addr": 0,
20541 "override_meter_addr_pfe": false,
20542 "allowed_as_default_action": true,
20543 "override_stat_addr_pfe": false,
20544 "override_stateful_addr_pfe": false,
20545 "override_meter_full_addr": 0,
20546 "override_stat_addr": false,
20547 "override_stateful_addr": false,
20548 "override_stateful_full_addr": 0,
20549 "override_meter_addr": false
20550 }
20551 ],
20552 "meter_table_refs": [],
20553 "uses_range": false,
20554 "match_attributes": {
20555 "stage_tables": [
20556 {
Brian O'Connora6862e02017-09-08 01:17:39 -070020557 "default_next_table": 32,
Carmelo Casconef1d0a422017-09-07 17:21:46 +020020558 "action_format": [
20559 {
20560 "vliw_instruction_full": 65,
20561 "next_table": 0,
Brian O'Connora6862e02017-09-08 01:17:39 -070020562 "next_table_full": 32,
20563 "action_handle": 536870932,
Carmelo Casconef1d0a422017-09-07 17:21:46 +020020564 "action_name": "set_egress_port",
20565 "table_name": "_condition_2",
20566 "immediate_fields": [
20567 {
20568 "param_name": "port",
20569 "dest_start": 0,
20570 "param_type": "parameter",
20571 "param_shift": 0,
20572 "dest_width": 9
20573 }
20574 ],
20575 "vliw_instruction": 0
20576 }
20577 ],
20578 "memory_resource_allocation": null,
20579 "pack_format": [
20580 {
20581 "memory_word_width": 128,
20582 "entries_per_table_word": 1,
20583 "table_word_width": 128,
20584 "number_memory_units_per_table_word": 1
20585 }
20586 ],
20587 "hash_functions": [
20588 {
20589 "hash_function_number": 0,
20590 "hash_bits": [
20591 {
20592 "hash_bit": 0,
20593 "seed": 0,
20594 "bits_to_xor": [
20595 {
20596 "hash_match_group_bit": 0,
20597 "field_name": "ecmp_metadata_selector",
20598 "field_bit": 0,
20599 "hash_match_group": 0
20600 },
20601 {
20602 "hash_match_group_bit": 10,
20603 "field_name": "ecmp_metadata_selector",
20604 "field_bit": 10,
20605 "hash_match_group": 0
20606 },
20607 {
20608 "hash_match_group_bit": 15,
20609 "field_name": "ecmp_metadata_selector",
20610 "field_bit": 15,
20611 "hash_match_group": 0
20612 },
20613 {
20614 "hash_match_group_bit": 16,
20615 "field_name": "ecmp_metadata_groupId",
20616 "field_bit": 0,
20617 "hash_match_group": 0
20618 },
20619 {
20620 "hash_match_group_bit": 19,
20621 "field_name": "ecmp_metadata_groupId",
20622 "field_bit": 3,
20623 "hash_match_group": 0
20624 },
20625 {
20626 "hash_match_group_bit": 21,
20627 "field_name": "ecmp_metadata_groupId",
20628 "field_bit": 5,
20629 "hash_match_group": 0
20630 },
20631 {
20632 "hash_match_group_bit": 23,
20633 "field_name": "ecmp_metadata_groupId",
20634 "field_bit": 7,
20635 "hash_match_group": 0
20636 },
20637 {
20638 "hash_match_group_bit": 25,
20639 "field_name": "ecmp_metadata_groupId",
20640 "field_bit": 9,
20641 "hash_match_group": 0
20642 },
20643 {
20644 "hash_match_group_bit": 26,
20645 "field_name": "ecmp_metadata_groupId",
20646 "field_bit": 10,
20647 "hash_match_group": 0
20648 },
20649 {
20650 "hash_match_group_bit": 27,
20651 "field_name": "ecmp_metadata_groupId",
20652 "field_bit": 11,
20653 "hash_match_group": 0
20654 },
20655 {
20656 "hash_match_group_bit": 28,
20657 "field_name": "ecmp_metadata_groupId",
20658 "field_bit": 12,
20659 "hash_match_group": 0
20660 },
20661 {
20662 "hash_match_group_bit": 29,
20663 "field_name": "ecmp_metadata_groupId",
20664 "field_bit": 13,
20665 "hash_match_group": 0
20666 },
20667 {
20668 "hash_match_group_bit": 31,
20669 "field_name": "ecmp_metadata_groupId",
20670 "field_bit": 15,
20671 "hash_match_group": 0
20672 }
20673 ]
20674 },
20675 {
20676 "hash_bit": 1,
20677 "seed": 0,
20678 "bits_to_xor": [
20679 {
20680 "hash_match_group_bit": 1,
20681 "field_name": "ecmp_metadata_selector",
20682 "field_bit": 1,
20683 "hash_match_group": 0
20684 },
20685 {
20686 "hash_match_group_bit": 13,
20687 "field_name": "ecmp_metadata_selector",
20688 "field_bit": 13,
20689 "hash_match_group": 0
20690 },
20691 {
20692 "hash_match_group_bit": 15,
20693 "field_name": "ecmp_metadata_selector",
20694 "field_bit": 15,
20695 "hash_match_group": 0
20696 },
20697 {
20698 "hash_match_group_bit": 16,
20699 "field_name": "ecmp_metadata_groupId",
20700 "field_bit": 0,
20701 "hash_match_group": 0
20702 },
20703 {
20704 "hash_match_group_bit": 17,
20705 "field_name": "ecmp_metadata_groupId",
20706 "field_bit": 1,
20707 "hash_match_group": 0
20708 },
20709 {
20710 "hash_match_group_bit": 20,
20711 "field_name": "ecmp_metadata_groupId",
20712 "field_bit": 4,
20713 "hash_match_group": 0
20714 },
20715 {
20716 "hash_match_group_bit": 22,
20717 "field_name": "ecmp_metadata_groupId",
20718 "field_bit": 6,
20719 "hash_match_group": 0
20720 },
20721 {
20722 "hash_match_group_bit": 23,
20723 "field_name": "ecmp_metadata_groupId",
20724 "field_bit": 7,
20725 "hash_match_group": 0
20726 },
20727 {
20728 "hash_match_group_bit": 30,
20729 "field_name": "ecmp_metadata_groupId",
20730 "field_bit": 14,
20731 "hash_match_group": 0
20732 },
20733 {
20734 "hash_match_group_bit": 31,
20735 "field_name": "ecmp_metadata_groupId",
20736 "field_bit": 15,
20737 "hash_match_group": 0
20738 }
20739 ]
20740 },
20741 {
20742 "hash_bit": 2,
20743 "seed": 1,
20744 "bits_to_xor": [
20745 {
20746 "hash_match_group_bit": 2,
20747 "field_name": "ecmp_metadata_selector",
20748 "field_bit": 2,
20749 "hash_match_group": 0
20750 },
20751 {
20752 "hash_match_group_bit": 10,
20753 "field_name": "ecmp_metadata_selector",
20754 "field_bit": 10,
20755 "hash_match_group": 0
20756 },
20757 {
20758 "hash_match_group_bit": 12,
20759 "field_name": "ecmp_metadata_selector",
20760 "field_bit": 12,
20761 "hash_match_group": 0
20762 },
20763 {
20764 "hash_match_group_bit": 14,
20765 "field_name": "ecmp_metadata_selector",
20766 "field_bit": 14,
20767 "hash_match_group": 0
20768 },
20769 {
20770 "hash_match_group_bit": 15,
20771 "field_name": "ecmp_metadata_selector",
20772 "field_bit": 15,
20773 "hash_match_group": 0
20774 },
20775 {
20776 "hash_match_group_bit": 18,
20777 "field_name": "ecmp_metadata_groupId",
20778 "field_bit": 2,
20779 "hash_match_group": 0
20780 },
20781 {
20782 "hash_match_group_bit": 19,
20783 "field_name": "ecmp_metadata_groupId",
20784 "field_bit": 3,
20785 "hash_match_group": 0
20786 },
20787 {
20788 "hash_match_group_bit": 20,
20789 "field_name": "ecmp_metadata_groupId",
20790 "field_bit": 4,
20791 "hash_match_group": 0
20792 },
20793 {
20794 "hash_match_group_bit": 22,
20795 "field_name": "ecmp_metadata_groupId",
20796 "field_bit": 6,
20797 "hash_match_group": 0
20798 },
20799 {
20800 "hash_match_group_bit": 23,
20801 "field_name": "ecmp_metadata_groupId",
20802 "field_bit": 7,
20803 "hash_match_group": 0
20804 },
20805 {
20806 "hash_match_group_bit": 25,
20807 "field_name": "ecmp_metadata_groupId",
20808 "field_bit": 9,
20809 "hash_match_group": 0
20810 },
20811 {
20812 "hash_match_group_bit": 26,
20813 "field_name": "ecmp_metadata_groupId",
20814 "field_bit": 10,
20815 "hash_match_group": 0
20816 },
20817 {
20818 "hash_match_group_bit": 29,
20819 "field_name": "ecmp_metadata_groupId",
20820 "field_bit": 13,
20821 "hash_match_group": 0
20822 }
20823 ]
20824 },
20825 {
20826 "hash_bit": 3,
20827 "seed": 1,
20828 "bits_to_xor": [
20829 {
20830 "hash_match_group_bit": 3,
20831 "field_name": "ecmp_metadata_selector",
20832 "field_bit": 3,
20833 "hash_match_group": 0
20834 },
20835 {
20836 "hash_match_group_bit": 11,
20837 "field_name": "ecmp_metadata_selector",
20838 "field_bit": 11,
20839 "hash_match_group": 0
20840 },
20841 {
20842 "hash_match_group_bit": 12,
20843 "field_name": "ecmp_metadata_selector",
20844 "field_bit": 12,
20845 "hash_match_group": 0
20846 },
20847 {
20848 "hash_match_group_bit": 13,
20849 "field_name": "ecmp_metadata_selector",
20850 "field_bit": 13,
20851 "hash_match_group": 0
20852 },
20853 {
20854 "hash_match_group_bit": 20,
20855 "field_name": "ecmp_metadata_groupId",
20856 "field_bit": 4,
20857 "hash_match_group": 0
20858 },
20859 {
20860 "hash_match_group_bit": 22,
20861 "field_name": "ecmp_metadata_groupId",
20862 "field_bit": 6,
20863 "hash_match_group": 0
20864 },
20865 {
20866 "hash_match_group_bit": 23,
20867 "field_name": "ecmp_metadata_groupId",
20868 "field_bit": 7,
20869 "hash_match_group": 0
20870 },
20871 {
20872 "hash_match_group_bit": 27,
20873 "field_name": "ecmp_metadata_groupId",
20874 "field_bit": 11,
20875 "hash_match_group": 0
20876 },
20877 {
20878 "hash_match_group_bit": 28,
20879 "field_name": "ecmp_metadata_groupId",
20880 "field_bit": 12,
20881 "hash_match_group": 0
20882 },
20883 {
20884 "hash_match_group_bit": 29,
20885 "field_name": "ecmp_metadata_groupId",
20886 "field_bit": 13,
20887 "hash_match_group": 0
20888 },
20889 {
20890 "hash_match_group_bit": 30,
20891 "field_name": "ecmp_metadata_groupId",
20892 "field_bit": 14,
20893 "hash_match_group": 0
20894 }
20895 ]
20896 },
20897 {
20898 "hash_bit": 4,
20899 "seed": 0,
20900 "bits_to_xor": [
20901 {
20902 "hash_match_group_bit": 4,
20903 "field_name": "ecmp_metadata_selector",
20904 "field_bit": 4,
20905 "hash_match_group": 0
20906 },
20907 {
20908 "hash_match_group_bit": 11,
20909 "field_name": "ecmp_metadata_selector",
20910 "field_bit": 11,
20911 "hash_match_group": 0
20912 },
20913 {
20914 "hash_match_group_bit": 18,
20915 "field_name": "ecmp_metadata_groupId",
20916 "field_bit": 2,
20917 "hash_match_group": 0
20918 },
20919 {
20920 "hash_match_group_bit": 19,
20921 "field_name": "ecmp_metadata_groupId",
20922 "field_bit": 3,
20923 "hash_match_group": 0
20924 },
20925 {
20926 "hash_match_group_bit": 20,
20927 "field_name": "ecmp_metadata_groupId",
20928 "field_bit": 4,
20929 "hash_match_group": 0
20930 },
20931 {
20932 "hash_match_group_bit": 22,
20933 "field_name": "ecmp_metadata_groupId",
20934 "field_bit": 6,
20935 "hash_match_group": 0
20936 },
20937 {
20938 "hash_match_group_bit": 23,
20939 "field_name": "ecmp_metadata_groupId",
20940 "field_bit": 7,
20941 "hash_match_group": 0
20942 },
20943 {
20944 "hash_match_group_bit": 26,
20945 "field_name": "ecmp_metadata_groupId",
20946 "field_bit": 10,
20947 "hash_match_group": 0
20948 },
20949 {
20950 "hash_match_group_bit": 28,
20951 "field_name": "ecmp_metadata_groupId",
20952 "field_bit": 12,
20953 "hash_match_group": 0
20954 },
20955 {
20956 "hash_match_group_bit": 29,
20957 "field_name": "ecmp_metadata_groupId",
20958 "field_bit": 13,
20959 "hash_match_group": 0
20960 },
20961 {
20962 "hash_match_group_bit": 30,
20963 "field_name": "ecmp_metadata_groupId",
20964 "field_bit": 14,
20965 "hash_match_group": 0
20966 },
20967 {
20968 "hash_match_group_bit": 31,
20969 "field_name": "ecmp_metadata_groupId",
20970 "field_bit": 15,
20971 "hash_match_group": 0
20972 }
20973 ]
20974 },
20975 {
20976 "hash_bit": 5,
20977 "seed": 1,
20978 "bits_to_xor": [
20979 {
20980 "hash_match_group_bit": 5,
20981 "field_name": "ecmp_metadata_selector",
20982 "field_bit": 5,
20983 "hash_match_group": 0
20984 },
20985 {
20986 "hash_match_group_bit": 10,
20987 "field_name": "ecmp_metadata_selector",
20988 "field_bit": 10,
20989 "hash_match_group": 0
20990 },
20991 {
20992 "hash_match_group_bit": 13,
20993 "field_name": "ecmp_metadata_selector",
20994 "field_bit": 13,
20995 "hash_match_group": 0
20996 },
20997 {
20998 "hash_match_group_bit": 17,
20999 "field_name": "ecmp_metadata_groupId",
21000 "field_bit": 1,
21001 "hash_match_group": 0
21002 },
21003 {
21004 "hash_match_group_bit": 18,
21005 "field_name": "ecmp_metadata_groupId",
21006 "field_bit": 2,
21007 "hash_match_group": 0
21008 },
21009 {
21010 "hash_match_group_bit": 19,
21011 "field_name": "ecmp_metadata_groupId",
21012 "field_bit": 3,
21013 "hash_match_group": 0
21014 },
21015 {
21016 "hash_match_group_bit": 28,
21017 "field_name": "ecmp_metadata_groupId",
21018 "field_bit": 12,
21019 "hash_match_group": 0
21020 },
21021 {
21022 "hash_match_group_bit": 31,
21023 "field_name": "ecmp_metadata_groupId",
21024 "field_bit": 15,
21025 "hash_match_group": 0
21026 }
21027 ]
21028 },
21029 {
21030 "hash_bit": 6,
21031 "seed": 0,
21032 "bits_to_xor": [
21033 {
21034 "hash_match_group_bit": 6,
21035 "field_name": "ecmp_metadata_selector",
21036 "field_bit": 6,
21037 "hash_match_group": 0
21038 },
21039 {
21040 "hash_match_group_bit": 10,
21041 "field_name": "ecmp_metadata_selector",
21042 "field_bit": 10,
21043 "hash_match_group": 0
21044 },
21045 {
21046 "hash_match_group_bit": 12,
21047 "field_name": "ecmp_metadata_selector",
21048 "field_bit": 12,
21049 "hash_match_group": 0
21050 },
21051 {
21052 "hash_match_group_bit": 13,
21053 "field_name": "ecmp_metadata_selector",
21054 "field_bit": 13,
21055 "hash_match_group": 0
21056 },
21057 {
21058 "hash_match_group_bit": 14,
21059 "field_name": "ecmp_metadata_selector",
21060 "field_bit": 14,
21061 "hash_match_group": 0
21062 },
21063 {
21064 "hash_match_group_bit": 15,
21065 "field_name": "ecmp_metadata_selector",
21066 "field_bit": 15,
21067 "hash_match_group": 0
21068 },
21069 {
21070 "hash_match_group_bit": 17,
21071 "field_name": "ecmp_metadata_groupId",
21072 "field_bit": 1,
21073 "hash_match_group": 0
21074 },
21075 {
21076 "hash_match_group_bit": 18,
21077 "field_name": "ecmp_metadata_groupId",
21078 "field_bit": 2,
21079 "hash_match_group": 0
21080 },
21081 {
21082 "hash_match_group_bit": 19,
21083 "field_name": "ecmp_metadata_groupId",
21084 "field_bit": 3,
21085 "hash_match_group": 0
21086 },
21087 {
21088 "hash_match_group_bit": 20,
21089 "field_name": "ecmp_metadata_groupId",
21090 "field_bit": 4,
21091 "hash_match_group": 0
21092 },
21093 {
21094 "hash_match_group_bit": 21,
21095 "field_name": "ecmp_metadata_groupId",
21096 "field_bit": 5,
21097 "hash_match_group": 0
21098 },
21099 {
21100 "hash_match_group_bit": 25,
21101 "field_name": "ecmp_metadata_groupId",
21102 "field_bit": 9,
21103 "hash_match_group": 0
21104 },
21105 {
21106 "hash_match_group_bit": 26,
21107 "field_name": "ecmp_metadata_groupId",
21108 "field_bit": 10,
21109 "hash_match_group": 0
21110 },
21111 {
21112 "hash_match_group_bit": 27,
21113 "field_name": "ecmp_metadata_groupId",
21114 "field_bit": 11,
21115 "hash_match_group": 0
21116 },
21117 {
21118 "hash_match_group_bit": 31,
21119 "field_name": "ecmp_metadata_groupId",
21120 "field_bit": 15,
21121 "hash_match_group": 0
21122 }
21123 ]
21124 },
21125 {
21126 "hash_bit": 7,
21127 "seed": 1,
21128 "bits_to_xor": [
21129 {
21130 "hash_match_group_bit": 7,
21131 "field_name": "ecmp_metadata_selector",
21132 "field_bit": 7,
21133 "hash_match_group": 0
21134 },
21135 {
21136 "hash_match_group_bit": 10,
21137 "field_name": "ecmp_metadata_selector",
21138 "field_bit": 10,
21139 "hash_match_group": 0
21140 },
21141 {
21142 "hash_match_group_bit": 11,
21143 "field_name": "ecmp_metadata_selector",
21144 "field_bit": 11,
21145 "hash_match_group": 0
21146 },
21147 {
21148 "hash_match_group_bit": 15,
21149 "field_name": "ecmp_metadata_selector",
21150 "field_bit": 15,
21151 "hash_match_group": 0
21152 },
21153 {
21154 "hash_match_group_bit": 16,
21155 "field_name": "ecmp_metadata_groupId",
21156 "field_bit": 0,
21157 "hash_match_group": 0
21158 },
21159 {
21160 "hash_match_group_bit": 18,
21161 "field_name": "ecmp_metadata_groupId",
21162 "field_bit": 2,
21163 "hash_match_group": 0
21164 },
21165 {
21166 "hash_match_group_bit": 19,
21167 "field_name": "ecmp_metadata_groupId",
21168 "field_bit": 3,
21169 "hash_match_group": 0
21170 },
21171 {
21172 "hash_match_group_bit": 20,
21173 "field_name": "ecmp_metadata_groupId",
21174 "field_bit": 4,
21175 "hash_match_group": 0
21176 },
21177 {
21178 "hash_match_group_bit": 21,
21179 "field_name": "ecmp_metadata_groupId",
21180 "field_bit": 5,
21181 "hash_match_group": 0
21182 },
21183 {
21184 "hash_match_group_bit": 22,
21185 "field_name": "ecmp_metadata_groupId",
21186 "field_bit": 6,
21187 "hash_match_group": 0
21188 },
21189 {
21190 "hash_match_group_bit": 26,
21191 "field_name": "ecmp_metadata_groupId",
21192 "field_bit": 10,
21193 "hash_match_group": 0
21194 }
21195 ]
21196 },
21197 {
21198 "hash_bit": 8,
21199 "seed": 1,
21200 "bits_to_xor": [
21201 {
21202 "hash_match_group_bit": 8,
21203 "field_name": "ecmp_metadata_selector",
21204 "field_bit": 8,
21205 "hash_match_group": 0
21206 },
21207 {
21208 "hash_match_group_bit": 11,
21209 "field_name": "ecmp_metadata_selector",
21210 "field_bit": 11,
21211 "hash_match_group": 0
21212 },
21213 {
21214 "hash_match_group_bit": 12,
21215 "field_name": "ecmp_metadata_selector",
21216 "field_bit": 12,
21217 "hash_match_group": 0
21218 },
21219 {
21220 "hash_match_group_bit": 13,
21221 "field_name": "ecmp_metadata_selector",
21222 "field_bit": 13,
21223 "hash_match_group": 0
21224 },
21225 {
21226 "hash_match_group_bit": 14,
21227 "field_name": "ecmp_metadata_selector",
21228 "field_bit": 14,
21229 "hash_match_group": 0
21230 },
21231 {
21232 "hash_match_group_bit": 17,
21233 "field_name": "ecmp_metadata_groupId",
21234 "field_bit": 1,
21235 "hash_match_group": 0
21236 },
21237 {
21238 "hash_match_group_bit": 20,
21239 "field_name": "ecmp_metadata_groupId",
21240 "field_bit": 4,
21241 "hash_match_group": 0
21242 },
21243 {
21244 "hash_match_group_bit": 30,
21245 "field_name": "ecmp_metadata_groupId",
21246 "field_bit": 14,
21247 "hash_match_group": 0
21248 }
21249 ]
21250 },
21251 {
21252 "hash_bit": 9,
21253 "seed": 0,
21254 "bits_to_xor": [
21255 {
21256 "hash_match_group_bit": 9,
21257 "field_name": "ecmp_metadata_selector",
21258 "field_bit": 9,
21259 "hash_match_group": 0
21260 },
21261 {
21262 "hash_match_group_bit": 10,
21263 "field_name": "ecmp_metadata_selector",
21264 "field_bit": 10,
21265 "hash_match_group": 0
21266 },
21267 {
21268 "hash_match_group_bit": 11,
21269 "field_name": "ecmp_metadata_selector",
21270 "field_bit": 11,
21271 "hash_match_group": 0
21272 },
21273 {
21274 "hash_match_group_bit": 13,
21275 "field_name": "ecmp_metadata_selector",
21276 "field_bit": 13,
21277 "hash_match_group": 0
21278 },
21279 {
21280 "hash_match_group_bit": 14,
21281 "field_name": "ecmp_metadata_selector",
21282 "field_bit": 14,
21283 "hash_match_group": 0
21284 },
21285 {
21286 "hash_match_group_bit": 15,
21287 "field_name": "ecmp_metadata_selector",
21288 "field_bit": 15,
21289 "hash_match_group": 0
21290 },
21291 {
21292 "hash_match_group_bit": 20,
21293 "field_name": "ecmp_metadata_groupId",
21294 "field_bit": 4,
21295 "hash_match_group": 0
21296 },
21297 {
21298 "hash_match_group_bit": 21,
21299 "field_name": "ecmp_metadata_groupId",
21300 "field_bit": 5,
21301 "hash_match_group": 0
21302 },
21303 {
21304 "hash_match_group_bit": 24,
21305 "field_name": "ecmp_metadata_groupId",
21306 "field_bit": 8,
21307 "hash_match_group": 0
21308 },
21309 {
21310 "hash_match_group_bit": 29,
21311 "field_name": "ecmp_metadata_groupId",
21312 "field_bit": 13,
21313 "hash_match_group": 0
21314 }
21315 ]
21316 },
21317 {
21318 "hash_bit": 10,
21319 "seed": 1,
21320 "bits_to_xor": [
21321 {
21322 "hash_match_group_bit": 9,
21323 "field_name": "ecmp_metadata_selector",
21324 "field_bit": 9,
21325 "hash_match_group": 0
21326 },
21327 {
21328 "hash_match_group_bit": 11,
21329 "field_name": "ecmp_metadata_selector",
21330 "field_bit": 11,
21331 "hash_match_group": 0
21332 },
21333 {
21334 "hash_match_group_bit": 12,
21335 "field_name": "ecmp_metadata_selector",
21336 "field_bit": 12,
21337 "hash_match_group": 0
21338 },
21339 {
21340 "hash_match_group_bit": 13,
21341 "field_name": "ecmp_metadata_selector",
21342 "field_bit": 13,
21343 "hash_match_group": 0
21344 },
21345 {
21346 "hash_match_group_bit": 14,
21347 "field_name": "ecmp_metadata_selector",
21348 "field_bit": 14,
21349 "hash_match_group": 0
21350 },
21351 {
21352 "hash_match_group_bit": 20,
21353 "field_name": "ecmp_metadata_groupId",
21354 "field_bit": 4,
21355 "hash_match_group": 0
21356 },
21357 {
21358 "hash_match_group_bit": 21,
21359 "field_name": "ecmp_metadata_groupId",
21360 "field_bit": 5,
21361 "hash_match_group": 0
21362 },
21363 {
21364 "hash_match_group_bit": 22,
21365 "field_name": "ecmp_metadata_groupId",
21366 "field_bit": 6,
21367 "hash_match_group": 0
21368 },
21369 {
21370 "hash_match_group_bit": 23,
21371 "field_name": "ecmp_metadata_groupId",
21372 "field_bit": 7,
21373 "hash_match_group": 0
21374 },
21375 {
21376 "hash_match_group_bit": 24,
21377 "field_name": "ecmp_metadata_groupId",
21378 "field_bit": 8,
21379 "hash_match_group": 0
21380 },
21381 {
21382 "hash_match_group_bit": 25,
21383 "field_name": "ecmp_metadata_groupId",
21384 "field_bit": 9,
21385 "hash_match_group": 0
21386 },
21387 {
21388 "hash_match_group_bit": 26,
21389 "field_name": "ecmp_metadata_groupId",
21390 "field_bit": 10,
21391 "hash_match_group": 0
21392 },
21393 {
21394 "hash_match_group_bit": 27,
21395 "field_name": "ecmp_metadata_groupId",
21396 "field_bit": 11,
21397 "hash_match_group": 0
21398 },
21399 {
21400 "hash_match_group_bit": 28,
21401 "field_name": "ecmp_metadata_groupId",
21402 "field_bit": 12,
21403 "hash_match_group": 0
21404 },
21405 {
21406 "hash_match_group_bit": 29,
21407 "field_name": "ecmp_metadata_groupId",
21408 "field_bit": 13,
21409 "hash_match_group": 0
21410 },
21411 {
21412 "hash_match_group_bit": 30,
21413 "field_name": "ecmp_metadata_groupId",
21414 "field_bit": 14,
21415 "hash_match_group": 0
21416 }
21417 ]
21418 },
21419 {
21420 "hash_bit": 11,
21421 "seed": 1,
21422 "bits_to_xor": [
21423 {
21424 "hash_match_group_bit": 0,
21425 "field_name": "ecmp_metadata_selector",
21426 "field_bit": 0,
21427 "hash_match_group": 0
21428 },
21429 {
21430 "hash_match_group_bit": 10,
21431 "field_name": "ecmp_metadata_selector",
21432 "field_bit": 10,
21433 "hash_match_group": 0
21434 },
21435 {
21436 "hash_match_group_bit": 11,
21437 "field_name": "ecmp_metadata_selector",
21438 "field_bit": 11,
21439 "hash_match_group": 0
21440 },
21441 {
21442 "hash_match_group_bit": 12,
21443 "field_name": "ecmp_metadata_selector",
21444 "field_bit": 12,
21445 "hash_match_group": 0
21446 },
21447 {
21448 "hash_match_group_bit": 14,
21449 "field_name": "ecmp_metadata_selector",
21450 "field_bit": 14,
21451 "hash_match_group": 0
21452 },
21453 {
21454 "hash_match_group_bit": 18,
21455 "field_name": "ecmp_metadata_groupId",
21456 "field_bit": 2,
21457 "hash_match_group": 0
21458 },
21459 {
21460 "hash_match_group_bit": 20,
21461 "field_name": "ecmp_metadata_groupId",
21462 "field_bit": 4,
21463 "hash_match_group": 0
21464 },
21465 {
21466 "hash_match_group_bit": 22,
21467 "field_name": "ecmp_metadata_groupId",
21468 "field_bit": 6,
21469 "hash_match_group": 0
21470 },
21471 {
21472 "hash_match_group_bit": 26,
21473 "field_name": "ecmp_metadata_groupId",
21474 "field_bit": 10,
21475 "hash_match_group": 0
21476 },
21477 {
21478 "hash_match_group_bit": 28,
21479 "field_name": "ecmp_metadata_groupId",
21480 "field_bit": 12,
21481 "hash_match_group": 0
21482 }
21483 ]
21484 },
21485 {
21486 "hash_bit": 12,
21487 "seed": 0,
21488 "bits_to_xor": [
21489 {
21490 "hash_match_group_bit": 1,
21491 "field_name": "ecmp_metadata_selector",
21492 "field_bit": 1,
21493 "hash_match_group": 0
21494 },
21495 {
21496 "hash_match_group_bit": 10,
21497 "field_name": "ecmp_metadata_selector",
21498 "field_bit": 10,
21499 "hash_match_group": 0
21500 },
21501 {
21502 "hash_match_group_bit": 12,
21503 "field_name": "ecmp_metadata_selector",
21504 "field_bit": 12,
21505 "hash_match_group": 0
21506 },
21507 {
21508 "hash_match_group_bit": 15,
21509 "field_name": "ecmp_metadata_selector",
21510 "field_bit": 15,
21511 "hash_match_group": 0
21512 },
21513 {
21514 "hash_match_group_bit": 17,
21515 "field_name": "ecmp_metadata_groupId",
21516 "field_bit": 1,
21517 "hash_match_group": 0
21518 },
21519 {
21520 "hash_match_group_bit": 21,
21521 "field_name": "ecmp_metadata_groupId",
21522 "field_bit": 5,
21523 "hash_match_group": 0
21524 },
21525 {
21526 "hash_match_group_bit": 22,
21527 "field_name": "ecmp_metadata_groupId",
21528 "field_bit": 6,
21529 "hash_match_group": 0
21530 },
21531 {
21532 "hash_match_group_bit": 24,
21533 "field_name": "ecmp_metadata_groupId",
21534 "field_bit": 8,
21535 "hash_match_group": 0
21536 },
21537 {
21538 "hash_match_group_bit": 25,
21539 "field_name": "ecmp_metadata_groupId",
21540 "field_bit": 9,
21541 "hash_match_group": 0
21542 },
21543 {
21544 "hash_match_group_bit": 29,
21545 "field_name": "ecmp_metadata_groupId",
21546 "field_bit": 13,
21547 "hash_match_group": 0
21548 },
21549 {
21550 "hash_match_group_bit": 30,
21551 "field_name": "ecmp_metadata_groupId",
21552 "field_bit": 14,
21553 "hash_match_group": 0
21554 }
21555 ]
21556 },
21557 {
21558 "hash_bit": 13,
21559 "seed": 0,
21560 "bits_to_xor": [
21561 {
21562 "hash_match_group_bit": 2,
21563 "field_name": "ecmp_metadata_selector",
21564 "field_bit": 2,
21565 "hash_match_group": 0
21566 },
21567 {
21568 "hash_match_group_bit": 10,
21569 "field_name": "ecmp_metadata_selector",
21570 "field_bit": 10,
21571 "hash_match_group": 0
21572 },
21573 {
21574 "hash_match_group_bit": 12,
21575 "field_name": "ecmp_metadata_selector",
21576 "field_bit": 12,
21577 "hash_match_group": 0
21578 },
21579 {
21580 "hash_match_group_bit": 13,
21581 "field_name": "ecmp_metadata_selector",
21582 "field_bit": 13,
21583 "hash_match_group": 0
21584 },
21585 {
21586 "hash_match_group_bit": 15,
21587 "field_name": "ecmp_metadata_selector",
21588 "field_bit": 15,
21589 "hash_match_group": 0
21590 },
21591 {
21592 "hash_match_group_bit": 16,
21593 "field_name": "ecmp_metadata_groupId",
21594 "field_bit": 0,
21595 "hash_match_group": 0
21596 },
21597 {
21598 "hash_match_group_bit": 17,
21599 "field_name": "ecmp_metadata_groupId",
21600 "field_bit": 1,
21601 "hash_match_group": 0
21602 },
21603 {
21604 "hash_match_group_bit": 18,
21605 "field_name": "ecmp_metadata_groupId",
21606 "field_bit": 2,
21607 "hash_match_group": 0
21608 },
21609 {
21610 "hash_match_group_bit": 22,
21611 "field_name": "ecmp_metadata_groupId",
21612 "field_bit": 6,
21613 "hash_match_group": 0
21614 },
21615 {
21616 "hash_match_group_bit": 28,
21617 "field_name": "ecmp_metadata_groupId",
21618 "field_bit": 12,
21619 "hash_match_group": 0
21620 },
21621 {
21622 "hash_match_group_bit": 29,
21623 "field_name": "ecmp_metadata_groupId",
21624 "field_bit": 13,
21625 "hash_match_group": 0
21626 }
21627 ]
21628 },
21629 {
21630 "hash_bit": 14,
21631 "seed": 0,
21632 "bits_to_xor": [
21633 {
21634 "hash_match_group_bit": 3,
21635 "field_name": "ecmp_metadata_selector",
21636 "field_bit": 3,
21637 "hash_match_group": 0
21638 },
21639 {
21640 "hash_match_group_bit": 10,
21641 "field_name": "ecmp_metadata_selector",
21642 "field_bit": 10,
21643 "hash_match_group": 0
21644 },
21645 {
21646 "hash_match_group_bit": 11,
21647 "field_name": "ecmp_metadata_selector",
21648 "field_bit": 11,
21649 "hash_match_group": 0
21650 },
21651 {
21652 "hash_match_group_bit": 12,
21653 "field_name": "ecmp_metadata_selector",
21654 "field_bit": 12,
21655 "hash_match_group": 0
21656 },
21657 {
21658 "hash_match_group_bit": 13,
21659 "field_name": "ecmp_metadata_selector",
21660 "field_bit": 13,
21661 "hash_match_group": 0
21662 },
21663 {
21664 "hash_match_group_bit": 14,
21665 "field_name": "ecmp_metadata_selector",
21666 "field_bit": 14,
21667 "hash_match_group": 0
21668 },
21669 {
21670 "hash_match_group_bit": 15,
21671 "field_name": "ecmp_metadata_selector",
21672 "field_bit": 15,
21673 "hash_match_group": 0
21674 },
21675 {
21676 "hash_match_group_bit": 16,
21677 "field_name": "ecmp_metadata_groupId",
21678 "field_bit": 0,
21679 "hash_match_group": 0
21680 },
21681 {
21682 "hash_match_group_bit": 18,
21683 "field_name": "ecmp_metadata_groupId",
21684 "field_bit": 2,
21685 "hash_match_group": 0
21686 },
21687 {
21688 "hash_match_group_bit": 21,
21689 "field_name": "ecmp_metadata_groupId",
21690 "field_bit": 5,
21691 "hash_match_group": 0
21692 },
21693 {
21694 "hash_match_group_bit": 23,
21695 "field_name": "ecmp_metadata_groupId",
21696 "field_bit": 7,
21697 "hash_match_group": 0
21698 },
21699 {
21700 "hash_match_group_bit": 25,
21701 "field_name": "ecmp_metadata_groupId",
21702 "field_bit": 9,
21703 "hash_match_group": 0
21704 },
21705 {
21706 "hash_match_group_bit": 27,
21707 "field_name": "ecmp_metadata_groupId",
21708 "field_bit": 11,
21709 "hash_match_group": 0
21710 },
21711 {
21712 "hash_match_group_bit": 29,
21713 "field_name": "ecmp_metadata_groupId",
21714 "field_bit": 13,
21715 "hash_match_group": 0
21716 },
21717 {
21718 "hash_match_group_bit": 31,
21719 "field_name": "ecmp_metadata_groupId",
21720 "field_bit": 15,
21721 "hash_match_group": 0
21722 }
21723 ]
21724 },
21725 {
21726 "hash_bit": 15,
21727 "seed": 1,
21728 "bits_to_xor": [
21729 {
21730 "hash_match_group_bit": 4,
21731 "field_name": "ecmp_metadata_selector",
21732 "field_bit": 4,
21733 "hash_match_group": 0
21734 },
21735 {
21736 "hash_match_group_bit": 11,
21737 "field_name": "ecmp_metadata_selector",
21738 "field_bit": 11,
21739 "hash_match_group": 0
21740 },
21741 {
21742 "hash_match_group_bit": 14,
21743 "field_name": "ecmp_metadata_selector",
21744 "field_bit": 14,
21745 "hash_match_group": 0
21746 },
21747 {
21748 "hash_match_group_bit": 17,
21749 "field_name": "ecmp_metadata_groupId",
21750 "field_bit": 1,
21751 "hash_match_group": 0
21752 },
21753 {
21754 "hash_match_group_bit": 18,
21755 "field_name": "ecmp_metadata_groupId",
21756 "field_bit": 2,
21757 "hash_match_group": 0
21758 },
21759 {
21760 "hash_match_group_bit": 19,
21761 "field_name": "ecmp_metadata_groupId",
21762 "field_bit": 3,
21763 "hash_match_group": 0
21764 },
21765 {
21766 "hash_match_group_bit": 21,
21767 "field_name": "ecmp_metadata_groupId",
21768 "field_bit": 5,
21769 "hash_match_group": 0
21770 },
21771 {
21772 "hash_match_group_bit": 22,
21773 "field_name": "ecmp_metadata_groupId",
21774 "field_bit": 6,
21775 "hash_match_group": 0
21776 },
21777 {
21778 "hash_match_group_bit": 23,
21779 "field_name": "ecmp_metadata_groupId",
21780 "field_bit": 7,
21781 "hash_match_group": 0
21782 },
21783 {
21784 "hash_match_group_bit": 26,
21785 "field_name": "ecmp_metadata_groupId",
21786 "field_bit": 10,
21787 "hash_match_group": 0
21788 },
21789 {
21790 "hash_match_group_bit": 31,
21791 "field_name": "ecmp_metadata_groupId",
21792 "field_bit": 15,
21793 "hash_match_group": 0
21794 }
21795 ]
21796 },
21797 {
21798 "hash_bit": 16,
21799 "seed": 0,
21800 "bits_to_xor": [
21801 {
21802 "hash_match_group_bit": 5,
21803 "field_name": "ecmp_metadata_selector",
21804 "field_bit": 5,
21805 "hash_match_group": 0
21806 },
21807 {
21808 "hash_match_group_bit": 10,
21809 "field_name": "ecmp_metadata_selector",
21810 "field_bit": 10,
21811 "hash_match_group": 0
21812 },
21813 {
21814 "hash_match_group_bit": 12,
21815 "field_name": "ecmp_metadata_selector",
21816 "field_bit": 12,
21817 "hash_match_group": 0
21818 },
21819 {
21820 "hash_match_group_bit": 13,
21821 "field_name": "ecmp_metadata_selector",
21822 "field_bit": 13,
21823 "hash_match_group": 0
21824 },
21825 {
21826 "hash_match_group_bit": 15,
21827 "field_name": "ecmp_metadata_selector",
21828 "field_bit": 15,
21829 "hash_match_group": 0
21830 },
21831 {
21832 "hash_match_group_bit": 16,
21833 "field_name": "ecmp_metadata_groupId",
21834 "field_bit": 0,
21835 "hash_match_group": 0
21836 },
21837 {
21838 "hash_match_group_bit": 20,
21839 "field_name": "ecmp_metadata_groupId",
21840 "field_bit": 4,
21841 "hash_match_group": 0
21842 },
21843 {
21844 "hash_match_group_bit": 21,
21845 "field_name": "ecmp_metadata_groupId",
21846 "field_bit": 5,
21847 "hash_match_group": 0
21848 },
21849 {
21850 "hash_match_group_bit": 22,
21851 "field_name": "ecmp_metadata_groupId",
21852 "field_bit": 6,
21853 "hash_match_group": 0
21854 },
21855 {
21856 "hash_match_group_bit": 23,
21857 "field_name": "ecmp_metadata_groupId",
21858 "field_bit": 7,
21859 "hash_match_group": 0
21860 },
21861 {
21862 "hash_match_group_bit": 24,
21863 "field_name": "ecmp_metadata_groupId",
21864 "field_bit": 8,
21865 "hash_match_group": 0
21866 },
21867 {
21868 "hash_match_group_bit": 25,
21869 "field_name": "ecmp_metadata_groupId",
21870 "field_bit": 9,
21871 "hash_match_group": 0
21872 },
21873 {
21874 "hash_match_group_bit": 28,
21875 "field_name": "ecmp_metadata_groupId",
21876 "field_bit": 12,
21877 "hash_match_group": 0
21878 },
21879 {
21880 "hash_match_group_bit": 31,
21881 "field_name": "ecmp_metadata_groupId",
21882 "field_bit": 15,
21883 "hash_match_group": 0
21884 }
21885 ]
21886 },
21887 {
21888 "hash_bit": 17,
21889 "seed": 0,
21890 "bits_to_xor": [
21891 {
21892 "hash_match_group_bit": 6,
21893 "field_name": "ecmp_metadata_selector",
21894 "field_bit": 6,
21895 "hash_match_group": 0
21896 },
21897 {
21898 "hash_match_group_bit": 10,
21899 "field_name": "ecmp_metadata_selector",
21900 "field_bit": 10,
21901 "hash_match_group": 0
21902 },
21903 {
21904 "hash_match_group_bit": 12,
21905 "field_name": "ecmp_metadata_selector",
21906 "field_bit": 12,
21907 "hash_match_group": 0
21908 },
21909 {
21910 "hash_match_group_bit": 13,
21911 "field_name": "ecmp_metadata_selector",
21912 "field_bit": 13,
21913 "hash_match_group": 0
21914 },
21915 {
21916 "hash_match_group_bit": 15,
21917 "field_name": "ecmp_metadata_selector",
21918 "field_bit": 15,
21919 "hash_match_group": 0
21920 },
21921 {
21922 "hash_match_group_bit": 16,
21923 "field_name": "ecmp_metadata_groupId",
21924 "field_bit": 0,
21925 "hash_match_group": 0
21926 },
21927 {
21928 "hash_match_group_bit": 17,
21929 "field_name": "ecmp_metadata_groupId",
21930 "field_bit": 1,
21931 "hash_match_group": 0
21932 },
21933 {
21934 "hash_match_group_bit": 18,
21935 "field_name": "ecmp_metadata_groupId",
21936 "field_bit": 2,
21937 "hash_match_group": 0
21938 },
21939 {
21940 "hash_match_group_bit": 20,
21941 "field_name": "ecmp_metadata_groupId",
21942 "field_bit": 4,
21943 "hash_match_group": 0
21944 },
21945 {
21946 "hash_match_group_bit": 22,
21947 "field_name": "ecmp_metadata_groupId",
21948 "field_bit": 6,
21949 "hash_match_group": 0
21950 },
21951 {
21952 "hash_match_group_bit": 23,
21953 "field_name": "ecmp_metadata_groupId",
21954 "field_bit": 7,
21955 "hash_match_group": 0
21956 },
21957 {
21958 "hash_match_group_bit": 24,
21959 "field_name": "ecmp_metadata_groupId",
21960 "field_bit": 8,
21961 "hash_match_group": 0
21962 },
21963 {
21964 "hash_match_group_bit": 27,
21965 "field_name": "ecmp_metadata_groupId",
21966 "field_bit": 11,
21967 "hash_match_group": 0
21968 },
21969 {
21970 "hash_match_group_bit": 28,
21971 "field_name": "ecmp_metadata_groupId",
21972 "field_bit": 12,
21973 "hash_match_group": 0
21974 }
21975 ]
21976 },
21977 {
21978 "hash_bit": 18,
21979 "seed": 0,
21980 "bits_to_xor": [
21981 {
21982 "hash_match_group_bit": 7,
21983 "field_name": "ecmp_metadata_selector",
21984 "field_bit": 7,
21985 "hash_match_group": 0
21986 },
21987 {
21988 "hash_match_group_bit": 10,
21989 "field_name": "ecmp_metadata_selector",
21990 "field_bit": 10,
21991 "hash_match_group": 0
21992 },
21993 {
21994 "hash_match_group_bit": 11,
21995 "field_name": "ecmp_metadata_selector",
21996 "field_bit": 11,
21997 "hash_match_group": 0
21998 },
21999 {
22000 "hash_match_group_bit": 13,
22001 "field_name": "ecmp_metadata_selector",
22002 "field_bit": 13,
22003 "hash_match_group": 0
22004 },
22005 {
22006 "hash_match_group_bit": 14,
22007 "field_name": "ecmp_metadata_selector",
22008 "field_bit": 14,
22009 "hash_match_group": 0
22010 },
22011 {
22012 "hash_match_group_bit": 15,
22013 "field_name": "ecmp_metadata_selector",
22014 "field_bit": 15,
22015 "hash_match_group": 0
22016 },
22017 {
22018 "hash_match_group_bit": 17,
22019 "field_name": "ecmp_metadata_groupId",
22020 "field_bit": 1,
22021 "hash_match_group": 0
22022 },
22023 {
22024 "hash_match_group_bit": 21,
22025 "field_name": "ecmp_metadata_groupId",
22026 "field_bit": 5,
22027 "hash_match_group": 0
22028 },
22029 {
22030 "hash_match_group_bit": 22,
22031 "field_name": "ecmp_metadata_groupId",
22032 "field_bit": 6,
22033 "hash_match_group": 0
22034 },
22035 {
22036 "hash_match_group_bit": 24,
22037 "field_name": "ecmp_metadata_groupId",
22038 "field_bit": 8,
22039 "hash_match_group": 0
22040 },
22041 {
22042 "hash_match_group_bit": 25,
22043 "field_name": "ecmp_metadata_groupId",
22044 "field_bit": 9,
22045 "hash_match_group": 0
22046 },
22047 {
22048 "hash_match_group_bit": 28,
22049 "field_name": "ecmp_metadata_groupId",
22050 "field_bit": 12,
22051 "hash_match_group": 0
22052 }
22053 ]
22054 },
22055 {
22056 "hash_bit": 19,
22057 "seed": 1,
22058 "bits_to_xor": [
22059 {
22060 "hash_match_group_bit": 8,
22061 "field_name": "ecmp_metadata_selector",
22062 "field_bit": 8,
22063 "hash_match_group": 0
22064 },
22065 {
22066 "hash_match_group_bit": 11,
22067 "field_name": "ecmp_metadata_selector",
22068 "field_bit": 11,
22069 "hash_match_group": 0
22070 },
22071 {
22072 "hash_match_group_bit": 13,
22073 "field_name": "ecmp_metadata_selector",
22074 "field_bit": 13,
22075 "hash_match_group": 0
22076 },
22077 {
22078 "hash_match_group_bit": 17,
22079 "field_name": "ecmp_metadata_groupId",
22080 "field_bit": 1,
22081 "hash_match_group": 0
22082 },
22083 {
22084 "hash_match_group_bit": 20,
22085 "field_name": "ecmp_metadata_groupId",
22086 "field_bit": 4,
22087 "hash_match_group": 0
22088 },
22089 {
22090 "hash_match_group_bit": 25,
22091 "field_name": "ecmp_metadata_groupId",
22092 "field_bit": 9,
22093 "hash_match_group": 0
22094 },
22095 {
22096 "hash_match_group_bit": 26,
22097 "field_name": "ecmp_metadata_groupId",
22098 "field_bit": 10,
22099 "hash_match_group": 0
22100 },
22101 {
22102 "hash_match_group_bit": 28,
22103 "field_name": "ecmp_metadata_groupId",
22104 "field_bit": 12,
22105 "hash_match_group": 0
22106 }
22107 ]
22108 },
22109 {
22110 "hash_bit": 20,
22111 "seed": 1,
22112 "bits_to_xor": [
22113 {
22114 "hash_match_group_bit": 8,
22115 "field_name": "ecmp_metadata_selector",
22116 "field_bit": 8,
22117 "hash_match_group": 0
22118 },
22119 {
22120 "hash_match_group_bit": 10,
22121 "field_name": "ecmp_metadata_selector",
22122 "field_bit": 10,
22123 "hash_match_group": 0
22124 },
22125 {
22126 "hash_match_group_bit": 14,
22127 "field_name": "ecmp_metadata_selector",
22128 "field_bit": 14,
22129 "hash_match_group": 0
22130 },
22131 {
22132 "hash_match_group_bit": 21,
22133 "field_name": "ecmp_metadata_groupId",
22134 "field_bit": 5,
22135 "hash_match_group": 0
22136 },
22137 {
22138 "hash_match_group_bit": 22,
22139 "field_name": "ecmp_metadata_groupId",
22140 "field_bit": 6,
22141 "hash_match_group": 0
22142 },
22143 {
22144 "hash_match_group_bit": 23,
22145 "field_name": "ecmp_metadata_groupId",
22146 "field_bit": 7,
22147 "hash_match_group": 0
22148 },
22149 {
22150 "hash_match_group_bit": 25,
22151 "field_name": "ecmp_metadata_groupId",
22152 "field_bit": 9,
22153 "hash_match_group": 0
22154 },
22155 {
22156 "hash_match_group_bit": 26,
22157 "field_name": "ecmp_metadata_groupId",
22158 "field_bit": 10,
22159 "hash_match_group": 0
22160 },
22161 {
22162 "hash_match_group_bit": 27,
22163 "field_name": "ecmp_metadata_groupId",
22164 "field_bit": 11,
22165 "hash_match_group": 0
22166 },
22167 {
22168 "hash_match_group_bit": 28,
22169 "field_name": "ecmp_metadata_groupId",
22170 "field_bit": 12,
22171 "hash_match_group": 0
22172 },
22173 {
22174 "hash_match_group_bit": 29,
22175 "field_name": "ecmp_metadata_groupId",
22176 "field_bit": 13,
22177 "hash_match_group": 0
22178 },
22179 {
22180 "hash_match_group_bit": 30,
22181 "field_name": "ecmp_metadata_groupId",
22182 "field_bit": 14,
22183 "hash_match_group": 0
22184 },
22185 {
22186 "hash_match_group_bit": 31,
22187 "field_name": "ecmp_metadata_groupId",
22188 "field_bit": 15,
22189 "hash_match_group": 0
22190 }
22191 ]
22192 },
22193 {
22194 "hash_bit": 21,
22195 "seed": 1,
22196 "bits_to_xor": [
22197 {
22198 "hash_match_group_bit": 9,
22199 "field_name": "ecmp_metadata_selector",
22200 "field_bit": 9,
22201 "hash_match_group": 0
22202 },
22203 {
22204 "hash_match_group_bit": 10,
22205 "field_name": "ecmp_metadata_selector",
22206 "field_bit": 10,
22207 "hash_match_group": 0
22208 },
22209 {
22210 "hash_match_group_bit": 16,
22211 "field_name": "ecmp_metadata_groupId",
22212 "field_bit": 0,
22213 "hash_match_group": 0
22214 },
22215 {
22216 "hash_match_group_bit": 20,
22217 "field_name": "ecmp_metadata_groupId",
22218 "field_bit": 4,
22219 "hash_match_group": 0
22220 },
22221 {
22222 "hash_match_group_bit": 22,
22223 "field_name": "ecmp_metadata_groupId",
22224 "field_bit": 6,
22225 "hash_match_group": 0
22226 },
22227 {
22228 "hash_match_group_bit": 23,
22229 "field_name": "ecmp_metadata_groupId",
22230 "field_bit": 7,
22231 "hash_match_group": 0
22232 },
22233 {
22234 "hash_match_group_bit": 24,
22235 "field_name": "ecmp_metadata_groupId",
22236 "field_bit": 8,
22237 "hash_match_group": 0
22238 },
22239 {
22240 "hash_match_group_bit": 26,
22241 "field_name": "ecmp_metadata_groupId",
22242 "field_bit": 10,
22243 "hash_match_group": 0
22244 },
22245 {
22246 "hash_match_group_bit": 29,
22247 "field_name": "ecmp_metadata_groupId",
22248 "field_bit": 13,
22249 "hash_match_group": 0
22250 },
22251 {
22252 "hash_match_group_bit": 30,
22253 "field_name": "ecmp_metadata_groupId",
22254 "field_bit": 14,
22255 "hash_match_group": 0
22256 }
22257 ]
22258 },
22259 {
22260 "hash_bit": 22,
22261 "seed": 0,
22262 "bits_to_xor": [
22263 {
22264 "hash_match_group_bit": 0,
22265 "field_name": "ecmp_metadata_selector",
22266 "field_bit": 0,
22267 "hash_match_group": 0
22268 },
22269 {
22270 "hash_match_group_bit": 10,
22271 "field_name": "ecmp_metadata_selector",
22272 "field_bit": 10,
22273 "hash_match_group": 0
22274 },
22275 {
22276 "hash_match_group_bit": 15,
22277 "field_name": "ecmp_metadata_selector",
22278 "field_bit": 15,
22279 "hash_match_group": 0
22280 },
22281 {
22282 "hash_match_group_bit": 16,
22283 "field_name": "ecmp_metadata_groupId",
22284 "field_bit": 0,
22285 "hash_match_group": 0
22286 },
22287 {
22288 "hash_match_group_bit": 17,
22289 "field_name": "ecmp_metadata_groupId",
22290 "field_bit": 1,
22291 "hash_match_group": 0
22292 },
22293 {
22294 "hash_match_group_bit": 20,
22295 "field_name": "ecmp_metadata_groupId",
22296 "field_bit": 4,
22297 "hash_match_group": 0
22298 },
22299 {
22300 "hash_match_group_bit": 21,
22301 "field_name": "ecmp_metadata_groupId",
22302 "field_bit": 5,
22303 "hash_match_group": 0
22304 },
22305 {
22306 "hash_match_group_bit": 26,
22307 "field_name": "ecmp_metadata_groupId",
22308 "field_bit": 10,
22309 "hash_match_group": 0
22310 },
22311 {
22312 "hash_match_group_bit": 29,
22313 "field_name": "ecmp_metadata_groupId",
22314 "field_bit": 13,
22315 "hash_match_group": 0
22316 },
22317 {
22318 "hash_match_group_bit": 31,
22319 "field_name": "ecmp_metadata_groupId",
22320 "field_bit": 15,
22321 "hash_match_group": 0
22322 }
22323 ]
22324 },
22325 {
22326 "hash_bit": 23,
22327 "seed": 1,
22328 "bits_to_xor": [
22329 {
22330 "hash_match_group_bit": 1,
22331 "field_name": "ecmp_metadata_selector",
22332 "field_bit": 1,
22333 "hash_match_group": 0
22334 },
22335 {
22336 "hash_match_group_bit": 10,
22337 "field_name": "ecmp_metadata_selector",
22338 "field_bit": 10,
22339 "hash_match_group": 0
22340 },
22341 {
22342 "hash_match_group_bit": 11,
22343 "field_name": "ecmp_metadata_selector",
22344 "field_bit": 11,
22345 "hash_match_group": 0
22346 },
22347 {
22348 "hash_match_group_bit": 18,
22349 "field_name": "ecmp_metadata_groupId",
22350 "field_bit": 2,
22351 "hash_match_group": 0
22352 },
22353 {
22354 "hash_match_group_bit": 19,
22355 "field_name": "ecmp_metadata_groupId",
22356 "field_bit": 3,
22357 "hash_match_group": 0
22358 },
22359 {
22360 "hash_match_group_bit": 20,
22361 "field_name": "ecmp_metadata_groupId",
22362 "field_bit": 4,
22363 "hash_match_group": 0
22364 },
22365 {
22366 "hash_match_group_bit": 21,
22367 "field_name": "ecmp_metadata_groupId",
22368 "field_bit": 5,
22369 "hash_match_group": 0
22370 },
22371 {
22372 "hash_match_group_bit": 22,
22373 "field_name": "ecmp_metadata_groupId",
22374 "field_bit": 6,
22375 "hash_match_group": 0
22376 },
22377 {
22378 "hash_match_group_bit": 25,
22379 "field_name": "ecmp_metadata_groupId",
22380 "field_bit": 9,
22381 "hash_match_group": 0
22382 },
22383 {
22384 "hash_match_group_bit": 26,
22385 "field_name": "ecmp_metadata_groupId",
22386 "field_bit": 10,
22387 "hash_match_group": 0
22388 },
22389 {
22390 "hash_match_group_bit": 27,
22391 "field_name": "ecmp_metadata_groupId",
22392 "field_bit": 11,
22393 "hash_match_group": 0
22394 }
22395 ]
22396 },
22397 {
22398 "hash_bit": 24,
22399 "seed": 1,
22400 "bits_to_xor": [
22401 {
22402 "hash_match_group_bit": 2,
22403 "field_name": "ecmp_metadata_selector",
22404 "field_bit": 2,
22405 "hash_match_group": 0
22406 },
22407 {
22408 "hash_match_group_bit": 10,
22409 "field_name": "ecmp_metadata_selector",
22410 "field_bit": 10,
22411 "hash_match_group": 0
22412 },
22413 {
22414 "hash_match_group_bit": 11,
22415 "field_name": "ecmp_metadata_selector",
22416 "field_bit": 11,
22417 "hash_match_group": 0
22418 },
22419 {
22420 "hash_match_group_bit": 14,
22421 "field_name": "ecmp_metadata_selector",
22422 "field_bit": 14,
22423 "hash_match_group": 0
22424 },
22425 {
22426 "hash_match_group_bit": 16,
22427 "field_name": "ecmp_metadata_groupId",
22428 "field_bit": 0,
22429 "hash_match_group": 0
22430 },
22431 {
22432 "hash_match_group_bit": 18,
22433 "field_name": "ecmp_metadata_groupId",
22434 "field_bit": 2,
22435 "hash_match_group": 0
22436 },
22437 {
22438 "hash_match_group_bit": 19,
22439 "field_name": "ecmp_metadata_groupId",
22440 "field_bit": 3,
22441 "hash_match_group": 0
22442 },
22443 {
22444 "hash_match_group_bit": 23,
22445 "field_name": "ecmp_metadata_groupId",
22446 "field_bit": 7,
22447 "hash_match_group": 0
22448 },
22449 {
22450 "hash_match_group_bit": 24,
22451 "field_name": "ecmp_metadata_groupId",
22452 "field_bit": 8,
22453 "hash_match_group": 0
22454 },
22455 {
22456 "hash_match_group_bit": 25,
22457 "field_name": "ecmp_metadata_groupId",
22458 "field_bit": 9,
22459 "hash_match_group": 0
22460 },
22461 {
22462 "hash_match_group_bit": 26,
22463 "field_name": "ecmp_metadata_groupId",
22464 "field_bit": 10,
22465 "hash_match_group": 0
22466 },
22467 {
22468 "hash_match_group_bit": 27,
22469 "field_name": "ecmp_metadata_groupId",
22470 "field_bit": 11,
22471 "hash_match_group": 0
22472 },
22473 {
22474 "hash_match_group_bit": 29,
22475 "field_name": "ecmp_metadata_groupId",
22476 "field_bit": 13,
22477 "hash_match_group": 0
22478 },
22479 {
22480 "hash_match_group_bit": 30,
22481 "field_name": "ecmp_metadata_groupId",
22482 "field_bit": 14,
22483 "hash_match_group": 0
22484 }
22485 ]
22486 },
22487 {
22488 "hash_bit": 25,
22489 "seed": 1,
22490 "bits_to_xor": [
22491 {
22492 "hash_match_group_bit": 3,
22493 "field_name": "ecmp_metadata_selector",
22494 "field_bit": 3,
22495 "hash_match_group": 0
22496 },
22497 {
22498 "hash_match_group_bit": 10,
22499 "field_name": "ecmp_metadata_selector",
22500 "field_bit": 10,
22501 "hash_match_group": 0
22502 },
22503 {
22504 "hash_match_group_bit": 11,
22505 "field_name": "ecmp_metadata_selector",
22506 "field_bit": 11,
22507 "hash_match_group": 0
22508 },
22509 {
22510 "hash_match_group_bit": 13,
22511 "field_name": "ecmp_metadata_selector",
22512 "field_bit": 13,
22513 "hash_match_group": 0
22514 },
22515 {
22516 "hash_match_group_bit": 17,
22517 "field_name": "ecmp_metadata_groupId",
22518 "field_bit": 1,
22519 "hash_match_group": 0
22520 },
22521 {
22522 "hash_match_group_bit": 22,
22523 "field_name": "ecmp_metadata_groupId",
22524 "field_bit": 6,
22525 "hash_match_group": 0
22526 },
22527 {
22528 "hash_match_group_bit": 23,
22529 "field_name": "ecmp_metadata_groupId",
22530 "field_bit": 7,
22531 "hash_match_group": 0
22532 },
22533 {
22534 "hash_match_group_bit": 24,
22535 "field_name": "ecmp_metadata_groupId",
22536 "field_bit": 8,
22537 "hash_match_group": 0
22538 },
22539 {
22540 "hash_match_group_bit": 27,
22541 "field_name": "ecmp_metadata_groupId",
22542 "field_bit": 11,
22543 "hash_match_group": 0
22544 },
22545 {
22546 "hash_match_group_bit": 28,
22547 "field_name": "ecmp_metadata_groupId",
22548 "field_bit": 12,
22549 "hash_match_group": 0
22550 },
22551 {
22552 "hash_match_group_bit": 29,
22553 "field_name": "ecmp_metadata_groupId",
22554 "field_bit": 13,
22555 "hash_match_group": 0
22556 },
22557 {
22558 "hash_match_group_bit": 30,
22559 "field_name": "ecmp_metadata_groupId",
22560 "field_bit": 14,
22561 "hash_match_group": 0
22562 },
22563 {
22564 "hash_match_group_bit": 31,
22565 "field_name": "ecmp_metadata_groupId",
22566 "field_bit": 15,
22567 "hash_match_group": 0
22568 }
22569 ]
22570 },
22571 {
22572 "hash_bit": 26,
22573 "seed": 1,
22574 "bits_to_xor": [
22575 {
22576 "hash_match_group_bit": 4,
22577 "field_name": "ecmp_metadata_selector",
22578 "field_bit": 4,
22579 "hash_match_group": 0
22580 },
22581 {
22582 "hash_match_group_bit": 12,
22583 "field_name": "ecmp_metadata_selector",
22584 "field_bit": 12,
22585 "hash_match_group": 0
22586 },
22587 {
22588 "hash_match_group_bit": 14,
22589 "field_name": "ecmp_metadata_selector",
22590 "field_bit": 14,
22591 "hash_match_group": 0
22592 },
22593 {
22594 "hash_match_group_bit": 15,
22595 "field_name": "ecmp_metadata_selector",
22596 "field_bit": 15,
22597 "hash_match_group": 0
22598 },
22599 {
22600 "hash_match_group_bit": 16,
22601 "field_name": "ecmp_metadata_groupId",
22602 "field_bit": 0,
22603 "hash_match_group": 0
22604 },
22605 {
22606 "hash_match_group_bit": 17,
22607 "field_name": "ecmp_metadata_groupId",
22608 "field_bit": 1,
22609 "hash_match_group": 0
22610 },
22611 {
22612 "hash_match_group_bit": 18,
22613 "field_name": "ecmp_metadata_groupId",
22614 "field_bit": 2,
22615 "hash_match_group": 0
22616 },
22617 {
22618 "hash_match_group_bit": 20,
22619 "field_name": "ecmp_metadata_groupId",
22620 "field_bit": 4,
22621 "hash_match_group": 0
22622 },
22623 {
22624 "hash_match_group_bit": 24,
22625 "field_name": "ecmp_metadata_groupId",
22626 "field_bit": 8,
22627 "hash_match_group": 0
22628 },
22629 {
22630 "hash_match_group_bit": 27,
22631 "field_name": "ecmp_metadata_groupId",
22632 "field_bit": 11,
22633 "hash_match_group": 0
22634 },
22635 {
22636 "hash_match_group_bit": 28,
22637 "field_name": "ecmp_metadata_groupId",
22638 "field_bit": 12,
22639 "hash_match_group": 0
22640 },
22641 {
22642 "hash_match_group_bit": 29,
22643 "field_name": "ecmp_metadata_groupId",
22644 "field_bit": 13,
22645 "hash_match_group": 0
22646 },
22647 {
22648 "hash_match_group_bit": 30,
22649 "field_name": "ecmp_metadata_groupId",
22650 "field_bit": 14,
22651 "hash_match_group": 0
22652 },
22653 {
22654 "hash_match_group_bit": 31,
22655 "field_name": "ecmp_metadata_groupId",
22656 "field_bit": 15,
22657 "hash_match_group": 0
22658 }
22659 ]
22660 },
22661 {
22662 "hash_bit": 27,
22663 "seed": 0,
22664 "bits_to_xor": [
22665 {
22666 "hash_match_group_bit": 5,
22667 "field_name": "ecmp_metadata_selector",
22668 "field_bit": 5,
22669 "hash_match_group": 0
22670 },
22671 {
22672 "hash_match_group_bit": 11,
22673 "field_name": "ecmp_metadata_selector",
22674 "field_bit": 11,
22675 "hash_match_group": 0
22676 },
22677 {
22678 "hash_match_group_bit": 18,
22679 "field_name": "ecmp_metadata_groupId",
22680 "field_bit": 2,
22681 "hash_match_group": 0
22682 },
22683 {
22684 "hash_match_group_bit": 19,
22685 "field_name": "ecmp_metadata_groupId",
22686 "field_bit": 3,
22687 "hash_match_group": 0
22688 },
22689 {
22690 "hash_match_group_bit": 21,
22691 "field_name": "ecmp_metadata_groupId",
22692 "field_bit": 5,
22693 "hash_match_group": 0
22694 },
22695 {
22696 "hash_match_group_bit": 22,
22697 "field_name": "ecmp_metadata_groupId",
22698 "field_bit": 6,
22699 "hash_match_group": 0
22700 },
22701 {
22702 "hash_match_group_bit": 25,
22703 "field_name": "ecmp_metadata_groupId",
22704 "field_bit": 9,
22705 "hash_match_group": 0
22706 },
22707 {
22708 "hash_match_group_bit": 28,
22709 "field_name": "ecmp_metadata_groupId",
22710 "field_bit": 12,
22711 "hash_match_group": 0
22712 },
22713 {
22714 "hash_match_group_bit": 29,
22715 "field_name": "ecmp_metadata_groupId",
22716 "field_bit": 13,
22717 "hash_match_group": 0
22718 }
22719 ]
22720 },
22721 {
22722 "hash_bit": 28,
22723 "seed": 1,
22724 "bits_to_xor": [
22725 {
22726 "hash_match_group_bit": 6,
22727 "field_name": "ecmp_metadata_selector",
22728 "field_bit": 6,
22729 "hash_match_group": 0
22730 },
22731 {
22732 "hash_match_group_bit": 10,
22733 "field_name": "ecmp_metadata_selector",
22734 "field_bit": 10,
22735 "hash_match_group": 0
22736 },
22737 {
22738 "hash_match_group_bit": 12,
22739 "field_name": "ecmp_metadata_selector",
22740 "field_bit": 12,
22741 "hash_match_group": 0
22742 },
22743 {
22744 "hash_match_group_bit": 13,
22745 "field_name": "ecmp_metadata_selector",
22746 "field_bit": 13,
22747 "hash_match_group": 0
22748 },
22749 {
22750 "hash_match_group_bit": 14,
22751 "field_name": "ecmp_metadata_selector",
22752 "field_bit": 14,
22753 "hash_match_group": 0
22754 },
22755 {
22756 "hash_match_group_bit": 18,
22757 "field_name": "ecmp_metadata_groupId",
22758 "field_bit": 2,
22759 "hash_match_group": 0
22760 },
22761 {
22762 "hash_match_group_bit": 19,
22763 "field_name": "ecmp_metadata_groupId",
22764 "field_bit": 3,
22765 "hash_match_group": 0
22766 },
22767 {
22768 "hash_match_group_bit": 20,
22769 "field_name": "ecmp_metadata_groupId",
22770 "field_bit": 4,
22771 "hash_match_group": 0
22772 },
22773 {
22774 "hash_match_group_bit": 22,
22775 "field_name": "ecmp_metadata_groupId",
22776 "field_bit": 6,
22777 "hash_match_group": 0
22778 },
22779 {
22780 "hash_match_group_bit": 23,
22781 "field_name": "ecmp_metadata_groupId",
22782 "field_bit": 7,
22783 "hash_match_group": 0
22784 },
22785 {
22786 "hash_match_group_bit": 24,
22787 "field_name": "ecmp_metadata_groupId",
22788 "field_bit": 8,
22789 "hash_match_group": 0
22790 },
22791 {
22792 "hash_match_group_bit": 25,
22793 "field_name": "ecmp_metadata_groupId",
22794 "field_bit": 9,
22795 "hash_match_group": 0
22796 },
22797 {
22798 "hash_match_group_bit": 26,
22799 "field_name": "ecmp_metadata_groupId",
22800 "field_bit": 10,
22801 "hash_match_group": 0
22802 },
22803 {
22804 "hash_match_group_bit": 28,
22805 "field_name": "ecmp_metadata_groupId",
22806 "field_bit": 12,
22807 "hash_match_group": 0
22808 },
22809 {
22810 "hash_match_group_bit": 29,
22811 "field_name": "ecmp_metadata_groupId",
22812 "field_bit": 13,
22813 "hash_match_group": 0
22814 },
22815 {
22816 "hash_match_group_bit": 31,
22817 "field_name": "ecmp_metadata_groupId",
22818 "field_bit": 15,
22819 "hash_match_group": 0
22820 }
22821 ]
22822 },
22823 {
22824 "hash_bit": 29,
22825 "seed": 0,
22826 "bits_to_xor": [
22827 {
22828 "hash_match_group_bit": 7,
22829 "field_name": "ecmp_metadata_selector",
22830 "field_bit": 7,
22831 "hash_match_group": 0
22832 },
22833 {
22834 "hash_match_group_bit": 11,
22835 "field_name": "ecmp_metadata_selector",
22836 "field_bit": 11,
22837 "hash_match_group": 0
22838 },
22839 {
22840 "hash_match_group_bit": 12,
22841 "field_name": "ecmp_metadata_selector",
22842 "field_bit": 12,
22843 "hash_match_group": 0
22844 },
22845 {
22846 "hash_match_group_bit": 13,
22847 "field_name": "ecmp_metadata_selector",
22848 "field_bit": 13,
22849 "hash_match_group": 0
22850 },
22851 {
22852 "hash_match_group_bit": 14,
22853 "field_name": "ecmp_metadata_selector",
22854 "field_bit": 14,
22855 "hash_match_group": 0
22856 },
22857 {
22858 "hash_match_group_bit": 15,
22859 "field_name": "ecmp_metadata_selector",
22860 "field_bit": 15,
22861 "hash_match_group": 0
22862 },
22863 {
22864 "hash_match_group_bit": 18,
22865 "field_name": "ecmp_metadata_groupId",
22866 "field_bit": 2,
22867 "hash_match_group": 0
22868 },
22869 {
22870 "hash_match_group_bit": 19,
22871 "field_name": "ecmp_metadata_groupId",
22872 "field_bit": 3,
22873 "hash_match_group": 0
22874 },
22875 {
22876 "hash_match_group_bit": 20,
22877 "field_name": "ecmp_metadata_groupId",
22878 "field_bit": 4,
22879 "hash_match_group": 0
22880 },
22881 {
22882 "hash_match_group_bit": 22,
22883 "field_name": "ecmp_metadata_groupId",
22884 "field_bit": 6,
22885 "hash_match_group": 0
22886 },
22887 {
22888 "hash_match_group_bit": 25,
22889 "field_name": "ecmp_metadata_groupId",
22890 "field_bit": 9,
22891 "hash_match_group": 0
22892 },
22893 {
22894 "hash_match_group_bit": 27,
22895 "field_name": "ecmp_metadata_groupId",
22896 "field_bit": 11,
22897 "hash_match_group": 0
22898 }
22899 ]
22900 }
22901 ]
22902 }
22903 ],
22904 "ways": [
22905 {
22906 "way_number": 0,
22907 "memory_resource_allocation": {
22908 "number_select_bits": 0,
22909 "hash_select_bit_hi": 40,
22910 "number_entry_bits": 10,
22911 "hash_entry_bit_lo": 0,
22912 "hash_select_bit_lo": 40,
22913 "hash_entry_bit_hi": 9,
22914 "memory_units_and_vpns": [
22915 {
22916 "memory_units": [
22917 86
22918 ],
22919 "vpns": [
22920 0
22921 ]
22922 }
22923 ],
22924 "hash_function_id": 0
22925 },
22926 "pack_format": [
22927 {
22928 "memory_word_width": 128,
22929 "entries_per_table_word": 1,
22930 "entries": [
22931 {
22932 "entry_number": 0,
22933 "fields": [
22934 {
22935 "start_bit": 0,
22936 "match_mode": "unused",
22937 "field_width": 4,
22938 "lsb_mem_word_idx": 0,
22939 "source": "version",
22940 "msb_mem_word_idx": 0,
22941 "lsb_mem_word_offset": 120,
22942 "field_name": "--version_valid--",
22943 "enable_pfe": false
22944 },
22945 {
22946 "start_bit": 10,
22947 "match_mode": "unused",
22948 "field_width": 6,
22949 "lsb_mem_word_idx": 0,
22950 "source": "spec",
22951 "msb_mem_word_idx": 0,
22952 "lsb_mem_word_offset": 34,
22953 "field_name": "ecmp_metadata_selector",
22954 "enable_pfe": false
22955 },
22956 {
22957 "start_bit": 0,
22958 "match_mode": "unused",
22959 "field_width": 16,
22960 "lsb_mem_word_idx": 0,
22961 "source": "spec",
22962 "msb_mem_word_idx": 0,
22963 "lsb_mem_word_offset": 16,
22964 "field_name": "ecmp_metadata_groupId",
22965 "enable_pfe": false
22966 },
22967 {
22968 "start_bit": 0,
22969 "match_mode": "unused",
22970 "field_width": 16,
22971 "lsb_mem_word_idx": 0,
22972 "source": "immediate",
22973 "immediate_name": "--immediate--",
22974 "msb_mem_word_idx": 0,
22975 "lsb_mem_word_offset": 0,
22976 "field_name": "--immediate--",
22977 "enable_pfe": false
22978 }
22979 ]
22980 }
22981 ],
22982 "table_word_width": 128,
22983 "number_memory_units_per_table_word": 1
22984 }
22985 ],
22986 "logical_table_id": 0,
Brian O'Connora6862e02017-09-08 01:17:39 -070022987 "stage_number": 1,
Carmelo Casconef1d0a422017-09-07 17:21:46 +020022988 "stage_table_type": "hash_way",
22989 "size": 1024
22990 },
22991 {
22992 "way_number": 1,
22993 "memory_resource_allocation": {
22994 "number_select_bits": 0,
22995 "hash_select_bit_hi": 40,
22996 "number_entry_bits": 10,
22997 "hash_entry_bit_lo": 10,
22998 "hash_select_bit_lo": 40,
22999 "hash_entry_bit_hi": 19,
23000 "memory_units_and_vpns": [
23001 {
23002 "memory_units": [
23003 87
23004 ],
23005 "vpns": [
23006 1
23007 ]
23008 }
23009 ],
23010 "hash_function_id": 0
23011 },
23012 "pack_format": [
23013 {
23014 "memory_word_width": 128,
23015 "entries_per_table_word": 1,
23016 "entries": [
23017 {
23018 "entry_number": 0,
23019 "fields": [
23020 {
23021 "start_bit": 0,
23022 "match_mode": "unused",
23023 "field_width": 4,
23024 "lsb_mem_word_idx": 0,
23025 "source": "version",
23026 "msb_mem_word_idx": 0,
23027 "lsb_mem_word_offset": 120,
23028 "field_name": "--version_valid--",
23029 "enable_pfe": false
23030 },
23031 {
23032 "start_bit": 10,
23033 "match_mode": "unused",
23034 "field_width": 6,
23035 "lsb_mem_word_idx": 0,
23036 "source": "spec",
23037 "msb_mem_word_idx": 0,
23038 "lsb_mem_word_offset": 34,
23039 "field_name": "ecmp_metadata_selector",
23040 "enable_pfe": false
23041 },
23042 {
23043 "start_bit": 0,
23044 "match_mode": "unused",
23045 "field_width": 16,
23046 "lsb_mem_word_idx": 0,
23047 "source": "spec",
23048 "msb_mem_word_idx": 0,
23049 "lsb_mem_word_offset": 16,
23050 "field_name": "ecmp_metadata_groupId",
23051 "enable_pfe": false
23052 },
23053 {
23054 "start_bit": 0,
23055 "match_mode": "unused",
23056 "field_width": 16,
23057 "lsb_mem_word_idx": 0,
23058 "source": "immediate",
23059 "immediate_name": "--immediate--",
23060 "msb_mem_word_idx": 0,
23061 "lsb_mem_word_offset": 0,
23062 "field_name": "--immediate--",
23063 "enable_pfe": false
23064 }
23065 ]
23066 }
23067 ],
23068 "table_word_width": 128,
23069 "number_memory_units_per_table_word": 1
23070 }
23071 ],
23072 "logical_table_id": 0,
Brian O'Connora6862e02017-09-08 01:17:39 -070023073 "stage_number": 1,
Carmelo Casconef1d0a422017-09-07 17:21:46 +020023074 "stage_table_type": "hash_way",
23075 "size": 1024
23076 },
23077 {
23078 "way_number": 2,
23079 "memory_resource_allocation": {
23080 "number_select_bits": 0,
23081 "hash_select_bit_hi": 40,
23082 "number_entry_bits": 10,
23083 "hash_entry_bit_lo": 20,
23084 "hash_select_bit_lo": 40,
23085 "hash_entry_bit_hi": 29,
23086 "memory_units_and_vpns": [
23087 {
23088 "memory_units": [
23089 88
23090 ],
23091 "vpns": [
23092 2
23093 ]
23094 }
23095 ],
23096 "hash_function_id": 0
23097 },
23098 "pack_format": [
23099 {
23100 "memory_word_width": 128,
23101 "entries_per_table_word": 1,
23102 "entries": [
23103 {
23104 "entry_number": 0,
23105 "fields": [
23106 {
23107 "start_bit": 0,
23108 "match_mode": "unused",
23109 "field_width": 4,
23110 "lsb_mem_word_idx": 0,
23111 "source": "version",
23112 "msb_mem_word_idx": 0,
23113 "lsb_mem_word_offset": 120,
23114 "field_name": "--version_valid--",
23115 "enable_pfe": false
23116 },
23117 {
23118 "start_bit": 10,
23119 "match_mode": "unused",
23120 "field_width": 6,
23121 "lsb_mem_word_idx": 0,
23122 "source": "spec",
23123 "msb_mem_word_idx": 0,
23124 "lsb_mem_word_offset": 34,
23125 "field_name": "ecmp_metadata_selector",
23126 "enable_pfe": false
23127 },
23128 {
23129 "start_bit": 0,
23130 "match_mode": "unused",
23131 "field_width": 16,
23132 "lsb_mem_word_idx": 0,
23133 "source": "spec",
23134 "msb_mem_word_idx": 0,
23135 "lsb_mem_word_offset": 16,
23136 "field_name": "ecmp_metadata_groupId",
23137 "enable_pfe": false
23138 },
23139 {
23140 "start_bit": 0,
23141 "match_mode": "unused",
23142 "field_width": 16,
23143 "lsb_mem_word_idx": 0,
23144 "source": "immediate",
23145 "immediate_name": "--immediate--",
23146 "msb_mem_word_idx": 0,
23147 "lsb_mem_word_offset": 0,
23148 "field_name": "--immediate--",
23149 "enable_pfe": false
23150 }
23151 ]
23152 }
23153 ],
23154 "table_word_width": 128,
23155 "number_memory_units_per_table_word": 1
23156 }
23157 ],
23158 "logical_table_id": 0,
Brian O'Connora6862e02017-09-08 01:17:39 -070023159 "stage_number": 1,
Carmelo Casconef1d0a422017-09-07 17:21:46 +020023160 "stage_table_type": "hash_way",
23161 "size": 1024
23162 }
23163 ],
23164 "result_physical_buses": [
23165 14
23166 ],
23167 "logical_table_id": 0,
Brian O'Connora6862e02017-09-08 01:17:39 -070023168 "stage_number": 1,
Carmelo Casconef1d0a422017-09-07 17:21:46 +020023169 "stage_table_type": "hash_match",
23170 "size": 3072
23171 }
23172 ],
23173 "match_type": "exact",
23174 "uses_dynamic_key_masks": false
23175 },
23176 "stateful_table_refs": [],
23177 "default_next_table_mask": 0,
23178 "selection_table_refs": [],
23179 "action_data_table_refs": [],
23180 "match_key_fields": [
23181 {
23182 "bit_width": 16,
23183 "match_type": "exact",
23184 "start_bit": 0,
23185 "position": 0,
23186 "bit_width_full": 16,
23187 "name": "ecmp_metadata_groupId"
23188 },
23189 {
23190 "bit_width": 16,
23191 "match_type": "exact",
23192 "start_bit": 0,
23193 "position": 1,
23194 "bit_width_full": 16,
23195 "name": "ecmp_metadata_selector"
23196 }
23197 ],
23198 "size": 1024
23199 },
23200 {
23201 "direction": "ingress",
23202 "statistics_type": "packets",
23203 "handle": 67108865,
23204 "name": "ingress_port_counter",
23205 "byte_counter_resolution": 0,
23206 "table_type": "statistics",
23207 "stage_tables": [
23208 {
23209 "memory_resource_allocation": {
23210 "spare_bank_memory_unit": 55,
23211 "memory_units_and_vpns": [
23212 {
23213 "memory_units": [
23214 54
23215 ],
23216 "vpns": [
23217 0
23218 ]
23219 }
23220 ],
23221 "memory_type": "sram"
23222 },
23223 "pack_format": [
23224 {
23225 "memory_word_width": 128,
23226 "entries_per_table_word": 4,
23227 "table_word_width": 128,
23228 "number_memory_units_per_table_word": 1
23229 }
23230 ],
23231 "logical_table_id": 0,
Brian O'Connora6862e02017-09-08 01:17:39 -070023232 "stage_number": 2,
Carmelo Casconef1d0a422017-09-07 17:21:46 +020023233 "stage_table_type": "statistics",
23234 "size": 4096
23235 }
23236 ],
23237 "enable_pfe": true,
23238 "packet_counter_resolution": 32,
23239 "pfe_bit_position": 19,
23240 "how_referenced": "indirect",
Brian O'Connora6862e02017-09-08 01:17:39 -070023241 "size": 510
Carmelo Casconef1d0a422017-09-07 17:21:46 +020023242 },
23243 {
23244 "direction": "ingress",
23245 "statistics_type": "packets",
23246 "handle": 67108866,
23247 "name": "egress_port_counter",
23248 "byte_counter_resolution": 0,
23249 "table_type": "statistics",
23250 "stage_tables": [
23251 {
23252 "memory_resource_allocation": {
23253 "spare_bank_memory_unit": 79,
23254 "memory_units_and_vpns": [
23255 {
23256 "memory_units": [
23257 78
23258 ],
23259 "vpns": [
23260 0
23261 ]
23262 }
23263 ],
23264 "memory_type": "sram"
23265 },
23266 "pack_format": [
23267 {
23268 "memory_word_width": 128,
23269 "entries_per_table_word": 4,
23270 "table_word_width": 128,
23271 "number_memory_units_per_table_word": 1
23272 }
23273 ],
23274 "logical_table_id": 1,
Brian O'Connora6862e02017-09-08 01:17:39 -070023275 "stage_number": 2,
Carmelo Casconef1d0a422017-09-07 17:21:46 +020023276 "stage_table_type": "statistics",
23277 "size": 4096
23278 }
23279 ],
23280 "enable_pfe": true,
23281 "packet_counter_resolution": 32,
23282 "pfe_bit_position": 19,
23283 "how_referenced": "indirect",
Brian O'Connora6862e02017-09-08 01:17:39 -070023284 "size": 510
Carmelo Casconef1d0a422017-09-07 17:21:46 +020023285 },
23286 {
23287 "direction": "ingress",
23288 "statistics_type": "packets",
23289 "handle": 67108867,
23290 "name": "table0_counter",
23291 "byte_counter_resolution": 0,
23292 "table_type": "statistics",
23293 "stage_tables": [
23294 {
23295 "memory_resource_allocation": {
23296 "spare_bank_memory_unit": 79,
23297 "memory_units_and_vpns": [
23298 {
23299 "memory_units": [
23300 78
23301 ],
23302 "vpns": [
23303 0
23304 ]
23305 }
23306 ],
23307 "memory_type": "sram"
23308 },
23309 "pack_format": [
23310 {
23311 "memory_word_width": 128,
23312 "entries_per_table_word": 4,
23313 "table_word_width": 128,
23314 "number_memory_units_per_table_word": 1
23315 }
23316 ],
23317 "logical_table_id": 0,
Brian O'Connora6862e02017-09-08 01:17:39 -070023318 "stage_number": 0,
Carmelo Casconef1d0a422017-09-07 17:21:46 +020023319 "stage_table_type": "statistics",
23320 "size": 4096
23321 }
23322 ],
23323 "enable_pfe": false,
23324 "packet_counter_resolution": 32,
23325 "pfe_bit_position": 19,
23326 "how_referenced": "direct",
23327 "size": 512
23328 },
23329 {
23330 "direction": "ingress",
23331 "statistics_type": "packets",
23332 "handle": 67108868,
23333 "name": "ecmp_group_table_counter",
23334 "byte_counter_resolution": 0,
23335 "table_type": "statistics",
23336 "stage_tables": [
23337 {
23338 "memory_resource_allocation": {
23339 "spare_bank_memory_unit": 79,
23340 "memory_units_and_vpns": [
23341 {
23342 "memory_units": [
23343 78
23344 ],
23345 "vpns": [
23346 0
23347 ]
23348 }
23349 ],
23350 "memory_type": "sram"
23351 },
23352 "pack_format": [
23353 {
23354 "memory_word_width": 128,
23355 "entries_per_table_word": 4,
23356 "table_word_width": 128,
23357 "number_memory_units_per_table_word": 1
23358 }
23359 ],
23360 "logical_table_id": 0,
Brian O'Connora6862e02017-09-08 01:17:39 -070023361 "stage_number": 1,
Carmelo Casconef1d0a422017-09-07 17:21:46 +020023362 "stage_table_type": "statistics",
23363 "size": 4096
23364 }
23365 ],
23366 "enable_pfe": false,
23367 "packet_counter_resolution": 32,
23368 "pfe_bit_position": 19,
23369 "how_referenced": "direct",
23370 "size": 1024
23371 }
23372 ],
23373 "parser": {
23374 "ingress": [],
23375 "egress": []
23376 },
23377 "learn_quanta": [],
23378 "program_name": "ecmp"
23379}