/kernel/linux/linux-5.10/include/net/ |
H A D | xdp.h | 94 struct xdp_frame { struct 109 xdp_get_shared_info_from_frame(struct xdp_frame *frame) in xdp_get_shared_info_from_frame() 123 /* Clear kernel pointers in xdp_frame */ 124 static inline void xdp_scrub_frame(struct xdp_frame *frame) in xdp_scrub_frame() 134 struct xdp_frame *xdp_convert_zc_to_xdp_frame(struct xdp_buff *xdp); 137 void xdp_convert_frame_to_buff(struct xdp_frame *frame, struct xdp_buff *xdp) in xdp_convert_frame_to_buff() 148 struct xdp_frame *xdp_frame) in xdp_update_frame_from_buff() 156 if (unlikely((headroom - metasize) < sizeof(*xdp_frame))) in xdp_update_frame_from_buff() 165 xdp_frame in xdp_update_frame_from_buff() 147 xdp_update_frame_from_buff(struct xdp_buff *xdp, struct xdp_frame *xdp_frame) xdp_update_frame_from_buff() argument 178 struct xdp_frame *xdp_frame; xdp_convert_buff_to_frame() local [all...] |
/kernel/linux/linux-6.6/include/net/ |
H A D | xdp.h | 166 struct xdp_frame { struct 180 static __always_inline bool xdp_frame_has_frags(struct xdp_frame *frame) in xdp_frame_has_frags() 185 static __always_inline bool xdp_frame_is_frag_pfmemalloc(struct xdp_frame *frame) in xdp_frame_is_frag_pfmemalloc() 204 xdp_get_shared_info_from_frame(struct xdp_frame *frame) in xdp_get_shared_info_from_frame() 218 /* Clear kernel pointers in xdp_frame */ 219 static inline void xdp_scrub_frame(struct xdp_frame *frame) in xdp_scrub_frame() 242 struct xdp_frame *xdp_convert_zc_to_xdp_frame(struct xdp_buff *xdp); 243 struct sk_buff *__xdp_build_skb_from_frame(struct xdp_frame *xdpf, 246 struct sk_buff *xdp_build_skb_from_frame(struct xdp_frame *xdpf, 249 struct xdp_frame *xdpf_clon 263 xdp_update_frame_from_buff(struct xdp_buff *xdp, struct xdp_frame *xdp_frame) xdp_update_frame_from_buff() argument 295 struct xdp_frame *xdp_frame; xdp_convert_buff_to_frame() local [all...] |
/kernel/linux/linux-5.10/include/linux/ |
H A D | if_tun.h | 34 static inline void *tun_xdp_to_ptr(struct xdp_frame *xdp) in tun_xdp_to_ptr() 38 static inline struct xdp_frame *tun_ptr_to_xdp(void *ptr) in tun_ptr_to_xdp() 60 static inline void *tun_xdp_to_ptr(struct xdp_frame *xdp) in tun_xdp_to_ptr() 64 static inline struct xdp_frame *tun_ptr_to_xdp(void *ptr) in tun_ptr_to_xdp()
|
/kernel/linux/linux-6.6/include/linux/ |
H A D | if_tun.h | 34 static inline void *tun_xdp_to_ptr(struct xdp_frame *xdp) in tun_xdp_to_ptr() 38 static inline struct xdp_frame *tun_ptr_to_xdp(void *ptr) in tun_ptr_to_xdp() 60 static inline void *tun_xdp_to_ptr(struct xdp_frame *xdp) in tun_xdp_to_ptr() 64 static inline struct xdp_frame *tun_ptr_to_xdp(void *ptr) in tun_ptr_to_xdp()
|
/kernel/linux/linux-6.6/net/core/ |
H A D | xdp.c | 372 * scenarios (e.g. queue full), it is possible to return the xdp_frame 410 void xdp_return_frame(struct xdp_frame *xdpf) in xdp_return_frame() 429 void xdp_return_frame_rx_napi(struct xdp_frame *xdpf) in xdp_return_frame_rx_napi() 472 void xdp_return_frame_bulk(struct xdp_frame *xdpf, in xdp_return_frame_bulk() 544 struct xdp_frame *xdp_convert_zc_to_xdp_frame(struct xdp_buff *xdp) in xdp_convert_zc_to_xdp_frame() 548 struct xdp_frame *xdpf; in xdp_convert_zc_to_xdp_frame() 551 /* Clone into a MEM_TYPE_PAGE_ORDER0 xdp_frame. */ in xdp_convert_zc_to_xdp_frame() 600 struct sk_buff *__xdp_build_skb_from_frame(struct xdp_frame *xdpf, in __xdp_build_skb_from_frame() 616 /* Memory size backing xdp_frame data already have reserved in __xdp_build_skb_from_frame() 649 /* Allow SKB to reuse area used by xdp_frame */ in __xdp_build_skb_from_frame() [all...] |
/kernel/linux/linux-5.10/kernel/bpf/ |
H A D | cpumap.c | 158 static struct sk_buff *cpu_map_build_skb(struct xdp_frame *xdpf, in cpu_map_build_skb() 166 hard_start_headroom = sizeof(struct xdp_frame) + xdpf->headroom; in cpu_map_build_skb() 168 /* Memory size backing xdp_frame data already have reserved in cpu_map_build_skb() 195 /* Allow SKB to reuse area used by xdp_frame */ in cpu_map_build_skb() 208 struct xdp_frame *xdpf; in __cpu_map_ring_cleanup() 245 struct xdp_frame *xdpf = frames[i]; in cpu_map_bpf_prog_run_xdp() 363 struct xdp_frame *xdpf = frames[i]; in cpu_map_kthread_run() 685 struct xdp_frame *xdpf = bq->q[i]; in bq_flush_to_queue() 707 static void bq_enqueue(struct bpf_cpu_map_entry *rcpu, struct xdp_frame *xdpf) in bq_enqueue() 719 * Thus, incoming xdp_frame i in bq_enqueue() [all...] |
/kernel/linux/linux-6.6/drivers/net/ethernet/fungible/funeth/ |
H A D | funeth_txrx.h | 101 struct xdp_frame *xdpf; /* associated XDP frame (XDP path) */ 250 bool fun_xdp_tx(struct funeth_txq *q, struct xdp_frame *xdpf); 252 struct xdp_frame **frames, u32 flags);
|
/kernel/linux/linux-5.10/drivers/net/ |
H A D | veth.c | 77 struct xdp_frame *q[VETH_XDP_TX_BULK_SIZE]; 237 static struct xdp_frame *veth_ptr_to_xdp(void *ptr) in veth_ptr_to_xdp() 242 static void *veth_xdp_to_ptr(struct xdp_frame *xdp) in veth_xdp_to_ptr() 432 struct xdp_frame **frames, in veth_xdp_xmit() 462 struct xdp_frame *frame = frames[i]; in veth_xdp_xmit() 491 struct xdp_frame **frames, u32 flags) in veth_ndo_xdp_xmit() 552 struct xdp_frame *frame = xdp_convert_buff_to_frame(xdp); in veth_xdp_tx() 566 struct xdp_frame *frame, in veth_xdp_rcv_one() 572 struct xdp_frame orig_frame; in veth_xdp_rcv_one() 577 /* bpf_xdp_adjust_head() assures BPF cannot access xdp_frame are in veth_xdp_rcv_one() [all...] |
/kernel/linux/linux-6.6/kernel/bpf/ |
H A D | devmap.c | 57 struct xdp_frame *q[DEV_MAP_BULK_SIZE]; 324 struct xdp_frame **frames, int n, in dev_map_bpf_prog_run() 332 struct xdp_frame *xdpf = frames[i]; in dev_map_bpf_prog_run() 374 struct xdp_frame *xdpf = bq->q[i]; in bq_xmit_all() 443 static void bq_enqueue(struct net_device *dev, struct xdp_frame *xdpf, in bq_enqueue() 452 /* Ingress dev_rx will be the same for all xdp_frame's in in bq_enqueue() 468 static inline int __xdp_enqueue(struct net_device *dev, struct xdp_frame *xdpf, in __xdp_enqueue() 520 int dev_xdp_enqueue(struct net_device *dev, struct xdp_frame *xdpf, in dev_xdp_enqueue() 526 int dev_map_enqueue(struct bpf_dtab_netdev *dst, struct xdp_frame *xdpf, in dev_map_enqueue() 534 static bool is_valid_dst(struct bpf_dtab_netdev *obj, struct xdp_frame *xdp [all...] |
H A D | cpumap.c | 189 struct xdp_frame *xdpf = frames[i]; in cpu_map_bpf_prog_run_xdp() 342 struct xdp_frame *xdpf = frames[i]; in cpu_map_kthread_run() 683 struct xdp_frame *xdpf = bq->q[i]; in bq_flush_to_queue() 705 static void bq_enqueue(struct bpf_cpu_map_entry *rcpu, struct xdp_frame *xdpf) in bq_enqueue() 717 * Thus, incoming xdp_frame is always queued here (else we race in bq_enqueue() 728 int cpu_map_enqueue(struct bpf_cpu_map_entry *rcpu, struct xdp_frame *xdpf, in cpu_map_enqueue()
|
/kernel/linux/linux-5.10/drivers/net/ethernet/ti/ |
H A D | cpsw_priv.h | 400 #define CPSW_XMETA_OFFSET ALIGN(sizeof(struct xdp_frame), sizeof(long)) 419 static inline void *cpsw_xdpf_to_handle(struct xdp_frame *xdpf) in cpsw_xdpf_to_handle() 424 static inline struct xdp_frame *cpsw_handle_to_xdpf(void *handle) in cpsw_handle_to_xdpf() 426 return (struct xdp_frame *)((unsigned long)handle & ~BIT(0)); in cpsw_handle_to_xdpf() 440 int cpsw_xdp_tx_frame(struct cpsw_priv *priv, struct xdp_frame *xdpf,
|
/kernel/linux/linux-6.6/drivers/net/ethernet/ti/ |
H A D | cpsw_priv.h | 409 #define CPSW_XMETA_OFFSET ALIGN(sizeof(struct xdp_frame), sizeof(long)) 427 static inline void *cpsw_xdpf_to_handle(struct xdp_frame *xdpf) in cpsw_xdpf_to_handle() 432 static inline struct xdp_frame *cpsw_handle_to_xdpf(void *handle) in cpsw_handle_to_xdpf() 434 return (struct xdp_frame *)((unsigned long)handle & ~BIT(0)); in cpsw_handle_to_xdpf() 448 int cpsw_xdp_tx_frame(struct cpsw_priv *priv, struct xdp_frame *xdpf,
|
/kernel/linux/linux-6.6/drivers/net/ethernet/microchip/lan966x/ |
H A D | lan966x_xdp.c | 55 struct xdp_frame **frames, in lan966x_xdp_xmit() 62 struct xdp_frame *xdpf = frames[i]; in lan966x_xdp_xmit()
|
/kernel/linux/linux-6.6/drivers/net/ethernet/aquantia/atlantic/ |
H A D | aq_ring.h | 58 struct xdp_frame *xdpf; 203 struct xdp_frame **frames, u32 flags);
|
/kernel/linux/linux-6.6/drivers/net/ethernet/mellanox/mlx5/core/en/ |
H A D | xdp.h | 57 /* An xdp_frame was transmitted due to either XDP_REDIRECT from another 63 /* The xdp_frame was created in place as a result of XDP_TX from a 68 /* No xdp_frame was created at all, the transmit happened from a UMEM 92 struct xdp_frame *xdpf; 111 int mlx5e_xdp_xmit(struct net_device *dev, int n, struct xdp_frame **frames,
|
/kernel/linux/linux-5.10/net/core/ |
H A D | xdp.c | 365 * scenarios (e.g. queue full), it is possible to return the xdp_frame 405 void xdp_return_frame(struct xdp_frame *xdpf) in xdp_return_frame() 411 void xdp_return_frame_rx_napi(struct xdp_frame *xdpf) in xdp_return_frame_rx_napi() 447 struct xdp_frame *xdp_convert_zc_to_xdp_frame(struct xdp_buff *xdp) in xdp_convert_zc_to_xdp_frame() 451 struct xdp_frame *xdpf; in xdp_convert_zc_to_xdp_frame() 454 /* Clone into a MEM_TYPE_PAGE_ORDER0 xdp_frame. */ in xdp_convert_zc_to_xdp_frame()
|
/kernel/linux/linux-6.6/drivers/net/vmxnet3/ |
H A D | vmxnet3_xdp.c | 116 struct xdp_frame *xdpf, in vmxnet3_xdp_xmit_frame() 202 struct xdp_frame *xdpf) in vmxnet3_xdp_xmit_back() 224 int n, struct xdp_frame **frames, u32 flags) in vmxnet3_xdp_xmit() 254 struct xdp_frame *xdpf; in vmxnet3_run_xdp()
|
H A D | vmxnet3_xdp.h | 27 int vmxnet3_xdp_xmit(struct net_device *dev, int n, struct xdp_frame **frames,
|
/kernel/linux/linux-5.10/drivers/net/ethernet/broadcom/bnxt/ |
H A D | bnxt_xdp.h | 22 struct xdp_frame **frames, u32 flags);
|
/kernel/linux/linux-6.6/drivers/net/ethernet/freescale/enetc/ |
H A D | enetc.c | 61 static struct xdp_frame * 65 return tx_swbd->xdp_frame; in enetc_tx_swbd_get_xdp_frame() 90 struct xdp_frame *xdp_frame = enetc_tx_swbd_get_xdp_frame(tx_swbd); in enetc_free_tx_frame() local 96 if (xdp_frame) { in enetc_free_tx_frame() 97 xdp_return_frame(tx_swbd->xdp_frame); in enetc_free_tx_frame() 98 tx_swbd->xdp_frame = NULL; in enetc_free_tx_frame() 832 struct xdp_frame *xdp_frame = enetc_tx_swbd_get_xdp_frame(tx_swbd); in enetc_clean_tx_ring() local 856 if (xdp_frame) { in enetc_clean_tx_ring() 1307 enetc_xdp_frame_to_xdp_tx_swbd(struct enetc_bdr *tx_ring, struct enetc_tx_swbd *xdp_tx_arr, struct xdp_frame *xdp_frame) enetc_xdp_frame_to_xdp_tx_swbd() argument [all...] |
/kernel/linux/linux-6.6/drivers/net/ethernet/microsoft/mana/ |
H A D | mana_bpf.c | 35 static int mana_xdp_xmit_fm(struct net_device *ndev, struct xdp_frame *frame, in mana_xdp_xmit_fm() 51 int mana_xdp_xmit(struct net_device *ndev, int n, struct xdp_frame **frames, in mana_xdp_xmit()
|
/kernel/linux/linux-6.6/drivers/net/hyperv/ |
H A D | netvsc_bpf.c | 230 struct xdp_frame *frame, u16 q_idx) in netvsc_ndoxdp_xmit_fm() 248 struct xdp_frame **frames, u32 flags) in netvsc_ndoxdp_xmit()
|
/kernel/linux/linux-5.10/drivers/net/ethernet/intel/ixgbe/ |
H A D | ixgbe_txrx_common.h | 16 struct xdp_frame *xdpf);
|
/kernel/linux/linux-6.6/drivers/net/ethernet/broadcom/bnxt/ |
H A D | bnxt_xdp.h | 25 struct xdp_frame **frames, u32 flags);
|
/kernel/linux/linux-6.6/drivers/net/ethernet/intel/ixgbe/ |
H A D | ixgbe_txrx_common.h | 17 struct xdp_frame *xdpf);
|