| /Linux-v5.4/drivers/net/ethernet/broadcom/bnxt/ |
| D | bnxt_xdp.c | 114 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/ |
| D | veth.c | 53 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 …]
|
| D | virtio_net.c | 140 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 …]
|
| D | tun.c | 241 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/ |
| D | ixgbe_xsk.c | 14 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()
|
| D | ixgbe.h | 312 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/ |
| D | i40e_xsk.c | 196 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()
|
| D | i40e_txrx.c | 1413 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/ |
| D | nicvf_main.c | 800 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/ |
| D | netsec.c | 293 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/ |
| D | umem.c | 131 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/ |
| D | en_main.c | 111 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/ |
| D | en_rx.c | 438 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()
|
| D | en_netdev.c | 2276 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/ |
| D | nfp_net_common.c | 1379 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/ |
| D | ixgbevf_main.c | 1066 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 …]
|
| D | ixgbevf.h | 94 struct bpf_prog *xdp_prog; member 360 struct bpf_prog *xdp_prog; member
|
| /Linux-v5.4/drivers/net/ethernet/mellanox/mlx5/core/en/ |
| D | params.c | 9 return params->xdp_prog || xsk; in mlx5e_rx_is_xdp()
|
| /Linux-v5.4/drivers/net/ethernet/qlogic/qede/ |
| D | qede_main.c | 917 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()
|
| D | qede.h | 278 struct bpf_prog *xdp_prog; member 340 struct bpf_prog *xdp_prog; member
|
| D | qede_fp.c | 1205 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()
|
| D | qede_filter.c | 942 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/ |
| D | dpaa2-eth.c | 282 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 …]
|
| D | dpaa2-eth.h | 406 struct bpf_prog *xdp_prog; member
|
| /Linux-v5.4/kernel/bpf/ |
| D | devmap.c | 464 struct bpf_prog *xdp_prog) in dev_map_generic_redirect() argument 472 generic_xdp_tx(skb, xdp_prog); in dev_map_generic_redirect()
|