blob: dc1ec65d37624bb2e22d322c040995c7d7d54202 [file] [log] [blame]
Carmelo Casconef1d0a422017-09-07 17:21:46 +02001+---------------------------------------------------------------------+
2| Log file: parde.log |
3| Compiler version: 5.1.0 (fca32d1) |
Carmelo Cascone133c7b12017-09-13 15:36:08 +02004| Created on: Wed Sep 13 12:57:41 2017 |
Carmelo Casconef1d0a422017-09-07 17:21:46 +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 Casconef1d0a422017-09-07 17:21:46 +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'
Carmelo Cascone133c7b12017-09-13 15:36:08 +020021Creating shadow state: 'p4_parse_state.start' -> 'shadow_state (start, 140600561688144)'
22Creating shadow state: 'p4_parse_state.parse_pkt_in' -> 'shadow_state (parse_pkt_in, 140600561687696)'
23Creating shadow state: 'p4_parse_state.parse_ethernet' -> 'shadow_state (parse_ethernet, 140600552825616)'
24Creating shadow state: 'p4_parse_state.parse_ipv4' -> 'shadow_state (parse_ipv4, 140600552825296)'
25Creating shadow state: 'p4_parse_state.parse_tcp' -> 'shadow_state (parse_tcp, 140600552825680)'
26Creating shadow state: 'p4_parse_state.parse_udp' -> 'shadow_state (parse_udp, 140600552824912)'
27Creating shadow state: 'p4_parse_state.default_parser' -> 'shadow_state (default_parser, 140600552825744)'
28Creating shadow state: 'p4_parse_state.parse_pkt_out' -> 'shadow_state (parse_pkt_out, 140600552825808)'
Carmelo Casconef1d0a422017-09-07 17:21:46 +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'
45Skipping metadata header 'p4_header_instance.ecmp_metadata'
46>## Build record ordering for gress 0
Carmelo Casconef1d0a422017-09-07 17:21:46 +020047>## Build field ordering for record 'packet_in_hdr'
Carmelo Cascone6230a612017-09-13 03:25:41 +020048>## Build field ordering for record 'packet_out_hdr'
Carmelo Casconef1d0a422017-09-07 17:21:46 +020049>## Build field ordering for record 'ethernet'
50>## Build field ordering for record 'ipv4'
Carmelo Casconef1d0a422017-09-07 17:21:46 +020051>## Build field ordering for record 'udp'
Brian O'Connora6862e02017-09-08 01:17:39 -070052>## Build field ordering for record 'tcp'
Carmelo Casconef1d0a422017-09-07 17:21:46 +020053>## Create records for gress 1
54Skipping metadata header 'p4_header_instance.standard_metadata'
55Skipping intrinsic header 'p4_header_instance.ig_intr_md'
56Skipping intrinsic header 'p4_header_instance.ig_intr_md_for_tm'
57Skipping intrinsic header 'p4_header_instance.ig_intr_md_for_mb'
58Skipping intrinsic header 'p4_header_instance.eg_intr_md'
59Skipping intrinsic header 'p4_header_instance.eg_intr_md_for_mb'
60Skipping intrinsic header 'p4_header_instance.eg_intr_md_for_oport'
61Created record for 'p4_header_instance.packet_in_hdr'
62Created record for 'p4_header_instance.packet_out_hdr'
63Created record for 'p4_header_instance.ethernet'
64Created record for 'p4_header_instance.ipv4'
65Created record for 'p4_header_instance.tcp'
66Created record for 'p4_header_instance.udp'
67Skipping metadata header 'p4_header_instance.ecmp_metadata'
68>## Build record ordering for gress 1
Carmelo Casconef1d0a422017-09-07 17:21:46 +020069>## Build field ordering for record 'packet_in_hdr'
Carmelo Cascone6230a612017-09-13 03:25:41 +020070>## Build field ordering for record 'packet_out_hdr'
Carmelo Casconef1d0a422017-09-07 17:21:46 +020071>## Build field ordering for record 'ethernet'
72>## Build field ordering for record 'ipv4'
Carmelo Casconef1d0a422017-09-07 17:21:46 +020073>## Build field ordering for record 'udp'
Brian O'Connora6862e02017-09-08 01:17:39 -070074>## Build field ordering for record 'tcp'
Carmelo Casconef1d0a422017-09-07 17:21:46 +020075Deparse bmeta_ig_intr_md header
76>## Create deparser bridge_ig_intr_md record
77Add container 128 for ig_intr_md.resubmit_flag to bmeta_ig_intr_md
78Add container 128 for ig_intr_md._pad1 to bmeta_ig_intr_md
79Add container 128 for ig_intr_md._pad2 to bmeta_ig_intr_md
80Add container 128 for ig_intr_md._pad3 to bmeta_ig_intr_md
81Add container 128 for ig_intr_md.ingress_port to bmeta_ig_intr_md
82>## Create deparser bridge record
Carmelo Casconef1d0a422017-09-07 17:21:46 +020083># End deparser init
84Constructing parse graph for entry point start on ingress
85Constructing parse graph for entry point start on egress
86Adding special Egress state to access ingress intrisic metadata
87Egress intrinsic metadata unconditional extraction plan: ExtractionPlan { shift 24, extractions ['eg_intr_md.egress_port', 'eg_intr_md.egress_cos'] }
88Egress intrinsic metadata conditional extraction plan: ExtractionPlan { shift 0, extractions [] }
89Stretch extraction of ingress_port to state <Ingress intrinsic metadata> offset 7
90Stretch extraction of ig_intr_md.ingress_port to state <_parse_bridged_ingress_intrinsic_metadata> offset 7
91># Begin scraping deparser POV allocation from raw PHV allocation
Carmelo Cascone6230a612017-09-13 03:25:41 +020092PHV layout: [0, 0, 0, 0, 68, 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 Casconef1d0a422017-09-07 17:21:46 +020093>## Scraping individual POV records
Carmelo Cascone8aa05482017-09-12 13:21:59 +020094POV 33 -> packet_out_hdr
95POV 34 -> ethernet
Carmelo Casconef1d0a422017-09-07 17:21:46 +020096POV 35 -> ipv4
97POV 36 -> tcp
Brian O'Connora6862e02017-09-08 01:17:39 -070098POV 37 -> udp
Brian O'Connora6862e02017-09-08 01:17:39 -070099POV 38 -> pov_bmeta
Carmelo Cascone6230a612017-09-13 03:25:41 +0200100POV 32 -> packet_in_hdr
Carmelo Casconef1d0a422017-09-07 17:21:46 +0200101>## Setting up array bits
102># End scraping deparser POV allocation from raw PHV allocation
103># Begin parser POV rewrite
104>## Filling in POV init state
105>## Rewriting parser POV extractions
Carmelo Cascone6230a612017-09-13 03:25:41 +0200106POV for metadata_bridge -> PHV 68 |= 0x40
107POV for packet_in_hdr -> PHV 68 |= 0x1
108POV for ethernet -> PHV 68 |= 0x4
109POV for ipv4 -> PHV 68 |= 0x8
110POV for tcp -> PHV 68 |= 0x10
111POV for udp -> PHV 68 |= 0x20
112POV for packet_out_hdr -> PHV 68 |= 0x2
Carmelo Casconef1d0a422017-09-07 17:21:46 +0200113POV for ig_intr_md -> dropped (no deparser record)
114POV for _bridged_intr_md_ -> PHV 0 |= 0x10000
115>## Sampling not detected, deparsing at least 1 POV byte
116>## Adding POV containers to metadata bridge: [0]
117>## Set POV skip state's shift amount to 32
118># Begin scraping deparser POV allocation from raw PHV allocation
Brian O'Connora6862e02017-09-08 01:17:39 -0700119PHV 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 Casconef1d0a422017-09-07 17:21:46 +0200120>## Scraping individual POV records
Carmelo Casconef1d0a422017-09-07 17:21:46 +0200121POV 1 -> packet_out_hdr
122POV 2 -> ethernet
Carmelo Cascone8aa05482017-09-12 13:21:59 +0200123POV 3 -> ipv4
124POV 4 -> tcp
125POV 5 -> udp
Carmelo Cascone6230a612017-09-13 03:25:41 +0200126POV 0 -> packet_in_hdr
Carmelo Casconef1d0a422017-09-07 17:21:46 +0200127>## Setting up array bits
128># End scraping deparser POV allocation from raw PHV allocation
129># Begin parser POV rewrite
130>## Filling in POV init state
131>## Rewriting parser POV extractions
Brian O'Connora6862e02017-09-08 01:17:39 -0700132POV for packet_in_hdr -> PHV 81 |= 0x1
133POV for ethernet -> PHV 81 |= 0x4
134POV for ipv4 -> PHV 81 |= 0x8
135POV for tcp -> PHV 81 |= 0x10
136POV for udp -> PHV 81 |= 0x20
137POV for packet_out_hdr -> PHV 81 |= 0x2
Carmelo Casconef1d0a422017-09-07 17:21:46 +0200138Linear Chain parse_pkt_in -> parse_ethernet
139Try merge parse_pkt_in <- parse_ethernet
140Multiple paths to state S2 : parse_ethernet <- 3
141Linear Chain <POV initialization> -> start
142Try merge <POV initialization> <- <Ingress intrinsic metadata>
143merge output at offset 0
144Merge s2 constant extraction v=1 phv=0
145merge_offset = 16, complete_merge = True
146Before Merge ------
147S1: State : <POV initialization>
148shift: 0B
149match_reservations: []
150outputs[addr, width]: ()
151match_extractions: []
152next state <Ingress intrinsic metadata> val 0 mask [False]
153parent state <Shim start state>
154
155
156S2: State : <Ingress intrinsic metadata>
157shift: 8B
158match_reservations: []
159outputs[addr, width]: ([128, 16], [0, 32])
160branch on = None, offset = 0b, dst = <Ingress intrinsic metadata>
161branch promise on = ingress_port, offset = 7b, dst = default_parser
162match_extractions: []
163next state <Phase 0> val 0 mask [True]
164parent state <POV initialization>
165
166
167Full merge done <POV initialization> <- <Ingress intrinsic metadata>
168Try merge <POV initialization>_<Ingress intrinsic metadata> <- <Phase 0>
169merge_offset = 0, complete_merge = True
170Before Merge ------
171S1: State : <POV initialization>_<Ingress intrinsic metadata>
172shift: 8B
173match_reservations: []
174outputs[addr, width]: ([128, 16], [0, 32])
175branch on = None, offset = 0b, dst = <POV initialization>_<Ingress intrinsic metadata>
176branch promise on = ingress_port, offset = 7b, dst = default_parser
177match_extractions: []
178next state <Phase 0> val 0 mask [True]
179parent state <Shim start state>
180
181
182S2: State : <Phase 0>
183shift: 8B
184match_reservations: []
185outputs[addr, width]: ()
186branch on = None, offset = 0b, dst = <Phase 0>
187match_extractions: []
188next state start val 0 mask [False]
189parent state <POV initialization>_<Ingress intrinsic metadata>
190
191
192Full merge done <POV initialization>_<Ingress intrinsic metadata> <- <Phase 0>
193Try merge <POV initialization>_<Ingress intrinsic metadata>_<Phase 0> <- start
194Multiple paths to state S2 : start <- 2
195Remove state <Ingress intrinsic metadata>
196Remove state <Phase 0>
Carmelo Cascone6230a612017-09-13 03:25:41 +0200197assign ids to 10 states, dir = 0
Carmelo Casconef1d0a422017-09-07 17:21:46 +0200198------
199State : <Shim start state>
200shift: 0B
201match_reservations: []
202outputs[addr, width]: ()
203match_extractions: []
204next state <POV initialization>_<Ingress intrinsic metadata>_<Phase 0> val 0 mask [False]
205
206------
207State : parse_pkt_in
208shift: 2B
209match_reservations: []
Carmelo Cascone6230a612017-09-13 03:25:41 +0200210outputs[addr, width]: ([68, 8], [129, 16])
Carmelo Casconef1d0a422017-09-07 17:21:46 +0200211match_extractions: []
212next state parse_ethernet val 0 mask [False]
213parent state start
214
215------
216State : parse_ethernet
217shift: 14B
218match_reservations: []
Carmelo Cascone6230a612017-09-13 03:25:41 +0200219outputs[addr, width]: ([68, 8], [66, 8], [4, 32], [133, 16], [67, 8], [5, 32], [134, 16])
Carmelo Casconef1d0a422017-09-07 17:21:46 +0200220branch on = etherType, offset = 96b, dst = parse_ethernet
221match_extractions: [match_window(hw_id=0, width=16)]
222match key = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15]
223next state parse_ipv4 val 2048 mask [True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True]
224parent state parse_pkt_in
225parent state parse_pkt_out
226parent state default_parser
227
228------
229State : parse_ipv4
230shift: 20B
231match_reservations: []
Carmelo Cascone6230a612017-09-13 03:25:41 +0200232outputs[addr, width]: ([68, 8], [288, 8], [320, 16], [321, 16], [256, 32], [1, 32], [64, 8], [131, 16], [2, 32])
Carmelo Casconef1d0a422017-09-07 17:21:46 +0200233branch on = fragOffset, offset = 51b, dst = parse_ipv4
234branch on = protocol, offset = 72b, dst = parse_ipv4
Carmelo Cascone6230a612017-09-13 03:25:41 +0200235match_extractions: [match_window(hw_id=0, width=16), match_window(hw_id=2, width=8)]
Carmelo Cascone8aa05482017-09-12 13:21:59 +0200236match key = [8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, None, None, None]
Carmelo Cascone6230a612017-09-13 03:25:41 +0200237match key = [0, 1, 2, 3, 4, 5, 6, 7]
Carmelo Casconef1d0a422017-09-07 17:21:46 +0200238next 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]
239next 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]
240parent state parse_ethernet
241
242------
243State : parse_tcp
Carmelo Cascone6230a612017-09-13 03:25:41 +0200244shift: 20B
Carmelo Casconef1d0a422017-09-07 17:21:46 +0200245match_reservations: []
Carmelo Cascone6230a612017-09-13 03:25:41 +0200246outputs[addr, width]: ([68, 8], [65, 8], [132, 16], [3, 32], [289, 8], [322, 16], [323, 16], [257, 32], [258, 32])
Carmelo Casconef1d0a422017-09-07 17:21:46 +0200247match_extractions: []
248parent state parse_ipv4
249
250------
251State : parse_udp
252shift: 8B
253match_reservations: []
Carmelo Cascone6230a612017-09-13 03:25:41 +0200254outputs[addr, width]: ([68, 8], [289, 8], [65, 8], [322, 16], [257, 32])
Carmelo Casconef1d0a422017-09-07 17:21:46 +0200255match_extractions: []
256parent state parse_ipv4
257
258------
259State : default_parser
260shift: 0B
261match_reservations: [match_window(hw_id=0, width=16)]
262outputs[addr, width]: ()
263branch on = ingress_port, offset = 7b, dst = default_parser
264match_extractions: [match_window(hw_id=0, width=16)]
265match key = [0, 1, 2, 3, 4, 5, 6, 7, 8, None, None, None, None, None, None, None]
266next state parse_pkt_out val 320 mask [True, True, True, True, True, True, True, True, True]
267next state parse_ethernet val 0 mask [False]
268parent state start
269
270------
271State : parse_pkt_out
272shift: 2B
273match_reservations: []
Carmelo Cascone6230a612017-09-13 03:25:41 +0200274outputs[addr, width]: ([68, 8], [129, 16])
Carmelo Casconef1d0a422017-09-07 17:21:46 +0200275match_extractions: []
276next state parse_ethernet val 0 mask [False]
277parent state default_parser
278
279------
280State : <POV initialization>_<Ingress intrinsic metadata>_<Phase 0>
281shift: 16B
282match_reservations: []
283outputs[addr, width]: ([128, 16], [0, 32])
284branch on = None, offset = 0b, dst = <POV initialization>_<Ingress intrinsic metadata>_<Phase 0>
285branch on = None, offset = 64b, dst = <POV initialization>_<Ingress intrinsic metadata>_<Phase 0>
286branch promise on = ingress_port, offset = 7b, dst = default_parser
Carmelo Cascone6230a612017-09-13 03:25:41 +0200287match_extractions: [match_window(hw_id=0, width=16), match_window(hw_id=2, width=8)]
Carmelo Cascone8aa05482017-09-12 13:21:59 +0200288match key = [None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, 8]
Carmelo Cascone6230a612017-09-13 03:25:41 +0200289match key = [0, 1, 2, 3, 4, 5, 6, 7]
Carmelo Casconef1d0a422017-09-07 17:21:46 +0200290next state start val 0 mask [False]
291parent state <Shim start state>
292
293------
294State : start
295shift: 0B
296match_reservations: [match_window(hw_id=0, width=16)]
Carmelo Cascone6230a612017-09-13 03:25:41 +0200297outputs[addr, width]: ([68, 8],)
Carmelo Casconef1d0a422017-09-07 17:21:46 +0200298branch on = None, offset = 96b, dst = start
299match_extractions: [match_window(hw_id=2, width=8)]
300match key = [0, 1, 2, 3, 4, 5, 6, 7]
301next state parse_pkt_in val 0 mask [True, True, True, True, True, True, True, True]
302next state default_parser val 0 mask [False]
303parent state <POV initialization>_<Ingress intrinsic metadata>_<Phase 0>
304
305Linear Chain parse_pkt_in -> parse_ethernet
306Try merge parse_pkt_in <- parse_ethernet
307Multiple paths to state S2 : parse_ethernet <- 3
308Linear Chain <POV initialization> -> start
309Try merge <POV initialization> <- <Egress intrinsic metadata>
310merge output at offset 0
311merge output at offset 16
312merge_offset = 24, complete_merge = True
313Before Merge ------
314S1: State : <POV initialization>
315shift: 0B
316match_reservations: []
317outputs[addr, width]: ()
318match_extractions: []
319next state <Egress intrinsic metadata> val 0 mask [False]
320parent state <Shim start state>
321
322
323S2: State : <Egress intrinsic metadata>
324shift: 3B
325match_reservations: []
Brian O'Connora6862e02017-09-08 01:17:39 -0700326outputs[addr, width]: ([144, 16], [80, 8])
Carmelo Casconef1d0a422017-09-07 17:21:46 +0200327branch on = None, offset = 24b, dst = <Egress intrinsic metadata>
328match_extractions: []
329next state <POV skip> val 0 mask [False]
330parent state <POV initialization>
331
332
333Full merge done <POV initialization> <- <Egress intrinsic metadata>
334Try merge <POV initialization>_<Egress intrinsic metadata> <- <POV skip>
335merge_offset = 0, complete_merge = True
336Before Merge ------
337S1: State : <POV initialization>_<Egress intrinsic metadata>
338shift: 3B
339match_reservations: []
Brian O'Connora6862e02017-09-08 01:17:39 -0700340outputs[addr, width]: ([144, 16], [80, 8])
Carmelo Casconef1d0a422017-09-07 17:21:46 +0200341branch on = None, offset = 24b, dst = <POV initialization>_<Egress intrinsic metadata>
342match_extractions: []
343next state <POV skip> val 0 mask [False]
344parent state <Shim start state>
345
346
347S2: State : <POV skip>
348shift: 4B
349match_reservations: []
350outputs[addr, width]: ()
351match_extractions: []
Brian O'Connora6862e02017-09-08 01:17:39 -0700352next state <_parse_bridged_ingress_intrinsic_metadata> val 0 mask [False]
Carmelo Casconef1d0a422017-09-07 17:21:46 +0200353parent state <POV initialization>_<Egress intrinsic metadata>
354
355
356Full merge done <POV initialization>_<Egress intrinsic metadata> <- <POV skip>
Brian O'Connora6862e02017-09-08 01:17:39 -0700357Try merge <POV initialization>_<Egress intrinsic metadata>_<POV skip> <- <_parse_bridged_ingress_intrinsic_metadata>
358merge_offset = 0, complete_merge = True
Carmelo Casconef1d0a422017-09-07 17:21:46 +0200359Before Merge ------
360S1: State : <POV initialization>_<Egress intrinsic metadata>_<POV skip>
361shift: 7B
362match_reservations: []
Brian O'Connora6862e02017-09-08 01:17:39 -0700363outputs[addr, width]: ([144, 16], [80, 8])
Carmelo Casconef1d0a422017-09-07 17:21:46 +0200364branch on = None, offset = 24b, dst = <POV initialization>_<Egress intrinsic metadata>_<POV skip>
365match_extractions: []
Carmelo Casconef1d0a422017-09-07 17:21:46 +0200366next state <_parse_bridged_ingress_intrinsic_metadata> val 0 mask [False]
367parent state <Shim start state>
368
369
370S2: State : <_parse_bridged_ingress_intrinsic_metadata>
371shift: 2B
372match_reservations: []
373outputs[addr, width]: ()
374branch promise on = ingress_port, offset = 7b, dst = default_parser
375match_extractions: []
376next state start val 0 mask [False]
Brian O'Connora6862e02017-09-08 01:17:39 -0700377parent state <POV initialization>_<Egress intrinsic metadata>_<POV skip>
Carmelo Casconef1d0a422017-09-07 17:21:46 +0200378
379
Brian O'Connora6862e02017-09-08 01:17:39 -0700380Full merge done <POV initialization>_<Egress intrinsic metadata>_<POV skip> <- <_parse_bridged_ingress_intrinsic_metadata>
381Try merge <POV initialization>_<Egress intrinsic metadata>_<POV skip>_<_parse_bridged_ingress_intrinsic_metadata> <- start
Carmelo Casconef1d0a422017-09-07 17:21:46 +0200382merge_offset = 0, complete_merge = True
383Before Merge ------
Brian O'Connora6862e02017-09-08 01:17:39 -0700384S1: State : <POV initialization>_<Egress intrinsic metadata>_<POV skip>_<_parse_bridged_ingress_intrinsic_metadata>
385shift: 9B
Carmelo Casconef1d0a422017-09-07 17:21:46 +0200386match_reservations: []
Brian O'Connora6862e02017-09-08 01:17:39 -0700387outputs[addr, width]: ([144, 16], [80, 8])
388branch on = None, offset = 24b, dst = <POV initialization>_<Egress intrinsic metadata>_<POV skip>_<_parse_bridged_ingress_intrinsic_metadata>
389branch promise on = ingress_port, offset = 63b, dst = default_parser
Carmelo Casconef1d0a422017-09-07 17:21:46 +0200390match_extractions: []
391next state start val 0 mask [False]
392parent state <Shim start state>
393
394
395S2: State : start
396shift: 0B
397match_reservations: []
398outputs[addr, width]: ()
399branch on = None, offset = 96b, dst = start
400match_extractions: []
401next state parse_pkt_in val 0 mask [True, True, True, True, True, True, True, True]
402next state default_parser val 0 mask [False]
Brian O'Connora6862e02017-09-08 01:17:39 -0700403parent state <POV initialization>_<Egress intrinsic metadata>_<POV skip>_<_parse_bridged_ingress_intrinsic_metadata>
Carmelo Casconef1d0a422017-09-07 17:21:46 +0200404
405
Brian O'Connora6862e02017-09-08 01:17:39 -0700406Full merge done <POV initialization>_<Egress intrinsic metadata>_<POV skip>_<_parse_bridged_ingress_intrinsic_metadata> <- start
Carmelo Casconef1d0a422017-09-07 17:21:46 +0200407Remove state <Egress intrinsic metadata>
408Remove state <POV skip>
Carmelo Casconef1d0a422017-09-07 17:21:46 +0200409Remove state <_parse_bridged_ingress_intrinsic_metadata>
410Remove state start
411assign ids to 9 states, dir = 1
412------
413State : <Shim start state>
414shift: 0B
415match_reservations: []
416outputs[addr, width]: ()
417match_extractions: []
Brian O'Connora6862e02017-09-08 01:17:39 -0700418next state <POV initialization>_<Egress intrinsic metadata>_<POV skip>_<_parse_bridged_ingress_intrinsic_metadata>_start val 0 mask [False]
Carmelo Casconef1d0a422017-09-07 17:21:46 +0200419
420------
421State : parse_ethernet
422shift: 14B
423match_reservations: []
Carmelo Cascone6230a612017-09-13 03:25:41 +0200424outputs[addr, width]: ([81, 8], [296, 8], [266, 32], [332, 16], [297, 8], [267, 32], [333, 16])
Carmelo Casconef1d0a422017-09-07 17:21:46 +0200425branch on = etherType, offset = 96b, dst = parse_ethernet
426match_extractions: [match_window(hw_id=0, width=16)]
427match key = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15]
428next state parse_ipv4 val 2048 mask [True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True]
429parent state parse_pkt_in
430parent state parse_pkt_out
431parent state default_parser
432
433------
434State : parse_ipv4
435shift: 20B
436match_reservations: []
Carmelo Cascone6230a612017-09-13 03:25:41 +0200437outputs[addr, width]: ([81, 8], [292, 8], [293, 8], [326, 16], [327, 16], [328, 16], [260, 32], [261, 32], [262, 32])
Carmelo Casconef1d0a422017-09-07 17:21:46 +0200438branch on = fragOffset, offset = 51b, dst = parse_ipv4
439branch on = protocol, offset = 72b, dst = parse_ipv4
Carmelo Cascone6230a612017-09-13 03:25:41 +0200440match_extractions: [match_window(hw_id=0, width=16), match_window(hw_id=2, width=8)]
Carmelo Cascone8aa05482017-09-12 13:21:59 +0200441match key = [8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, None, None, None]
Carmelo Cascone6230a612017-09-13 03:25:41 +0200442match key = [0, 1, 2, 3, 4, 5, 6, 7]
Carmelo Casconef1d0a422017-09-07 17:21:46 +0200443next 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]
444next 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]
445parent state parse_ethernet
446
447------
448State : parse_tcp
449shift: 20B
450match_reservations: []
Carmelo Cascone6230a612017-09-13 03:25:41 +0200451outputs[addr, width]: ([81, 8], [294, 8], [295, 8], [329, 16], [330, 16], [331, 16], [263, 32], [264, 32], [265, 32])
Carmelo Casconef1d0a422017-09-07 17:21:46 +0200452match_extractions: []
453parent state parse_ipv4
454
455------
456State : parse_udp
457shift: 8B
458match_reservations: []
Carmelo Cascone6230a612017-09-13 03:25:41 +0200459outputs[addr, width]: ([81, 8], [294, 8], [295, 8], [329, 16], [263, 32])
Carmelo Casconef1d0a422017-09-07 17:21:46 +0200460match_extractions: []
461parent state parse_ipv4
462
463------
464State : default_parser
465shift: 0B
466match_reservations: [match_window(hw_id=0, width=16)]
467outputs[addr, width]: ()
Brian O'Connora6862e02017-09-08 01:17:39 -0700468branch on = ingress_port, offset = 63b, dst = default_parser
Carmelo Casconef1d0a422017-09-07 17:21:46 +0200469match_extractions: [match_window(hw_id=0, width=16)]
470match key = [0, 1, 2, 3, 4, 5, 6, 7, 8, None, None, None, None, None, None, None]
471next state parse_pkt_out val 320 mask [True, True, True, True, True, True, True, True, True]
472next state parse_ethernet val 0 mask [False]
Brian O'Connora6862e02017-09-08 01:17:39 -0700473parent state <POV initialization>_<Egress intrinsic metadata>_<POV skip>_<_parse_bridged_ingress_intrinsic_metadata>_start
Carmelo Casconef1d0a422017-09-07 17:21:46 +0200474
475------
476State : parse_pkt_out
477shift: 2B
478match_reservations: []
Carmelo Cascone6230a612017-09-13 03:25:41 +0200479outputs[addr, width]: ([81, 8], [334, 16])
Carmelo Casconef1d0a422017-09-07 17:21:46 +0200480match_extractions: []
481next state parse_ethernet val 0 mask [False]
482parent state default_parser
483
484------
Brian O'Connora6862e02017-09-08 01:17:39 -0700485State : <POV initialization>_<Egress intrinsic metadata>_<POV skip>_<_parse_bridged_ingress_intrinsic_metadata>_start
486shift: 9B
Carmelo Casconef1d0a422017-09-07 17:21:46 +0200487match_reservations: []
Brian O'Connora6862e02017-09-08 01:17:39 -0700488outputs[addr, width]: ([144, 16], [80, 8])
489branch on = None, offset = 24b, dst = <POV initialization>_<Egress intrinsic metadata>_<POV skip>_<_parse_bridged_ingress_intrinsic_metadata>_start
490branch on = None, offset = 168b, dst = <POV initialization>_<Egress intrinsic metadata>_<POV skip>_<_parse_bridged_ingress_intrinsic_metadata>_start
491branch promise on = ingress_port, offset = 63b, dst = default_parser
Carmelo Cascone6230a612017-09-13 03:25:41 +0200492match_extractions: [match_window(hw_id=0, width=16), match_window(hw_id=2, width=8), match_window(hw_id=3, width=8)]
Carmelo Cascone8aa05482017-09-12 13:21:59 +0200493match key = [None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None]
Carmelo Cascone6230a612017-09-13 03:25:41 +0200494match key = [8, 9, 10, 11, 12, 13, 14, 15]
Carmelo Casconef1d0a422017-09-07 17:21:46 +0200495match key = [0, 1, 2, 3, 4, 5, 6, 7]
496next state parse_pkt_in val 0 mask [True, True, True, True, True, True, True, True]
497next state default_parser val 0 mask [False]
498parent state <Shim start state>
499
500------
501State : parse_pkt_in
502shift: 2B
503match_reservations: []
Carmelo Cascone6230a612017-09-13 03:25:41 +0200504outputs[addr, width]: ([81, 8], [334, 16])
Carmelo Casconef1d0a422017-09-07 17:21:46 +0200505match_extractions: []
506next state parse_ethernet val 0 mask [False]
Brian O'Connora6862e02017-09-08 01:17:39 -0700507parent state <POV initialization>_<Egress intrinsic metadata>_<POV skip>_<_parse_bridged_ingress_intrinsic_metadata>_start
Carmelo Casconef1d0a422017-09-07 17:21:46 +0200508