ETHTOOL(8)

NAME
ethtool - Display or change ethernet card settings

SYNOPSIS
ethtool ethX ethtool -h|--help ethtool -a|--show-pause ethX ethtool -A|--pause ethX ethtool -c|--show-coalesce ethX ethtool -C|--coalesce ethX [rx-usecs N] [rx-frames N] [rx-usecs-irq N] [rx-frames-irq N] [tx-usecs N] [tx-frames N] [tx-usecs-irq N] [tx-frames-irq N] [stats-block-usecs N] [pkt-rate-low N] [rx-usecs-low N] [rx-frames-low N] [tx-usecs-low N] [tx-frames-low N] [pkt-rate-high N] [rx-usecs-high N] [rx-frames-high N] [tx-usecs-high N] [tx-frames-high N] [sample-interval N] ethtool -g|--show-ring ethX ethtool -G|--set-ring ethX [rx N] [rx-mini N] [rx-jumbo N] [tx N] ethtool -i|--driver ethX ethtool -d|--register-dump ethX [file name] ethtool -e|--eeprom-dump ethX [offset N] [length N] ethtool -E|--change-eeprom ethX [magic N] [offset N] [length N] [value N] ethtool -k|--show-offload ethX ethtool -K|--offload ethX ethtool -p|--identify ethX [N] ethtool -P|--show-permaddr ethX ethtool -r|--negotiate ethX ethtool -S|--statistics ethX ethtool -t|--test ethX ethtool -s ethX speed N [advertise N] [phyad N] [wol p|u|m|b|a|g|s|d...] [sopass xx:yy:zz:aa:bb:cc] [msglvl N | msglvl type ...] ethtool -n ethX [rx-flow-hash tcp4|udp4|ah4|sctp4|tcp6|udp6|ah6|sctp6] ethtool -N ethX [rx-flow-hash tcp4|udp4|ah4|sctp4|tcp6|udp6|ah6|sctp6 m|v|t|s|d|f|n|r...] ethtool -x|--show-rxfh-indir ethX ethtool -X|--set-rxfh-indir ethX [ equal N | weight W0 W1 ... ] ethtool -f|--flash ethX FILE [N] ethtool -u|--show-ntuple ethX

ethtool -U|--config-ntuple ethX
    { [src-ip addr [src-ip-mask mask]] [dst-ip addr [dst-ip-mask mask]] [src-port port [src-port-mask mask]] [dst-port port [dst-port-mask mask]]
    | flow-type ether [src mac-addr [src-mask mask]] [dst mac-addr [dst-mask mask]] [proto N [proto-mask mask]] }
    [vlan VLAN-tag [vlan-mask mask]] [user-def data [user-def-mask mask]] action N

DESCRIPTION
ethtool is used for querying settings of an ethernet device and changing them. ethX is the name of the ethernet device on which ethtool should operate.

OPTIONS
ethtool with a single argument specifying the device name prints current settings of the specified device.

-h --help
    Shows a short help message.

-a --show-pause
    Queries the specified ethernet device for pause parameter information.

-A --pause
    Changes the pause parameters of the specified ethernet device.

Specifies whether pause autonegotiation should be enabled.

Specifies whether RX pause should be enabled.

Specifies whether TX pause should be enabled.

-c --show-coalesce
    Queries the specified ethernet device for coalescing information.

-C --coalesce
    Changes the coalescing settings of the specified ethernet device.

-g --show-ring
    Queries the specified ethernet device for rx/tx ring parameter information.

-G --set-ring
    Changes the rx/tx ring parameters of the specified ethernet device.

rx N
    Changes the number of ring entries for the Rx ring.

rx-mini N
    Changes the number of ring entries for the Rx Mini ring.

rx-jumbo N
    Changes the number of ring entries for the Rx Jumbo ring.

tx N
    Changes the number of ring entries for the Tx ring.

-i --driver
    Queries the specified ethernet device for associated driver information.

-d --register-dump
    Retrieves and prints a register dump for the specified ethernet device. The register format for some devices is known and decoded others are printed in hex. When raw is enabled, then ethtool dumps the raw register data to stdout. If file is specified, then use contents of previous raw register dump, rather than reading from the device.

-e --eeprom-dump
    Retrieves and prints an EEPROM dump for the specified ethernet 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.

-E --change-eeprom
    If value is specified, changes EEPROM byte for the specified ethernet 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.

-k --show-offload
    Queries the specified ethernet device for offload information.

-K --offload
    Changes the offload parameters of the specified ethernet device.

Specifies whether RX checksumming should be enabled.

Specifies whether TX checksumming should be enabled.

Specifies whether scatter-gather should be enabled.

Specifies whether TCP segmentation offload should be enabled.

Specifies whether UDP fragmentation offload should be enabled

Specifies whether generic segmentation offload should be enabled

Specifies whether generic receive offload should be enabled

Specifies whether large receive offload should be enabled

Specifies whether RX VLAN acceleration should be enabled

Specifies whether TX VLAN acceleration should be enabled

Specifies whether receive hashing offload should be enabled

-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 ethernet port.

N   Length of time to perform phys-id, in seconds.

-P --show-permaddr
    Queries the specified ethernet device for permanent hardware address.

-r --negotiate
    Restarts auto-negotiation on the specified ethernet device, if auto-negotiation is enabled.

