Lines Matching refs:xdp
80 xdp_init_buff(struct xdp_buff *xdp, u32 frame_sz, struct xdp_rxq_info *rxq) in xdp_init_buff() argument
82 xdp->frame_sz = frame_sz; in xdp_init_buff()
83 xdp->rxq = rxq; in xdp_init_buff()
87 xdp_prepare_buff(struct xdp_buff *xdp, unsigned char *hard_start, in xdp_prepare_buff() argument
92 xdp->data_hard_start = hard_start; in xdp_prepare_buff()
93 xdp->data = data; in xdp_prepare_buff()
94 xdp->data_end = data + data_len; in xdp_prepare_buff()
95 xdp->data_meta = meta_valid ? data : data + 1; in xdp_prepare_buff()
104 #define xdp_data_hard_end(xdp) \ argument
105 ((xdp)->data_hard_start + (xdp)->frame_sz - \
109 xdp_get_shared_info_from_buff(struct xdp_buff *xdp) in xdp_get_shared_info_from_buff() argument
111 return (struct skb_shared_info *)xdp_data_hard_end(xdp); in xdp_get_shared_info_from_buff()
166 struct xdp_frame *xdp_convert_zc_to_xdp_frame(struct xdp_buff *xdp);
176 void xdp_convert_frame_to_buff(struct xdp_frame *frame, struct xdp_buff *xdp) in xdp_convert_frame_to_buff() argument
178 xdp->data_hard_start = frame->data - frame->headroom - sizeof(*frame); in xdp_convert_frame_to_buff()
179 xdp->data = frame->data; in xdp_convert_frame_to_buff()
180 xdp->data_end = frame->data + frame->len; in xdp_convert_frame_to_buff()
181 xdp->data_meta = frame->data - frame->metasize; in xdp_convert_frame_to_buff()
182 xdp->frame_sz = frame->frame_sz; in xdp_convert_frame_to_buff()
186 int xdp_update_frame_from_buff(struct xdp_buff *xdp, in xdp_update_frame_from_buff() argument
192 headroom = xdp->data - xdp->data_hard_start; in xdp_update_frame_from_buff()
193 metasize = xdp->data - xdp->data_meta; in xdp_update_frame_from_buff()
199 if (unlikely(xdp->data_end > xdp_data_hard_end(xdp))) { in xdp_update_frame_from_buff()
204 xdp_frame->data = xdp->data; in xdp_update_frame_from_buff()
205 xdp_frame->len = xdp->data_end - xdp->data; in xdp_update_frame_from_buff()
208 xdp_frame->frame_sz = xdp->frame_sz; in xdp_update_frame_from_buff()
215 struct xdp_frame *xdp_convert_buff_to_frame(struct xdp_buff *xdp) in xdp_convert_buff_to_frame() argument
219 if (xdp->rxq->mem.type == MEM_TYPE_XSK_BUFF_POOL) in xdp_convert_buff_to_frame()
220 return xdp_convert_zc_to_xdp_frame(xdp); in xdp_convert_buff_to_frame()
223 xdp_frame = xdp->data_hard_start; in xdp_convert_buff_to_frame()
224 if (unlikely(xdp_update_frame_from_buff(xdp, xdp_frame) < 0)) in xdp_convert_buff_to_frame()
228 xdp_frame->mem = xdp->rxq->mem; in xdp_convert_buff_to_frame()
235 void xdp_return_buff(struct xdp_buff *xdp);
268 xdp_set_data_meta_invalid(struct xdp_buff *xdp) in xdp_set_data_meta_invalid() argument
270 xdp->data_meta = xdp->data + 1; in xdp_set_data_meta_invalid()
274 xdp_data_meta_unsupported(const struct xdp_buff *xdp) in xdp_data_meta_unsupported() argument
276 return unlikely(xdp->data_meta > xdp->data); in xdp_data_meta_unsupported()