From f6e8f34e28a36c25693c2ab498909b15d6add6c7 Mon Sep 17 00:00:00 2001 From: "David S. Miller" Date: Sun, 17 Aug 2008 23:55:36 -0700 Subject: [PATCH] --- yaml --- r: 108820 b: refs/heads/master c: 69747650c814a8a79fef412c7416adf823293a3e h: refs/heads/master v: v3 --- [refs] | 2 +- trunk/net/sched/sch_htb.c | 4 ++-- trunk/net/sched/sch_tbf.c | 11 ++--------- 3 files changed, 5 insertions(+), 12 deletions(-) diff --git a/[refs] b/[refs] index 0bbdddf56ce4..36422342d414 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 96d203169d1d851ac1468f7d4459a09581be364c +refs/heads/master: 69747650c814a8a79fef412c7416adf823293a3e diff --git a/trunk/net/sched/sch_htb.c b/trunk/net/sched/sch_htb.c index 6febd245e62b..0df0df202ed0 100644 --- a/trunk/net/sched/sch_htb.c +++ b/trunk/net/sched/sch_htb.c @@ -577,7 +577,7 @@ static int htb_enqueue(struct sk_buff *skb, struct Qdisc *sch) sch->qstats.drops++; cl->qstats.drops++; } - return NET_XMIT_DROP; + return ret; } else { cl->bstats.packets += skb_is_gso(skb)?skb_shinfo(skb)->gso_segs:1; @@ -623,7 +623,7 @@ static int htb_requeue(struct sk_buff *skb, struct Qdisc *sch) sch->qstats.drops++; cl->qstats.drops++; } - return NET_XMIT_DROP; + return ret; } else htb_activate(q, cl); diff --git a/trunk/net/sched/sch_tbf.c b/trunk/net/sched/sch_tbf.c index 7d3b7ff3bf07..94c61598b86a 100644 --- a/trunk/net/sched/sch_tbf.c +++ b/trunk/net/sched/sch_tbf.c @@ -123,15 +123,8 @@ static int tbf_enqueue(struct sk_buff *skb, struct Qdisc* sch) struct tbf_sched_data *q = qdisc_priv(sch); int ret; - if (qdisc_pkt_len(skb) > q->max_size) { - sch->qstats.drops++; -#ifdef CONFIG_NET_CLS_ACT - if (sch->reshape_fail == NULL || sch->reshape_fail(skb, sch)) -#endif - kfree_skb(skb); - - return NET_XMIT_DROP; - } + if (qdisc_pkt_len(skb) > q->max_size) + return qdisc_reshape_fail(skb, sch); ret = qdisc_enqueue(skb, q->qdisc); if (ret != 0) {