In computer networking, large receive offload (LRO) is a technique for increasing inbound throughput of high-bandwidth network connections by reducing CPU overhead. It works by aggregating multiple incoming packets from a single stream into a larger buffer before they are passed higher up the networking stack, thus reducing the number of packets that have to be processed. Linux implementations generally use LRO in conjunction with the New API (NAPI) to also reduce the number of interrupts.
According to benchmarks, even implementing this technique entirely in software can increase network performance significantly. As of April 2007[update], the Linux kernel supports LRO for in software only. FreeBSD 8 supports LRO in hardware on adapters that support it.
LRO should not operate on machines acting as routers, as it breaks the end-to-end principle and can significantly impact performance.
Generic Receive Offload (GRO) implements LRO in software.