.\" -*- nroff -*-
.\" Copyright 1999 by David S. Miller.  All Rights Reserved.
.\" Portions Copyright 2001 Sun Microsystems
.\" Portions Copyright 2007, 2009 Free Software Foundation, Inc.
.\" This file may be copied under the terms of the GNU Public License.
.\" 
.\" There must be no text lines before .TH.  Use '.' for vertical spacing.
.\"
.\"	.An - list of n alternative values as in "flav vanilla|strawberry"
.\"
.de A1
\\fB\\$1\\fP|\\fB\\$2\\fP
..
.de A2
\\fB\\$1\\fP\ \\fB\\$2\\fP|\\fB\\$3\\fP
..
.de A3
\\fB\\$1\\fP\ \\fB\\$2\\fP|\\fB\\$3\\fP|\\fB\\$4\\fP
..
.de A4
\\fB\\$1\\fP\ \\fB\\$2\\fP|\\fB\\$3\\fP|\\fB\\$4\\fP|\\fB\\$5\\fP
..
.\" 
.\"	.Bn - same as above but framed by square brackets
.\"
.de B1
[\\fB\\$1\\fP|\\fB\\$2\\fP]
..
.de B2
[\\fB\\$1\\fP\ \\fB\\$2\\fP|\\fB\\$3\\fP]
..
.de B3
[\\fB\\$1\\fP\ \\fB\\$2\\fP|\\fB\\$3\\fP|\\fB\\$4\\fP]
..
.de B4
[\\fB\\$1\\fP\ \\fB\\$2\\fP|\\fB\\$3\\fP|\\fB\\$4\\fP|\\fB\\$5\\fP]
..
.\"
.\"	.BN - value with a numeric input as in "[value N]"
.\"
.de BN
[\\fB\\$1\\fP\ \\fIN\\fP]
..
.\"
.\"	.BM - same as above but has a mask field for format "[value N [m N]]"
.\"
.de BM
[\\fB\\$1\\fP\ \\fIN\\fP\ [\\fBm\\fP\ \\fIN\\fP]]
..
.\"
.\"	\(*MA - mac address
.\"
.ds MA \fIxx\fP\fB:\fP\fIyy\fP\fB:\fP\fIzz\fP\fB:\fP\fIaa\fP\fB:\fP\fIbb\fP\fB:\fP\fIcc\fP
.\"
.\"	\(*PA - IP address
.\"
.ds PA \fIip-address\fP
.\"
.\"	\(*WO - wol flags
.\"
.ds WO \fBp\fP|\fBu\fP|\fBm\fP|\fBb\fP|\fBa\fP|\fBg\fP|\fBs\fP|\fBf|\fBd\fP...
.\"
.\"	\(*FL - flow type values
.\"
.ds FL \fBtcp4\fP|\fBudp4\fP|\fBah4\fP|\fBesp4\fP|\fBsctp4\fP|\fBtcp6\fP|\fBudp6\fP|\fBah6\fP|\fBesp6\fP|\fBsctp6\fP
.\"
.\"	\(*HO - hash options
.\"
.ds HO \fBm\fP|\fBv\fP|\fBt\fP|\fBs\fP|\fBd\fP|\fBf\fP|\fBn\fP|\fBr\fP...
.\"
.\"	\(*SD - Self-diag test values
.\"
.ds SD \fBoffline\fP|\fBonline\fP|\fBexternal_lb\fP
.\"
.\"	\(*NC - Network Classifier type values
.\"
.ds NC \fBether\fP|\fBip4\fP|\fBtcp4\fP|\fBudp4\fP|\fBsctp4\fP|\fBah4\fP|\fBesp4\fP|\fBip6\fP|\fBtcp6\fP|\fBudp6\fP|\fBah6\fP|\fBesp6\fP|\fBsctp6\fP
..
.\"
.\" Start URL.
.de UR
.  ds m1 \\$1\"
.  nh
.  if \\n(mH \{\
.    \" Start diversion in a new environment.
.    do ev URL-div
.    do di URL-div
.  \}
..
.\" End URL.
.de UE
.  ie \\n(mH \{\
.    br
.    di
.    ev
.
.    \" Has there been one or more input lines for the link text?
.    ie \\n(dn \{\
.      do HTML-NS "<a href=""\\*(m1"">"
.      \" Yes, strip off final newline of diversion and emit it.
.      do chop URL-div
.      do URL-div
\c
.      do HTML-NS </a>
.    \}
.    el \
.      do HTML-NS "<a href=""\\*(m1"">\\*(m1</a>"
\&\\$*\"
.  \}
.  el \
\\*(la\\*(m1\\*(ra\\$*\"
.
.  hy \\n(HY
..
.
.TH ETHTOOL 8 "May 2020" "Ethtool version @VERSION@"
.SH NAME
ethtool \- query or control network driver and hardware settings
.
.SH SYNOPSIS
.\" Do not adjust lines (i.e. left justification) and do not hyphenate.
.na
.nh
.HP
.B ethtool
.I devname
.HP
.B ethtool \-h|\-\-help
.HP
.B ethtool \-\-version
.HP
.B ethtool
.BN --debug
.I args
.HP
.B ethtool \-\-monitor
[
.I command
] [
.I devname
]
.HP
.B ethtool \-a|\-\-show\-pause
.I devname
.HP
.B ethtool \-A|\-\-pause
.I devname
.B2 autoneg on off
.B2 rx on off
.B2 tx on off
.HP
.B ethtool \-c|\-\-show\-coalesce
.I devname
.HP
.B ethtool \-C|\-\-coalesce
.I devname
.B2 adaptive\-rx on off
.B2 adaptive\-tx on off
.BN rx\-usecs
.BN rx\-frames
.BN rx\-usecs\-irq
.BN rx\-frames\-irq
.BN tx\-usecs
.BN tx\-frames
.BN tx\-usecs\-irq
.BN tx\-frames\-irq
.BN stats\-block\-usecs
.BN pkt\-rate\-low
.BN rx\-usecs\-low
.BN rx\-frames\-low
.BN tx\-usecs\-low
.BN tx\-frames\-low
.BN pkt\-rate\-high
.BN rx\-usecs\-high
.BN rx\-frames\-high
.BN tx\-usecs\-high
.BN tx\-frames\-high
.BN sample\-interval
.HP
.B ethtool \-g|\-\-show\-ring
.I devname
.HP
.B ethtool \-G|\-\-set\-ring
.I devname
.BN rx
.BN rx\-mini
.BN rx\-jumbo
.BN tx
.HP
.B ethtool \-i|\-\-driver
.I devname
.HP
.B ethtool \-d|\-\-register\-dump
.I devname
.B2 raw on off
.B2 hex on off
.RB [ file 
.IR name ]
.HP
.B ethtool \-e|\-\-eeprom\-dump
.I devname
.B2 raw on off
.BN offset
.BN length
.HP
.B ethtool \-E|\-\-change\-eeprom
.I devname
.BN magic
.BN offset
.BN length
.BN value
.HP
.B ethtool \-k|\-\-show\-features|\-\-show\-offload
.I devname
.HP
.B ethtool \-K|\-\-features|\-\-offload
.I devname feature
.A1 on off
.RB ...
.HP
.B ethtool \-p|\-\-identify
.I devname
.RI [ N ]
.HP
.B ethtool \-P|\-\-show\-permaddr
.I devname
.HP
.B ethtool \-r|\-\-negotiate
.I devname
.HP
.B ethtool \-S|\-\-statistics
.I devname
.HP
.B ethtool \-\-phy\-statistics
.I devname
.HP
.B ethtool \-t|\-\-test
.I devname
.RI [\*(SD]
.HP
.B ethtool \-s
.I devname
.BN speed
.B2 duplex half full
.B4 port tp aui bnc mii fibre da
.B3 mdix auto on off
.B2 autoneg on off
.RB [ advertise \ \fIN\fP[\fB/\fP\fIM\fP]
|
.BI advertise \ mode
.A1 on off
.RB ...]
.BN phyad
.B2 xcvr internal external
.RB [ wol \ \fIN\fP[\fB/\fP\fIM\fP]
.RB | \ wol \ \*(WO]
.RB [ sopass \ \*(MA]
.RB [ msglvl
.IR N\fP[/\fIM\fP] \ |
.BI msglvl \ type
.A1 on off
.RB ...]
.HP
.B ethtool \-n|\-u|\-\-show\-nfc|\-\-show\-ntuple
.I devname
.RB [\  rx\-flow\-hash \ \*(FL \ |
.br
.BI rule \ N
.RB ]
.HP
.B ethtool \-N|\-U|\-\-config\-nfc|\-\-config\-ntuple
.I devname
.BR rx\-flow\-hash \ \*(FL \ \: \*(HO \ |
.br
.B flow\-type \*(NC
.RB [ src \ \*(MA\ [ m \ \*(MA]]
.RB [ dst \ \*(MA\ [ m \ \*(MA]]
.BM proto
.RB [ src\-ip \ \*(PA\ [ m \ \*(PA]]
.RB [ dst\-ip \ \*(PA\ [ m \ \*(PA]]
.BM tos
.BM tclass
.BM l4proto
.BM src\-port
.BM dst\-port
.BM spi
.BM l4data
.BM vlan\-etype
.BM vlan
.BM user\-def
.RB [ dst-mac \ \*(MA\ [ m \ \*(MA]]
.BN action
.BN context
.BN loc
.RB |
.br
.BI delete \ N
.HP
.B ethtool \-w|\-\-get\-dump
.I devname
.RB [ data
.IR filename ]
.HP
.B ethtool\ \-W|\-\-set\-dump
.I devname N
.HP
.B ethtool \-T|\-\-show\-time\-stamping
.I devname
.HP
.B ethtool \-x|\-\-show\-rxfh\-indir|\-\-show\-rxfh
.I devname
.HP
.B ethtool \-X|\-\-set\-rxfh\-indir|\-\-rxfh
.I devname
.RB [ hkey \ \*(MA:\...]
.RB [ start
.IR N ]
.RB [\  equal
.IR N \ |
.BI weight\  W0
.IR W1
.RB ...\ | \ default \ ]
.RB [ hfunc
.IR FUNC ]
.RB [ context
.I CTX
.RB |\  new ]
.RB [ delete ]
.HP
.B ethtool \-f|\-\-flash
.I devname file
.RI [ N ]
.HP
.B ethtool \-l|\-\-show\-channels
.I devname
.HP
.B ethtool \-L|\-\-set\-channels
.I devname
.BN rx
.BN tx
.BN other
.BN combined
.HP
.B ethtool \-m|\-\-dump\-module\-eeprom|\-\-module\-info
.I devname
.B2 raw on off
.B2 hex on off
.BN offset
.BN length
.HP
.B ethtool \-\-show\-priv\-flags
.I devname
.HP
.B ethtool \-\-set\-priv\-flags
.I devname flag
.A1 on off
.RB ...
.HP
.B ethtool \-\-show\-eee
.I devname
.HP
.B ethtool \-\-set\-eee
.I devname
.B2 eee on off
.B2 tx-lpi on off
.BN tx-timer
.BN advertise
.HP
.B ethtool \-\-set\-phy\-tunable
.I devname
.RB [
.B downshift
.A1 on off
.BN count
.RB ]
.RB [
.B fast\-link\-down
.A1 on off
.BN msecs
.RB ]
.RB [
.B energy\-detect\-power\-down
.A1 on off
.BN msecs
.RB ]
.HP
.B ethtool \-\-get\-phy\-tunable
.I devname
.RB [ downshift ]
.RB [ fast-link-down ]
.RB [ energy-detect-power-down ]
.HP
.B ethtool \-\-reset
.I devname
.BN flags
.RB [ mgmt ]
.RB [ mgmt-shared ]
.RB [ irq ]
.RB [ irq-shared ]
.RB [ dma ]
.RB [ dma-shared ]
.RB [ filter ]
.RB [ filter-shared ]
.RB [ offload ]
.RB [ offload-shared ]
.RB [ mac ]
.RB [ mac-shared ]
.RB [ phy ]
.RB [ phy-shared ]
.RB [ ram ]
.RB [ ram-shared ]
.RB [ ap ]
.RB [ ap-shared ]
.RB [ dedicated ]
.RB [ all ]
.HP
.B ethtool \-\-show\-fec
.I devname
.HP
.B ethtool \-\-set\-fec
.I devname
.B encoding
.BR auto | off | rs | baser | llrs \ [...]
.HP
.B ethtool \-Q|\-\-per\-queue
.I devname
.RB [ queue_mask
.IR %x ]
.I sub_command
.RB ...
 .
.
.\" Adjust lines (i.e. full justification) and hyphenate.
.ad
.hy

.SH DESCRIPTION
.BI ethtool
is used to query and control network device driver and hardware
settings, particularly for wired Ethernet devices.

.I devname
is the name of the network device on which ethtool should operate.

.SH OPTIONS
.B ethtool
with a single argument specifying the device name prints current
settings of the specified device.
.TP
.B \-h \-\-help
Shows a short help message.
.TP
.B \-\-version
Shows the ethtool version number.
.TP
.BI \-\-debug \ N
Turns on debugging messages. Argument is interpreted as a mask:
.TS
nokeep;
lB	l.
0x01  Parser information
.TE
.TP
.B \-a \-\-show\-pause
Queries the specified Ethernet device for pause parameter information.
.TP
.B \-A \-\-pause
Changes the pause parameters of the specified Ethernet device.
.RS 4
.TP
.A2 autoneg on off
Specifies whether pause autonegotiation should be enabled.
.TP
.A2 rx on off
Specifies whether RX pause should be enabled.
.TP
.A2 tx on off
Specifies whether TX pause should be enabled.
.RE
.TP
.B \-c \-\-show\-coalesce
Queries the specified network device for coalescing information.
.TP
.B \-C \-\-coalesce
Changes the coalescing settings of the specified network device.
.TP
.B \-g \-\-show\-ring
Queries the specified network device for rx/tx ring parameter information.
.TP
.B \-G \-\-set\-ring
Changes the rx/tx ring parameters of the specified network device.
.RS 4
.TP
.BI rx \ N
Changes the number of ring entries for the Rx ring.
.TP
.BI rx\-mini \ N
Changes the number of ring entries for the Rx Mini ring.
.TP
.BI rx\-jumbo \ N
Changes the number of ring entries for the Rx Jumbo ring.
.TP
.BI tx \ N
Changes the number of ring entries for the Tx ring.
.RE
.TP
.B \-i \-\-driver
Queries the specified network device for associated driver information.
.TP
.B \-d \-\-register\-dump
Retrieves and prints a register dump for the specified network device.
The register format for some devices is known and decoded others
are printed in hex.
When 
.I raw 
is enabled, then ethtool dumps the raw register data to stdout.
If
.I file
is specified, then use contents of previous raw register dump, rather
than reading from the device.
.TP
.B \-e \-\-eeprom\-dump
Retrieves and prints an EEPROM dump for the specified network device.
When raw is enabled, then it dumps the raw EEPROM data to stdout. The
length and offset parameters allow dumping certain portions of the EEPROM.
Default is to dump the entire EEPROM.
.RS 4
.TP
.BI raw \ on|off
.TP
.BI offset \ N
.TP
.BI length \ N
.RE
.TP
.B \-E \-\-change\-eeprom
If value is specified, changes EEPROM byte for the specified network device.
offset and value specify which byte and it's new value. If value is not
specified, stdin is read and written to the EEPROM. The length and offset
parameters allow writing to certain portions of the EEPROM.
Because of the persistent nature of writing to the EEPROM, a device-specific
magic key must be specified to prevent the accidental writing to the EEPROM.
.TP
.B \-k \-\-show\-features \-\-show\-offload
Queries the specified network device for the state of protocol
offload and other features.
.TP
.B \-K \-\-features \-\-offload
Changes the offload parameters and other features of the specified
network device.  The following feature names are built-in and others
may be defined by the kernel.
.RS 4
.TP
.A2 rx on off
Specifies whether RX checksumming should be enabled.
.TP
.A2 tx on off
Specifies whether TX checksumming should be enabled.
.TP
.A2 sg on off
Specifies whether scatter-gather should be enabled.
.TP
.A2 tso on off
Specifies whether TCP segmentation offload should be enabled.
.TP
.A2 ufo on off
Specifies whether UDP fragmentation offload should be enabled 
.TP
.A2 gso on off
Specifies whether generic segmentation offload should be enabled 
.TP
.A2 gro on off
Specifies whether generic receive offload should be enabled
.TP
.A2 lro on off
Specifies whether large receive offload should be enabled
.TP
.A2 rxvlan on off
Specifies whether RX VLAN acceleration should be enabled
.TP
.A2 txvlan on off
Specifies whether TX VLAN acceleration should be enabled
.TP
.A2 ntuple on off
Specifies whether Rx ntuple filters and actions should be enabled
.TP
.A2 rxhash on off
Specifies whether receive hashing offload should be enabled
.RE
.TP
.B \-p \-\-identify
Initiates adapter-specific action intended to enable an operator to
easily identify the adapter by sight.  Typically this involves
blinking one or more LEDs on the specific network port.
.RS 4
.TP
.BN
Length of time to perform phys-id, in seconds.
.RE
.TP
.B \-P \-\-show\-permaddr
Queries the specified network device for permanent hardware address.
.TP
.B \-r \-\-negotiate
Restarts auto-negotiation on the specified Ethernet device, if
auto-negotiation is enabled.
.TP
.B \-S \-\-statistics
Queries the specified network device for NIC- and driver-specific
statistics.
.TP
.B \-\-phy\-statistics
Queries the specified network device for PHY specific statistics.
.TP
.B \-t \-\-test
Executes adapter selftest on the specified network device. Possible test modes are:
.RS 4
.TP
.B offline
Perform full set of tests, possibly interrupting normal operation
during the tests,
.TP
.B online
Perform limited set of tests, not interrupting normal operation,
.TP
.B external_lb
Perform full set of tests, as for \fBoffline\fR, and additionally an
external-loopback test.
.RE
.TP
.B \-s \-\-change
Allows changing some or all settings of the specified network device.
All following options only apply if
.B \-s
was specified.
.RS 4
.TP
.BI speed \ N
Set speed in Mb/s.
.B ethtool
with just the device name as an argument will show you the supported device speeds.
.TP
.A2 duplex half full
Sets full or half duplex mode.
.TP
.A4 port tp aui bnc mii fibre da
Selects device port.
.TP
.A3 mdix auto on off
Selects MDI-X mode for port. May be used to override the automatic
detection feature of most adapters. An argument of \fBauto\fR means
automatic detection of MDI status, \fBon\fR forces MDI-X (crossover)
mode, while \fBoff\fR means MDI (straight through) mode.  The driver
should guarantee that this command takes effect immediately, and if
necessary may reset the link to cause the change to take effect.
.TP
.A2 autoneg on off
Specifies whether autonegotiation should be enabled. Autonegotiation 
is enabled by default, but in some network devices may have trouble
with it, so you can disable it if really necessary. 
.TP
.BI advertise \ N
Sets the speed and duplex advertised by autonegotiation.  The argument is
a hexadecimal value using one or a combination of the following values:
.TS
nokeep;
lB	l	lB.
0x001	10baseT Half
0x002	10baseT Full
0x004	100baseT Half
0x008	100baseT Full
0x80000000000000000	100baseT1 Full
0x010	1000baseT Half	(not supported by IEEE standards)
0x020	1000baseT Full
0x100000000000000000	1000baseT1 Full
0x20000	1000baseKX Full
0x20000000000	1000baseX Full
0x800000000000	2500baseT Full
0x8000	2500baseX Full	(not supported by IEEE standards)
0x1000000000000	5000baseT Full
0x1000	10000baseT Full
0x40000	10000baseKX4 Full
0x80000	10000baseKR Full
0x100000	10000baseR_FEC
0x40000000000	10000baseCR  Full
0x80000000000	10000baseSR  Full
0x100000000000	10000baseLR  Full
0x200000000000	10000baseLRM Full
0x400000000000	10000baseER  Full
0x200000	20000baseMLD2 Full	(not supported by IEEE standards)
0x400000	20000baseKR2 Full	(not supported by IEEE standards)
0x80000000	25000baseCR Full
0x100000000	25000baseKR Full
0x200000000	25000baseSR Full
0x800000	40000baseKR4 Full
0x1000000	40000baseCR4 Full
0x2000000	40000baseSR4 Full
0x4000000	40000baseLR4 Full
0x400000000	50000baseCR2 Full
0x800000000	50000baseKR2 Full
0x10000000000	50000baseSR2 Full
0x10000000000000	50000baseKR Full
0x20000000000000	50000baseSR Full
0x40000000000000	50000baseCR Full
0x80000000000000	50000baseLR_ER_FR Full
0x100000000000000	50000baseDR Full
0x8000000	56000baseKR4 Full
0x10000000	56000baseCR4 Full
0x20000000	56000baseSR4 Full
0x40000000	56000baseLR4 Full
0x1000000000	100000baseKR4 Full
0x2000000000	100000baseSR4 Full
0x4000000000	100000baseCR4 Full
0x8000000000	100000baseLR4_ER4 Full
0x200000000000000	100000baseKR2 Full
0x400000000000000	100000baseSR2 Full
0x800000000000000	100000baseCR2 Full
0x1000000000000000	100000baseLR2_ER2_FR2 Full
0x2000000000000000	100000baseDR2 Full
0x4000000000000000	200000baseKR4 Full
0x8000000000000000	200000baseSR4 Full
0x10000000000000000	200000baseLR4_ER4_FR4 Full
0x20000000000000000	200000baseDR4 Full
0x40000000000000000	200000baseCR4 Full
.TE
.TP
.BI phyad \ N
PHY address.
.TP
.A2 xcvr internal external
Selects transceiver type. Currently only internal and external can be
specified, in the future further types might be added.
.TP
.BR wol \ \*(WO
Sets Wake-on-LAN options.  Not all devices support this.  The argument to 
this option is a string of characters specifying which options to enable.
.TS
nokeep;
lB	l.
p	Wake on PHY activity
u	Wake on unicast messages
m	Wake on multicast messages
b	Wake on broadcast messages
a	Wake on ARP
g	Wake on MagicPacket\[tm]
s	Enable SecureOn\[tm] password for MagicPacket\[tm]
f	Wake on filter(s)
d	T{
Disable (wake on nothing).  This option clears all previous options.
T}
.TE
.TP
.B sopass \*(MA
Sets the SecureOn\[tm] password.  The argument to this option must be 6
bytes in Ethernet MAC hex format (\*(MA).
.PP
.BI msglvl \ N
.br
.BI msglvl \ type
.A1 on off
.RB ...
.RS
Sets the driver message type flags by name or number. \fItype\fR
names the type of message to enable or disable; \fIN\fR specifies the
new flags numerically. The defined type names and numbers are:
.TS
nokeep;
lB	l	l.
drv	0x0001  General driver status
probe	0x0002  Hardware probing
link	0x0004  Link state
timer	0x0008  Periodic status check
ifdown	0x0010  Interface being brought down
ifup	0x0020  Interface being brought up
rx_err	0x0040  Receive error
tx_err	0x0080  Transmit error
tx_queued	0x0100  Transmit queueing
intr	0x0200  Interrupt handling
tx_done	0x0400  Transmit completion
rx_status	0x0800  Receive completion
pktdata	0x1000  Packet contents
hw	0x2000  Hardware status
wol	0x4000  Wake-on-LAN status
.TE
.PP
The precise meanings of these type flags differ between drivers.
.RE
.PD
.RE
.TP
.B \-n \-u \-\-show\-nfc \-\-show\-ntuple
Retrieves receive network flow classification options or rules.
.RS 4
.TP
.BR rx\-flow\-hash \ \*(FL
Retrieves the hash options for the specified flow type.
.TS
nokeep;
lB	l.
tcp4	TCP over IPv4
udp4	UDP over IPv4
ah4	IPSEC AH over IPv4
esp4	IPSEC ESP over IPv4
sctp4	SCTP over IPv4
tcp6	TCP over IPv6
udp6	UDP over IPv6
ah6	IPSEC AH over IPv6
esp6	IPSEC ESP over IPv6
sctp6	SCTP over IPv6
.TE
.TP
.BI rule \ N
Retrieves the RX classification rule with the given ID.
.RE
.PD
.RE
.TP
.B \-N \-U \-\-config\-nfc \-\-config\-ntuple
Configures receive network flow classification options or rules.
.RS 4
.TP
.BR rx\-flow\-hash \ \*(FL \: \*(HO
Configures the hash options for the specified flow type.
.TS
nokeep;
lB	l.
m	Hash on the Layer 2 destination address of the rx packet.
v	Hash on the VLAN tag of the rx packet.
t	Hash on the Layer 3 protocol field of the rx packet.
s	Hash on the IP source address of the rx packet.
d	Hash on the IP destination address of the rx packet.
f	Hash on bytes 0 and 1 of the Layer 4 header of the rx packet.
n	Hash on bytes 2 and 3 of the Layer 4 header of the rx packet.
r	T{
Discard all packets of this flow type. When this option is set, all
other options are ignored.
T}
.TE
.TP
.B flow\-type \*(NC
Inserts or updates a classification rule for the specified flow type.
.TS
nokeep;
lB	l.
ether	Ethernet
ip4	Raw IPv4
tcp4	TCP over IPv4
udp4	UDP over IPv4
sctp4	SCTP over IPv4
ah4	IPSEC AH over IPv4
esp4	IPSEC ESP over IPv4
ip6	Raw IPv6
tcp6	TCP over IPv6
udp6	UDP over IPv6
sctp6	SCTP over IPv6
ah6	IPSEC AH over IPv6
esp6	IPSEC ESP over IPv6
.TE
.PP
For all fields that allow both a value and a mask to be specified, the
mask may be specified immediately after the value using the \fBm\fR
keyword, or separately using the field name keyword with \fB-mask\fR
appended, e.g. \fBsrc-mask\fR.
.PD
.TP
.BR src \ \*(MA\ [ m \ \*(MA]
Includes the source MAC address, specified as 6 bytes in hexadecimal
separated by colons, along with an optional mask.  Valid only for
flow-type ether.
.TP
.BR dst \ \*(MA\ [ m \ \*(MA]
Includes the destination MAC address, specified as 6 bytes in hexadecimal
separated by colons, along with an optional mask.  Valid only for
flow-type ether.
.TP
.BI proto \ N \\fR\ [\\fPm \ N \\fR]\\fP
Includes the Ethernet protocol number (ethertype) and an optional mask.
Valid only for flow-type ether.
.TP
.BR src\-ip \ \*(PA\ [ m \ \*(PA]
Specify the source IP address of the incoming packet to match along with
an optional mask.  Valid for all IP based flow-types.
.TP
.BR dst\-ip \ \*(PA\ [ m \ \*(PA]
Specify the destination IP address of the incoming packet to match along
with an optional mask.  Valid for all IP based flow-types.
.TP
.BI tos \ N \\fR\ [\\fPm \ N \\fR]\\fP
Specify the value of the Type of Service field in the incoming packet to
match along with an optional mask.  Applies to all IPv4 based flow-types.
.TP
.BI tclass \ N \\fR\ [\\fPm \ N \\fR]\\fP
Specify the value of the Traffic Class field in the incoming packet to
match along with an optional mask.  Applies to all IPv6 based flow-types.
.TP
.BI l4proto \ N \\fR\ [\\fPm \ N \\fR]\\fP
Includes the layer 4 protocol number and optional mask.  Valid only for
flow-types ip4 and ip6.
.TP
.BI src\-port \ N \\fR\ [\\fPm \ N \\fR]\\fP
Specify the value of the source port field (applicable to TCP/UDP packets)
in the incoming packet to match along with an optional mask.  Valid for
flow-types ip4, tcp4, udp4, and sctp4 and their IPv6 equivalents.
.TP
.BI dst\-port \ N \\fR\ [\\fPm \ N \\fR]\\fP
Specify the value of the destination port field (applicable to TCP/UDP
packets)in the incoming packet to match along with an optional mask.
Valid for flow-types ip4, tcp4, udp4, and sctp4 and their IPv6 equivalents.
.TP
.BI spi \ N \\fR\ [\\fPm \ N \\fR]\\fP
Specify the value of the security parameter index field (applicable to
AH/ESP packets)in the incoming packet to match along with an optional
mask.  Valid for flow-types ip4, ah4, and esp4 and their IPv6 equivalents.
.TP
.BI l4data \ N \\fR\ [\\fPm \ N \\fR]\\fP
Specify the value of the first 4 Bytes of Layer 4 in the incoming packet to
match along with an optional mask.  Valid for ip4 and ip6 flow-types.
.TP
.BI vlan\-etype \ N \\fR\ [\\fPm \ N \\fR]\\fP
Includes the VLAN tag Ethertype and an optional mask.
.TP
.BI vlan \ N \\fR\ [\\fPm \ N \\fR]\\fP
Includes the VLAN tag and an optional mask.
.TP
.BI user\-def \ N \\fR\ [\\fPm \ N \\fR]\\fP
Includes 64-bits of user-specific data and an optional mask.
.TP
.BR dst-mac \ \*(MA\ [ m \ \*(MA]
Includes the destination MAC address, specified as 6 bytes in hexadecimal
separated by colons, along with an optional mask.
Valid for all IP based flow-types.
.TP
.BI action \ N
Specifies the Rx queue to send packets to, or some other action.
.TS
nokeep;
lB	l.
-1	Drop the matched flow
-2	Use the matched flow as a Wake-on-LAN filter
0 or higher	Rx queue to route the flow
.TE
.TP
.BI context \ N
Specifies the RSS context to spread packets over multiple queues; either
.B 0
for the default RSS context, or a value returned by
.BI ethtool\ -X\  ... \ context
.BR new .
.TP
.BI vf \ N
Specifies the Virtual Function the filter applies to. Not compatible with action.
.TP
.BI queue \ N
Specifies the Rx queue to send packets to. Not compatible with action.
.TP
.BI loc \ N
Specify the location/ID to insert the rule. This will overwrite
any rule present in that location and will not go through any
of the rule ordering process.
.TP
.BI delete \ N
Deletes the RX classification rule with the given ID.
.RE
.TP
.B \-w \-\-get\-dump
Retrieves and prints firmware dump for the specified network device.
By default, it prints out the dump flag, version and length of the dump data.
When
.I data
is indicated, then ethtool fetches the dump data and directs it to a
.I file.
.TP
.B \-W \-\-set\-dump
Sets the dump flag for the device.
.TP
.B \-T \-\-show\-time\-stamping
Show the device's time stamping capabilities and associated PTP
hardware clock.
.TP
.B \-x \-\-show\-rxfh\-indir \-\-show\-rxfh
Retrieves the receive flow hash indirection table and/or RSS hash key.
.TP
.B \-X \-\-set\-rxfh\-indir \-\-rxfh
Configures the receive flow hash indirection table and/or RSS hash key.
.RS 4
.TP
.BI hkey
Sets RSS hash key of the specified network device. RSS hash key should be of device supported length.
Hash key format must be in xx:yy:zz:aa:bb:cc format meaning both the nibbles of a byte should be mentioned
even if a nibble is zero.
.TP
.BI hfunc
Sets RSS hash function of the specified network device.
List of RSS hash functions which kernel supports is shown as a part of the --show-rxfh command output.
.TP
.BI start\  N
For the \fBequal\fR and \fBweight\fR options, sets the starting receive queue
for spreading flows to \fIN\fR.
.TP
.BI equal\  N
Sets the receive flow hash indirection table to spread flows evenly
between the first \fIN\fR receive queues.
.TP
\fBweight\fR \fIW0 W1\fR ...
Sets the receive flow hash indirection table to spread flows between
receive queues according to the given weights.  The sum of the weights
must be non-zero and must not exceed the size of the indirection table.
.TP
.BI default
Sets the receive flow hash indirection table to its default value.
.TP
\fBcontext \fICTX\fR | \fBnew\fR
Specifies an RSS context to act on; either
.B new
to allocate a new RSS context, or
.IR CTX ,
a value returned by a previous
.IB ... \ context
.BR new .
.TP
.B delete
Delete the specified RSS context.  May only be used in conjunction with
.B context
and a non-zero
.I CTX
value.
.RE
.TP
.B \-f \-\-flash
Write a firmware image to flash or other non-volatile memory on the
device.
.RS 4
.TP
.I file
Specifies the filename of the firmware image.  The firmware must first
be installed in one of the directories where the kernel firmware
loader or firmware agent will look, such as /lib/firmware.
.TP
.I N
If the device stores multiple firmware images in separate regions of
non-volatile memory, this parameter may be used to specify which
region is to be written.  The default is 0, requesting that all
regions are written.  All other values are driver-dependent.
.RE
.PD
.TP
.B \-l \-\-show\-channels
Queries the specified network device for the numbers of channels it has.
A channel is an IRQ and the set of queues that can trigger that IRQ.
.TP
.B \-L \-\-set\-channels
Changes the numbers of channels of the specified network device.
.RS 4
.TP
.BI rx \ N
Changes the number of channels with only receive queues.
.TP
.BI tx \ N
Changes the number of channels with only transmit queues.
.TP
.BI other \ N
Changes the number of channels used only for other purposes e.g. link interrupts or SR-IOV co-ordination.
.TP
.BI combined \ N
Changes the number of multi-purpose channels.
.RE
.TP
.B \-m \-\-dump\-module\-eeprom \-\-module\-info
Retrieves and if possible decodes the EEPROM from plugin modules, e.g SFP+, QSFP.
If the driver and module support it, the optical diagnostic information is also
read and decoded.
.TP
.B \-\-show\-priv\-flags
Queries the specified network device for its private flags.  The
names and meanings of private flags (if any) are defined by each
network device driver.
.TP
.B \-\-set\-priv\-flags
Sets the device's private flags as specified.
.RS 4
.PP
.I flag
.A1 on off
Sets the state of the named private flag.
.RE
.TP
.B \-\-show\-eee
Queries the specified network device for its support of Energy-Efficient
Ethernet (according to the IEEE 802.3az specifications)
.TP
.B \-\-set\-eee
Sets the device EEE behaviour.
.RS 4
.TP
.A2 eee on off
Enables/disables the device support of EEE.
.TP
.A2 tx-lpi on off
Determines whether the device should assert its Tx LPI.
.TP
.BI advertise \ N
Sets the speeds for which the device should advertise EEE capabilities.
Values are as for
.B \-\-change advertise
.TP
.BI tx-timer \ N
Sets the amount of time the device should stay in idle mode prior to asserting
its Tx LPI (in microseconds). This has meaning only when Tx LPI is enabled.
.RE
.TP
.B \-\-set\-phy\-tunable
Sets the PHY tunable parameters.
.RS 4
.TP
.A2 downshift on off
Specifies whether downshift should be enabled.
.TS
nokeep;
lB	l.
.BI count \ N
	Sets the PHY downshift re-tries count.
.TE
.TP
.A2 fast-link-down on off
Specifies whether Fast Link Down should be enabled and time until link down (if supported).
.TS
nokeep;
lB	l.
.BI msecs \ N
	Sets the period after which the link is reported as down. Note that the PHY may choose
	the closest supported value. Only on reading back the tunable do you get the actual value.
.TE
.TP
.A2 energy-detect-power-down on off
Specifies whether Energy Detect Power Down (EDPD) should be enabled (if supported).
This will put the RX and TX circuit blocks into a low power mode, and the PHY will
wake up periodically to send link pulses to avoid any lock-up situation with a peer
PHY that may also have EDPD enabled. By default, this setting will also enable the
periodic transmission of TX pulses.
.TS
nokeep;
lB	l.
.BI msecs \ N
	Some PHYs support configuration of the wake-up interval to send TX pulses.
	This setting allows the control of this interval, and 0 disables TX pulses
	if the PHY supports this. Disabling TX pulses can create a lock-up situation
	where neither of the PHYs wakes the other one. If unspecified the default
	value (in milliseconds) will be used by the PHY.
.TE
.TP
.PD
.RE
.TP
.B \-\-get\-phy\-tunable
Gets the PHY tunable parameters.
.RS 4
.TP
.B downshift
For operation in cabling environments that are incompatible with 1000BASE-T,
PHY device provides an automatic link speed downshift operation.
Link speed downshift after N failed 1000BASE-T auto-negotiation attempts.
Downshift is useful where cable does not have the 4 pairs instance.

Gets the PHY downshift count/status.
.TP
.B fast\-link\-down
Depending on the mode it may take 0.5s - 1s until a broken link is reported as down.
In certain use cases a link-down event needs to be reported as soon as possible.
Some PHYs support a Fast Link Down Feature and may allow configuration of the delay
before a broken link is reported as being down.

Gets the PHY Fast Link Down status / period.
.TP
.B energy\-detect\-power\-down
Gets the current configured setting for Energy Detect Power Down (if supported).

.RE
.TP
.B \-\-reset
Reset hardware components specified by flags and components listed below
.RS 4
.TP
.BI flags \ N
Resets the components based on direct flags mask
.TP
.B mgmt
Management processor
.TP
.B irq
Interrupt requester
.TP
.B dma
DMA engine
.TP
.B filter
Filtering/flow direction
.TP
.B offload
Protocol offload
.TP
.B mac
Media access controller
.TP
.B phy
Transceiver/PHY
.TP
.B ram
RAM shared between multiple components
.B ap
Application Processor
.TP
.B dedicated
All components dedicated to this interface
.TP
.B all
All components used by this interface, even if shared
.RE
.TP
.B \-\-show\-fec
Queries the specified network device for its support of Forward Error Correction.
.TP
.B \-\-set\-fec
Configures Forward Error Correction for the specified network device.

Forward Error Correction modes selected by a user are expected to be persisted
after any hotplug events. If a module is swapped that does not support the
current FEC mode, the driver or firmware must take the link down
administratively and report the problem in the system logs for users to correct.
.RS 4
.TP
.BR encoding\ auto | off | rs | baser | llrs \ [...]

Sets the FEC encoding for the device.  Combinations of options are specified as
e.g.
.B encoding auto rs
; the semantics of such combinations vary between drivers.
.TS
nokeep;
lB	l.
auto	Use the driver's default encoding
off	Turn off FEC
RS	Force RS-FEC encoding
BaseR	Force BaseR encoding
LLRS	Force LLRS-FEC encoding
.TE
.RE
.TP
.B \-Q|\-\-per\-queue
Applies provided sub command to specific queues.
.RS 4
.TP
.B queue_mask %x
Sets the specific queues which the sub command is applied to.
If queue_mask is not set, the sub command will be applied to all queues.
.TP
.B sub_command
Sub command to apply. The supported sub commands include --show-coalesce and
--coalesce.
.RE
.TP
.B \-\-monitor
Listens to netlink notification and displays them.
.RS 4
.TP
.I command
If argument matching a command is used, ethtool only shows notifications of
this type. Without such argument or with --all, all notification types are
shown.
.TP
.I devname
If a device name is used as argument, only notification for this device are
shown. Default is to show notifications for all devices.
.RE
.SH BUGS
Not supported (in part or whole) on all network drivers.
.SH AUTHOR
.B ethtool
was written by David Miller.

Modifications by 
Jeff Garzik, 
Tim Hockin,
Jakub Jelinek,
Andre Majorel,
Eli Kupermann,
Scott Feldman,
Andi Kleen,
Alexander Duyck,
Sucheta Chakraborty,
Jesse Brandeburg,
Ben Hutchings,
Scott Branden.
.SH AVAILABILITY
.B ethtool
is available from
.UR http://www.kernel.org/pub/software/network/ethtool/
.UE
