Drill: Debug Network Interfaces with ethtool¶
Goal¶
Use ethtool to check link status, negotiated speed, error counters, and driver information for network interfaces.
Setup¶
- Linux system with ethtool installed (
apt install ethtooloryum install ethtool) - Root access
Commands¶
Check link status and speed:
View driver and firmware info:
Show interface statistics and error counters:
Show only specific counter groups:
Check ring buffer sizes:
Show offload settings:
Check pause/flow-control settings:
Watch for counter changes over time:
What to Look For¶
Link detected: yes/noimmediately confirms physical connectivity- Speed/Duplex mismatches between endpoints cause poor performance
- Rising
rx_errors,tx_errors, orrx_droppedcounters indicate hardware or driver issues rx_missed_errorssuggests the ring buffer is too small for the traffic rate
Common Mistakes¶
- Checking virtual interfaces (veth, bridge) where ethtool reports limited information
- Not comparing counter values over time (a single snapshot may show old accumulated errors)
- Ignoring duplex mismatch (half-duplex negotiation with a full-duplex switch)
- Assuming all counters are standardized (naming varies by NIC driver)
Cleanup¶
No cleanup needed. ethtool queries are read-only unless you change settings with -s.