[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
@@ -1138,7 +1138,7 @@ hfsc_change_class(struct Qdisc *sch, u32 classid, u32 parentid,
|
||||
cl->classid = classid;
|
||||
cl->sched = q;
|
||||
cl->cl_parent = parent;
|
||||
cl->qdisc = qdisc_create_dflt(sch->dev, &pfifo_qdisc_ops);
|
||||
cl->qdisc = qdisc_create_dflt(sch->dev, &pfifo_qdisc_ops, classid);
|
||||
if (cl->qdisc == NULL)
|
||||
cl->qdisc = &noop_qdisc;
|
||||
cl->stats_lock = &sch->dev->queue_lock;
|
||||
@@ -1271,7 +1271,8 @@ hfsc_graft_class(struct Qdisc *sch, unsigned long arg, struct Qdisc *new,
|
||||
if (cl->level > 0)
|
||||
return -EINVAL;
|
||||
if (new == NULL) {
|
||||
new = qdisc_create_dflt(sch->dev, &pfifo_qdisc_ops);
|
||||
new = qdisc_create_dflt(sch->dev, &pfifo_qdisc_ops,
|
||||
cl->classid);
|
||||
if (new == NULL)
|
||||
new = &noop_qdisc;
|
||||
}
|
||||
@@ -1514,7 +1515,8 @@ hfsc_init_qdisc(struct Qdisc *sch, struct rtattr *opt)
|
||||
q->root.refcnt = 1;
|
||||
q->root.classid = sch->handle;
|
||||
q->root.sched = q;
|
||||
q->root.qdisc = qdisc_create_dflt(sch->dev, &pfifo_qdisc_ops);
|
||||
q->root.qdisc = qdisc_create_dflt(sch->dev, &pfifo_qdisc_ops,
|
||||
sch->handle);
|
||||
if (q->root.qdisc == NULL)
|
||||
q->root.qdisc = &noop_qdisc;
|
||||
q->root.stats_lock = &sch->dev->queue_lock;
|
||||
|
Reference in New Issue
Block a user