| +---------------------------------------------------------------------+ |
| | Log file: parde.log | |
| | Compiler version: 5.1.0 (fca32d1) | |
| | Created on: Wed Sep 13 12:58:27 2017 | |
| +---------------------------------------------------------------------+ |
| |
| ># Begin digest init (pre-PHV) |
| >## Gress 0 |
| >## Gress 1 |
| >## Rewrite CLONE_I2E_DIGEST_RCVR ids |
| >## Rewrite CLONE_E2E_DIGEST_RCVR ids |
| ># End digest init (pre-PHV) |
| ># Begin digest PHV reservations |
| ># End digest PHV reservations |
| ># Begin digest init (post-PHV) |
| ># End digest init (post-PHV) |
| Found parser entry point: start |
| ># Begin unroll of HLIR parse graph |
| >## Create shadow parse graph and find loops |
| >## Entrypoint 'p4_parse_state.start' |
| Creating shadow state: 'p4_parse_state.start' -> 'shadow_state (start, 140349970382416)' |
| Creating shadow state: 'p4_parse_state.parse_pkt_in' -> 'shadow_state (parse_pkt_in, 140349970382224)' |
| Creating shadow state: 'p4_parse_state.parse_ethernet' -> 'shadow_state (parse_ethernet, 140349969359696)' |
| Creating shadow state: 'p4_parse_state.parse_ipv4' -> 'shadow_state (parse_ipv4, 140349969359312)' |
| Creating shadow state: 'p4_parse_state.parse_tcp' -> 'shadow_state (parse_tcp, 140349969359760)' |
| Creating shadow state: 'p4_parse_state.parse_udp' -> 'shadow_state (parse_udp, 140349969358928)' |
| Creating shadow state: 'p4_parse_state.default_parser' -> 'shadow_state (default_parser, 140349969359824)' |
| Creating shadow state: 'p4_parse_state.parse_pkt_out' -> 'shadow_state (parse_pkt_out, 140349969359888)' |
| ># End unroll of HLIR parse graph |
| ># Begin deparser init |
| >## Create records for gress 0 |
| Skipping metadata header 'p4_header_instance.standard_metadata' |
| Skipping intrinsic header 'p4_header_instance.ig_intr_md' |
| Skipping intrinsic header 'p4_header_instance.ig_intr_md_for_tm' |
| Skipping intrinsic header 'p4_header_instance.ig_intr_md_for_mb' |
| Skipping intrinsic header 'p4_header_instance.eg_intr_md' |
| Skipping intrinsic header 'p4_header_instance.eg_intr_md_for_mb' |
| Skipping intrinsic header 'p4_header_instance.eg_intr_md_for_oport' |
| Created record for 'p4_header_instance.packet_in_hdr' |
| Created record for 'p4_header_instance.packet_out_hdr' |
| Created record for 'p4_header_instance.ethernet' |
| Created record for 'p4_header_instance.ipv4' |
| Created record for 'p4_header_instance.tcp' |
| Created record for 'p4_header_instance.udp' |
| Skipping metadata header 'p4_header_instance.ecmp_metadata' |
| >## Build record ordering for gress 0 |
| >## Build field ordering for record 'packet_out_hdr' |
| >## Build field ordering for record 'packet_in_hdr' |
| >## Build field ordering for record 'ethernet' |
| >## Build field ordering for record 'ipv4' |
| >## Build field ordering for record 'udp' |
| >## Build field ordering for record 'tcp' |
| >## Create records for gress 1 |
| Skipping metadata header 'p4_header_instance.standard_metadata' |
| Skipping intrinsic header 'p4_header_instance.ig_intr_md' |
| Skipping intrinsic header 'p4_header_instance.ig_intr_md_for_tm' |
| Skipping intrinsic header 'p4_header_instance.ig_intr_md_for_mb' |
| Skipping intrinsic header 'p4_header_instance.eg_intr_md' |
| Skipping intrinsic header 'p4_header_instance.eg_intr_md_for_mb' |
| Skipping intrinsic header 'p4_header_instance.eg_intr_md_for_oport' |
| Created record for 'p4_header_instance.packet_in_hdr' |
| Created record for 'p4_header_instance.packet_out_hdr' |
| Created record for 'p4_header_instance.ethernet' |
| Created record for 'p4_header_instance.ipv4' |
| Created record for 'p4_header_instance.tcp' |
| Created record for 'p4_header_instance.udp' |
| Skipping metadata header 'p4_header_instance.ecmp_metadata' |
| >## Build record ordering for gress 1 |
| >## Build field ordering for record 'packet_out_hdr' |
| >## Build field ordering for record 'packet_in_hdr' |
| >## Build field ordering for record 'ethernet' |
| >## Build field ordering for record 'ipv4' |
| >## Build field ordering for record 'udp' |
| >## Build field ordering for record 'tcp' |
| Deparse bmeta_ig_intr_md header |
| >## Create deparser bridge_ig_intr_md record |
| Add container 128 for ig_intr_md.resubmit_flag to bmeta_ig_intr_md |
| Add container 128 for ig_intr_md._pad1 to bmeta_ig_intr_md |
| Add container 128 for ig_intr_md._pad2 to bmeta_ig_intr_md |
| Add container 128 for ig_intr_md._pad3 to bmeta_ig_intr_md |
| Add container 128 for ig_intr_md.ingress_port to bmeta_ig_intr_md |
| >## Create deparser bridge record |
| ># End deparser init |
| Constructing parse graph for entry point start on ingress |
| Constructing parse graph for entry point start on egress |
| Adding special Egress state to access ingress intrisic metadata |
| Egress intrinsic metadata unconditional extraction plan: ExtractionPlan { shift 24, extractions ['eg_intr_md.egress_port', 'eg_intr_md.egress_cos'] } |
| Egress intrinsic metadata conditional extraction plan: ExtractionPlan { shift 0, extractions [] } |
| Stretch extraction of ingress_port to state <Ingress intrinsic metadata> offset 7 |
| Stretch extraction of ig_intr_md.ingress_port to state <_parse_bridged_ingress_intrinsic_metadata> offset 7 |
| ># Begin scraping deparser POV allocation from raw PHV allocation |
| PHV 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] |
| >## Scraping individual POV records |
| POV 32 -> packet_in_hdr |
| POV 33 -> packet_out_hdr |
| POV 34 -> ethernet |
| POV 35 -> ipv4 |
| POV 36 -> tcp |
| POV 37 -> udp |
| POV 38 -> pov_bmeta |
| >## Setting up array bits |
| ># End scraping deparser POV allocation from raw PHV allocation |
| ># Begin parser POV rewrite |
| >## Filling in POV init state |
| >## Rewriting parser POV extractions |
| POV for metadata_bridge -> PHV 68 |= 0x40 |
| POV for packet_in_hdr -> PHV 68 |= 0x1 |
| POV for ethernet -> PHV 68 |= 0x4 |
| POV for ipv4 -> PHV 68 |= 0x8 |
| POV for tcp -> PHV 68 |= 0x10 |
| POV for udp -> PHV 68 |= 0x20 |
| POV for packet_out_hdr -> PHV 68 |= 0x2 |
| POV for ig_intr_md -> dropped (no deparser record) |
| POV for _bridged_intr_md_ -> PHV 0 |= 0x10000 |
| >## Sampling not detected, deparsing at least 1 POV byte |
| >## Adding POV containers to metadata bridge: [0] |
| >## Set POV skip state's shift amount to 32 |
| ># Begin scraping deparser POV allocation from raw PHV allocation |
| PHV 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] |
| >## Scraping individual POV records |
| POV 0 -> packet_in_hdr |
| POV 1 -> packet_out_hdr |
| POV 2 -> ethernet |
| POV 3 -> ipv4 |
| POV 4 -> tcp |
| POV 5 -> udp |
| >## Setting up array bits |
| ># End scraping deparser POV allocation from raw PHV allocation |
| ># Begin parser POV rewrite |
| >## Filling in POV init state |
| >## Rewriting parser POV extractions |
| POV for packet_in_hdr -> PHV 81 |= 0x1 |
| POV for ethernet -> PHV 81 |= 0x4 |
| POV for ipv4 -> PHV 81 |= 0x8 |
| POV for tcp -> PHV 81 |= 0x10 |
| POV for udp -> PHV 81 |= 0x20 |
| POV for packet_out_hdr -> PHV 81 |= 0x2 |
| Linear Chain parse_pkt_in -> parse_ethernet |
| Try merge parse_pkt_in <- parse_ethernet |
| Multiple paths to state S2 : parse_ethernet <- 3 |
| Linear Chain <POV initialization> -> start |
| Try merge <POV initialization> <- <Ingress intrinsic metadata> |
| merge output at offset 0 |
| Merge s2 constant extraction v=1 phv=0 |
| merge_offset = 16, complete_merge = True |
| Before Merge ------ |
| S1: State : <POV initialization> |
| shift: 0B |
| match_reservations: [] |
| outputs[addr, width]: () |
| match_extractions: [] |
| next state <Ingress intrinsic metadata> val 0 mask [False] |
| parent state <Shim start state> |
| |
| |
| S2: State : <Ingress intrinsic metadata> |
| shift: 8B |
| match_reservations: [] |
| outputs[addr, width]: ([128, 16], [0, 32]) |
| branch on = None, offset = 0b, dst = <Ingress intrinsic metadata> |
| branch promise on = ingress_port, offset = 7b, dst = default_parser |
| match_extractions: [] |
| next state <Phase 0> val 0 mask [True] |
| parent state <POV initialization> |
| |
| |
| Full merge done <POV initialization> <- <Ingress intrinsic metadata> |
| Try merge <POV initialization>_<Ingress intrinsic metadata> <- <Phase 0> |
| merge_offset = 0, complete_merge = True |
| Before Merge ------ |
| S1: State : <POV initialization>_<Ingress intrinsic metadata> |
| shift: 8B |
| match_reservations: [] |
| outputs[addr, width]: ([128, 16], [0, 32]) |
| branch on = None, offset = 0b, dst = <POV initialization>_<Ingress intrinsic metadata> |
| branch promise on = ingress_port, offset = 7b, dst = default_parser |
| match_extractions: [] |
| next state <Phase 0> val 0 mask [True] |
| parent state <Shim start state> |
| |
| |
| S2: State : <Phase 0> |
| shift: 8B |
| match_reservations: [] |
| outputs[addr, width]: () |
| branch on = None, offset = 0b, dst = <Phase 0> |
| match_extractions: [] |
| next state start val 0 mask [False] |
| parent state <POV initialization>_<Ingress intrinsic metadata> |
| |
| |
| Full merge done <POV initialization>_<Ingress intrinsic metadata> <- <Phase 0> |
| Try merge <POV initialization>_<Ingress intrinsic metadata>_<Phase 0> <- start |
| Multiple paths to state S2 : start <- 2 |
| Remove state <Ingress intrinsic metadata> |
| Remove state <Phase 0> |
| assign ids to 10 states, dir = 0 |
| ------ |
| State : <Shim start state> |
| shift: 0B |
| match_reservations: [] |
| outputs[addr, width]: () |
| match_extractions: [] |
| next state <POV initialization>_<Ingress intrinsic metadata>_<Phase 0> val 0 mask [False] |
| |
| ------ |
| State : parse_pkt_in |
| shift: 2B |
| match_reservations: [] |
| outputs[addr, width]: ([68, 8], [129, 16]) |
| match_extractions: [] |
| next state parse_ethernet val 0 mask [False] |
| parent state start |
| |
| ------ |
| State : parse_ethernet |
| shift: 14B |
| match_reservations: [] |
| outputs[addr, width]: ([68, 8], [66, 8], [4, 32], [133, 16], [67, 8], [5, 32], [134, 16]) |
| branch on = etherType, offset = 96b, dst = parse_ethernet |
| match_extractions: [match_window(hw_id=0, width=16)] |
| match key = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15] |
| next state parse_ipv4 val 2048 mask [True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True] |
| parent state parse_pkt_in |
| parent state parse_pkt_out |
| parent state default_parser |
| |
| ------ |
| State : parse_ipv4 |
| shift: 20B |
| match_reservations: [] |
| outputs[addr, width]: ([68, 8], [288, 8], [320, 16], [321, 16], [256, 32], [1, 32], [64, 8], [131, 16], [2, 32]) |
| branch on = fragOffset, offset = 51b, dst = parse_ipv4 |
| branch on = protocol, offset = 72b, dst = parse_ipv4 |
| match_extractions: [match_window(hw_id=2, width=8), match_window(hw_id=0, width=16)] |
| match key = [0, 1, 2, 3, 4, 5, 6, 7] |
| match key = [8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, None, None, None] |
| next 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] |
| next 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] |
| parent state parse_ethernet |
| |
| ------ |
| State : parse_tcp |
| shift: 20B |
| match_reservations: [] |
| outputs[addr, width]: ([68, 8], [65, 8], [132, 16], [3, 32], [289, 8], [322, 16], [323, 16], [257, 32], [258, 32]) |
| match_extractions: [] |
| parent state parse_ipv4 |
| |
| ------ |
| State : parse_udp |
| shift: 8B |
| match_reservations: [] |
| outputs[addr, width]: ([68, 8], [289, 8], [65, 8], [322, 16], [257, 32]) |
| match_extractions: [] |
| parent state parse_ipv4 |
| |
| ------ |
| State : default_parser |
| shift: 0B |
| match_reservations: [match_window(hw_id=0, width=16)] |
| outputs[addr, width]: () |
| branch on = ingress_port, offset = 7b, dst = default_parser |
| match_extractions: [match_window(hw_id=0, width=16)] |
| match key = [0, 1, 2, 3, 4, 5, 6, 7, 8, None, None, None, None, None, None, None] |
| next state parse_pkt_out val 192 mask [True, True, True, True, True, True, True, True, True] |
| next state parse_ethernet val 0 mask [False] |
| parent state start |
| |
| ------ |
| State : parse_pkt_out |
| shift: 2B |
| match_reservations: [] |
| outputs[addr, width]: ([68, 8], [129, 16]) |
| match_extractions: [] |
| next state parse_ethernet val 0 mask [False] |
| parent state default_parser |
| |
| ------ |
| State : <POV initialization>_<Ingress intrinsic metadata>_<Phase 0> |
| shift: 16B |
| match_reservations: [] |
| outputs[addr, width]: ([128, 16], [0, 32]) |
| branch on = None, offset = 0b, dst = <POV initialization>_<Ingress intrinsic metadata>_<Phase 0> |
| branch on = None, offset = 64b, dst = <POV initialization>_<Ingress intrinsic metadata>_<Phase 0> |
| branch promise on = ingress_port, offset = 7b, dst = default_parser |
| match_extractions: [match_window(hw_id=2, width=8), match_window(hw_id=0, width=16)] |
| match key = [0, 1, 2, 3, 4, 5, 6, 7] |
| match key = [None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, 8] |
| next state start val 0 mask [False] |
| parent state <Shim start state> |
| |
| ------ |
| State : start |
| shift: 0B |
| match_reservations: [match_window(hw_id=0, width=16)] |
| outputs[addr, width]: ([68, 8],) |
| branch on = None, offset = 96b, dst = start |
| match_extractions: [match_window(hw_id=2, width=8)] |
| match key = [0, 1, 2, 3, 4, 5, 6, 7] |
| next state parse_pkt_in val 0 mask [True, True, True, True, True, True, True, True] |
| next state default_parser val 0 mask [False] |
| parent state <POV initialization>_<Ingress intrinsic metadata>_<Phase 0> |
| |
| Linear Chain parse_pkt_in -> parse_ethernet |
| Try merge parse_pkt_in <- parse_ethernet |
| Multiple paths to state S2 : parse_ethernet <- 3 |
| Linear Chain <POV initialization> -> start |
| Try merge <POV initialization> <- <Egress intrinsic metadata> |
| merge output at offset 0 |
| merge output at offset 16 |
| merge_offset = 24, complete_merge = True |
| Before Merge ------ |
| S1: State : <POV initialization> |
| shift: 0B |
| match_reservations: [] |
| outputs[addr, width]: () |
| match_extractions: [] |
| next state <Egress intrinsic metadata> val 0 mask [False] |
| parent state <Shim start state> |
| |
| |
| S2: State : <Egress intrinsic metadata> |
| shift: 3B |
| match_reservations: [] |
| outputs[addr, width]: ([144, 16], [80, 8]) |
| branch on = None, offset = 24b, dst = <Egress intrinsic metadata> |
| match_extractions: [] |
| next state <POV skip> val 0 mask [False] |
| parent state <POV initialization> |
| |
| |
| Full merge done <POV initialization> <- <Egress intrinsic metadata> |
| Try merge <POV initialization>_<Egress intrinsic metadata> <- <POV skip> |
| merge_offset = 0, complete_merge = True |
| Before Merge ------ |
| S1: State : <POV initialization>_<Egress intrinsic metadata> |
| shift: 3B |
| match_reservations: [] |
| outputs[addr, width]: ([144, 16], [80, 8]) |
| branch on = None, offset = 24b, dst = <POV initialization>_<Egress intrinsic metadata> |
| match_extractions: [] |
| next state <POV skip> val 0 mask [False] |
| parent state <Shim start state> |
| |
| |
| S2: State : <POV skip> |
| shift: 4B |
| match_reservations: [] |
| outputs[addr, width]: () |
| match_extractions: [] |
| next state <_parse_bridged_ingress_intrinsic_metadata> val 0 mask [False] |
| parent state <POV initialization>_<Egress intrinsic metadata> |
| |
| |
| Full merge done <POV initialization>_<Egress intrinsic metadata> <- <POV skip> |
| Try merge <POV initialization>_<Egress intrinsic metadata>_<POV skip> <- <_parse_bridged_ingress_intrinsic_metadata> |
| merge_offset = 0, complete_merge = True |
| Before Merge ------ |
| S1: State : <POV initialization>_<Egress intrinsic metadata>_<POV skip> |
| shift: 7B |
| match_reservations: [] |
| outputs[addr, width]: ([144, 16], [80, 8]) |
| branch on = None, offset = 24b, dst = <POV initialization>_<Egress intrinsic metadata>_<POV skip> |
| match_extractions: [] |
| next state <_parse_bridged_ingress_intrinsic_metadata> val 0 mask [False] |
| parent state <Shim start state> |
| |
| |
| S2: State : <_parse_bridged_ingress_intrinsic_metadata> |
| shift: 2B |
| match_reservations: [] |
| outputs[addr, width]: () |
| branch promise on = ingress_port, offset = 7b, dst = default_parser |
| match_extractions: [] |
| next state start val 0 mask [False] |
| parent state <POV initialization>_<Egress intrinsic metadata>_<POV skip> |
| |
| |
| Full merge done <POV initialization>_<Egress intrinsic metadata>_<POV skip> <- <_parse_bridged_ingress_intrinsic_metadata> |
| Try merge <POV initialization>_<Egress intrinsic metadata>_<POV skip>_<_parse_bridged_ingress_intrinsic_metadata> <- start |
| merge_offset = 0, complete_merge = True |
| Before Merge ------ |
| S1: State : <POV initialization>_<Egress intrinsic metadata>_<POV skip>_<_parse_bridged_ingress_intrinsic_metadata> |
| shift: 9B |
| match_reservations: [] |
| outputs[addr, width]: ([144, 16], [80, 8]) |
| branch on = None, offset = 24b, dst = <POV initialization>_<Egress intrinsic metadata>_<POV skip>_<_parse_bridged_ingress_intrinsic_metadata> |
| branch promise on = ingress_port, offset = 63b, dst = default_parser |
| match_extractions: [] |
| next state start val 0 mask [False] |
| parent state <Shim start state> |
| |
| |
| S2: State : start |
| shift: 0B |
| match_reservations: [] |
| outputs[addr, width]: () |
| branch on = None, offset = 96b, dst = start |
| match_extractions: [] |
| next state parse_pkt_in val 0 mask [True, True, True, True, True, True, True, True] |
| next state default_parser val 0 mask [False] |
| parent state <POV initialization>_<Egress intrinsic metadata>_<POV skip>_<_parse_bridged_ingress_intrinsic_metadata> |
| |
| |
| Full merge done <POV initialization>_<Egress intrinsic metadata>_<POV skip>_<_parse_bridged_ingress_intrinsic_metadata> <- start |
| Remove state <Egress intrinsic metadata> |
| Remove state <POV skip> |
| Remove state <_parse_bridged_ingress_intrinsic_metadata> |
| Remove state start |
| assign ids to 9 states, dir = 1 |
| ------ |
| State : <Shim start state> |
| shift: 0B |
| match_reservations: [] |
| outputs[addr, width]: () |
| match_extractions: [] |
| next state <POV initialization>_<Egress intrinsic metadata>_<POV skip>_<_parse_bridged_ingress_intrinsic_metadata>_start val 0 mask [False] |
| |
| ------ |
| State : parse_ethernet |
| shift: 14B |
| match_reservations: [] |
| outputs[addr, width]: ([81, 8], [296, 8], [266, 32], [332, 16], [297, 8], [267, 32], [333, 16]) |
| branch on = etherType, offset = 96b, dst = parse_ethernet |
| match_extractions: [match_window(hw_id=0, width=16)] |
| match key = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15] |
| next state parse_ipv4 val 2048 mask [True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True] |
| parent state parse_pkt_in |
| parent state parse_pkt_out |
| parent state default_parser |
| |
| ------ |
| State : parse_ipv4 |
| shift: 20B |
| match_reservations: [] |
| outputs[addr, width]: ([81, 8], [292, 8], [293, 8], [326, 16], [327, 16], [328, 16], [260, 32], [261, 32], [262, 32]) |
| branch on = fragOffset, offset = 51b, dst = parse_ipv4 |
| branch on = protocol, offset = 72b, dst = parse_ipv4 |
| match_extractions: [match_window(hw_id=2, width=8), match_window(hw_id=0, width=16)] |
| match key = [0, 1, 2, 3, 4, 5, 6, 7] |
| match key = [8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, None, None, None] |
| next 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] |
| next 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] |
| parent state parse_ethernet |
| |
| ------ |
| State : parse_tcp |
| shift: 20B |
| match_reservations: [] |
| outputs[addr, width]: ([81, 8], [294, 8], [295, 8], [329, 16], [330, 16], [331, 16], [263, 32], [264, 32], [265, 32]) |
| match_extractions: [] |
| parent state parse_ipv4 |
| |
| ------ |
| State : parse_udp |
| shift: 8B |
| match_reservations: [] |
| outputs[addr, width]: ([81, 8], [294, 8], [295, 8], [329, 16], [263, 32]) |
| match_extractions: [] |
| parent state parse_ipv4 |
| |
| ------ |
| State : default_parser |
| shift: 0B |
| match_reservations: [match_window(hw_id=0, width=16)] |
| outputs[addr, width]: () |
| branch on = ingress_port, offset = 63b, dst = default_parser |
| match_extractions: [match_window(hw_id=0, width=16)] |
| match key = [0, 1, 2, 3, 4, 5, 6, 7, 8, None, None, None, None, None, None, None] |
| next state parse_pkt_out val 192 mask [True, True, True, True, True, True, True, True, True] |
| next state parse_ethernet val 0 mask [False] |
| parent state <POV initialization>_<Egress intrinsic metadata>_<POV skip>_<_parse_bridged_ingress_intrinsic_metadata>_start |
| |
| ------ |
| State : parse_pkt_out |
| shift: 2B |
| match_reservations: [] |
| outputs[addr, width]: ([81, 8], [334, 16]) |
| match_extractions: [] |
| next state parse_ethernet val 0 mask [False] |
| parent state default_parser |
| |
| ------ |
| State : <POV initialization>_<Egress intrinsic metadata>_<POV skip>_<_parse_bridged_ingress_intrinsic_metadata>_start |
| shift: 9B |
| match_reservations: [] |
| outputs[addr, width]: ([144, 16], [80, 8]) |
| branch on = None, offset = 24b, dst = <POV initialization>_<Egress intrinsic metadata>_<POV skip>_<_parse_bridged_ingress_intrinsic_metadata>_start |
| branch on = None, offset = 168b, dst = <POV initialization>_<Egress intrinsic metadata>_<POV skip>_<_parse_bridged_ingress_intrinsic_metadata>_start |
| branch promise on = ingress_port, offset = 63b, dst = default_parser |
| match_extractions: [match_window(hw_id=2, width=8), match_window(hw_id=0, width=16), match_window(hw_id=3, width=8)] |
| match key = [8, 9, 10, 11, 12, 13, 14, 15] |
| match key = [None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None] |
| match key = [0, 1, 2, 3, 4, 5, 6, 7] |
| next state parse_pkt_in val 0 mask [True, True, True, True, True, True, True, True] |
| next state default_parser val 0 mask [False] |
| parent state <Shim start state> |
| |
| ------ |
| State : parse_pkt_in |
| shift: 2B |
| match_reservations: [] |
| outputs[addr, width]: ([81, 8], [334, 16]) |
| match_extractions: [] |
| next state parse_ethernet val 0 mask [False] |
| parent state <POV initialization>_<Egress intrinsic metadata>_<POV skip>_<_parse_bridged_ingress_intrinsic_metadata>_start |
| |