$linuxjunkies
>

ethtool(8)

Display and change ethernet device settings including speed, duplex, autonegotiation, and driver statistics.

UbuntuDebianFedoraArch

Synopsis

ethtool [-a|-c|-C|-g|-G|-i|-d|-e|-E|-k|-K|-p|-r|-S|-t|-T|-x|-X] DEVNAME

Description

ethtool is used to query and control network device driver and hardware settings. It can display link speed, duplex mode, autonegotiation status, and modify these settings. It also provides access to driver statistics, EEPROM contents, and self-test capabilities.

Most operations require root privileges. Common uses include checking link speed, enabling/disabling features like offloading, and troubleshooting network performance issues.

Common options

FlagWhat it does
-aShow all device features (pause, offloading, etc.)
-cShow coalescing settings (interrupt moderation)
-CChange coalescing parameters (requires root)
-gShow ring buffer sizes (RX/TX)
-GChange ring buffer sizes (requires root)
-iShow driver and firmware information
-kShow offload features status (TSO, GRO, LRO, etc.)
-KChange offload features (requires root)
-pIdentify the device by blinking LED
-rRestart autonegotiation
-SShow detailed driver statistics
-tRun device self-tests

Examples

Display current settings for eth0: speed, duplex, autonegotiation status

ethtool eth0

Show driver name, version, and firmware version for eth0

ethtool -i eth0

View ethernet statistics and filter for dropped packet counts

ethtool -S eth0 | grep -i dropped

Disable TCP Segmentation Offload and Generic Segmentation Offload (root required)

sudo ethtool -K eth0 tso off gso off

Show which offload features are enabled/disabled on the device

ethtool -k eth0

Display interrupt coalescing settings (how often interrupts are fired)

ethtool -c eth0

Restart autonegotiation to renegotiate link speed and duplex (root required)

sudo ethtool -r eth0

Show current and maximum RX/TX ring buffer sizes

ethtool -g eth0

Related commands