Lines Matching full:mi
43 int ife_encode_meta_u16(u16 metaval, void *skbdata, struct tcf_meta_info *mi) in ife_encode_meta_u16() argument
47 if (mi->metaval) in ife_encode_meta_u16()
48 edata = *(u16 *)mi->metaval; in ife_encode_meta_u16()
56 return ife_tlv_meta_encode(skbdata, mi->metaid, 2, &edata); in ife_encode_meta_u16()
60 int ife_get_meta_u32(struct sk_buff *skb, struct tcf_meta_info *mi) in ife_get_meta_u32() argument
62 if (mi->metaval) in ife_get_meta_u32()
63 return nla_put_u32(skb, mi->metaid, *(u32 *)mi->metaval); in ife_get_meta_u32()
65 return nla_put(skb, mi->metaid, 0, NULL); in ife_get_meta_u32()
69 int ife_check_meta_u32(u32 metaval, struct tcf_meta_info *mi) in ife_check_meta_u32() argument
71 if (metaval || mi->metaval) in ife_check_meta_u32()
78 int ife_check_meta_u16(u16 metaval, struct tcf_meta_info *mi) in ife_check_meta_u16() argument
80 if (metaval || mi->metaval) in ife_check_meta_u16()
87 int ife_encode_meta_u32(u32 metaval, void *skbdata, struct tcf_meta_info *mi) in ife_encode_meta_u32() argument
91 if (mi->metaval) in ife_encode_meta_u32()
92 edata = *(u32 *)mi->metaval; in ife_encode_meta_u32()
100 return ife_tlv_meta_encode(skbdata, mi->metaid, 4, &edata); in ife_encode_meta_u32()
104 int ife_get_meta_u16(struct sk_buff *skb, struct tcf_meta_info *mi) in ife_get_meta_u16() argument
106 if (mi->metaval) in ife_get_meta_u16()
107 return nla_put_u16(skb, mi->metaid, *(u16 *)mi->metaval); in ife_get_meta_u16()
109 return nla_put(skb, mi->metaid, 0, NULL); in ife_get_meta_u16()
113 int ife_alloc_meta_u32(struct tcf_meta_info *mi, void *metaval, gfp_t gfp) in ife_alloc_meta_u32() argument
115 mi->metaval = kmemdup(metaval, sizeof(u32), gfp); in ife_alloc_meta_u32()
116 if (!mi->metaval) in ife_alloc_meta_u32()
123 int ife_alloc_meta_u16(struct tcf_meta_info *mi, void *metaval, gfp_t gfp) in ife_alloc_meta_u16() argument
125 mi->metaval = kmemdup(metaval, sizeof(u16), gfp); in ife_alloc_meta_u16()
126 if (!mi->metaval) in ife_alloc_meta_u16()
133 void ife_release_meta_gen(struct tcf_meta_info *mi) in ife_release_meta_gen() argument
135 kfree(mi->metaval); in ife_release_meta_gen()
298 struct tcf_meta_info *mi = NULL; in __add_metainfo() local
301 mi = kzalloc(sizeof(*mi), atomic ? GFP_ATOMIC : GFP_KERNEL); in __add_metainfo()
302 if (!mi) in __add_metainfo()
305 mi->metaid = metaid; in __add_metainfo()
306 mi->ops = ops; in __add_metainfo()
308 ret = ops->alloc(mi, metaval, atomic ? GFP_ATOMIC : GFP_KERNEL); in __add_metainfo()
310 kfree(mi); in __add_metainfo()
317 list_add_tail(&mi->metalist, &ife->metalist); in __add_metainfo()