diff options
author | Herbert Xu <herbert@gondor.apana.org.au> | 2009-01-19 15:20:57 -0800 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2009-01-21 14:34:30 -0800 |
commit | 5c0999b72b34541a3734a9138c43d5c024a42d47 (patch) | |
tree | d73efcb136aa71a7b82161b25d5e19c72865694e /drivers/net/tg3.c | |
parent | 649aa95d75cbadb9f440c1b8d04c666461de326f (diff) | |
download | blackbird-op-linux-5c0999b72b34541a3734a9138c43d5c024a42d47.tar.gz blackbird-op-linux-5c0999b72b34541a3734a9138c43d5c024a42d47.zip |
igb: Replace LRO with GRO
This patch makes igb invoke the GRO hooks instead of LRO. As
GRO has a compatible external interface to LRO this is a very
straightforward replacement.
Three things of note:
1) I've kept the LRO Kconfig option until we decide to enable
GRO across the board at which point it can also be killed.
2) The poll_controller stuff is broken in igb as it tries to do
the same work as the normal poll routine. Since poll_controller
can be called in the middle of a poll, this can't be good.
I noticed this because poll_controller can invoke the GRO hooks
without flushing held GRO packets.
However, this should be harmless (assuming the poll_controller
bug above doesn't kill you first :) since the next ->poll will
clear the backlog. The only time when we'll have a problem is
if we're already executing the GRO code on the same ring, but
that's no worse than what happens now.
3) I kept the ip_summed check before calling GRO so that we're
on par with previous behaviour.
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers/net/tg3.c')
0 files changed, 0 insertions, 0 deletions