mirror of
git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2025-08-05 16:54:27 +00:00
32 lines
1.1 KiB
C
32 lines
1.1 KiB
C
![]() |
/* SPDX-License-Identifier: GPL-2.0 */
|
||
|
/* Copyright(c) 2018 Intel Corporation. */
|
||
|
|
||
|
#ifndef I40E_TXRX_COMMON_
|
||
|
#define I40E_TXRX_COMMON_
|
||
|
|
||
|
void i40e_fd_handle_status(struct i40e_ring *rx_ring,
|
||
|
union i40e_rx_desc *rx_desc, u8 prog_id);
|
||
|
int i40e_xmit_xdp_tx_ring(struct xdp_buff *xdp, struct i40e_ring *xdp_ring);
|
||
|
struct i40e_rx_buffer *i40e_clean_programming_status(
|
||
|
struct i40e_ring *rx_ring,
|
||
|
union i40e_rx_desc *rx_desc,
|
||
|
u64 qw);
|
||
|
void i40e_process_skb_fields(struct i40e_ring *rx_ring,
|
||
|
union i40e_rx_desc *rx_desc, struct sk_buff *skb,
|
||
|
u8 rx_ptype);
|
||
|
void i40e_receive_skb(struct i40e_ring *rx_ring,
|
||
|
struct sk_buff *skb, u16 vlan_tag);
|
||
|
void i40e_xdp_ring_update_tail(struct i40e_ring *xdp_ring);
|
||
|
void i40e_update_rx_stats(struct i40e_ring *rx_ring,
|
||
|
unsigned int total_rx_bytes,
|
||
|
unsigned int total_rx_packets);
|
||
|
void i40e_finalize_xdp_rx(struct i40e_ring *rx_ring, unsigned int xdp_res);
|
||
|
void i40e_release_rx_desc(struct i40e_ring *rx_ring, u32 val);
|
||
|
|
||
|
#define I40E_XDP_PASS 0
|
||
|
#define I40E_XDP_CONSUMED BIT(0)
|
||
|
#define I40E_XDP_TX BIT(1)
|
||
|
#define I40E_XDP_REDIR BIT(2)
|
||
|
|
||
|
#endif /* I40E_TXRX_COMMON_ */
|