Lines Matching refs:nn

24 static bool nfp_net_ebpf_capable(struct nfp_net *nn)  in nfp_net_ebpf_capable()  argument
27 struct nfp_app_bpf *bpf = nn->app->priv; in nfp_net_ebpf_capable()
29 return nn->cap & NFP_NET_CFG_CTRL_BPF && in nfp_net_ebpf_capable()
31 nn_readb(nn, NFP_NET_CFG_BPF_ABI) == bpf->abi_version; in nfp_net_ebpf_capable()
38 nfp_bpf_xdp_offload(struct nfp_app *app, struct nfp_net *nn, in nfp_bpf_xdp_offload() argument
43 if (!nfp_net_ebpf_capable(nn)) in nfp_bpf_xdp_offload()
46 running = nn->dp.ctrl & NFP_NET_CFG_CTRL_BPF; in nfp_bpf_xdp_offload()
47 xdp_running = running && nn->xdp_hw.prog; in nfp_bpf_xdp_offload()
54 return nfp_net_bpf_offload(nn, prog, running, extack); in nfp_bpf_xdp_offload()
57 static const char *nfp_bpf_extra_cap(struct nfp_app *app, struct nfp_net *nn) in nfp_bpf_extra_cap() argument
59 return nfp_net_ebpf_capable(nn) ? "BPF" : ""; in nfp_bpf_extra_cap()
63 nfp_bpf_vnic_alloc(struct nfp_app *app, struct nfp_net *nn, unsigned int id) in nfp_bpf_vnic_alloc() argument
82 nn->app_priv = bv; in nfp_bpf_vnic_alloc()
84 err = nfp_app_nic_vnic_alloc(app, nn, id); in nfp_bpf_vnic_alloc()
88 bv->start_off = nn_readw(nn, NFP_NET_CFG_BPF_START); in nfp_bpf_vnic_alloc()
89 bv->tgt_done = nn_readw(nn, NFP_NET_CFG_BPF_DONE); in nfp_bpf_vnic_alloc()
93 kfree(nn->app_priv); 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
99 struct nfp_bpf_vnic *bv = nn->app_priv; in nfp_bpf_vnic_free()
109 struct nfp_net *nn = cb_priv; in nfp_bpf_setup_tc_block_cb() local
119 if (!tc_cls_can_offload_and_chain0(nn->dp.netdev, &cls_bpf->common)) in nfp_bpf_setup_tc_block_cb()
121 if (!nfp_net_ebpf_capable(nn)) { in nfp_bpf_setup_tc_block_cb()
143 bv = nn->app_priv; in nfp_bpf_setup_tc_block_cb()
153 err = nfp_net_bpf_offload(nn, cls_bpf->prog, oldprog, in nfp_bpf_setup_tc_block_cb()
159 nn->port->tc_offload_cnt = !!bv->tc_prog; in nfp_bpf_setup_tc_block_cb()
168 struct nfp_net *nn = netdev_priv(netdev); in nfp_bpf_setup_tc() local
175 nn, nn, true); in nfp_bpf_setup_tc()
184 struct nfp_net *nn = netdev_priv(netdev); in nfp_bpf_check_mtu() local
188 if (~nn->dp.ctrl & NFP_NET_CFG_CTRL_BPF) in nfp_bpf_check_mtu()
191 if (nn->xdp_hw.prog) { in nfp_bpf_check_mtu()
192 prog = nn->xdp_hw.prog; in nfp_bpf_check_mtu()
194 bv = nn->app_priv; in nfp_bpf_check_mtu()
198 if (nfp_bpf_offload_check_mtu(nn, prog, new_mtu)) { in nfp_bpf_check_mtu()
199 nn_info(nn, "BPF offload active, potential packet access beyond hardware packet boundary"); in nfp_bpf_check_mtu()