sch_htb: Fail on unsupported parameters when offload is requested
authorMaxim Mikityanskiy <maximmi@nvidia.com>
Tue, 25 Jan 2022 10:06:54 +0000 (12:06 +0200)
committerJakub Kicinski <kuba@kernel.org>
Wed, 26 Jan 2022 04:00:02 +0000 (20:00 -0800)
commit429c3be8a5e2695b5b92a6a12361eb89eb185495
treebbfdf6820fa07149fbe3ff13e997fcd1ae3bc9c1
parent8bdd24940b69c0018b64b496aa3b03a25f7295ca
sch_htb: Fail on unsupported parameters when offload is requested

The current implementation of HTB offload doesn't support some
parameters. Instead of ignoring them, actively return the EINVAL error
when they are set to non-defaults.

As this patch goes to stable, the driver API is not changed here. If
future drivers support more offload parameters, the checks can be moved
to the driver side.

Note that the buffer and cbuffer parameters are also not supported, but
the tc userspace tool assigns some default values derived from rate and
ceil, and identifying these defaults in sch_htb would be unreliable, so
they are still ignored.

Fixes: d03b195b5aa0 ("sch_htb: Hierarchical QoS hardware offload")
Reported-by: Jakub Kicinski <kuba@kernel.org>
Signed-off-by: Maxim Mikityanskiy <maximmi@nvidia.com>
Reviewed-by: Tariq Toukan <tariqt@nvidia.com>
Link: https://lore.kernel.org/r/20220125100654.424570-1-maximmi@nvidia.com
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
net/sched/sch_htb.c