On Wed, 15 Sep 2010 22:51:46 -0700 (PDT)
David Miller <[email protected]> wrote:

> From: Stephen Hemminger <[email protected]>
> Date: Wed, 15 Sep 2010 18:16:16 -0700
> 
> > On Thu, 16 Sep 2010 00:28:11 +0200
> > Eric Dumazet <[email protected]> wrote:
> > 
> >> BTW, we have a similar problem for bonding ( GRO is disabled )
> >> 
> >> # ethtool -K bond0 gro off
> >> # ethtool -K bond0 gro on
> >> Cannot set device GRO settings: Invalid argument
> >> 
> >> Same for vlans on top of bond0
> > 
> > Bridge has same problem as well.
> 
> Looking this over it should be a simple matter of:
> 
> 1) Adding the generic get/set gro ethtool ops to bonding
>    and bridge device ops.
> 
> 2) Set NETIF_F_GRO in bond/bridge device flags
> 
> 3) Maybe some minor fiddling with netdev_increment_features
>    and the flag macros it uses?
> 
> Patches welcome :-)

I think it is more complex than that. GRO is tied to NAPI,
and bridge/bond don't use NAPI directly. They use netif_rx() for receiving
because layered drivers can't directly up call because of possible
issues with stack depth. 

To get GRO working for netif_rx case,
the logic in process_backlog would have to change.
But this queue is processing packets from multiple devices so
it is not clear if GRO could be used.


-- 

------------------------------------------------------------------------------
Start uncovering the many advantages of virtual appliances
and start using them to simplify application deployment and
accelerate your shift to cloud computing.
http://p.sf.net/sfu/novell-sfdev2dev
_______________________________________________
E1000-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/e1000-devel
To learn more about Intel&#174; Ethernet, visit 
http://communities.intel.com/community/wired

Reply via email to