diff options
author | 2017-12-20 12:35:21 -0500 | |
---|---|---|
committer | 2017-12-21 12:32:51 -0500 | |
commit | a38a98821c939e67e5906bddbed1d15af5ca860d (patch) | |
tree | 9f6274490d3b996c5bbdd6cf6505f76f79b0920d /net/sched/sch_drr.c | |
parent | net: sch: api: add extack support in qdisc_alloc (diff) | |
download | linux-a38a98821c939e67e5906bddbed1d15af5ca860d.tar.gz linux-a38a98821c939e67e5906bddbed1d15af5ca860d.tar.bz2 linux-a38a98821c939e67e5906bddbed1d15af5ca860d.zip |
net: sch: api: add extack support in qdisc_create_dflt
This patch adds extack support for the function qdisc_create_dflt which is
a common used function in the tc subsystem. Callers which are interested
in the receiving error can assign extack to get a more detailed
information why qdisc_create_dflt failed. The function qdisc_create_dflt
will also call an init callback which can fail by any per-qdisc specific
handling.
Cc: David Ahern <dsahern@gmail.com>
Acked-by: Jamal Hadi Salim <jhs@mojatatu.com>
Signed-off-by: Alexander Aring <aring@mojatatu.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'net/sched/sch_drr.c')
-rw-r--r-- | net/sched/sch_drr.c | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/net/sched/sch_drr.c b/net/sched/sch_drr.c index 9dfff065e27d..bf638ce57c50 100644 --- a/net/sched/sch_drr.c +++ b/net/sched/sch_drr.c @@ -114,7 +114,8 @@ static int drr_change_class(struct Qdisc *sch, u32 classid, u32 parentid, cl->common.classid = classid; cl->quantum = quantum; cl->qdisc = qdisc_create_dflt(sch->dev_queue, - &pfifo_qdisc_ops, classid); + &pfifo_qdisc_ops, classid, + NULL); if (cl->qdisc == NULL) cl->qdisc = &noop_qdisc; else @@ -209,8 +210,8 @@ static int drr_graft_class(struct Qdisc *sch, unsigned long arg, struct drr_class *cl = (struct drr_class *)arg; if (new == NULL) { - new = qdisc_create_dflt(sch->dev_queue, - &pfifo_qdisc_ops, cl->common.classid); + new = qdisc_create_dflt(sch->dev_queue, &pfifo_qdisc_ops, + cl->common.classid, NULL); if (new == NULL) new = &noop_qdisc; } |