summaryrefslogtreecommitdiffstats
path: root/libc/kernel/common/linux/pkt_sched.h
diff options
context:
space:
mode:
Diffstat (limited to 'libc/kernel/common/linux/pkt_sched.h')
-rw-r--r--libc/kernel/common/linux/pkt_sched.h52
1 files changed, 50 insertions, 2 deletions
diff --git a/libc/kernel/common/linux/pkt_sched.h b/libc/kernel/common/linux/pkt_sched.h
index 1e15d83..0b2966a 100644
--- a/libc/kernel/common/linux/pkt_sched.h
+++ b/libc/kernel/common/linux/pkt_sched.h
@@ -12,6 +12,8 @@
#ifndef __LINUX_PKT_SCHED_H
#define __LINUX_PKT_SCHED_H
+#include <linux/types.h>
+
#define TC_PRIO_BESTEFFORT 0
#define TC_PRIO_FILLER 1
#define TC_PRIO_BULK 2
@@ -53,12 +55,34 @@ struct tc_ratespec
{
unsigned char cell_log;
unsigned char __reserved;
- unsigned short feature;
- short addend;
+ 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)
+
struct tc_fifo_qopt
{
__u32 limit;
@@ -73,6 +97,11 @@ struct tc_prio_qopt
__u8 priomap[TC_PRIO_MAX+1];
};
+struct tc_multiq_qopt {
+ __u16 bands;
+ __u16 max_bands;
+};
+
struct tc_tbf_qopt
{
struct tc_ratespec rate;
@@ -102,6 +131,11 @@ struct tc_sfq_qopt
unsigned flows;
};
+struct tc_sfq_xstats
+{
+ __s32 allot;
+};
+
enum
{
TCA_RED_UNSPEC,
@@ -402,4 +436,18 @@ struct tc_netem_corrupt
#define NETEM_DIST_SCALE 8192
+enum
+{
+ TCA_DRR_UNSPEC,
+ TCA_DRR_QUANTUM,
+ __TCA_DRR_MAX
+};
+
+#define TCA_DRR_MAX (__TCA_DRR_MAX - 1)
+
+struct tc_drr_stats
+{
+ __u32 deficit;
+};
+
#endif