diff options
author | Thomas Graf <tgraf@suug.ch> | 2005-11-05 21:14:18 +0100 |
---|---|---|
committer | Thomas Graf <tgr@axs.localdomain> | 2005-11-05 22:02:27 +0100 |
commit | c3b553cdaf50ce915bcd995fa8ec2905f227de64 (patch) | |
tree | b85ff8cb0b93499259c59f9d5c57f31ab53b937b /net/sched/sch_gred.c | |
parent | 301d063c2915e8307e3d128245d8a393ad776539 (diff) | |
download | linux-c3b553cdaf50ce915bcd995fa8ec2905f227de64.tar.gz linux-c3b553cdaf50ce915bcd995fa8ec2905f227de64.tar.bz2 linux-c3b553cdaf50ce915bcd995fa8ec2905f227de64.zip |
[PKT_SCHED]: GRED: Report congestion related drops as NET_XMIT_CN
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.c | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/net/sched/sch_gred.c b/net/sched/sch_gred.c index 50f184cd7f1f..f7c6c0359ce5 100644 --- a/net/sched/sch_gred.c +++ b/net/sched/sch_gred.c @@ -219,12 +219,12 @@ gred_enqueue(struct sk_buff *skb, struct Qdisc* sch) case RED_PROB_MARK: sch->qstats.overlimits++; q->stats.prob_drop++; - goto drop; + goto congestion_drop; case RED_HARD_MARK: sch->qstats.overlimits++; q->stats.forced_drop++; - goto drop; + goto congestion_drop; } if (q->backlog + skb->len <= q->limit) { @@ -242,6 +242,11 @@ drop: kfree_skb(skb); sch->qstats.drops++; return NET_XMIT_DROP; + +congestion_drop: + kfree_skb(skb); + sch->qstats.drops++; + return NET_XMIT_CN; } static int |