• Herbert Xu's avatar
    igb: Replace LRO with GRO · 5c0999b7
    Herbert Xu authored
    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: default avatarHerbert Xu <herbert@gondor.apana.org.au>
    Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
    5c0999b7
igb_ethtool.c 57.7 KB