提交 4a591834 编写于 作者: T Thomas Graf 提交者: Thomas Graf

[PKT_SCHED]: GRED: Remove initd flag

The case when the default VQ is not set up yet is already handled
in a less error prone way.
Signed-off-by: NThomas Graf <tgraf@suug.ch>
Signed-off-by: NArnaldo Carvalho de Melo <acme@mandriva.com>
上级 18e3fb84
...@@ -89,7 +89,6 @@ struct gred_sched ...@@ -89,7 +89,6 @@ struct gred_sched
unsigned long flags; unsigned long flags;
u32 DPs; u32 DPs;
u32 def; u32 def;
u8 initd;
}; };
static inline int gred_wred_mode(struct gred_sched *table) static inline int gred_wred_mode(struct gred_sched *table)
...@@ -166,14 +165,7 @@ gred_enqueue(struct sk_buff *skb, struct Qdisc* sch) ...@@ -166,14 +165,7 @@ gred_enqueue(struct sk_buff *skb, struct Qdisc* sch)
struct gred_sched *t= qdisc_priv(sch); struct gred_sched *t= qdisc_priv(sch);
unsigned long qavg = 0; unsigned long qavg = 0;
int i=0; int i=0;
u16 dp; u16 dp = tc_index_to_dp(skb);
if (!t->initd && skb_queue_len(&sch->q) < (sch->dev->tx_queue_len ? : 1)) {
D2PRINTK("NO GRED Queues setup yet! Enqueued anyway\n");
goto do_enqueue;
}
dp = tc_index_to_dp(skb);
if (dp >= t->DPs || (q = t->tab[dp]) == NULL) { if (dp >= t->DPs || (q = t->tab[dp]) == NULL) {
dp = t->def; dp = t->def;
...@@ -241,7 +233,6 @@ gred_enqueue(struct sk_buff *skb, struct Qdisc* sch) ...@@ -241,7 +233,6 @@ gred_enqueue(struct sk_buff *skb, struct Qdisc* sch)
if (q->backlog + skb->len <= q->limit) { if (q->backlog + skb->len <= q->limit) {
q->backlog += skb->len; q->backlog += skb->len;
do_enqueue:
return qdisc_enqueue_tail(skb, sch); return qdisc_enqueue_tail(skb, sch);
} }
...@@ -420,8 +411,6 @@ static inline int gred_change_table_def(struct Qdisc *sch, struct rtattr *dps) ...@@ -420,8 +411,6 @@ static inline int gred_change_table_def(struct Qdisc *sch, struct rtattr *dps)
} }
} }
table->initd = 0;
return 0; return 0;
} }
...@@ -509,8 +498,6 @@ static int gred_change(struct Qdisc *sch, struct rtattr *opt) ...@@ -509,8 +498,6 @@ static int gred_change(struct Qdisc *sch, struct rtattr *opt)
goto errout_locked; goto errout_locked;
} }
table->initd = 1;
if (gred_rio_mode(table)) { if (gred_rio_mode(table)) {
gred_disable_wred_mode(table); gred_disable_wred_mode(table);
if (gred_wred_mode_check(sch)) if (gred_wred_mode_check(sch))
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册