net/sched: sch_mqprio: use netlink payload helpers

For the sake of readability, use the netlink payload helpers from
the 'nla_get_*()' family to parse the attributes.

tdc results:
1..5
ok 1 9903 - Add mqprio Qdisc to multi-queue device (8 queues)
ok 2 453a - Delete nonexistent mqprio Qdisc
ok 3 5292 - Delete mqprio Qdisc twice
ok 4 45a9 - Add mqprio Qdisc to single-queue device
ok 5 2ba9 - Show mqprio class

Acked-by: Jamal Hadi Salim <jhs@mojatatu.com>
Signed-off-by: Pedro Tammela <pctammela@mojatatu.com>
Reviewed-by: Simon Horman <simon.horman@corigine.com>
Link: https://lore.kernel.org/r/20230404203449.1627033-1-pctammela@mojatatu.com
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
This commit is contained in:
Pedro Tammela 2023-04-04 17:34:49 -03:00 committed by Jakub Kicinski
parent f037897669
commit 8b0f256530

View File

@ -178,12 +178,12 @@ static int mqprio_parse_nlattr(struct Qdisc *sch, struct tc_mqprio_qopt *qopt,
if (tb[TCA_MQPRIO_MODE]) { if (tb[TCA_MQPRIO_MODE]) {
priv->flags |= TC_MQPRIO_F_MODE; priv->flags |= TC_MQPRIO_F_MODE;
priv->mode = *(u16 *)nla_data(tb[TCA_MQPRIO_MODE]); priv->mode = nla_get_u16(tb[TCA_MQPRIO_MODE]);
} }
if (tb[TCA_MQPRIO_SHAPER]) { if (tb[TCA_MQPRIO_SHAPER]) {
priv->flags |= TC_MQPRIO_F_SHAPER; priv->flags |= TC_MQPRIO_F_SHAPER;
priv->shaper = *(u16 *)nla_data(tb[TCA_MQPRIO_SHAPER]); priv->shaper = nla_get_u16(tb[TCA_MQPRIO_SHAPER]);
} }
if (tb[TCA_MQPRIO_MIN_RATE64]) { if (tb[TCA_MQPRIO_MIN_RATE64]) {
@ -196,7 +196,7 @@ static int mqprio_parse_nlattr(struct Qdisc *sch, struct tc_mqprio_qopt *qopt,
return -EINVAL; return -EINVAL;
if (i >= qopt->num_tc) if (i >= qopt->num_tc)
break; break;
priv->min_rate[i] = *(u64 *)nla_data(attr); priv->min_rate[i] = nla_get_u64(attr);
i++; i++;
} }
priv->flags |= TC_MQPRIO_F_MIN_RATE; priv->flags |= TC_MQPRIO_F_MIN_RATE;
@ -212,7 +212,7 @@ static int mqprio_parse_nlattr(struct Qdisc *sch, struct tc_mqprio_qopt *qopt,
return -EINVAL; return -EINVAL;
if (i >= qopt->num_tc) if (i >= qopt->num_tc)
break; break;
priv->max_rate[i] = *(u64 *)nla_data(attr); priv->max_rate[i] = nla_get_u64(attr);
i++; i++;
} }
priv->flags |= TC_MQPRIO_F_MAX_RATE; priv->flags |= TC_MQPRIO_F_MAX_RATE;