diff options
author | Mallikarjuna R Chilakala <mallikarjuna.chilakala@intel.com> | 2008-06-18 15:32:19 -0700 |
---|---|---|
committer | Jeff Garzik <jgarzik@redhat.com> | 2008-06-24 23:06:19 -0400 |
commit | 177db6ffd0599430a2ab63045e88fc4031f42420 (patch) | |
tree | 1c1e0b71a9589628e8b2abd82c213e1e7d1cc34b /drivers/net/ixgbe/ixgbe.h | |
parent | 8f85cd7fefa3d01c4e05aac1cb198733336cf44b (diff) | |
download | kernel-crypto-177db6ffd0599430a2ab63045e88fc4031f42420.tar.gz kernel-crypto-177db6ffd0599430a2ab63045e88fc4031f42420.tar.xz kernel-crypto-177db6ffd0599430a2ab63045e88fc4031f42420.zip |
ixgbe: add LRO support
Support for in-kernel LRO with the ability to enable/disable via ethtool
based on comments from Ben Hutchings.
Signed-off-by: Mallikarjuna R Chilakala <mallikarjuna.chilakala@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
Signed-off-by: PJ Waskiewicz <peter.p.waskiewicz.jr@intel.com>
Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
Diffstat (limited to 'drivers/net/ixgbe/ixgbe.h')
-rw-r--r-- | drivers/net/ixgbe/ixgbe.h | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/drivers/net/ixgbe/ixgbe.h b/drivers/net/ixgbe/ixgbe.h index d98113472a8..956914a5028 100644 --- a/drivers/net/ixgbe/ixgbe.h +++ b/drivers/net/ixgbe/ixgbe.h @@ -32,6 +32,7 @@ #include <linux/types.h> #include <linux/pci.h> #include <linux/netdevice.h> +#include <linux/inet_lro.h> #include "ixgbe_type.h" #include "ixgbe_common.h" @@ -100,6 +101,9 @@ #define IXGBE_TX_FLAGS_VLAN_MASK 0xffff0000 #define IXGBE_TX_FLAGS_VLAN_SHIFT 16 +#define IXGBE_MAX_LRO_DESCRIPTORS 8 +#define IXGBE_MAX_LRO_AGGREGATE 32 + /* wrapper around a pointer to a socket buffer, * so a DMA handle can be stored along with the buffer */ struct ixgbe_tx_buffer { @@ -150,6 +154,8 @@ struct ixgbe_ring { /* cpu for tx queue */ int cpu; #endif + struct net_lro_mgr lro_mgr; + bool lro_used; struct ixgbe_queue_stats stats; u8 v_idx; /* maps directly to the index for this ring in the hardware * vector array, can also be used for finding the bit in EICR @@ -287,6 +293,9 @@ struct ixgbe_adapter { unsigned long state; u64 tx_busy; + u64 lro_aggregated; + u64 lro_flushed; + u64 lro_no_desc; }; enum ixbge_state_t { |