From: Willem de Bruijn <[email protected]>
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:
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"
(https://lore.kernel.org/netdev/[email protected]/).
I expect that this series will need another revision, at which point
that fix will have made its way to net-next. There is also a fix to
so_txtime.py outstanding, but that is structured so that these do not
conflict.
v3:
https://lore.kernel.org/netdev/[email protected]/
v2:
https://lore.kernel.org/netdev/[email protected]/
v1:
https://lore.kernel.org/netdev/[email protected]/
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 | 1 +
drivers/net/ethernet/intel/idpf/idpf_lib.c | 3 +
drivers/net/ethernet/intel/idpf/idpf_txrx.c | 70 +++++++-
drivers/net/ethernet/intel/idpf/idpf_txrx.h | 2 +
.../net/ethernet/intel/idpf/idpf_virtchnl.c | 56 ++++++-
drivers/net/ethernet/intel/idpf/virtchnl2.h | 10 ++
include/linux/netdevice.h | 4 +-
include/linux/skbuff.h | 17 +-
include/uapi/linux/if_link.h | 1 +
net/core/rtnetlink.c | 21 +++
net/sched/sch_fq.c | 19 ++-
.../testing/selftests/drivers/net/so_txtime.c | 157 +++++++++++++-----
.../selftests/drivers/net/so_txtime.py | 75 ++++++++-
15 files changed, 385 insertions(+), 60 deletions(-)
--
2.55.0.679.g6767b8d81c-goog