Home
last modified time | relevance | path

Searched refs:xdp_prog (Results 1 – 25 of 51) sorted by relevance

123

/Linux-v5.4/drivers/net/ethernet/broadcom/bnxt/
Dbnxt_xdp.c114 struct bpf_prog *xdp_prog = READ_ONCE(rxr->xdp_prog); in bnxt_rx_xdp() local
125 if (!xdp_prog) in bnxt_rx_xdp()
144 act = bpf_prog_run_xdp(xdp_prog, &xdp); in bnxt_rx_xdp()
165 trace_xdp_exception(bp->dev, xdp_prog, act); in bnxt_rx_xdp()
188 trace_xdp_exception(bp->dev, xdp_prog, act); in bnxt_rx_xdp()
193 if (xdp_do_redirect(bp->dev, &xdp, xdp_prog)) { in bnxt_rx_xdp()
194 trace_xdp_exception(bp->dev, xdp_prog, act); in bnxt_rx_xdp()
205 trace_xdp_exception(bp->dev, xdp_prog, act); in bnxt_rx_xdp()
218 struct bpf_prog *xdp_prog = READ_ONCE(bp->xdp_prog); in bnxt_xdp_xmit() local
228 !xdp_prog) in bnxt_xdp_xmit()
[all …]
/Linux-v5.4/drivers/net/
Dveth.c53 struct bpf_prog __rcu *xdp_prog; member
256 rcv_xdp = rcu_access_pointer(rq->xdp_prog); in veth_xmit()
418 if (!rcu_access_pointer(rq->xdp_prog)) { in veth_xdp_xmit()
483 if (unlikely(!rcu_access_pointer(rq->xdp_prog))) in veth_xdp_flush()
516 struct bpf_prog *xdp_prog; in veth_xdp_rcv_one() local
521 xdp_prog = rcu_dereference(rq->xdp_prog); in veth_xdp_rcv_one()
522 if (likely(xdp_prog)) { in veth_xdp_rcv_one()
532 act = bpf_prog_run_xdp(xdp_prog, &xdp); in veth_xdp_rcv_one()
544 trace_xdp_exception(rq->dev, xdp_prog, act); in veth_xdp_rcv_one()
555 if (xdp_do_redirect(rq->dev, &xdp, xdp_prog)) { in veth_xdp_rcv_one()
[all …]
Dvirtio_net.c140 struct bpf_prog __rcu *xdp_prog; member
490 struct bpf_prog *xdp_prog; in virtnet_xdp_xmit() local
504 xdp_prog = rcu_dereference(rq->xdp_prog); in virtnet_xdp_xmit()
505 if (!xdp_prog) in virtnet_xdp_xmit()
637 struct bpf_prog *xdp_prog; in receive_small() local
652 xdp_prog = rcu_dereference(rq->xdp_prog); in receive_small()
653 if (xdp_prog) { in receive_small()
690 act = bpf_prog_run_xdp(xdp_prog, &xdp); in receive_small()
706 trace_xdp_exception(vi->dev, xdp_prog, act); in receive_small()
714 err = xdp_do_redirect(dev, &xdp, xdp_prog); in receive_small()
[all …]
Dtun.c241 struct bpf_prog __rcu *xdp_prog; member
863 if (rtnl_dereference(tun->xdp_prog)) in tun_attach()
1199 old_prog = rtnl_dereference(tun->xdp_prog); in tun_xdp_set()
1200 rcu_assign_pointer(tun->xdp_prog, prog); in tun_xdp_set()
1224 const struct bpf_prog *xdp_prog; in tun_xdp_query() local
1226 xdp_prog = rtnl_dereference(tun->xdp_prog); in tun_xdp_query()
1227 if (xdp_prog) in tun_xdp_query()
1228 return xdp_prog->aux->id; in tun_xdp_query()
1623 static int tun_xdp_act(struct tun_struct *tun, struct bpf_prog *xdp_prog, in tun_xdp_act() argument
1630 err = xdp_do_redirect(tun->dev, xdp, xdp_prog); in tun_xdp_act()
[all …]
/Linux-v5.4/drivers/net/ethernet/intel/ixgbe/
Dixgbe_xsk.c14 bool xdp_on = READ_ONCE(adapter->xdp_prog); in ixgbe_xsk_umem()
148 struct bpf_prog *xdp_prog; in ixgbe_run_xdp_zc() local
154 xdp_prog = READ_ONCE(rx_ring->xdp_prog); in ixgbe_run_xdp_zc()
155 act = bpf_prog_run_xdp(xdp_prog, xdp); in ixgbe_run_xdp_zc()
172 err = xdp_do_redirect(rx_ring->netdev, xdp, xdp_prog); in ixgbe_run_xdp_zc()
179 trace_xdp_exception(rx_ring->netdev, xdp_prog, act); in ixgbe_run_xdp_zc()
706 if (!READ_ONCE(adapter->xdp_prog)) in ixgbe_xsk_wakeup()
Dixgbe.h312 struct bpf_prog *xdp_prog; member
561 struct bpf_prog *xdp_prog; member
1039 return !!adapter->xdp_prog; in ixgbe_enabled_xdp_adapter()
/Linux-v5.4/drivers/net/ethernet/intel/i40e/
Di40e_xsk.c196 struct bpf_prog *xdp_prog; in i40e_run_xdp_zc() local
204 xdp_prog = READ_ONCE(rx_ring->xdp_prog); in i40e_run_xdp_zc()
205 act = bpf_prog_run_xdp(xdp_prog, xdp); in i40e_run_xdp_zc()
218 err = xdp_do_redirect(rx_ring->netdev, xdp, xdp_prog); in i40e_run_xdp_zc()
225 trace_xdp_exception(rx_ring->netdev, xdp_prog, act); in i40e_run_xdp_zc()
Di40e_txrx.c1413 rx_ring->xdp_prog = NULL; in i40e_free_rx_resources()
1469 rx_ring->xdp_prog = rx_ring->vsi->xdp_prog; in i40e_setup_rx_descriptors()
2201 struct bpf_prog *xdp_prog; in i40e_run_xdp() local
2205 xdp_prog = READ_ONCE(rx_ring->xdp_prog); in i40e_run_xdp()
2207 if (!xdp_prog) in i40e_run_xdp()
2212 act = bpf_prog_run_xdp(xdp_prog, xdp); in i40e_run_xdp()
2221 err = xdp_do_redirect(rx_ring->netdev, xdp, xdp_prog); in i40e_run_xdp()
2228 trace_xdp_exception(rx_ring->netdev, xdp_prog, act); in i40e_run_xdp()
/Linux-v5.4/drivers/net/ethernet/cavium/thunder/
Dnicvf_main.c800 if (nic->xdp_prog && (cqe_rx->rb_cnt == 1)) { in nicvf_rcv_pkt_handler()
802 if (nicvf_xdp_rx(snic, nic->xdp_prog, cqe_rx, sq, rq, &skb)) in nicvf_rcv_pkt_handler()
806 nic->xdp_prog ? true : false); in nicvf_rcv_pkt_handler()
926 if (nic->pnicvf->xdp_prog) { in nicvf_cq_intr_handler()
1273 if (nic->xdp_prog) in nicvf_xmit()
1592 if (nic->xdp_prog && new_mtu > MAX_XDP_MTU) { in nicvf_change_mtu()
1872 old_prog = xchg(&nic->xdp_prog, prog); in nicvf_xdp_setup()
1877 if (nic->xdp_prog) { in nicvf_xdp_setup()
1879 nic->xdp_prog = bpf_prog_add(nic->xdp_prog, nic->rx_queues - 1); in nicvf_xdp_setup()
1880 if (!IS_ERR(nic->xdp_prog)) { in nicvf_xdp_setup()
[all …]
/Linux-v5.4/drivers/net/ethernet/socionext/
Dnetsec.c293 struct bpf_prog *xdp_prog; member
930 struct bpf_prog *xdp_prog; in netsec_process_rx() local
937 xdp_prog = READ_ONCE(priv->xdp_prog); in netsec_process_rx()
999 if (xdp_prog) { in netsec_process_rx()
1000 xdp_result = netsec_run_xdp(priv, xdp_prog, &xdp); in netsec_process_rx()
1273 struct bpf_prog *xdp_prog = READ_ONCE(priv->xdp_prog); in netsec_setup_rx_dring() local
1283 pp_params.dma_dir = xdp_prog ? DMA_BIDIRECTIONAL : DMA_FROM_DEVICE; in netsec_setup_rx_dring()
1789 old_prog = xchg(&priv->xdp_prog, prog); in netsec_xdp_setup()
1807 xdp->prog_id = priv->xdp_prog ? priv->xdp_prog->aux->id : 0; in netsec_xdp()
/Linux-v5.4/drivers/net/ethernet/mellanox/mlx5/core/en/xsk/
Dumem.c131 if (!params->xdp_prog) { in mlx5e_xsk_enable_locked()
193 if (!priv->channels.params.xdp_prog) in mlx5e_xsk_disable_locked()
/Linux-v5.4/drivers/net/ethernet/mellanox/mlx5/core/
Den_main.c111 if (params->xdp_prog) { in mlx5e_striding_rq_possible()
411 rq->xdp_prog = params->xdp_prog ? bpf_prog_inc(params->xdp_prog) : NULL; in mlx5e_alloc_rq()
412 if (IS_ERR(rq->xdp_prog)) { in mlx5e_alloc_rq()
413 err = PTR_ERR(rq->xdp_prog); in mlx5e_alloc_rq()
414 rq->xdp_prog = NULL; in mlx5e_alloc_rq()
425 rq->buff.map_dir = rq->xdp_prog ? DMA_BIDIRECTIONAL : DMA_FROM_DEVICE; in mlx5e_alloc_rq()
632 if (rq->xdp_prog) in mlx5e_alloc_rq()
633 bpf_prog_put(rq->xdp_prog); in mlx5e_alloc_rq()
645 if (rq->xdp_prog) in mlx5e_free_rq()
646 bpf_prog_put(rq->xdp_prog); in mlx5e_free_rq()
[all …]
/Linux-v5.4/drivers/net/ethernet/mellanox/mlx4/
Den_rx.c438 ring->xdp_prog, in mlx4_en_destroy_rx_ring()
669 struct bpf_prog *xdp_prog; in mlx4_en_process_rx_cq() local
684 xdp_prog = rcu_dereference(ring->xdp_prog); in mlx4_en_process_rx_cq()
769 if (xdp_prog) { in mlx4_en_process_rx_cq()
785 act = bpf_prog_run_xdp(xdp_prog, &xdp); in mlx4_en_process_rx_cq()
804 trace_xdp_exception(dev, xdp_prog, act); in mlx4_en_process_rx_cq()
810 trace_xdp_exception(dev, xdp_prog, act); in mlx4_en_process_rx_cq()
Den_netdev.c2276 struct bpf_prog *xdp_prog; in mlx4_en_try_alloc_resources() local
2293 xdp_prog = rcu_dereference_protected( in mlx4_en_try_alloc_resources()
2294 priv->rx_ring[0]->xdp_prog, in mlx4_en_try_alloc_resources()
2297 if (xdp_prog && carry_xdp_prog) { in mlx4_en_try_alloc_resources()
2298 xdp_prog = bpf_prog_add(xdp_prog, tmp->rx_ring_num); in mlx4_en_try_alloc_resources()
2299 if (IS_ERR(xdp_prog)) { in mlx4_en_try_alloc_resources()
2301 return PTR_ERR(xdp_prog); in mlx4_en_try_alloc_resources()
2304 rcu_assign_pointer(tmp->rx_ring[i]->xdp_prog, in mlx4_en_try_alloc_resources()
2305 xdp_prog); in mlx4_en_try_alloc_resources()
2802 priv->rx_ring[i]->xdp_prog, in mlx4_xdp_set()
[all …]
/Linux-v5.4/drivers/net/ethernet/netronome/nfp/
Dnfp_net_common.c1379 if (!dp->xdp_prog) { in nfp_net_rx_alloc_one()
1394 nfp_net_free_frag(frag, dp->xdp_prog); in nfp_net_rx_alloc_one()
1406 if (!dp->xdp_prog) { in nfp_net_napi_alloc_one()
1421 nfp_net_free_frag(frag, dp->xdp_prog); in nfp_net_napi_alloc_one()
1519 nfp_net_free_frag(rx_ring->rxbufs[i].frag, dp->xdp_prog); in nfp_net_rx_ring_bufs_free()
1807 struct bpf_prog *xdp_prog; in nfp_net_rx() local
1816 xdp_prog = READ_ONCE(dp->xdp_prog); in nfp_net_rx()
1817 true_bufsz = xdp_prog ? PAGE_SIZE : dp->fl_bufsz; in nfp_net_rx()
1906 if (xdp_prog && !meta.portid) { in nfp_net_rx()
1916 act = bpf_prog_run_xdp(xdp_prog, &xdp); in nfp_net_rx()
[all …]
/Linux-v5.4/drivers/net/ethernet/intel/ixgbevf/
Dixgbevf_main.c1066 struct bpf_prog *xdp_prog; in ixgbevf_run_xdp() local
1070 xdp_prog = READ_ONCE(rx_ring->xdp_prog); in ixgbevf_run_xdp()
1072 if (!xdp_prog) in ixgbevf_run_xdp()
1075 act = bpf_prog_run_xdp(xdp_prog, xdp); in ixgbevf_run_xdp()
1087 trace_xdp_exception(rx_ring->netdev, xdp_prog, act); in ixgbevf_run_xdp()
2629 if (adapter->xdp_prog && in ixgbevf_set_num_queues()
2635 adapter->num_xdp_queues = adapter->xdp_prog ? rss : 0; in ixgbevf_set_num_queues()
3493 rx_ring->xdp_prog = adapter->xdp_prog; in ixgbevf_setup_rx_resources()
3543 rx_ring->xdp_prog = NULL; in ixgbevf_free_rx_resources()
4264 if (adapter->xdp_prog) { in ixgbevf_change_mtu()
[all …]
Dixgbevf.h94 struct bpf_prog *xdp_prog; member
360 struct bpf_prog *xdp_prog; member
/Linux-v5.4/drivers/net/ethernet/mellanox/mlx5/core/en/
Dparams.c9 return params->xdp_prog || xsk; in mlx5e_rx_is_xdp()
/Linux-v5.4/drivers/net/ethernet/qlogic/qede/
Dqede_main.c917 if (edev->xdp_prog) { in qede_alloc_fp_array()
1393 rxq->rx_headroom = edev->xdp_prog ? XDP_PACKET_HEADROOM : NET_SKB_PAD; in qede_alloc_mem_rxq()
1404 if (!edev->xdp_prog) { in qede_alloc_mem_rxq()
1967 bpf_prog_put(fp->rxq->xdp_prog); in qede_stop_queues()
2118 fp->rxq->xdp_prog = bpf_prog_add(edev->xdp_prog, 1); in qede_start_queues()
2119 if (IS_ERR(fp->rxq->xdp_prog)) { in qede_start_queues()
2120 rc = PTR_ERR(fp->rxq->xdp_prog); in qede_start_queues()
2121 fp->rxq->xdp_prog = NULL; in qede_start_queues()
Dqede.h278 struct bpf_prog *xdp_prog; member
340 struct bpf_prog *xdp_prog; member
Dqede_fp.c1205 struct bpf_prog *xdp_prog = READ_ONCE(rxq->xdp_prog); in qede_rx_process_cqe() local
1243 if (xdp_prog) in qede_rx_process_cqe()
1244 if (!qede_rx_xdp(edev, fp, rxq, xdp_prog, bd, fp_cqe, in qede_rx_process_cqe()
Dqede_filter.c942 if (edev->xdp_prog || edev->ndev->mtu > PAGE_SIZE || in qede_fix_features()
969 if (edev->xdp_prog) in qede_set_features()
1097 old = xchg(&edev->xdp_prog, args->u.new_prog); in qede_xdp_reload_func()
1122 xdp->prog_id = edev->xdp_prog ? edev->xdp_prog->aux->id : 0; in qede_xdp()
/Linux-v5.4/drivers/net/ethernet/freescale/dpaa2/
Ddpaa2-eth.c282 struct bpf_prog *xdp_prog; in run_xdp() local
291 xdp_prog = READ_ONCE(ch->xdp.prog); in run_xdp()
292 if (!xdp_prog) in run_xdp()
301 xdp_act = bpf_prog_run_xdp(xdp_prog, &xdp); in run_xdp()
326 trace_xdp_exception(priv->net_dev, xdp_prog, xdp_act); in run_xdp()
337 err = xdp_do_redirect(priv->net_dev, &xdp, xdp_prog); in run_xdp()
396 WARN_ON(priv->xdp_prog); in dpaa2_eth_rx()
1723 if (!priv->xdp_prog) in dpaa2_eth_change_mtu()
1782 need_update = (!!priv->xdp_prog != !!prog); in setup_xdp()
1801 old = xchg(&priv->xdp_prog, prog); in setup_xdp()
[all …]
Ddpaa2-eth.h406 struct bpf_prog *xdp_prog; member
/Linux-v5.4/kernel/bpf/
Ddevmap.c464 struct bpf_prog *xdp_prog) in dev_map_generic_redirect() argument
472 generic_xdp_tx(skb, xdp_prog); in dev_map_generic_redirect()

123