Lines Matching defs:prog

46 	/* Grab a single ref to the map for our record.  The prog destroy ndo
112 struct bpf_prog *prog)
116 mutex_lock(&prog->aux->used_maps_mutex);
120 for (i = 0; i < prog->aux->used_map_cnt; i++)
121 if (bpf_map_offload_neutral(prog->aux->used_maps[i]))
134 for (i = 0; i < prog->aux->used_map_cnt; i++)
135 if (bpf_map_offload_neutral(prog->aux->used_maps[i])) {
137 prog->aux->used_maps[i]);
146 mutex_unlock(&prog->aux->used_maps_mutex);
151 nfp_prog_prepare(struct nfp_prog *nfp_prog, const struct bpf_insn *prog,
162 meta->insn = prog[i];
191 static int nfp_bpf_verifier_prep(struct bpf_prog *prog)
199 prog->aux->offload->dev_priv = nfp_prog;
202 nfp_prog->type = prog->type;
203 nfp_prog->bpf = bpf_offload_dev_priv(prog->aux->offload->offdev);
205 ret = nfp_prog_prepare(nfp_prog, prog->insnsi, prog->len);
219 static int nfp_bpf_translate(struct bpf_prog *prog)
221 struct nfp_net *nn = netdev_priv(prog->aux->offload->netdev);
222 struct nfp_prog *nfp_prog = prog->aux->offload->dev_priv;
227 if (prog->aux->offload->opt_failed)
233 nfp_prog->prog = kvmalloc(nfp_prog->__prog_alloc_len, GFP_KERNEL);
234 if (!nfp_prog->prog)
241 prog->aux->offload->jited_len = nfp_prog->prog_len * sizeof(u64);
242 prog->aux->offload->jited_image = nfp_prog->prog;
244 return nfp_map_ptrs_record(nfp_prog->bpf, nfp_prog, prog);
247 static void nfp_bpf_destroy(struct bpf_prog *prog)
249 struct nfp_prog *nfp_prog = prog->aux->offload->dev_priv;
251 kvfree(nfp_prog->prog);
484 bool nfp_bpf_offload_check_mtu(struct nfp_net *nn, struct bpf_prog *prog,
490 pkt_off = min(prog->aux->max_pkt_offset, mtu);
496 nfp_net_bpf_load(struct nfp_net *nn, struct bpf_prog *prog,
499 struct nfp_prog *nfp_prog = prog->aux->offload->dev_priv;
505 if (nfp_bpf_offload_check_mtu(nn, prog, nn->dp.netdev->mtu)) {
575 int nfp_net_bpf_offload(struct nfp_net *nn, struct bpf_prog *prog,
580 if (prog && !bpf_offload_dev_match(prog, nn->dp.netdev))
583 if (prog && old_prog) {
598 if (old_prog && !prog)
601 err = nfp_net_bpf_load(nn, prog, extack);