net/sched: taprio: add extack messages in taprio_init
authorVladimir Oltean <vladimir.oltean@nxp.com>
Thu, 15 Sep 2022 10:50:45 +0000 (13:50 +0300)
committerJakub Kicinski <kuba@kernel.org>
Tue, 20 Sep 2022 20:53:34 +0000 (13:53 -0700)
Stop contributing to the proverbial user unfriendliness of tc, and tell
the user what is wrong wherever possible.

Signed-off-by: Vladimir Oltean <vladimir.oltean@nxp.com>
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
net/sched/sch_taprio.c

index 2f45dfb..2552f62 100644 (file)
@@ -1661,11 +1661,15 @@ static int taprio_init(struct Qdisc *sch, struct nlattr *opt,
        list_add(&q->taprio_list, &taprio_list);
        spin_unlock(&taprio_list_lock);
 
-       if (sch->parent != TC_H_ROOT)
+       if (sch->parent != TC_H_ROOT) {
+               NL_SET_ERR_MSG_MOD(extack, "Can only be attached as root qdisc");
                return -EOPNOTSUPP;
+       }
 
-       if (!netif_is_multiqueue(dev))
+       if (!netif_is_multiqueue(dev)) {
+               NL_SET_ERR_MSG_MOD(extack, "Multi-queue device is required");
                return -EOPNOTSUPP;
+       }
 
        /* pre-allocate qdisc, attachment can't fail */
        q->qdiscs = kcalloc(dev->num_tx_queues,