1 .. SPDX-License-Identifier: GPL-2.0 OR Linux-OpenIB
2 .. include:: <isonum.txt>
8 :Copyright: |copy| 2023, NVIDIA CORPORATION & AFFILIATES. All rights reserved.
21 There are several counter groups based on where the counter is being counted. In
22 addition, each group of counters may have different counter types.
24 These counter groups are based on which component in a networking setup,
25 illustrated below, that they describe::
27 ----------------------------------------
29 ---------------------------------------- ---------------------------------------- |
30 | Hypervisor | | VM | |
32 | ------------------- --------------- | | ------------------- --------------- | |
33 | | Ethernet driver | | RDMA driver | | | | Ethernet driver | | RDMA driver | | |
34 | ------------------- --------------- | | ------------------- --------------- | |
36 | ------------------- | | ------------------- | |
38 ---------------------------------------- ----------------------------------------
40 ------------- -----------------------------
42 ------ ------ ------ ------ ------ ------ ------
43 -----| PF |----------------------| VF |-| VF |-| VF |----- --| PF |--- --| PF |--- --| PF |---
44 | ------ ------ ------ ------ | | ------ | | ------ | | ------ |
48 | eSwitch | | eSwitch | | eSwitch | | eSwitch |
49 ---------------------------------------------------------- ----------- ----------- -----------
50 -------------------------------------------------------------------------------
53 | Uplink (no counters) |
54 -------------------------------------------------------------------------------
55 ---------------------------------------------------------------
58 | MPFS (no counters) |
59 ---------------------------------------------------------------
68 Software counters populated by the driver stack.
71 An aggregation of software ring counters.
74 Traffic counters and drops due to steering or no buffers. May indicate issues
75 with NIC. These counters include Ethernet traffic counters (including Raw
76 Ethernet) and RDMA/RoCE traffic counters.
78 Physical port counters
79 Counters that collect statistics about the PFs and VFs. May indicate issues
80 with NIC, link, or network. This measuring point holds information on
81 standardized counters like IEEE 802.3, RFC2863, RFC 2819, RFC 3635 and
82 additional counters like flow control, FEC and more. Physical port counters
83 are not exposed to virtual machines.
85 Priority Port Counters
86 A set of the physical port counters, per priority per port.
91 Counters are divided into three types.
93 Traffic Informative Counters
94 Counters which count traffic. These counters can be used for load estimation
97 Traffic Acceleration Counters
98 Counters which count traffic that was accelerated by Mellanox driver or by
99 hardware. The counters are an additional layer to the informative counter set,
100 and the same traffic is counted in both informative and acceleration counters.
102 .. [#accel] Traffic acceleration counter.
105 Increment of these counters might indicate a problem. Each of these counters
106 has an explanation and correction action.
108 Statistic can be fetched via the `ip link` or `ethtool` commands. `ethtool`
109 provides more detailed information.::
111 ip –s link show <if-name>
117 XSK, PTP, and QoS counters that are similar to counters defined previously will
118 not be separately listed. For example, `ptp_tx[i]_packets` will not be
119 explicitly documented since `tx[i]_packets` describes the behavior of both
120 counters, except `ptp_tx[i]_packets` is only counted when precision time
123 Ring / Netdev Counter
124 ----------------------------
125 The following counters are available per ring or software port.
127 These counters provide information on the amount of traffic that was accelerated
128 by the NIC. The counters are counting the accelerated traffic in addition to the
129 standard counters which counts it (i.e. accelerated traffic is counted twice).
131 The counter names in the table below refers to both ring and port counters. The
132 notation for ring counters includes the [i] index without the braces. The
133 notation for port counters doesn't include the [i]. A counter name
134 `rx[i]_packets` will be printed as `rx0_packets` for ring 0 and `rx_packets` for
137 .. flat-table:: Ring / Software Port Counter Table
145 - The number of packets received on ring i.
149 - The number of bytes received on ring i.
153 - The number of packets transmitted on ring i.
157 - The number of bytes transmitted on ring i.
161 - The number of times the SQ was recovered.
165 - Number of CQEs events on SQ issued on ring i.
169 - The number of error CQEs encountered on the SQ for ring i.
172 * - `tx[i]_tso_packets`
173 - The number of TSO packets transmitted on ring i [#accel]_.
176 * - `tx[i]_tso_bytes`
177 - The number of TSO bytes transmitted on ring i [#accel]_.
180 * - `tx[i]_tso_inner_packets`
181 - The number of TSO packets which are indicated to be carry internal
182 encapsulation transmitted on ring i [#accel]_.
185 * - `tx[i]_tso_inner_bytes`
186 - The number of TSO bytes which are indicated to be carry internal
187 encapsulation transmitted on ring i [#accel]_.
190 * - `rx[i]_gro_packets`
191 - Number of received packets processed using hardware-accelerated GRO. The
192 number of hardware GRO offloaded packets received on ring i.
195 * - `rx[i]_gro_bytes`
196 - Number of received bytes processed using hardware-accelerated GRO. The
197 number of hardware GRO offloaded bytes received on ring i.
201 - The number of receive SKBs constructed while performing
202 hardware-accelerated GRO.
205 * - `rx[i]_gro_match_packets`
206 - Number of received packets processed using hardware-accelerated GRO that
207 met the flow table match criteria.
210 * - `rx[i]_gro_large_hds`
211 - Number of receive packets using hardware-accelerated GRO that have large
212 headers that require additional memory to be allocated.
215 * - `rx[i]_lro_packets`
216 - The number of LRO packets received on ring i [#accel]_.
219 * - `rx[i]_lro_bytes`
220 - The number of LRO bytes received on ring i [#accel]_.
224 - The number of received packets where the ECN mark was turned on.
227 * - `rx_oversize_pkts_buffer`
228 - The number of dropped received packets due to length which arrived to RQ
229 and exceed software buffer size allocated by the device for incoming
230 traffic. It might imply that the device MTU is larger than the software
234 * - `rx_oversize_pkts_sw_drop`
235 - Number of received packets dropped in software because the CQE data is
236 larger than the MTU size.
239 * - `rx[i]_csum_unnecessary`
240 - Packets received with a `CHECKSUM_UNNECESSARY` on ring i [#accel]_.
243 * - `rx[i]_csum_unnecessary_inner`
244 - Packets received with inner encapsulation with a `CHECKSUM_UNNECESSARY`
248 * - `rx[i]_csum_none`
249 - Packets received with a `CHECKSUM_NONE` on ring i [#accel]_.
252 * - `rx[i]_csum_complete`
253 - Packets received with a `CHECKSUM_COMPLETE` on ring i [#accel]_.
256 * - `rx[i]_csum_complete_tail`
257 - Number of received packets that had checksum calculation computed,
258 potentially needed padding, and were able to do so with
262 * - `rx[i]_csum_complete_tail_slow`
263 - Number of received packets that need padding larger than eight bytes for
267 * - `tx[i]_csum_partial`
268 - Packets transmitted with a `CHECKSUM_PARTIAL` on ring i [#accel]_.
271 * - `tx[i]_csum_partial_inner`
272 - Packets transmitted with inner encapsulation with a `CHECKSUM_PARTIAL` on
276 * - `tx[i]_csum_none`
277 - Packets transmitted with no hardware checksum acceleration on ring i.
280 * - `tx[i]_stopped` / `tx_queue_stopped` [#ring_global]_
281 - Events where SQ was full on ring i. If this counter is increased, check
282 the amount of buffers allocated for transmission.
285 * - `tx[i]_wake` / `tx_queue_wake` [#ring_global]_
286 - Events where SQ was full and has become not full on ring i.
289 * - `tx[i]_dropped` / `tx_queue_dropped` [#ring_global]_
290 - Packets transmitted that were dropped due to DMA mapping failure on
291 ring i. If this counter is increased, check the amount of buffers
292 allocated for transmission.
296 - The number of nop WQEs (empty WQEs) inserted to the SQ (related to
297 ring i) due to the reach of the end of the cyclic buffer. When reaching
298 near to the end of cyclic buffer the driver may add those empty WQEs to
299 avoid handling a state the a WQE start in the end of the queue and ends
300 in the beginning of the queue. This is a normal condition.
303 * - `tx[i]_added_vlan_packets`
304 - The number of packets sent where vlan tag insertion was offloaded to the
308 * - `rx[i]_removed_vlan_packets`
309 - The number of packets received where vlan tag stripping was offloaded to
314 - The number of wrong opcodes received on ring i.
317 * - `rx[i]_mpwqe_frag`
318 - The number of WQEs that failed to allocate compound page and hence
319 fragmented MPWQE’s (Multi Packet WQEs) were used on ring i. If this
320 counter raise, it may suggest that there is no enough memory for large
321 pages, the driver allocated fragmented pages. This is not abnormal
325 * - `rx[i]_mpwqe_filler_cqes`
326 - The number of filler CQEs events that were issued on ring i.
329 * - `rx[i]_mpwqe_filler_strides`
330 - The number of strides consumed by filler CQEs on ring i.
333 * - `tx[i]_mpwqe_blks`
334 - The number of send blocks processed from Multi-Packet WQEs (mpwqe).
337 * - `tx[i]_mpwqe_pkts`
338 - The number of send packets processed from Multi-Packet WQEs (mpwqe).
341 * - `rx[i]_cqe_compress_blks`
342 - The number of receive blocks with CQE compression on ring i [#accel]_.
345 * - `rx[i]_cqe_compress_pkts`
346 - The number of receive packets with CQE compression on ring i [#accel]_.
350 - Number of flow rules that failed to be added to the flow table.
354 - The number of times the RQ was recovered.
357 * - `tx[i]_xmit_more`
358 - The number of packets sent with `xmit_more` indication set on the skbuff
363 - The number of invocations of NAPI poll of channel i.
367 - The number of times the NAPI poll function completed and armed the
368 completion queues on channel i.
371 * - `ch[i]_aff_change`
372 - The number of times the NAPI poll function explicitly stopped execution
373 on a CPU due to a change in affinity, on channel i.
377 - The number of hard interrupt events on the completion queues of channel i.
381 - The number of times the EQ was recovered.
384 * - `ch[i]_force_irq`
385 - Number of times NAPI is triggered by XSK wakeups by posting a NOP to
389 * - `rx[i]_congst_umr`
390 - The number of times an outstanding UMR request is delayed due to
391 congestion, on ring i.
394 * - `rx_pp_alloc_fast`
395 - Number of successful fast path allocations.
398 * - `rx_pp_alloc_slow`
399 - Number of slow path order-0 allocations.
402 * - `rx_pp_alloc_slow_high_order`
403 - Number of slow path high order allocations.
406 * - `rx_pp_alloc_empty`
407 - Counter is incremented when ptr ring is empty, so a slow path allocation
411 * - `rx_pp_alloc_refill`
412 - Counter is incremented when an allocation which triggered a refill of the
416 * - `rx_pp_alloc_waive`
417 - Counter is incremented when pages obtained from the ptr ring that cannot
418 be added to the cache due to a NUMA mismatch.
421 * - `rx_pp_recycle_cached`
422 - Counter is incremented when recycling placed page in the page pool cache.
425 * - `rx_pp_recycle_cache_full`
426 - Counter is incremented when page pool cache was full.
429 * - `rx_pp_recycle_ring`
430 - Counter is incremented when page placed into the ptr ring.
433 * - `rx_pp_recycle_ring_full`
434 - Counter is incremented when page released from page pool because the ptr
438 * - `rx_pp_recycle_released_ref`
439 - Counter is incremented when page released (and not recycled) because
443 * - `rx[i]_xsk_buff_alloc_err`
444 - The number of times allocating an skb or XSK buffer failed in the XSK RQ
448 * - `rx[i]_xsk_arfs_err`
449 - aRFS (accelerated Receive Flow Steering) does not occur in the XSK RQ
450 context, so this counter should never increment.
453 * - `rx[i]_xdp_tx_xmit`
454 - The number of packets forwarded back to the port due to XDP program
455 `XDP_TX` action (bouncing). these packets are not counted by other
456 software counters. These packets are counted by physical port and vPort
460 * - `rx[i]_xdp_tx_mpwqe`
461 - Number of multi-packet WQEs transmitted by the netdev and `XDP_TX`-ed by
462 the netdev during the RQ context.
465 * - `rx[i]_xdp_tx_inlnw`
466 - Number of WQE data segments transmitted where the data could be inlined
467 in the WQE and then `XDP_TX`-ed during the RQ context.
470 * - `rx[i]_xdp_tx_nops`
471 - Number of NOP WQEBBs (WQE building blocks) received posted to the XDP SQ.
474 * - `rx[i]_xdp_tx_full`
475 - The number of packets that should have been forwarded back to the port
476 due to `XDP_TX` action but were dropped due to full tx queue. These packets
477 are not counted by other software counters. These packets are counted by
478 physical port and vPort counters. You may open more rx queues and spread
479 traffic rx over all queues and/or increase rx ring size.
482 * - `rx[i]_xdp_tx_err`
483 - The number of times an `XDP_TX` error such as frame too long and frame
484 too short occurred on `XDP_TX` ring of RX ring.
487 * - `rx[i]_xdp_tx_cqes` / `rx_xdp_tx_cqe` [#ring_global]_
488 - The number of completions received on the CQ of the `XDP_TX` ring.
492 - The number of packets dropped due to XDP program `XDP_DROP` action. these
493 packets are not counted by other software counters. These packets are
494 counted by physical port and vPort counters.
497 * - `rx[i]_xdp_redirect`
498 - The number of times an XDP redirect action was triggered on ring i.
502 - The number of packets redirected to the interface(due to XDP redirect).
503 These packets are not counted by other software counters. These packets
504 are counted by physical port and vPort counters.
508 - The number of packets redirected to the interface(due to XDP redirect),
509 but were dropped due to full tx queue. these packets are not counted by
510 other software counters. you may enlarge tx queues.
513 * - `tx[i]_xdp_mpwqe`
514 - Number of multi-packet WQEs offloaded onto the NIC that were
515 `XDP_REDIRECT`-ed from other netdevs.
518 * - `tx[i]_xdp_inlnw`
519 - Number of WQE data segments where the data could be inlined in the WQE
520 where the data segments were `XDP_REDIRECT`-ed from other netdevs.
524 - Number of NOP WQEBBs (WQE building blocks) posted to the SQ that were
525 `XDP_REDIRECT`-ed from other netdevs.
529 - The number of packets redirected to the interface(due to XDP redirect)
530 but were dropped due to error such as frame too long and frame too short.
534 - The number of completions received for packets redirected to the
535 interface(due to XDP redirect) on the CQ.
539 - The number of packets transmitted using XSK zerocopy functionality.
542 * - `tx[i]_xsk_mpwqe`
543 - Number of multi-packet WQEs offloaded onto the NIC that were
544 `XDP_REDIRECT`-ed from other netdevs.
547 * - `tx[i]_xsk_inlnw`
548 - Number of WQE data segments where the data could be inlined in the WQE
549 that are transmitted using XSK zerocopy.
553 - Number of times doorbell is rung in XSK zerocopy mode when SQ is full.
557 - Number of errors that occurred in XSK zerocopy mode such as if the data
558 size is larger than the MTU size.
562 - Number of CQEs processed in XSK zerocopy mode.
566 - Number of TLS TX HW offload contexts added to device for encryption.
570 - Number of TLS TX HW offload contexts removed from device (connection
574 * - `tx_tls_pool_alloc`
575 - Number of times a unit of work is successfully allocated in the TLS HW
579 * - `tx_tls_pool_free`
580 - Number of times a unit of work is freed in the TLS HW offload pool.
584 - Number of TLS RX HW offload contexts added to device for decryption.
588 - Number of TLS RX HW offload contexts deleted from device (connection has
592 * - `rx[i]_tls_decrypted_packets`
593 - Number of successfully decrypted RX packets which were part of a TLS
597 * - `rx[i]_tls_decrypted_bytes`
598 - Number of TLS payload bytes in RX packets which were successfully
602 * - `rx[i]_tls_resync_req_pkt`
603 - Number of received TLS packets with a resync request.
606 * - `rx[i]_tls_resync_req_start`
607 - Number of times the TLS async resync request was started.
610 * - `rx[i]_tls_resync_req_end`
611 - Number of times the TLS async resync request properly ended with
612 providing the HW tracked tcp-seq.
615 * - `rx[i]_tls_resync_req_skip`
616 - Number of times the TLS async resync request procedure was started but
620 * - `rx[i]_tls_resync_res_ok`
621 - Number of times the TLS resync response call to the driver was
622 successfully handled.
625 * - `rx[i]_tls_resync_res_retry`
626 - Number of times the TLS resync response call to the driver was
627 reattempted when ICOSQ is full.
630 * - `rx[i]_tls_resync_res_skip`
631 - Number of times the TLS resync response call to the driver was terminated
636 - Number of times when CQE TLS offload was problematic.
639 * - `tx[i]_tls_encrypted_packets`
640 - The number of send packets that are TLS encrypted by the kernel.
643 * - `tx[i]_tls_encrypted_bytes`
644 - The number of send bytes that are TLS encrypted by the kernel.
648 - Number of times out of order TLS SQE fragments were handled on ring i.
651 * - `tx[i]_tls_dump_packets`
652 - Number of TLS decrypted packets copied over from NIC over DMA.
655 * - `tx[i]_tls_dump_bytes`
656 - Number of TLS decrypted bytes copied over from NIC over DMA.
659 * - `tx[i]_tls_resync_bytes`
660 - Number of TLS bytes requested to be resynchronized in order to be
664 * - `tx[i]_tls_skip_no_sync_data`
665 - Number of TLS send data that can safely be skipped / do not need to be
669 * - `tx[i]_tls_drop_no_sync_data`
670 - Number of TLS send data that were dropped due to retransmission of TLS
674 * - `ptp_cq[i]_abort`
675 - Number of times a CQE has to be skipped in precision time protocol due to
676 a skew between the port timestamp and CQE timestamp being greater than
680 * - `ptp_cq[i]_abort_abs_diff_ns`
681 - Accumulation of time differences between the port timestamp and CQE
682 timestamp when the difference is greater than 128 seconds in precision
686 * - `ptp_cq[i]_late_cqe`
687 - Number of times a CQE has been delivered on the PTP timestamping CQ when
688 the CQE was not expected since a certain amount of time had elapsed where
689 the device typically ensures not posting the CQE.
692 .. [#ring_global] The corresponding ring and global counters do not share the
693 same name (i.e. do not follow the common naming scheme).
697 Counters on the NIC port that is connected to a eSwitch.
699 .. flat-table:: vPort Counter Table
706 * - `rx_vport_unicast_packets`
707 - Unicast packets received, steered to a port including Raw Ethernet
708 QP/DPDK traffic, excluding RDMA traffic.
711 * - `rx_vport_unicast_bytes`
712 - Unicast bytes received, steered to a port including Raw Ethernet QP/DPDK
713 traffic, excluding RDMA traffic.
716 * - `tx_vport_unicast_packets`
717 - Unicast packets transmitted, steered from a port including Raw Ethernet
718 QP/DPDK traffic, excluding RDMA traffic.
721 * - `tx_vport_unicast_bytes`
722 - Unicast bytes transmitted, steered from a port including Raw Ethernet
723 QP/DPDK traffic, excluding RDMA traffic.
726 * - `rx_vport_multicast_packets`
727 - Multicast packets received, steered to a port including Raw Ethernet
728 QP/DPDK traffic, excluding RDMA traffic.
731 * - `rx_vport_multicast_bytes`
732 - Multicast bytes received, steered to a port including Raw Ethernet
733 QP/DPDK traffic, excluding RDMA traffic.
736 * - `tx_vport_multicast_packets`
737 - Multicast packets transmitted, steered from a port including Raw Ethernet
738 QP/DPDK traffic, excluding RDMA traffic.
741 * - `tx_vport_multicast_bytes`
742 - Multicast bytes transmitted, steered from a port including Raw Ethernet
743 QP/DPDK traffic, excluding RDMA traffic.
746 * - `rx_vport_broadcast_packets`
747 - Broadcast packets received, steered to a port including Raw Ethernet
748 QP/DPDK traffic, excluding RDMA traffic.
751 * - `rx_vport_broadcast_bytes`
752 - Broadcast bytes received, steered to a port including Raw Ethernet
753 QP/DPDK traffic, excluding RDMA traffic.
756 * - `tx_vport_broadcast_packets`
757 - Broadcast packets transmitted, steered from a port including Raw Ethernet
758 QP/DPDK traffic, excluding RDMA traffic.
761 * - `tx_vport_broadcast_bytes`
762 - Broadcast bytes transmitted, steered from a port including Raw Ethernet
763 QP/DPDK traffic, excluding RDMA traffic.
766 * - `rx_vport_rdma_unicast_packets`
767 - RDMA unicast packets received, steered to a port (counters counts
768 RoCE/UD/RC traffic) [#accel]_.
771 * - `rx_vport_rdma_unicast_bytes`
772 - RDMA unicast bytes received, steered to a port (counters counts
773 RoCE/UD/RC traffic) [#accel]_.
776 * - `tx_vport_rdma_unicast_packets`
777 - RDMA unicast packets transmitted, steered from a port (counters counts
778 RoCE/UD/RC traffic) [#accel]_.
781 * - `tx_vport_rdma_unicast_bytes`
782 - RDMA unicast bytes transmitted, steered from a port (counters counts
783 RoCE/UD/RC traffic) [#accel]_.
786 * - `rx_vport_rdma_multicast_packets`
787 - RDMA multicast packets received, steered to a port (counters counts
788 RoCE/UD/RC traffic) [#accel]_.
791 * - `rx_vport_rdma_multicast_bytes`
792 - RDMA multicast bytes received, steered to a port (counters counts
793 RoCE/UD/RC traffic) [#accel]_.
796 * - `tx_vport_rdma_multicast_packets`
797 - RDMA multicast packets transmitted, steered from a port (counters counts
798 RoCE/UD/RC traffic) [#accel]_.
801 * - `tx_vport_rdma_multicast_bytes`
802 - RDMA multicast bytes transmitted, steered from a port (counters counts
803 RoCE/UD/RC traffic) [#accel]_.
806 * - `vport_loopback_packets`
807 - Unicast, multicast and broadcast packets that were loop-back (received
808 and transmitted), IB/Eth [#accel]_.
811 * - `vport_loopback_bytes`
812 - Unicast, multicast and broadcast bytes that were loop-back (received
813 and transmitted), IB/Eth [#accel]_.
816 * - `rx_steer_missed_packets`
817 - Number of packets that was received by the NIC, however was discarded
818 because it did not match any flow in the NIC flow table.
822 - Representor only: packets received, that were handled by the hypervisor.
826 - Representor only: bytes received, that were handled by the hypervisor.
830 - Representor only: packets transmitted, that were handled by the
835 - Representor only: bytes transmitted, that were handled by the hypervisor.
838 * - `dev_internal_queue_oob`
839 - The number of dropped packets due to lack of receive WQEs for an internal
843 Physical Port Counters
844 ----------------------
845 The physical port counters are the counters on the external port connecting the
846 adapter to the network. This measuring point holds information on standardized
847 counters like IEEE 802.3, RFC2863, RFC 2819, RFC 3635 and additional counters
848 like flow control, FEC and more.
850 .. flat-table:: Physical Port Counter Table
858 - The number of packets received on the physical port. This counter doesn’t
859 include packets that were discarded due to FCS, frame size and similar
864 - The number of packets transmitted on the physical port.
868 - The number of bytes received on the physical port, including Ethernet
873 - The number of bytes transmitted on the physical port.
876 * - `rx_multicast_phy`
877 - The number of multicast packets received on the physical port.
880 * - `tx_multicast_phy`
881 - The number of multicast packets transmitted on the physical port.
884 * - `rx_broadcast_phy`
885 - The number of broadcast packets received on the physical port.
888 * - `tx_broadcast_phy`
889 - The number of broadcast packets transmitted on the physical port.
892 * - `rx_crc_errors_phy`
893 - The number of dropped received packets due to FCS (Frame Check Sequence)
894 error on the physical port. If this counter is increased in high rate,
895 check the link quality using `rx_symbol_error_phy` and
896 `rx_corrected_bits_phy` counters below.
899 * - `rx_in_range_len_errors_phy`
900 - The number of received packets dropped due to length/type errors on a
904 * - `rx_out_of_range_len_phy`
905 - The number of received packets dropped due to length greater than allowed
906 on a physical port. If this counter is increasing, it implies that the
907 peer connected to the adapter has a larger MTU configured. Using same MTU
908 configuration shall resolve this issue.
911 * - `rx_oversize_pkts_phy`
912 - The number of dropped received packets due to length which exceed MTU
913 size on a physical port. If this counter is increasing, it implies that
914 the peer connected to the adapter has a larger MTU configured. Using same
915 MTU configuration shall resolve this issue.
918 * - `rx_symbol_err_phy`
919 - The number of received packets dropped due to physical coding errors
920 (symbol errors) on a physical port.
923 * - `rx_mac_control_phy`
924 - The number of MAC control packets received on the physical port.
927 * - `tx_mac_control_phy`
928 - The number of MAC control packets transmitted on the physical port.
931 * - `rx_pause_ctrl_phy`
932 - The number of link layer pause packets received on a physical port. If
933 this counter is increasing, it implies that the network is congested and
934 cannot absorb the traffic coming from to the adapter.
937 * - `tx_pause_ctrl_phy`
938 - The number of link layer pause packets transmitted on a physical port. If
939 this counter is increasing, it implies that the NIC is congested and
940 cannot absorb the traffic coming from the network.
943 * - `rx_unsupported_op_phy`
944 - The number of MAC control packets received with unsupported opcode on a
948 * - `rx_discards_phy`
949 - The number of received packets dropped due to lack of buffers on a
950 physical port. If this counter is increasing, it implies that the adapter
951 is congested and cannot absorb the traffic coming from the network.
954 * - `tx_discards_phy`
955 - The number of packets which were discarded on transmission, even no
956 errors were detected. the drop might occur due to link in down state,
957 head of line drop, pause from the network, etc.
961 - The number of transmitted packets dropped due to a length which exceed
962 MTU size on a physical port.
965 * - `rx_undersize_pkts_phy`
966 - The number of received packets dropped due to length which is shorter
967 than 64 bytes on a physical port. If this counter is increasing, it
968 implies that the peer connected to the adapter has a non-standard MTU
969 configured or malformed packet had arrived.
972 * - `rx_fragments_phy`
973 - The number of received packets dropped due to a length which is shorter
974 than 64 bytes and has FCS error on a physical port. If this counter is
975 increasing, it implies that the peer connected to the adapter has a
976 non-standard MTU configured.
980 - The number of received packets d due to a length which is longer than 64
981 bytes and had FCS error on a physical port.
984 * - `rx_64_bytes_phy`
985 - The number of packets received on the physical port with size of 64 bytes.
988 * - `rx_65_to_127_bytes_phy`
989 - The number of packets received on the physical port with size of 65 to
993 * - `rx_128_to_255_bytes_phy`
994 - The number of packets received on the physical port with size of 128 to
998 * - `rx_256_to_511_bytes_phy`
999 - The number of packets received on the physical port with size of 256 to
1003 * - `rx_512_to_1023_bytes_phy`
1004 - The number of packets received on the physical port with size of 512 to
1008 * - `rx_1024_to_1518_bytes_phy`
1009 - The number of packets received on the physical port with size of 1024 to
1013 * - `rx_1519_to_2047_bytes_phy`
1014 - The number of packets received on the physical port with size of 1519 to
1018 * - `rx_2048_to_4095_bytes_phy`
1019 - The number of packets received on the physical port with size of 2048 to
1023 * - `rx_4096_to_8191_bytes_phy`
1024 - The number of packets received on the physical port with size of 4096 to
1028 * - `rx_8192_to_10239_bytes_phy`
1029 - The number of packets received on the physical port with size of 8192 to
1033 * - `link_down_events_phy`
1034 - The number of times where the link operative state changed to down. In
1035 case this counter is increasing it may imply on port flapping. You may
1036 need to replace the cable/transceiver.
1039 * - `rx_out_of_buffer`
1040 - Number of times receive queue had no software buffers allocated for the
1041 adapter's incoming traffic.
1044 * - `module_bus_stuck`
1045 - The number of times that module's I\ :sup:`2`\C bus (data or clock)
1046 short-wire was detected. You may need to replace the cable/transceiver.
1049 * - `module_high_temp`
1050 - The number of times that the module temperature was too high. If this
1051 issue persist, you may need to check the ambient temperature or replace
1052 the cable/transceiver module.
1055 * - `module_bad_shorted`
1056 - The number of times that the module cables were shorted. You may need to
1057 replace the cable/transceiver module.
1061 - The number of times that module was ejected.
1064 * - `rx_buffer_passed_thres_phy`
1065 - The number of events where the port receive buffer was over 85% full.
1068 * - `tx_pause_storm_warning_events`
1069 - The number of times the device was sending pauses for a long period of
1073 * - `tx_pause_storm_error_events`
1074 - The number of times the device was sending pauses for a long period of
1075 time, reaching time out and disabling transmission of pause frames. on
1076 the period where pause frames were disabled, drop could have been
1080 * - `rx[i]_buff_alloc_err`
1081 - Failed to allocate a buffer to received packet (or SKB) on ring i.
1085 - This counter provides information on the total amount of traffic that
1086 could have been received and can be used as a guideline to measure the
1087 ratio of errored traffic in `rx_pcs_symbol_err_phy` and
1088 `rx_corrected_bits_phy`.
1091 * - `rx_pcs_symbol_err_phy`
1092 - This counter counts the number of symbol errors that wasn’t corrected by
1093 FEC correction algorithm or that FEC algorithm was not active on this
1094 interface. If this counter is increasing, it implies that the link
1095 between the NIC and the network is suffering from high BER, and that
1096 traffic is lost. You may need to replace the cable/transceiver. The error
1097 rate is the number of `rx_pcs_symbol_err_phy` divided by the number of
1098 `rx_bits_phy` on a specific time frame.
1101 * - `rx_corrected_bits_phy`
1102 - The number of corrected bits on this port according to active FEC
1103 (RS/FC). If this counter is increasing, it implies that the link between
1104 the NIC and the network is suffering from high BER. The corrected bit
1105 rate is the number of `rx_corrected_bits_phy` divided by the number of
1106 `rx_bits_phy` on a specific time frame.
1109 * - `rx_err_lane_[l]_phy`
1110 - This counter counts the number of physical raw errors per lane l index.
1111 The counter counts errors before FEC corrections. If this counter is
1112 increasing, it implies that the link between the NIC and the network is
1113 suffering from high BER, and that traffic might be lost. You may need to
1114 replace the cable/transceiver. Please check in accordance with
1115 `rx_corrected_bits_phy`.
1118 * - `rx_global_pause`
1119 - The number of pause packets received on the physical port. If this
1120 counter is increasing, it implies that the network is congested and
1121 cannot absorb the traffic coming from the adapter. Note: This counter is
1122 only enabled when global pause mode is enabled.
1125 * - `rx_global_pause_duration`
1126 - The duration of pause received (in microSec) on the physical port. The
1127 counter represents the time the port did not send any traffic. If this
1128 counter is increasing, it implies that the network is congested and
1129 cannot absorb the traffic coming from the adapter. Note: This counter is
1130 only enabled when global pause mode is enabled.
1133 * - `tx_global_pause`
1134 - The number of pause packets transmitted on a physical port. If this
1135 counter is increasing, it implies that the adapter is congested and
1136 cannot absorb the traffic coming from the network. Note: This counter is
1137 only enabled when global pause mode is enabled.
1140 * - `tx_global_pause_duration`
1141 - The duration of pause transmitter (in microSec) on the physical port.
1142 Note: This counter is only enabled when global pause mode is enabled.
1145 * - `rx_global_pause_transition`
1146 - The number of times a transition from Xoff to Xon on the physical port
1147 has occurred. Note: This counter is only enabled when global pause mode
1151 * - `rx_if_down_packets`
1152 - The number of received packets that were dropped due to interface down.
1155 Priority Port Counters
1156 ----------------------
1157 The following counters are physical port counters that are counted per L2
1160 **Note:** `p` in the counter name represents the priority.
1162 .. flat-table:: Priority Port Counter Table
1169 * - `rx_prio[p]_bytes`
1170 - The number of bytes received with priority p on the physical port.
1173 * - `rx_prio[p]_packets`
1174 - The number of packets received with priority p on the physical port.
1177 * - `tx_prio[p]_bytes`
1178 - The number of bytes transmitted on priority p on the physical port.
1181 * - `tx_prio[p]_packets`
1182 - The number of packets transmitted on priority p on the physical port.
1185 * - `rx_prio[p]_pause`
1186 - The number of pause packets received with priority p on a physical port.
1187 If this counter is increasing, it implies that the network is congested
1188 and cannot absorb the traffic coming from the adapter. Note: This counter
1189 is available only if PFC was enabled on priority p.
1192 * - `rx_prio[p]_pause_duration`
1193 - The duration of pause received (in microSec) on priority p on the
1194 physical port. The counter represents the time the port did not send any
1195 traffic on this priority. If this counter is increasing, it implies that
1196 the network is congested and cannot absorb the traffic coming from the
1197 adapter. Note: This counter is available only if PFC was enabled on
1201 * - `rx_prio[p]_pause_transition`
1202 - The number of times a transition from Xoff to Xon on priority p on the
1203 physical port has occurred. Note: This counter is available only if PFC
1204 was enabled on priority p.
1207 * - `tx_prio[p]_pause`
1208 - The number of pause packets transmitted on priority p on a physical port.
1209 If this counter is increasing, it implies that the adapter is congested
1210 and cannot absorb the traffic coming from the network. Note: This counter
1211 is available only if PFC was enabled on priority p.
1214 * - `tx_prio[p]_pause_duration`
1215 - The duration of pause transmitter (in microSec) on priority p on the
1216 physical port. Note: This counter is available only if PFC was enabled on
1220 * - `rx_prio[p]_buf_discard`
1221 - The number of packets discarded by device due to lack of per host receive
1225 * - `rx_prio[p]_cong_discard`
1226 - The number of packets discarded by device due to per host congestion.
1229 * - `rx_prio[p]_marked`
1230 - The number of packets ecn marked by device due to per host congestion.
1233 * - `rx_prio[p]_discards`
1234 - The number of packets discarded by device due to lack of receive buffers.
1239 .. flat-table:: Device Counter Table
1246 * - `rx_pci_signal_integrity`
1247 - Counts physical layer PCIe signal integrity errors, the number of
1248 transitions to recovery due to Framing errors and CRC (dlp and tlp). If
1249 this counter is raising, try moving the adapter card to a different slot
1250 to rule out a bad PCI slot. Validate that you are running with the latest
1251 firmware available and latest server BIOS version.
1254 * - `tx_pci_signal_integrity`
1255 - Counts physical layer PCIe signal integrity errors, the number of
1256 transition to recovery initiated by the other side (moving to recovery
1257 due to getting TS/EIEOS). If this counter is raising, try moving the
1258 adapter card to a different slot to rule out a bad PCI slot. Validate
1259 that you are running with the latest firmware available and latest server
1263 * - `outbound_pci_buffer_overflow`
1264 - The number of packets dropped due to pci buffer overflow. If this counter
1265 is raising in high rate, it might indicate that the receive traffic rate
1266 for a host is larger than the PCIe bus and therefore a congestion occurs.
1269 * - `outbound_pci_stalled_rd`
1270 - The percentage (in the range 0...100) of time within the last second that
1271 the NIC had outbound non-posted reads requests but could not perform the
1272 operation due to insufficient posted credits.
1275 * - `outbound_pci_stalled_wr`
1276 - The percentage (in the range 0...100) of time within the last second that
1277 the NIC had outbound posted writes requests but could not perform the
1278 operation due to insufficient posted credits.
1281 * - `outbound_pci_stalled_rd_events`
1282 - The number of seconds where `outbound_pci_stalled_rd` was above 30%.
1285 * - `outbound_pci_stalled_wr_events`
1286 - The number of seconds where `outbound_pci_stalled_wr` was above 30%.
1289 * - `dev_out_of_buffer`
1290 - The number of times the device owned queue had not enough buffers