/Linux-v4.19/drivers/net/ethernet/broadcom/bnxt/ |
D | bnxt_xdp.c | 76 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/ |
D | veth.c | 48 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 …]
|
D | virtio_net.c | 150 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 …]
|
D | tun.c | 247 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/ |
D | en_rx.c | 441 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()
|
D | en_netdev.c | 2268 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/ |
D | nicvf_main.c | 779 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/ |
D | nfp_net_common.c | 1208 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/ |
D | en_main.c | 102 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 …]
|
D | en.h | 257 struct bpf_prog *xdp_prog; member 573 struct bpf_prog *xdp_prog; member
|
/Linux-v4.19/drivers/net/ethernet/intel/ixgbevf/ |
D | ixgbevf.h | 93 struct bpf_prog *xdp_prog; member 356 struct bpf_prog *xdp_prog; member
|
D | ixgbevf_main.c | 1058 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/ |
D | qede_main.c | 937 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()
|
D | qede.h | 257 struct bpf_prog *xdp_prog; member 317 struct bpf_prog *xdp_prog; member
|
D | qede_fp.c | 1214 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()
|
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-v4.19/drivers/net/ethernet/intel/i40e/ |
D | i40e_txrx.c | 1425 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()
|
D | i40e_txrx.h | 353 struct bpf_prog *xdp_prog; member
|
/Linux-v4.19/kernel/bpf/ |
D | devmap.c | 359 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/ |
D | bpf.h | 516 struct bpf_prog *xdp_prog); 614 struct bpf_prog *xdp_prog) in dev_map_generic_redirect() argument
|
/Linux-v4.19/net/core/ |
D | dev.c | 4275 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 …]
|
D | filter.c | 3273 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/ |
D | xdp.c | 57 struct bpf_prog *prog = READ_ONCE(rq->xdp_prog); in mlx5e_xdp_handle()
|
/Linux-v4.19/drivers/net/ethernet/intel/ixgbe/ |
D | ixgbe.h | 309 struct bpf_prog *xdp_prog; member 554 struct bpf_prog *xdp_prog; member
|
D | ixgbe_main.c | 2202 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 …]
|