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 || !bpf_prog_is_offloaded(prog->aux))
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;
141 if (prog && !prog->aux->offload && !ns->bpf_tc_non_bound_accept) {
155 if (!cls_bpf->prog)
164 return nsim_bpf_offload(ns, cls_bpf->prog, oldprog);
176 if (!nsim_xdp_offload_active(ns) && !bpf->prog)
178 if (!nsim_xdp_offload_active(ns) && bpf->prog && ns->bpf_offloaded) {
183 return nsim_bpf_offload(ns, bpf->prog, nsim_xdp_offload_active(ns));
213 struct bpf_prog *prog)
224 state->prog = prog;
236 debugfs_create_u32("id", 0400, state->ddir, &prog->aux->id);
245 prog->aux->offload->dev_priv = state;
250 static int nsim_bpf_verifier_prep(struct bpf_prog *prog)
253 bpf_offload_dev_priv(prog->aux->offload->offdev);
258 return nsim_bpf_create_prog(nsim_dev, prog);
261 static int nsim_bpf_translate(struct bpf_prog *prog)
263 struct nsim_bpf_bound_prog *state = prog->aux->offload->dev_priv;
269 static void nsim_bpf_destroy_prog(struct bpf_prog *prog)
274 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");
299 if (bpf->prog && !bpf->prog->aux->xdp_has_frags &&
312 if (!bpf->prog)
315 if (!bpf_prog_is_offloaded(bpf->prog->aux)) {
320 state = bpf->prog->aux->offload->dev_priv;
650 WARN_ON(ns->xdp.prog);
651 WARN_ON(ns->xdp_hw.prog);