Wed, Oct 24, 2018 at 05:32:49PM CEST, dsah...@kernel.org wrote:
>From: David Ahern <dsah...@gmail.com>
>
>Marco reported an error with hfsc:
>root@Calimero:~# tc qdisc add dev eth0 root handle 1:0 hfsc default 1
>Error: Attribute failed policy validation.
>
>Apparently a few implementations pass TCA_OPTIONS as a binary instead
>of nested attribute, so drop TCA_OPTIONS from the policy.

Yeah, this is nice example of a case, where I think it wouldn't hurt to
be a bit more strict. Apparently, the userspace app is buggy. It should
be fixed. Note that I'm aware of the bw compatibility.


>
>Fixes: 8b4c3cdd9dd8 ("net: sched: Add policy validation for tc attributes")
>Reported-by: Marco Berizzi <pupi...@libero.it>
>Signed-off-by: David Ahern <dsah...@gmail.com>
>---
> net/sched/sch_api.c | 1 -
> 1 file changed, 1 deletion(-)
>
>diff --git a/net/sched/sch_api.c b/net/sched/sch_api.c
>index 3dc0acf54245..be7cd140b2a3 100644
>--- a/net/sched/sch_api.c
>+++ b/net/sched/sch_api.c
>@@ -1309,7 +1309,6 @@ check_loop_fn(struct Qdisc *q, unsigned long cl, struct 
>qdisc_walker *w)
> 
> const struct nla_policy rtm_tca_policy[TCA_MAX + 1] = {
>       [TCA_KIND]              = { .type = NLA_STRING },
>-      [TCA_OPTIONS]           = { .type = NLA_NESTED },

A future developer might add this again. A comment why not would be good
here.


>       [TCA_RATE]              = { .type = NLA_BINARY,
>                                   .len = sizeof(struct tc_estimator) },
>       [TCA_STAB]              = { .type = NLA_NESTED },
>-- 
>2.11.0
>

Reply via email to