Lines Matching defs:prog
3991 const struct bpf_prog *prog;
3996 bpf_mprog_foreach_prog(entry, fp, prog) {
3998 ret = bpf_prog_run(prog, skb);
5707 struct bpf_prog *new = xdp->prog;
9147 return link->link.prog;
9148 return dev->xdp_state[mode].prog;
9157 if (dev->xdp_state[i].prog || dev->xdp_state[i].link)
9165 struct bpf_prog *prog = dev_xdp_prog(dev, mode);
9167 return prog ? prog->aux->id : 0;
9174 dev->xdp_state[mode].prog = NULL;
9178 struct bpf_prog *prog)
9181 dev->xdp_state[mode].prog = prog;
9186 u32 flags, struct bpf_prog *prog)
9195 xdp.prog = prog;
9197 /* Drivers assume refcnt is already incremented (i.e, prog pointer is
9200 * Given net_device also owns link/prog, we need to bump refcnt here
9203 if (prog)
9204 bpf_prog_inc(prog);
9207 if (prog)
9208 bpf_prog_put(prog);
9213 bpf_prog_change_xdp(dev_xdp_prog(dev, mode), prog);
9221 struct bpf_prog *prog;
9228 prog = dev_xdp_prog(dev, mode);
9229 if (!prog)
9243 bpf_prog_put(prog);
9263 /* either link or prog attachment, never both */
9304 /* can't replace attached prog with link */
9316 new_prog = link->link.prog;
9473 if (old_prog && link->prog != old_prog) {
9477 old_prog = link->prog;
9497 old_prog = xchg(&link->prog, new_prog);
9514 int bpf_xdp_link_attach(const union bpf_attr *attr, struct bpf_prog *prog)
9536 bpf_link_init(&link->link, BPF_LINK_TYPE_XDP, &bpf_xdp_link_lops, prog);