Skip to content

Commit 653d6fd

Browse files
Alexander Aringdavem330
authored andcommitted
net: sched: sch: add extack for graft callback
This patch adds extack support for graft callback to prepare per-qdisc specific changes for extack. Cc: David Ahern <[email protected]> Acked-by: Jamal Hadi Salim <[email protected]> Signed-off-by: Alexander Aring <[email protected]> Signed-off-by: David S. Miller <[email protected]>
1 parent cbaacc4 commit 653d6fd

17 files changed

+23
-17
lines changed

include/net/sch_generic.h

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -151,7 +151,8 @@ struct Qdisc_class_ops {
151151
/* Child qdisc manipulation */
152152
struct netdev_queue * (*select_queue)(struct Qdisc *, struct tcmsg *);
153153
int (*graft)(struct Qdisc *, unsigned long cl,
154-
struct Qdisc *, struct Qdisc **);
154+
struct Qdisc *, struct Qdisc **,
155+
struct netlink_ext_ack *extack);
155156
struct Qdisc * (*leaf)(struct Qdisc *, unsigned long cl);
156157
void (*qlen_notify)(struct Qdisc *, unsigned long);
157158

net/sched/sch_api.c

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -977,7 +977,8 @@ static int qdisc_graft(struct net_device *dev, struct Qdisc *parent,
977977
unsigned long cl = cops->find(parent, classid);
978978

979979
if (cl) {
980-
err = cops->graft(parent, cl, new, &old);
980+
err = cops->graft(parent, cl, new, &old,
981+
extack);
981982
} else {
982983
NL_SET_ERR_MSG(extack, "Specified class not found");
983984
err = -ENOENT;

net/sched/sch_atm.c

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -82,7 +82,8 @@ static inline struct atm_flow_data *lookup_flow(struct Qdisc *sch, u32 classid)
8282
}
8383

8484
static int atm_tc_graft(struct Qdisc *sch, unsigned long arg,
85-
struct Qdisc *new, struct Qdisc **old)
85+
struct Qdisc *new, struct Qdisc **old,
86+
struct netlink_ext_ack *extack)
8687
{
8788
struct atm_qdisc_data *p = qdisc_priv(sch);
8889
struct atm_flow_data *flow = (struct atm_flow_data *)arg;

net/sched/sch_cbq.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1371,7 +1371,7 @@ cbq_dump_class_stats(struct Qdisc *sch, unsigned long arg,
13711371
}
13721372

13731373
static int cbq_graft(struct Qdisc *sch, unsigned long arg, struct Qdisc *new,
1374-
struct Qdisc **old)
1374+
struct Qdisc **old, struct netlink_ext_ack *extack)
13751375
{
13761376
struct cbq_class *cl = (struct cbq_class *)arg;
13771377

net/sched/sch_drr.c

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -203,7 +203,8 @@ static void drr_unbind_tcf(struct Qdisc *sch, unsigned long arg)
203203
}
204204

205205
static int drr_graft_class(struct Qdisc *sch, unsigned long arg,
206-
struct Qdisc *new, struct Qdisc **old)
206+
struct Qdisc *new, struct Qdisc **old,
207+
struct netlink_ext_ack *extack)
207208
{
208209
struct drr_class *cl = (struct drr_class *)arg;
209210

net/sched/sch_dsmark.c

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -61,7 +61,8 @@ static inline int dsmark_valid_index(struct dsmark_qdisc_data *p, u16 index)
6161
/* ------------------------- Class/flow operations ------------------------- */
6262

6363
static int dsmark_graft(struct Qdisc *sch, unsigned long arg,
64-
struct Qdisc *new, struct Qdisc **old)
64+
struct Qdisc *new, struct Qdisc **old,
65+
struct netlink_ext_ack *extack)
6566
{
6667
struct dsmark_qdisc_data *p = qdisc_priv(sch);
6768

net/sched/sch_hfsc.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1177,7 +1177,7 @@ hfsc_classify(struct sk_buff *skb, struct Qdisc *sch, int *qerr)
11771177

11781178
static int
11791179
hfsc_graft_class(struct Qdisc *sch, unsigned long arg, struct Qdisc *new,
1180-
struct Qdisc **old)
1180+
struct Qdisc **old, struct netlink_ext_ack *extack)
11811181
{
11821182
struct hfsc_class *cl = (struct hfsc_class *)arg;
11831183

net/sched/sch_htb.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1172,7 +1172,7 @@ htb_dump_class_stats(struct Qdisc *sch, unsigned long arg, struct gnet_dump *d)
11721172
}
11731173

