Lines Matching refs:prog
29 struct bpf_prog *prog; in netvsc_run_xdp() local
35 prog = rcu_dereference(nvchan->bpf_prog); in netvsc_run_xdp()
37 if (!prog) in netvsc_run_xdp()
58 act = bpf_prog_run_xdp(prog, xdp); in netvsc_run_xdp()
67 trace_xdp_exception(ndev, prog, act); in netvsc_run_xdp()
96 int netvsc_xdp_set(struct net_device *dev, struct bpf_prog *prog, in netvsc_xdp_set() argument
105 if (!old_prog && !prog) in netvsc_xdp_set()
109 if (prog && buf_max > PAGE_SIZE) { in netvsc_xdp_set()
117 if (prog && (dev->features & NETIF_F_LRO)) { in netvsc_xdp_set()
124 if (prog) in netvsc_xdp_set()
125 bpf_prog_add(prog, nvdev->num_chn - 1); in netvsc_xdp_set()
128 rcu_assign_pointer(nvdev->chan_table[i].bpf_prog, prog); in netvsc_xdp_set()
137 int netvsc_vf_setxdp(struct net_device *vf_netdev, struct bpf_prog *prog) in netvsc_vf_setxdp() argument
154 if (prog) in netvsc_vf_setxdp()
155 bpf_prog_inc(prog); in netvsc_vf_setxdp()
158 xdp.prog = prog; in netvsc_vf_setxdp()
162 if (ret && prog) in netvsc_vf_setxdp()
163 bpf_prog_put(prog); in netvsc_vf_setxdp()
182 ret = netvsc_xdp_set(dev, bpf->prog, extack, nvdev); in netvsc_bpf()
187 ret = netvsc_vf_setxdp(vf_netdev, bpf->prog); in netvsc_bpf()