summaryrefslogtreecommitdiff
path: root/include/linux
diff options
context:
space:
mode:
authorPatrick McHardy <kaber@trash.net>2004-01-28 20:15:03 -0800
committerPatrick McHardy <kaber@trash.net>2004-01-28 20:15:03 -0800
commit6e22ce74ea0666a869ce82f418ce78b5be089fb4 (patch)
tree8142b4f40582f076ed5854e20661baf0307554ea /include/linux
parent53608418271c9192bd86743a2c67660e11788a92 (diff)
[NET_SCHED]: Add HFSC packet scheduler.
Diffstat (limited to 'include/linux')
-rw-r--r--include/linux/pkt_sched.h31
1 files changed, 31 insertions, 0 deletions
diff --git a/include/linux/pkt_sched.h b/include/linux/pkt_sched.h
index d97edad0effc..8ae0e141cb05 100644
--- a/include/linux/pkt_sched.h
+++ b/include/linux/pkt_sched.h
@@ -290,6 +290,37 @@ struct tc_htb_xstats
__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 = TCA_HFSC_USC
+};
+
/* CBQ section */
#define TC_CBQ_MAXPRIO 8