diff options
Diffstat (limited to 'include/net/tc_act/tc_ife.h')
| -rw-r--r-- | include/net/tc_act/tc_ife.h | 11 | 
1 files changed, 5 insertions, 6 deletions
| diff --git a/include/net/tc_act/tc_ife.h b/include/net/tc_act/tc_ife.h index dc9a09aefb33..5164bd7a38fb 100644 --- a/include/net/tc_act/tc_ife.h +++ b/include/net/tc_act/tc_ife.h @@ -8,7 +8,7 @@  #define IFE_METAHDRLEN 2  struct tcf_ife_info { -	struct tcf_common common; +	struct tc_action common;  	u8 eth_dst[ETH_ALEN];  	u8 eth_src[ETH_ALEN];  	u16 eth_type; @@ -16,8 +16,7 @@ struct tcf_ife_info {  	/* list of metaids allowed */  	struct list_head metalist;  }; -#define to_ife(a) \ -	container_of(a->priv, struct tcf_ife_info, common) +#define to_ife(a) ((struct tcf_ife_info *)a)  struct tcf_meta_info {  	const struct tcf_meta_ops *ops; @@ -36,7 +35,7 @@ struct tcf_meta_ops {  	int	(*encode)(struct sk_buff *, void *, struct tcf_meta_info *);  	int	(*decode)(struct sk_buff *, void *, u16 len);  	int	(*get)(struct sk_buff *skb, struct tcf_meta_info *mi); -	int	(*alloc)(struct tcf_meta_info *, void *); +	int	(*alloc)(struct tcf_meta_info *, void *, gfp_t);  	void	(*release)(struct tcf_meta_info *);  	int	(*validate)(void *val, int len);  	struct module	*owner; @@ -48,8 +47,8 @@ int ife_get_meta_u32(struct sk_buff *skb, struct tcf_meta_info *mi);  int ife_get_meta_u16(struct sk_buff *skb, struct tcf_meta_info *mi);  int ife_tlv_meta_encode(void *skbdata, u16 attrtype, u16 dlen,  			const void *dval); -int ife_alloc_meta_u32(struct tcf_meta_info *mi, void *metaval); -int ife_alloc_meta_u16(struct tcf_meta_info *mi, void *metaval); +int ife_alloc_meta_u32(struct tcf_meta_info *mi, void *metaval, gfp_t gfp); +int ife_alloc_meta_u16(struct tcf_meta_info *mi, void *metaval, gfp_t gfp);  int ife_check_meta_u32(u32 metaval, struct tcf_meta_info *mi);  int ife_encode_meta_u32(u32 metaval, void *skbdata, struct tcf_meta_info *mi);  int ife_validate_meta_u32(void *val, int len); |