golden hour
/usr/include/linux
⬆️ Go Up
Upload
File/Folder
Size
Actions
a.out.h
7.15 KB
Del
OK
acct.h
3.58 KB
Del
OK
adb.h
1.05 KB
Del
OK
adfs_fs.h
873 B
Del
OK
affs_hardblocks.h
1.45 KB
Del
OK
agpgart.h
3.83 KB
Del
OK
aio_abi.h
3.18 KB
Del
OK
apm_bios.h
3.46 KB
Del
OK
arcfb.h
150 B
Del
OK
atalk.h
960 B
Del
OK
atm.h
7.64 KB
Del
OK
atm_eni.h
585 B
Del
OK
atm_he.h
343 B
Del
OK
atm_idt77105.h
892 B
Del
OK
atm_nicstar.h
1.19 KB
Del
OK
atm_tcp.h
1.52 KB
Del
OK
atm_zatm.h
1.57 KB
Del
OK
atmapi.h
889 B
Del
OK
atmarp.h
1.2 KB
Del
OK
atmbr2684.h
3.13 KB
Del
OK
atmclip.h
513 B
Del
OK
atmdev.h
7.44 KB
Del
OK
atmioc.h
1.55 KB
Del
OK
atmlec.h
2.26 KB
Del
OK
atmmpc.h
4.07 KB
Del
OK
atmppp.h
576 B
Del
OK
atmsap.h
4.79 KB
Del
OK
atmsvc.h
1.75 KB
Del
OK
audit.h
17.83 KB
Del
OK
auto_fs.h
2.53 KB
Del
OK
auto_fs4.h
4.23 KB
Del
OK
auxvec.h
1.4 KB
Del
OK
ax25.h
2.7 KB
Del
OK
b1lli.h
1.62 KB
Del
OK
baycom.h
820 B
Del
OK
beancounter.h
2.38 KB
Del
OK
bfs_fs.h
1.79 KB
Del
OK
binfmts.h
565 B
Del
OK
blkpg.h
1.56 KB
Del
OK
blktrace_api.h
4.38 KB
Del
OK
bpqether.h
952 B
Del
OK
bsg.h
2.37 KB
Del
OK
bt-bmc.h
508 B
Del
OK
btrfs.h
25.07 KB
Del
OK
byteorder
-
Del
OK
caif
-
Del
OK
can
-
Del
OK
can.h
5.46 KB
Del
OK
capability.h
10.92 KB
Del
OK
capi.h
2.99 KB
Del
OK
cciss_defs.h
3.14 KB
Del
OK
cciss_ioctl.h
2.63 KB
Del
OK
cdrom.h
28.12 KB
Del
OK
cgroupstats.h
2.1 KB
Del
OK
chio.h
5.16 KB
Del
OK
cm4000_cs.h
1.68 KB
Del
OK
cn_proc.h
3.19 KB
Del
OK
coda.h
17.09 KB
Del
OK
coda_psdev.h
720 B
Del
OK
coff.h
12.12 KB
Del
OK
compat.h
9.63 KB
Del
OK
connector.h
2.14 KB
Del
OK
const.h
673 B
Del
OK
cramfs_fs.h
2.68 KB
Del
OK
cuda.h
842 B
Del
OK
cyclades.h
16.65 KB
Del
OK
cycx_cfm.h
2.86 KB
Del
OK
dcbnl.h
24.19 KB
Del
OK
dccp.h
6.22 KB
Del
OK
devlink.h
7.09 KB
Del
OK
dlm.h
2.43 KB
Del
OK
dlm_device.h
2.42 KB
Del
OK
dlm_netlink.h
1.04 KB
Del
OK
dlm_plock.h
831 B
Del
OK
dlmconstants.h
4.9 KB
Del
OK
dm-ioctl.h
10.55 KB
Del
OK
dm-log-userspace.h
14.82 KB
Del
OK
dn.h
4.42 KB
Del
OK
dqblk_xfs.h
8.72 KB
Del
OK
dvb
-
Del
OK
edd.h
5.41 KB
Del
OK
efs_fs_sb.h
2.11 KB
Del
OK
elf-em.h
1.83 KB
Del
OK
elf-fdpic.h
1.04 KB
Del
OK
elf.h
12.63 KB
Del
OK
elfcore.h
2.86 KB
Del
OK
errno.h
23 B
Del
OK
errqueue.h
1.1 KB
Del
OK
ethtool.h
68.76 KB
Del
OK
eventpoll.h
1.76 KB
Del
OK
fadvise.h
855 B
Del
OK
falloc.h
1.98 KB
Del
OK
fanotify.h
3.52 KB
Del
OK
fb.h
16 KB
Del
OK
fcntl.h
2.16 KB
Del
OK
fd.h
11.31 KB
Del
OK
fdreg.h
5.23 KB
Del
OK
fib_rules.h
1.57 KB
Del
OK
fiemap.h
2.65 KB
Del
OK
filter.h
3.53 KB
Del
OK
firewire-cdev.h
42.86 KB
Del
OK
firewire-constants.h
3.16 KB
Del
OK
flat.h
2.04 KB
Del
OK
fou.h
617 B
Del
OK
fs.h
9.84 KB
Del
OK
fsl_hypervisor.h
7.05 KB
Del
OK
fuse.h
16.22 KB
Del
OK
futex.h
4.81 KB
Del
OK
gameport.h
834 B
Del
OK
gen_stats.h
1.48 KB
Del
OK
genetlink.h
1.85 KB
Del
OK
gfs2_ondisk.h
12 KB
Del
OK
gigaset_dev.h
1.35 KB
Del
OK
hdlc
-
Del
OK
hdlc.h
574 B
Del
OK
hdlcdrv.h
2.78 KB
Del
OK
hdreg.h
22.11 KB
Del
OK
hid.h
1.79 KB
Del
OK
hiddev.h
6.13 KB
Del
OK
hidraw.h
1.41 KB
Del
OK
hpet.h
680 B
Del
OK
hsi
-
Del
OK
hw_breakpoint.h
679 B
Del
OK
hyperv.h
10.22 KB
Del
OK
hysdn_if.h
1.29 KB
Del
OK
i2c-dev.h
2.37 KB
Del
OK
i2c.h
6.61 KB
Del
OK
i2o-dev.h
11.22 KB
Del
OK
i8k.h
1.4 KB
Del
OK
icmp.h
2.82 KB
Del
OK
icmpv6.h
3.82 KB
Del
OK
if.h
9.36 KB
Del
OK
if_addr.h
1.7 KB
Del
OK
if_addrlabel.h
658 B
Del
OK
if_alg.h
816 B
Del
OK
if_arcnet.h
3.63 KB
Del
OK
if_arp.h
6.3 KB
Del
OK
if_bonding.h
4.11 KB
Del
OK
if_bridge.h
6.46 KB
Del
OK
if_cablemodem.h
922 B
Del
OK
if_eql.h
1.26 KB
Del
OK
if_ether.h
7.13 KB
Del
OK
if_fc.h
1.63 KB
Del
OK
if_fddi.h
3.6 KB
Del
OK
if_frad.h
2.89 KB
Del
OK
if_hippi.h
4.07 KB
Del
OK
if_infiniband.h
1.13 KB
Del
OK
if_link.h
19.1 KB
Del
OK
if_ltalk.h
147 B
Del
OK
if_macsec.h
5.42 KB
Del
OK
if_packet.h
7.15 KB
Del
OK
if_phonet.h
361 B
Del
OK
if_plip.h
596 B
Del
OK
if_ppp.h
29 B
Del
OK
if_pppol2tp.h
3.18 KB
Del
OK
if_pppox.h
4.64 KB
Del
OK
if_slip.h
809 B
Del
OK
if_team.h
2.48 KB
Del
OK
if_tun.h
3.77 KB
Del
OK
if_tunnel.h
3 KB
Del
OK
if_vlan.h
1.69 KB
Del
OK
if_x25.h
817 B
Del
OK
ife.h
288 B
Del
OK
igmp.h
2.88 KB
Del
OK
in.h
9.15 KB
Del
OK
in6.h
6.99 KB
Del
OK
in_route.h
873 B
Del
OK
inet_diag.h
3.23 KB
Del
OK
inotify.h
3.09 KB
Del
OK
input.h
32.47 KB
Del
OK
ioctl.h
100 B
Del
OK
ip.h
3.47 KB
Del
OK
ip6_tunnel.h
1.67 KB
Del
OK
ip_vs.h
12.71 KB
Del
OK
ipc.h
1.99 KB
Del
OK
ipmi.h
15.8 KB
Del
OK
ipmi_msgdefs.h
4.37 KB
Del
OK
ipsec.h
884 B
Del
OK
ipv6.h
3.25 KB
Del
OK
ipv6_route.h
1.69 KB
Del
OK
ipx.h
1.79 KB
Del
OK
irda.h
7.31 KB
Del
OK
irqnr.h
104 B
Del
OK
isdn
-
Del
OK
isdn.h
5.58 KB
Del
OK
isdn_divertif.h
1.11 KB
Del
OK
isdn_ppp.h
1.82 KB
Del
OK
isdnif.h
2.25 KB
Del
OK
iso_fs.h
6.29 KB
Del
OK
ivtv.h
2.89 KB
Del
OK
ivtvfb.h
1.12 KB
Del
OK
ixjuser.h
24.53 KB
Del
OK
jffs2.h
6.85 KB
Del
OK
joystick.h
3.5 KB
Del
OK
kd.h
6.04 KB
Del
OK
kdev_t.h
320 B
Del
OK
kernel-page-flags.h
767 B
Del
OK
kernel.h
375 B
Del
OK
kernelcapi.h
956 B
Del
OK
kexec.h
1.92 KB
Del
OK
keyboard.h
12.42 KB
Del
OK
keyctl.h
2.98 KB
Del
OK
kvm.h
33.97 KB
Del
OK
kvm_para.h
819 B
Del
OK
l2tp.h
4.98 KB
Del
OK
libc-compat.h
3.44 KB
Del
OK
limits.h
874 B
Del
OK
llc.h
2.98 KB
Del
OK
loop.h
2.31 KB
Del
OK
lp.h
3.72 KB
Del
OK
lwtunnel.h
839 B
Del
OK
magic.h
2.91 KB
Del
OK
major.h
4.48 KB
Del
OK
map_to_7segment.h
7.02 KB
Del
OK
matroxfb.h
1.37 KB
Del
OK
mdio.h
13.74 KB
Del
OK
media.h
3.5 KB
Del
OK
mei.h
4.62 KB
Del
OK
memfd.h
186 B
Del
OK
mempolicy.h
2.35 KB
Del
OK
meye.h
2.41 KB
Del
OK
mii.h
7.76 KB
Del
OK
minix_fs.h
2.01 KB
Del
OK
mman.h
230 B
Del
OK
mmc
-
Del
OK
mmtimer.h
2.01 KB
Del
OK
mpls.h
1.33 KB
Del
OK
mqueue.h
2.01 KB
Del
OK
mroute.h
4.12 KB
Del
OK
mroute6.h
4.08 KB
Del
OK
msdos_fs.h
6.28 KB
Del
OK
msg.h
2.55 KB
Del
OK
mtio.h
7.92 KB
Del
OK
n_r3964.h
2.29 KB
Del
OK
nbd.h
2.34 KB
Del
OK
ncp.h
4.94 KB
Del
OK
ncp_fs.h
3.27 KB
Del
OK
ncp_mount.h
2.06 KB
Del
OK
ncp_no.h
651 B
Del
OK
ndctl.h
8.79 KB
Del
OK
neighbour.h
4.17 KB
Del
OK
net.h
1.97 KB
Del
OK
net_dropmon.h
1.07 KB
Del
OK
net_namespace.h
609 B
Del
OK
net_tstamp.h
4.06 KB
Del
OK
netconf.h
423 B
Del
OK
netdevice.h
1.46 KB
Del
OK
netfilter
-
Del
OK
netfilter.h
1.56 KB
Del
OK
netfilter_arp
-
Del
OK
netfilter_arp.h
380 B
Del
OK
netfilter_bridge
-
Del
OK
netfilter_bridge.h
768 B
Del
OK
netfilter_decnet.h
1.83 KB
Del
OK
netfilter_ipv4
-
Del
OK
netfilter_ipv4.h
2.02 KB
Del
OK
netfilter_ipv6
-
Del
OK
netfilter_ipv6.h
2.04 KB
Del
OK
netlink.h
6.22 KB
Del
OK
netlink_diag.h
1.33 KB
Del
OK
netrom.h
744 B
Del
OK
nfc.h
7.72 KB
Del
OK
nfs.h
4.31 KB
Del
OK
nfs2.h
1.37 KB
Del
OK
nfs3.h
2.24 KB
Del
OK
nfs4.h
5.95 KB
Del
OK
nfs4_mount.h
1.83 KB
Del
OK
nfs_fs.h
1.51 KB
Del
OK
nfs_idmap.h
2.19 KB
Del
OK
nfs_mount.h
2.32 KB
Del
OK
nfsacl.h
605 B
Del
OK
nfsd
-
Del
OK
nl80211.h
226.29 KB
Del
OK
nubus.h
8.17 KB
Del
OK
nvme_ioctl.h
1.55 KB
Del
OK
nvram.h
469 B
Del
OK
omap3isp.h
20.19 KB
Del
OK
omapfb.h
5.72 KB
Del
OK
oom.h
448 B
Del
OK
openvswitch.h
31.79 KB
Del
OK
packet_diag.h
1.5 KB
Del
OK
param.h
78 B
Del
OK
parport.h
3.56 KB
Del
OK
patchkey.h
829 B
Del
OK
pci.h
1.29 KB
Del
OK
pci_regs.h
49.96 KB
Del
OK
perf_event.h
29.53 KB
Del
OK
personality.h
1.99 KB
Del
OK
pfkeyv2.h
9.91 KB
Del
OK
pg.h
2.23 KB
Del
OK
phantom.h
1.55 KB
Del
OK
phonet.h
4.51 KB
Del
OK
pkt_cls.h
11.51 KB
Del
OK
pkt_sched.h
19.75 KB
Del
OK
pktcdvd.h
2.56 KB
Del
OK
pmu.h
5.13 KB
Del
OK
poll.h
22 B
Del
OK
posix_types.h
1.01 KB
Del
OK
ppdev.h
3.07 KB
Del
OK
ppp-comp.h
2.41 KB
Del
OK
ppp-ioctl.h
5.29 KB
Del
OK
ppp_defs.h
4.93 KB
Del
OK
pps.h
4.06 KB
Del
OK
prctl.h
6.71 KB
Del
OK
psample.h
735 B
Del
OK
ptp_clock.h
4.69 KB
Del
OK
ptrace.h
3.2 KB
Del
OK
qnx4_fs.h
2.21 KB
Del
OK
qnxtypes.h
561 B
Del
OK
quota.h
5.78 KB
Del
OK
radeonfb.h
297 B
Del
OK
raid
-
Del
OK
random.h
1.2 KB
Del
OK
raw.h
302 B
Del
OK
rds.h
7.9 KB
Del
OK
reboot.h
1.25 KB
Del
OK
reiserfs_fs.h
712 B
Del
OK
reiserfs_xattr.h
464 B
Del
OK
resource.h
2.09 KB
Del
OK
rfkill.h
3.5 KB
Del
OK
romfs_fs.h
1.15 KB
Del
OK
rose.h
2.12 KB
Del
OK
route.h
2.21 KB
Del
OK
rtc.h
3.85 KB
Del
OK
rtnetlink.h
16.63 KB
Del
OK
scc.h
4.43 KB
Del
OK
sched.h
2.23 KB
Del
OK
screen_info.h
2.36 KB
Del
OK
sctp.h
29.29 KB
Del
OK
sdla.h
2.71 KB
Del
OK
seccomp.h
1.79 KB
Del
OK
securebits.h
2.58 KB
Del
OK
selinux_netlink.h
1.11 KB
Del
OK
sem.h
2.52 KB
Del
OK
serial.h
3.04 KB
Del
OK
serial_core.h
5.11 KB
Del
OK
serial_reg.h
15.66 KB
Del
OK
serio.h
1.77 KB
Del
OK
shm.h
2.17 KB
Del
OK
signal.h
171 B
Del
OK
signalfd.h
1.07 KB
Del
OK
snmp.h
12.38 KB
Del
OK
sock_diag.h
431 B
Del
OK
socket.h
738 B
Del
OK
sockios.h
5.89 KB
Del
OK
som.h
5.35 KB
Del
OK
sonet.h
2.17 KB
Del
OK
sonypi.h
5.12 KB
Del
OK
sound.h
1.15 KB
Del
OK
soundcard.h
44.96 KB
Del
OK
spi
-
Del
OK
stat.h
1 KB
Del
OK
stddef.h
1 B
Del
OK
string.h
175 B
Del
OK
sunrpc
-
Del
OK
suspend_ioctls.h
1.34 KB
Del
OK
swab.h
6.36 KB
Del
OK
synclink.h
8.71 KB
Del
OK
sysctl.h
25.46 KB
Del
OK
sysinfo.h
986 B
Del
OK
target_core_user.h
3.65 KB
Del
OK
taskstats.h
6.83 KB
Del
OK
tc_act
-
Del
OK
tc_ematch
-
Del
OK
tcp.h
5.93 KB
Del
OK
tcp_metrics.h
1.45 KB
Del
OK
telephony.h
8.84 KB
Del
OK
termios.h
443 B
Del
OK
time.h
1.54 KB
Del
OK
times.h
215 B
Del
OK
timex.h
6.17 KB
Del
OK
tiocl.h
1.63 KB
Del
OK
tipc.h
5.44 KB
Del
OK
tipc_config.h
14.1 KB
Del
OK
toshiba.h
1.24 KB
Del
OK
tty.h
1.33 KB
Del
OK
tty_flags.h
3.66 KB
Del
OK
types.h
1.4 KB
Del
OK
udf_fs_i.h
634 B
Del
OK
udp.h
1.28 KB
Del
OK
uhid.h
2.15 KB
Del
OK
uinput.h
5 KB
Del
OK
uio.h
668 B
Del
OK
ultrasound.h
4.39 KB
Del
OK
un.h
239 B
Del
OK
unistd.h
157 B
Del
OK
unix_diag.h
1.1 KB
Del
OK
usb
-
Del
OK
usbdevice_fs.h
6.56 KB
Del
OK
userfaultfd.h
6.59 KB
Del
OK
utime.h
152 B
Del
OK
utsname.h
606 B
Del
OK
uuid.h
1.5 KB
Del
OK
uvcvideo.h
1.6 KB
Del
OK
v4l2-common.h
2.38 KB
Del
OK
v4l2-controls.h
37.34 KB
Del
OK
v4l2-dv-timings.h
25.75 KB
Del
OK
v4l2-mediabus.h
4.55 KB
Del
OK
v4l2-subdev.h
5.27 KB
Del
OK
version.h
255 B
Del
OK
veth.h
402 B
Del
OK
vfio.h
24.12 KB
Del
OK
vhost.h
7.13 KB
Del
OK
videodev2.h
67.41 KB
Del
OK
virtio_9p.h
1.99 KB
Del
OK
virtio_balloon.h
3.71 KB
Del
OK
virtio_blk.h
5.2 KB
Del
OK
virtio_config.h
3.24 KB
Del
OK
virtio_console.h
2.94 KB
Del
OK
virtio_gpu.h
7.84 KB
Del
OK
virtio_ids.h
2.32 KB
Del
OK
virtio_input.h
2.45 KB
Del
OK
virtio_net.h
9.4 KB
Del
OK
virtio_pci.h
6.63 KB
Del
OK
virtio_ring.h
6.18 KB
Del
OK
virtio_rng.h
265 B
Del
OK
virtio_scsi.h
5.13 KB
Del
OK
virtio_types.h
2.11 KB
Del
OK
virtio_vsock.h
3.01 KB
Del
OK
vm_sockets.h
5.13 KB
Del
OK
vsockmon.h
1.78 KB
Del
OK
vt.h
3.05 KB
Del
OK
vtpm_proxy.h
1.62 KB
Del
OK
vzcalluser.h
4.11 KB
Del
OK
vzctl_netstat.h
2.56 KB
Del
OK
vzctl_venet.h
641 B
Del
OK
vzctl_veth.h
758 B
Del
OK
vziptable_defs.h
3.03 KB
Del
OK
vzlist.h
845 B
Del
OK
wait.h
600 B
Del
OK
wanrouter.h
390 B
Del
OK
watchdog.h
2.22 KB
Del
OK
wimax
-
Del
OK
wimax.h
8.17 KB
Del
OK
wireless.h
41.65 KB
Del
OK
x25.h
3.42 KB
Del
OK
xattr.h
2.53 KB
Del
OK
xfrm.h
11 KB
Del
OK
Edit: pkt_sched.h
#ifndef __LINUX_PKT_SCHED_H #define __LINUX_PKT_SCHED_H #include <linux/types.h> /* Logical priority bands not depending on specific packet scheduler. Every scheduler will map them to real traffic classes, if it has no more precise mechanism to classify packets. These numbers have no special meaning, though their coincidence with obsolete IPv6 values is not occasional :-). New IPv6 drafts preferred full anarchy inspired by diffserv group. Note: TC_PRIO_BESTEFFORT does not mean that it is the most unhappy class, actually, as rule it will be handled with more care than filler or even bulk. */ #define TC_PRIO_BESTEFFORT 0 #define TC_PRIO_FILLER 1 #define TC_PRIO_BULK 2 #define TC_PRIO_INTERACTIVE_BULK 4 #define TC_PRIO_INTERACTIVE 6 #define TC_PRIO_CONTROL 7 #define TC_PRIO_MAX 15 /* Generic queue statistics, available for all the elements. Particular schedulers may have also their private records. */ struct tc_stats { __u64 bytes; /* Number of enqueued bytes */ __u32 packets; /* Number of enqueued packets */ __u32 drops; /* Packets dropped because of lack of resources */ __u32 overlimits; /* Number of throttle events when this * flow goes out of allocated bandwidth */ __u32 bps; /* Current flow byte rate */ __u32 pps; /* Current flow packet rate */ __u32 qlen; __u32 backlog; }; struct tc_estimator { signed char interval; unsigned char ewma_log; }; /* "Handles" --------- All the traffic control objects have 32bit identifiers, or "handles". They can be considered as opaque numbers from user API viewpoint, but actually they always consist of two fields: major and minor numbers, which are interpreted by kernel specially, that may be used by applications, though not recommended. F.e. qdisc handles always have minor number equal to zero, classes (or flows) have major equal to parent qdisc major, and minor uniquely identifying class inside qdisc. Macros to manipulate handles: */ #define TC_H_MAJ_MASK (0xFFFF0000U) #define TC_H_MIN_MASK (0x0000FFFFU) #define TC_H_MAJ(h) ((h)&TC_H_MAJ_MASK) #define TC_H_MIN(h) ((h)&TC_H_MIN_MASK) #define TC_H_MAKE(maj,min) (((maj)&TC_H_MAJ_MASK)|((min)&TC_H_MIN_MASK)) #define TC_H_UNSPEC (0U) #define TC_H_ROOT (0xFFFFFFFFU) #define TC_H_INGRESS (0xFFFFFFF1U) #define TC_H_CLSACT TC_H_INGRESS #define TC_H_MIN_INGRESS 0xFFF2U #define TC_H_MIN_EGRESS 0xFFF3U /* Need to corrospond to iproute2 tc/tc_core.h "enum link_layer" */ enum tc_link_layer { TC_LINKLAYER_UNAWARE, /* Indicate unaware old iproute2 util */ TC_LINKLAYER_ETHERNET, TC_LINKLAYER_ATM, }; #define TC_LINKLAYER_MASK 0x0F /* limit use to lower 4 bits */ struct tc_ratespec { unsigned char cell_log; __u8 linklayer; /* lower 4 bits */ unsigned short overhead; short cell_align; unsigned short mpu; __u32 rate; }; #define TC_RTAB_SIZE 1024 struct tc_sizespec { unsigned char cell_log; unsigned char size_log; short cell_align; int overhead; unsigned int linklayer; unsigned int mpu; unsigned int mtu; unsigned int tsize; }; enum { TCA_STAB_UNSPEC, TCA_STAB_BASE, TCA_STAB_DATA, __TCA_STAB_MAX }; #define TCA_STAB_MAX (__TCA_STAB_MAX - 1) /* FIFO section */ struct tc_fifo_qopt { __u32 limit; /* Queue length: bytes for bfifo, packets for pfifo */ }; /* PRIO section */ #define TCQ_PRIO_BANDS 16 #define TCQ_MIN_PRIO_BANDS 2 struct tc_prio_qopt { int bands; /* Number of bands */ __u8 priomap[TC_PRIO_MAX+1]; /* Map: logical priority -> PRIO band */ }; /* MULTIQ section */ struct tc_multiq_qopt { __u16 bands; /* Number of bands */ __u16 max_bands; /* Maximum number of queues */ }; /* PLUG section */ #define TCQ_PLUG_BUFFER 0 #define TCQ_PLUG_RELEASE_ONE 1 #define TCQ_PLUG_RELEASE_INDEFINITE 2 #define TCQ_PLUG_LIMIT 3 struct tc_plug_qopt { /* TCQ_PLUG_BUFFER: Inset a plug into the queue and * buffer any incoming packets * TCQ_PLUG_RELEASE_ONE: Dequeue packets from queue head * to beginning of the next plug. * TCQ_PLUG_RELEASE_INDEFINITE: Dequeue all packets from queue. * Stop buffering packets until the next TCQ_PLUG_BUFFER * command is received (just act as a pass-thru queue). * TCQ_PLUG_LIMIT: Increase/decrease queue size */ int action; __u32 limit; }; /* TBF section */ struct tc_tbf_qopt { struct tc_ratespec rate; struct tc_ratespec peakrate; __u32 limit; __u32 buffer; __u32 mtu; }; enum { TCA_TBF_UNSPEC, TCA_TBF_PARMS, TCA_TBF_RTAB, TCA_TBF_PTAB, TCA_TBF_RATE64, TCA_TBF_PRATE64, TCA_TBF_BURST, TCA_TBF_PBURST, TCA_TBF_PAD, __TCA_TBF_MAX, }; #define TCA_TBF_MAX (__TCA_TBF_MAX - 1) /* TEQL section */ /* TEQL does not require any parameters */ /* SFQ section */ struct tc_sfq_qopt { unsigned quantum; /* Bytes per round allocated to flow */ int perturb_period; /* Period of hash perturbation */ __u32 limit; /* Maximal packets in queue */ unsigned divisor; /* Hash divisor */ unsigned flows; /* Maximal number of flows */ }; struct tc_sfqred_stats { __u32 prob_drop; /* Early drops, below max threshold */ __u32 forced_drop; /* Early drops, after max threshold */ __u32 prob_mark; /* Marked packets, below max threshold */ __u32 forced_mark; /* Marked packets, after max threshold */ __u32 prob_mark_head; /* Marked packets, below max threshold */ __u32 forced_mark_head;/* Marked packets, after max threshold */ }; struct tc_sfq_qopt_v1 { struct tc_sfq_qopt v0; unsigned int depth; /* max number of packets per flow */ unsigned int headdrop; /* SFQRED parameters */ __u32 limit; /* HARD maximal flow queue length (bytes) */ __u32 qth_min; /* Min average length threshold (bytes) */ __u32 qth_max; /* Max average length threshold (bytes) */ unsigned char Wlog; /* log(W) */ unsigned char Plog; /* log(P_max/(qth_max-qth_min)) */ unsigned char Scell_log; /* cell size for idle damping */ unsigned char flags; __u32 max_P; /* probability, high resolution */ /* SFQRED stats */ struct tc_sfqred_stats stats; }; struct tc_sfq_xstats { __s32 allot; }; /* RED section */ enum { TCA_RED_UNSPEC, TCA_RED_PARMS, TCA_RED_STAB, TCA_RED_MAX_P, __TCA_RED_MAX, }; #define TCA_RED_MAX (__TCA_RED_MAX - 1) struct tc_red_qopt { __u32 limit; /* HARD maximal queue length (bytes) */ __u32 qth_min; /* Min average length threshold (bytes) */ __u32 qth_max; /* Max average length threshold (bytes) */ unsigned char Wlog; /* log(W) */ unsigned char Plog; /* log(P_max/(qth_max-qth_min)) */ unsigned char Scell_log; /* cell size for idle damping */ unsigned char flags; #define TC_RED_ECN 1 #define TC_RED_HARDDROP 2 #define TC_RED_ADAPTATIVE 4 }; struct tc_red_xstats { __u32 early; /* Early drops */ __u32 pdrop; /* Drops due to queue limits */ __u32 other; /* Drops due to drop() calls */ __u32 marked; /* Marked packets */ }; /* GRED section */ #define MAX_DPs 16 enum { TCA_GRED_UNSPEC, TCA_GRED_PARMS, TCA_GRED_STAB, TCA_GRED_DPS, TCA_GRED_MAX_P, TCA_GRED_LIMIT, __TCA_GRED_MAX, }; #define TCA_GRED_MAX (__TCA_GRED_MAX - 1) struct tc_gred_qopt { __u32 limit; /* HARD maximal queue length (bytes) */ __u32 qth_min; /* Min average length threshold (bytes) */ __u32 qth_max; /* Max average length threshold (bytes) */ __u32 DP; /* up to 2^32 DPs */ __u32 backlog; __u32 qave; __u32 forced; __u32 early; __u32 other; __u32 pdrop; __u8 Wlog; /* log(W) */ __u8 Plog; /* log(P_max/(qth_max-qth_min)) */ __u8 Scell_log; /* cell size for idle damping */ __u8 prio; /* prio of this VQ */ __u32 packets; __u32 bytesin; }; /* gred setup */ struct tc_gred_sopt { __u32 DPs; __u32 def_DP; __u8 grio; __u8 flags; __u16 pad1; }; /* CHOKe section */ enum { TCA_CHOKE_UNSPEC, TCA_CHOKE_PARMS, TCA_CHOKE_STAB, TCA_CHOKE_MAX_P, __TCA_CHOKE_MAX, }; #define TCA_CHOKE_MAX (__TCA_CHOKE_MAX - 1) struct tc_choke_qopt { __u32 limit; /* Hard queue length (packets) */ __u32 qth_min; /* Min average threshold (packets) */ __u32 qth_max; /* Max average threshold (packets) */ unsigned char Wlog; /* log(W) */ unsigned char Plog; /* log(P_max/(qth_max-qth_min)) */ unsigned char Scell_log; /* cell size for idle damping */ unsigned char flags; /* see RED flags */ }; struct tc_choke_xstats { __u32 early; /* Early drops */ __u32 pdrop; /* Drops due to queue limits */ __u32 other; /* Drops due to drop() calls */ __u32 marked; /* Marked packets */ __u32 matched; /* Drops due to flow match */ }; /* HTB section */ #define TC_HTB_NUMPRIO 8 #define TC_HTB_MAXDEPTH 8 #define TC_HTB_PROTOVER 3 /* the same as HTB and TC's major */ struct tc_htb_opt { struct tc_ratespec rate; struct tc_ratespec ceil; __u32 buffer; __u32 cbuffer; __u32 quantum; __u32 level; /* out only */ __u32 prio; }; struct tc_htb_glob { __u32 version; /* to match HTB/TC */ __u32 rate2quantum; /* bps->quantum divisor */ __u32 defcls; /* default class number */ __u32 debug; /* debug flags */ /* stats */ __u32 direct_pkts; /* count of non shaped packets */ }; enum { TCA_HTB_UNSPEC, TCA_HTB_PARMS, TCA_HTB_INIT, TCA_HTB_CTAB, TCA_HTB_RTAB, TCA_HTB_DIRECT_QLEN, TCA_HTB_RATE64, TCA_HTB_CEIL64, TCA_HTB_PAD, __TCA_HTB_MAX, }; #define TCA_HTB_MAX (__TCA_HTB_MAX - 1) struct tc_htb_xstats { __u32 lends; __u32 borrows; __u32 giants; /* too big packets (rate will not be accurate) */ __u32 tokens; __u32 ctokens; }; /* HFSC section */ struct tc_hfsc_qopt { __u16 defcls; /* default class */ }; struct tc_service_curve { __u32 m1; /* slope of the first segment in bps */ __u32 d; /* x-projection of the first segment in us */ __u32 m2; /* slope of the second segment in bps */ }; struct tc_hfsc_stats { __u64 work; /* total work done */ __u64 rtwork; /* work done by real-time criteria */ __u32 period; /* current period */ __u32 level; /* class level in hierarchy */ }; enum { TCA_HFSC_UNSPEC, TCA_HFSC_RSC, TCA_HFSC_FSC, TCA_HFSC_USC, __TCA_HFSC_MAX, }; #define TCA_HFSC_MAX (__TCA_HFSC_MAX - 1) /* CBQ section */ #define TC_CBQ_MAXPRIO 8 #define TC_CBQ_MAXLEVEL 8 #define TC_CBQ_DEF_EWMA 5 struct tc_cbq_lssopt { unsigned char change; unsigned char flags; #define TCF_CBQ_LSS_BOUNDED 1 #define TCF_CBQ_LSS_ISOLATED 2 unsigned char ewma_log; unsigned char level; #define TCF_CBQ_LSS_FLAGS 1 #define TCF_CBQ_LSS_EWMA 2 #define TCF_CBQ_LSS_MAXIDLE 4 #define TCF_CBQ_LSS_MINIDLE 8 #define TCF_CBQ_LSS_OFFTIME 0x10 #define TCF_CBQ_LSS_AVPKT 0x20 __u32 maxidle; __u32 minidle; __u32 offtime; __u32 avpkt; }; struct tc_cbq_wrropt { unsigned char flags; unsigned char priority; unsigned char cpriority; unsigned char __reserved; __u32 allot; __u32 weight; }; struct tc_cbq_ovl { unsigned char strategy; #define TC_CBQ_OVL_CLASSIC 0 #define TC_CBQ_OVL_DELAY 1 #define TC_CBQ_OVL_LOWPRIO 2 #define TC_CBQ_OVL_DROP 3 #define TC_CBQ_OVL_RCLASSIC 4 unsigned char priority2; __u16 pad; __u32 penalty; }; struct tc_cbq_police { unsigned char police; unsigned char __res1; unsigned short __res2; }; struct tc_cbq_fopt { __u32 split; __u32 defmap; __u32 defchange; }; struct tc_cbq_xstats { __u32 borrows; __u32 overactions; __s32 avgidle; __s32 undertime; }; enum { TCA_CBQ_UNSPEC, TCA_CBQ_LSSOPT, TCA_CBQ_WRROPT, TCA_CBQ_FOPT, TCA_CBQ_OVL_STRATEGY, TCA_CBQ_RATE, TCA_CBQ_RTAB, TCA_CBQ_POLICE, __TCA_CBQ_MAX, }; #define TCA_CBQ_MAX (__TCA_CBQ_MAX - 1) /* dsmark section */ enum { TCA_DSMARK_UNSPEC, TCA_DSMARK_INDICES, TCA_DSMARK_DEFAULT_INDEX, TCA_DSMARK_SET_TC_INDEX, TCA_DSMARK_MASK, TCA_DSMARK_VALUE, __TCA_DSMARK_MAX, }; #define TCA_DSMARK_MAX (__TCA_DSMARK_MAX - 1) /* ATM section */ enum { TCA_ATM_UNSPEC, TCA_ATM_FD, /* file/socket descriptor */ TCA_ATM_PTR, /* pointer to descriptor - later */ TCA_ATM_HDR, /* LL header */ TCA_ATM_EXCESS, /* excess traffic class (0 for CLP) */ TCA_ATM_ADDR, /* PVC address (for output only) */ TCA_ATM_STATE, /* VC state (ATM_VS_*; for output only) */ __TCA_ATM_MAX, }; #define TCA_ATM_MAX (__TCA_ATM_MAX - 1) /* Network emulator */ enum { TCA_NETEM_UNSPEC, TCA_NETEM_CORR, TCA_NETEM_DELAY_DIST, TCA_NETEM_REORDER, TCA_NETEM_CORRUPT, TCA_NETEM_LOSS, TCA_NETEM_RATE, TCA_NETEM_ECN, TCA_NETEM_RATE64, TCA_NETEM_PAD, __TCA_NETEM_MAX, }; #define TCA_NETEM_MAX (__TCA_NETEM_MAX - 1) struct tc_netem_qopt { __u32 latency; /* added delay (us) */ __u32 limit; /* fifo limit (packets) */ __u32 loss; /* random packet loss (0=none ~0=100%) */ __u32 gap; /* re-ordering gap (0 for none) */ __u32 duplicate; /* random packet dup (0=none ~0=100%) */ __u32 jitter; /* random jitter in latency (us) */ }; struct tc_netem_corr { __u32 delay_corr; /* delay correlation */ __u32 loss_corr; /* packet loss correlation */ __u32 dup_corr; /* duplicate correlation */ }; struct tc_netem_reorder { __u32 probability; __u32 correlation; }; struct tc_netem_corrupt { __u32 probability; __u32 correlation; }; struct tc_netem_rate { __u32 rate; /* byte/s */ __s32 packet_overhead; __u32 cell_size; __s32 cell_overhead; }; enum { NETEM_LOSS_UNSPEC, NETEM_LOSS_GI, /* General Intuitive - 4 state model */ NETEM_LOSS_GE, /* Gilbert Elliot models */ __NETEM_LOSS_MAX }; #define NETEM_LOSS_MAX (__NETEM_LOSS_MAX - 1) /* State transition probabilities for 4 state model */ struct tc_netem_gimodel { __u32 p13; __u32 p31; __u32 p32; __u32 p14; __u32 p23; }; /* Gilbert-Elliot models */ struct tc_netem_gemodel { __u32 p; __u32 r; __u32 h; __u32 k1; }; #define NETEM_DIST_SCALE 8192 #define NETEM_DIST_MAX 16384 /* DRR */ enum { TCA_DRR_UNSPEC, TCA_DRR_QUANTUM, __TCA_DRR_MAX }; #define TCA_DRR_MAX (__TCA_DRR_MAX - 1) struct tc_drr_stats { __u32 deficit; }; /* MQPRIO */ #define TC_QOPT_BITMASK 15 #define TC_QOPT_MAX_QUEUE 16 enum { TC_MQPRIO_HW_OFFLOAD_NONE, /* no offload requested */ TC_MQPRIO_HW_OFFLOAD_TCS, /* offload TCs, no queue counts */ __TC_MQPRIO_HW_OFFLOAD_MAX }; #define TC_MQPRIO_HW_OFFLOAD_MAX (__TC_MQPRIO_HW_OFFLOAD_MAX - 1) struct tc_mqprio_qopt { __u8 num_tc; __u8 prio_tc_map[TC_QOPT_BITMASK + 1]; __u8 hw; __u16 count[TC_QOPT_MAX_QUEUE]; __u16 offset[TC_QOPT_MAX_QUEUE]; }; /* SFB */ enum { TCA_SFB_UNSPEC, TCA_SFB_PARMS, __TCA_SFB_MAX, }; #define TCA_SFB_MAX (__TCA_SFB_MAX - 1) /* * Note: increment, decrement are Q0.16 fixed-point values. */ struct tc_sfb_qopt { __u32 rehash_interval; /* delay between hash move, in ms */ __u32 warmup_time; /* double buffering warmup time in ms (warmup_time < rehash_interval) */ __u32 max; /* max len of qlen_min */ __u32 bin_size; /* maximum queue length per bin */ __u32 increment; /* probability increment, (d1 in Blue) */ __u32 decrement; /* probability decrement, (d2 in Blue) */ __u32 limit; /* max SFB queue length */ __u32 penalty_rate; /* inelastic flows are rate limited to 'rate' pps */ __u32 penalty_burst; }; struct tc_sfb_xstats { __u32 earlydrop; __u32 penaltydrop; __u32 bucketdrop; __u32 queuedrop; __u32 childdrop; /* drops in child qdisc */ __u32 marked; __u32 maxqlen; __u32 maxprob; __u32 avgprob; }; #define SFB_MAX_PROB 0xFFFF /* QFQ */ enum { TCA_QFQ_UNSPEC, TCA_QFQ_WEIGHT, TCA_QFQ_LMAX, __TCA_QFQ_MAX }; #define TCA_QFQ_MAX (__TCA_QFQ_MAX - 1) struct tc_qfq_stats { __u32 weight; __u32 lmax; }; /* CODEL */ enum { TCA_CODEL_UNSPEC, TCA_CODEL_TARGET, TCA_CODEL_LIMIT, TCA_CODEL_INTERVAL, TCA_CODEL_ECN, TCA_CODEL_CE_THRESHOLD, __TCA_CODEL_MAX }; #define TCA_CODEL_MAX (__TCA_CODEL_MAX - 1) struct tc_codel_xstats { __u32 maxpacket; /* largest packet we've seen so far */ __u32 count; /* how many drops we've done since the last time we * entered dropping state */ __u32 lastcount; /* count at entry to dropping state */ __u32 ldelay; /* in-queue delay seen by most recently dequeued packet */ __s32 drop_next; /* time to drop next packet */ __u32 drop_overlimit; /* number of time max qdisc packet limit was hit */ __u32 ecn_mark; /* number of packets we ECN marked instead of dropped */ __u32 dropping; /* are we in dropping state ? */ __u32 ce_mark; /* number of CE marked packets because of ce_threshold */ }; /* FQ_CODEL */ enum { TCA_FQ_CODEL_UNSPEC, TCA_FQ_CODEL_TARGET, TCA_FQ_CODEL_LIMIT, TCA_FQ_CODEL_INTERVAL, TCA_FQ_CODEL_ECN, TCA_FQ_CODEL_FLOWS, TCA_FQ_CODEL_QUANTUM, TCA_FQ_CODEL_CE_THRESHOLD, TCA_FQ_CODEL_DROP_BATCH_SIZE, TCA_FQ_CODEL_MEMORY_LIMIT, __TCA_FQ_CODEL_MAX }; #define TCA_FQ_CODEL_MAX (__TCA_FQ_CODEL_MAX - 1) enum { TCA_FQ_CODEL_XSTATS_QDISC, TCA_FQ_CODEL_XSTATS_CLASS, }; struct tc_fq_codel_qd_stats { __u32 maxpacket; /* largest packet we've seen so far */ __u32 drop_overlimit; /* number of time max qdisc * packet limit was hit */ __u32 ecn_mark; /* number of packets we ECN marked * instead of being dropped */ __u32 new_flow_count; /* number of time packets * created a 'new flow' */ __u32 new_flows_len; /* count of flows in new list */ __u32 old_flows_len; /* count of flows in old list */ __u32 ce_mark; /* packets above ce_threshold */ __u32 memory_usage; /* in bytes */ __u32 drop_overmemory; }; struct tc_fq_codel_cl_stats { __s32 deficit; __u32 ldelay; /* in-queue delay seen by most recently * dequeued packet */ __u32 count; __u32 lastcount; __u32 dropping; __s32 drop_next; }; struct tc_fq_codel_xstats { __u32 type; union { struct tc_fq_codel_qd_stats qdisc_stats; struct tc_fq_codel_cl_stats class_stats; }; }; /* FQ */ enum { TCA_FQ_UNSPEC, TCA_FQ_PLIMIT, /* limit of total number of packets in queue */ TCA_FQ_FLOW_PLIMIT, /* limit of packets per flow */ TCA_FQ_QUANTUM, /* RR quantum */ TCA_FQ_INITIAL_QUANTUM, /* RR quantum for new flow */ TCA_FQ_RATE_ENABLE, /* enable/disable rate limiting */ TCA_FQ_FLOW_DEFAULT_RATE,/* obsolete, do not use */ TCA_FQ_FLOW_MAX_RATE, /* per flow max rate */ TCA_FQ_BUCKETS_LOG, /* log2(number of buckets) */ TCA_FQ_FLOW_REFILL_DELAY, /* flow credit refill delay in usec */ TCA_FQ_ORPHAN_MASK, /* mask applied to orphaned skb hashes */ TCA_FQ_LOW_RATE_THRESHOLD, /* per packet delay under this rate */ __TCA_FQ_MAX }; #define TCA_FQ_MAX (__TCA_FQ_MAX - 1) struct tc_fq_qd_stats { __u64 gc_flows; __u64 highprio_packets; __u64 tcp_retrans; __u64 throttled; __u64 flows_plimit; __u64 pkts_too_long; __u64 allocation_errors; __s64 time_next_delayed_flow; __u32 flows; __u32 inactive_flows; __u32 throttled_flows; __u32 unthrottle_latency_ns; }; /* Heavy-Hitter Filter */ enum { TCA_HHF_UNSPEC, TCA_HHF_BACKLOG_LIMIT, TCA_HHF_QUANTUM, TCA_HHF_HH_FLOWS_LIMIT, TCA_HHF_RESET_TIMEOUT, TCA_HHF_ADMIT_BYTES, TCA_HHF_EVICT_TIMEOUT, TCA_HHF_NON_HH_WEIGHT, __TCA_HHF_MAX }; #define TCA_HHF_MAX (__TCA_HHF_MAX - 1) struct tc_hhf_xstats { __u32 drop_overlimit; /* number of times max qdisc packet limit * was hit */ __u32 hh_overlimit; /* number of times max heavy-hitters was hit */ __u32 hh_tot_count; /* number of captured heavy-hitters so far */ __u32 hh_cur_count; /* number of current heavy-hitters */ }; /* PIE */ enum { TCA_PIE_UNSPEC, TCA_PIE_TARGET, TCA_PIE_LIMIT, TCA_PIE_TUPDATE, TCA_PIE_ALPHA, TCA_PIE_BETA, TCA_PIE_ECN, TCA_PIE_BYTEMODE, __TCA_PIE_MAX }; #define TCA_PIE_MAX (__TCA_PIE_MAX - 1) struct tc_pie_xstats { __u32 prob; /* current probability */ __u32 delay; /* current delay in ms */ __u32 avg_dq_rate; /* current average dq_rate in bits/pie_time */ __u32 packets_in; /* total number of packets enqueued */ __u32 dropped; /* packets dropped due to pie_action */ __u32 overlimit; /* dropped due to lack of space in queue */ __u32 maxq; /* maximum queue size */ __u32 ecn_mark; /* packets marked with ecn*/ }; #endif
Save