Mon, Jul 31, 2017 at 10:37:21PM CEST, xiyou.wangc...@gmail.com wrote: >On Fri, Jul 28, 2017 at 7:40 AM, Jiri Pirko <j...@resnulli.us> wrote: >> +static inline int >> +tcf_exts_exec(struct sk_buff *skb, struct tcf_exts *exts, >> + struct tcf_result *res) >> +{ >> +#ifdef CONFIG_NET_CLS_ACT >> + if (tcf_exts_has_actions(exts)) >> + return tcf_action_exec(skb, exts->actions, exts->nr_actions, >> + res); >> +#endif >> + return 0; >> +} > > >While you are on it, can we get rid of this macro too? > >tcf_action_exec() is only defined with CONFIG_NET_CLS_ACT, >not sure if compiler is kind enough to eliminate the false branch >for us: > >if (false) > return tcf_action_exec(...); // not defined but the branch is dead > >At least you can add a wrapper for tcf_action_exec() to just >return 0.
Did you see? net: sched: remove check for number of actions in tcf_exts_exec I will add static inline stub for tcf_action_exec in case CONFIG_NET_CLS_ACT is not set.