diff options
author | Alexander Duyck <alexander.h.duyck@intel.com> | 2008-07-08 18:12:13 -0400 |
---|---|---|
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) |
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 f41b9996d2e..c25ca17d322 100644 --- a/drivers/net/igb/igb.h +++ b/drivers/net/igb/igb.h | |||
@@ -36,6 +36,12 @@ | |||
36 | 36 | ||
37 | struct igb_adapter; | 37 | struct igb_adapter; |
38 | 38 | ||
39 | #ifdef CONFIG_IGB_LRO | ||
40 | #include <linux/inet_lro.h> | ||
41 | #define MAX_LRO_AGGR 32 | ||
42 | #define MAX_LRO_DESCRIPTORS 8 | ||
43 | #endif | ||
44 | |||
39 | /* Interrupt defines */ | 45 | /* Interrupt defines */ |
40 | #define IGB_MAX_TX_CLEAN 72 | 46 | #define IGB_MAX_TX_CLEAN 72 |
41 | 47 | ||
@@ -167,6 +173,10 @@ struct igb_ring { | |||
167 | int no_itr_adjust; | 173 | int no_itr_adjust; |
168 | struct igb_queue_stats rx_stats; | 174 | struct igb_queue_stats rx_stats; |
169 | struct napi_struct napi; | 175 | struct napi_struct napi; |
176 | #ifdef CONFIG_IGB_LRO | ||
177 | struct net_lro_mgr lro_mgr; | ||
178 | bool lro_used; | ||
179 | #endif | ||
170 | }; | 180 | }; |
171 | }; | 181 | }; |
172 | 182 | ||
@@ -278,6 +288,12 @@ struct igb_adapter { | |||
278 | #ifdef CONFIG_NETDEVICES_MULTIQUEUE | 288 | #ifdef CONFIG_NETDEVICES_MULTIQUEUE |
279 | struct igb_ring *multi_tx_table[IGB_MAX_TX_QUEUES]; | 289 | struct igb_ring *multi_tx_table[IGB_MAX_TX_QUEUES]; |
280 | #endif /* CONFIG_NETDEVICES_MULTIQUEUE */ | 290 | #endif /* CONFIG_NETDEVICES_MULTIQUEUE */ |
291 | #ifdef CONFIG_IGB_LRO | ||
292 | unsigned int lro_max_aggr; | ||
293 | unsigned int lro_aggregated; | ||
294 | unsigned int lro_flushed; | ||
295 | unsigned int lro_no_desc; | ||
296 | #endif | ||
281 | }; | 297 | }; |
282 | 298 | ||
283 | #define IGB_FLAG_HAS_MSI (1 << 0) | 299 | #define IGB_FLAG_HAS_MSI (1 << 0) |