diff options
author | Herbert Xu <herbert@gondor.apana.org.au> | 2009-01-18 21:50:16 -0800 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2009-01-21 14:34:06 -0800 |
commit | da3bc07171dff957906cbe2ad5abb443eccf57c4 (patch) | |
tree | c59b6bec9e78c66c7fc5ceb0ee0288965ee7f47a /drivers/net/sfc/rx.h | |
parent | 78b6f4ce58d1c85190003840912cc9097cbb8146 (diff) |
sfc: Replace LRO with GRO
This patch makes sfc invoke the GRO hooks instead of LRO. As
GRO has a compatible external interface to LRO this is a very
straightforward replacement.
Everything should appear identical to the user except that the
offload is now controlled by the GRO ethtool option instead of
LRO. I've kept the lro module parameter as is since that's for
compatibility only.
I have eliminated efx_rx_mk_skb as the GRO layer can take care
of all packets regardless of whether GRO is enabled or not.
So the only case where we don't call GRO is if the packet checksum
is absent. This is to keep the behaviour changes of the patch to
a minimum.
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers/net/sfc/rx.h')
-rw-r--r-- | drivers/net/sfc/rx.h | 3 |
1 files changed, 0 insertions, 3 deletions
diff --git a/drivers/net/sfc/rx.h b/drivers/net/sfc/rx.h index 0e88a9ddc1c..42ee7555a80 100644 --- a/drivers/net/sfc/rx.h +++ b/drivers/net/sfc/rx.h @@ -17,9 +17,6 @@ void efx_remove_rx_queue(struct efx_rx_queue *rx_queue); void efx_init_rx_queue(struct efx_rx_queue *rx_queue); void efx_fini_rx_queue(struct efx_rx_queue *rx_queue); -int efx_lro_init(struct net_lro_mgr *lro_mgr, struct efx_nic *efx); -void efx_lro_fini(struct net_lro_mgr *lro_mgr); -void efx_flush_lro(struct efx_channel *channel); void efx_rx_strategy(struct efx_channel *channel); void efx_fast_push_rx_descriptors(struct efx_rx_queue *rx_queue); void efx_rx_work(struct work_struct *data); |