Page MenuHomeFreeBSD

Modify handling of TCP_RFC7413 (TFO) kernel option
ClosedPublic

Authored by pkelsey on Jan 25 2018, 7:09 AM.
Tags
None
Referenced Files
Unknown Object (File)
Nov 26 2023, 6:44 PM
Unknown Object (File)
Nov 26 2023, 6:44 PM
Unknown Object (File)
Nov 26 2023, 6:44 PM
Unknown Object (File)
Nov 26 2023, 9:35 AM
Unknown Object (File)
Nov 23 2023, 8:50 AM
Unknown Object (File)
Nov 23 2023, 8:50 AM
Unknown Object (File)
Nov 14 2023, 1:54 PM
Unknown Object (File)
Nov 14 2023, 8:58 AM

Details

Summary

Greatly reduce the number of #ifdefs supporting the TCP_RFC7413 kernel option. The conditional compilation support is now centralized in tcp_fastopen.h and tcp_var.h. This doesn't provide the minimum theoretical footprint when TCP_RFC7413 is disabled, but nearly all the TFO code should wind up being removed by the optimizer, the additional footprint in the syncache entries is a single pointer, and the additional overhead in the tcpcb is at the end of the structure.

This enables TCP_RFC7413 by default in amd64 and arm64 GENERIC.

This revision depends on D14047.

Test Plan

Tested build with and without option TCP_RFC7413 in the kernel config.

Diff Detail

Repository
rS FreeBSD src repository - subversion
Lint
Lint Not Applicable
Unit
Tests Not Applicable

Event Timeline

People wanting to disable tfo (for whatever reasons) may have different opinions but looks good to me on a quick glance. Thanks.

Going to commit this soon as the review has been open for nearly one month and has been idle for two weeks.

This revision was not accepted when it landed; it landed in state Needs Review.Feb 26 2018, 3:03 AM
This revision was automatically updated to reflect the committed changes.