blob: d2894f85e749e8215717b6872e1475e968cc813f [file] [log] [blame]
Carmelo Casconef1d0a422017-09-07 17:21:46 +02001+---------------------------------------------------------------------+
2| Log file: parde.log |
3| Compiler version: 5.1.0 (fca32d1) |
Carmelo Cascone8aa05482017-09-12 13:21:59 +02004| Created on: Tue Sep 12 11:15:53 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 Cascone8aa05482017-09-12 13:21:59 +020021Creating shadow state: 'p4_parse_state.start' -> 'shadow_state (start, 140012609633872)'
22Creating shadow state: 'p4_parse_state.parse_pkt_in' -> 'shadow_state (parse_pkt_in, 140012609450640)'
23Creating shadow state: 'p4_parse_state.parse_ethernet' -> 'shadow_state (parse_ethernet, 140012609451216)'
24Creating shadow state: 'p4_parse_state.parse_ipv4' -> 'shadow_state (parse_ipv4, 140012609450448)'
25Creating shadow state: 'p4_parse_state.parse_tcp' -> 'shadow_state (parse_tcp, 140012609451280)'
26Creating shadow state: 'p4_parse_state.parse_udp' -> 'shadow_state (parse_udp, 140012609450064)'
27Creating shadow state: 'p4_parse_state.default_parser' -> 'shadow_state (default_parser, 140012609451344)'
28Creating shadow state: 'p4_parse_state.parse_pkt_out' -> 'shadow_state (parse_pkt_out, 140012609451408)'
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
47>## Build field ordering for record 'packet_out_hdr'
48>## Build field ordering for record 'packet_in_hdr'
49>## 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
69>## Build field ordering for record 'packet_out_hdr'
70>## Build field ordering for record 'packet_in_hdr'
71>## 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
Brian O'Connora6862e02017-09-08 01:17:39 -070092PHV layout: [0, 0, 0, 0, 67, 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 32 -> packet_in_hdr
95POV 33 -> packet_out_hdr
96POV 34 -> ethernet
Carmelo Casconef1d0a422017-09-07 17:21:46 +020097POV 35 -> ipv4
98POV 36 -> tcp
Brian O'Connora6862e02017-09-08 01:17:39 -070099POV 37 -> udp
Brian O'Connora6862e02017-09-08 01:17:39 -0700100POV 38 -> pov_bmeta
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
Brian O'Connora6862e02017-09-08 01:17:39 -0700106POV for metadata_bridge -> PHV 67 |= 0x40
107POV for packet_in_hdr -> PHV 67 |= 0x1
108POV for ethernet -> PHV 67 |= 0x4
109POV for ipv4 -> PHV 67 |= 0x8
110POV for tcp -> PHV 67 |= 0x10
111POV for udp -> PHV 67 |= 0x20
112POV for packet_out_hdr -> PHV 67 |= 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 0 -> packet_in_hdr
122POV 1 -> packet_out_hdr
123POV 2 -> ethernet
Carmelo Cascone8aa05482017-09-12 13:21:59 +0200124POV 3 -> ipv4
125POV 4 -> tcp
126POV 5 -> udp
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
138Linear Chain parse_tcp -> parse_tcp//spilled
139Try merge parse_tcp <- parse_tcp//spilled
140merge output at offset 24
141Ran out of 8b extractors
142states will not be partially merged since S2 is end of chain
Carmelo Casconef1d0a422017-09-07 17:21:46 +0200143Linear Chain parse_pkt_in -> parse_ethernet
144Try merge parse_pkt_in <- parse_ethernet
145Multiple paths to state S2 : parse_ethernet <- 3
146Linear Chain <POV initialization> -> start
147Try merge <POV initialization> <- <Ingress intrinsic metadata>
148merge output at offset 0
149Merge s2 constant extraction v=1 phv=0
150merge_offset = 16, complete_merge = True
151Before Merge ------
152S1: State : <POV initialization>
153shift: 0B
154match_reservations: []
155outputs[addr, width]: ()
156match_extractions: []
157next state <Ingress intrinsic metadata> val 0 mask [False]
158parent state <Shim start state>
159
160
161S2: State : <Ingress intrinsic metadata>
162shift: 8B
163match_reservations: []
164outputs[addr, width]: ([128, 16], [0, 32])
165branch on = None, offset = 0b, dst = <Ingress intrinsic metadata>
166branch promise on = ingress_port, offset = 7b, dst = default_parser
167match_extractions: []
168next state <Phase 0> val 0 mask [True]
169parent state <POV initialization>
170
171
172Full merge done <POV initialization> <- <Ingress intrinsic metadata>
173Try merge <POV initialization>_<Ingress intrinsic metadata> <- <Phase 0>
174merge_offset = 0, complete_merge = True
175Before Merge ------
176S1: State : <POV initialization>_<Ingress intrinsic metadata>
177shift: 8B
178match_reservations: []
179outputs[addr, width]: ([128, 16], [0, 32])
180branch on = None, offset = 0b, dst = <POV initialization>_<Ingress intrinsic metadata>
181branch promise on = ingress_port, offset = 7b, dst = default_parser
182match_extractions: []
183next state <Phase 0> val 0 mask [True]
184parent state <Shim start state>
185
186
187S2: State : <Phase 0>
188shift: 8B
189match_reservations: []
190outputs[addr, width]: ()
191branch on = None, offset = 0b, dst = <Phase 0>
192match_extractions: []
193next state start val 0 mask [False]
194parent state <POV initialization>_<Ingress intrinsic metadata>
195
196
197Full merge done <POV initialization>_<Ingress intrinsic metadata> <- <Phase 0>
198Try merge <POV initialization>_<Ingress intrinsic metadata>_<Phase 0> <- start
199Multiple paths to state S2 : start <- 2
200Remove state <Ingress intrinsic metadata>
201Remove state <Phase 0>
Brian O'Connora6862e02017-09-08 01:17:39 -0700202assign ids to 11 states, dir = 0
Carmelo Casconef1d0a422017-09-07 17:21:46 +0200203------
204State : <Shim start state>
205shift: 0B
206match_reservations: []
207outputs[addr, width]: ()
208match_extractions: []
209next state <POV initialization>_<Ingress intrinsic metadata>_<Phase 0> val 0 mask [False]
210
211------
212State : parse_pkt_in
213shift: 2B
214match_reservations: []
Brian O'Connora6862e02017-09-08 01:17:39 -0700215outputs[addr, width]: ([67, 8], [129, 16])
Carmelo Casconef1d0a422017-09-07 17:21:46 +0200216match_extractions: []
217next state parse_ethernet val 0 mask [False]
218parent state start
219
220------
221State : parse_ethernet
222shift: 14B
223match_reservations: []
Brian O'Connora6862e02017-09-08 01:17:39 -0700224outputs[addr, width]: ([67, 8], [65, 8], [3, 32], [132, 16], [66, 8], [4, 32], [133, 16])
Carmelo Casconef1d0a422017-09-07 17:21:46 +0200225branch on = etherType, offset = 96b, dst = parse_ethernet
226match_extractions: [match_window(hw_id=0, width=16)]
227match key = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15]
228next state parse_ipv4 val 2048 mask [True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True]
229parent state parse_pkt_in
230parent state parse_pkt_out
231parent state default_parser
232
233------
234State : parse_ipv4
235shift: 20B
236match_reservations: []
Brian O'Connora6862e02017-09-08 01:17:39 -0700237outputs[addr, width]: ([67, 8], [288, 8], [320, 16], [321, 16], [256, 32], [1, 32], [64, 8], [131, 16], [2, 32])
Carmelo Casconef1d0a422017-09-07 17:21:46 +0200238branch on = fragOffset, offset = 51b, dst = parse_ipv4
239branch on = protocol, offset = 72b, dst = parse_ipv4
Carmelo Cascone8aa05482017-09-12 13:21:59 +0200240match_extractions: [match_window(hw_id=2, width=8), match_window(hw_id=0, width=16)]
Carmelo Casconef1d0a422017-09-07 17:21:46 +0200241match key = [0, 1, 2, 3, 4, 5, 6, 7]
Carmelo Cascone8aa05482017-09-12 13:21:59 +0200242match key = [8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, None, None, None]
Carmelo Casconef1d0a422017-09-07 17:21:46 +0200243next 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]
244next 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]
245parent state parse_ethernet
246
247------
248State : parse_tcp
Brian O'Connora6862e02017-09-08 01:17:39 -0700249shift: 0B
Carmelo Casconef1d0a422017-09-07 17:21:46 +0200250match_reservations: []
Brian O'Connora6862e02017-09-08 01:17:39 -0700251outputs[addr, width]: ([67, 8], [289, 8], [290, 8], [291, 8], [322, 16], [323, 16], [324, 16], [325, 16], [257, 32], [258, 32])
Carmelo Casconef1d0a422017-09-07 17:21:46 +0200252match_extractions: []
Brian O'Connora6862e02017-09-08 01:17:39 -0700253next state parse_tcp//spilled val 0 mask [False]
Carmelo Casconef1d0a422017-09-07 17:21:46 +0200254parent state parse_ipv4
255
256------
257State : parse_udp
258shift: 8B
259match_reservations: []
Brian O'Connora6862e02017-09-08 01:17:39 -0700260outputs[addr, width]: ([67, 8], [5, 32], [289, 8], [290, 8], [322, 16])
Carmelo Casconef1d0a422017-09-07 17:21:46 +0200261match_extractions: []
262parent state parse_ipv4
263
264------
265State : default_parser
266shift: 0B
267match_reservations: [match_window(hw_id=0, width=16)]
268outputs[addr, width]: ()
269branch on = ingress_port, offset = 7b, dst = default_parser
270match_extractions: [match_window(hw_id=0, width=16)]
271match key = [0, 1, 2, 3, 4, 5, 6, 7, 8, None, None, None, None, None, None, None]
272next state parse_pkt_out val 320 mask [True, True, True, True, True, True, True, True, True]
273next state parse_ethernet val 0 mask [False]
274parent state start
275
276------
277State : parse_pkt_out
278shift: 2B
279match_reservations: []
Brian O'Connora6862e02017-09-08 01:17:39 -0700280outputs[addr, width]: ([67, 8], [129, 16])
Carmelo Casconef1d0a422017-09-07 17:21:46 +0200281match_extractions: []
282next state parse_ethernet val 0 mask [False]
283parent state default_parser
284
285------
286State : <POV initialization>_<Ingress intrinsic metadata>_<Phase 0>
287shift: 16B
288match_reservations: []
289outputs[addr, width]: ([128, 16], [0, 32])
290branch on = None, offset = 0b, dst = <POV initialization>_<Ingress intrinsic metadata>_<Phase 0>
291branch on = None, offset = 64b, dst = <POV initialization>_<Ingress intrinsic metadata>_<Phase 0>
292branch promise on = ingress_port, offset = 7b, dst = default_parser
Carmelo Cascone8aa05482017-09-12 13:21:59 +0200293match_extractions: [match_window(hw_id=2, width=8), match_window(hw_id=0, width=16)]
Carmelo Casconef1d0a422017-09-07 17:21:46 +0200294match key = [0, 1, 2, 3, 4, 5, 6, 7]
Carmelo Cascone8aa05482017-09-12 13:21:59 +0200295match key = [None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, 8]
Carmelo Casconef1d0a422017-09-07 17:21:46 +0200296next state start val 0 mask [False]
297parent state <Shim start state>
298
299------
300State : start
301shift: 0B
302match_reservations: [match_window(hw_id=0, width=16)]
Brian O'Connora6862e02017-09-08 01:17:39 -0700303outputs[addr, width]: ([67, 8],)
Carmelo Casconef1d0a422017-09-07 17:21:46 +0200304branch on = None, offset = 96b, dst = start
305match_extractions: [match_window(hw_id=2, width=8)]
306match key = [0, 1, 2, 3, 4, 5, 6, 7]
307next state parse_pkt_in val 0 mask [True, True, True, True, True, True, True, True]
308next state default_parser val 0 mask [False]
309parent state <POV initialization>_<Ingress intrinsic metadata>_<Phase 0>
310
Brian O'Connora6862e02017-09-08 01:17:39 -0700311------
312State : parse_tcp//spilled
313shift: 20B
314match_reservations: []
315outputs[addr, width]: ([292, 8],)
316match_extractions: []
317parent state parse_tcp
318
Carmelo Casconef1d0a422017-09-07 17:21:46 +0200319Linear Chain parse_pkt_in -> parse_ethernet
320Try merge parse_pkt_in <- parse_ethernet
321Multiple paths to state S2 : parse_ethernet <- 3
322Linear Chain <POV initialization> -> start
323Try merge <POV initialization> <- <Egress intrinsic metadata>
324merge output at offset 0
325merge output at offset 16
326merge_offset = 24, complete_merge = True
327Before Merge ------
328S1: State : <POV initialization>
329shift: 0B
330match_reservations: []
331outputs[addr, width]: ()
332match_extractions: []
333next state <Egress intrinsic metadata> val 0 mask [False]
334parent state <Shim start state>
335
336
337S2: State : <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 = <Egress intrinsic metadata>
342match_extractions: []
343next state <POV skip> val 0 mask [False]
344parent state <POV initialization>
345
346
347Full merge done <POV initialization> <- <Egress intrinsic metadata>
348Try merge <POV initialization>_<Egress intrinsic metadata> <- <POV skip>
349merge_offset = 0, complete_merge = True
350Before Merge ------
351S1: State : <POV initialization>_<Egress intrinsic metadata>
352shift: 3B
353match_reservations: []
Brian O'Connora6862e02017-09-08 01:17:39 -0700354outputs[addr, width]: ([144, 16], [80, 8])
Carmelo Casconef1d0a422017-09-07 17:21:46 +0200355branch on = None, offset = 24b, dst = <POV initialization>_<Egress intrinsic metadata>
356match_extractions: []
357next state <POV skip> val 0 mask [False]
358parent state <Shim start state>
359
360
361S2: State : <POV skip>
362shift: 4B
363match_reservations: []
364outputs[addr, width]: ()
365match_extractions: []
Brian O'Connora6862e02017-09-08 01:17:39 -0700366next state <_parse_bridged_ingress_intrinsic_metadata> val 0 mask [False]
Carmelo Casconef1d0a422017-09-07 17:21:46 +0200367parent state <POV initialization>_<Egress intrinsic metadata>
368
369
370Full merge done <POV initialization>_<Egress intrinsic metadata> <- <POV skip>
Brian O'Connora6862e02017-09-08 01:17:39 -0700371Try merge <POV initialization>_<Egress intrinsic metadata>_<POV skip> <- <_parse_bridged_ingress_intrinsic_metadata>
372merge_offset = 0, complete_merge = True
Carmelo Casconef1d0a422017-09-07 17:21:46 +0200373Before Merge ------
374S1: State : <POV initialization>_<Egress intrinsic metadata>_<POV skip>
375shift: 7B
376match_reservations: []
Brian O'Connora6862e02017-09-08 01:17:39 -0700377outputs[addr, width]: ([144, 16], [80, 8])
Carmelo Casconef1d0a422017-09-07 17:21:46 +0200378branch on = None, offset = 24b, dst = <POV initialization>_<Egress intrinsic metadata>_<POV skip>
379match_extractions: []
Carmelo Casconef1d0a422017-09-07 17:21:46 +0200380next state <_parse_bridged_ingress_intrinsic_metadata> val 0 mask [False]
381parent state <Shim start state>
382
383
384S2: State : <_parse_bridged_ingress_intrinsic_metadata>
385shift: 2B
386match_reservations: []
387outputs[addr, width]: ()
388branch promise on = ingress_port, offset = 7b, dst = default_parser
389match_extractions: []
390next state start val 0 mask [False]
Brian O'Connora6862e02017-09-08 01:17:39 -0700391parent state <POV initialization>_<Egress intrinsic metadata>_<POV skip>
Carmelo Casconef1d0a422017-09-07 17:21:46 +0200392
393
Brian O'Connora6862e02017-09-08 01:17:39 -0700394Full merge done <POV initialization>_<Egress intrinsic metadata>_<POV skip> <- <_parse_bridged_ingress_intrinsic_metadata>
395Try merge <POV initialization>_<Egress intrinsic metadata>_<POV skip>_<_parse_bridged_ingress_intrinsic_metadata> <- start
Carmelo Casconef1d0a422017-09-07 17:21:46 +0200396merge_offset = 0, complete_merge = True
397Before Merge ------
Brian O'Connora6862e02017-09-08 01:17:39 -0700398S1: State : <POV initialization>_<Egress intrinsic metadata>_<POV skip>_<_parse_bridged_ingress_intrinsic_metadata>
399shift: 9B
Carmelo Casconef1d0a422017-09-07 17:21:46 +0200400match_reservations: []
Brian O'Connora6862e02017-09-08 01:17:39 -0700401outputs[addr, width]: ([144, 16], [80, 8])
402branch on = None, offset = 24b, dst = <POV initialization>_<Egress intrinsic metadata>_<POV skip>_<_parse_bridged_ingress_intrinsic_metadata>
403branch promise on = ingress_port, offset = 63b, dst = default_parser
Carmelo Casconef1d0a422017-09-07 17:21:46 +0200404match_extractions: []
405next state start val 0 mask [False]
406parent state <Shim start state>
407
408
409S2: State : start
410shift: 0B
411match_reservations: []
412outputs[addr, width]: ()
413branch on = None, offset = 96b, dst = start
414match_extractions: []
415next state parse_pkt_in val 0 mask [True, True, True, True, True, True, True, True]
416next state default_parser val 0 mask [False]
Brian O'Connora6862e02017-09-08 01:17:39 -0700417parent state <POV initialization>_<Egress intrinsic metadata>_<POV skip>_<_parse_bridged_ingress_intrinsic_metadata>
Carmelo Casconef1d0a422017-09-07 17:21:46 +0200418
419
Brian O'Connora6862e02017-09-08 01:17:39 -0700420Full merge done <POV initialization>_<Egress intrinsic metadata>_<POV skip>_<_parse_bridged_ingress_intrinsic_metadata> <- start
Carmelo Casconef1d0a422017-09-07 17:21:46 +0200421Remove state <Egress intrinsic metadata>
422Remove state <POV skip>
Carmelo Casconef1d0a422017-09-07 17:21:46 +0200423Remove state <_parse_bridged_ingress_intrinsic_metadata>
424Remove state start
425assign ids to 9 states, dir = 1
426------
427State : <Shim start state>
428shift: 0B
429match_reservations: []
430outputs[addr, width]: ()
431match_extractions: []
Brian O'Connora6862e02017-09-08 01:17:39 -0700432next 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 +0200433
434------
435State : parse_ethernet
436shift: 14B
437match_reservations: []
Brian O'Connora6862e02017-09-08 01:17:39 -0700438outputs[addr, width]: ([81, 8], [300, 8], [270, 32], [338, 16], [301, 8], [271, 32], [339, 16])
Carmelo Casconef1d0a422017-09-07 17:21:46 +0200439branch on = etherType, offset = 96b, dst = parse_ethernet
440match_extractions: [match_window(hw_id=0, width=16)]
441match key = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15]
442next state parse_ipv4 val 2048 mask [True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True]
443parent state parse_pkt_in
444parent state parse_pkt_out
445parent state default_parser
446
447------
448State : parse_ipv4
449shift: 20B
450match_reservations: []
Brian O'Connora6862e02017-09-08 01:17:39 -0700451outputs[addr, width]: ([81, 8], [296, 8], [297, 8], [332, 16], [333, 16], [334, 16], [264, 32], [265, 32], [266, 32])
Carmelo Casconef1d0a422017-09-07 17:21:46 +0200452branch on = fragOffset, offset = 51b, dst = parse_ipv4
453branch on = protocol, offset = 72b, dst = parse_ipv4
Carmelo Cascone8aa05482017-09-12 13:21:59 +0200454match_extractions: [match_window(hw_id=2, width=8), match_window(hw_id=0, width=16)]
Carmelo Casconef1d0a422017-09-07 17:21:46 +0200455match key = [0, 1, 2, 3, 4, 5, 6, 7]
Carmelo Cascone8aa05482017-09-12 13:21:59 +0200456match key = [8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, None, None, None]
Carmelo Casconef1d0a422017-09-07 17:21:46 +0200457next 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]
458next 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]
459parent state parse_ethernet
460
461------
462State : parse_tcp
463shift: 20B
464match_reservations: []
Brian O'Connora6862e02017-09-08 01:17:39 -0700465outputs[addr, width]: ([81, 8], [298, 8], [299, 8], [335, 16], [336, 16], [337, 16], [267, 32], [268, 32], [269, 32])
Carmelo Casconef1d0a422017-09-07 17:21:46 +0200466match_extractions: []
467parent state parse_ipv4
468
469------
470State : parse_udp
471shift: 8B
472match_reservations: []
Brian O'Connora6862e02017-09-08 01:17:39 -0700473outputs[addr, width]: ([81, 8], [298, 8], [299, 8], [336, 16], [267, 32])
Carmelo Casconef1d0a422017-09-07 17:21:46 +0200474match_extractions: []
475parent state parse_ipv4
476
477------
478State : default_parser
479shift: 0B
480match_reservations: [match_window(hw_id=0, width=16)]
481outputs[addr, width]: ()
Brian O'Connora6862e02017-09-08 01:17:39 -0700482branch on = ingress_port, offset = 63b, dst = default_parser
Carmelo Casconef1d0a422017-09-07 17:21:46 +0200483match_extractions: [match_window(hw_id=0, width=16)]
484match key = [0, 1, 2, 3, 4, 5, 6, 7, 8, None, None, None, None, None, None, None]
485next state parse_pkt_out val 320 mask [True, True, True, True, True, True, True, True, True]
486next state parse_ethernet val 0 mask [False]
Brian O'Connora6862e02017-09-08 01:17:39 -0700487parent state <POV initialization>_<Egress intrinsic metadata>_<POV skip>_<_parse_bridged_ingress_intrinsic_metadata>_start
Carmelo Casconef1d0a422017-09-07 17:21:46 +0200488
489------
490State : parse_pkt_out
491shift: 2B
492match_reservations: []
Brian O'Connora6862e02017-09-08 01:17:39 -0700493outputs[addr, width]: ([81, 8], [340, 16])
Carmelo Casconef1d0a422017-09-07 17:21:46 +0200494match_extractions: []
495next state parse_ethernet val 0 mask [False]
496parent state default_parser
497
498------
Brian O'Connora6862e02017-09-08 01:17:39 -0700499State : <POV initialization>_<Egress intrinsic metadata>_<POV skip>_<_parse_bridged_ingress_intrinsic_metadata>_start
500shift: 9B
Carmelo Casconef1d0a422017-09-07 17:21:46 +0200501match_reservations: []
Brian O'Connora6862e02017-09-08 01:17:39 -0700502outputs[addr, width]: ([144, 16], [80, 8])
503branch on = None, offset = 24b, dst = <POV initialization>_<Egress intrinsic metadata>_<POV skip>_<_parse_bridged_ingress_intrinsic_metadata>_start
504branch on = None, offset = 168b, dst = <POV initialization>_<Egress intrinsic metadata>_<POV skip>_<_parse_bridged_ingress_intrinsic_metadata>_start
505branch promise on = ingress_port, offset = 63b, dst = default_parser
Carmelo Cascone8aa05482017-09-12 13:21:59 +0200506match_extractions: [match_window(hw_id=2, width=8), match_window(hw_id=0, width=16), match_window(hw_id=3, width=8)]
Carmelo Casconef1d0a422017-09-07 17:21:46 +0200507match key = [8, 9, 10, 11, 12, 13, 14, 15]
Carmelo Cascone8aa05482017-09-12 13:21:59 +0200508match key = [None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None]
Carmelo Casconef1d0a422017-09-07 17:21:46 +0200509match key = [0, 1, 2, 3, 4, 5, 6, 7]
510next state parse_pkt_in val 0 mask [True, True, True, True, True, True, True, True]
511next state default_parser val 0 mask [False]
512parent state <Shim start state>
513
514------
515State : parse_pkt_in
516shift: 2B
517match_reservations: []
Brian O'Connora6862e02017-09-08 01:17:39 -0700518outputs[addr, width]: ([81, 8], [340, 16])
Carmelo Casconef1d0a422017-09-07 17:21:46 +0200519match_extractions: []
520next state parse_ethernet val 0 mask [False]
Brian O'Connora6862e02017-09-08 01:17:39 -0700521parent state <POV initialization>_<Egress intrinsic metadata>_<POV skip>_<_parse_bridged_ingress_intrinsic_metadata>_start
Carmelo Casconef1d0a422017-09-07 17:21:46 +0200522