blob: e1f680e36b8cbd0b2ca0f3090c541d044e3e75d2 [file] [log] [blame]
Carmelo Cascone5db39682017-09-07 16:36:42 +02001+---------------------------------------------------------------------+
2| Log file: parde.log |
3| Compiler version: 5.1.0 (fca32d1) |
Brian O'Connora6862e02017-09-08 01:17:39 -07004| Created on: Fri Sep 8 08:23:45 2017 |
Carmelo Cascone5db39682017-09-07 16:36:42 +02005+---------------------------------------------------------------------+
6
7># Begin digest init (pre-PHV)
8>## Gress 0
9>## Gress 1
10>## Rewrite CLONE_I2E_DIGEST_RCVR ids
11>## Rewrite CLONE_E2E_DIGEST_RCVR ids
12># End digest init (pre-PHV)
13># Begin digest PHV reservations
14># End digest PHV reservations
15># Begin digest init (post-PHV)
16># End digest init (post-PHV)
Carmelo Cascone5db39682017-09-07 16:36:42 +020017Found parser entry point: start
18># Begin unroll of HLIR parse graph
19>## Create shadow parse graph and find loops
20>## Entrypoint 'p4_parse_state.start'
Brian O'Connora6862e02017-09-08 01:17:39 -070021Creating shadow state: 'p4_parse_state.start' -> 'shadow_state (start, 140209182764624)'
22Creating shadow state: 'p4_parse_state.parse_pkt_in' -> 'shadow_state (parse_pkt_in, 140209182764432)'
23Creating shadow state: 'p4_parse_state.parse_ethernet' -> 'shadow_state (parse_ethernet, 140209182763856)'
24Creating shadow state: 'p4_parse_state.parse_ipv4' -> 'shadow_state (parse_ipv4, 140209182763728)'
25Creating shadow state: 'p4_parse_state.parse_tcp' -> 'shadow_state (parse_tcp, 140209182763600)'
26Creating shadow state: 'p4_parse_state.parse_udp' -> 'shadow_state (parse_udp, 140209182763664)'
27Creating shadow state: 'p4_parse_state.default_parser' -> 'shadow_state (default_parser, 140209182763536)'
28Creating shadow state: 'p4_parse_state.parse_pkt_out' -> 'shadow_state (parse_pkt_out, 140209182763344)'
Carmelo Cascone5db39682017-09-07 16:36:42 +020029># End unroll of HLIR parse graph
30># Begin deparser init
31>## Create records for gress 0
32Skipping metadata header 'p4_header_instance.standard_metadata'
33Skipping intrinsic header 'p4_header_instance.ig_intr_md'
34Skipping intrinsic header 'p4_header_instance.ig_intr_md_for_tm'
35Skipping intrinsic header 'p4_header_instance.ig_intr_md_for_mb'
36Skipping intrinsic header 'p4_header_instance.eg_intr_md'
37Skipping intrinsic header 'p4_header_instance.eg_intr_md_for_mb'
38Skipping intrinsic header 'p4_header_instance.eg_intr_md_for_oport'
39Created record for 'p4_header_instance.packet_in_hdr'
40Created record for 'p4_header_instance.packet_out_hdr'
41Created record for 'p4_header_instance.ethernet'
42Created record for 'p4_header_instance.ipv4'
43Created record for 'p4_header_instance.tcp'
44Created record for 'p4_header_instance.udp'
45>## Build record ordering for gress 0
Carmelo Cascone5db39682017-09-07 16:36:42 +020046>## Build field ordering for record 'packet_in_hdr'
Brian O'Connora6862e02017-09-08 01:17:39 -070047>## Build field ordering for record 'packet_out_hdr'
Carmelo Cascone5db39682017-09-07 16:36:42 +020048>## Build field ordering for record 'ethernet'
49>## Build field ordering for record 'ipv4'
50>## Build field ordering for record 'udp'
51>## Build field ordering for record 'tcp'
52>## Create records for gress 1
53Skipping metadata header 'p4_header_instance.standard_metadata'
54Skipping intrinsic header 'p4_header_instance.ig_intr_md'
55Skipping intrinsic header 'p4_header_instance.ig_intr_md_for_tm'
56Skipping intrinsic header 'p4_header_instance.ig_intr_md_for_mb'
57Skipping intrinsic header 'p4_header_instance.eg_intr_md'
58Skipping intrinsic header 'p4_header_instance.eg_intr_md_for_mb'
59Skipping intrinsic header 'p4_header_instance.eg_intr_md_for_oport'
60Created record for 'p4_header_instance.packet_in_hdr'
61Created record for 'p4_header_instance.packet_out_hdr'
62Created record for 'p4_header_instance.ethernet'
63Created record for 'p4_header_instance.ipv4'
64Created record for 'p4_header_instance.tcp'
65Created record for 'p4_header_instance.udp'
66>## Build record ordering for gress 1
Carmelo Cascone5db39682017-09-07 16:36:42 +020067>## Build field ordering for record 'packet_in_hdr'
Brian O'Connora6862e02017-09-08 01:17:39 -070068>## Build field ordering for record 'packet_out_hdr'
Carmelo Cascone5db39682017-09-07 16:36:42 +020069>## Build field ordering for record 'ethernet'
70>## Build field ordering for record 'ipv4'
71>## Build field ordering for record 'udp'
72>## Build field ordering for record 'tcp'
73Deparse bmeta_ig_intr_md header
74>## Create deparser bridge_ig_intr_md record
75Add container 128 for ig_intr_md.resubmit_flag to bmeta_ig_intr_md
76Add container 128 for ig_intr_md._pad1 to bmeta_ig_intr_md
77Add container 128 for ig_intr_md._pad2 to bmeta_ig_intr_md
78Add container 128 for ig_intr_md._pad3 to bmeta_ig_intr_md
79Add container 128 for ig_intr_md.ingress_port to bmeta_ig_intr_md
80>## Create deparser bridge record
Carmelo Cascone5db39682017-09-07 16:36:42 +020081># End deparser init
82Constructing parse graph for entry point start on ingress
83Constructing parse graph for entry point start on egress
84Adding special Egress state to access ingress intrisic metadata
85Egress intrinsic metadata unconditional extraction plan: ExtractionPlan { shift 24, extractions ['eg_intr_md.egress_port', 'eg_intr_md.egress_cos'] }
86Egress intrinsic metadata conditional extraction plan: ExtractionPlan { shift 0, extractions [] }
87Stretch extraction of ingress_port to state <Ingress intrinsic metadata> offset 7
88Stretch extraction of ig_intr_md.ingress_port to state <_parse_bridged_ingress_intrinsic_metadata> offset 7
89># Begin scraping deparser POV allocation from raw PHV allocation
Brian O'Connora6862e02017-09-08 01:17:39 -070090PHV layout: [0, 0, 0, 0, 66, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None]
Carmelo Cascone5db39682017-09-07 16:36:42 +020091>## Scraping individual POV records
Carmelo Cascone5db39682017-09-07 16:36:42 +020092POV 33 -> packet_out_hdr
93POV 34 -> ethernet
94POV 35 -> ipv4
Carmelo Cascone5db39682017-09-07 16:36:42 +020095POV 36 -> tcp
96POV 37 -> udp
Brian O'Connora6862e02017-09-08 01:17:39 -070097POV 38 -> pov_bmeta
98POV 32 -> packet_in_hdr
Carmelo Cascone5db39682017-09-07 16:36:42 +020099>## Setting up array bits
100># End scraping deparser POV allocation from raw PHV allocation
101># Begin parser POV rewrite
102>## Filling in POV init state
103>## Rewriting parser POV extractions
Brian O'Connora6862e02017-09-08 01:17:39 -0700104POV for metadata_bridge -> PHV 66 |= 0x40
105POV for packet_in_hdr -> PHV 66 |= 0x1
106POV for ethernet -> PHV 66 |= 0x4
107POV for ipv4 -> PHV 66 |= 0x8
108POV for tcp -> PHV 66 |= 0x10
109POV for udp -> PHV 66 |= 0x20
110POV for packet_out_hdr -> PHV 66 |= 0x2
Carmelo Cascone5db39682017-09-07 16:36:42 +0200111POV for ig_intr_md -> dropped (no deparser record)
112POV for _bridged_intr_md_ -> PHV 0 |= 0x10000
113>## Sampling not detected, deparsing at least 1 POV byte
114>## Adding POV containers to metadata bridge: [0]
115>## Set POV skip state's shift amount to 32
116># Begin scraping deparser POV allocation from raw PHV allocation
Brian O'Connora6862e02017-09-08 01:17:39 -0700117PHV layout: [81, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None]
Carmelo Cascone5db39682017-09-07 16:36:42 +0200118>## Scraping individual POV records
Carmelo Cascone5db39682017-09-07 16:36:42 +0200119POV 1 -> packet_out_hdr
120POV 2 -> ethernet
121POV 3 -> ipv4
122POV 4 -> tcp
123POV 5 -> udp
Brian O'Connora6862e02017-09-08 01:17:39 -0700124POV 0 -> packet_in_hdr
Carmelo Cascone5db39682017-09-07 16:36:42 +0200125>## Setting up array bits
126># End scraping deparser POV allocation from raw PHV allocation
127># Begin parser POV rewrite
128>## Filling in POV init state
129>## Rewriting parser POV extractions
Brian O'Connora6862e02017-09-08 01:17:39 -0700130POV for packet_in_hdr -> PHV 81 |= 0x1
131POV for ethernet -> PHV 81 |= 0x4
132POV for ipv4 -> PHV 81 |= 0x8
133POV for tcp -> PHV 81 |= 0x10
134POV for udp -> PHV 81 |= 0x20
135POV for packet_out_hdr -> PHV 81 |= 0x2
136Linear Chain parse_tcp -> parse_tcp//spilled
137Try merge parse_tcp <- parse_tcp//spilled
138merge output at offset 24
139Ran out of 8b extractors
140states will not be partially merged since S2 is end of chain
Carmelo Cascone5db39682017-09-07 16:36:42 +0200141Linear Chain parse_pkt_in -> parse_ethernet
142Try merge parse_pkt_in <- parse_ethernet
143Multiple paths to state S2 : parse_ethernet <- 3
144Linear Chain <POV initialization> -> start
145Try merge <POV initialization> <- <Ingress intrinsic metadata>
146merge output at offset 0
147Merge s2 constant extraction v=1 phv=0
148merge_offset = 16, complete_merge = True
149Before Merge ------
150S1: State : <POV initialization>
151shift: 0B
152match_reservations: []
153outputs[addr, width]: ()
154match_extractions: []
155next state <Ingress intrinsic metadata> val 0 mask [False]
156parent state <Shim start state>
157
158
159S2: State : <Ingress intrinsic metadata>
160shift: 8B
161match_reservations: []
162outputs[addr, width]: ([128, 16], [0, 32])
163branch on = None, offset = 0b, dst = <Ingress intrinsic metadata>
164branch promise on = ingress_port, offset = 7b, dst = default_parser
165match_extractions: []
166next state <Phase 0> val 0 mask [True]
167parent state <POV initialization>
168
169
170Full merge done <POV initialization> <- <Ingress intrinsic metadata>
171Try merge <POV initialization>_<Ingress intrinsic metadata> <- <Phase 0>
172merge_offset = 0, complete_merge = True
173Before Merge ------
174S1: State : <POV initialization>_<Ingress intrinsic metadata>
175shift: 8B
176match_reservations: []
177outputs[addr, width]: ([128, 16], [0, 32])
178branch on = None, offset = 0b, dst = <POV initialization>_<Ingress intrinsic metadata>
179branch promise on = ingress_port, offset = 7b, dst = default_parser
180match_extractions: []
181next state <Phase 0> val 0 mask [True]
182parent state <Shim start state>
183
184
185S2: State : <Phase 0>
186shift: 8B
187match_reservations: []
188outputs[addr, width]: ()
189branch on = None, offset = 0b, dst = <Phase 0>
190match_extractions: []
191next state start val 0 mask [False]
192parent state <POV initialization>_<Ingress intrinsic metadata>
193
194
195Full merge done <POV initialization>_<Ingress intrinsic metadata> <- <Phase 0>
196Try merge <POV initialization>_<Ingress intrinsic metadata>_<Phase 0> <- start
197Multiple paths to state S2 : start <- 2
198Remove state <Ingress intrinsic metadata>
199Remove state <Phase 0>
Brian O'Connora6862e02017-09-08 01:17:39 -0700200assign ids to 11 states, dir = 0
Carmelo Cascone5db39682017-09-07 16:36:42 +0200201------
202State : <Shim start state>
203shift: 0B
204match_reservations: []
205outputs[addr, width]: ()
206match_extractions: []
207next state <POV initialization>_<Ingress intrinsic metadata>_<Phase 0> val 0 mask [False]
208
209------
210State : parse_pkt_in
211shift: 2B
212match_reservations: []
Brian O'Connora6862e02017-09-08 01:17:39 -0700213outputs[addr, width]: ([66, 8], [129, 16])
Carmelo Cascone5db39682017-09-07 16:36:42 +0200214match_extractions: []
215next state parse_ethernet val 0 mask [False]
216parent state start
217
218------
219State : parse_ethernet
220shift: 14B
221match_reservations: []
Brian O'Connora6862e02017-09-08 01:17:39 -0700222outputs[addr, width]: ([66, 8], [64, 8], [1, 32], [131, 16], [65, 8], [2, 32], [132, 16])
Carmelo Cascone5db39682017-09-07 16:36:42 +0200223branch on = etherType, offset = 96b, dst = parse_ethernet
224match_extractions: [match_window(hw_id=0, width=16)]
225match key = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15]
226next state parse_ipv4 val 2048 mask [True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True]
227parent state parse_pkt_in
228parent state parse_pkt_out
229parent state default_parser
230
231------
232State : parse_ipv4
233shift: 20B
234match_reservations: []
Brian O'Connora6862e02017-09-08 01:17:39 -0700235outputs[addr, width]: ([66, 8], [288, 8], [289, 8], [320, 16], [321, 16], [322, 16], [256, 32], [257, 32], [258, 32])
Carmelo Cascone5db39682017-09-07 16:36:42 +0200236branch on = fragOffset, offset = 51b, dst = parse_ipv4
237branch on = protocol, offset = 72b, dst = parse_ipv4
Brian O'Connora6862e02017-09-08 01:17:39 -0700238match_extractions: [match_window(hw_id=0, width=16), match_window(hw_id=2, width=8)]
Carmelo Cascone5db39682017-09-07 16:36:42 +0200239match key = [8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, None, None, None]
Brian O'Connora6862e02017-09-08 01:17:39 -0700240match key = [0, 1, 2, 3, 4, 5, 6, 7]
Carmelo Cascone5db39682017-09-07 16:36:42 +0200241next state parse_tcp val 6 mask [True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True]
242next state parse_udp val 17 mask [True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True]
243parent state parse_ethernet
244
245------
246State : parse_tcp
Brian O'Connora6862e02017-09-08 01:17:39 -0700247shift: 0B
Carmelo Cascone5db39682017-09-07 16:36:42 +0200248match_reservations: []
Brian O'Connora6862e02017-09-08 01:17:39 -0700249outputs[addr, width]: ([66, 8], [290, 8], [291, 8], [292, 8], [323, 16], [324, 16], [325, 16], [326, 16], [259, 32], [260, 32])
Carmelo Cascone5db39682017-09-07 16:36:42 +0200250match_extractions: []
Brian O'Connora6862e02017-09-08 01:17:39 -0700251next state parse_tcp//spilled val 0 mask [False]
Carmelo Cascone5db39682017-09-07 16:36:42 +0200252parent state parse_ipv4
253
254------
255State : parse_udp
256shift: 8B
257match_reservations: []
Brian O'Connora6862e02017-09-08 01:17:39 -0700258outputs[addr, width]: ([66, 8], [290, 8], [291, 8], [323, 16], [259, 32])
Carmelo Cascone5db39682017-09-07 16:36:42 +0200259match_extractions: []
260parent state parse_ipv4
261
262------
263State : default_parser
264shift: 0B
265match_reservations: [match_window(hw_id=0, width=16)]
266outputs[addr, width]: ()
267branch on = ingress_port, offset = 7b, dst = default_parser
268match_extractions: [match_window(hw_id=0, width=16)]
269match key = [0, 1, 2, 3, 4, 5, 6, 7, 8, None, None, None, None, None, None, None]
270next state parse_pkt_out val 320 mask [True, True, True, True, True, True, True, True, True]
271next state parse_ethernet val 0 mask [False]
272parent state start
273
274------
275State : parse_pkt_out
276shift: 2B
277match_reservations: []
Brian O'Connora6862e02017-09-08 01:17:39 -0700278outputs[addr, width]: ([66, 8], [129, 16])
Carmelo Cascone5db39682017-09-07 16:36:42 +0200279match_extractions: []
280next state parse_ethernet val 0 mask [False]
281parent state default_parser
282
283------
284State : <POV initialization>_<Ingress intrinsic metadata>_<Phase 0>
285shift: 16B
286match_reservations: []
287outputs[addr, width]: ([128, 16], [0, 32])
288branch on = None, offset = 0b, dst = <POV initialization>_<Ingress intrinsic metadata>_<Phase 0>
289branch on = None, offset = 64b, dst = <POV initialization>_<Ingress intrinsic metadata>_<Phase 0>
290branch promise on = ingress_port, offset = 7b, dst = default_parser
Brian O'Connora6862e02017-09-08 01:17:39 -0700291match_extractions: [match_window(hw_id=0, width=16), match_window(hw_id=2, width=8)]
Carmelo Cascone5db39682017-09-07 16:36:42 +0200292match key = [None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, 8]
Brian O'Connora6862e02017-09-08 01:17:39 -0700293match key = [0, 1, 2, 3, 4, 5, 6, 7]
Carmelo Cascone5db39682017-09-07 16:36:42 +0200294next state start val 0 mask [False]
295parent state <Shim start state>
296
297------
298State : start
299shift: 0B
300match_reservations: [match_window(hw_id=0, width=16)]
Brian O'Connora6862e02017-09-08 01:17:39 -0700301outputs[addr, width]: ([66, 8],)
Carmelo Cascone5db39682017-09-07 16:36:42 +0200302branch on = None, offset = 96b, dst = start
303match_extractions: [match_window(hw_id=2, width=8)]
304match key = [0, 1, 2, 3, 4, 5, 6, 7]
305next state parse_pkt_in val 0 mask [True, True, True, True, True, True, True, True]
306next state default_parser val 0 mask [False]
307parent state <POV initialization>_<Ingress intrinsic metadata>_<Phase 0>
308
Brian O'Connora6862e02017-09-08 01:17:39 -0700309------
310State : parse_tcp//spilled
311shift: 20B
312match_reservations: []
313outputs[addr, width]: ([293, 8],)
314match_extractions: []
315parent state parse_tcp
316
Carmelo Cascone5db39682017-09-07 16:36:42 +0200317Linear Chain parse_pkt_in -> parse_ethernet
318Try merge parse_pkt_in <- parse_ethernet
319Multiple paths to state S2 : parse_ethernet <- 3
320Linear Chain <POV initialization> -> start
321Try merge <POV initialization> <- <Egress intrinsic metadata>
322merge output at offset 0
323merge output at offset 16
324merge_offset = 24, complete_merge = True
325Before Merge ------
326S1: State : <POV initialization>
327shift: 0B
328match_reservations: []
329outputs[addr, width]: ()
330match_extractions: []
331next state <Egress intrinsic metadata> val 0 mask [False]
332parent state <Shim start state>
333
334
335S2: State : <Egress intrinsic metadata>
336shift: 3B
337match_reservations: []
Brian O'Connora6862e02017-09-08 01:17:39 -0700338outputs[addr, width]: ([144, 16], [80, 8])
Carmelo Cascone5db39682017-09-07 16:36:42 +0200339branch on = None, offset = 24b, dst = <Egress intrinsic metadata>
340match_extractions: []
341next state <POV skip> val 0 mask [False]
342parent state <POV initialization>
343
344
345Full merge done <POV initialization> <- <Egress intrinsic metadata>
346Try merge <POV initialization>_<Egress intrinsic metadata> <- <POV skip>
347merge_offset = 0, complete_merge = True
348Before Merge ------
349S1: State : <POV initialization>_<Egress intrinsic metadata>
350shift: 3B
351match_reservations: []
Brian O'Connora6862e02017-09-08 01:17:39 -0700352outputs[addr, width]: ([144, 16], [80, 8])
Carmelo Cascone5db39682017-09-07 16:36:42 +0200353branch on = None, offset = 24b, dst = <POV initialization>_<Egress intrinsic metadata>
354match_extractions: []
355next state <POV skip> val 0 mask [False]
356parent state <Shim start state>
357
358
359S2: State : <POV skip>
360shift: 4B
361match_reservations: []
362outputs[addr, width]: ()
363match_extractions: []
Brian O'Connora6862e02017-09-08 01:17:39 -0700364next state <_parse_bridged_ingress_intrinsic_metadata> val 0 mask [False]
Carmelo Cascone5db39682017-09-07 16:36:42 +0200365parent state <POV initialization>_<Egress intrinsic metadata>
366
367
368Full merge done <POV initialization>_<Egress intrinsic metadata> <- <POV skip>
Brian O'Connora6862e02017-09-08 01:17:39 -0700369Try merge <POV initialization>_<Egress intrinsic metadata>_<POV skip> <- <_parse_bridged_ingress_intrinsic_metadata>
370merge_offset = 0, complete_merge = True
Carmelo Cascone5db39682017-09-07 16:36:42 +0200371Before Merge ------
372S1: State : <POV initialization>_<Egress intrinsic metadata>_<POV skip>
373shift: 7B
374match_reservations: []
Brian O'Connora6862e02017-09-08 01:17:39 -0700375outputs[addr, width]: ([144, 16], [80, 8])
Carmelo Cascone5db39682017-09-07 16:36:42 +0200376branch on = None, offset = 24b, dst = <POV initialization>_<Egress intrinsic metadata>_<POV skip>
377match_extractions: []
Carmelo Cascone5db39682017-09-07 16:36:42 +0200378next state <_parse_bridged_ingress_intrinsic_metadata> val 0 mask [False]
379parent state <Shim start state>
380
381
382S2: State : <_parse_bridged_ingress_intrinsic_metadata>
383shift: 2B
384match_reservations: []
385outputs[addr, width]: ()
386branch promise on = ingress_port, offset = 7b, dst = default_parser
387match_extractions: []
388next state start val 0 mask [False]
Brian O'Connora6862e02017-09-08 01:17:39 -0700389parent state <POV initialization>_<Egress intrinsic metadata>_<POV skip>
Carmelo Cascone5db39682017-09-07 16:36:42 +0200390
391
Brian O'Connora6862e02017-09-08 01:17:39 -0700392Full merge done <POV initialization>_<Egress intrinsic metadata>_<POV skip> <- <_parse_bridged_ingress_intrinsic_metadata>
393Try merge <POV initialization>_<Egress intrinsic metadata>_<POV skip>_<_parse_bridged_ingress_intrinsic_metadata> <- start
Carmelo Cascone5db39682017-09-07 16:36:42 +0200394merge_offset = 0, complete_merge = True
395Before Merge ------
Brian O'Connora6862e02017-09-08 01:17:39 -0700396S1: State : <POV initialization>_<Egress intrinsic metadata>_<POV skip>_<_parse_bridged_ingress_intrinsic_metadata>
397shift: 9B
Carmelo Cascone5db39682017-09-07 16:36:42 +0200398match_reservations: []
Brian O'Connora6862e02017-09-08 01:17:39 -0700399outputs[addr, width]: ([144, 16], [80, 8])
400branch on = None, offset = 24b, dst = <POV initialization>_<Egress intrinsic metadata>_<POV skip>_<_parse_bridged_ingress_intrinsic_metadata>
401branch promise on = ingress_port, offset = 63b, dst = default_parser
Carmelo Cascone5db39682017-09-07 16:36:42 +0200402match_extractions: []
403next state start val 0 mask [False]
404parent state <Shim start state>
405
406
407S2: State : start
408shift: 0B
409match_reservations: []
410outputs[addr, width]: ()
411branch on = None, offset = 96b, dst = start
412match_extractions: []
413next state parse_pkt_in val 0 mask [True, True, True, True, True, True, True, True]
414next state default_parser val 0 mask [False]
Brian O'Connora6862e02017-09-08 01:17:39 -0700415parent state <POV initialization>_<Egress intrinsic metadata>_<POV skip>_<_parse_bridged_ingress_intrinsic_metadata>
Carmelo Cascone5db39682017-09-07 16:36:42 +0200416
417
Brian O'Connora6862e02017-09-08 01:17:39 -0700418Full merge done <POV initialization>_<Egress intrinsic metadata>_<POV skip>_<_parse_bridged_ingress_intrinsic_metadata> <- start
Carmelo Cascone5db39682017-09-07 16:36:42 +0200419Remove state <Egress intrinsic metadata>
420Remove state <POV skip>
Carmelo Cascone5db39682017-09-07 16:36:42 +0200421Remove state <_parse_bridged_ingress_intrinsic_metadata>
422Remove state start
423assign ids to 9 states, dir = 1
424------
425State : <Shim start state>
426shift: 0B
427match_reservations: []
428outputs[addr, width]: ()
429match_extractions: []
Brian O'Connora6862e02017-09-08 01:17:39 -0700430next state <POV initialization>_<Egress intrinsic metadata>_<POV skip>_<_parse_bridged_ingress_intrinsic_metadata>_start val 0 mask [False]
Carmelo Cascone5db39682017-09-07 16:36:42 +0200431
432------
433State : parse_ethernet
434shift: 14B
435match_reservations: []
Brian O'Connora6862e02017-09-08 01:17:39 -0700436outputs[addr, width]: ([81, 8], [300, 8], [270, 32], [338, 16], [301, 8], [271, 32], [339, 16])
Carmelo Cascone5db39682017-09-07 16:36:42 +0200437branch on = etherType, offset = 96b, dst = parse_ethernet
438match_extractions: [match_window(hw_id=0, width=16)]
439match key = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15]
440next state parse_ipv4 val 2048 mask [True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True]
441parent state parse_pkt_in
442parent state parse_pkt_out
443parent state default_parser
444
445------
446State : parse_ipv4
447shift: 20B
448match_reservations: []
Brian O'Connora6862e02017-09-08 01:17:39 -0700449outputs[addr, width]: ([81, 8], [296, 8], [297, 8], [332, 16], [333, 16], [334, 16], [264, 32], [265, 32], [266, 32])
Carmelo Cascone5db39682017-09-07 16:36:42 +0200450branch on = fragOffset, offset = 51b, dst = parse_ipv4
451branch on = protocol, offset = 72b, dst = parse_ipv4
Brian O'Connora6862e02017-09-08 01:17:39 -0700452match_extractions: [match_window(hw_id=0, width=16), match_window(hw_id=2, width=8)]
Carmelo Cascone5db39682017-09-07 16:36:42 +0200453match key = [8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, None, None, None]
Brian O'Connora6862e02017-09-08 01:17:39 -0700454match key = [0, 1, 2, 3, 4, 5, 6, 7]
Carmelo Cascone5db39682017-09-07 16:36:42 +0200455next state parse_tcp val 6 mask [True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True]
456next state parse_udp val 17 mask [True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True]
457parent state parse_ethernet
458
459------
460State : parse_tcp
461shift: 20B
462match_reservations: []
Brian O'Connora6862e02017-09-08 01:17:39 -0700463outputs[addr, width]: ([81, 8], [298, 8], [299, 8], [335, 16], [336, 16], [337, 16], [267, 32], [268, 32], [269, 32])
Carmelo Cascone5db39682017-09-07 16:36:42 +0200464match_extractions: []
465parent state parse_ipv4
466
467------
468State : parse_udp
469shift: 8B
470match_reservations: []
Brian O'Connora6862e02017-09-08 01:17:39 -0700471outputs[addr, width]: ([81, 8], [298, 8], [299, 8], [336, 16], [267, 32])
Carmelo Cascone5db39682017-09-07 16:36:42 +0200472match_extractions: []
473parent state parse_ipv4
474
475------
476State : default_parser
477shift: 0B
478match_reservations: [match_window(hw_id=0, width=16)]
479outputs[addr, width]: ()
Brian O'Connora6862e02017-09-08 01:17:39 -0700480branch on = ingress_port, offset = 63b, dst = default_parser
Carmelo Cascone5db39682017-09-07 16:36:42 +0200481match_extractions: [match_window(hw_id=0, width=16)]
482match key = [0, 1, 2, 3, 4, 5, 6, 7, 8, None, None, None, None, None, None, None]
483next state parse_pkt_out val 320 mask [True, True, True, True, True, True, True, True, True]
484next state parse_ethernet val 0 mask [False]
Brian O'Connora6862e02017-09-08 01:17:39 -0700485parent state <POV initialization>_<Egress intrinsic metadata>_<POV skip>_<_parse_bridged_ingress_intrinsic_metadata>_start
Carmelo Cascone5db39682017-09-07 16:36:42 +0200486
487------
488State : parse_pkt_out
489shift: 2B
490match_reservations: []
Brian O'Connora6862e02017-09-08 01:17:39 -0700491outputs[addr, width]: ([81, 8], [340, 16])
Carmelo Cascone5db39682017-09-07 16:36:42 +0200492match_extractions: []
493next state parse_ethernet val 0 mask [False]
494parent state default_parser
495
496------
Brian O'Connora6862e02017-09-08 01:17:39 -0700497State : <POV initialization>_<Egress intrinsic metadata>_<POV skip>_<_parse_bridged_ingress_intrinsic_metadata>_start
498shift: 9B
Carmelo Cascone5db39682017-09-07 16:36:42 +0200499match_reservations: []
Brian O'Connora6862e02017-09-08 01:17:39 -0700500outputs[addr, width]: ([144, 16], [80, 8])
501branch on = None, offset = 24b, dst = <POV initialization>_<Egress intrinsic metadata>_<POV skip>_<_parse_bridged_ingress_intrinsic_metadata>_start
502branch on = None, offset = 168b, dst = <POV initialization>_<Egress intrinsic metadata>_<POV skip>_<_parse_bridged_ingress_intrinsic_metadata>_start
503branch promise on = ingress_port, offset = 63b, dst = default_parser
504match_extractions: [match_window(hw_id=0, width=16), match_window(hw_id=2, width=8), match_window(hw_id=3, width=8)]
Carmelo Cascone5db39682017-09-07 16:36:42 +0200505match key = [None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None]
Brian O'Connora6862e02017-09-08 01:17:39 -0700506match key = [8, 9, 10, 11, 12, 13, 14, 15]
Carmelo Cascone5db39682017-09-07 16:36:42 +0200507match key = [0, 1, 2, 3, 4, 5, 6, 7]
508next state parse_pkt_in val 0 mask [True, True, True, True, True, True, True, True]
509next state default_parser val 0 mask [False]
510parent state <Shim start state>
511
512------
513State : parse_pkt_in
514shift: 2B
515match_reservations: []
Brian O'Connora6862e02017-09-08 01:17:39 -0700516outputs[addr, width]: ([81, 8], [340, 16])
Carmelo Cascone5db39682017-09-07 16:36:42 +0200517match_extractions: []
518next state parse_ethernet val 0 mask [False]
Brian O'Connora6862e02017-09-08 01:17:39 -0700519parent state <POV initialization>_<Egress intrinsic metadata>_<POV skip>_<_parse_bridged_ingress_intrinsic_metadata>_start
Carmelo Cascone5db39682017-09-07 16:36:42 +0200520