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()
56 act = bpf_prog_run_xdp(prog, xdp); in netvsc_run_xdp()
65 trace_xdp_exception(ndev, prog, act); in netvsc_run_xdp()
94 int netvsc_xdp_set(struct net_device *dev, struct bpf_prog *prog, in netvsc_xdp_set() argument
103 if (!old_prog && !prog) in netvsc_xdp_set()
107 if (prog && buf_max > PAGE_SIZE) { in netvsc_xdp_set()
115 if (prog && (dev->features & NETIF_F_LRO)) { in netvsc_xdp_set()
122 if (prog) in netvsc_xdp_set()
123 bpf_prog_add(prog, nvdev->num_chn - 1); in netvsc_xdp_set()
126 rcu_assign_pointer(nvdev->chan_table[i].bpf_prog, prog); in netvsc_xdp_set()
135 int netvsc_vf_setxdp(struct net_device *vf_netdev, struct bpf_prog *prog) in netvsc_vf_setxdp() argument
152 if (prog) in netvsc_vf_setxdp()
153 bpf_prog_inc(prog); in netvsc_vf_setxdp()
156 xdp.prog = prog; in netvsc_vf_setxdp()
160 if (ret && prog) in netvsc_vf_setxdp()
161 bpf_prog_put(prog); in netvsc_vf_setxdp()
180 ret = netvsc_xdp_set(dev, bpf->prog, extack, nvdev); in netvsc_bpf()
185 ret = netvsc_vf_setxdp(vf_netdev, bpf->prog); in netvsc_bpf()