Subject: Re: Why is LRO off by default on ixgbe?

From: Stephen Hemminger <[email-masked]>
Date: Wed, 23 Sep 2009 10:07:18 -0700

On Wed, 23 Sep 2009 09:57:51 -0700
Ben Greear <[email-masked]> wrote:

> On 09/23/2009 09:53 AM, Stephen Hemminger wrote:
> > On Wed, 23 Sep 2009 09:29:59 -0700
> > Ben Greear<[email-masked]>  wrote:
> >
> >> I just noticed that enabling LRO on ixgbe lets me reach about 9Gbps receive on two
> >> NICs concurrently in an NFS test, where I was only getting about 6Gbps w/out it (1500 MTU).
> >>
> >> Why is LRO disabled by default?
> >>
> >> Thanks,
> >> Ben
> >
> > LRO is turned off if bridging or routing because of End to End requirements.
> 
> That makes sense.
> 
> If I know that all interfaces in question can handle TSO and LRO,
> I could manually enable LRO w/out risk, right?
> 

The problem is that LRO merges TCP packets, this breaks the end-to-end
ack clocking and checksumming, and therefore is not enabled.
That is why GRO is the replacement solution (preserves packet boundaries)