summaryrefslogtreecommitdiffstats
path: root/net/sched/sch_gred.c
diff options
context:
space:
mode:
authorThomas Graf <tgraf@suug.ch>2005-11-05 21:14:26 +0100
committerThomas Graf <tgr@axs.localdomain>2005-11-05 22:02:28 +0100
commitd8f64e19605d6ce40bc560e7bc919e2e02a79c1b (patch)
tree3e0008122a6b775afba871ed6f5c429e20ec43d7 /net/sched/sch_gred.c
parent1e4dfaf9b99a8b652e8421936fd5fe2459da8265 (diff)
downloadlinux-d8f64e19605d6ce40bc560e7bc919e2e02a79c1b.tar.gz
linux-d8f64e19605d6ce40bc560e7bc919e2e02a79c1b.tar.bz2
linux-d8f64e19605d6ce40bc560e7bc919e2e02a79c1b.zip
[PKT_SCHED]: GRED: Fix restart of idle period in WRED mode upon dequeue and drop
Signed-off-by: Thomas Graf <tgraf@suug.ch> Signed-off-by: Arnaldo Carvalho de Melo <acme@mandriva.com>
Diffstat (limited to 'net/sched/sch_gred.c')
-rw-r--r--net/sched/sch_gred.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/net/sched/sch_gred.c b/net/sched/sch_gred.c
index 1fb34be32f7c..69f0fd45d4c3 100644
--- a/net/sched/sch_gred.c
+++ b/net/sched/sch_gred.c
@@ -267,7 +267,7 @@ static struct sk_buff *gred_dequeue(struct Qdisc* sch)
return skb;
}
- if (gred_wred_mode(t))
+ if (gred_wred_mode(t) && !red_is_idling(&t->wred_set))
red_start_of_idle_period(&t->wred_set);
return NULL;
@@ -301,7 +301,7 @@ static unsigned int gred_drop(struct Qdisc* sch)
return len;
}
- if (gred_wred_mode(t))
+ if (gred_wred_mode(t) && !red_is_idling(&t->wred_set))
red_start_of_idle_period(&t->wred_set);
return 0;