Page MenuHomeFreeBSD

Handle partial data re-sending on ktls/sendfile on FreeBSD
ClosedPublic

Authored by jhb on Feb 16 2021, 6:58 PM.
Tags
None
Referenced Files
Unknown Object (File)
Mon, Mar 11, 9:40 AM
Unknown Object (File)
Mon, Mar 11, 9:40 AM
Unknown Object (File)
Mon, Mar 11, 9:40 AM
Unknown Object (File)
Thu, Mar 7, 11:30 PM
Unknown Object (File)
Feb 12 2024, 4:11 PM
Unknown Object (File)
Jan 3 2024, 10:06 PM
Unknown Object (File)
Jan 3 2024, 10:06 PM
Unknown Object (File)
Jan 3 2024, 10:06 PM
Subscribers

Details

Summary

Add a handler for EBUSY sendfile error in addition to
EAGAIN. With EBUSY returned the data still can be partially
sent and user code has to be notified about it, otherwise it
may try to send data multiple times.

PR: 251969
Obtained from: OpenSSL (dfcfd17f2818cf520ce6381aed9ec3d2fc12170d)

Diff Detail

Repository
rG FreeBSD src repository
Lint
Lint Not Applicable
Unit
Tests Not Applicable

Event Timeline

jhb requested review of this revision.Feb 16 2021, 6:58 PM

I've tested this on Netflix servers, and it seems to work.

It also reduces by about 50% the clients that close the connection for no reason, which sometimes indicate they got bad crypto data.

@jkim would you be able to commit a followup change to regenerate the relevant manual page after this lands?

In D28714#642840, @jhb wrote:

@jkim would you be able to commit a followup change to regenerate the relevant manual page after this lands?

Yes but I am working on importing OpenSSL 1.1.1j now.

In D28714#642846, @jkim wrote:
In D28714#642840, @jhb wrote:

@jkim would you be able to commit a followup change to regenerate the relevant manual page after this lands?

Yes but I am working on importing OpenSSL 1.1.1j now.

Totally fine, I figured you wouldn't have time to review this until after finishing up 1.1.1j.

This revision is now accepted and ready to land.Feb 17 2021, 5:17 AM

@jhb Are you MFC'ing this to stable/13 and/or releng/13.0?