HomeFreeBSD

Only chain non-LRO mbufs when LRO is not possible

Description

Only chain non-LRO mbufs when LRO is not possible

Preserve packet order between tcp_lro_rx() and if_input() to avoid
creating extra corner cases. If no packets can be LROed, combine them
into one chain for submission via if_input(). If any packet can
potentially be LROed however, retain old behaviour and call if_input()
for each packet.

This should keep the 12% improvement for small packet forwarding intact,
but mostly avoids impacting the LRO case.

Reviewed by: cem, sbruno
Approved by: sbruno (mentor)
Sponsored by: Limelight Networks
Differential Revision: https://reviews.freebsd.org/D12876

Details

Provenance
shurdAuthored on
Reviewer
cem
Differential Revision
D12876: Only chain non-LRO mbufs when LRO is not possible
Parents
rS325486: Add an UPDATING entry for the posix_fallocate/ZFS change, r325320
Branches
Unknown
Tags
Unknown