Subject: Re: [Patch net-next] net_sched: refactor TC action init API

From: Vlad Buslov <[email-masked]>
Date: Wed, 21 Jul 2021 13:48:15 +0300

On Wed 21 Jul 2021 at 02:34, Cong Wang <[email-masked]> wrote:
> From: Cong Wang <[email-masked]>
>
> TC action ->init() API has 10 parameters, it becomes harder
> to read. Some of them are just boolean and can be replaced
> by flags. Similarly for the internal API tcf_action_init()
> and tcf_exts_validate().
>
> This patch converts them to flags and fold them into
> the upper 16 bits of "flags", whose lower 16 bits are still
> reserved for user-space. More specifically, the following
> kernel flags are introduced:
>
> TCA_ACT_FLAGS_POLICE replace 'name' in a few contexts, to
> distinguish whether it is compatible with policer.
>
> TCA_ACT_FLAGS_BIND replaces 'bind', to indicate whether
> this action is bound to a filter.
>
> TCA_ACT_FLAGS_REPLACE  replaces 'ovr' in most contexts,
> means we are replacing an existing action.
>
> TCA_ACT_FLAGS_NO_RTNL replaces 'rtnl_held' but has the
> opposite meaning, because we still hold RTNL in most
> cases.
>
> The only user-space flag TCA_ACT_FLAGS_NO_PERCPU_STATS is
> untouched and still stored as before.
>
> I have tested this patch with tdc and I do not see any
> failure related to this patch.
>
> Cc: Vlad Buslov <[email-masked]>
> Cc: Jamal Hadi Salim <[email-masked]>
> Cc: Jiri Pirko <[email-masked]>
> Signed-off-by: Cong Wang <[email-masked]>
> ---

I ran some of our tests with the patch applied and didn't encounter any
issues.

Tested-by: Vlad Buslov <[email-masked]> 

[...]