| 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 | +---------------------------------+------------+-------+--------+--------+---------------------------+---------------------+ | ||