mirror of
https://github.com/torvalds/linux.git
synced 2024-11-28 23:21:31 +00:00
docs: net: include the new ethtool pause stats in the stats doc
Tell people that there now is an interface for querying pause frames. A little bit of restructuring is needed given this is a first source of such statistics. Signed-off-by: Jakub Kicinski <kuba@kernel.org> Reviewed-by: Saeed Mahameed <saeedm@nvidia.com> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
parent
9a27a33027
commit
8c00bd936f
@ -4,16 +4,23 @@
|
||||
Interface statistics
|
||||
====================
|
||||
|
||||
Overview
|
||||
========
|
||||
|
||||
This document is a guide to Linux network interface statistics.
|
||||
|
||||
There are two main sources of interface statistics in Linux:
|
||||
There are three main sources of interface statistics in Linux:
|
||||
|
||||
- standard interface statistics based on
|
||||
:c:type:`struct rtnl_link_stats64 <rtnl_link_stats64>`; and
|
||||
:c:type:`struct rtnl_link_stats64 <rtnl_link_stats64>`;
|
||||
- protocol-specific statistics; and
|
||||
- driver-defined statistics available via ethtool.
|
||||
|
||||
There are multiple interfaces to reach the former. Most commonly used
|
||||
is the `ip` command from `iproute2`::
|
||||
Standard interface statistics
|
||||
-----------------------------
|
||||
|
||||
There are multiple interfaces to reach the standard statistics.
|
||||
Most commonly used is the `ip` command from `iproute2`::
|
||||
|
||||
$ ip -s -s link show dev ens4u1u1
|
||||
6: ens4u1u1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP mode DEFAULT group default qlen 1000
|
||||
@ -34,7 +41,26 @@ If `-s` is specified once the detailed errors won't be shown.
|
||||
|
||||
`ip` supports JSON formatting via the `-j` option.
|
||||
|
||||
Ethtool statistics can be dumped using `ethtool -S $ifc`, e.g.::
|
||||
Protocol-specific statistics
|
||||
----------------------------
|
||||
|
||||
Some of the interfaces used for configuring devices are also able
|
||||
to report related statistics. For example ethtool interface used
|
||||
to configure pause frames can report corresponding hardware counters::
|
||||
|
||||
$ ethtool --include-statistics -a eth0
|
||||
Pause parameters for eth0:
|
||||
Autonegotiate: on
|
||||
RX: on
|
||||
TX: on
|
||||
Statistics:
|
||||
tx_pause_frames: 1
|
||||
rx_pause_frames: 1
|
||||
|
||||
Driver-defined statistics
|
||||
-------------------------
|
||||
|
||||
Driver-defined ethtool statistics can be dumped using `ethtool -S $ifc`, e.g.::
|
||||
|
||||
$ ethtool -S ens4u1u1
|
||||
NIC statistics:
|
||||
@ -94,6 +120,17 @@ Identifiers via `ETHTOOL_GSTRINGS` with `string_set` set to `ETH_SS_STATS`,
|
||||
and values via `ETHTOOL_GSTATS`. User space should use `ETHTOOL_GDRVINFO`
|
||||
to retrieve the number of statistics (`.n_stats`).
|
||||
|
||||
ethtool-netlink
|
||||
---------------
|
||||
|
||||
Ethtool netlink is a replacement for the older IOCTL interface.
|
||||
|
||||
Protocol-related statistics can be requested in get commands by setting
|
||||
the `ETHTOOL_FLAG_STATS` flag in `ETHTOOL_A_HEADER_FLAGS`. Currently
|
||||
statistics are supported in the following commands:
|
||||
|
||||
- `ETHTOOL_MSG_PAUSE_GET`
|
||||
|
||||
debugfs
|
||||
-------
|
||||
|
||||
@ -130,3 +167,13 @@ user space trying to read them.
|
||||
|
||||
Statistics must persist across routine operations like bringing the interface
|
||||
down and up.
|
||||
|
||||
Kernel-internal data structures
|
||||
-------------------------------
|
||||
|
||||
The following structures are internal to the kernel, their members are
|
||||
translated to netlink attributes when dumped. Drivers must not overwrite
|
||||
the statistics they don't report with 0.
|
||||
|
||||
.. kernel-doc:: include/linux/ethtool.h
|
||||
:identifiers: ethtool_pause_stats
|
||||
|
Loading…
Reference in New Issue
Block a user