Counters in rte_eth_xstat

Link-Inline™ Software Features

Platform
Napatech SmartNIC
Content Type
Feature Description
Capture Software Version
Link-Inline™ Software 3.0

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:
  • Smaller than 64 bytes.
  • Larger than the MTU size.
  • Maximum bit rate (MBR) has been exceeded.
  • Fails to lookup policies due to congestion.
  • No available buffers in the host.

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:
  • Smaller than 64 bytes.
  • Larger than the MTU size.
  • Due to oversubscription on the transmission port.

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

The following counters are supported in the rte_eth_xstat structure.

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.