Parser Characterization Report: Number of states on ingress: 40 Number of matches on ingress: 96 Longest path (21 states) on ingress: $entry_point.start $entry_point.start.$oob_stall_0 $entry_point.start.$split_0 parse_sidecar parse_vlan parse_ipv4 validate_ipv4_mcast1_2 validate_ipv4_mcast_3 set_mcast_ipv4 goto_proto_ipv4 parse_udp parse_geneve parse_geneve_opt parse_geneve_ox_opt parse_geneve_ext_tag geneve_opt_parsed geneve_parsed parse_inner_eth parse_inner_ipv6 parse_inner_ipv6.$split_0 parse_inner_tcp Shortest path (3 states) on ingress: $entry_point.start $entry_point.start.$oob_stall_0 $entry_point.start.$split_0 Average rate: 3.47619 Bps Min packet size at 100 Gbps: 216 B (143 B payload) Max data rate for min-sized packets: 32.94 Gbps / 56.4041 MPps Extractor usage: +------------------------------------------+------------+-------+--------+--------+---------------------------+-----------+ |State |Match |8-bit |16-bit |32-bit |Total Extractors (16-bit) |Other | +------------------------------------------+------------+-------+--------+--------+---------------------------+-----------+ |$entry_point.start |* |0 |3 |1 |5 | | |$entry_point.start.$oob_stall_0 |* |0 |0 |0 |0 | | |$entry_point.start.$split_0 |0x0901 |0 |8 |1 |10 | | |- |0x8100 |0 |8 |1 |10 | | |- |0x0800 |0 |8 |1 |10 | | |- |0x86dd |0 |8 |1 |10 | | |- |0x0806 |0 |8 |1 |10 | | |- |0x88cc |1 |9 |1 |12 | | |- |0x**** |0 |8 |1 |10 | | |$entry_point.start.$split_0.$oob_stall_0 |* |0 |0 |0 |0 | | |parse_sidecar |0x8100 |0 |13 |1 |15 | | |- |0x0800 |0 |13 |1 |15 | | |- |0x86dd |0 |13 |1 |15 | | |- |0x0806 |0 |13 |1 |15 | | |- |0x**** |0 |13 |1 |15 | | |parse_sidecar.$oob_stall_1 |* |0 |0 |0 |0 | | |parse_sidecar.$oob_stall_0 |* |0 |0 |0 |0 | | |parse_vlan |0x0800 |1 |3 |0 |4 | | |- |0x86dd |1 |3 |0 |4 | | |- |0x0806 |1 |3 |0 |4 | | |- |0x**** |1 |3 |0 |4 | | |parse_arp |* |0 |1 |2 |5 |clot 0 | |parse_ipv6 |* |2 |4 |7 |20 |csum 0 | |parse_ipv6.$split_0 |0xff01 |2 |2 |1 |6 |csum 0 | |- |0xff02 |1 |2 |1 |5 |csum 0 | |- |0x**** |0 |2 |1 |4 |csum 0 | |check_ipv6_mcast |0xff |1 |0 |0 |1 | | |- |0x** |0 |0 |0 |0 | | |validate_hop_limit |0x00 |2 |0 |0 |2 | | |- |0x** |0 |0 |0 |0 | | |set_mcast_ipv6 |0x00 |2 |0 |0 |2 | | |- |0x01 |2 |0 |0 |2 | | |- |0x** |0 |0 |0 |0 | | |set_link_local_mcast |0x00 |2 |0 |0 |2 | | |- |0x01 |0 |0 |0 |0 | | |- |0x** |0 |0 |0 |0 | | |goto_proto_ipv6 |0x3a |0 |5 |1 |7 |csum 0 1 | |- |0x06 |0 |7 |4 |15 |csum 0 | |- |0x11 |0 |0 |0 |0 | | |- |0x** |0 |0 |0 |0 | | |parse_ipv4 |0xe* |2 |10 |3 |18 |csum 0 1 | |- |0x** |2 |10 |3 |18 |csum 0 1 | |validate_ttl |0x00 |2 |0 |0 |2 | | |- |0x** |0 |0 |0 |0 | | |validate_ipv4_mcast1_2 |0x0100 |0 |0 |0 |0 | | |- |0x**** |2 |0 |0 |2 | | |validate_ipv4_mcast_3 |0x5e |0 |0 |0 |0 | | |- |0x** |2 |0 |0 |2 | | |set_mcast_ipv4 |0x00 |1 |0 |0 |1 | | |- |0x01 |1 |0 |0 |1 | | |- |0x** |1 |0 |0 |1 | | |goto_proto_ipv4 |0x01 |0 |5 |1 |7 |csum 0 1 | |- |0x06 |0 |7 |4 |15 |csum 0 | |- |0x11 |0 |0 |0 |0 | | |- |0x** |0 |0 |0 |0 | | |parse_udp |0x17c1 |0 |7 |1 |9 |csum 0 | |- |0x**** |0 |7 |1 |9 |csum 0 | |parse_geneve |0b**000000 |0 |0 |3 |6 | | |- |0x** |0 |0 |3 |6 | | |parse_geneve_opt |0x0129 |0 |0 |0 |0 | | |- |0x**** |2 |0 |0 |2 | | |parse_geneve_ox_opt |0b*0000000 |0 |0 |2 |4 | | |- |0b*0000001 |0 |0 |0 |0 | | |- |0b*0000010 |0 |0 |0 |0 | | |- |0x** |2 |0 |0 |2 | | |parse_geneve_mss_tag |0b***00001 |0 |0 |1 |2 |clot 1 | |- |0x** |0 |0 |1 |2 |clot 1 | |parse_geneve_mcast_tag |0b***00001 |1 |0 |1 |3 |clot 2 | |- |0x** |1 |0 |1 |3 |clot 2 | |geneve_malformed |* |2 |0 |0 |2 | | |parse_geneve_ext_tag |0b***00000 |0 |0 |0 |0 | | |- |0x** |2 |0 |0 |2 | | |geneve_opt_parsed |0x0 |0 |0 |0 |0 | | |- |0x2 |0 |0 |0 |0 | | |- |0x1 |2 |0 |0 |2 | | |- |0b** |0 |0 |0 |0 | | |geneve_parsed |0x6558 |0 |0 |0 |0 | | |- |0x0800 |0 |0 |0 |0 | | |- |0x86dd |2 |3 |7 |19 | | |- |0x**** |0 |0 |0 |0 | | |parse_inner_eth |0x0800 |0 |3 |3 |9 | | |- |0x86dd |0 |3 |3 |9 | | |- |0x**** |0 |3 |3 |9 | | |parse_inner_ipv6 |* |2 |3 |7 |19 | | |parse_inner_ipv6.$split_0 |0x06 |0 |2 |1 |4 | | |- |0x11 |0 |2 |1 |4 | | |- |0x3a |0 |2 |1 |4 | | |- |0x** |0 |2 |1 |4 | | |parse_inner_ipv4 |0x06 |2 |7 |2 |13 | | |- |0x11 |2 |7 |2 |13 | | |- |0x01 |2 |7 |2 |13 | | |- |0x** |2 |7 |2 |13 | | |parse_inner_icmp |* |0 |4 |1 |6 | | |parse_inner_udp |* |0 |4 |1 |6 | | |parse_inner_tcp |* |0 |4 |4 |12 | | |invalidate_ttl |* |2 |0 |0 |2 | | +------------------------------------------+------------+-------+--------+--------+---------------------------+-----------+ Number of states on egress: 24 Number of matches on egress: 55 Longest path (17 states) on egress: $entry_point.start $entry_point.start.$oob_stall_1 $entry_point.start.$split_0 parse_vlan parse_ipv6 parse_ipv6.$split_0 parse_udp parse_geneve parse_geneve_opt parse_geneve_ox_opt parse_geneve_ext_tag geneve_opt_parsed geneve_parsed parse_inner_eth parse_inner_ipv6 parse_inner_ipv6.$split_0 parse_inner_tcp Shortest path (3 states) on egress: $entry_point.start $entry_point.start.$oob_stall_1 $entry_point.start.$split_0 Average rate: 4.29412 Bps Min packet size at 100 Gbps: 175 B (102 B payload) Max data rate for min-sized packets: 41.48 Gbps / 71.0274 MPps Extractor usage: +---------------------------------+------------+-------+--------+--------+---------------------------+---------------------+ |State |Match |8-bit |16-bit |32-bit |Total Extractors (16-bit) |Other | +---------------------------------+------------+-------+--------+--------+---------------------------+---------------------+ |$entry_point.start |* |2 |5 |0 |7 | | |$entry_point.start.$oob_stall_1 |* |0 |0 |0 |0 | | |$entry_point.start.$split_0 |0x8100 |4 |2 |1 |8 | | |- |0x0800 |4 |2 |1 |8 | | |- |0x86dd |4 |2 |1 |8 | | |- |0x**** |4 |2 |1 |8 | | |parse_vlan |0x0800 |0 |3 |0 |3 | | |- |0x86dd |0 |3 |0 |3 | | |- |0x**** |0 |3 |0 |3 | | |parse_ipv6 |* |1 |0 |2 |5 |clot 0 | |parse_ipv6.$split_0 |0x06 |4 |0 |1 |6 |clot 0 | |- |0x11 |4 |0 |1 |6 |clot 0 | |- |0x** |4 |0 |1 |6 |clot 0 | |parse_ipv4 |0x01 |4 |1 |0 |5 |clot 3 | |- |0x06 |4 |1 |0 |5 |clot 3 | |- |0x11 |4 |1 |0 |5 |clot 3 | |- |0x** |4 |1 |0 |5 |clot 3 | |parse_udp |0x17c1 |0 |1 |0 |1 |clot 7 | |- |0x**** |0 |1 |0 |1 |clot 7 | |parse_geneve |0b**000000 |1 |2 |0 |3 |clot 9 | |- |0x** |1 |2 |0 |3 |clot 9 | |parse_geneve_opt |0x0129 |0 |0 |0 |0 | | |- |0x**** |0 |0 |0 |0 | | |parse_geneve_ox_opt |0b*0000000 |0 |1 |1 |3 | | |- |0b*0000001 |0 |0 |0 |0 | | |- |0b*0000010 |0 |0 |0 |0 | | |- |0x** |0 |0 |0 |0 | | |parse_geneve_mss_tag |0b***00001 |1 |0 |1 |3 |clot 10 | |- |0x** |1 |0 |1 |3 |clot 10 | |parse_geneve_mcast_tag |0b***00001 |1 |1 |1 |4 |clot 11 | |- |0x** |1 |1 |1 |4 |clot 11 | |parse_geneve_ext_tag |0b***00000 |0 |0 |0 |0 | | |- |0x** |0 |0 |0 |0 | | |geneve_opt_parsed |0x0 |0 |0 |0 |0 | | |- |0x2 |0 |0 |0 |0 | | |- |0x1 |0 |0 |0 |0 | | |- |0b** |0 |0 |0 |0 | | |geneve_parsed |0x6558 |0 |0 |0 |0 | | |- |0x0800 |0 |0 |0 |0 | | |- |0x86dd |1 |1 |2 |6 |clot 1 | |- |0x**** |0 |0 |0 |0 | | |parse_inner_eth |0x0800 |1 |2 |0 |3 |clot 4 | |- |0x86dd |1 |2 |0 |3 |clot 4 | |- |0x**** |1 |2 |0 |3 |clot 4 | |parse_inner_ipv6 |* |1 |1 |2 |6 |clot 1 | |parse_inner_ipv6.$split_0 |0x06 |6 |1 |0 |7 |clot 1 | |- |0x11 |6 |1 |0 |7 |clot 1 | |- |0x** |6 |1 |0 |7 |clot 1 | |parse_inner_ipv4 |0x06 |6 |2 |0 |8 |clot 5 12 csum 2 3 | |- |0x11 |6 |2 |0 |8 |clot 5 12 csum 2 3 | |- |0x** |6 |2 |0 |8 |clot 5 12 csum 2 3 | |parse_inner_udp |* |0 |1 |0 |1 |clot 6 | |parse_inner_tcp |* |0 |1 |0 |1 |clot 2 | |parse_tcp |* |0 |0 |0 |0 | | |parse_icmp |* |3 |1 |0 |4 |clot 8 | +---------------------------------+------------+-------+--------+--------+---------------------------+---------------------+