This describes counters that can be retrieved via the DPDK API rte_eth_xstats_get using the rte_eth_xstat structure.
RX counters
This table shows supported RX counters in the rte_eth_xstat structure.
Counter name |
Description |
---|---|
rx_drop_events |
Number of received frames discarded in the SmartNIC. Drop events occur due to
the following reasons:
|
rx_octets |
Number of bytes received by the port. |
rx_packets |
Number of frames received by the port. |
rx_broadcast_packets |
Number of broadcast frames that are good frames including unsupported MAC control frames. |
rx_multicast_packets |
Number of multicast frames that are good frames including pause frame and unsupported MAC control frames. |
rx_unicast_packets |
Number of unicast frames that are good frames including pause frame and unsupported MAC control frames. |
rx_align_errors |
Number of frames with CRC, alignment and/or code violation errors. |
rx_code_violation_errors |
Number of frames with code violation errors. |
rx_crc_errors |
Number of frames with CRC errors. |
rx_undersize_packets |
Number of small, but otherwise good frames. |
rx_oversize_packets |
Number of large, but otherwise good frames. |
rx_fragments |
Number of small frames with errors. |
rx_jabbers_not_truncated |
Number of large erroneous frames which are not truncated . |
rx_jabbers_truncated |
Number of hard-sliced frames, since all hard-sliced frames are considered to be erroneous. |
rx_size_64_packets |
Number of frames that are 64 bytes in length (including frames with errors). |
rx_size_65_to_127_packets |
Number of frames between 65 and 127 bytes in length (including frames with errors). |
rx_size_128_to_255_packets |
Number of frames between 128 and 255 bytes in length (including frames with errors). |
rx_size_256_to_511_packets |
Number of frames between 256 and 511 bytes in length (including frames with errors). |
rx_size_512_to_1023_packets |
Number of frames between 512 and 1023 bytes in length (including frames with errors). |
rx_size_1024_to_1518_packets |
Number of frames between 1024 and 1518 bytes in length (including frames with errors). |
rx_size_1519_to_2047_packets |
Number of legal-sized frames between 1519 and 2047 bytes in length (including frames with errors). |
rx_size_2048_to_4095_packets |
Number of legal-sized frames between 2048 and 4095 bytes in length (including frames with errors). |
rx_size_4096_to_8191_packets |
Number of legal-sized frames between 4096 and 8191 bytes in length (including frames with errors). |
rx_size_8192_to_max_packets |
Number of legal-sized frames between 8192 byte and the value of MTU if MTU > 8192 (including frames with errors). |
rx_ip_checksum_error |
Number of frames with IP checksum errors or with IP data length inconsistent with Ethernet frame length. |
rx_udp_checksum_error |
Number of frames with UDP checksum errors or with IP or UDP data length inconsistent with Ethernet frame length or UDP data length inconsistent with IP data length. |
rx_tcp_checksum_error |
Number of frames with TCP checksum errors or with IP data length inconsistent with Ethernet frame length. |
TX counters
This table shows supported TX counters in the rte_eth_xstat structure.
Counter |
Description |
---|---|
tx_drop_events |
Number of frames that are discarded. Drop events occur due to the following
reasons:
|
tx_octets |
Number of bytes transmitted by the port. |
tx_packets |
Number of frames transmitted by the port. |
tx_broadcast_packets |
This counter is always 0. |
tx_multicast_packets |
This counter is always 0. |
tx_unicast_packets |
This counter is always 0. |
tx_align_errors |
Number of frames with CRC, alignment and/or code violation errors. |
tx_code_violation_errors |
This counter is always 0. |
tx_crc_errors |
This counter is always 0. |
tx_undersize_packets |
This counter is always 0. |
tx_oversize_packets |
This counter is always 0. |
tx_fragments |
This counter is always 0. |
tx_jabbers_not_truncated |
This counter is always 0. |
tx_jabbers_truncated |
This counter is always 0. |
tx_size_64_packets |
Number of frames that are 64 bytes in length (including frames with errors). |
tx_size_65_to_127_packets |
Number of frames between 65 and 127 bytes in length (including frames with errors). |
tx_size_128_to_255_packets |
Number of frames between 128 and 255 bytes in length (including frames with errors). |
tx_size_256_to_511_packets |
Number of frames between 256 and 511 bytes in length (including frames with errors). |
tx_size_512_to_1023_packets |
Number of frames between 512 and 1023 bytes in length (including frames with errors). |
tx_size_1024_to_1518_packets |
Number of frames between 1024 and 1518 bytes in length (including frames with errors). |
tx_size_1519_to_2047_packets |
Number of legal-sized frames between 1519 and 2047 bytes in length (including frames with errors). |
tx_size_2048_to_4095_packets |
Number of legal-sized frames between 2048 and 4095 bytes in length (including frames with errors). |
tx_size_4096_to_8191_packets |
Number of legal-sized frames between 4096 and 8191 bytes in length (including frames with errors). |
tx_size_8192_to_max_packets |
Number of legal-sized frames between 8192 bytes and the value of MTU, if MTU > 8192 (including frames with errors). |
Flow management counters
Counter |
Description |
---|---|
flm_count_current |
Currently activated number of flows. |
flm_count_learn_done |
Increments when a flow is learned successfully. |
flm_count_learn_ignore |
Increments when flow learning is ignored because the flow exists in the flow table. |
flm_count_learn_fail |
Increments when flow learning fails. |
flm_count_unlearn_done |
Increments when a flow is unlearned successfully. |
flm_count_unlearn_ignore |
Increments when flow unlearning fails because the flow does not exist in the flow table. |
flm_count_auto_unlearn_done |
This counter is always 0.
Note: Automatic unlearning of TCP flows is not
supported.
|
flm_count_auto_unlearn_ignore |
This counter is always 0. Note: Automatic unlearning of TCP flows is not supported.
|
flm_count_auto_unlearn_fail |
This counter is always 0. Note: Automatic unlearning of TCP flows is not supported.
|
flm_count_timeout_unlearn_done |
This counter is always 0. Note: Automatic unlearning of TCP flows is not supported.
|
flm_count_relearn_done |
Increments when a flow is successfully relearned. |
flm_count_relearn_ignore |
Increments when flow relearning is ignored because the flow was not found. |
flm_count_probe_done |
Increments when usage counters are successfully delivered to the host. The probe operation delivers usage counter statistics to the host when requested by the application, rather than through periodic delivery. See Metering statistics. |
flm_count_probe_ignore |
Increments when the probe operation is ignored because the flow was not found. |
flm_count_status_done |
Increments when a status record is generated. |
flm_count_inf_done |
Increments when an info record is generated. |
flm_count_inf_skip |
Increments when generating an info record is skipped. Info record generation may be skipped if the host does not read an info record fast enough. |
flm_count_packet_hit |
Increments when a received frame is classified as a hit. That is when a flow or a policy of the frame is found. |
flm_count_packet_miss |
Increments when a received frame is classified as a miss. That is when a flow or a policy of the frame is not found. |
flm_count_packet_unhandled |
Increments when a received frame is classified as unhandled because the flow manger could not keep up. |
flm_count_packet_disabled |
Increments when a received frame is not looked up because the lookup functionality is not enabled for the frame. This applies to the frames that are filtered by flow rules in group 0, which do not include any jump actions. |
flm_count_cash_hit |
Increments when a flow or a policy of a received frame is found in cached flows or policies. |
flm_count_cash_miss |
Increments when a flow or a policy of a received frame is not found in cached flows or policies. |
flm_count_cash_unhandled |
Increments when cache access of a received frame is unhandled because the flow manger could not keep up. |
flm_count_cuckoo_start |
Increments when the cuckoo algorithm starts, which happens if a flow learning is attempted, but the entry in the flow table was occupied. One or more move operations are then attempted in order to open up an entry. |
flm_count_cuckoo_move |
Increments when the move operation is performed by the cuckoo algorithm to find an entry in the flow table for a new flow. |