Lines Matching refs:xdpf
332 struct xdp_frame *xdpf = frames[i];
336 xdp_convert_frame_to_buff(xdpf, &xdp);
342 err = xdp_update_frame_from_buff(&xdp, xdpf);
344 xdp_return_frame_rx_napi(xdpf);
346 frames[nframes++] = xdpf;
355 xdp_return_frame_rx_napi(xdpf);
374 struct xdp_frame *xdpf = bq->q[i];
376 prefetch(xdpf);
453 static void bq_enqueue(struct net_device *dev, struct xdp_frame *xdpf,
475 bq->q[bq->count++] = xdpf;
478 static inline int __xdp_enqueue(struct net_device *dev, struct xdp_frame *xdpf,
488 xdp_frame_has_frags(xdpf)))
491 err = xdp_ok_fwd_dev(dev, xdp_get_frame_len(xdpf));
495 bq_enqueue(dev, xdpf, dev_rx, xdp_prog);
530 int dev_xdp_enqueue(struct net_device *dev, struct xdp_frame *xdpf,
533 return __xdp_enqueue(dev, xdpf, dev_rx, NULL);
536 int dev_map_enqueue(struct bpf_dtab_netdev *dst, struct xdp_frame *xdpf,
541 return __xdp_enqueue(dev, xdpf, dev_rx, dst->xdp_prog);
544 static bool is_valid_dst(struct bpf_dtab_netdev *obj, struct xdp_frame *xdpf)
553 xdp_frame_has_frags(xdpf)))
556 if (xdp_ok_fwd_dev(obj->dev, xdp_get_frame_len(xdpf)))
564 struct xdp_frame *xdpf)
568 nxdpf = xdpf_clone(xdpf);
602 int dev_map_enqueue_multi(struct xdp_frame *xdpf, struct net_device *dev_rx,
622 if (!is_valid_dst(dst, xdpf))
634 err = dev_map_enqueue_clone(last_dst, dev_rx, xdpf);
645 if (!is_valid_dst(dst, xdpf))
658 err = dev_map_enqueue_clone(last_dst, dev_rx, xdpf);
669 bq_enqueue(last_dst->dev, xdpf, dev_rx, last_dst->xdp_prog);
671 xdp_return_frame_rx_napi(xdpf); /* dtab is empty */