xdp_buff_xsk
const struct xdp_buff_xsk *xsk;
(IS_ALIGNED(sizeof(struct xdp_buff_xsk), 16) ? 16 : \
IS_ALIGNED(sizeof(struct xdp_buff_xsk), 8) ? 8 : \
offsetof(struct xdp_buff_xsk, xdp.data));
offsetof(struct xdp_buff_xsk, cb));
static_assert(IS_ALIGNED(sizeof(struct xdp_buff_xsk),
static_assert(offsetofend(struct xdp_buff_xsk, cb) >= \
struct xdp_buff_xsk *xskb = container_of(xdp, struct xdp_buff_xsk, xdp);
struct xdp_buff_xsk *pos, *tmp;
struct xdp_buff_xsk *frag;
frag = container_of(xdp, struct xdp_buff_xsk, xdp);
struct xdp_buff_xsk *xskb = container_of(first, struct xdp_buff_xsk, xdp);
struct xdp_buff_xsk *frag;
struct xdp_buff_xsk, list_node);
struct xdp_buff_xsk *xskb = container_of(xdp, struct xdp_buff_xsk, xdp);
struct xdp_buff_xsk *xskb = container_of(first, struct xdp_buff_xsk, xdp);
struct xdp_buff_xsk *frag;
frag = list_first_entry(&xskb->pool->xskb_list, struct xdp_buff_xsk,
struct xdp_buff_xsk *xskb = container_of(first, struct xdp_buff_xsk, xdp);
struct xdp_buff_xsk *frag;
frag = list_last_entry(&xskb->pool->xskb_list, struct xdp_buff_xsk,
struct xdp_buff_xsk *xskb = container_of(xdp, struct xdp_buff_xsk, xdp);
struct xdp_buff_xsk *xskb = container_of(xdp, struct xdp_buff_xsk, xdp);
struct xdp_buff_xsk *xskb = container_of(xdp, struct xdp_buff_xsk, xdp);
void xp_free(struct xdp_buff_xsk *xskb);
static inline void xp_init_xskb_addr(struct xdp_buff_xsk *xskb, struct xsk_buff_pool *pool,
static inline void xp_init_xskb_dma(struct xdp_buff_xsk *xskb, struct xsk_buff_pool *pool,
static inline dma_addr_t xp_get_dma(struct xdp_buff_xsk *xskb)
static inline dma_addr_t xp_get_frame_dma(struct xdp_buff_xsk *xskb)
static inline void xp_dma_sync_for_cpu(struct xdp_buff_xsk *xskb)
static inline void xp_release(struct xdp_buff_xsk *xskb)
static inline u64 xp_get_handle(struct xdp_buff_xsk *xskb,
#define XSK_CHECK_PRIV_TYPE(t) BUILD_BUG_ON(sizeof(t) > offsetofend(struct xdp_buff_xsk, cb))
struct xdp_buff_xsk *heads;
struct xdp_buff_xsk *free_heads[];
static int __xsk_rcv_zc(struct xdp_sock *xs, struct xdp_buff_xsk *xskb, u32 len,
struct xdp_buff_xsk *xskb = container_of(xdp, struct xdp_buff_xsk, xdp);
struct xdp_buff_xsk *pos, *tmp;
struct xdp_buff_xsk *xskb;
xskb = container_of(xsk_xdp, struct xdp_buff_xsk, xdp);
xskb = container_of(xsk_xdp, struct xdp_buff_xsk, xdp);
struct xdp_buff_xsk *xskb = &pool->heads[i];
struct xdp_buff_xsk *xskb = &pool->heads[i];
static struct xdp_buff_xsk *xp_get_xskb(struct xsk_buff_pool *pool, u64 addr)
struct xdp_buff_xsk *xskb;
static struct xdp_buff_xsk *__xp_alloc(struct xsk_buff_pool *pool)
struct xdp_buff_xsk *xskb;
struct xdp_buff_xsk *xskb;
xskb = list_first_entry(&pool->free_list, struct xdp_buff_xsk,
struct xdp_buff_xsk *xskb;
struct xdp_buff_xsk *xskb;
struct xdp_buff_xsk *xskb;
xskb = list_first_entry(&pool->free_list, struct xdp_buff_xsk, list_node);
void xp_free(struct xdp_buff_xsk *xskb)