summaryrefslogtreecommitdiffstats
path: root/net/sched/sch_api.c
diff options
context:
space:
mode:
authorHagen Paul Pfeifer <hagen@jauu.net>2010-01-24 12:30:59 +0000
committerDavid S. Miller <davem@davemloft.net>2010-01-28 21:27:00 -0800
commit57dbb2d83d100ea601c54fe129bfde0678db5dee (patch)
tree40305bcd986692f512b1b5e848c0b0f612968c6a /net/sched/sch_api.c
parentd74340d31bf1dbeb00acadddd8697666528a7846 (diff)
downloadlinux-57dbb2d83d100ea601c54fe129bfde0678db5dee.tar.gz
linux-57dbb2d83d100ea601c54fe129bfde0678db5dee.tar.bz2
linux-57dbb2d83d100ea601c54fe129bfde0678db5dee.zip
sched: add head drop fifo queue
This adds an additional queuing strategy, called pfifo_head_drop, to remove the oldest skb in the case of an overflow within the queue - the head element - instead of the last skb (tail). To remove the oldest skb in congested situations is useful for sensor network environments where newer packets reflect the superior information. Reviewed-by: Florian Westphal <fw@strlen.de> Acked-by: Patrick McHardy <kaber@trash.net> Signed-off-by: Hagen Paul Pfeifer <hagen@jauu.net> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'net/sched/sch_api.c')
-rw-r--r--net/sched/sch_api.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/net/sched/sch_api.c b/net/sched/sch_api.c
index 75fd1c672c61..6cd491013b50 100644
--- a/net/sched/sch_api.c
+++ b/net/sched/sch_api.c
@@ -1707,6 +1707,7 @@ static int __init pktsched_init(void)
{
register_qdisc(&pfifo_qdisc_ops);
register_qdisc(&bfifo_qdisc_ops);
+ register_qdisc(&pfifo_head_drop_qdisc_ops);
register_qdisc(&mq_qdisc_ops);
proc_net_fops_create(&init_net, "psched", 0, &psched_fops);