From: Maxim Mikityanskiy Date: Thu, 28 Oct 2021 12:24:36 +0000 (+0300) Subject: sch_htb: Add extack messages for EOPNOTSUPP errors X-Git-Url: http://git.maquefel.me/?a=commitdiff_plain;h=648a991cf31644a06e32dc7640319f0bc15e93ae;p=linux.git sch_htb: Add extack messages for EOPNOTSUPP errors In order to make the "Operation not supported" message clearer to the user, add extack messages explaining why exactly adding offloaded HTB could be not supported in each case. Signed-off-by: Maxim Mikityanskiy Reviewed-by: Tariq Toukan Signed-off-by: David S. Miller --- diff --git a/net/sched/sch_htb.c b/net/sched/sch_htb.c index cf1d45db4e84b..9267922ea9c37 100644 --- a/net/sched/sch_htb.c +++ b/net/sched/sch_htb.c @@ -1084,11 +1084,15 @@ static int htb_init(struct Qdisc *sch, struct nlattr *opt, offload = nla_get_flag(tb[TCA_HTB_OFFLOAD]); if (offload) { - if (sch->parent != TC_H_ROOT) + if (sch->parent != TC_H_ROOT) { + NL_SET_ERR_MSG(extack, "HTB must be the root qdisc to use offload"); return -EOPNOTSUPP; + } - if (!tc_can_offload(dev) || !dev->netdev_ops->ndo_setup_tc) + if (!tc_can_offload(dev) || !dev->netdev_ops->ndo_setup_tc) { + NL_SET_ERR_MSG(extack, "hw-tc-offload ethtool feature flag must be on"); return -EOPNOTSUPP; + } q->num_direct_qdiscs = dev->real_num_tx_queues; q->direct_qdiscs = kcalloc(q->num_direct_qdiscs,