[PATCH net-next v8 0/6] hardware pacing offload
From: Willem de Bruijn <willemdebruijn.kernel@gmail.com>
Date: 2026-09-02 18:17:54
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:
v7 -> v8
- 2 small fixes: unused variable in idpf and new ruff warning in test
v6 -> v7
- Rebase onto conflicting patches and address feedback
v5 -> v6
- Address substantial opus 5 feedback
v4 -> v5
- Rebase + small kdoc fix only
v3 -> v4
- Replace ethtool API with rtnetlink
- Drop/defer pktgen patch: not essential
v7: https://lore.kernel.org/netdev/20260831213221.1370774-1-willemdebruijn.kernel@gmail.com/ (local)
v6: https://lore.kernel.org/netdev/20260813020529.3506539-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 | 6 +
drivers/net/ethernet/intel/idpf/idpf_txrx.c | 66 +++++++-
drivers/net/ethernet/intel/idpf/idpf_txrx.h | 8 +-
.../net/ethernet/intel/idpf/idpf_virtchnl.c | 60 ++++++-
include/linux/netdevice.h | 4 +-
include/uapi/linux/if_link.h | 1 +
net/core/rtnetlink.c | 21 +++
net/sched/sch_fq.c | 23 ++-
.../testing/selftests/drivers/net/so_txtime.c | 159 +++++++++++++-----
.../selftests/drivers/net/so_txtime.py | 74 +++++++-
13 files changed, 387 insertions(+), 56 deletions(-)
--
2.55.0.970.g62bdec98f9-goog