ixgbe: move common Rx functions to ixgbe_txrx_common.h
This patch prepares for the upcoming zero-copy Rx functionality, by moving/changing linkage of common functions, used both by the regular path and zero-copy path. Signed-off-by: Björn Töpel <bjorn.topel@intel.com> Tested-by: William Tu <u9012063@gmail.com> Tested-by: Andrew Bowers <andrewx.bowers@intel.com> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
This commit is contained in:
parent
024aa5800f
commit
46515fdb1a
2 changed files with 37 additions and 18 deletions
|
@ -40,6 +40,7 @@
|
|||
#include "ixgbe_dcb_82599.h"
|
||||
#include "ixgbe_sriov.h"
|
||||
#include "ixgbe_model.h"
|
||||
#include "ixgbe_txrx_common.h"
|
||||
|
||||
char ixgbe_driver_name[] = "ixgbe";
|
||||
static const char ixgbe_driver_string[] =
|
||||
|
@ -1673,7 +1674,7 @@ static void ixgbe_update_rsc_stats(struct ixgbe_ring *rx_ring,
|
|||
* order to populate the hash, checksum, VLAN, timestamp, protocol, and
|
||||
* other fields within the skb.
|
||||
**/
|
||||
static void ixgbe_process_skb_fields(struct ixgbe_ring *rx_ring,
|
||||
void ixgbe_process_skb_fields(struct ixgbe_ring *rx_ring,
|
||||
union ixgbe_adv_rx_desc *rx_desc,
|
||||
struct sk_buff *skb)
|
||||
{
|
||||
|
@ -1708,7 +1709,7 @@ static void ixgbe_process_skb_fields(struct ixgbe_ring *rx_ring,
|
|||
skb->protocol = eth_type_trans(skb, dev);
|
||||
}
|
||||
|
||||
static void ixgbe_rx_skb(struct ixgbe_q_vector *q_vector,
|
||||
void ixgbe_rx_skb(struct ixgbe_q_vector *q_vector,
|
||||
struct sk_buff *skb)
|
||||
{
|
||||
napi_gro_receive(&q_vector->napi, skb);
|
||||
|
@ -1868,7 +1869,7 @@ static void ixgbe_dma_sync_frag(struct ixgbe_ring *rx_ring,
|
|||
*
|
||||
* Returns true if an error was encountered and skb was freed.
|
||||
**/
|
||||
static bool ixgbe_cleanup_headers(struct ixgbe_ring *rx_ring,
|
||||
bool ixgbe_cleanup_headers(struct ixgbe_ring *rx_ring,
|
||||
union ixgbe_adv_rx_desc *rx_desc,
|
||||
struct sk_buff *skb)
|
||||
{
|
||||
|
@ -2186,14 +2187,6 @@ static struct sk_buff *ixgbe_build_skb(struct ixgbe_ring *rx_ring,
|
|||
return skb;
|
||||
}
|
||||
|
||||
#define IXGBE_XDP_PASS 0
|
||||
#define IXGBE_XDP_CONSUMED BIT(0)
|
||||
#define IXGBE_XDP_TX BIT(1)
|
||||
#define IXGBE_XDP_REDIR BIT(2)
|
||||
|
||||
static int ixgbe_xmit_xdp_ring(struct ixgbe_adapter *adapter,
|
||||
struct xdp_frame *xdpf);
|
||||
|
||||
static struct sk_buff *ixgbe_run_xdp(struct ixgbe_adapter *adapter,
|
||||
struct ixgbe_ring *rx_ring,
|
||||
struct xdp_buff *xdp)
|
||||
|
@ -8469,7 +8462,7 @@ static u16 ixgbe_select_queue(struct net_device *dev, struct sk_buff *skb,
|
|||
}
|
||||
|
||||
#endif
|
||||
static int ixgbe_xmit_xdp_ring(struct ixgbe_adapter *adapter,
|
||||
int ixgbe_xmit_xdp_ring(struct ixgbe_adapter *adapter,
|
||||
struct xdp_frame *xdpf)
|
||||
{
|
||||
struct ixgbe_ring *ring = adapter->xdp_ring[smp_processor_id()];
|
||||
|
|
26
drivers/net/ethernet/intel/ixgbe/ixgbe_txrx_common.h
Normal file
26
drivers/net/ethernet/intel/ixgbe/ixgbe_txrx_common.h
Normal file
|
@ -0,0 +1,26 @@
|
|||
/* SPDX-License-Identifier: GPL-2.0 */
|
||||
/* Copyright(c) 2018 Intel Corporation. */
|
||||
|
||||
#ifndef _IXGBE_TXRX_COMMON_H_
|
||||
#define _IXGBE_TXRX_COMMON_H_
|
||||
|
||||
#define IXGBE_XDP_PASS 0
|
||||
#define IXGBE_XDP_CONSUMED BIT(0)
|
||||
#define IXGBE_XDP_TX BIT(1)
|
||||
#define IXGBE_XDP_REDIR BIT(2)
|
||||
|
||||
int ixgbe_xmit_xdp_ring(struct ixgbe_adapter *adapter,
|
||||
struct xdp_frame *xdpf);
|
||||
bool ixgbe_cleanup_headers(struct ixgbe_ring *rx_ring,
|
||||
union ixgbe_adv_rx_desc *rx_desc,
|
||||
struct sk_buff *skb);
|
||||
void ixgbe_process_skb_fields(struct ixgbe_ring *rx_ring,
|
||||
union ixgbe_adv_rx_desc *rx_desc,
|
||||
struct sk_buff *skb);
|
||||
void ixgbe_rx_skb(struct ixgbe_q_vector *q_vector,
|
||||
struct sk_buff *skb);
|
||||
|
||||
void ixgbe_txrx_ring_disable(struct ixgbe_adapter *adapter, int ring);
|
||||
void ixgbe_txrx_ring_enable(struct ixgbe_adapter *adapter, int ring);
|
||||
|
||||
#endif /* #define _IXGBE_TXRX_COMMON_H_ */
|
Loading…
Reference in a new issue