-S --statistics
    Queries the specified ethernet device for NIC- and driver-specific statistics.

-t --test
    Executes adapter selftest on the specified ethernet device. Possible test modes are:

defines test type:
    offline (default) means to perform full set of tests possibly causing normal operation interruption during the tests, online means to perform limited set of tests do not interrupting normal adapter operation.

-s --change
    Allows changing some or all settings of the specified ethernet device. All following options only apply if -s was specified.

speed N
    Set speed in Mb/s. ethtool with just the device name as an argument will show you the supported device speeds.

Sets full or half duplex mode.

Selects device port.

Specifies whether autonegotiation should be enabled. Autonegotiation
    is enabled by deafult, but in some network devices may have trouble with it, so you can disable it if really necessary.

advertise N
    Sets the speed and duplex advertised by autonegotiation. The argument is a hexidecimal value using one or a combination of the following values:
    0x001    10 Half
    0x002    10 Full
    0x004    100 Half
    0x008    100 Full
    0x010    1000 Half(not supported by IEEE standards)
    0x020    1000 Full
    0x8000   2500 Full(not supported by IEEE standards)
    0x1000   10000 Full
    0x03F    Auto

phyad N
    PHY address.

Selects transceiver type. Currently only internal and external can be
    specified, in the future further types might be added.

wol p|u|m|b|a|g|s|d...
    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.
    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)
    d   Disable (wake on nothing). This option clears all previous options.

sopass xx:yy:zz:aa:bb:cc
    Sets the SecureOn(tm) password. The argument to this option must be 6 bytes in ethernet MAC hex format (xx:yy:zz:aa:bb:cc).

msglvl N
msglvl type ...
    Sets the driver message type flags by name or number. type names the type of message to enable or disable; N specifies the new flags numerically. The defined type names and numbers are:
    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
    The precise meanings of these type flags differ between drivers.

-n --show-nfc
    Retrieves the receive network flow classification configurations.

rx-flow-hash tcp4|udp4|ah4|sctp4|tcp6|udp6|ah6|sctp6
    Retrieves the hash options for the specified network traffic type.
    tcp4    TCP over IPv4
    udp4    UDP over IPv4
    ah4     IPSEC AH/ESP over IPv4
    sctp4   SCTP over IPv4
    tcp6    TCP over IPv6
    udp6    UDP over IPv6
    ah6     IPSEC AH/ESP over IPv6
    sctp6   SCTP over IPv6

-N --config-nfc
    Configures the receive network flow classification.

rx-flow-hash tcp4|udp4|ah4|sctp4|tcp6|udp6|ah6|sctp6 m|v|t|s|d|f|n|r...
    Configures the hash options for the specified network traffic type.
    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   Discard all packets of this flow type. When this option is set, all other options are ignored.

-x --show-rxfh-indir
    Retrieves the receive flow hash indirection table.

-X --set-rxfh-indir
    Configures the receive flow hash indirection table.

equal N
    Sets the receive flow hash indirection table to spread flows evenly between the first N receive queues.

weight W0 W1 ...
    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.

-f --flash  FILE
    Flash firmware image from the specified file to a region on the adapter. By default this will flash all the regions on the adapter.

N   A number to identify flash region where the image should be flashed. Default region is 0 which denotes all regions in the flash.

-u --show-ntuple
    Get Rx ntuple filters and actions, then display them to the user.

-U --config-ntuple
    Configure Rx ntuple filters and actions

flow-type tcp4|udp4|sctp4|ether
    tcp4    TCP over IPv4
    udp4    UDP over IPv4
    sctp4   SCTP over IPv4
    ether   Ethernet

src-ip addr
    Includes the source IP address, specified using dotted-quad notation or as a single 32-bit number.

src-ip-mask mask
    Specify a mask for the source IP address.

dst-ip addr
    Includes the destination IP address.

dst-ip-mask mask
    Specify a mask for the destination IP address.

src-port port
    Includes the source port.

src-port-mask mask
    Specify a mask for the source port.

dst-port port
    Includes the destination port.

dst-port-mask mask
    Specify a mask for the destination port.

src mac-addr
    Includes the source MAC address, specified as 6 bytes in hexadecimal separated by colons.

src-mask mask
    Specify a mask for the source MAC address.

dst mac-addr
    Includes the destination MAC address.

dst-mask mask
    Specify a mask for the destination MAC address.

proto N
    Includes the Ethernet protocol number (ethertype).

proto-mask mask
    Specify a mask for the Ethernet protocol number.

vlan VLAN-tag
    Includes the VLAN tag.

vlan-mask mask
    Specify a mask for the VLAN tag.

user-def data
    Includes 64-bits of user-specific data.

user-def-mask mask
    Specify a mask for the user-specific data.

action N
    Specifies the Rx queue to send packets to, or some other action.
    -2             Clear the filter
    -1             Drop the matched flow
    0 or higher    Rx queue to route the flow

BUGS
Not supported (in part or whole) on all ethernet drivers.

AUTHOR
ethtool was written by David Miller. Modifications by Jeff Garzik, Tim Hockin, Jakub Jelinek, Andre Majorel, Eli Kupermann, Scott Feldman, Andi Kleen.

AVAILABILITY
ethtool is available over the Web on the SourceForge site at http://sourceforge.net/projects/gkernel/