Lines Matching refs:nn
54 static bool nfp_net_ebpf_capable(struct nfp_net *nn) in nfp_net_ebpf_capable() argument
57 if (nn->cap & NFP_NET_CFG_CTRL_BPF && in nfp_net_ebpf_capable()
58 nn_readb(nn, NFP_NET_CFG_BPF_ABI) == NFP_NET_BPF_ABI) in nfp_net_ebpf_capable()
65 nfp_bpf_xdp_offload(struct nfp_app *app, struct nfp_net *nn, in nfp_bpf_xdp_offload() argument
70 if (!nfp_net_ebpf_capable(nn)) in nfp_bpf_xdp_offload()
73 running = nn->dp.ctrl & NFP_NET_CFG_CTRL_BPF; in nfp_bpf_xdp_offload()
74 xdp_running = running && nn->xdp_hw.prog; in nfp_bpf_xdp_offload()
81 return nfp_net_bpf_offload(nn, prog, running, extack); in nfp_bpf_xdp_offload()
84 static const char *nfp_bpf_extra_cap(struct nfp_app *app, struct nfp_net *nn) in nfp_bpf_extra_cap() argument
86 return nfp_net_ebpf_capable(nn) ? "BPF" : ""; in nfp_bpf_extra_cap()
90 nfp_bpf_vnic_alloc(struct nfp_app *app, struct nfp_net *nn, unsigned int id) in nfp_bpf_vnic_alloc() argument
109 nn->app_priv = bv; in nfp_bpf_vnic_alloc()
111 err = nfp_app_nic_vnic_alloc(app, nn, id); in nfp_bpf_vnic_alloc()
115 bv->start_off = nn_readw(nn, NFP_NET_CFG_BPF_START); in nfp_bpf_vnic_alloc()
116 bv->tgt_done = nn_readw(nn, NFP_NET_CFG_BPF_DONE); in nfp_bpf_vnic_alloc()
120 kfree(nn->app_priv); in nfp_bpf_vnic_alloc()
124 static void nfp_bpf_vnic_free(struct nfp_app *app, struct nfp_net *nn) in nfp_bpf_vnic_free() argument
126 struct nfp_bpf_vnic *bv = nn->app_priv; in nfp_bpf_vnic_free()
136 struct nfp_net *nn = cb_priv; in nfp_bpf_setup_tc_block_cb() local
146 if (!tc_cls_can_offload_and_chain0(nn->dp.netdev, &cls_bpf->common)) in nfp_bpf_setup_tc_block_cb()
148 if (!nfp_net_ebpf_capable(nn)) { in nfp_bpf_setup_tc_block_cb()
170 bv = nn->app_priv; in nfp_bpf_setup_tc_block_cb()
180 err = nfp_net_bpf_offload(nn, cls_bpf->prog, oldprog, in nfp_bpf_setup_tc_block_cb()
186 nn->port->tc_offload_cnt = !!bv->tc_prog; in nfp_bpf_setup_tc_block_cb()
193 struct nfp_net *nn = netdev_priv(netdev); in nfp_bpf_setup_tc_block() local
202 nn, nn, f->extack); in nfp_bpf_setup_tc_block()
206 nn); in nfp_bpf_setup_tc_block()
227 struct nfp_net *nn = netdev_priv(netdev); in nfp_bpf_check_mtu() local
230 if (~nn->dp.ctrl & NFP_NET_CFG_CTRL_BPF) in nfp_bpf_check_mtu()
233 max_mtu = nn_readb(nn, NFP_NET_CFG_BPF_INL_MTU) * 64 - 32; in nfp_bpf_check_mtu()
235 nn_info(nn, "BPF offload active, MTU over %u not supported\n", in nfp_bpf_check_mtu()