Page MenuHomeFreeBSD

Modify handling of TCP_RFC7413 (TFO) kernel option
ClosedPublic

Authored by pkelsey on Jan 25 2018, 7:09 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
Lint
Lint Skipped
Unit
Unit Tests Skipped
Build Status
Buildable 14572

Event Timeline

pkelsey created this revision.Jan 25 2018, 7:09 AM
hiren accepted this revision as: hiren.Feb 5 2018, 5:52 PM

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.