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
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
| Flag | What 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|off | Toggle 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.