Skip to content

Commit

Permalink
net_sched: act_vlan: add helper inlines to access tcf_vlan info
Browse files Browse the repository at this point in the history
Needed e.g for offloading drivers to pick the relevant attributes.

Signed-off-by: Or Gerlitz <[email protected]>
Signed-off-by: Saeed Mahameed <[email protected]>
Signed-off-by: David S. Miller <[email protected]>
  • Loading branch information
ogerlitz authored and davem330 committed Sep 23, 2016
1 parent fefa569 commit 53e8994
Showing 1 changed file with 25 additions and 0 deletions.
25 changes: 25 additions & 0 deletions include/net/tc_act/tc_vlan.h
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,7 @@
#define __NET_TC_VLAN_H

#include <net/act_api.h>
#include <linux/tc_act/tc_vlan.h>

#define VLAN_F_POP 0x1
#define VLAN_F_PUSH 0x2
Expand All @@ -24,4 +25,28 @@ struct tcf_vlan {
};
#define to_vlan(a) ((struct tcf_vlan *)a)

static inline bool is_tcf_vlan(const struct tc_action *a)
{
#ifdef CONFIG_NET_CLS_ACT
if (a->ops && a->ops->type == TCA_ACT_VLAN)
return true;
#endif
return false;
}

static inline u32 tcf_vlan_action(const struct tc_action *a)
{
return to_vlan(a)->tcfv_action;
}

static inline u16 tcf_vlan_push_vid(const struct tc_action *a)
{
return to_vlan(a)->tcfv_push_vid;
}

static inline __be16 tcf_vlan_push_proto(const struct tc_action *a)
{
return to_vlan(a)->tcfv_push_proto;
}

#endif /* __NET_TC_VLAN_H */

0 comments on commit 53e8994

Please sign in to comment.