| /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() 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 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_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 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/idpf/ |
| H A D | xdp.c | 137 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()
|
| H A D | idpf.h | 388 struct bpf_prog *xdp_prog; member 488 struct bpf_prog *xdp_prog; member 754 return vport->adapter && vport->xdp_prog; in idpf_xdp_enabled()
|
| /linux/drivers/net/vmxnet3/ |
| H A D | vmxnet3_xdp.c | 340 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 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 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/tools/testing/selftests/bpf/prog_tests/ |
| H A D | xdp_context_test_run.c | 251 struct bpf_program *tc_prog, *xdp_prog; in test_xdp_context_veth() 296 xdp_prog = bpf_object__find_program_by_name(skel->obj, "ing_xdp"); in test_tuntap() 297 if (!ASSERT_OK_PTR(xdp_prog, "open ing_xdp prog")) in test_tuntap() 301 bpf_program__fd(xdp_prog), in test_tuntap() 334 static void test_tuntap(struct bpf_program *xdp_prog, in test_tuntap() 381 ret = bpf_xdp_attach(tap_ifindex, bpf_program__fd(xdp_prog), in test_tuntap_mirred() 400 static void test_tuntap_mirred(struct bpf_program *xdp_prog, in test_tuntap_mirred() 447 ret = bpf_xdp_attach(tap_ifindex, bpf_program__fd(xdp_prog), 0, NULL); in test_xdp_context_tuntap() 210 struct bpf_program *tc_prog, *xdp_prog; test_xdp_context_veth() local 293 test_tuntap(struct bpf_program * xdp_prog,struct bpf_program * tc_prio_1_prog,struct bpf_program * tc_prio_2_prog,bool * test_pass) test_tuntap() argument 359 test_tuntap_mirred(struct bpf_program * xdp_prog,struct bpf_program * tc_prog,bool * test_pass) test_tuntap_mirred() argument
|
| /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() 725 q->headroom = fp->xdp_prog ? FUN_XDP_HEADROOM : FUN_RX_HEADROOM; in fun_rxq_create_dev()
|
| /linux/drivers/net/ethernet/intel/i40e/ |
| H A D | i40e_xsk.c | 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 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/drivers/net/ethernet/intel/ice/ |
| H A D | ice_xsk.c | 516 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 D | ice_txrx.c | 596 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/intel/igc/ |
| H A D | igc_xdp.h | 14 return !!adapter->xdp_prog; in igc_xdp_is_enabled()
|
| 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()
|
| /linux/drivers/net/ethernet/pensando/ionic/ |
| H A D | ionic_txrx.c | 472 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() 582 err = xdp_do_redirect(netdev, &xdp_buf, xdp_prog); in ionic_run_xdp() 600 trace_xdp_exception(netdev, xdp_prog, xdp_action); in ionic_run_xdp() 610 struct bpf_prog *xdp_prog) in ionic_rx_clean() argument 639 if (xdp_prog) { in ionic_rx_clean() 640 if (ionic_run_xdp(stats, netdev, xdp_prog, q, desc_info->bufs, len)) in ionic_rx_clean() 726 static bool __ionic_rx_service(struct ionic_cq *cq, struct bpf_prog *xdp_prog) in __ionic_rx_service() argument 748 ionic_rx_clean(q, desc_info, comp, xdp_prog); in __ionic_rx_service() 768 void ionic_rx_fill(struct ionic_queue *q, struct bpf_prog *xdp_prog) in ionic_rx_fill() argument [all …]
|
| H A D | ionic_txrx.h | 11 void ionic_rx_fill(struct ionic_queue *q, struct bpf_prog *xdp_prog);
|
| /linux/drivers/net/ethernet/mellanox/mlx4/ |
| H A D | en_rx.c | 414 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/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()
|
| /linux/samples/bpf/ |
| H A D | xdp_sample_user.h | 39 int sample_install_xdp(struct bpf_program *xdp_prog, int ifindex, bool generic,
|
| /linux/drivers/net/ethernet/freescale/dpaa/ |
| H A D | dpaa_eth.h | 175 struct bpf_prog *xdp_prog; member
|
| /linux/drivers/net/ethernet/socionext/ |
| H A D | netsec.c | 294 struct bpf_prog *xdp_prog; member 957 struct bpf_prog *xdp_prog; in netsec_process_rx() local 965 xdp_prog = READ_ONCE(priv->xdp_prog); in netsec_process_rx() 1024 if (xdp_prog) { in netsec_process_rx() 1025 xdp_result = netsec_run_xdp(priv, xdp_prog, &xdp); in netsec_process_rx() 1297 struct bpf_prog *xdp_prog = READ_ONCE(priv->xdp_prog); in netsec_setup_rx_dring() local 1305 .dma_dir = xdp_prog ? DMA_BIDIRECTIONAL : DMA_FROM_DEVICE, in netsec_setup_rx_dring() 1812 old_prog = xchg(&priv->xdp_prog, prog); in netsec_xdp_setup()
|