Lines Matching defs:xdp

65 #include <net/xdp.h>
1220 static int tun_xdp(struct net_device *dev, struct netdev_bpf *xdp)
1222 switch (xdp->command) {
1224 return tun_xdp_set(dev, xdp->prog, xdp->extack);
1294 struct xdp_frame *xdp = frames[i];
1298 void *frame = tun_xdp_to_ptr(xdp);
1315 static int tun_xdp_tx(struct net_device *dev, struct xdp_buff *xdp)
1317 struct xdp_frame *frame = xdp_convert_buff_to_frame(xdp);
1620 struct xdp_buff *xdp, u32 act)
1626 err = xdp_do_redirect(tun->dev, xdp, xdp_prog);
1631 dev_sw_netstats_rx_add(tun->dev, xdp->data_end - xdp->data);
1634 err = tun_xdp_tx(tun->dev, xdp);
1639 dev_sw_netstats_rx_add(tun->dev, xdp->data_end - xdp->data);
1705 struct xdp_buff xdp;
1708 xdp_init_buff(&xdp, buflen, &tfile->xdp_rxq);
1709 xdp_prepare_buff(&xdp, buf, pad, len, false);
1711 act = bpf_prog_run_xdp(xdp_prog, &xdp);
1716 err = tun_xdp_act(tun, xdp_prog, &xdp, act);
1728 pad = xdp.data - xdp.data_hard_start;
1729 len = xdp.data_end - xdp.data;
2439 struct xdp_buff *xdp, int *flush,
2442 unsigned int datasize = xdp->data_end - xdp->data;
2443 struct tun_xdp_hdr *hdr = xdp->data_hard_start;
2461 xdp_init_buff(xdp, buflen, &tfile->xdp_rxq);
2462 xdp_set_data_meta_invalid(xdp);
2464 act = bpf_prog_run_xdp(xdp_prog, xdp);
2465 ret = tun_xdp_act(tun, xdp_prog, xdp, act);
2467 put_page(virt_to_head_page(xdp->data));
2480 page = virt_to_head_page(xdp->data);
2493 skb = build_skb(xdp->data_hard_start, buflen);
2499 skb_reserve(skb, xdp->data - xdp->data_hard_start);
2500 skb_put(skb, xdp->data_end - xdp->data);
2562 struct xdp_buff *xdp;
2579 xdp = &((struct xdp_buff *)ctl->ptr)[i];
2580 ret = tun_xdp_one(tun, tfile, xdp, &flush, &tpage);