Skip to content

Commit 2d5f6a8

Browse files
peilin-yePaolo Abeni
authored andcommitted
net/sched: Refactor qdisc_graft() for ingress and clsact Qdiscs
Grafting ingress and clsact Qdiscs does not need a for-loop in qdisc_graft(). Refactor it. No functional changes intended. Tested-by: Pedro Tammela <pctammela@mojatatu.com> Acked-by: Jamal Hadi Salim <jhs@mojatatu.com> Reviewed-by: Jamal Hadi Salim <jhs@mojatatu.com> Reviewed-by: Vlad Buslov <vladbu@nvidia.com> Signed-off-by: Peilin Ye <peilin.ye@bytedance.com> Signed-off-by: Paolo Abeni <pabeni@redhat.com>
1 parent 41f2c7c commit 2d5f6a8

1 file changed

Lines changed: 10 additions & 10 deletions

File tree

net/sched/sch_api.c

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1079,12 +1079,12 @@ static int qdisc_graft(struct net_device *dev, struct Qdisc *parent,
10791079

10801080
if (parent == NULL) {
10811081
unsigned int i, num_q, ingress;
1082+
struct netdev_queue *dev_queue;
10821083

10831084
ingress = 0;
10841085
num_q = dev->num_tx_queues;
10851086
if ((q && q->flags & TCQ_F_INGRESS) ||
10861087
(new && new->flags & TCQ_F_INGRESS)) {
1087-
num_q = 1;
10881088
ingress = 1;
10891089
if (!dev_ingress_queue(dev)) {
10901090
NL_SET_ERR_MSG(extack, "Device does not have an ingress queue");
@@ -1100,18 +1100,18 @@ static int qdisc_graft(struct net_device *dev, struct Qdisc *parent,
11001100
if (new && new->ops->attach && !ingress)
11011101
goto skip;
11021102

1103-
for (i = 0; i < num_q; i++) {
1104-
struct netdev_queue *dev_queue = dev_ingress_queue(dev);
1105-
1106-
if (!ingress)
1103+
if (!ingress) {
1104+
for (i = 0; i < num_q; i++) {
11071105
dev_queue = netdev_get_tx_queue(dev, i);
1106+
old = dev_graft_qdisc(dev_queue, new);
11081107

1109-
old = dev_graft_qdisc(dev_queue, new);
1110-
if (new && i > 0)
1111-
qdisc_refcount_inc(new);
1112-
1113-
if (!ingress)
1108+
if (new && i > 0)
1109+
qdisc_refcount_inc(new);
11141110
qdisc_put(old);
1111+
}
1112+
} else {
1113+
dev_queue = dev_ingress_queue(dev);
1114+
old = dev_graft_qdisc(dev_queue, new);
11151115
}
11161116

11171117
skip:

0 commit comments

Comments
 (0)