11741174
static int htb_graft(struct Qdisc *sch, unsigned long arg, struct Qdisc *new,
1175-
struct Qdisc **old)
1175+
struct Qdisc **old, struct netlink_ext_ack *extack)
11761176
{
11771177
struct htb_class *cl = (struct htb_class *)arg;
11781178

net/sched/sch_mq.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -155,7 +155,7 @@ static struct netdev_queue *mq_select_queue(struct Qdisc *sch,
155155
}
156156

157157
static int mq_graft(struct Qdisc *sch, unsigned long cl, struct Qdisc *new,
158-
struct Qdisc **old)
158+
struct Qdisc **old, struct netlink_ext_ack *extack)
159159
{
160160
struct netdev_queue *dev_queue = mq_queue_get(sch, cl);
161161
struct net_device *dev = qdisc_dev(sch);

net/sched/sch_mqprio.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -320,7 +320,7 @@ static struct netdev_queue *mqprio_queue_get(struct Qdisc *sch,
320320
}
321321

322322
static int mqprio_graft(struct Qdisc *sch, unsigned long cl, struct Qdisc *new,
323-
struct Qdisc **old)
323+
struct Qdisc **old, struct netlink_ext_ack *extack)
324324
{
325325
struct net_device *dev = qdisc_dev(sch);
326326
struct netdev_queue *dev_queue = mqprio_queue_get(sch, cl);

net/sched/sch_multiq.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -283,7 +283,7 @@ static int multiq_dump(struct Qdisc *sch, struct sk_buff *skb)
283283
}
284284

285285
static int multiq_graft(struct Qdisc *sch, unsigned long arg, struct Qdisc *new,
286-
struct Qdisc **old)
286+
struct Qdisc **old, struct netlink_ext_ack *extack)
287287
{
288288
struct multiq_sched_data *q = qdisc_priv(sch);
289289
unsigned long band = arg - 1;

net/sched/sch_netem.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1159,7 +1159,7 @@ static int netem_dump_class(struct Qdisc *sch, unsigned long cl,
11591159
}
11601160

11611161
static int netem_graft(struct Qdisc *sch, unsigned long arg, struct Qdisc *new,
1162-
struct Qdisc **old)
1162+
struct Qdisc **old, struct netlink_ext_ack *extack)
11631163
{
11641164
struct netem_sched_data *q = qdisc_priv(sch);
11651165

net/sched/sch_prio.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -242,7 +242,7 @@ static int prio_dump(struct Qdisc *sch, struct sk_buff *skb)
242242
}
243243

244244
static int prio_graft(struct Qdisc *sch, unsigned long arg, struct Qdisc *new,
245-
struct Qdisc **old)
245+
struct Qdisc **old, struct netlink_ext_ack *extack)
246246
{
247247
struct prio_sched_data *q = qdisc_priv(sch);
248248
unsigned long band = arg - 1;

net/sched/sch_qfq.c

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -595,7 +595,8 @@ static void qfq_unbind_tcf(struct Qdisc *sch, unsigned long arg)
595595
}
596596

597597
static int qfq_graft_class(struct Qdisc *sch, unsigned long arg,
598-
struct Qdisc *new, struct Qdisc **old)
598+
struct Qdisc *new, struct Qdisc **old,
599+
struct netlink_ext_ack *extack)
599600
{
600601
struct qfq_class *cl = (struct qfq_class *)arg;
601602

net/sched/sch_red.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -382,7 +382,7 @@ static int red_dump_class(struct Qdisc *sch, unsigned long cl,
382382
}
383383

384384
static int red_graft(struct Qdisc *sch, unsigned long arg, struct Qdisc *new,
385-
struct Qdisc **old)
385+
struct Qdisc **old, struct netlink_ext_ack *extack)
386386
{
387387
struct red_sched_data *q = qdisc_priv(sch);
388388

net/sched/sch_sfb.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -617,7 +617,7 @@ static int sfb_dump_class(struct Qdisc *sch, unsigned long cl,
617617
}
618618

619619
static int sfb_graft(struct Qdisc *sch, unsigned long arg, struct Qdisc *new,
620-
struct Qdisc **old)
620+
struct Qdisc **old, struct netlink_ext_ack *extack)
621621
{
622622
struct sfb_sched_data *q = qdisc_priv(sch);
623623

net/sched/sch_tbf.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -496,7 +496,7 @@ static int tbf_dump_class(struct Qdisc *sch, unsigned long cl,
496496
}
497497

498498
static int tbf_graft(struct Qdisc *sch, unsigned long arg, struct Qdisc *new,
499-
struct Qdisc **old)
499+
struct Qdisc **old, struct netlink_ext_ack *extack)
500500
{
501501
struct tbf_sched_data *q = qdisc_priv(sch);
502502

0 commit comments

Comments
 (0)