HomeFreeBSD

LRO: Fix lost packets when merging 1 payload with an ACK

Description

LRO: Fix lost packets when merging 1 payload with an ACK

To check if it needed to regenerate a packet's header before
sending it up the stack, LRO was checking if more than one payload
had been merged into the packet. This failed in the case where
a single payload was merged with one or more pure ACKs. This
results in lost ACKs.

Fix this by precisely tracking whether header regeneration is
required instead of using an incorrect heuristic.

Found with: Sysunit test
Differential Revision: https://reviews.freebsd.org/D33774
Reviewed by: rrs

Details

Provenance
rstoneAuthored on Dec 31 2021, 5:56 PM
Reviewer
rrs
Differential Revision
D33774: LRO: Fix lost packets when merging 1 payload with an ACK
Parents
rG7d06c761c8ab: x86/madt: allow Xen guest to use x2APIC mode
Branches
Unknown
Tags
Unknown