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 <maximmi@nvidia.com> Reviewed-by: Tariq Toukan <tariqt@nvidia.com> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
parent
3a26babb41
commit
648a991cf3
|
@ -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,
|
||||
|
|
Loading…
Reference in New Issue