summaryrefslogtreecommitdiffstats
path: root/include/linux/pkt_sched.h
diff options
context:
space:
mode:
authorRalf Baechle <ralf@linux-mips.org>1997-12-16 06:06:25 +0000
committerRalf Baechle <ralf@linux-mips.org>1997-12-16 06:06:25 +0000
commitaa944aa3453e47706685bc562711a9e87375941e (patch)
tree8fb37a65f205a90412917ca2b91c429263ef1790 /include/linux/pkt_sched.h
parent967c65a99059fd459b956c1588ce0ba227912c4e (diff)
Merge with Linux 2.1.72, part 2.
The new signal code with exception of the code for the rt signals. The definitions in <asm/siginfo.h> and <asm/ucontext.h> are currently just stolen from the Alpha and will need to be overhauled.
Diffstat (limited to 'include/linux/pkt_sched.h')
-rw-r--r--include/linux/pkt_sched.h93
1 files changed, 93 insertions, 0 deletions
diff --git a/include/linux/pkt_sched.h b/include/linux/pkt_sched.h
new file mode 100644
index 000000000..b72ca41c1
--- /dev/null
+++ b/include/linux/pkt_sched.h
@@ -0,0 +1,93 @@
+#ifndef __LINUX_PKT_SCHED_H
+#define __LINUX_PKT_SCHED_H
+
+#define PSCHED_TC_INIT 1
+#define PSCHED_TC_DESTROY 2
+#define PSCHED_TC_ATTACH 3
+#define PSCHED_TC_DETACH 4
+
+
+/* "Logical" priority bands, not depending of concrete packet scheduler.
+ Every scheduler will map them to real traffic classes, if it have
+ no more precise machanism.
+ */
+
+#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
+
+
+struct pschedctl
+{
+ int command;
+ int handle;
+ int child;
+ int ifindex;
+ char id[IFNAMSIZ];
+ int arglen;
+ char args[0];
+};
+
+/* CBQ section */
+
+#define CBQ_MAXPRIO 8
+#define CBQ_MAXLEVEL 8
+
+/* CSZ section */
+
+struct cszctl
+{
+ int flow_id;
+ int handle;
+ unsigned long rate;
+ unsigned long max_bytes;
+ unsigned long depth;
+ unsigned long L_tab[256];
+};
+
+struct cszinitctl
+{
+ int flows;
+ unsigned cell_log;
+};
+
+/* TBF section */
+
+struct tbfctl
+{
+ unsigned cell_log;
+ unsigned long bytes;
+ unsigned long depth;
+ unsigned long L_tab[256];
+};
+
+/* SFQ section */
+
+struct sfqctl
+{
+ unsigned quantum;
+ unsigned depth;
+ unsigned divisor;
+ unsigned flows;
+};
+
+/* RED section */
+
+struct redctl
+{
+ unsigned qmaxbytes; /* HARD maximal queue length */
+ unsigned qth_min; /* Min average length threshold: A scaled */
+ unsigned qth_max; /* Max average length threshold: A scaled */
+ char Alog; /* Point position in average lengths */
+ char Wlog; /* log(W) */
+ char Rlog; /* random number bits */
+ char C1log; /* log(1/C1) */
+ char Slog;
+ char Stab[256];
+};
+
+
+#endif