ixgbevf: make the first tx_buffer a repository for most of the skb info
This change makes it so that the first tx_buffer structure acts as a central storage location for most of the info about the skb we are about to transmit. In addition this patch makes tx_flags part of the ixgbevf_tx_buffer struct. This allows us to use the flags directly from the stucture and as result removes the tx_flags parameter from some functions. Also as a cleanup mapped_as_page is folded into tx_flags and some unused flags were removed. Signed-off-by: Alexander Duyck <alexander.h.duyck@intel.com> Signed-off-by: Emil Tantilov <emil.s.tantilov@intel.com> Tested-by: Phil Schmitt <phillip.j.schmitt@intel.com> Signed-off-by: Aaron Brown <aaron.f.brown@intel.com> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:

committed by
David S. Miller

parent
6e2580f9a4
commit
7ad1a09351
@@ -46,12 +46,15 @@
|
||||
/* wrapper around a pointer to a socket buffer,
|
||||
* so a DMA handle can be stored along with the buffer */
|
||||
struct ixgbevf_tx_buffer {
|
||||
struct sk_buff *skb;
|
||||
dma_addr_t dma;
|
||||
unsigned long time_stamp;
|
||||
union ixgbe_adv_tx_desc *next_to_watch;
|
||||
unsigned long time_stamp;
|
||||
struct sk_buff *skb;
|
||||
unsigned int bytecount;
|
||||
unsigned short gso_segs;
|
||||
__be16 protocol;
|
||||
dma_addr_t dma;
|
||||
u32 tx_flags;
|
||||
u16 length;
|
||||
u16 mapped_as_page;
|
||||
};
|
||||
|
||||
struct ixgbevf_rx_buffer {
|
||||
@@ -144,8 +147,7 @@ struct ixgbevf_ring {
|
||||
#define IXGBE_TX_FLAGS_VLAN (u32)(1 << 1)
|
||||
#define IXGBE_TX_FLAGS_TSO (u32)(1 << 2)
|
||||
#define IXGBE_TX_FLAGS_IPV4 (u32)(1 << 3)
|
||||
#define IXGBE_TX_FLAGS_FCOE (u32)(1 << 4)
|
||||
#define IXGBE_TX_FLAGS_FSO (u32)(1 << 5)
|
||||
#define IXGBE_TX_FLAGS_MAPPED_AS_PAGE (u32)(1 << 4)
|
||||
#define IXGBE_TX_FLAGS_VLAN_MASK 0xffff0000
|
||||
#define IXGBE_TX_FLAGS_VLAN_PRIO_MASK 0x0000e000
|
||||
#define IXGBE_TX_FLAGS_VLAN_SHIFT 16
|
||||
|
Reference in New Issue
Block a user