mirror-linux/include/uapi/linux
Ido Schimmel 5072ae00ae net: nexthop: Expose nexthop group HW stats to user space
Add netlink support for reading NH group hardware stats.

Stats collection is done through a new notifier,
NEXTHOP_EVENT_HW_STATS_REPORT_DELTA. Drivers that implement HW counters for
a given NH group are thereby asked to collect the stats and report back to
core by calling nh_grp_hw_stats_report_delta(). This is similar to what
netdevice L3 stats do.

Besides exposing number of packets that passed in the HW datapath, also
include information on whether any driver actually realizes the counters.
The core can tell based on whether it got any _report_delta() reports from
the drivers. This allows enabling the statistics at the group at any time,
with drivers opting into supporting them. This is also in line with what
netdevice L3 stats are doing.

So as not to waste time and space, tie the collection and reporting of HW
stats with a new op flag, NHA_OP_FLAG_DUMP_HW_STATS.

Co-developed-by: Petr Machata <petrm@nvidia.com>
Signed-off-by: Petr Machata <petrm@nvidia.com>
Signed-off-by: Ido Schimmel <idosch@nvidia.com>
Reviewed-by: Kees Cook <keescook@chromium.org> # For the __counted_by bits
Reviewed-by: David Ahern <dsahern@kernel.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
2024-03-08 10:35:47 +00:00
..
android binder: use enum for binder ioctls 2023-12-15 17:06:45 +01:00
byteorder
caif
can can: canxl: add virtual CAN network identifier support 2024-02-13 11:47:13 +01:00
cifs
dvb
genwqe
hdlc
hsi
iio iio: move LIGHT_UVA and LIGHT_UVB to the end of iio_modifier 2024-01-28 13:40:19 +00:00
isdn
misc
mmc
netfilter Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net 2024-02-08 15:30:33 -08:00
netfilter_arp
netfilter_bridge
netfilter_ipv4
netfilter_ipv6
nfsd
raid md: Remove deprecated CONFIG_MD_FAULTY 2023-12-19 10:37:50 -08:00
sched sched/headers: Move 'struct sched_param' out of uapi, to work around glibc/musl breakage 2023-10-02 20:48:16 +02:00
spi
sunrpc
surface_aggregator
tc_act net: sched: Annotate struct tc_pedit with __counted_by 2024-02-19 10:58:24 +00:00
tc_ematch
usb usb: gadget: f_fs: fix fortify warning 2023-12-15 13:55:45 +01:00
a.out.h
acct.h
acrn.h
adb.h
adfs_fs.h
affs_hardblocks.h
agpgart.h
aio_abi.h
am437x-vpfe.h
amt.h
apm_bios.h
arcfb.h
arm_sdei.h
aspeed-lpc-ctrl.h
aspeed-p2a-ctrl.h
aspeed-video.h
atalk.h
atm.h
atm_eni.h
atm_he.h
atm_idt77105.h
atm_nicstar.h
atm_tcp.h
atm_zatm.h
atmapi.h
atmarp.h
atmbr2684.h
atmclip.h
atmdev.h
atmioc.h
atmlec.h
atmmpc.h
atmppp.h
atmsap.h
atmsvc.h
audit.h
auto_dev-ioctl.h
auto_fs.h
auto_fs4.h
auxvec.h
ax25.h
batadv_packet.h batman-adv: mcast: implement multicast packet reception and forwarding 2023-11-14 08:16:34 +01:00
batman_adv.h
baycom.h
bcm933xx_hcs.h
bfs_fs.h
binfmts.h
blkpg.h
blktrace_api.h
blkzoned.h
bpf.h bpf: Replace bpf_lpm_trie_key 0-length array with flexible array 2024-02-29 22:52:43 +01:00
bpf_common.h
bpf_perf_event.h
bpqether.h
bsg.h
bt-bmc.h
btf.h
btrfs.h btrfs: defrag: reject unknown flags of btrfs_ioctl_defrag_range_args 2024-01-12 02:04:19 +01:00
btrfs_tree.h btrfs: make OWNER_REF_KEY type value smallest among inline refs 2023-11-09 14:02:12 +01:00
cachefiles.h
can.h can: canxl: add virtual CAN network identifier support 2024-02-13 11:47:13 +01:00
capability.h
capi.h
cciss_defs.h
cciss_ioctl.h
ccs.h
cdrom.h
cec-funcs.h
cec.h
cfm_bridge.h
cgroupstats.h
chio.h
close_range.h
cn_proc.h
coda.h
coff.h
comedi.h
connector.h
const.h
coresight-stm.h
counter.h counter: chrdev: remove a typo in header file comment 2023-10-16 11:38:56 -04:00
cramfs_fs.h
cryptouser.h
cuda.h
cxl_mem.h cxl: Add Support for Get Timestamp 2023-12-07 12:44:19 -08:00
cyclades.h
cycx_cfm.h
dcbnl.h
dccp.h
devlink.h devlink: add a command to set notification filter and use it for multicasts 2023-12-19 15:31:40 +01:00
dlm.h
dlm_device.h
dlm_plock.h
dlmconstants.h
dm-ioctl.h
dm-log-userspace.h
dma-buf.h
dma-heap.h
dns_resolver.h
dpll.h dpll: extend uapi by lock status error attribute 2024-02-01 15:39:44 +01:00
dqblk_xfs.h
dw100.h
edd.h
efs_fs_sb.h
elf-em.h
elf-fdpic.h
elf.h elf, uapi: Remove struct tag 'dynamic' 2023-09-24 18:17:31 -07:00
errno.h
errqueue.h
erspan.h
ethtool.h Revert "Introduce PHY listing and link_topology tracking" 2024-01-04 16:05:47 -08:00
ethtool_netlink.h Revert "Introduce PHY listing and link_topology tracking" 2024-01-04 16:05:47 -08:00
eventfd.h
eventpoll.h eventpoll: Add epoll ioctl for epoll_params 2024-02-14 11:01:01 +00:00
ext4.h
f2fs.h
fadvise.h
falloc.h
fanotify.h
fb.h
fcntl.h fs: Pass AT_GETATTR_NOSEC flag to getattr interface function 2023-11-18 14:54:07 +01:00
fd.h
fdreg.h
fib_rules.h
fiemap.h
filter.h
firewire-cdev.h
firewire-constants.h
fou.h
fpga-dfl.h
fs.h fs/proc/task_mmu: report SOFT_DIRTY bits through the PAGEMAP_SCAN ioctl 2023-12-10 16:51:35 -08:00
fscrypt.h fscrypt: support crypto data unit size less than filesystem block size 2023-09-25 22:34:33 -07:00
fsi.h
fsl_hypervisor.h
fsl_mc.h
fsmap.h
fsverity.h
fuse.h fuse: Rename DIRECT_IO_RELAX to DIRECT_IO_ALLOW_MMAP 2023-12-04 10:14:39 +01:00
futex.h futex: Extend the FUTEX2 flags 2023-09-21 19:22:05 +02:00
gameport.h
gen_stats.h
genetlink.h
gfs2_ondisk.h
gpio.h
gsmmux.h tty: n_gsm: add copyright Siemens Mobility GmbH 2023-10-27 09:21:13 +02:00
gtp.h gtp: uapi: fix GTPA_MAX 2023-10-24 12:02:02 +02:00
handshake.h
hash_info.h crypto: FIPS 202 SHA-3 register in hash info for IMA 2023-10-27 18:04:30 +08:00
hdlc.h
hdlcdrv.h
hdreg.h
hid.h
hiddev.h
hidraw.h
hpet.h
hsr_netlink.h
hw_breakpoint.h
hyperv.h
i2c-dev.h
i2c.h
i2o-dev.h
i8k.h
icmp.h
icmpv6.h
idxd.h dmaengine: idxd: add wq driver name support for accel-config user tool 2023-10-04 13:00:34 +05:30
if.h
if_addr.h
if_addrlabel.h
if_alg.h
if_arcnet.h
if_arp.h
if_bonding.h
if_bridge.h bridge: add MDB state mask uAPI attribute 2023-12-20 11:27:20 +00:00
if_cablemodem.h
if_eql.h
if_ether.h
if_fc.h
if_fddi.h
if_hippi.h
if_infiniband.h
if_link.h bonding: Add independent control state machine 2024-02-06 13:17:54 +01:00
if_ltalk.h
if_macsec.h
if_packet.h af_packet: Fix fortified memcpy() without flex array. 2023-10-12 09:15:15 +02:00
if_phonet.h
if_plip.h
if_ppp.h
if_pppol2tp.h
if_pppox.h
if_slip.h
if_team.h
if_tun.h
if_tunnel.h
if_vlan.h
if_x25.h
if_xdp.h xsk: Add option to calculate TX checksum in SW 2023-11-29 14:59:40 -08:00
ife.h
igmp.h
ila.h
in.h
in6.h uapi: in6: replace temporary label with rfc9486 2024-02-27 18:22:49 -08:00
in_route.h
inet_diag.h
inotify.h
input-event-codes.h
input.h
io_uring.h io_uring/kbuf: add method for returning provided buffer ring head 2023-12-21 09:47:06 -07:00
ioam6.h
ioam6_genl.h uapi: ioam6: API for netlink multicast events 2024-02-28 11:19:41 +00:00
ioam6_iptunnel.h
ioctl.h
iommu.h
iommufd.h iommufd: Add data structure for Intel VT-d stage-1 cache invalidation 2024-01-11 13:01:25 -04:00
ioprio.h
ip.h
ip6_tunnel.h
ip_vs.h
ipc.h
ipmi.h
ipmi_bmc.h
ipmi_msgdefs.h
ipmi_ssif_bmc.h
ipsec.h
ipv6.h
ipv6_route.h
irqnr.h
iso_fs.h
isst_if.h
ivtv.h
ivtvfb.h
jffs2.h
joystick.h
kcm.h
kcmp.h
kcov.h
kd.h
kdev_t.h
kernel-page-flags.h
kernel.h
kernelcapi.h
kexec.h kexec_file: add kexec_file flag to control debug printing 2023-12-20 15:02:57 -08:00
keyboard.h
keyctl.h
kfd_ioctl.h drm/amdgpu: Add EXT_COHERENT memory allocation flags 2023-09-20 16:24:06 -04:00
kfd_sysfs.h
kvm.h KVM Xen change for 6.8: 2024-01-08 08:10:20 -05:00
kvm_para.h
l2tp.h
landlock.h landlock: Support network rules with TCP bind and connect 2023-10-26 21:07:15 +02:00
libc-compat.h
limits.h
lirc.h
llc.h
loadpin.h
loop.h
lp.h
lsm.h lsm: Add a __counted_by() annotation to lsm_ctx.ctx 2023-12-22 18:00:37 -05:00
lwtunnel.h
magic.h
major.h
map_to_7segment.h
map_to_14segment.h
matroxfb.h
max2175.h
mctp.h net: mctp: provide a more specific tag allocation ioctl 2024-02-22 13:32:55 +01:00
mdio.h net: phy: Add BaseT1 auto-negotiation constants 2024-02-21 14:56:58 -08:00
media-bus-format.h media: uapi: Add MEDIA_BUS_FMT_RGB666_2X9_BE format 2023-10-16 11:47:43 +02:00
media.h
mei.h mei: fix spellos in mei.h 2023-12-15 17:01:30 +01:00
mei_uuid.h
membarrier.h
memfd.h
mempolicy.h mempolicy: remove confusing MPOL_MF_LAZY dead code 2023-10-25 16:47:16 -07:00
mii.h
minix_fs.h
mman.h
mmtimer.h
module.h
mount.h fs: keep struct mnt_id_req extensible 2023-12-14 11:49:17 +01:00
mpls.h
mpls_iptunnel.h
mptcp.h mptcp: add mptcpi_subflows_total counter 2023-11-29 20:06:17 -08:00
mptcp_pm.h netlink: specs: mptcp: rename the MPTCP path management spec 2023-12-15 12:17:16 +00:00
mqueue.h
mroute.h
mroute6.h
mrp_bridge.h
msdos_fs.h
msg.h
mtio.h
nbd-netlink.h
nbd.h
ncsi.h
ndctl.h
neighbour.h
net.h
net_dropmon.h
net_namespace.h
net_tstamp.h net: partial revert of the "Make timestamping selectable: series 2023-11-18 18:42:37 -08:00
netconf.h
netdev.h netdev: add queue stat for alloc failures 2024-03-07 21:13:26 -08:00
netdevice.h
netfilter.h
netfilter_arp.h
netfilter_bridge.h
netfilter_ipv4.h
netfilter_ipv6.h
netlink.h netlink: add variable-length / auto integers 2023-10-20 11:43:35 +01:00
netlink_diag.h
netrom.h
nexthop.h net: nexthop: Expose nexthop group HW stats to user space 2024-03-08 10:35:47 +00:00
nfc.h
nfs.h
nfs2.h
nfs3.h
nfs4.h
nfs4_mount.h
nfs_fs.h
nfs_idmap.h
nfs_mount.h
nfsacl.h
nfsd_netlink.h nfsd: regenerate user space parsers after ynl-gen changes 2023-11-06 09:03:46 +00:00
nilfs2_api.h
nilfs2_ondisk.h
nitro_enclaves.h
nl80211-vnd-intel.h
nl80211.h wifi: nl80211: allow reporting wakeup for unprot deauth/disassoc 2024-02-12 21:22:48 +01:00
npcm-video.h media: uapi: Add controls for NPCM video driver 2023-09-27 09:40:02 +02:00
nsfs.h
nsm.h misc: Add Nitro Secure Module driver 2023-11-28 19:05:16 +00:00
nubus.h
nvme_ioctl.h
nvram.h
omap3isp.h
omapfb.h
oom.h
openat2.h
openvswitch.h
packet_diag.h
param.h
parport.h
patchkey.h
pci.h
pci_regs.h Merge branch 'pci/field-get' 2023-10-28 13:31:05 -05:00
pcitest.h misc: pci_endpoint_test: Use INTX instead of LEGACY 2023-12-18 11:55:56 +01:00
perf_event.h perf/x86/intel: Support branch counters logging 2023-10-27 15:05:11 +02:00
personality.h
pfkeyv2.h
pfrut.h
pg.h
phantom.h
phonet.h
pidfd.h
pkt_cls.h net/sched: Remove uapi support for tcindex classifier 2024-01-02 14:25:51 +00:00
pkt_sched.h net/sched: Remove uapi support for CBQ qdisc 2024-01-02 14:25:51 +00:00
pktcdvd.h
pmu.h
poll.h
posix_acl.h
posix_acl_xattr.h
posix_types.h
ppdev.h
ppp-comp.h
ppp-ioctl.h
ppp_defs.h
pps.h
pr.h
prctl.h mm: add a NO_INHERIT flag to the PR_SET_MDWE prctl 2023-10-06 14:44:11 -07:00
psample.h
psci.h
psp-dbc.h
psp-sev.h virt: sevguest: Add TSM_REPORTS support for SNP_GET_EXT_REPORT 2023-10-19 18:11:49 -07:00
ptp_clock.h ptp: introduce PTP_CLOCK_EXTOFF event for the measured external offset 2024-01-29 13:00:23 +00:00
ptrace.h
qemu_fw_cfg.h
qnx4_fs.h
qnxtypes.h
qrtr.h
quota.h
radeonfb.h
random.h
rds.h
reboot.h
reiserfs_fs.h
reiserfs_xattr.h
remoteproc_cdev.h
resource.h uapi/linux/resource.h: fix include 2023-12-20 19:26:31 -05:00
rfkill.h
rio_cm_cdev.h
rio_mport_cdev.h
rkisp1-config.h
romfs_fs.h
rose.h
route.h
rpl.h
rpl_iptunnel.h
rpmsg.h
rpmsg_types.h
rseq.h
rtc.h
rtnetlink.h ipv6: drop feature RTAX_FEATURE_ALLFRAG 2023-10-25 18:04:29 -07:00
rxrpc.h
scc.h
sched.h
scif_ioctl.h
screen_info.h
sctp.h
seccomp.h
securebits.h
sed-opal.h
seg6.h
seg6_genl.h
seg6_hmac.h
seg6_iptunnel.h
seg6_local.h
selinux_netlink.h
sem.h
serial.h tty: serial: Fix bit order in RS485 flag definitions 2024-01-27 18:15:24 -08:00
serial_core.h serial: add PORT_GENERIC definition 2023-10-10 08:51:10 +02:00
serial_reg.h serial: 8250_port: Introduce UART_IIR_FIFO_ENABLED_16750 2023-09-18 11:14:42 +02:00
serio.h
sev-guest.h virt: sevguest: Add TSM_REPORTS support for SNP_GET_EXT_REPORT 2023-10-19 18:11:49 -07:00
shm.h
signal.h
signalfd.h
smc.h net/smc: support extended GID in SMC-D lgr netlink attribute 2023-12-26 20:24:33 +00:00
smc_diag.h net/smc: support extended GID in SMC-D lgr netlink attribute 2023-12-26 20:24:33 +00:00
smiapp.h
snmp.h net/tcp: Ignore specific ICMPs for TCP-AO connections 2023-10-27 10:35:45 +01:00
sock_diag.h
socket.h
sockios.h
sonet.h
sonypi.h
sound.h
soundcard.h
stat.h add unique mount ID 2023-11-18 14:56:16 +01:00
stddef.h uapi: propagate __struct_group() attributes to the container union 2023-11-27 16:24:56 -08:00
stm.h
string.h
suspend_ioctls.h
swab.h
switchtec_ioctl.h
sync_file.h dma-buf/sync_file: Add SET_DEADLINE ioctl 2023-12-02 01:17:48 +02:00
synclink.h
sysctl.h
sysinfo.h
target_core_user.h
taskstats.h
tcp.h net/tcp: Add TCP_AO_REPAIR 2023-10-27 10:35:46 +01:00
tcp_metrics.h
tdx-guest.h
tee.h
termios.h
thermal.h
thp7312.h media: uapi: Add controls for the THP7312 ISP 2023-12-04 10:37:46 +01:00
time.h
time_types.h
timerfd.h
times.h
timex.h
tiocl.h
tipc.h
tipc_config.h
tipc_netlink.h
tipc_sockets_diag.h
tls.h
toshiba.h
tps6594_pfsm.h
tty.h
tty_flags.h
types.h
ublk_cmd.h
udf_fs_i.h
udmabuf.h
udp.h
uhid.h
uinput.h
uio.h
uleds.h
ultrasound.h
um_timetravel.h
un.h
unistd.h
unix_diag.h
usbdevice_fs.h
usbip.h
user_events.h tracing/user_events: Allow events to persist for perfmon_capable users 2023-10-03 22:29:43 -04:00
userfaultfd.h userfaultfd: UFFDIO_MOVE uABI 2023-12-29 11:58:24 -08:00
userio.h
utime.h
utsname.h
uuid.h
uvcvideo.h
v4l2-common.h
v4l2-controls.h media: uapi: Add controls for the THP7312 ISP 2023-12-04 10:37:46 +01:00
v4l2-dv-timings.h
v4l2-mediabus.h
v4l2-subdev.h media: v4l2-subdev: Add which field to struct v4l2_subdev_frame_interval 2023-12-13 16:52:35 +01:00
vbox_err.h
vbox_vmmdev_types.h
vboxguest.h
vdpa.h
vduse.h
veth.h
vfio.h vfio/migration: Add debugfs to live migration driver 2023-12-04 14:29:08 -07:00
vfio_ccw.h
vfio_zdev.h
vhost.h vhost-vdpa: uAPI to get dedicated descriptor group id 2023-11-01 09:19:55 -04:00
vhost_types.h vhost-vdpa: introduce IOTLB_PERSIST backend feature bit 2023-11-01 09:20:00 -04:00
videodev2.h media: videodev.h: add missing p_hdr10_* pointers 2023-11-23 13:04:36 +01:00
virtio_9p.h
virtio_balloon.h
virtio_blk.h
virtio_bt.h
virtio_config.h virtio: Define feature bit for administration virtqueue 2023-12-19 11:51:31 -07:00
virtio_console.h
virtio_crypto.h
virtio_fs.h
virtio_gpio.h
virtio_gpu.h
virtio_i2c.h
virtio_ids.h
virtio_input.h
virtio_iommu.h
virtio_mem.h
virtio_mmio.h
virtio_net.h
virtio_pci.h virtio-pci: Introduce admin commands 2023-12-19 11:51:32 -07:00
virtio_pcidev.h
virtio_pmem.h virtio_pmem: support feature SHMEM_REGION 2024-01-10 13:01:37 -05:00
virtio_ring.h
virtio_rng.h
virtio_scmi.h
virtio_scsi.h
virtio_snd.h
virtio_types.h
virtio_vsock.h
vm_sockets.h vsock: read from socket's error queue 2023-10-15 13:19:42 +01:00
vm_sockets_diag.h
vmcore.h
vsockmon.h
vt.h
vtpm_proxy.h
wait.h
watch_queue.h
watchdog.h
wireguard.h
wireless.h
wmi.h
wwan.h
x25.h
xattr.h
xdp_diag.h
xfrm.h xfrm: Annotate struct xfrm_sec_ctx with __counted_by 2023-10-05 08:18:19 +02:00
xilinx-v4l2-controls.h
zorro.h
zorro_ids.h