diff options
author | Alexander Duyck <alexander.h.duyck@intel.com> | 2008-07-08 15:12:13 -0700 |
---|---|---|
committer | Jeff Garzik <jgarzik@redhat.com> | 2008-07-11 01:20:32 -0400 |
commit | d3352520273426e4c16e91d189aa8aa7ee5e96c5 (patch) | |
tree | 963c396cdc698b853acfe100080efbe41719013e /drivers/net/igb/igb.h | |
parent | bf36c1a0040cc6ccd63cdd1cec25d2085f2df964 (diff) | |
download | op-kernel-dev-d3352520273426e4c16e91d189aa8aa7ee5e96c5.zip op-kernel-dev-d3352520273426e4c16e91d189aa8aa7ee5e96c5.tar.gz |
igb: add support for in kernel LRO
This patch adds support for the use of the inet_lro module to provide
software LRO support.
Signed-off-by: Alexander Duyck <alexander.h.duyck@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
Diffstat (limited to 'drivers/net/igb/igb.h')
-rw-r--r-- | drivers/net/igb/igb.h | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/drivers/net/igb/igb.h b/drivers/net/igb/igb.h index f41b999..c25ca17 100644 --- a/drivers/net/igb/igb.h +++ b/drivers/net/igb/igb.h @@ -36,6 +36,12 @@ struct igb_adapter; +#ifdef CONFIG_IGB_LRO +#include <linux/inet_lro.h> +#define MAX_LRO_AGGR 32 +#define MAX_LRO_DESCRIPTORS 8 +#endif + /* Interrupt defines */ #define IGB_MAX_TX_CLEAN 72 @@ -167,6 +173,10 @@ struct igb_ring { int no_itr_adjust; struct igb_queue_stats rx_stats; struct napi_struct napi; +#ifdef CONFIG_IGB_LRO + struct net_lro_mgr lro_mgr; + bool lro_used; +#endif }; }; @@ -278,6 +288,12 @@ struct igb_adapter { #ifdef CONFIG_NETDEVICES_MULTIQUEUE struct igb_ring *multi_tx_table[IGB_MAX_TX_QUEUES]; #endif /* CONFIG_NETDEVICES_MULTIQUEUE */ +#ifdef CONFIG_IGB_LRO + unsigned int lro_max_aggr; + unsigned int lro_aggregated; + unsigned int lro_flushed; + unsigned int lro_no_desc; +#endif }; #define IGB_FLAG_HAS_MSI (1 << 0) |