Large-Receive Offload (LRO)

Large-receive offload is a performance optimization between the networking stack and device drivers. With LRO, the networking code in the kernel can fetch more than one received packet from a network adapter, and process this "bundle" of packets as a unit. LRO complements interrupt coalescence.

LRO was initially implemented in the Linux kernel, first for a specific type of Ten Gigabit Ethernet adapter (Neterion), later in a more generic way. More recently, FreeBSD added LRO support in release 7.0.

A network adapter can support LRO by splitting incoming frames so that headers and payloads from different packets can be more easily combined to larger internal pseudo-packets that are then passed to the networking stack.

References

  • Large Receive Offload implementation in Neterion 10GbE Ethernet driver, L. Grossman, Proc. Linux Symp., July 2005 PDF

-- SimonLeinen - 02 Apr 2008

Topic revision: r1 - 2008-04-02 - SimonLeinen
 
This site is powered by the TWiki collaboration platform Powered by PerlCopyright © 2004-2009 by the contributing authors. All material on this collaboration platform is the property of the contributing authors.