Lines Matching refs:prog
172 struct bpf_prog *prog; member
482 struct tun_prog *prog; in tun_ebpf_select_queue() local
490 prog = rcu_dereference(tun->steering_prog); in tun_ebpf_select_queue()
491 if (prog) in tun_ebpf_select_queue()
492 ret = bpf_prog_run_clear_cb(prog->prog, skb); in tun_ebpf_select_queue()
994 struct tun_prog *prog = rcu_dereference(tun->filter_prog); in run_ebpf_filter() local
996 if (prog) in run_ebpf_filter()
997 len = bpf_prog_run_clear_cb(prog->prog, skb); in run_ebpf_filter()
1126 static int tun_xdp_set(struct net_device *dev, struct bpf_prog *prog, in tun_xdp_set() argument
1135 rcu_assign_pointer(tun->xdp_prog, prog); in tun_xdp_set()
1141 if (prog) in tun_xdp_set()
1147 if (prog) in tun_xdp_set()
1160 return tun_xdp_set(dev, xdp->prog, xdp->extack); in tun_xdp()
2215 struct tun_prog *prog = container_of(rcu, struct tun_prog, rcu); in tun_prog_free() local
2217 bpf_prog_destroy(prog->prog); in tun_prog_free()
2218 kfree(prog); in tun_prog_free()
2223 struct bpf_prog *prog) in __tun_set_ebpf() argument
2227 if (prog) { in __tun_set_ebpf()
2231 new->prog = prog; in __tun_set_ebpf()
2981 struct bpf_prog *prog; in tun_set_ebpf() local
2988 prog = NULL; in tun_set_ebpf()
2990 prog = bpf_prog_get_type(fd, BPF_PROG_TYPE_SOCKET_FILTER); in tun_set_ebpf()
2991 if (IS_ERR(prog)) in tun_set_ebpf()
2992 return PTR_ERR(prog); in tun_set_ebpf()
2995 return __tun_set_ebpf(tun, prog_p, prog); in tun_set_ebpf()