Lines Matching full:xdp
6 #include <net/xdp.h>
176 static u16 igb_fill_rx_descs(struct xsk_buff_pool *pool, struct xdp_buff **xdp,
187 buffs = xsk_buff_alloc_batch(pool, xdp, count);
189 dma = xsk_buff_xdp_get_dma(*xdp);
194 xdp++;
207 struct xdp_buff **xdp;
210 xdp = &rx_ring->rx_buffer_info_zc[ntu];
213 nb_buffs_extra = igb_fill_rx_descs(xsk_pool, xdp, rx_desc,
220 xdp = rx_ring->rx_buffer_info_zc;
225 nb_buffs = igb_fill_rx_descs(xsk_pool, xdp, rx_desc, count);
256 struct xdp_buff *xdp = rx_ring->rx_buffer_info_zc[ntc];
258 xsk_buff_free(xdp);
266 struct xdp_buff *xdp,
269 unsigned int totalsize = xdp->data_end - xdp->data_meta;
270 unsigned int metasize = xdp->data - xdp->data_meta;
273 net_prefetch(xdp->data_meta);
283 memcpy(__skb_put(skb, totalsize), xdp->data_meta,
295 struct xdp_buff *xdp, struct xsk_buff_pool *xsk_pool,
301 prefetchw(xdp->data_hard_start); /* xdp_frame write */
303 act = bpf_prog_run_xdp(xdp_prog, xdp);
306 err = xdp_do_redirect(adapter->netdev, xdp, xdp_prog);
322 result = igb_xdp_xmit_back(adapter, xdp);
360 struct xdp_buff *xdp;
375 xdp = rx_ring->rx_buffer_info_zc[ntc];
376 xsk_buff_set_size(xdp, size);
377 xsk_buff_dma_sync_for_cpu(xdp);
384 xdp->data,
387 xdp->data += ts_hdr_len;
388 xdp->data_meta += ts_hdr_len;
392 xdp_res = igb_run_xdp_zc(adapter, rx_ring, xdp, xsk_pool,
402 xsk_buff_free(xdp);
413 skb = igb_construct_skb_zc(rx_ring, xdp, timestamp);
422 xsk_buff_free(xdp);