浏览代码

[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>
Thomas Graf 19 年之前
父节点
当前提交
c3b553cdaf
共有 1 个文件被更改,包括 7 次插入2 次删除
  1. 7 2
      net/sched/sch_gred.c

+ 7 - 2
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