Lines Matching refs:md_dst

282 static void __metadata_dst_init(struct metadata_dst *md_dst,  in __metadata_dst_init()  argument
287 dst = &md_dst->dst; in __metadata_dst_init()
290 memset(dst + 1, 0, sizeof(*md_dst) + optslen - sizeof(*dst)); in __metadata_dst_init()
291 md_dst->type = type; in __metadata_dst_init()
297 struct metadata_dst *md_dst; in metadata_dst_alloc() local
299 md_dst = kmalloc(sizeof(*md_dst) + optslen, flags); in metadata_dst_alloc()
300 if (!md_dst) in metadata_dst_alloc()
303 __metadata_dst_init(md_dst, type, optslen); in metadata_dst_alloc()
305 return md_dst; in metadata_dst_alloc()
309 void metadata_dst_free(struct metadata_dst *md_dst) in metadata_dst_free() argument
312 if (md_dst->type == METADATA_IP_TUNNEL) in metadata_dst_free()
313 dst_cache_destroy(&md_dst->u.tun_info.dst_cache); in metadata_dst_free()
315 if (md_dst->type == METADATA_XFRM) in metadata_dst_free()
316 dst_release(md_dst->u.xfrm_info.dst_orig); in metadata_dst_free()
317 kfree(md_dst); in metadata_dst_free()
325 struct metadata_dst __percpu *md_dst; in metadata_dst_alloc_percpu() local
327 md_dst = __alloc_percpu_gfp(sizeof(struct metadata_dst) + optslen, in metadata_dst_alloc_percpu()
329 if (!md_dst) in metadata_dst_alloc_percpu()
333 __metadata_dst_init(per_cpu_ptr(md_dst, cpu), type, optslen); in metadata_dst_alloc_percpu()
335 return md_dst; in metadata_dst_alloc_percpu()
339 void metadata_dst_free_percpu(struct metadata_dst __percpu *md_dst) in metadata_dst_free_percpu() argument
344 struct metadata_dst *one_md_dst = per_cpu_ptr(md_dst, cpu); in metadata_dst_free_percpu()
353 free_percpu(md_dst); in metadata_dst_free_percpu()