net-sched: fix bfifo default limit
authorPatrick McHardy <kaber@trash.net>
Wed, 6 May 2009 23:45:07 +0000 (16:45 -0700)
committerDavid S. Miller <davem@davemloft.net>
Wed, 6 May 2009 23:45:07 +0000 (16:45 -0700)
When no limit is given, the bfifo uses a default of tx_queue_len * mtu.
Packets handled by qdiscs include the link layer header, so this should
be taken into account, similar to what other qdiscs do.

Signed-off-by: Patrick McHardy <kaber@trash.net>
Signed-off-by: David S. Miller <davem@davemloft.net>
net/sched/sch_fifo.c

index 92cfc9d..69188e8 100644 (file)
@@ -51,7 +51,7 @@ static int fifo_init(struct Qdisc *sch, struct nlattr *opt)
                u32 limit = qdisc_dev(sch)->tx_queue_len ? : 1;
 
                if (sch->ops == &bfifo_qdisc_ops)
-                       limit *= qdisc_dev(sch)->mtu;
+                       limit *= psched_mtu(qdisc_dev(sch));
 
                q->limit = limit;
        } else {