[PATCH net-next v9 0/7] hardware pacing offload
From: Willem de Bruijn <willemdebruijn.kernel@gmail.com>
Date: 2026-09-10 17:11:42
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.
Details and detailed changelog in the individual patches.
High level changes:
v8 -> v9
- graceful fallback to sw pacing if hw pacing becomes unavailable
- add new FQ patch for this fq_offload_horizon() check
- simplify dev->pacing_offload_horizon to bool dev->pacing_offload
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
v8: https://lore.kernel.org/netdev/20260902181747.2483351-1-willemdebruijn.kernel@gmail.com/ (local)
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 (7):
net: rtnetlink: add pacing_offload attribute to net_device
net_sched: sch_fq: check device pacing offload
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 | 5 +
.../networking/net_cachelines/net_device.rst | 1 +
drivers/net/ethernet/intel/idpf/idpf.h | 12 ++
drivers/net/ethernet/intel/idpf/idpf_lib.c | 19 +++
drivers/net/ethernet/intel/idpf/idpf_txrx.c | 69 +++++++-
drivers/net/ethernet/intel/idpf/idpf_txrx.h | 8 +-
.../net/ethernet/intel/idpf/idpf_virtchnl.c | 60 ++++++-
include/linux/netdevice.h | 2 +
include/uapi/linux/if_link.h | 1 +
net/core/rtnetlink.c | 22 +++
net/sched/sch_fq.c | 71 ++++++--
.../testing/selftests/drivers/net/so_txtime.c | 159 +++++++++++++-----
.../selftests/drivers/net/so_txtime.py | 80 ++++++++-
13 files changed, 443 insertions(+), 66 deletions(-)
--
2.55.0.1007.g17ff1f9808-goog