^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1) /* SPDX-License-Identifier: GPL-2.0 */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2) #ifndef __LINUX_NET_XDP_PRIV_H__
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3) #define __LINUX_NET_XDP_PRIV_H__
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 5) #include <linux/rhashtable.h>
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 6)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 7) /* Private to net/core/xdp.c, but used by trace/events/xdp.h */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 8) struct xdp_mem_allocator {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 9) struct xdp_mem_info mem;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 10) union {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 11) void *allocator;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 12) struct page_pool *page_pool;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 13) struct zero_copy_allocator *zc_alloc;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 14) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 15) struct rhash_head node;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 16) struct rcu_head rcu;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 17) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 18)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 19) #endif /* __LINUX_NET_XDP_PRIV_H__ */