Lines Matching defs:xdp_prog
61 struct bpf_prog *xdp_prog;
68 struct bpf_prog *xdp_prog;
226 if (dev->xdp_prog)
227 bpf_prog_put(dev->xdp_prog);
242 if (dev->xdp_prog)
243 bpf_prog_put(dev->xdp_prog);
334 static int dev_map_bpf_prog_run(struct bpf_prog *xdp_prog,
353 act = bpf_prog_run_xdp(xdp_prog, &xdp);
363 bpf_warn_invalid_xdp_action(NULL, xdp_prog, act);
366 trace_xdp_exception(tx_dev, xdp_prog, act);
393 if (bq->xdp_prog) {
394 to_send = dev_map_bpf_prog_run(bq->xdp_prog, bq->q, cnt, dev, bq->dev_rx);
430 bq->xdp_prog = NULL;
457 struct net_device *dev_rx, struct bpf_prog *xdp_prog)
468 * Do the same with xdp_prog and flush_list since these fields
475 bq->xdp_prog = xdp_prog;
484 struct bpf_prog *xdp_prog)
499 bq_enqueue(dev, xdpf, dev_rx, xdp_prog);
509 if (!dst->xdp_prog)
515 act = bpf_prog_run_generic_xdp(skb, &xdp, dst->xdp_prog);
521 bpf_warn_invalid_xdp_action(NULL, dst->xdp_prog, act);
524 trace_xdp_exception(dst->dev, dst->xdp_prog, act);
545 return __xdp_enqueue(dev, xdpf, dev_rx, dst->xdp_prog);
576 bq_enqueue(obj->dev, nxdpf, dev_rx, obj->xdp_prog);
673 bq_enqueue(last_dst->dev, xdpf, dev_rx, last_dst->xdp_prog);
681 const struct bpf_prog *xdp_prog)
697 generic_xdp_tx(skb, xdp_prog);
704 const struct bpf_prog *xdp_prog)
713 err = dev_map_generic_redirect(dst, nskb, xdp_prog);
723 const struct bpf_prog *xdp_prog,
756 err = dev_map_redirect_clone(last_dst, skb, xdp_prog);
777 err = dev_map_redirect_clone(last_dst, skb, xdp_prog);
788 return dev_map_generic_redirect(last_dst, skb, xdp_prog);
814 if (dev->xdp_prog)
815 bpf_prog_put(dev->xdp_prog);
889 dev->xdp_prog = prog;
892 dev->xdp_prog = NULL;