Max level shown:
1 Parser Characterization Report:
2 Number of states on ingress: 40
3 
4 Number of matches on ingress: 96
5 
6 Longest path (21 states) on ingress:
7 $entry_point.start
8 $entry_point.start.$oob_stall_0
9 $entry_point.start.$split_0
10 parse_sidecar
11 parse_vlan
12 parse_ipv4
13 validate_ipv4_mcast1_2
14 validate_ipv4_mcast_3
15 set_mcast_ipv4
16 goto_proto_ipv4
17 parse_udp
18 parse_geneve
19 parse_geneve_opt
20 parse_geneve_ox_opt
21 parse_geneve_ext_tag
22 geneve_opt_parsed
23 geneve_parsed
24 parse_inner_eth
25 parse_inner_ipv6
26 parse_inner_ipv6.$split_0
27 parse_inner_tcp
28 
29 Shortest path (3 states) on ingress:
30 $entry_point.start
31 $entry_point.start.$oob_stall_0
32 $entry_point.start.$split_0
33 
34 Average rate: 3.47619 Bps
35 Min packet size at 100 Gbps: 216 B (143 B payload)
36 Max data rate for min-sized packets: 32.94 Gbps / 56.4041 MPps
37 
38 Extractor usage:
39 +------------------------------------------+------------+-------+--------+--------+---------------------------+-----------+
40 |State |Match |8-bit |16-bit |32-bit |Total Extractors (16-bit) |Other |
41 +------------------------------------------+------------+-------+--------+--------+---------------------------+-----------+
42 |$entry_point.start |* |0 |3 |1 |5 | |
43 |$entry_point.start.$oob_stall_0 |* |0 |0 |0 |0 | |
44 |$entry_point.start.$split_0 |0x0901 |0 |8 |1 |10 | |
45 |- |0x8100 |0 |8 |1 |10 | |
46 |- |0x0800 |0 |8 |1 |10 | |
47 |- |0x86dd |0 |8 |1 |10 | |
48 |- |0x0806 |0 |8 |1 |10 | |
49 |- |0x88cc |1 |9 |1 |12 | |
50 |- |0x**** |0 |8 |1 |10 | |
51 |$entry_point.start.$split_0.$oob_stall_0 |* |0 |0 |0 |0 | |
52 |parse_sidecar |0x8100 |0 |13 |1 |15 | |
53 |- |0x0800 |0 |13 |1 |15 | |
54 |- |0x86dd |0 |13 |1 |15 | |
55 |- |0x0806 |0 |13 |1 |15 | |
56 |- |0x**** |0 |13 |1 |15 | |
57 |parse_sidecar.$oob_stall_1 |* |0 |0 |0 |0 | |
58 |parse_sidecar.$oob_stall_0 |* |0 |0 |0 |0 | |
59 |parse_vlan |0x0800 |1 |3 |0 |4 | |
60 |- |0x86dd |1 |3 |0 |4 | |
61 |- |0x0806 |1 |3 |0 |4 | |
62 |- |0x**** |1 |3 |0 |4 | |
63 |parse_arp |* |0 |1 |2 |5 |clot 0 |
64 |parse_ipv6 |* |2 |4 |7 |20 |csum 0 |
65 |parse_ipv6.$split_0 |0xff01 |2 |2 |1 |6 |csum 0 |
66 |- |0xff02 |1 |2 |1 |5 |csum 0 |
67 |- |0x**** |0 |2 |1 |4 |csum 0 |
68 |check_ipv6_mcast |0xff |1 |0 |0 |1 | |
69 |- |0x** |0 |0 |0 |0 | |
70 |validate_hop_limit |0x00 |2 |0 |0 |2 | |
71 |- |0x** |0 |0 |0 |0 | |
72 |set_mcast_ipv6 |0x00 |2 |0 |0 |2 | |
73 |- |0x01 |2 |0 |0 |2 | |
74 |- |0x** |0 |0 |0 |0 | |
75 |set_link_local_mcast |0x00 |2 |0 |0 |2 | |
76 |- |0x01 |0 |0 |0 |0 | |
77 |- |0x** |0 |0 |0 |0 | |
78 |goto_proto_ipv6 |0x3a |0 |5 |1 |7 |csum 0 1 |
79 |- |0x06 |0 |7 |4 |15 |csum 0 |
80 |- |0x11 |0 |0 |0 |0 | |
81 |- |0x** |0 |0 |0 |0 | |
82 |parse_ipv4 |0xe* |2 |10 |3 |18 |csum 0 1 |
83 |- |0x** |2 |10 |3 |18 |csum 0 1 |
84 |validate_ttl |0x00 |2 |0 |0 |2 | |
85 |- |0x** |0 |0 |0 |0 | |
86 |validate_ipv4_mcast1_2 |0x0100 |0 |0 |0 |0 | |
87 |- |0x**** |2 |0 |0 |2 | |
88 |validate_ipv4_mcast_3 |0x5e |0 |0 |0 |0 | |
89 |- |0x** |2 |0 |0 |2 | |
90 |set_mcast_ipv4 |0x00 |1 |0 |0 |1 | |
91 |- |0x01 |1 |0 |0 |1 | |
92 |- |0x** |1 |0 |0 |1 | |
93 |goto_proto_ipv4 |0x01 |0 |5 |1 |7 |csum 0 1 |
94 |- |0x06 |0 |7 |4 |15 |csum 0 |
95 |- |0x11 |0 |0 |0 |0 | |
96 |- |0x** |0 |0 |0 |0 | |
97 |parse_udp |0x17c1 |0 |7 |1 |9 |csum 0 |
98 |- |0x**** |0 |7 |1 |9 |csum 0 |
99 |parse_geneve |0b**000000 |0 |0 |3 |6 | |
100 |- |0x** |0 |0 |3 |6 | |
101 |parse_geneve_opt |0x0129 |0 |0 |0 |0 | |
102 |- |0x**** |2 |0 |0 |2 | |
103 |parse_geneve_ox_opt |0b*0000000 |0 |0 |2 |4 | |
104 |- |0b*0000001 |0 |0 |0 |0 | |
105 |- |0b*0000010 |0 |0 |0 |0 | |
106 |- |0x** |2 |0 |0 |2 | |
107 |parse_geneve_mss_tag |0b***00001 |0 |0 |1 |2 |clot 1 |
108 |- |0x** |0 |0 |1 |2 |clot 1 |
109 |parse_geneve_mcast_tag |0b***00001 |1 |0 |1 |3 |clot 2 |
110 |- |0x** |1 |0 |1 |3 |clot 2 |
111 |geneve_malformed |* |2 |0 |0 |2 | |
112 |parse_geneve_ext_tag |0b***00000 |0 |0 |0 |0 | |
113 |- |0x** |2 |0 |0 |2 | |
114 |geneve_opt_parsed |0x0 |0 |0 |0 |0 | |
115 |- |0x2 |0 |0 |0 |0 | |
116 |- |0x1 |2 |0 |0 |2 | |
117 |- |0b** |0 |0 |0 |0 | |
118 |geneve_parsed |0x6558 |0 |0 |0 |0 | |
119 |- |0x0800 |0 |0 |0 |0 | |
120 |- |0x86dd |2 |3 |7 |19 | |
121 |- |0x**** |0 |0 |0 |0 | |
122 |parse_inner_eth |0x0800 |0 |3 |3 |9 | |
123 |- |0x86dd |0 |3 |3 |9 | |
124 |- |0x**** |0 |3 |3 |9 | |
125 |parse_inner_ipv6 |* |2 |3 |7 |19 | |
126 |parse_inner_ipv6.$split_0 |0x06 |0 |2 |1 |4 | |
127 |- |0x11 |0 |2 |1 |4 | |
128 |- |0x3a |0 |2 |1 |4 | |
129 |- |0x** |0 |2 |1 |4 | |
130 |parse_inner_ipv4 |0x06 |2 |7 |2 |13 | |
131 |- |0x11 |2 |7 |2 |13 | |
132 |- |0x01 |2 |7 |2 |13 | |
133 |- |0x** |2 |7 |2 |13 | |
134 |parse_inner_icmp |* |0 |4 |1 |6 | |
135 |parse_inner_udp |* |0 |4 |1 |6 | |
136 |parse_inner_tcp |* |0 |4 |4 |12 | |
137 |invalidate_ttl |* |2 |0 |0 |2 | |
138 +------------------------------------------+------------+-------+--------+--------+---------------------------+-----------+
139 Number of states on egress: 24
140 
141 Number of matches on egress: 55
142 
143 Longest path (17 states) on egress:
144 $entry_point.start
145 $entry_point.start.$oob_stall_1
146 $entry_point.start.$split_0
147 parse_vlan
148 parse_ipv6
149 parse_ipv6.$split_0
150 parse_udp
151 parse_geneve
152 parse_geneve_opt
153 parse_geneve_ox_opt
154 parse_geneve_ext_tag
155 geneve_opt_parsed
156 geneve_parsed
157 parse_inner_eth
158 parse_inner_ipv6
159 parse_inner_ipv6.$split_0
160 parse_inner_tcp
161 
162 Shortest path (3 states) on egress:
163 $entry_point.start
164 $entry_point.start.$oob_stall_1
165 $entry_point.start.$split_0
166 
167 Average rate: 4.29412 Bps
168 Min packet size at 100 Gbps: 175 B (102 B payload)
169 Max data rate for min-sized packets: 41.48 Gbps / 71.0274 MPps
170 
171 Extractor usage:
172 +---------------------------------+------------+-------+--------+--------+---------------------------+---------------------+
173 |State |Match |8-bit |16-bit |32-bit |Total Extractors (16-bit) |Other |
174 +---------------------------------+------------+-------+--------+--------+---------------------------+---------------------+
175 |$entry_point.start |* |2 |5 |0 |7 | |
176 |$entry_point.start.$oob_stall_1 |* |0 |0 |0 |0 | |
177 |$entry_point.start.$split_0 |0x8100 |4 |2 |1 |8 | |
178 |- |0x0800 |4 |2 |1 |8 | |
179 |- |0x86dd |4 |2 |1 |8 | |
180 |- |0x**** |4 |2 |1 |8 | |
181 |parse_vlan |0x0800 |0 |3 |0 |3 | |
182 |- |0x86dd |0 |3 |0 |3 | |
183 |- |0x**** |0 |3 |0 |3 | |
184 |parse_ipv6 |* |1 |0 |2 |5 |clot 0 |
185 |parse_ipv6.$split_0 |0x06 |4 |0 |1 |6 |clot 0 |
186 |- |0x11 |4 |0 |1 |6 |clot 0 |
187 |- |0x** |4 |0 |1 |6 |clot 0 |
188 |parse_ipv4 |0x01 |4 |1 |0 |5 |clot 3 |
189 |- |0x06 |4 |1 |0 |5 |clot 3 |
190 |- |0x11 |4 |1 |0 |5 |clot 3 |
191 |- |0x** |4 |1 |0 |5 |clot 3 |
192 |parse_udp |0x17c1 |0 |1 |0 |1 |clot 7 |
193 |- |0x**** |0 |1 |0 |1 |clot 7 |
194 |parse_geneve |0b**000000 |1 |2 |0 |3 |clot 9 |
195 |- |0x** |1 |2 |0 |3 |clot 9 |
196 |parse_geneve_opt |0x0129 |0 |0 |0 |0 | |
197 |- |0x**** |0 |0 |0 |0 | |
198 |parse_geneve_ox_opt |0b*0000000 |0 |1 |1 |3 | |
199 |- |0b*0000001 |0 |0 |0 |0 | |
200 |- |0b*0000010 |0 |0 |0 |0 | |
201 |- |0x** |0 |0 |0 |0 | |
202 |parse_geneve_mss_tag |0b***00001 |1 |0 |1 |3 |clot 10 |
203 |- |0x** |1 |0 |1 |3 |clot 10 |
204 |parse_geneve_mcast_tag |0b***00001 |1 |1 |1 |4 |clot 11 |
205 |- |0x** |1 |1 |1 |4 |clot 11 |
206 |parse_geneve_ext_tag |0b***00000 |0 |0 |0 |0 | |
207 |- |0x** |0 |0 |0 |0 | |
208 |geneve_opt_parsed |0x0 |0 |0 |0 |0 | |
209 |- |0x2 |0 |0 |0 |0 | |
210 |- |0x1 |0 |0 |0 |0 | |
211 |- |0b** |0 |0 |0 |0 | |
212 |geneve_parsed |0x6558 |0 |0 |0 |0 | |
213 |- |0x0800 |0 |0 |0 |0 | |
214 |- |0x86dd |1 |1 |2 |6 |clot 1 |
215 |- |0x**** |0 |0 |0 |0 | |
216 |parse_inner_eth |0x0800 |1 |2 |0 |3 |clot 4 |
217 |- |0x86dd |1 |2 |0 |3 |clot 4 |
218 |- |0x**** |1 |2 |0 |3 |clot 4 |
219 |parse_inner_ipv6 |* |1 |1 |2 |6 |clot 1 |
220 |parse_inner_ipv6.$split_0 |0x06 |6 |1 |0 |7 |clot 1 |
221 |- |0x11 |6 |1 |0 |7 |clot 1 |
222 |- |0x** |6 |1 |0 |7 |clot 1 |
223 |parse_inner_ipv4 |0x06 |6 |2 |0 |8 |clot 5 12 csum 2 3 |
224 |- |0x11 |6 |2 |0 |8 |clot 5 12 csum 2 3 |
225 |- |0x** |6 |2 |0 |8 |clot 5 12 csum 2 3 |
226 |parse_inner_udp |* |0 |1 |0 |1 |clot 6 |
227 |parse_inner_tcp |* |0 |1 |0 |1 |clot 2 |
228 |parse_tcp |* |0 |0 |0 |0 | |
229 |parse_icmp |* |3 |1 |0 |4 |clot 8 |
230 +---------------------------------+------------+-------+--------+--------+---------------------------+---------------------+