diff options
author | Herbert Xu <herbert@gondor.apana.org.au> | 2009-01-21 17:39:13 -0500 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2009-01-21 17:39:13 -0500 |
commit | 7be2df451fa916f93e37763a58d33483feb0909f (patch) | |
tree | fae9f8e65f92d7b41a5aa13a45bf4c310b84850c /drivers/net/cxgb3/adapter.h | |
parent | 749c10f931923451a4c59b4435d182aa9ae27a4f (diff) |
cxgb3: Replace LRO with GRO
This patch makes cxgb3 invoke the GRO hooks instead of LRO. As
GRO has a compatible external interface to LRO this is a very
straightforward replacement.
I've kept the ioctl controls for per-queue LRO switches. However,
we should not encourage anyone to use these.
Because of that, I've also kept the skb construction code in
cxgb3. Hopefully we can phase out those per-queue switches
and then kill this too.
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
Acked-by: Divy Le Ray <divy@chelsio.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers/net/cxgb3/adapter.h')
-rw-r--r-- | drivers/net/cxgb3/adapter.h | 13 |
1 files changed, 2 insertions, 11 deletions
diff --git a/drivers/net/cxgb3/adapter.h b/drivers/net/cxgb3/adapter.h index 5fb7c6851eb2..fbe15699584e 100644 --- a/drivers/net/cxgb3/adapter.h +++ b/drivers/net/cxgb3/adapter.h | |||
@@ -42,7 +42,6 @@ | |||
42 | #include <linux/cache.h> | 42 | #include <linux/cache.h> |
43 | #include <linux/mutex.h> | 43 | #include <linux/mutex.h> |
44 | #include <linux/bitops.h> | 44 | #include <linux/bitops.h> |
45 | #include <linux/inet_lro.h> | ||
46 | #include "t3cdev.h" | 45 | #include "t3cdev.h" |
47 | #include <asm/io.h> | 46 | #include <asm/io.h> |
48 | 47 | ||
@@ -178,15 +177,11 @@ enum { /* per port SGE statistics */ | |||
178 | SGE_PSTAT_TX_CSUM, /* # of TX checksum offloads */ | 177 | SGE_PSTAT_TX_CSUM, /* # of TX checksum offloads */ |
179 | SGE_PSTAT_VLANEX, /* # of VLAN tag extractions */ | 178 | SGE_PSTAT_VLANEX, /* # of VLAN tag extractions */ |
180 | SGE_PSTAT_VLANINS, /* # of VLAN tag insertions */ | 179 | SGE_PSTAT_VLANINS, /* # of VLAN tag insertions */ |
181 | SGE_PSTAT_LRO_AGGR, /* # of page chunks added to LRO sessions */ | ||
182 | SGE_PSTAT_LRO_FLUSHED, /* # of flushed LRO sessions */ | ||
183 | SGE_PSTAT_LRO_NO_DESC, /* # of overflown LRO sessions */ | ||
184 | 180 | ||
185 | SGE_PSTAT_MAX /* must be last */ | 181 | SGE_PSTAT_MAX /* must be last */ |
186 | }; | 182 | }; |
187 | 183 | ||
188 | #define T3_MAX_LRO_SES 8 | 184 | struct napi_gro_fraginfo; |
189 | #define T3_MAX_LRO_MAX_PKTS 64 | ||
190 | 185 | ||
191 | struct sge_qset { /* an SGE queue set */ | 186 | struct sge_qset { /* an SGE queue set */ |
192 | struct adapter *adap; | 187 | struct adapter *adap; |
@@ -194,12 +189,8 @@ struct sge_qset { /* an SGE queue set */ | |||
194 | struct sge_rspq rspq; | 189 | struct sge_rspq rspq; |
195 | struct sge_fl fl[SGE_RXQ_PER_SET]; | 190 | struct sge_fl fl[SGE_RXQ_PER_SET]; |
196 | struct sge_txq txq[SGE_TXQ_PER_SET]; | 191 | struct sge_txq txq[SGE_TXQ_PER_SET]; |
197 | struct net_lro_mgr lro_mgr; | 192 | struct napi_gro_fraginfo lro_frag_tbl; |
198 | struct net_lro_desc lro_desc[T3_MAX_LRO_SES]; | ||
199 | struct skb_frag_struct *lro_frag_tbl; | ||
200 | int lro_nfrags; | ||
201 | int lro_enabled; | 193 | int lro_enabled; |
202 | int lro_frag_len; | ||
203 | void *lro_va; | 194 | void *lro_va; |
204 | struct net_device *netdev; | 195 | struct net_device *netdev; |
205 | struct netdev_queue *tx_q; /* associated netdev TX queue */ | 196 | struct netdev_queue *tx_q; /* associated netdev TX queue */ |