Lines Matching defs:prog
31 struct bpf_prog *prog;
68 state = env->prog->aux->offload->dev_priv;
72 if (insn_idx == env->prog->len - 1) {
89 return ns->xdp_hw.prog;
92 static void nsim_prog_set_loaded(struct bpf_prog *prog, bool loaded)
96 if (!prog || !prog->aux->offload)
99 state = prog->aux->offload->dev_priv;
104 nsim_bpf_offload(struct netdevsim *ns, struct bpf_prog *prog, bool oldprog)
111 ns->bpf_offloaded = prog;
112 ns->bpf_offloaded_id = prog ? prog->aux->id : 0;
113 nsim_prog_set_loaded(prog, true);
122 struct bpf_prog *prog = cls_bpf->prog;
147 if (prog && !prog->aux->offload && !ns->bpf_tc_non_bound_accept) {
161 if (!cls_bpf->prog)
170 return nsim_bpf_offload(ns, cls_bpf->prog, oldprog);
182 if (!nsim_xdp_offload_active(ns) && !bpf->prog)
184 if (!nsim_xdp_offload_active(ns) && bpf->prog && ns->bpf_offloaded) {
189 return nsim_bpf_offload(ns, bpf->prog, nsim_xdp_offload_active(ns));
219 struct bpf_prog *prog)
230 state->prog = prog;
242 debugfs_create_u32("id", 0400, state->ddir, &prog->aux->id);
249 prog->aux->offload->dev_priv = state;
254 static int nsim_bpf_verifier_prep(struct bpf_prog *prog)
257 bpf_offload_dev_priv(prog->aux->offload->offdev);
262 return nsim_bpf_create_prog(nsim_dev, prog);
265 static int nsim_bpf_translate(struct bpf_prog *prog)
267 struct nsim_bpf_bound_prog *state = prog->aux->offload->dev_priv;
273 static void nsim_bpf_destroy_prog(struct bpf_prog *prog)
277 state = prog->aux->offload->dev_priv;
295 if (bpf->prog && bpf->prog->aux->offload) {
296 NSIM_EA(bpf->extack, "attempt to load offloaded prog to drv");
311 if (!bpf->prog)
314 if (!bpf->prog->aux->offload) {
318 if (!bpf_offload_dev_match(bpf->prog, ns->netdev)) {
323 state = bpf->prog->aux->offload->dev_priv;
653 WARN_ON(ns->xdp.prog);
654 WARN_ON(ns->xdp_hw.prog);