Message ID | 1457016960-27832-5-git-send-email-amir@vadai.me |
---|---|
State | Changes Requested, archived |
Delegated to: | David Miller |
Headers | show |
Thu, Mar 03, 2016 at 03:55:54PM CET, amir@vadai.me wrote: >Enable device drivers to query the action if is a mark action and what >value to use for marking. > >Signed-off-by: Amir Vadai <amir@vadai.me> Acked-by: Jiri Pirko <jiri@mellanox.com>
On Thu, Mar 3, 2016 at 6:55 AM, Amir Vadai <amir@vadai.me> wrote: > +static inline bool is_tcf_skbedit_mark(const struct tc_action *a) > +{ > +#ifdef CONFIG_NET_CLS_ACT > + if (a->ops && a->ops->type == TCA_ACT_SKBEDIT) > + return to_skbedit(a)->flags == SKBEDIT_F_MARK; You mean to_skbedit(a)->flags & SKBEDIT_F_MARK ?
On Thu, Mar 03, 2016 at 09:48:40AM -0800, Cong Wang wrote: > On Thu, Mar 3, 2016 at 6:55 AM, Amir Vadai <amir@vadai.me> wrote: > > +static inline bool is_tcf_skbedit_mark(const struct tc_action *a) > > +{ > > +#ifdef CONFIG_NET_CLS_ACT > > + if (a->ops && a->ops->type == TCA_ACT_SKBEDIT) > > + return to_skbedit(a)->flags == SKBEDIT_F_MARK; > > > You mean to_skbedit(a)->flags & SKBEDIT_F_MARK ? I will add a comment in v3 - it is on purpose. The function return true iff the function is mark - other actions should not be offloaded.
diff --git a/include/net/tc_act/tc_skbedit.h b/include/net/tc_act/tc_skbedit.h index 0df9a0d..4497460 100644 --- a/include/net/tc_act/tc_skbedit.h +++ b/include/net/tc_act/tc_skbedit.h @@ -20,6 +20,7 @@ #define __NET_TC_SKBEDIT_H #include <net/act_api.h> +#include <linux/tc_act/tc_skbedit.h> struct tcf_skbedit { struct tcf_common common; @@ -32,4 +33,18 @@ struct tcf_skbedit { #define to_skbedit(a) \ container_of(a->priv, struct tcf_skbedit, common) +static inline bool is_tcf_skbedit_mark(const struct tc_action *a) +{ +#ifdef CONFIG_NET_CLS_ACT + if (a->ops && a->ops->type == TCA_ACT_SKBEDIT) + return to_skbedit(a)->flags == SKBEDIT_F_MARK; +#endif + return false; +} + +static inline u32 tcf_skbedit_mark(const struct tc_action *a) +{ + return to_skbedit(a)->mark; +} + #endif /* __NET_TC_SKBEDIT_H */
Enable device drivers to query the action if is a mark action and what value to use for marking. Signed-off-by: Amir Vadai <amir@vadai.me> --- include/net/tc_act/tc_skbedit.h | 15 +++++++++++++++ 1 file changed, 15 insertions(+)