diff options
author | Vladimir Oltean <vladimir.oltean@nxp.com> | 2023-02-04 14:53:02 +0100 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2023-02-06 11:06:44 +0100 |
commit | 9dd6ad674cc74a62cc85de6e02cb29d47e9c4eb5 (patch) | |
tree | e193209fedbbf8e51baf1dbf7f9165c74a0cc61e /net/sched/sch_taprio.c | |
parent | net/sched: taprio: centralize mqprio qopt validation (diff) | |
download | linux-9dd6ad674cc74a62cc85de6e02cb29d47e9c4eb5.tar.xz linux-9dd6ad674cc74a62cc85de6e02cb29d47e9c4eb5.zip |
net/sched: refactor mqprio qopt reconstruction to a library function
The taprio qdisc will need to reconstruct a struct tc_mqprio_qopt from
netdev settings once more in a future patch, but this code was already
written twice, once in taprio and once in mqprio.
Refactor the code to a helper in the common mqprio library.
Signed-off-by: Vladimir Oltean <vladimir.oltean@nxp.com>
Reviewed-by: Simon Horman <simon.horman@corigine.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'net/sched/sch_taprio.c')
-rw-r--r-- | net/sched/sch_taprio.c | 9 |
1 files changed, 1 insertions, 8 deletions
diff --git a/net/sched/sch_taprio.c b/net/sched/sch_taprio.c index 888a29ee1da6..6b3cecbe9f1f 100644 --- a/net/sched/sch_taprio.c +++ b/net/sched/sch_taprio.c @@ -1948,18 +1948,11 @@ static int taprio_dump(struct Qdisc *sch, struct sk_buff *skb) struct sched_gate_list *oper, *admin; struct tc_mqprio_qopt opt = { 0 }; struct nlattr *nest, *sched_nest; - unsigned int i; oper = rtnl_dereference(q->oper_sched); admin = rtnl_dereference(q->admin_sched); - opt.num_tc = netdev_get_num_tc(dev); - memcpy(opt.prio_tc_map, dev->prio_tc_map, sizeof(opt.prio_tc_map)); - - for (i = 0; i < netdev_get_num_tc(dev); i++) { - opt.count[i] = dev->tc_to_txq[i].count; - opt.offset[i] = dev->tc_to_txq[i].offset; - } + mqprio_qopt_reconstruct(dev, &opt); nest = nla_nest_start_noflag(skb, TCA_OPTIONS); if (!nest) |