[NET_SCHED]: Set parent classid in default qdiscs
Set parent classids in default qdiscs to allow walking up the tree from outside the qdiscs. This is needed by the next patch. Signed-off-by: Patrick McHardy <kaber@trash.net> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
committed by
David S. Miller
parent
814a175e7b
commit
9f9afec482
@@ -450,13 +450,15 @@ errout:
|
||||
return ERR_PTR(-err);
|
||||
}
|
||||
|
||||
struct Qdisc * qdisc_create_dflt(struct net_device *dev, struct Qdisc_ops *ops)
|
||||
struct Qdisc * qdisc_create_dflt(struct net_device *dev, struct Qdisc_ops *ops,
|
||||
unsigned int parentid)
|
||||
{
|
||||
struct Qdisc *sch;
|
||||
|
||||
sch = qdisc_alloc(dev, ops);
|
||||
if (IS_ERR(sch))
|
||||
goto errout;
|
||||
sch->parent = parentid;
|
||||
|
||||
if (!ops->init || ops->init(sch, NULL) == 0)
|
||||
return sch;
|
||||
@@ -520,7 +522,8 @@ void dev_activate(struct net_device *dev)
|
||||
if (dev->qdisc_sleeping == &noop_qdisc) {
|
||||
struct Qdisc *qdisc;
|
||||
if (dev->tx_queue_len) {
|
||||
qdisc = qdisc_create_dflt(dev, &pfifo_fast_ops);
|
||||
qdisc = qdisc_create_dflt(dev, &pfifo_fast_ops,
|
||||
TC_H_ROOT);
|
||||
if (qdisc == NULL) {
|
||||
printk(KERN_INFO "%s: activation failed\n", dev->name);
|
||||
return;
|
||||
|
Reference in New Issue
Block a user