Thread (8 messages) 8 messages, 3 authors, 2009-09-25

Re: Why is LRO off by default on ixgbe?

From: Ben Greear <hidden>
Date: 2009-09-23 17:15:58

On 09/23/2009 10:07 AM, Stephen Hemminger wrote:
On Wed, 23 Sep 2009 09:57:51 -0700
Ben Greear[off-list ref]  wrote:
quoted
On 09/23/2009 09:53 AM, Stephen Hemminger wrote:
quoted
On Wed, 23 Sep 2009 09:29:59 -0700
Ben Greear[off-list ref]   wrote:
quoted
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)
Ok.  It seems GRO was enabled the whole time, but LRO is what gave me the
extra performance boost.

In this particular case, I'm not actually routing, though I do have ip-forward
enabled, so I guess LRO will be OK as long as I'm careful...

Thanks,
Ben

-- 
Ben Greear [off-list ref]
Candela Technologies Inc  http://www.candelatech.com
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help