Home
last modified time | relevance | path

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

12345

/linux/drivers/net/ethernet/microchip/lan966x/
H A Dlan966x_xdp.c24 old_prog = xchg(&port->xdp_prog, xdp->prog); in lan966x_xdp_setup()
32 xchg(&port->xdp_prog, old_prog); in lan966x_xdp_setup()
77 struct bpf_prog *xdp_prog = port->xdp_prog; in lan966x_xdp_run() local
87 act = bpf_prog_run_xdp(xdp_prog, &xdp); in lan966x_xdp_run()
96 if (xdp_do_redirect(port->dev, &xdp, xdp_prog)) in lan966x_xdp_run()
101 bpf_warn_invalid_xdp_action(port->dev, xdp_prog, act); in lan966x_xdp_run()
104 trace_xdp_exception(port->dev, xdp_prog, act); in lan966x_xdp_run()
/linux/drivers/net/ethernet/amazon/ena/
H A Dena_xdp.h85 struct bpf_prog *xdp_prog; in ena_xdp_execute() local
90 xdp_prog = READ_ONCE(rx_ring->xdp_bpf_prog); in ena_xdp_execute()
92 verdict = bpf_prog_run_xdp(xdp_prog, xdp); in ena_xdp_execute()
98 trace_xdp_exception(rx_ring->netdev, xdp_prog, verdict); in ena_xdp_execute()
119 if (likely(!xdp_do_redirect(rx_ring->netdev, xdp, xdp_prog))) { in ena_xdp_execute()
124 trace_xdp_exception(rx_ring->netdev, xdp_prog, verdict); in ena_xdp_execute()
129 trace_xdp_exception(rx_ring->netdev, xdp_prog, verdict); in ena_xdp_execute()
142 bpf_warn_invalid_xdp_action(rx_ring->netdev, xdp_prog, verdict); in ena_xdp_execute()
/linux/drivers/net/ethernet/broadcom/bnxt/
H A Dbnxt_xdp.c177 struct bpf_prog *xdp_prog = READ_ONCE(rxr->xdp_prog); in bnxt_xdp_attached() local
179 return !!xdp_prog; in bnxt_xdp_attached()
228 struct bpf_prog *xdp_prog = READ_ONCE(rxr->xdp_prog); in bnxt_rx_xdp() local
239 if (!xdp_prog) in bnxt_rx_xdp()
249 act = bpf_prog_run_xdp(xdp_prog, xdp); in bnxt_rx_xdp()
279 trace_xdp_exception(bp->dev, xdp_prog, act); in bnxt_rx_xdp()
302 trace_xdp_exception(bp->dev, xdp_prog, act); in bnxt_rx_xdp()
308 if (xdp_do_redirect(bp->dev, xdp, xdp_prog)) { in bnxt_rx_xdp()
309 trace_xdp_exception(bp->dev, xdp_prog, act); in bnxt_rx_xdp()
317 bpf_warn_invalid_xdp_action(bp->dev, xdp_prog, act); in bnxt_rx_xdp()
[all …]
/linux/drivers/net/ethernet/sfc/siena/
H A Drx.c256 struct bpf_prog *xdp_prog; in efx_do_xdp() local
263 xdp_prog = rcu_dereference_bh(efx->xdp_prog); in efx_do_xdp()
264 if (!xdp_prog) in efx_do_xdp()
294 xdp_act = bpf_prog_run_xdp(xdp_prog, &xdp); in efx_do_xdp()
320 trace_xdp_exception(efx->net_dev, xdp_prog, xdp_act); in efx_do_xdp()
327 err = xdp_do_redirect(efx->net_dev, &xdp, xdp_prog); in efx_do_xdp()
334 trace_xdp_exception(efx->net_dev, xdp_prog, xdp_act); in efx_do_xdp()
341 bpf_warn_invalid_xdp_action(efx->net_dev, xdp_prog, xdp_act); in efx_do_xdp()
344 trace_xdp_exception(efx->net_dev, xdp_prog, xdp_act); in efx_do_xdp()
348 trace_xdp_exception(efx->net_dev, xdp_prog, xdp_act); in efx_do_xdp()
/linux/drivers/net/ethernet/freescale/dpaa2/
H A Ddpaa2-xsk.c38 struct bpf_prog *xdp_prog; in dpaa2_xsk_run_xdp() local
44 xdp_prog = READ_ONCE(ch->xdp.prog); in dpaa2_xsk_run_xdp()
45 if (!xdp_prog) in dpaa2_xsk_run_xdp()
59 xdp_act = bpf_prog_run_xdp(xdp_prog, xdp_buff); in dpaa2_xsk_run_xdp()
66 err = xdp_do_redirect(priv->net_dev, xdp_buff, xdp_prog); in dpaa2_xsk_run_xdp()
85 bpf_warn_invalid_xdp_action(priv->net_dev, xdp_prog, xdp_act); in dpaa2_xsk_run_xdp()
88 trace_xdp_exception(priv->net_dev, xdp_prog, xdp_act); in dpaa2_xsk_run_xdp()
122 WARN_ON(priv->xdp_prog); in dpaa2_xsk_rx()
317 if (!priv->xdp_prog) in dpaa2_xsk_wakeup()
/linux/drivers/net/ethernet/intel/idpf/
H A Dxdp.c137 old = rcu_replace_pointer(rxq->xdp_prog, prog, lockdep_rtnl_is_held()); in idpf_xdp_rxq_assign_prog()
145 struct bpf_prog *xdp_prog) in idpf_xdp_copy_prog_to_rqs() argument
147 idpf_rxq_for_each(rsrc, idpf_xdp_rxq_assign_prog, xdp_prog); in idpf_xdp_copy_prog_to_rqs()
463 !!vport->xdp_prog == !!prog) { in idpf_xdp_setup_prog()
467 old = xchg(&vport->xdp_prog, prog); in idpf_xdp_setup_prog()
471 cfg->user_config.xdp_prog = prog; in idpf_xdp_setup_prog()
482 old = cfg->user_config.xdp_prog; in idpf_xdp_setup_prog()
483 cfg->user_config.xdp_prog = prog; in idpf_xdp_setup_prog()
490 cfg->user_config.xdp_prog = old; in idpf_xdp_setup_prog()
497 libeth_xdp_set_redirect(vport->netdev, vport->xdp_prog); in idpf_xdp_setup_prog()
/linux/drivers/net/vmxnet3/
H A Dvmxnet3_xdp.c340 struct bpf_prog *xdp_prog; in vmxnet3_process_xdp_small() local
359 xdp_prog = rcu_dereference(rq->adapter->xdp_bpf_prog); in vmxnet3_process_xdp_small()
360 if (!xdp_prog) { in vmxnet3_process_xdp_small()
364 act = vmxnet3_run_xdp(rq, &xdp, xdp_prog); in vmxnet3_process_xdp_small()
385 struct bpf_prog *xdp_prog; in vmxnet3_process_xdp() local
403 xdp_prog = rcu_dereference(rq->adapter->xdp_bpf_prog); in vmxnet3_process_xdp()
404 if (!xdp_prog) { in vmxnet3_process_xdp()
408 act = vmxnet3_run_xdp(rq, &xdp, xdp_prog); in vmxnet3_process_xdp()
/linux/drivers/net/ethernet/intel/igb/
H A Digb_xsk.c296 struct bpf_prog *xdp_prog) in igb_run_xdp_zc() argument
303 act = bpf_prog_run_xdp(xdp_prog, xdp); in igb_run_xdp_zc()
306 err = xdp_do_redirect(adapter->netdev, xdp, xdp_prog); in igb_run_xdp_zc()
327 bpf_warn_invalid_xdp_action(adapter->netdev, xdp_prog, act); in igb_run_xdp_zc()
331 trace_xdp_exception(rx_ring->netdev, xdp_prog, act); in igb_run_xdp_zc()
348 struct bpf_prog *xdp_prog; in igb_clean_rx_irq_zc() local
355 xdp_prog = READ_ONCE(rx_ring->xdp_prog); in igb_clean_rx_irq_zc()
393 xdp_prog); in igb_clean_rx_irq_zc()
/linux/drivers/net/ethernet/intel/i40e/
H A Di40e_xsk.c199 struct bpf_prog *xdp_prog) in i40e_run_xdp_zc() argument
205 act = bpf_prog_run_xdp(xdp_prog, xdp); in i40e_run_xdp_zc()
208 err = xdp_do_redirect(rx_ring->netdev, xdp, xdp_prog); in i40e_run_xdp_zc()
231 bpf_warn_invalid_xdp_action(rx_ring->netdev, xdp_prog, act); in i40e_run_xdp_zc()
236 trace_xdp_exception(rx_ring->netdev, xdp_prog, act); in i40e_run_xdp_zc()
414 struct bpf_prog *xdp_prog; in i40e_clean_rx_irq_zc() local
424 xdp_prog = READ_ONCE(rx_ring->xdp_prog); in i40e_clean_rx_irq_zc()
475 xdp_res = i40e_run_xdp_zc(rx_ring, first, xdp_prog); in i40e_clean_rx_irq_zc()
/linux/tools/testing/selftests/bpf/prog_tests/
H A Dxdp_context_test_run.c251 struct bpf_program *tc_prog, *xdp_prog; in test_xdp_context_veth() local
296 xdp_prog = bpf_object__find_program_by_name(skel->obj, "ing_xdp"); in test_xdp_context_veth()
297 if (!ASSERT_OK_PTR(xdp_prog, "open ing_xdp prog")) in test_xdp_context_veth()
301 bpf_program__fd(xdp_prog), in test_xdp_context_veth()
334 static void test_tuntap(struct bpf_program *xdp_prog, in test_tuntap() argument
381 ret = bpf_xdp_attach(tap_ifindex, bpf_program__fd(xdp_prog), in test_tuntap()
400 static void test_tuntap_mirred(struct bpf_program *xdp_prog, in test_tuntap_mirred() argument
447 ret = bpf_xdp_attach(tap_ifindex, bpf_program__fd(xdp_prog), 0, NULL); in test_tuntap_mirred()
/linux/drivers/net/
H A Dveth.c65 struct bpf_prog __rcu *xdp_prog; member
615 if (unlikely(!rcu_access_pointer(rcv_rq->xdp_prog))) in veth_xdp_flush()
645 struct bpf_prog *xdp_prog; in veth_xdp_rcv_one() local
648 xdp_prog = rcu_dereference(rq->xdp_prog); in veth_xdp_rcv_one()
649 if (likely(xdp_prog)) { in veth_xdp_rcv_one()
658 act = bpf_prog_run_xdp(xdp_prog, xdp); in veth_xdp_rcv_one()
669 trace_xdp_exception(rq->dev, xdp_prog, act); in veth_xdp_rcv_one()
680 if (xdp_do_redirect(rq->dev, xdp, xdp_prog)) { in veth_xdp_rcv_one()
689 bpf_warn_invalid_xdp_action(rq->dev, xdp_prog, act); in veth_xdp_rcv_one()
692 trace_xdp_exception(rq->dev, xdp_prog, act); in veth_xdp_rcv_one()
[all …]
H A Dtun.c213 struct bpf_prog __rcu *xdp_prog; member
803 if (rtnl_dereference(tun->xdp_prog)) in tun_attach()
1220 old_prog = rtnl_dereference(tun->xdp_prog); in tun_xdp_set()
1221 rcu_assign_pointer(tun->xdp_prog, prog); in tun_xdp_set()
1644 static int tun_xdp_act(struct tun_struct *tun, struct bpf_prog *xdp_prog, in tun_xdp_act() argument
1651 err = xdp_do_redirect(tun->dev, xdp, xdp_prog); in tun_xdp_act()
1669 bpf_warn_invalid_xdp_action(tun->dev, xdp_prog, act); in tun_xdp_act()
1672 trace_xdp_exception(tun->dev, xdp_prog, act); in tun_xdp_act()
1690 struct bpf_prog *xdp_prog; in tun_build_skb() local
1699 xdp_prog = rcu_dereference(tun->xdp_prog); in tun_build_skb()
[all …]
H A Dvirtio_net.c326 struct bpf_prog __rcu *xdp_prog; member
508 static int virtnet_xdp_handler(struct bpf_prog *xdp_prog, struct xdp_buff *xdp,
1127 prog = rcu_dereference(rq->xdp_prog); in virtnet_receive_xsk_small()
1245 prog = rcu_dereference(rq->xdp_prog); in virtnet_receive_xsk_merge()
1616 struct bpf_prog *xdp_prog; in virtnet_xdp_xmit() local
1626 xdp_prog = rcu_access_pointer(rq->xdp_prog); in virtnet_xdp_xmit()
1627 if (!xdp_prog) in virtnet_xdp_xmit()
1685 static int virtnet_xdp_handler(struct bpf_prog *xdp_prog, struct xdp_buff *xdp, in virtnet_xdp_handler() argument
1694 act = bpf_prog_run_xdp(xdp_prog, xdp); in virtnet_xdp_handler()
1713 trace_xdp_exception(dev, xdp_prog, act); in virtnet_xdp_handler()
[all …]
/linux/drivers/net/ethernet/intel/ice/
H A Dice_xsk.c516 struct bpf_prog *xdp_prog, struct ice_tx_ring *xdp_ring, in ice_run_xdp_zc() argument
522 act = bpf_prog_run_xdp(xdp_prog, xdp); in ice_run_xdp_zc()
525 err = xdp_do_redirect(rx_ring->netdev, xdp, xdp_prog); in ice_run_xdp_zc()
547 bpf_warn_invalid_xdp_action(rx_ring->netdev, xdp_prog, act); in ice_run_xdp_zc()
552 trace_xdp_exception(rx_ring->netdev, xdp_prog, act); in ice_run_xdp_zc()
577 struct bpf_prog *xdp_prog; in ice_clean_rx_irq_zc() local
585 xdp_prog = READ_ONCE(rx_ring->xdp_prog); in ice_clean_rx_irq_zc()
634 xdp_res = ice_run_xdp_zc(rx_ring, first, xdp_prog, xdp_ring, in ice_clean_rx_irq_zc()
H A Dice_txrx.c596 WRITE_ONCE(rx_ring->xdp_prog, NULL); in ice_free_rx_ring()
636 WRITE_ONCE(rx_ring->xdp_prog, rx_ring->vsi->xdp_prog); in ice_setup_rx_ring()
653 struct bpf_prog *xdp_prog, struct ice_tx_ring *xdp_ring, in ice_run_xdp() argument
659 if (!xdp_prog) in ice_run_xdp()
664 act = bpf_prog_run_xdp(xdp_prog, &xdp->base); in ice_run_xdp()
678 if (xdp_do_redirect(rx_ring->netdev, &xdp->base, xdp_prog)) in ice_run_xdp()
683 bpf_warn_invalid_xdp_action(rx_ring->netdev, xdp_prog, act); in ice_run_xdp()
687 trace_xdp_exception(rx_ring->netdev, xdp_prog, act); in ice_run_xdp()
950 struct bpf_prog *xdp_prog = NULL; in ice_clean_rx_irq() local
960 xdp_prog = READ_ONCE(rx_ring->xdp_prog); in ice_clean_rx_irq()
[all …]
/linux/drivers/net/ethernet/pensando/ionic/
H A Dionic_txrx.c472 struct bpf_prog *xdp_prog, in ionic_run_xdp() argument
535 xdp_action = bpf_prog_run_xdp(xdp_prog, &xdp_buf); in ionic_run_xdp()
587 err = xdp_do_redirect(netdev, &xdp_buf, xdp_prog); in ionic_run_xdp()
605 trace_xdp_exception(netdev, xdp_prog, xdp_action); in ionic_run_xdp()
615 struct bpf_prog *xdp_prog) in ionic_rx_clean() argument
644 if (xdp_prog) { in ionic_rx_clean()
645 if (ionic_run_xdp(stats, netdev, xdp_prog, q, desc_info->bufs, len)) in ionic_rx_clean()
727 static bool __ionic_rx_service(struct ionic_cq *cq, struct bpf_prog *xdp_prog) in __ionic_rx_service() argument
756 ionic_rx_clean(q, desc_info, comp, xdp_prog); in __ionic_rx_service()
776 void ionic_rx_fill(struct ionic_queue *q, struct bpf_prog *xdp_prog) in ionic_rx_fill() argument
[all …]
H A Dionic_txrx.h11 void ionic_rx_fill(struct ionic_queue *q, struct bpf_prog *xdp_prog);
/linux/drivers/net/ethernet/mellanox/mlx5/core/en/
H A Dparams.c249 if (params->xdp_prog) in mlx5e_get_linear_rq_headroom()
294 no_head_tail_room = params->xdp_prog && mpwqe && in mlx5e_rx_get_linear_stride_sz()
690 wqe_bulk_in_bytes = min_t(u32, MAX_WQE_BULK_BYTES(params->xdp_prog), in mlx5e_rx_compute_wqe_bulk_params()
699 split_factor = DIV_ROUND_UP(MAX_WQE_BULK_BYTES(params->xdp_prog), in mlx5e_rx_compute_wqe_bulk_params()
744 params->xdp_prog); in mlx5e_build_rq_frags_info()
745 if (byte_count > max_mtu || params->xdp_prog) { in mlx5e_build_rq_frags_info()
750 params->xdp_prog); in mlx5e_build_rq_frags_info()
770 if (params->xdp_prog) { in mlx5e_build_rq_frags_info()
824 *xdp_frag_size = info->num_frags > 1 && params->xdp_prog ? PAGE_SIZE : 0; in mlx5e_build_rq_frags_info()
1166 if (!params->xdp_prog) in mlx5e_max_xsk_wqebbs()
H A Dxdp.h129 if (priv->channels.params.xdp_prog) in mlx5e_xdp_tx_enable()
135 if (priv->channels.params.xdp_prog) in mlx5e_xdp_tx_disable()
/linux/drivers/net/ethernet/mellanox/mlx4/
H A Den_rx.c414 ring->xdp_prog, in mlx4_en_destroy_rx_ring()
690 struct bpf_prog *xdp_prog; in mlx4_en_process_rx_cq() local
703 xdp_prog = rcu_dereference_bh(ring->xdp_prog); in mlx4_en_process_rx_cq()
790 if (xdp_prog) { in mlx4_en_process_rx_cq()
809 act = bpf_prog_run_xdp(xdp_prog, &mxbuf.xdp); in mlx4_en_process_rx_cq()
822 if (likely(!xdp_do_redirect(dev, &mxbuf.xdp, xdp_prog))) { in mlx4_en_process_rx_cq()
829 trace_xdp_exception(dev, xdp_prog, act); in mlx4_en_process_rx_cq()
838 trace_xdp_exception(dev, xdp_prog, act); in mlx4_en_process_rx_cq()
841 bpf_warn_invalid_xdp_action(dev, xdp_prog, act); in mlx4_en_process_rx_cq()
844 trace_xdp_exception(dev, xdp_prog, act); in mlx4_en_process_rx_cq()
/linux/drivers/net/ethernet/intel/igc/
H A Digc_xdp.c27 need_update = !!adapter->xdp_prog != !!prog; in igc_xdp_set_prog()
36 old_prog = xchg(&adapter->xdp_prog, prog); in igc_xdp_set_prog()
H A Digc_xdp.h14 return !!adapter->xdp_prog; in igc_xdp_is_enabled()
/linux/drivers/net/ethernet/netronome/nfp/
H A Dnfp_net_xsk.h15 return dp->xdp_prog && dp->xsk_pools[qid]; in nfp_net_has_xsk_pool_slow()
H A Dnfp_net_dp.c21 if (!dp->xdp_prog) { in nfp_net_rx_alloc_one()
36 nfp_net_free_frag(frag, dp->xdp_prog); in nfp_net_rx_alloc_one()
149 nfp_net_free_frag(rx_ring->rxbufs[i].frag, dp->xdp_prog); in nfp_net_rx_ring_bufs_free()
/linux/drivers/net/ethernet/engleder/
H A Dtsnep_xdp.c14 old_prog = xchg(&adapter->xdp_prog, prog); in tsnep_xdp_setup_prog()

12345