Home
last modified time | relevance | path

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

12

/Linux-v4.19/drivers/net/ethernet/broadcom/bnxt/
Dbnxt_xdp.c76 struct bpf_prog *xdp_prog = READ_ONCE(rxr->xdp_prog); in bnxt_rx_xdp() local
87 if (!xdp_prog) in bnxt_rx_xdp()
106 act = bpf_prog_run_xdp(xdp_prog, &xdp); in bnxt_rx_xdp()
127 trace_xdp_exception(bp->dev, xdp_prog, act); in bnxt_rx_xdp()
143 trace_xdp_exception(bp->dev, xdp_prog, act); in bnxt_rx_xdp()
183 old = xchg(&bp->xdp_prog, prog); in bnxt_xdp_set()
222 xdp->prog_id = bp->xdp_prog ? bp->xdp_prog->aux->id : 0; in bnxt_xdp()
/Linux-v4.19/drivers/net/
Dveth.c48 struct bpf_prog __rcu *xdp_prog; member
199 rcv_xdp = rcu_access_pointer(rq->xdp_prog); in veth_xmit()
319 if (!rcu_access_pointer(rq->xdp_prog)) in veth_xdp_xmit()
357 if (unlikely(!rcu_access_pointer(rq->xdp_prog))) in veth_xdp_flush()
383 struct bpf_prog *xdp_prog; in veth_xdp_rcv_one() local
388 xdp_prog = rcu_dereference(rq->xdp_prog); in veth_xdp_rcv_one()
389 if (likely(xdp_prog)) { in veth_xdp_rcv_one()
399 act = bpf_prog_run_xdp(xdp_prog, &xdp); in veth_xdp_rcv_one()
411 trace_xdp_exception(rq->dev, xdp_prog, act); in veth_xdp_rcv_one()
422 if (xdp_do_redirect(rq->dev, &xdp, xdp_prog)) { in veth_xdp_rcv_one()
[all …]
Dvirtio_net.c150 struct bpf_prog __rcu *xdp_prog; member
482 struct bpf_prog *xdp_prog; in virtnet_xdp_xmit() local
501 xdp_prog = rcu_dereference(rq->xdp_prog); in virtnet_xdp_xmit()
502 if (!xdp_prog) { in virtnet_xdp_xmit()
615 struct bpf_prog *xdp_prog; in receive_small() local
630 xdp_prog = rcu_dereference(rq->xdp_prog); in receive_small()
631 if (xdp_prog) { in receive_small()
668 act = bpf_prog_run_xdp(xdp_prog, &xdp); in receive_small()
684 trace_xdp_exception(vi->dev, xdp_prog, act); in receive_small()
692 err = xdp_do_redirect(dev, &xdp, xdp_prog); in receive_small()
[all …]
Dtun.c247 struct bpf_prog __rcu *xdp_prog; member
1210 old_prog = rtnl_dereference(tun->xdp_prog); in tun_xdp_set()
1211 rcu_assign_pointer(tun->xdp_prog, prog); in tun_xdp_set()
1221 const struct bpf_prog *xdp_prog; in tun_xdp_query() local
1223 xdp_prog = rtnl_dereference(tun->xdp_prog); in tun_xdp_query()
1224 if (xdp_prog) in tun_xdp_query()
1225 return xdp_prog->aux->id; in tun_xdp_query()
1586 struct bpf_prog *xdp_prog; in tun_build_skb() local
1594 xdp_prog = rcu_dereference(tun->xdp_prog); in tun_build_skb()
1595 if (xdp_prog) in tun_build_skb()
[all …]
/Linux-v4.19/drivers/net/ethernet/mellanox/mlx4/
Den_rx.c441 ring->xdp_prog, in mlx4_en_destroy_rx_ring()
659 struct bpf_prog *xdp_prog; in mlx4_en_process_rx_cq() local
674 xdp_prog = rcu_dereference(ring->xdp_prog); in mlx4_en_process_rx_cq()
759 if (xdp_prog) { in mlx4_en_process_rx_cq()
775 act = bpf_prog_run_xdp(xdp_prog, &xdp); in mlx4_en_process_rx_cq()
794 trace_xdp_exception(dev, xdp_prog, act); in mlx4_en_process_rx_cq()
800 trace_xdp_exception(dev, xdp_prog, act); in mlx4_en_process_rx_cq()
Den_netdev.c2268 struct bpf_prog *xdp_prog; in mlx4_en_try_alloc_resources() local
2285 xdp_prog = rcu_dereference_protected( in mlx4_en_try_alloc_resources()
2286 priv->rx_ring[0]->xdp_prog, in mlx4_en_try_alloc_resources()
2289 if (xdp_prog && carry_xdp_prog) { in mlx4_en_try_alloc_resources()
2290 xdp_prog = bpf_prog_add(xdp_prog, tmp->rx_ring_num); in mlx4_en_try_alloc_resources()
2291 if (IS_ERR(xdp_prog)) { in mlx4_en_try_alloc_resources()
2293 return PTR_ERR(xdp_prog); in mlx4_en_try_alloc_resources()
2296 rcu_assign_pointer(tmp->rx_ring[i]->xdp_prog, in mlx4_en_try_alloc_resources()
2297 xdp_prog); in mlx4_en_try_alloc_resources()
2810 priv->rx_ring[i]->xdp_prog, in mlx4_xdp_set()
[all …]
/Linux-v4.19/drivers/net/ethernet/cavium/thunder/
Dnicvf_main.c779 if (nic->xdp_prog && (cqe_rx->rb_cnt == 1)) { in nicvf_rcv_pkt_handler()
781 if (nicvf_xdp_rx(snic, nic->xdp_prog, cqe_rx, sq, rq, &skb)) in nicvf_rcv_pkt_handler()
785 nic->xdp_prog ? true : false); in nicvf_rcv_pkt_handler()
905 if (nic->pnicvf->xdp_prog) { in nicvf_cq_intr_handler()
1252 if (nic->xdp_prog) in nicvf_xmit()
1812 old_prog = xchg(&nic->xdp_prog, prog); in nicvf_xdp_setup()
1817 if (nic->xdp_prog) { in nicvf_xdp_setup()
1819 nic->xdp_prog = bpf_prog_add(nic->xdp_prog, nic->rx_queues - 1); in nicvf_xdp_setup()
1820 if (!IS_ERR(nic->xdp_prog)) in nicvf_xdp_setup()
1851 xdp->prog_id = nic->xdp_prog ? nic->xdp_prog->aux->id : 0; in nicvf_xdp()
/Linux-v4.19/drivers/net/ethernet/netronome/nfp/
Dnfp_net_common.c1208 if (!dp->xdp_prog) { in nfp_net_rx_alloc_one()
1223 nfp_net_free_frag(frag, dp->xdp_prog); in nfp_net_rx_alloc_one()
1235 if (!dp->xdp_prog) { in nfp_net_napi_alloc_one()
1250 nfp_net_free_frag(frag, dp->xdp_prog); in nfp_net_napi_alloc_one()
1348 nfp_net_free_frag(rx_ring->rxbufs[i].frag, dp->xdp_prog); in nfp_net_rx_ring_bufs_free()
1636 struct bpf_prog *xdp_prog; in nfp_net_rx() local
1645 xdp_prog = READ_ONCE(dp->xdp_prog); in nfp_net_rx()
1646 true_bufsz = xdp_prog ? PAGE_SIZE : dp->fl_bufsz; in nfp_net_rx()
1734 if (xdp_prog && !meta.portid) { in nfp_net_rx()
1744 act = bpf_prog_run_xdp(xdp_prog, &xdp); in nfp_net_rx()
[all …]
/Linux-v4.19/drivers/net/ethernet/mellanox/mlx5/core/
Den_main.c102 u16 linear_rq_headroom = params->xdp_prog ? in mlx5e_rx_get_linear_frag_sz()
110 if (params->xdp_prog && frag_sz < PAGE_SIZE) in mlx5e_rx_get_linear_frag_sz()
180 u16 linear_rq_headroom = params->xdp_prog ? in mlx5e_get_rq_headroom()
215 !(params->xdp_prog && !mlx5e_rx_mpwqe_is_linear_skb(mdev, params)); in mlx5e_striding_rq_possible()
497 rq->xdp_prog = params->xdp_prog ? bpf_prog_inc(params->xdp_prog) : NULL; in mlx5e_alloc_rq()
498 if (IS_ERR(rq->xdp_prog)) { in mlx5e_alloc_rq()
499 err = PTR_ERR(rq->xdp_prog); in mlx5e_alloc_rq()
500 rq->xdp_prog = NULL; in mlx5e_alloc_rq()
508 rq->buff.map_dir = rq->xdp_prog ? DMA_BIDIRECTIONAL : DMA_FROM_DEVICE; in mlx5e_alloc_rq()
686 if (rq->xdp_prog) in mlx5e_alloc_rq()
[all …]
Den.h257 struct bpf_prog *xdp_prog; member
573 struct bpf_prog *xdp_prog; member
/Linux-v4.19/drivers/net/ethernet/intel/ixgbevf/
Dixgbevf.h93 struct bpf_prog *xdp_prog; member
356 struct bpf_prog *xdp_prog; member
Dixgbevf_main.c1058 struct bpf_prog *xdp_prog; in ixgbevf_run_xdp() local
1062 xdp_prog = READ_ONCE(rx_ring->xdp_prog); in ixgbevf_run_xdp()
1064 if (!xdp_prog) in ixgbevf_run_xdp()
1067 act = bpf_prog_run_xdp(xdp_prog, xdp); in ixgbevf_run_xdp()
1079 trace_xdp_exception(rx_ring->netdev, xdp_prog, act); in ixgbevf_run_xdp()
2608 if (adapter->xdp_prog && in ixgbevf_set_num_queues()
2614 adapter->num_xdp_queues = adapter->xdp_prog ? rss : 0; in ixgbevf_set_num_queues()
3472 rx_ring->xdp_prog = adapter->xdp_prog; in ixgbevf_setup_rx_resources()
3522 rx_ring->xdp_prog = NULL; in ixgbevf_free_rx_resources()
4212 if (adapter->xdp_prog) { in ixgbevf_change_mtu()
[all …]
/Linux-v4.19/drivers/net/ethernet/qlogic/qede/
Dqede_main.c937 if (edev->xdp_prog) { in qede_alloc_fp_array()
1338 rxq->rx_headroom = edev->xdp_prog ? XDP_PACKET_HEADROOM : NET_SKB_PAD; in qede_alloc_mem_rxq()
1349 if (!edev->xdp_prog) { in qede_alloc_mem_rxq()
1856 bpf_prog_put(fp->rxq->xdp_prog); in qede_stop_queues()
2002 fp->rxq->xdp_prog = bpf_prog_add(edev->xdp_prog, 1); in qede_start_queues()
2003 if (IS_ERR(fp->rxq->xdp_prog)) { in qede_start_queues()
2004 rc = PTR_ERR(fp->rxq->xdp_prog); in qede_start_queues()
2005 fp->rxq->xdp_prog = NULL; in qede_start_queues()
Dqede.h257 struct bpf_prog *xdp_prog; member
317 struct bpf_prog *xdp_prog; member
Dqede_fp.c1214 struct bpf_prog *xdp_prog = READ_ONCE(rxq->xdp_prog); in qede_rx_process_cqe() local
1252 if (xdp_prog) in qede_rx_process_cqe()
1253 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-v4.19/drivers/net/ethernet/intel/i40e/
Di40e_txrx.c1425 rx_ring->xdp_prog = NULL; in i40e_free_rx_resources()
1481 rx_ring->xdp_prog = rx_ring->vsi->xdp_prog; in i40e_setup_rx_descriptors()
2231 struct bpf_prog *xdp_prog; in i40e_run_xdp() local
2235 xdp_prog = READ_ONCE(rx_ring->xdp_prog); in i40e_run_xdp()
2237 if (!xdp_prog) in i40e_run_xdp()
2242 act = bpf_prog_run_xdp(xdp_prog, xdp); in i40e_run_xdp()
2251 err = xdp_do_redirect(rx_ring->netdev, xdp, xdp_prog); in i40e_run_xdp()
2258 trace_xdp_exception(rx_ring->netdev, xdp_prog, act); in i40e_run_xdp()
Di40e_txrx.h353 struct bpf_prog *xdp_prog; member
/Linux-v4.19/kernel/bpf/
Ddevmap.c359 struct bpf_prog *xdp_prog) in dev_map_generic_redirect() argument
367 generic_xdp_tx(skb, xdp_prog); in dev_map_generic_redirect()
/Linux-v4.19/include/linux/
Dbpf.h516 struct bpf_prog *xdp_prog);
614 struct bpf_prog *xdp_prog) in dev_map_generic_redirect() argument
/Linux-v4.19/net/core/
Ddev.c4275 struct bpf_prog *xdp_prog) in netif_receive_generic_xdp() argument
4324 act = bpf_prog_run_xdp(xdp_prog, xdp); in netif_receive_generic_xdp()
4357 trace_xdp_exception(skb->dev, xdp_prog, act); in netif_receive_generic_xdp()
4371 void generic_xdp_tx(struct sk_buff *skb, struct bpf_prog *xdp_prog) in generic_xdp_tx() argument
4388 trace_xdp_exception(dev, xdp_prog, XDP_TX); in generic_xdp_tx()
4396 int do_xdp_generic(struct bpf_prog *xdp_prog, struct sk_buff *skb) in do_xdp_generic() argument
4398 if (xdp_prog) { in do_xdp_generic()
4403 act = netif_receive_generic_xdp(skb, &xdp, xdp_prog); in do_xdp_generic()
4408 &xdp, xdp_prog); in do_xdp_generic()
4413 generic_xdp_tx(skb, xdp_prog); in do_xdp_generic()
[all …]
Dfilter.c3273 struct bpf_prog *xdp_prog, struct bpf_map *map) in xdp_do_redirect_map() argument
3296 _trace_xdp_redirect_map(dev, xdp_prog, fwd, map, index); in xdp_do_redirect_map()
3299 _trace_xdp_redirect_map_err(dev, xdp_prog, fwd, map, index, err); in xdp_do_redirect_map()
3304 struct bpf_prog *xdp_prog) in xdp_do_redirect() argument
3313 return xdp_do_redirect_map(dev, xdp, xdp_prog, map); in xdp_do_redirect()
3326 _trace_xdp_redirect(dev, xdp_prog, index); in xdp_do_redirect()
3329 _trace_xdp_redirect_err(dev, xdp_prog, index, err); in xdp_do_redirect()
3337 struct bpf_prog *xdp_prog, in xdp_do_generic_redirect_map() argument
3357 err = dev_map_generic_redirect(dst, skb, xdp_prog); in xdp_do_generic_redirect_map()
3373 _trace_xdp_redirect_map(dev, xdp_prog, fwd, map, index); in xdp_do_generic_redirect_map()
[all …]
/Linux-v4.19/drivers/net/ethernet/mellanox/mlx5/core/en/
Dxdp.c57 struct bpf_prog *prog = READ_ONCE(rq->xdp_prog); in mlx5e_xdp_handle()
/Linux-v4.19/drivers/net/ethernet/intel/ixgbe/
Dixgbe.h309 struct bpf_prog *xdp_prog; member
554 struct bpf_prog *xdp_prog; member
Dixgbe_main.c2202 struct bpf_prog *xdp_prog; in ixgbe_run_xdp() local
2207 xdp_prog = READ_ONCE(rx_ring->xdp_prog); in ixgbe_run_xdp()
2209 if (!xdp_prog) in ixgbe_run_xdp()
2214 act = bpf_prog_run_xdp(xdp_prog, xdp); in ixgbe_run_xdp()
2227 err = xdp_do_redirect(adapter->netdev, xdp, xdp_prog); in ixgbe_run_xdp()
2237 trace_xdp_exception(rx_ring->netdev, xdp_prog, act); in ixgbe_run_xdp()
6483 rx_ring->xdp_prog = adapter->xdp_prog; in ixgbe_setup_rx_resources()
6579 rx_ring->xdp_prog = NULL; in ixgbe_free_rx_resources()
6624 if (adapter->xdp_prog) { in ixgbe_change_mtu()
8976 if (adapter->xdp_prog) { in ixgbe_setup_tc()
[all …]

12