diff options
author | stephen hemminger <shemminger@vyatta.com> | 2011-02-02 10:21:10 -0500 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2011-02-02 23:52:42 -0500 |
commit | 45e144339ac59971eb44be32e1282760aaabe861 (patch) | |
tree | b9d93acb2c1bb505d3b6facc426d307c59dc63a4 /net/sched/Makefile | |
parent | 119b3d386985fcd477b3131190c041516a73f83a (diff) |
sched: CHOKe flow scheduler
CHOKe ("CHOose and Kill" or "CHOose and Keep") is an alternative
packet scheduler based on the Random Exponential Drop (RED) algorithm.
The core idea is:
For every packet arrival:
Calculate Qave
if (Qave < minth)
Queue the new packet
else
Select randomly a packet from the queue
if (both packets from same flow)
then Drop both the packets
else if (Qave > maxth)
Drop packet
else
Admit packet with proability p (same as RED)
See also:
Rong Pan, Balaji Prabhakar, Konstantinos Psounis, "CHOKe: a stateless active
queue management scheme for approximating fair bandwidth allocation",
Proceeding of INFOCOM'2000, March 2000.
Help from:
Eric Dumazet <eric.dumazet@gmail.com>
Patrick McHardy <kaber@trash.net>
Signed-off-by: Stephen Hemminger <shemminger@vyatta.com>
Signed-off-by: Eric Dumazet <eric.dumazet@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'net/sched/Makefile')
-rw-r--r-- | net/sched/Makefile | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/net/sched/Makefile b/net/sched/Makefile index 26ce681a2c60..06c6cdfd1948 100644 --- a/net/sched/Makefile +++ b/net/sched/Makefile | |||
@@ -33,6 +33,8 @@ obj-$(CONFIG_NET_SCH_ATM) += sch_atm.o | |||
33 | obj-$(CONFIG_NET_SCH_NETEM) += sch_netem.o | 33 | obj-$(CONFIG_NET_SCH_NETEM) += sch_netem.o |
34 | obj-$(CONFIG_NET_SCH_DRR) += sch_drr.o | 34 | obj-$(CONFIG_NET_SCH_DRR) += sch_drr.o |
35 | obj-$(CONFIG_NET_SCH_MQPRIO) += sch_mqprio.o | 35 | obj-$(CONFIG_NET_SCH_MQPRIO) += sch_mqprio.o |
36 | obj-$(CONFIG_NET_SCH_CHOKE) += sch_choke.o | ||
37 | |||
36 | obj-$(CONFIG_NET_CLS_U32) += cls_u32.o | 38 | obj-$(CONFIG_NET_CLS_U32) += cls_u32.o |
37 | obj-$(CONFIG_NET_CLS_ROUTE4) += cls_route.o | 39 | obj-$(CONFIG_NET_CLS_ROUTE4) += cls_route.o |
38 | obj-$(CONFIG_NET_CLS_FW) += cls_fw.o | 40 | obj-$(CONFIG_NET_CLS_FW) += cls_fw.o |