On Fri,  5 Jul 2019 01:48:34 +0200, Pablo Neira Ayuso wrote:
> Most drivers do the same thing to set up the block, add a helper
> function to do this.
> 
> Signed-off-by: Pablo Neira Ayuso <pa...@netfilter.org>

> diff --git a/net/sched/cls_api.c b/net/sched/cls_api.c
> index 534a545ea51e..003f24a1323f 100644
> --- a/net/sched/cls_api.c
> +++ b/net/sched/cls_api.c
> @@ -922,6 +922,26 @@ static int tcf_block_setup(struct tcf_block *block, 
> struct tc_block_offload *bo)
>       return err;
>  }
>  
> +int tcf_setup_block_offload(struct tc_block_offload *f, tc_setup_cb_t *cb,
> +                         void *cb_ident, void *cb_priv, bool ingress_only)
> +{
> +     if (ingress_only &&
> +         f->binder_type != TCF_BLOCK_BINDER_TYPE_CLSACT_INGRESS)
> +             return -EOPNOTSUPP;
> +
> +     switch (f->command) {
> +     case TC_BLOCK_BIND:
> +             return tcf_block_cb_register(f->block, cb, cb_ident, cb_priv,
> +                                          f->extack);
> +     case TC_BLOCK_UNBIND:
> +             tcf_block_cb_unregister(f->block, cb, cb_ident);
> +             return 0;
> +     default:
> +             return -EOPNOTSUPP;
> +     }
> +}
> +EXPORT_SYMBOL(tcf_setup_block_offload);
> +
>  static struct rhashtable indr_setup_block_ht;
>  
>  struct tc_indr_block_dev {

This change is pretty much unrelated to the rest of the series, isn't
it?  Can you please post it separately and make the series smaller
this way?

Perhaps tcf_setup_block_offload_simple() would be a good name for this
helper?

Reply via email to