Commit 8c00bd93 authored by Jakub Kicinski's avatar Jakub Kicinski Committed by David S. Miller

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: default avatarJakub Kicinski <kuba@kernel.org>
Reviewed-by: default avatarSaeed Mahameed <saeedm@nvidia.com>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent 9a27a330
...@@ -4,16 +4,23 @@ ...@@ -4,16 +4,23 @@
Interface statistics Interface statistics
==================== ====================
Overview
========
This document is a guide to Linux network interface statistics. 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 - 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. - driver-defined statistics available via ethtool.
There are multiple interfaces to reach the former. Most commonly used Standard interface statistics
is the `ip` command from `iproute2`:: -----------------------------
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 $ 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 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. ...@@ -34,7 +41,26 @@ If `-s` is specified once the detailed errors won't be shown.
`ip` supports JSON formatting via the `-j` option. `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 $ ethtool -S ens4u1u1
NIC statistics: NIC statistics:
...@@ -94,6 +120,17 @@ Identifiers via `ETHTOOL_GSTRINGS` with `string_set` set to `ETH_SS_STATS`, ...@@ -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` and values via `ETHTOOL_GSTATS`. User space should use `ETHTOOL_GDRVINFO`
to retrieve the number of statistics (`.n_stats`). 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 debugfs
------- -------
...@@ -130,3 +167,13 @@ user space trying to read them. ...@@ -130,3 +167,13 @@ user space trying to read them.
Statistics must persist across routine operations like bringing the interface Statistics must persist across routine operations like bringing the interface
down and up. 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
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment