Lines Matching full:app
27 struct nfp_app_bpf *bpf = nn->app->priv; in nfp_net_ebpf_capable()
38 nfp_bpf_xdp_offload(struct nfp_app *app, struct nfp_net *nn, in nfp_bpf_xdp_offload() argument
57 static const char *nfp_bpf_extra_cap(struct nfp_app *app, struct nfp_net *nn) in nfp_bpf_extra_cap() argument
63 nfp_bpf_vnic_alloc(struct nfp_app *app, struct nfp_net *nn, unsigned int id) in nfp_bpf_vnic_alloc() argument
65 struct nfp_pf *pf = app->pf; in nfp_bpf_vnic_alloc()
84 err = nfp_app_nic_vnic_alloc(app, nn, id); in nfp_bpf_vnic_alloc()
97 static void nfp_bpf_vnic_free(struct nfp_app *app, struct nfp_net *nn) in nfp_bpf_vnic_free() argument
165 static int nfp_bpf_setup_tc(struct nfp_app *app, struct net_device *netdev, in nfp_bpf_setup_tc() argument
182 nfp_bpf_check_mtu(struct nfp_app *app, struct net_device *netdev, int new_mtu) in nfp_bpf_check_mtu() argument
204 struct nfp_cpp *cpp = bpf->app->pf->cpp; in nfp_bpf_parse_cap_adjust_head()
237 nfp_err(bpf->app->cpp, "truncated function TLV: %d\n", length); in nfp_bpf_parse_cap_func()
265 nfp_err(bpf->app->cpp, "truncated maps TLV: %d\n", length); in nfp_bpf_parse_cap_maps()
315 nfp_err(bpf->app->cpp, "truncated ABI version TLV: %d\n", in nfp_bpf_parse_cap_abi_version()
322 nfp_warn(bpf->app->cpp, "unsupported BPF ABI version: %d\n", in nfp_bpf_parse_cap_abi_version()
330 static int nfp_bpf_parse_capabilities(struct nfp_app *app) in nfp_bpf_parse_capabilities() argument
332 struct nfp_cpp *cpp = app->pf->cpp; in nfp_bpf_parse_capabilities()
336 mem = nfp_rtsym_map(app->pf->rtbl, "_abi_bpf_capabilities", "bpf.cap", in nfp_bpf_parse_capabilities()
356 if (nfp_bpf_parse_cap_func(app->priv, value, length)) in nfp_bpf_parse_capabilities()
360 if (nfp_bpf_parse_cap_adjust_head(app->priv, value, in nfp_bpf_parse_capabilities()
365 if (nfp_bpf_parse_cap_maps(app->priv, value, length)) in nfp_bpf_parse_capabilities()
369 if (nfp_bpf_parse_cap_random(app->priv, value, length)) in nfp_bpf_parse_capabilities()
373 if (nfp_bpf_parse_cap_qsel(app->priv, value, length)) in nfp_bpf_parse_capabilities()
377 if (nfp_bpf_parse_cap_adjust_tail(app->priv, value, in nfp_bpf_parse_capabilities()
382 if (nfp_bpf_parse_cap_abi_version(app->priv, value, in nfp_bpf_parse_capabilities()
387 if (nfp_bpf_parse_cap_cmsg_multi_ent(app->priv, value, in nfp_bpf_parse_capabilities()
417 static int nfp_bpf_ndo_init(struct nfp_app *app, struct net_device *netdev) in nfp_bpf_ndo_init() argument
419 struct nfp_app_bpf *bpf = app->priv; in nfp_bpf_ndo_init()
424 static void nfp_bpf_ndo_uninit(struct nfp_app *app, struct net_device *netdev) in nfp_bpf_ndo_uninit() argument
426 struct nfp_app_bpf *bpf = app->priv; in nfp_bpf_ndo_uninit()
431 static int nfp_bpf_start(struct nfp_app *app) in nfp_bpf_start() argument
433 struct nfp_app_bpf *bpf = app->priv; in nfp_bpf_start()
435 if (app->ctrl->dp.mtu < nfp_bpf_ctrl_cmsg_min_mtu(bpf)) { in nfp_bpf_start()
436 nfp_err(bpf->app->cpp, in nfp_bpf_start()
438 app->ctrl->dp.mtu, nfp_bpf_ctrl_cmsg_min_mtu(bpf)); in nfp_bpf_start()
450 static int nfp_bpf_init(struct nfp_app *app) in nfp_bpf_init() argument
458 bpf->app = app; in nfp_bpf_init()
459 app->priv = bpf; in nfp_bpf_init()
463 err = nfp_ccm_init(&bpf->ccm, app); in nfp_bpf_init()
473 err = nfp_bpf_parse_capabilities(app); in nfp_bpf_init()
483 app->ctrl_mtu = nfp_bpf_ctrl_cmsg_mtu(bpf); in nfp_bpf_init()
502 static void nfp_bpf_clean(struct nfp_app *app) in nfp_bpf_clean() argument
504 struct nfp_app_bpf *bpf = app->priv; in nfp_bpf_clean()