Lines Matching refs:xdp_prog
61 struct bpf_prog *xdp_prog; member
69 struct bpf_prog *xdp_prog; member
218 if (dev->xdp_prog) in dev_map_free()
219 bpf_prog_put(dev->xdp_prog); in dev_map_free()
234 if (dev->xdp_prog) in dev_map_free()
235 bpf_prog_put(dev->xdp_prog); in dev_map_free()
326 static int dev_map_bpf_prog_run(struct bpf_prog *xdp_prog, in dev_map_bpf_prog_run() argument
342 act = bpf_prog_run_xdp(xdp_prog, &xdp); in dev_map_bpf_prog_run()
352 bpf_warn_invalid_xdp_action(NULL, xdp_prog, act); in dev_map_bpf_prog_run()
355 trace_xdp_exception(dev, xdp_prog, act); in dev_map_bpf_prog_run()
382 if (bq->xdp_prog) { in bq_xmit_all()
383 to_send = dev_map_bpf_prog_run(bq->xdp_prog, bq->q, cnt, dev); in bq_xmit_all()
420 bq->xdp_prog = NULL; in __dev_flush()
447 struct net_device *dev_rx, struct bpf_prog *xdp_prog) in bq_enqueue() argument
464 bq->xdp_prog = xdp_prog; in bq_enqueue()
473 struct bpf_prog *xdp_prog) in __xdp_enqueue() argument
484 bq_enqueue(dev, xdpf, dev_rx, xdp_prog); in __xdp_enqueue()
494 if (!dst->xdp_prog) in dev_map_bpf_prog_run_skb()
500 act = bpf_prog_run_generic_xdp(skb, &xdp, dst->xdp_prog); in dev_map_bpf_prog_run_skb()
506 bpf_warn_invalid_xdp_action(NULL, dst->xdp_prog, act); in dev_map_bpf_prog_run_skb()
509 trace_xdp_exception(dst->dev, dst->xdp_prog, act); in dev_map_bpf_prog_run_skb()
530 return __xdp_enqueue(dev, xdpf, dev_rx, dst->xdp_prog); in dev_map_enqueue()
555 bq_enqueue(obj->dev, nxdpf, dev_rx, obj->xdp_prog); in dev_map_enqueue_clone()
652 bq_enqueue(last_dst->dev, xdpf, dev_rx, last_dst->xdp_prog); in dev_map_enqueue_multi()
660 struct bpf_prog *xdp_prog) in dev_map_generic_redirect() argument
676 generic_xdp_tx(skb, xdp_prog); in dev_map_generic_redirect()
683 struct bpf_prog *xdp_prog) in dev_map_redirect_clone() argument
692 err = dev_map_generic_redirect(dst, nskb, xdp_prog); in dev_map_redirect_clone()
702 struct bpf_prog *xdp_prog, struct bpf_map *map, in dev_map_redirect_multi() argument
735 err = dev_map_redirect_clone(last_dst, skb, xdp_prog); in dev_map_redirect_multi()
759 err = dev_map_redirect_clone(last_dst, skb, xdp_prog); in dev_map_redirect_multi()
770 return dev_map_generic_redirect(last_dst, skb, xdp_prog); in dev_map_redirect_multi()
796 if (dev->xdp_prog) in __dev_map_entry_free()
797 bpf_prog_put(dev->xdp_prog); in __dev_map_entry_free()
870 dev->xdp_prog = prog; in __dev_map_alloc_node()
873 dev->xdp_prog = NULL; in __dev_map_alloc_node()