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

– Main.SimonLeinen - 02 Apr 2008