twx-linux/include/uapi/linux
Vladimir Oltean 6c1adb650c net/sched: taprio: add netlink reporting for offload statistics counters
Offloading drivers may report some additional statistics counters, some
of them even suggested by 802.1Q, like TransmissionOverrun.

In my opinion we don't have to limit ourselves to reporting counters
only globally to the Qdisc/interface, especially if the device has more
detailed reporting (per traffic class), since the more detailed info is
valuable for debugging and can help identifying who is exceeding its
time slot.

But on the other hand, some devices may not be able to report both per
TC and global stats.

So we end up reporting both ways, and use the good old ethtool_put_stat()
strategy to determine which statistics are supported by this NIC.
Statistics which aren't set are simply not reported to netlink. For this
reason, we need something dynamic (a nlattr nest) to be reported through
TCA_STATS_APP, and not something daft like the fixed-size and
inextensible struct tc_codel_xstats. A good model for xstats which are a
nlattr nest rather than a fixed struct seems to be cake.

 # Global stats
 $ tc -s qdisc show dev eth0 root
 # Per-tc stats
 $ tc -s class show dev eth0

Signed-off-by: Vladimir Oltean <vladimir.oltean@nxp.com>
Acked-by: Vinicius Costa Gomes <vinicius.gomes@intel.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2023-05-31 10:00:30 +01:00
..
android binder: return pending info for frozen async txns 2023-01-19 17:14:18 +01:00
byteorder
caif
can
cifs
dvb Merge tag 'br-v6.2i' of git://linuxtv.org/hverkuil/media_tree into media_stage 2022-12-07 17:58:47 +01:00
genwqe
hdlc
hsi
iio
isdn
misc
mmc
netfilter netfilter: nft_exthdr: add boolean DCCP option matching 2023-05-18 08:48:54 +02:00
netfilter_arp
netfilter_bridge
netfilter_ipv4
netfilter_ipv6
nfsd NFSD: Handle new xprtsec= export option 2023-04-27 18:49:24 -04:00
raid
sched
spi
sunrpc
surface_aggregator
tc_act net/sched: act_tunnel_key: add support for "don't fragment" 2023-03-30 23:24:24 -07:00
tc_ematch
usb usb: uvc: Enumerate valid values for color matching 2023-02-06 13:46:42 +01:00
a.out.h
acct.h
acrn.h virt: acrn: Mark the uuid field as unused 2022-11-23 19:55:22 +01:00
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_eni.h
atm_he.h
atm_idt77105.h
atm_nicstar.h
atm_tcp.h
atm_zatm.h
atm.h
atmapi.h
atmarp.h
atmbr2684.h atm: uapi: fix spelling typos in comments 2022-12-22 18:18:37 -08:00
atmclip.h
atmdev.h Move COMPAT_ATM_ADDPARTY to net/atm/svc.c 2023-03-10 21:05:16 +01:00
atmioc.h
atmlec.h
atmmpc.h
atmppp.h
atmsap.h
atmsvc.h
audit.h
auto_dev-ioctl.h
auto_fs4.h
auto_fs.h
auxvec.h rseq: Introduce feature size and alignment ELF auxiliary vector entries 2022-12-27 12:52:10 +01:00
ax25.h
batadv_packet.h batman-adv: tvlv: prepare for tvlv enabled multicast packet type 2023-01-21 19:01:59 +01:00
batman_adv.h
baycom.h
bcm933xx_hcs.h
bfs_fs.h
binfmts.h
blkpg.h
blktrace_api.h
blkzoned.h
bpf_common.h
bpf_perf_event.h
bpf.h bpf: Support O_PATH FDs in BPF_OBJ_PIN and BPF_OBJ_GET commands 2023-05-23 23:31:42 +02:00
bpfilter.h
bpqether.h
bsg.h
bt-bmc.h
btf.h
btrfs_tree.h btrfs: add nr_global_roots to the super block definition 2022-12-05 18:00:58 +01:00
btrfs.h btrfs: scrub: reject unsupported scrub flags 2023-04-17 19:52:19 +02:00
cachefiles.h
can.h
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 uapi/linux/const.h: prefer ISO-friendly __typeof__ 2023-04-18 16:39:34 -07:00
coresight-stm.h
counter.h
cramfs_fs.h
cryptouser.h
cuda.h
cxl_mem.h cxl/mbox: Deprecate poison commands 2023-04-22 14:41:30 -07:00
cyclades.h
cycx_cfm.h
dcbnl.h net: dcb: add new rewrite table 2023-01-20 09:33:22 +00:00
dccp.h
devlink.h devlink: Expose port function commands to control migratable 2022-12-07 20:09:18 -08:00
dlm_device.h
dlm_plock.h
dlm.h fs: dlm: remove deprecated code parts 2023-03-06 15:49:07 -06:00
dlmconstants.h fs: dlm: remove deprecated code parts 2023-03-06 15:49:07 -06:00
dm-ioctl.h dm: split discards further if target sets max_discard_granularity 2023-03-30 15:57:50 -04:00
dm-log-userspace.h
dma-buf.h
dma-heap.h
dns_resolver.h
dqblk_xfs.h
dw100.h
edd.h
efs_fs_sb.h
elf-em.h
elf-fdpic.h
elf.h LoongArch changes for v6.3 2023-03-01 09:27:00 -08:00
errno.h
errqueue.h
erspan.h
ethtool_netlink.h ethtool: Add support for configuring tx_push_buf_len 2023-03-27 19:49:58 -07:00
ethtool.h net: ethtool: netlink: retrieve stats from multiple sources (eMAC, pMAC) 2023-01-23 12:44:18 +00:00
eventpoll.h Move ep_take_care_of_epollwakeup() to fs/eventpoll.c 2023-03-10 21:05:16 +01:00
ext4.h ext4: Add a uapi header for ext4 userspace APIs 2023-04-19 23:39:42 -04:00
f2fs.h f2fs: introduce F2FS_IOC_START_ATOMIC_REPLACE 2022-11-28 12:46:23 -08:00
fadvise.h
falloc.h
fanotify.h fanotify: define struct members to hold response decision context 2023-02-07 12:53:53 +01:00
fb.h
fcntl.h mm/memfd: add F_SEAL_EXEC 2023-01-18 17:12:37 -08:00
fd.h
fdreg.h
fib_rules.h
fiemap.h
filter.h
firewire-cdev.h
firewire-constants.h
fou.h ynl: broaden the license even more 2023-03-16 21:20:32 -07:00
fpga-dfl.h
fs.h
fscrypt.h fscrypt: remove unused Speck definitions 2022-12-01 19:58:50 -08:00
fsi.h
fsl_hypervisor.h
fsl_mc.h
fsmap.h
fsverity.h
fuse.h fuse: optional supplementary group in create requests 2023-01-26 17:10:38 +01:00
futex.h
gameport.h
gen_stats.h
genetlink.h
gfs2_ondisk.h
gpio.h
gsmmux.h tty: n_gsm: add ioctl for DLC specific parameter configuration 2023-03-29 10:50:48 +02:00
gtp.h
handshake.h net/handshake: Enable the SNI extension to work properly 2023-05-24 22:05:24 -07:00
hash_info.h
hdlc.h
hdlcdrv.h
hdreg.h
hid.h
hiddev.h
hidraw.h
hpet.h
hsr_netlink.h
hw_breakpoint.h Move bp_type_idx to include/linux/hw_breakpoint.h 2023-03-10 21:05:16 +01:00
hyperv.h
i2c-dev.h
i2c.h
i2o-dev.h
i8k.h
icmp.h
icmpv6.h
idxd.h dmaengine: idxd: process batch descriptor completion record faults 2023-04-12 23:18:45 +05:30
if_addr.h
if_addrlabel.h
if_alg.h
if_arcnet.h
if_arp.h
if_bonding.h
if_bridge.h bridge: vlan: Allow setting VLAN neighbor suppression state 2023-04-21 08:25:50 +01: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 net: vxlan: Add nolocalbypass option to vxlan. 2023-05-13 17:02:33 +01:00
if_ltalk.h
if_macsec.h
if_packet.h net/packet: support mergeable feature of virtio 2023-04-21 12:01:58 +01: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 uapi/linux/if_tun.h: Added new offload types for USO4/6. 2022-12-12 09:29:56 +00:00
if_tunnel.h
if_vlan.h
if_x25.h
if_xdp.h
if.h
ife.h
igmp.h
ila.h
in6.h
in_route.h
in.h ipv{4,6}/raw: fix output xfrm lookup wrt protocol 2023-05-23 15:38:59 +02:00
inet_diag.h
inotify.h
input-event-codes.h
input.h
io_uring.h io_uring: add support for multishot timeouts 2023-04-18 19:38:36 -06:00
ioam6_genl.h
ioam6_iptunnel.h
ioam6.h ipv6: ioam: Replace 0-length array with flexible array 2023-01-06 19:22:53 -08:00
ioctl.h
iommu.h
iommufd.h iommufd: vfio container FD ioctl compatibility 2022-11-30 20:16:49 -04:00
ioprio.h
ip6_tunnel.h
ip_vs.h
ip.h uapi: add missing ip/ipv6 header dependencies for linux/stddef.h 2023-02-06 09:01:00 +00:00
ipc.h
ipmi_bmc.h
ipmi_msgdefs.h
ipmi_ssif_bmc.h
ipmi.h
ipsec.h
ipv6_route.h
ipv6.h uapi: net: ipv6: Replace fake flex-array with flex-array member 2023-03-30 14:06:56 -06:00
irqnr.h
iso_fs.h
isst_if.h platform/x86: ISST: Add SST-TF support via TPMI 2023-03-16 15:18:02 +01:00
ivtv.h
ivtvfb.h
jffs2.h
joystick.h
kcm.h
kcmp.h
kcov.h
kd.h VT: Add KD_FONT_OP_SET/GET_TALL operations 2023-01-19 16:28:57 +01:00
kdev_t.h
kernel-page-flags.h
kernel.h
kernelcapi.h
kexec.h
keyboard.h
keyctl.h
kfd_ioctl.h drm/amdkfd: Implement DMA buf fd export from KFD 2023-02-28 14:30:00 -05:00
kfd_sysfs.h
kvm_para.h
kvm.h KVM/arm64 updates for 6.4 2023-04-26 15:46:52 -04:00
l2tp.h
landlock.h landlock: Clarify documentation for the LANDLOCK_ACCESS_FS_REFER right 2023-02-21 18:15:59 +01:00
libc-compat.h
limits.h
lirc.h
llc.h
loadpin.h
loop.h
lp.h
lwtunnel.h
magic.h
major.h
map_to_7segment.h
map_to_14segment.h
matroxfb.h
max2175.h
mctp.h
mdio.h net: mdio: add clause 73 to ethtool conversion helper 2023-05-24 09:13:22 -07:00
media-bus-format.h drm-misc-next for v6.3: 2023-01-04 14:59:25 +01:00
media.h
mei_uuid.h mei: Move uuid.h to the MEI namespace 2023-03-23 17:25:46 +01:00
mei.h mei: Move uuid.h to the MEI namespace 2023-03-23 17:25:46 +01:00
membarrier.h sched/membarrier: Introduce MEMBARRIER_CMD_GET_REGISTRATIONS 2023-01-07 11:29:29 +01:00
memfd.h mm/memfd: add MFD_NOEXEC_SEAL and MFD_EXEC 2023-01-18 17:12:37 -08:00
mempolicy.h
mii.h
minix_fs.h
mman.h
mmtimer.h
module.h
mount.h
mpls_iptunnel.h
mpls.h
mptcp.h mptcp: add pm listener events 2022-12-01 20:06:06 -08:00
mqueue.h
mroute6.h
mroute.h
mrp_bridge.h
msdos_fs.h
msg.h
mtio.h
nbd-netlink.h
nbd.h uapi nbd: add cookie alias to handle 2023-04-27 19:15:11 -06:00
ncsi.h
ndctl.h
neighbour.h
net_dropmon.h
net_namespace.h
net_tstamp.h net_tstamp: add SOF_TIMESTAMPING_OPT_ID_TCP 2022-12-08 19:49:21 -08:00
net.h
netconf.h
netdev.h ynl: broaden the license even more 2023-03-16 21:20:32 -07:00
netdevice.h
netfilter_arp.h
netfilter_bridge.h
netfilter_ipv4.h
netfilter_ipv6.h
netfilter.h
netlink_diag.h
netlink.h
netrom.h
nexthop.h
nfc.h
nfs2.h
nfs3.h
nfs4_mount.h
nfs4.h
nfs_fs.h
nfs_idmap.h
nfs_mount.h
nfs.h
nfsacl.h
nilfs2_api.h
nilfs2_ondisk.h
nitro_enclaves.h
nl80211-vnd-intel.h
nl80211.h wifi: nl80211: support advertising S1G capabilities 2023-03-30 12:02:59 +02:00
nsfs.h
nubus.h
nvme_ioctl.h
nvram.h
omap3isp.h
omapfb.h
oom.h
openat2.h
openvswitch.h net: openvswitch: Add support to count upcall packets 2022-12-09 10:43:46 +00:00
packet_diag.h
param.h
parport.h ata: parport_pc: add 16-bit and 8-bit fast EPP transfer flags 2023-03-23 12:22:19 +09:00
patchkey.h
pci_regs.h cxl: add RAS status unmasking for CXL 2023-02-14 14:12:54 -08:00
pci.h
pcitest.h
perf_event.h perf: Add perf_event_attr::config3 2023-02-07 11:52:00 +00:00
personality.h
pfkeyv2.h
pfrut.h
pg.h
phantom.h
phonet.h
pidfd.h
pkt_cls.h net/sched: flower: Allow matching on layer 2 miss 2023-05-30 23:37:00 -07:00
pkt_sched.h net/sched: taprio: add netlink reporting for offload statistics counters 2023-05-31 10:00:30 +01:00
pktcdvd.h pktcdvd: Remove CONFIG_CDROM_PKTCDVD_WCACHE from uapi header 2023-03-10 21:05:16 +01:00
pmu.h
poll.h
posix_acl_xattr.h
posix_acl.h
posix_types.h
ppdev.h
ppp_defs.h
ppp-comp.h
ppp-ioctl.h
pps.h
pr.h block: Add error codes for common PR failures 2022-12-01 03:22:20 +00:00
prctl.h mm: add new api to enable ksm per process 2023-04-21 14:52:03 -07:00
psample.h
psci.h firmware/psci: Fix MEM_PROTECT_RANGE function numbers 2023-01-06 17:12:39 +00:00
psp-sev.h crypto: ccp - Name -1 return value as SEV_RET_NO_FW_CALL 2023-03-21 11:37:32 +01:00
ptp_clock.h
ptrace.h ptrace: Provide set/get interface for syscall user dispatch 2023-04-16 14:23:07 +02:00
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
rfkill.h
rio_cm_cdev.h
rio_mport_cdev.h
rkisp1-config.h
romfs_fs.h
rose.h
route.h
rpl_iptunnel.h
rpl.h net: ipv6: rpl_iptunnel: Replace 0-length arrays with flexible arrays 2023-01-06 19:28:01 -08:00
rpmsg_types.h
rpmsg.h
rseq.h rseq: Extend struct rseq with per-memory-map concurrency ID 2022-12-27 12:52:12 +01:00
rtc.h
rtnetlink.h net/sched: act_api: add specific EXT_WARN_MSG for tc action 2023-03-16 21:25:45 -07:00
rxrpc.h
scc.h
sched.h
scif_ioctl.h
screen_info.h
sctp.h sctp: add weighted fair queueing stream scheduler 2023-03-09 11:31:44 +01:00
seccomp.h
securebits.h
sed-opal.h sed-opal: geometry feature reporting command 2023-04-19 14:07:13 -06:00
seg6_genl.h
seg6_hmac.h
seg6_iptunnel.h
seg6_local.h
seg6.h
selinux_netlink.h
sem.h
serial_core.h serial: 8250_pci1xxxx: Add driver for quad-uart support 2023-02-08 13:10:15 +01:00
serial_reg.h serial: 8250: Define IIR 64 byte bit & cleanup related code 2023-01-19 15:01:20 +01:00
serial.h
serio.h
sev-guest.h x86/sev: Change snp_guest_issue_request()'s fw_err argument 2023-03-21 15:43:19 +01:00
shm.h
signal.h
signalfd.h
smc_diag.h
smc.h
smiapp.h
snmp.h icmp: Add counters for rate limits 2023-01-26 10:52:18 +01:00
sock_diag.h
socket.h
sockios.h
sonet.h
sonypi.h
sound.h
soundcard.h
stat.h
stddef.h
stm.h
string.h
suspend_ioctls.h
swab.h
switchtec_ioctl.h
sync_file.h dma-buf/sync_file: Surface sync-file uABI 2023-03-28 13:39:02 -07:00
synclink.h
sysctl.h
sysinfo.h
target_core_user.h scsi: target: uapi: Replace fake flex-array with flexible-array member 2023-03-24 16:59:09 -04:00
taskstats.h delayacct: track delays from IRQ/SOFTIRQ 2023-04-18 16:39:34 -07:00
tcp_metrics.h
tcp.h
tdx-guest.h
tee.h
termios.h
thermal.h
time_types.h
time.h
timerfd.h
times.h
timex.h
tiocl.h
tipc_config.h
tipc_netlink.h
tipc_sockets_diag.h
tipc.h
tls.h
toshiba.h
tty_flags.h
tty.h
types.h
ublk_cmd.h block: ublk: switch to ioctl command encoding 2023-04-18 20:13:30 -06:00
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: Align structs with tabs for readability 2023-03-29 06:52:09 -04:00
userfaultfd.h mm: userfaultfd: add UFFDIO_CONTINUE_MODE_WP to install WP PTEs 2023-04-05 19:42:48 -07:00
userio.h
utime.h
utsname.h
uuid.h mei: Move uuid.h to the MEI namespace 2023-03-23 17:25:46 +01:00
uvcvideo.h media: uvcvideo: Silence memcpy() run-time false positive warnings 2023-01-15 23:45:15 +02:00
v4l2-common.h headers: Remove some left-over license text in include/uapi/linux/v4l2-* 2022-12-07 17:58:46 +01:00
v4l2-controls.h media: meye: remove this deprecated driver 2023-01-22 09:54:31 +01:00
v4l2-dv-timings.h headers: Remove some left-over license text in include/uapi/linux/v4l2-* 2022-12-07 17:58:46 +01:00
v4l2-mediabus.h headers: Remove some left-over license text in include/uapi/linux/v4l2-* 2022-12-07 17:58:46 +01:00
v4l2-subdev.h media: v4l2-subdev: Add new ioctl for client capabilities 2023-04-15 08:58:41 +01:00
vbox_err.h
vbox_vmmdev_types.h
vboxguest.h
vdpa.h vdpa: merge functionally duplicated dev_features attributes 2022-12-28 05:09:46 -05:00
vduse.h
veth.h
vfio_ccw.h
vfio_zdev.h
vfio.h vfio/type1: exclude mdevs from VFIO_UPDATE_VADDR 2023-02-09 11:39:14 -07:00
vhost_types.h vhost-vdpa: Introduce RESUME backend feature bit 2023-02-20 19:26:56 -05:00
vhost.h vhost-vdpa: uAPI to resume the device 2023-02-20 19:26:56 -05:00
videodev2.h media: Add ABGR64_12 video format 2023-04-15 09:11:30 +01:00
virtio_9p.h
virtio_balloon.h
virtio_blk.h virtio-blk: fix to match virtio spec 2023-04-04 11:01:57 -04:00
virtio_bt.h virtio_bt: Fix alignment in configuration struct 2022-12-12 14:19:23 -08:00
virtio_config.h virtio: add VIRTIO_F_NOTIFICATION_DATA feature support 2023-04-21 03:02:35 -04: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 net: virtio_net: implement exact header length guest feature 2023-03-13 16:32:16 -07:00
virtio_pci.h
virtio_pcidev.h
virtio_pmem.h
virtio_ring.h
virtio_rng.h
virtio_scmi.h
virtio_scsi.h
virtio_snd.h
virtio_types.h
virtio_vsock.h
vm_sockets_diag.h
vm_sockets.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: add new packet offload flag 2022-12-05 10:30:47 +01:00
xilinx-v4l2-controls.h
zorro_ids.h
zorro.h