[PATCH net-next v6 0/6] hardware pacing offload
From: Willem de Bruijn <willemdebruijn.kernel@gmail.com>
Date: 2026-08-13 02:05:48
From: Willem de Bruijn <willemb@google.com>
Enable safe hardware pacing offload on a first device (idpf), plus support.
- Add rtnetlink support for admin control over the device feature
- Add device support to the idpf driver
Besides the main feature, also
- Small optimization to FQ offload: avoid unnecessary ktime_.._get().
- Expand so_txtime drv-net test with hw offload testcases.
- Expand pktgen with txtime feature.
Details and detailed changelog in the individual patches.
High level changes:
v5 -> v6
- Address feedback
v4 -> v5
- Rebase + small kdoc fix only
v3 -> v4
- Replace ethtool API with rtnetlink
- Drop/defer pktgen patch: not essential
NOTE: the idpf patch will have a minor merge conflict with commit
"idpf: add missing cpu_to_le32 in idpf_tx_splitq_build_flow_desc".
The end-result should look as in this series.
(https://lore.kernel.org/netdev/20260803210707.1912217-1-willemdebruijn.kernel@gmail.com/ (local)).
v5: https://lore.kernel.org/netdev/20260808155217.885299-1-willemdebruijn.kernel@gmail.com/ (local)
v4: https://lore.kernel.org/netdev/20260806232913.4020403-1-willemdebruijn.kernel@gmail.com/ (local)
v3: https://lore.kernel.org/netdev/20260726202902.760552-1-willemdebruijn.kernel@gmail.com/ (local)
v2: https://lore.kernel.org/netdev/20260722204454.3234605-1-willemdebruijn.kernel@gmail.com/ (local)
v1: https://lore.kernel.org/netdev/20260706133433.3142805-1-willemdebruijn.kernel@gmail.com/ (local)
Willem de Bruijn (6):
net: rtnetlink: add pacing_offload_horizon attribute to net_device
net_sched: sch_fq: clear past skb->tstamp if offloading pacing
idpf: support pacing offload
selftests: drv-net: refactor so_txtime errqueue handling
selftests: drv-net: in so_txtime tell apart sw from hw pacing
selftests: drv-net: extend so_txtime with hw offload
Documentation/netlink/specs/rt-link.yaml | 6 +
.../networking/net_cachelines/net_device.rst | 3 +-
drivers/net/ethernet/intel/idpf/idpf.h | 12 ++
drivers/net/ethernet/intel/idpf/idpf_lib.c | 3 +
drivers/net/ethernet/intel/idpf/idpf_txrx.c | 66 +++++++-
drivers/net/ethernet/intel/idpf/idpf_txrx.h | 2 +
.../net/ethernet/intel/idpf/idpf_virtchnl.c | 53 +++++-
include/linux/netdevice.h | 4 +-
include/uapi/linux/if_link.h | 1 +
net/core/rtnetlink.c | 21 +++
net/sched/sch_fq.c | 25 ++-
.../testing/selftests/drivers/net/so_txtime.c | 158 +++++++++++++-----
.../selftests/drivers/net/so_txtime.py | 74 +++++++-
13 files changed, 372 insertions(+), 56 deletions(-)
--
2.55.0.691.gc56d675ccc-goog