Page MenuHomeFreeBSD

Modify handling of TCP_RFC7413 (TFO) kernel option

Authored by pkelsey on Jan 25 2018, 7:09 AM.



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

rS FreeBSD src repository - subversion
Automatic diff as part of commit; lint not applicable.
Automatic diff as part of commit; 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.