On Fri, 23 Aug 2019 21:50:49 +0300, Vlad Buslov wrote:
> @@ -1201,14 +1199,11 @@ static int u32_reoffload_knode(struct tcf_proto *tp, 
> struct tc_u_knode *n,
>                       cls_u32.knode.link_handle = ht->handle;
>       }
>  
> -     err = cb(TC_SETUP_CLSU32, &cls_u32, cb_priv);
> -     if (err) {
> -             if (add && tc_skip_sw(n->flags))
> -                     return err;
> -             return 0;
> -     }
> -
> -     tc_cls_offload_cnt_update(block, &n->in_hw_count, &n->flags, add);
> +     err = tc_setup_cb_reoffload(block, tp, add, cb, TC_SETUP_CLSU32,
> +                                 &cls_u32, cb_priv, &n->flags,
> +                                 &n->in_hw_count);
> +     if (err && add && tc_skip_sw(n->flags))
> +             return err;

Could this be further simplified by adding something along the lines of:

        if (!add || !tc_skip_sw(*flags))
                err = 0;

to tc_setup_cb_reoffload() ?

>  
>       return 0;
>  }

Reply via email to