Ethtool is the common language between Linux and modern NICs—a vendor‑agnostic control surface that lets operators, performance engineers, and driver developers observe and shape device behavior. While it doesn’t touch packets on the fast path, ethtool configures the hardware and driver state that define the data path: advertised link modes, autonegotiation, offloads, interrupt moderation, and large‑scale traffic distribution.
In this talk, I’ll focus on two core features—TX coalescing and RX checksum offload—and share the lessons learned while upstreaming related patches. We’ll look at how TX completion interrupt batching is configured and validated, and how to handle RX checksum offload correctly when hardware can’t automatically fall back after MAC‑level offload is disabled. I’ll cover what worked, what didn’t, and the practical trade‑offs encountered along the way.
Outline:
- Ethtool fundamentals with a focus on TX coalescing and RX checksum offload.
- RX checksum offload: designing a safe software fallback when hardware cannot handle checksums after MAC‑level offload is disabled.
- TX coalescing: timer behavior, handling sub‑jiffy granularity, and rejecting configurations not representable at the driver’s timer resolution.
- Using extack effectively to provide clear, actionable error reporting.