/linux/drivers/net/ethernet/microchip/lan966x/ |
H A D | lan966x_xdp.c | 24 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 D | ena_xdp.h | 85 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 D | bnxt_xdp.c | 177 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() 281 trace_xdp_exception(bp->dev, xdp_prog, act); in bnxt_rx_xdp() 303 trace_xdp_exception(bp->dev, xdp_prog, act); in bnxt_rx_xdp() 309 if (xdp_do_redirect(bp->dev, xdp, xdp_prog)) { in bnxt_rx_xdp() 335 struct bpf_prog *xdp_prog = READ_ONCE(bp->xdp_prog); bnxt_xdp_xmit() local [all...] |
/linux/drivers/net/ethernet/sfc/siena/ |
H A D | rx.c | 256 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_ac in efx_do_xdp() [all...] |
/linux/drivers/net/ethernet/sfc/ |
H A D | rx.c | 254 struct bpf_prog *xdp_prog; in efx_do_xdp() local 261 xdp_prog = rcu_dereference_bh(efx->xdp_prog); in efx_do_xdp() 262 if (!xdp_prog) in efx_do_xdp() 292 xdp_act = bpf_prog_run_xdp(xdp_prog, &xdp); in efx_do_xdp() 318 trace_xdp_exception(efx->net_dev, xdp_prog, xdp_act); in efx_do_xdp() 325 err = xdp_do_redirect(efx->net_dev, &xdp, xdp_prog); in efx_do_xdp() 332 trace_xdp_exception(efx->net_dev, xdp_prog, xdp_act); in efx_do_xdp() 339 bpf_warn_invalid_xdp_action(efx->net_dev, xdp_prog, xdp_act); in efx_do_xdp() 342 trace_xdp_exception(efx->net_dev, xdp_prog, xdp_ac in efx_do_xdp() [all...] |
/linux/drivers/net/ethernet/freescale/dpaa2/ |
H A D | dpaa2-xsk.c | 38 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/igb/ |
H A D | igb_xsk.c | 296 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 354 /* xdp_prog cannot be NULL in the ZC path */ in igb_clean_rx_irq_zc() 355 xdp_prog = READ_ONCE(rx_ring->xdp_prog); in igb_clean_rx_irq_zc() 393 xdp_prog); in igb_clean_rx_irq_zc() [all...] |
/linux/drivers/net/ethernet/netronome/nfp/nfd3/ |
H A D | xsk.c | 121 struct bpf_prog *xdp_prog; in nfp_nfd3_xsk_rx() local 125 xdp_prog = READ_ONCE(dp->xdp_prog); in nfp_nfd3_xsk_rx() 219 act = bpf_prog_run_xdp(xdp_prog, xrxbuf->xdp); in nfp_nfd3_xsk_rx() 237 if (xdp_do_redirect(dp->netdev, xrxbuf->xdp, xdp_prog)) { in nfp_nfd3_xsk_rx() 245 bpf_warn_invalid_xdp_action(dp->netdev, xdp_prog, act); in nfp_nfd3_xsk_rx() 248 trace_xdp_exception(dp->netdev, xdp_prog, act); in nfp_nfd3_xsk_rx()
|
H A D | dp.c | 556 if (!dp->xdp_prog) { in nfp_nfd3_napi_alloc_one() 571 nfp_net_free_frag(frag, dp->xdp_prog); in nfp_nfd3_napi_alloc_one() 911 struct bpf_prog *xdp_prog; in nfp_nfd3_rx() local 918 xdp_prog = READ_ONCE(dp->xdp_prog); in nfp_nfd3_rx() 919 true_bufsz = xdp_prog ? PAGE_SIZE : dp->fl_bufsz; in nfp_nfd3_rx() 1007 if (xdp_prog && !meta.portid) { in nfp_nfd3_rx() 1017 act = bpf_prog_run_xdp(xdp_prog, &xdp); in nfp_nfd3_rx() 1035 xdp_prog, act); in nfp_nfd3_rx() 1038 bpf_warn_invalid_xdp_action(dp->netdev, xdp_prog, ac in nfp_nfd3_rx() [all...] |
/linux/drivers/net/ethernet/fungible/funeth/ |
H A D | funeth_rx.c | 144 struct bpf_prog *xdp_prog; in fun_run_xdp() local 155 xdp_prog = READ_ONCE(q->xdp_prog); in fun_run_xdp() 156 act = bpf_prog_run_xdp(xdp_prog, &xdp); in fun_run_xdp() 177 if (unlikely(xdp_do_redirect(q->netdev, &xdp, xdp_prog))) in fun_run_xdp() 183 bpf_warn_invalid_xdp_action(q->netdev, xdp_prog, act); in fun_run_xdp() 186 trace_xdp_exception(q->netdev, xdp_prog, act); in fun_run_xdp() 608 WRITE_ONCE(q->xdp_prog, prog); in fun_rxq_set_bpf() 724 q->xdp_prog = fp->xdp_prog; in fun_rxq_create_dev() [all...] |
/linux/drivers/net/ |
H A D | veth.c | 65 struct bpf_prog __rcu *xdp_prog; member 612 if (unlikely(!rcu_access_pointer(rcv_rq->xdp_prog))) in veth_xdp_flush() 642 struct bpf_prog *xdp_prog; in veth_xdp_rcv_one() local 645 xdp_prog = rcu_dereference(rq->xdp_prog); in veth_xdp_rcv_one() 646 if (likely(xdp_prog)) { in veth_xdp_rcv_one() 655 act = bpf_prog_run_xdp(xdp_prog, xdp); in veth_xdp_rcv_one() 666 trace_xdp_exception(rq->dev, xdp_prog, act); in veth_xdp_rcv_one() 677 if (xdp_do_redirect(rq->dev, xdp, xdp_prog)) { in veth_xdp_rcv_one() 686 bpf_warn_invalid_xdp_action(rq->dev, xdp_prog, ac in veth_xdp_rcv_one() 794 struct bpf_prog *xdp_prog; veth_xdp_rcv_skb() local [all...] |
H A D | tun.c | 210 struct bpf_prog __rcu *xdp_prog; member 765 if (rtnl_dereference(tun->xdp_prog)) in tun_attach() 1134 old_prog = rtnl_dereference(tun->xdp_prog); in tun_xdp_set() 1135 rcu_assign_pointer(tun->xdp_prog, prog); in tun_xdp_set() 1558 static int tun_xdp_act(struct tun_struct *tun, struct bpf_prog *xdp_prog, in tun_xdp_act() argument 1565 err = xdp_do_redirect(tun->dev, xdp, xdp_prog); in tun_xdp_act() 1583 bpf_warn_invalid_xdp_action(tun->dev, xdp_prog, act); in tun_xdp_act() 1586 trace_xdp_exception(tun->dev, xdp_prog, act); in tun_xdp_act() 1604 struct bpf_prog *xdp_prog; in tun_build_skb() local 1613 xdp_prog in tun_build_skb() 1865 struct bpf_prog *xdp_prog; tun_get_user() local 2381 struct bpf_prog *xdp_prog; tun_xdp_one() local [all...] |
/linux/drivers/net/ethernet/intel/i40e/ |
H A D | i40e_xsk.c | 194 * @xdp_prog: XDP program to run 199 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 421 /* NB! xdp_prog will always be !NULL, due to the fact that in i40e_clean_rx_irq_zc() 424 xdp_prog = READ_ONCE(rx_ring->xdp_prog); in i40e_clean_rx_irq_zc() [all...] |
/linux/tools/testing/selftests/bpf/prog_tests/ |
H A D | xdp_context_test_run.c | 180 struct bpf_program *tc_prog, *xdp_prog; in test_xdp_context_veth() local 225 xdp_prog = bpf_object__find_program_by_name(skel->obj, "ing_xdp"); in test_xdp_context_veth() 226 if (!ASSERT_OK_PTR(xdp_prog, "open ing_xdp prog")) in test_xdp_context_veth() 230 bpf_program__fd(xdp_prog), in test_xdp_context_veth()
|
/linux/drivers/net/ethernet/intel/ice/ |
H A D | ice_xsk.c | 754 * @xdp_prog: XDP program to run 762 struct bpf_prog *xdp_prog, struct ice_tx_ring *xdp_ring, in ice_run_xdp_zc() argument 768 act = bpf_prog_run_xdp(xdp_prog, xdp); in ice_run_xdp_zc() 771 err = xdp_do_redirect(rx_ring->netdev, xdp, xdp_prog); in ice_run_xdp_zc() 793 bpf_warn_invalid_xdp_action(rx_ring->netdev, xdp_prog, act); in ice_run_xdp_zc() 798 trace_xdp_exception(rx_ring->netdev, xdp_prog, act); in ice_run_xdp_zc() 823 struct bpf_prog *xdp_prog; in ice_clean_rx_irq_zc() local 831 xdp_prog = READ_ONCE(rx_ring->xdp_prog); in ice_clean_rx_irq_zc() 881 xdp_res = ice_run_xdp_zc(rx_ring, first, xdp_prog, xdp_rin in ice_clean_rx_irq_zc() [all...] |
H A D | ice_txrx.c | 458 WRITE_ONCE(rx_ring->xdp_prog, NULL); in ice_free_rx_ring() 513 WRITE_ONCE(rx_ring->xdp_prog, rx_ring->vsi->xdp_prog); in ice_setup_rx_ring() 527 * @xdp_prog: XDP program to run 535 struct bpf_prog *xdp_prog, struct ice_tx_ring *xdp_ring, in ice_run_xdp() argument 541 if (!xdp_prog) in ice_run_xdp() 546 act = bpf_prog_run_xdp(xdp_prog, xdp); in ice_run_xdp() 560 if (xdp_do_redirect(rx_ring->netdev, xdp, xdp_prog)) in ice_run_xdp() 565 bpf_warn_invalid_xdp_action(rx_ring->netdev, xdp_prog, act); in ice_run_xdp() 569 trace_xdp_exception(rx_ring->netdev, xdp_prog, ac in ice_run_xdp() 1272 struct bpf_prog *xdp_prog = NULL; ice_clean_rx_irq() local [all...] |
/linux/drivers/net/ethernet/stmicro/stmmac/ |
H A D | stmmac_xdp.c | 123 need_update = !!priv->xdp_prog != !!prog; in stmmac_xdp_set_prog() 127 old_prog = xchg(&priv->xdp_prog, prog); in stmmac_xdp_set_prog()
|
/linux/drivers/net/ethernet/pensando/ionic/ |
H A D | ionic_lif.h | 245 struct bpf_prog *xdp_prog; member 271 struct bpf_prog *xdp_prog; member 284 qparam->xdp_prog = lif->xdp_prog; in ionic_init_queue_params()
|
H A D | ionic_lif.c | 560 unsigned int pid, struct bpf_prog *xdp_prog, in ionic_qcq_alloc() argument 600 if (xdp_prog) in ionic_qcq_alloc() 923 if (!lif->xdp_prog || in ionic_lif_rxq_init() 924 (lif->xdp_prog->aux && lif->xdp_prog->aux->xdp_has_frags)) in ionic_lif_rxq_init() 1773 struct bpf_prog *xdp_prog) in ionic_xdp_is_valid_mtu() argument 1775 if (!xdp_prog) in ionic_xdp_is_valid_mtu() 1781 if (xdp_prog->aux && xdp_prog->aux->xdp_has_frags) in ionic_xdp_is_valid_mtu() 1799 struct bpf_prog *xdp_prog; in ionic_change_mtu() local 2740 struct bpf_prog *xdp_prog; ionic_xdp_rxqs_prog_update() local [all...] |
/linux/drivers/net/ethernet/intel/igc/ |
H A D | igc_xdp.c | 27 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 D | igc_xdp.h | 14 return !!adapter->xdp_prog; in igc_xdp_is_enabled()
|
/linux/drivers/net/ethernet/mellanox/mlx5/core/en/xsk/ |
H A D | pool.c | 116 if (!params->xdp_prog) { in mlx5e_xsk_enable_locked() 176 if (!priv->channels.params.xdp_prog) in mlx5e_xsk_disable_locked()
|
/linux/drivers/net/ethernet/netronome/nfp/ |
H A D | nfp_net_xsk.h | 15 return dp->xdp_prog && dp->xsk_pools[qid]; in nfp_net_has_xsk_pool_slow()
|
H A D | nfp_net_dp.c | 21 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 D | tsnep_xdp.c | 14 old_prog = xchg(&adapter->xdp_prog, prog); in tsnep_xdp_setup_prog()
|