Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
L
linux
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
Analytics
Analytics
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Commits
Issue Boards
Open sidebar
nexedi
linux
Commits
821b5162
Commit
821b5162
authored
Jul 18, 2002
by
Alexey Kuznetsov
Committed by
David S. Miller
Jul 18, 2002
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
PKT SCHED: Add HTB scheduler by Martin Devera.
parent
7b041aa0
Changes
6
Hide whitespace changes
Inline
Side-by-side
Showing
6 changed files
with
66 additions
and
0 deletions
+66
-0
CREDITS
CREDITS
+5
-0
include/linux/pkt_sched.h
include/linux/pkt_sched.h
+42
-0
net/sched/Config.help
net/sched/Config.help
+14
-0
net/sched/Config.in
net/sched/Config.in
+1
-0
net/sched/Makefile
net/sched/Makefile
+1
-0
net/sched/sch_api.c
net/sched/sch_api.c
+3
-0
No files found.
CREDITS
View file @
821b5162
...
@@ -713,6 +713,11 @@ S: 3000 FORE Drive
...
@@ -713,6 +713,11 @@ S: 3000 FORE Drive
S: Warrendale, Pennsylvania 15086
S: Warrendale, Pennsylvania 15086
S: USA
S: USA
N: Martin Devera
E: devik@cdi.cz
W: http://luxik.cdi.cz/~devik/qos/
D: HTB qdisc and random networking hacks
N: Alex deVries
N: Alex deVries
E: adevries@thepuffingroup.com
E: adevries@thepuffingroup.com
D: Various SGI parts, bits of HAL2 and Newport, PA-RISC Linux.
D: Various SGI parts, bits of HAL2 and Newport, PA-RISC Linux.
...
...
include/linux/pkt_sched.h
View file @
821b5162
...
@@ -248,6 +248,48 @@ struct tc_gred_sopt
...
@@ -248,6 +248,48 @@ struct tc_gred_sopt
__u8
grio
;
__u8
grio
;
};
};
/* 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 shapped packets */
};
enum
{
TCA_HTB_UNSPEC
,
TCA_HTB_PARMS
,
TCA_HTB_INIT
,
TCA_HTB_CTAB
,
TCA_HTB_RTAB
,
};
struct
tc_htb_xstats
{
__u32
lends
;
__u32
borrows
;
__u32
giants
;
/* too big packets (rate will not be accurate) */
__u32
tokens
;
__u32
ctokens
;
};
/* CBQ section */
/* CBQ section */
#define TC_CBQ_MAXPRIO 8
#define TC_CBQ_MAXPRIO 8
...
...
net/sched/Config.help
View file @
821b5162
...
@@ -20,6 +20,20 @@ CONFIG_NET_SCH_CBQ
...
@@ -20,6 +20,20 @@ CONFIG_NET_SCH_CBQ
whenever you want). If you want to compile it as a module, say M
whenever you want). If you want to compile it as a module, say M
here and read <file:Documentation/modules.txt>.
here and read <file:Documentation/modules.txt>.
CONFIG_NET_SCH_HTB
Say Y here if you want to use the Hierarchical Token Buckets (HTB)
packet scheduling algorithm for some of your network devices. See
URL http://luxik.cdi.cz/~devik/qos/htb/ for complete manual and
in-depth articles.
HTB is very similar to the CBQ regarding its goals however is has
different properties and different algorithm.
This code is also available as a module called sch_htb.o ( = code
which can be inserted in and removed from the running kernel
whenever you want). If you want to compile it as a module, say M
here and read <file:Documentation/modules.txt>.
CONFIG_NET_SCH_CSZ
CONFIG_NET_SCH_CSZ
Say Y here if you want to use the Clark-Shenker-Zhang (CSZ) packet
Say Y here if you want to use the Clark-Shenker-Zhang (CSZ) packet
scheduling algorithm for some of your network devices. At the
scheduling algorithm for some of your network devices. At the
...
...
net/sched/Config.in
View file @
821b5162
...
@@ -2,6 +2,7 @@
...
@@ -2,6 +2,7 @@
# Traffic control configuration.
# Traffic control configuration.
#
#
tristate ' CBQ packet scheduler' CONFIG_NET_SCH_CBQ
tristate ' CBQ packet scheduler' CONFIG_NET_SCH_CBQ
tristate ' HTB packet scheduler' CONFIG_NET_SCH_HTB
tristate ' CSZ packet scheduler' CONFIG_NET_SCH_CSZ
tristate ' CSZ packet scheduler' CONFIG_NET_SCH_CSZ
#tristate ' H-PFQ packet scheduler' CONFIG_NET_SCH_HPFQ
#tristate ' H-PFQ packet scheduler' CONFIG_NET_SCH_HPFQ
#tristate ' H-FSC packet scheduler' CONFIG_NET_SCH_HFCS
#tristate ' H-FSC packet scheduler' CONFIG_NET_SCH_HFCS
...
...
net/sched/Makefile
View file @
821b5162
...
@@ -13,6 +13,7 @@ obj-$(CONFIG_NET_SCH_CBQ) += sch_cbq.o
...
@@ -13,6 +13,7 @@ obj-$(CONFIG_NET_SCH_CBQ) += sch_cbq.o
obj-$(CONFIG_NET_SCH_CSZ)
+=
sch_csz.o
obj-$(CONFIG_NET_SCH_CSZ)
+=
sch_csz.o
obj-$(CONFIG_NET_SCH_HPFQ)
+=
sch_hpfq.o
obj-$(CONFIG_NET_SCH_HPFQ)
+=
sch_hpfq.o
obj-$(CONFIG_NET_SCH_HFSC)
+=
sch_hfsc.o
obj-$(CONFIG_NET_SCH_HFSC)
+=
sch_hfsc.o
obj-$(CONFIG_NET_SCH_HTB)
+=
sch_htb.o
obj-$(CONFIG_NET_SCH_SFQ)
+=
sch_sfq.o
obj-$(CONFIG_NET_SCH_SFQ)
+=
sch_sfq.o
obj-$(CONFIG_NET_SCH_RED)
+=
sch_red.o
obj-$(CONFIG_NET_SCH_RED)
+=
sch_red.o
obj-$(CONFIG_NET_SCH_TBF)
+=
sch_tbf.o
obj-$(CONFIG_NET_SCH_TBF)
+=
sch_tbf.o
...
...
net/sched/sch_api.c
View file @
821b5162
...
@@ -1205,6 +1205,9 @@ int __init pktsched_init(void)
...
@@ -1205,6 +1205,9 @@ int __init pktsched_init(void)
#ifdef CONFIG_NET_SCH_CBQ
#ifdef CONFIG_NET_SCH_CBQ
INIT_QDISC
(
cbq
);
INIT_QDISC
(
cbq
);
#endif
#endif
#ifdef CONFIG_NET_SCH_HTB
INIT_QDISC
(
htb
);
#endif
#ifdef CONFIG_NET_SCH_CSZ
#ifdef CONFIG_NET_SCH_CSZ
INIT_QDISC
(
csz
);
INIT_QDISC
(
csz
);
#endif
#endif
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment