Home
last modified time | relevance | path

Searched refs:xdp_frame (Results 1 - 25 of 137) sorted by relevance

123456

/kernel/linux/linux-5.10/include/net/
H A Dxdp.h94 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 Dxdp.h166 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 Dif_tun.h34 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 Dif_tun.h34 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 Dxdp.c372 * 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 Dcpumap.c158 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 Dfuneth_txrx.h101 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 Dveth.c77 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 Ddevmap.c57 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 Dcpumap.c189 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 Dcpsw_priv.h400 #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 Dcpsw_priv.h409 #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 Dlan966x_xdp.c55 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 Daq_ring.h58 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 Dxdp.h57 /* 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 Dxdp.c365 * 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 Dvmxnet3_xdp.c116 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 Dvmxnet3_xdp.h27 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 Dbnxt_xdp.h22 struct xdp_frame **frames, u32 flags);
/kernel/linux/linux-6.6/drivers/net/ethernet/freescale/enetc/
H A Denetc.c61 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 Dmana_bpf.c35 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 Dnetvsc_bpf.c230 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 Dixgbe_txrx_common.h16 struct xdp_frame *xdpf);
/kernel/linux/linux-6.6/drivers/net/ethernet/broadcom/bnxt/
H A Dbnxt_xdp.h25 struct xdp_frame **frames, u32 flags);
/kernel/linux/linux-6.6/drivers/net/ethernet/intel/ixgbe/
H A Dixgbe_txrx_common.h17 struct xdp_frame *xdpf);

Completed in 20 milliseconds

123456