Skip to content
Latchkey

ethtool: Usage, Options & Common CI Errors

ethtool reads and changes low-level NIC settings: link status, speed, offloads.

ethtool inspects the physical/driver layer of a NIC - link state, negotiated speed, driver name, and offload features. In CI it mostly appears when diagnosing throughput problems or a NIC that reports no link.

What it does

ethtool queries and controls Ethernet device driver and hardware settings: link detection, speed/duplex, the driver/firmware behind an interface, per-NIC statistics, and offload features like TSO/GRO that can affect throughput and packet captures.

Common usage

Terminal
ethtool eth0                   # link, speed, duplex
ethtool -i eth0                # driver and firmware info
ethtool -S eth0                # NIC statistics (drops, errors)
ethtool -k eth0                # offload features state
ethtool eth0 | grep 'Link detected'

Options

FlagWhat it does
(none) <if>Show link, speed, duplex
-i <if>Driver, version, and firmware
-S <if>Per-NIC statistics counters
-k <if>Show offload feature state
-K <if> <feat> on|offToggle an offload feature

Common errors in CI

"Operation not supported" / "No data available" is normal for virtual interfaces - veth, overlay, and many cloud NICs do not expose speed/duplex, so "Speed: Unknown!" is expected, not a failure. "Link detected: no" on a virtual NIC can still pass traffic. Changing settings (-K, -s) needs CAP_NET_ADMIN - "Operation not permitted" otherwise. ethtool -i to read the driver, and ethtool -S to spot rx/tx drops, are the useful CI diagnostics; tuning is rarely appropriate inside containers.

Related guides

Run this faster and cheaper on Latchkey managed runners. Start free →