Max level shown:
1 ingress::parse_inner_ipv6 is split into 2 states:
2 ingress::parse_inner_ipv6
3 ingress::parse_inner_ipv6.$split_0
4 ingress::parse_ipv6 is split into 2 states:
5 ingress::parse_ipv6
6 ingress::parse_ipv6.$split_0
7 $entry_point.start is split into 2 states:
8 $entry_point.start
9 $entry_point.start.$split_0
10 egress::parse_inner_ipv6 is split into 2 states:
11 egress::parse_inner_ipv6
12 egress::parse_inner_ipv6.$split_0
13 egress::parse_ipv6 is split into 2 states:
14 egress::parse_ipv6
15 egress::parse_ipv6.$split_0
16 allocated { $byte0 } to { [ $entry_point.start : inbuf bit[231] (bit<1>)bridge_hdr_0/bridge_hdr.nat_egress_hit; ] }
17 allocated { $byte0 $byte1 } to { [ egress::parse_ethernet : inbuf bit[96..111] hdr.ethernet/ethernet.ether_type; ] }
18 allocated { $byte0 $byte1 } to { [ egress::parse_vlan : inbuf bit[16..31] hdr.vlan/vlan.ether_type; ] }
19 allocated { $byte0 } to { [ egress::parse_ipv6.$split_0 : inbuf bit[-208..-201] hdr.ipv6/ipv6.next_hdr; ] }
20 allocated { $byte1 $byte2 } to { [ egress::parse_ipv6.$split_0 : inbuf bit[-64..-49] hdr.ipv6/ipv6.dst_addr[127:112]; ] }
21 allocated { $byte3 $save_byte0 } to { [ egress::check_underlay_dst_111_96 : inbuf bit[-112..-97] hdr.ipv6/ipv6.dst_addr[111:96]; ] }
22 allocated { $byte0 } to { [ egress::check_underlay_dst_111_96 : inbuf bit[504..511] ] }
23 allocated { $save_byte1 $save_byte2 } to { [ egress::check_underlay_dst_95_80 : inbuf bit[-96..-81] hdr.ipv6/ipv6.dst_addr[95:80]; ] }
24 allocated { $byte0 } to { [ egress::check_underlay_dst_95_80 : inbuf bit[496..503] ] }
25 allocated { $byte1 } to { [ egress::check_underlay_dst_95_80 : inbuf bit[488..495] ] }
26 allocated { $byte0 } to { [ egress::parse_geneve_mss_tag : inbuf bit[27..31] hdr.geneve_opts.oxg_mss_tag/oxg_mss_tag.opt_len; ] }
27 allocated { $byte0 } to { [ egress::parse_geneve_mcast_tag : inbuf bit[27..31] hdr.geneve_opts.oxg_mcast_tag/oxg_mcast_tag.opt_len; ] }
28 allocated { $byte0 } to { [ egress::parse_geneve_ext_tag : inbuf bit[27..31] hdr.geneve_opts.oxg_ext_tag/oxg_ext_tag.opt_len; ] }
29 allocated { $byte0 } to { [ egress::parse_geneve_ox_opt : inbuf bit[17..23] curr_opt_3[6:0]; ] }
30 allocated { $byte0 $byte1 } to { [ egress::parse_geneve_opt : inbuf bit[0..15] curr_opt_2 ] }
31 allocated { $byte0 } to { [ egress::parse_inner_ipv6.$split_0 : inbuf bit[-208..-201] hdr.inner_ipv6/inner_ipv6.next_hdr; ] }
32 allocated { $byte0 } to { [ egress::parse_inner_ipv4 : inbuf bit[72..79] hdr.inner_ipv4/inner_ipv4.protocol; ] }
33 allocated { $byte0 $byte1 } to { [ egress::parse_inner_eth : inbuf bit[96..111] hdr.inner_eth/inner_eth.ether_type; ] }
34 allocated { $byte2 $byte3 } to { [ egress::geneve_parsed : egress::hdr.geneve.protocol; hdr.geneve/geneve.protocol; ] }
35 allocated { $byte0 } to { [ egress::parse_geneve : inbuf bit[2..7] ] }
36 allocated { $byte0 $byte1 } to { [ egress::parse_udp : inbuf bit[16..31] hdr.udp/udp.dst_port; ] }
37 allocated { $byte0 $byte1 } to { [ egress::check_underlay_dst_79_64 : inbuf bit[-80..-65] hdr.ipv6/ipv6.dst_addr[79:64]; ] }
38 allocated { $byte2 $byte3 } to { [ egress::check_underlay_dst_95_80 : inbuf bit[-96..-81] hdr.ipv6/ipv6.dst_addr[95:80]; ] }
39 allocated { $save_byte0 $save_byte1 } to { [ egress::check_underlay_dst_111_96 : inbuf bit[-112..-97] hdr.ipv6/ipv6.dst_addr[111:96]; ] }
40 allocated { $byte0 $byte1 } to { [ $entry_point.start.$split_0 : inbuf bit[96..111] hdr.ethernet/ethernet.ether_type; ] }
41 allocated { $byte0 $byte1 } to { [ ingress::parse_sidecar : inbuf bit[48..63] hdr.sidecar/sidecar.sc_ether_type; ] }
42 allocated { $byte0 $byte1 } to { [ ingress::parse_vlan : inbuf bit[16..31] hdr.vlan/vlan.ether_type; ] }
43 allocated { $byte0 } to { [ ingress::parse_ipv4 : inbuf bit[128..131] hdr.ipv4/ipv4.dst_addr[31:28]; ] }
44 allocated { $byte2 $byte3 } to { [ ingress::validate_ipv4_mcast1_2 : ingress::hdr.ethernet.dst_mac[47:40]; hdr.ethernet/ethernet.dst_mac[47:40]; ] [ ingress::validate_ipv4_mcast1_2 : ingress::hdr.ethernet.dst_mac[39:32]; hdr.ethernet/ethernet.dst_mac[39:32]; ] }
45 allocated { $save_byte2 } to { [ ingress::validate_ipv4_mcast_3 : ingress::hdr.ethernet.dst_mac[31:24]; hdr.ethernet/ethernet.dst_mac[31:24]; ] }
46 allocated { $byte0 } to { [ ingress::validate_ipv4_mcast_3 : inbuf bit[488..495] ] }
47 allocated { $byte1 } to { [ ingress::set_mcast_ipv4 : inbuf bit[-96..-89] hdr.ipv4/ipv4.ttl; ] }
48 allocated { $save_byte0 } to { [ ingress::goto_proto_ipv4 : inbuf bit[-88..-81] hdr.ipv4/ipv4.protocol; ] }
49 allocated { $byte0 } to { [ ingress::goto_proto_ipv4 : inbuf bit[504..511] ] }
50 allocated { $byte0 $byte1 } to { [ ingress::parse_udp : inbuf bit[16..31] hdr.udp/udp.dst_port; ] }
51 allocated { $byte0 } to { [ ingress::parse_geneve : inbuf bit[2..7] ] }
52 allocated { $byte0 $byte1 } to { [ ingress::geneve_parsed : ingress::hdr.geneve.protocol; hdr.geneve/geneve.protocol; ] }
53 allocated { $byte0 $byte1 } to { [ ingress::parse_inner_eth : inbuf bit[96..111] hdr.inner_eth/inner_eth.ether_type; ] }
54 allocated { $byte0 } to { [ ingress::parse_inner_ipv4 : inbuf bit[72..79] hdr.inner_ipv4/inner_ipv4.protocol; ] }
55 allocated { $byte0 } to { [ ingress::parse_inner_ipv6.$split_0 : inbuf bit[-208..-201] hdr.inner_ipv6/inner_ipv6.next_hdr; ] }
56 allocated { $byte2 $byte3 } to { [ ingress::parse_geneve_opt : inbuf bit[0..15] curr_opt_0 ] }
57 allocated { $byte2 } to { [ ingress::parse_geneve_ox_opt : inbuf bit[17..23] curr_opt_1[6:0]; ] }
58 allocated { $byte2 } to { [ ingress::parse_geneve_ext_tag : inbuf bit[27..31] hdr.geneve_opts.oxg_ext_tag/oxg_ext_tag.opt_len; ] }
59 allocated { $byte2 } to { [ ingress::parse_geneve_mcast_tag : inbuf bit[27..31] hdr.geneve_opts.oxg_mcast_tag/oxg_mcast_tag.opt_len; ] }
60 allocated { $byte2 } to { [ ingress::parse_geneve_mss_tag : inbuf bit[27..31] hdr.geneve_opts.oxg_mss_tag/oxg_mss_tag.opt_len; ] }
61 allocated { $byte1 } to { [ ingress::validate_ttl : inbuf bit[-96..-89] hdr.ipv4/ipv4.ttl; ] }
62 allocated { $byte0 $byte1 } to { [ ingress::parse_ipv6.$split_0 : inbuf bit[-64..-49] hdr.ipv6/ipv6.dst_addr[127:112]; ] }
63 allocated { $byte2 } to { [ ingress::validate_hop_limit : inbuf bit[-264..-257] hdr.ipv6/ipv6.hop_limit; ] }
64 allocated { $byte3 } to { [ ingress::goto_proto_ipv6 : inbuf bit[-272..-265] hdr.ipv6/ipv6.next_hdr; ] }
65 allocated { $save_byte0 } to { [ ingress::check_ipv6_mcast : inbuf bit[-128..-121] hdr.ipv6/ipv6.dst_addr[127:120]; ] }
66 allocated { $byte0 } to { [ ingress::check_ipv6_mcast : inbuf bit[504..511] ] }
67 allocated { $byte2 } to { [ ingress::set_mcast_ipv6 : inbuf bit[-264..-257] hdr.ipv6/ipv6.hop_limit; ] }
68 allocated { $byte0 $byte1 } to { [ $entry_point.start.$split_0 : inbuf bit[96..111] hdr.ethernet/ethernet.ether_type; ] }
69 allocated { $byte0 $byte1 } to { [ ingress::parse_sidecar : inbuf bit[48..63] hdr.sidecar/sidecar.sc_ether_type; ] }
70 allocated { $byte0 $byte1 } to { [ ingress::parse_vlan : inbuf bit[16..31] hdr.vlan/vlan.ether_type; ] }
71 allocated { $byte0 } to { [ ingress::parse_ipv4 : inbuf bit[128..131] hdr.ipv4/ipv4.dst_addr[31:28]; ] }
72 allocated { $byte2 $byte3 } to { [ ingress::validate_ipv4_mcast1_2 : ingress::hdr.ethernet.dst_mac[47:40]; hdr.ethernet/ethernet.dst_mac[47:40]; ] [ ingress::validate_ipv4_mcast1_2 : ingress::hdr.ethernet.dst_mac[39:32]; hdr.ethernet/ethernet.dst_mac[39:32]; ] }
73 allocated { $save_byte2 } to { [ ingress::validate_ipv4_mcast_3 : ingress::hdr.ethernet.dst_mac[31:24]; hdr.ethernet/ethernet.dst_mac[31:24]; ] }
74 allocated { $byte0 } to { [ ingress::validate_ipv4_mcast_3 : inbuf bit[488..495] ] }
75 allocated { $byte1 } to { [ ingress::set_mcast_ipv4 : inbuf bit[-96..-89] hdr.ipv4/ipv4.ttl; ] }
76 allocated { $save_byte0 } to { [ ingress::goto_proto_ipv4 : inbuf bit[-88..-81] hdr.ipv4/ipv4.protocol; ] }
77 allocated { $byte0 } to { [ ingress::goto_proto_ipv4 : inbuf bit[504..511] ] }
78 allocated { $byte0 $byte1 } to { [ ingress::parse_udp : inbuf bit[16..31] hdr.udp/udp.dst_port; ] }
79 allocated { $byte0 } to { [ ingress::parse_geneve : inbuf bit[2..7] ] }
80 allocated { $byte0 $byte1 } to { [ ingress::geneve_parsed : ingress::hdr.geneve.protocol; hdr.geneve/geneve.protocol; ] }
81 allocated { $byte0 $byte1 } to { [ ingress::parse_inner_eth : inbuf bit[96..111] hdr.inner_eth/inner_eth.ether_type; ] }
82 allocated { $byte0 } to { [ ingress::parse_inner_ipv4 : inbuf bit[72..79] hdr.inner_ipv4/inner_ipv4.protocol; ] }
83 allocated { $byte0 } to { [ ingress::parse_inner_ipv6.$split_0 : inbuf bit[-208..-201] hdr.inner_ipv6/inner_ipv6.next_hdr; ] }
84 allocated { $byte2 $byte3 } to { [ ingress::parse_geneve_opt : inbuf bit[0..15] curr_opt_0 ] }
85 allocated { $byte2 } to { [ ingress::parse_geneve_ox_opt : inbuf bit[17..23] curr_opt_1[6:0]; ] }
86 allocated { $byte2 } to { [ ingress::parse_geneve_ext_tag : inbuf bit[27..31] hdr.geneve_opts.oxg_ext_tag/oxg_ext_tag.opt_len; ] }
87 allocated { $byte2 } to { [ ingress::parse_geneve_mcast_tag : inbuf bit[27..31] hdr.geneve_opts.oxg_mcast_tag/oxg_mcast_tag.opt_len; ] }
88 allocated { $byte2 } to { [ ingress::parse_geneve_mss_tag : inbuf bit[27..31] hdr.geneve_opts.oxg_mss_tag/oxg_mss_tag.opt_len; ] }
89 allocated { $byte1 } to { [ ingress::validate_ttl : inbuf bit[-96..-89] hdr.ipv4/ipv4.ttl; ] }
90 allocated { $byte0 $byte1 } to { [ ingress::parse_ipv6.$split_0 : inbuf bit[-64..-49] hdr.ipv6/ipv6.dst_addr[127:112]; ] }
91 allocated { $byte2 } to { [ ingress::validate_hop_limit : inbuf bit[-264..-257] hdr.ipv6/ipv6.hop_limit; ] }
92 allocated { $byte3 } to { [ ingress::goto_proto_ipv6 : inbuf bit[-272..-265] hdr.ipv6/ipv6.next_hdr; ] }
93 allocated { $save_byte0 } to { [ ingress::check_ipv6_mcast : inbuf bit[-128..-121] hdr.ipv6/ipv6.dst_addr[127:120]; ] }
94 allocated { $byte0 } to { [ ingress::check_ipv6_mcast : inbuf bit[504..511] ] }
95 allocated { $byte2 } to { [ ingress::set_mcast_ipv6 : inbuf bit[-264..-257] hdr.ipv6/ipv6.hop_limit; ] }
96 allocated { $byte0 } to { [ $entry_point.start : inbuf bit[231] (bit<1>)bridge_hdr_0/bridge_hdr.nat_egress_hit; ] }
97 allocated { $byte0 $byte1 } to { [ egress::parse_ethernet : inbuf bit[96..111] hdr.ethernet/ethernet.ether_type; ] }
98 allocated { $byte0 $byte1 } to { [ egress::parse_vlan : inbuf bit[16..31] hdr.vlan/vlan.ether_type; ] }
99 allocated { $byte0 } to { [ egress::parse_ipv6.$split_0 : inbuf bit[-192..-185] hdr.ipv6/ipv6.next_hdr; ] }
100 allocated { $byte1 $byte2 } to { [ egress::parse_ipv6.$split_0 : inbuf bit[-48..-33] hdr.ipv6/ipv6.dst_addr[127:112]; ] }
101 allocated { $byte3 $save_byte0 } to { [ egress::check_underlay_dst_111_96 : inbuf bit[-112..-97] hdr.ipv6/ipv6.dst_addr[111:96]; ] }
102 allocated { $byte0 } to { [ egress::check_underlay_dst_111_96 : inbuf bit[504..511] ] }
103 allocated { $save_byte1 $save_byte2 } to { [ egress::check_underlay_dst_95_80 : inbuf bit[-96..-81] hdr.ipv6/ipv6.dst_addr[95:80]; ] }
104 allocated { $byte0 } to { [ egress::check_underlay_dst_95_80 : inbuf bit[496..503] ] }
105 allocated { $byte1 } to { [ egress::check_underlay_dst_95_80 : inbuf bit[488..495] ] }
106 allocated { $byte2 $save_byte3 } to { [ egress::check_underlay_dst_79_64 : inbuf bit[-80..-65] hdr.ipv6/ipv6.dst_addr[79:64]; ] }
107 allocated { $byte0 } to { [ egress::check_underlay_dst_79_64 : inbuf bit[480..487] ] }
108 allocated { $byte0 $byte1 } to { [ egress::parse_udp : inbuf bit[16..31] hdr.udp/udp.dst_port; ] }
109 allocated { $byte0 } to { [ egress::parse_geneve : inbuf bit[2..7] ] }
110 allocated { $byte0 $byte1 } to { [ egress::geneve_parsed : egress::hdr.geneve.protocol; hdr.geneve/geneve.protocol; ] }
111 allocated { $byte0 $byte1 } to { [ egress::parse_inner_eth : inbuf bit[96..111] hdr.inner_eth/inner_eth.ether_type; ] }
112 allocated { $byte0 } to { [ egress::parse_inner_ipv4 : inbuf bit[72..79] hdr.inner_ipv4/inner_ipv4.protocol; ] }
113 allocated { $byte0 } to { [ egress::parse_inner_ipv6.$split_0 : inbuf bit[-208..-201] hdr.inner_ipv6/inner_ipv6.next_hdr; ] }
114 allocated { $byte2 $byte3 } to { [ egress::parse_geneve_opt : inbuf bit[0..15] curr_opt_2 ] }
115 allocated { $byte2 } to { [ egress::parse_geneve_ox_opt : inbuf bit[17..23] curr_opt_3[6:0]; ] }
116 allocated { $byte2 } to { [ egress::parse_geneve_ext_tag : inbuf bit[27..31] hdr.geneve_opts.oxg_ext_tag/oxg_ext_tag.opt_len; ] }
117 allocated { $byte2 } to { [ egress::parse_geneve_mcast_tag : inbuf bit[27..31] hdr.geneve_opts.oxg_mcast_tag/oxg_mcast_tag.opt_len; ] }
118 allocated { $byte2 } to { [ egress::parse_geneve_mss_tag : inbuf bit[27..31] hdr.geneve_opts.oxg_mss_tag/oxg_mss_tag.opt_len; ] }
119 need to allocate 3 logical checksum calculations to ingress parser
120 allocated parser checksum unit 0 to nat_checksum_0
121 allocated parser checksum unit 1 to icmp_checksum_0
122 allocated parser checksum unit 1 to ipv4_checksum_0
123 need to allocate 2 logical checksum calculations to egress parser
124 allocated parser checksum unit 2 to $clot_5_csum
125 allocated parser checksum unit 3 to $clot_11_csum
126 need to allocate 3 logical checksum calculations to ingress parser
127 allocated parser checksum unit 0 to nat_checksum_0
128 allocated parser checksum unit 1 to icmp_checksum_0
129 allocated parser checksum unit 1 to ipv4_checksum_0
130 need to allocate 2 logical checksum calculations to egress parser
131 allocated parser checksum unit 2 to $clot_5_csum
132 allocated parser checksum unit 3 to $clot_11_csum