msquic icon indicating copy to clipboard operation
msquic copied to clipboard

Use virtualized buffered sends when GSO fails

Open ThadHouse opened this issue 4 years ago • 0 comments

On linux, if the datapath doesn't support GSO, we fall back to 1 buffer sends. However, since we have sendmmsg, we can actually segment a large buffer at the user code level virtually, and send the buffer down with 1 call. This means we could act like we always support gso to the core layer, and then manually segment if not supported. In addition, sometimes GSO sends can fail even if reported as supported, so this would also be the fallback path if the initial send fails.

ThadHouse avatar Mar 21 '21 18:03 ThadHouse