1 /* SPDX-License-Identifier: GPL-2.0 */ 2 #ifndef __LINUX_NET_XDP_PRIV_H__ 3 #define __LINUX_NET_XDP_PRIV_H__ 4 5 #include <linux/rhashtable.h> 6 7 /* Private to net/core/xdp.c, but used by trace/events/xdp.h */ 8 struct xdp_mem_allocator { 9 struct xdp_mem_info mem; 10 union { 11 void *allocator; 12 struct page_pool *page_pool; 13 struct zero_copy_allocator *zc_alloc; 14 }; 15 int disconnect_cnt; 16 unsigned long defer_start; 17 struct rhash_head node; 18 struct rcu_head rcu; 19 struct delayed_work defer_wq; 20 unsigned long defer_warn; 21 }; 22 23 #endif /* __LINUX_NET_XDP_PRIV_H__ */ 24