Page MenuHomeFreeBSD

Allow ECN to be accepted for incoming TCP connections without requesting it for outgoing connections and make this the default
ClosedPublic

Authored by truckman on May 16 2016, 6:58 AM.
Tags
None
Referenced Files
Unknown Object (File)
Sun, Jan 19, 2:04 AM
Unknown Object (File)
Wed, Jan 8, 10:57 PM
Unknown Object (File)
Mon, Jan 6, 8:19 AM
Unknown Object (File)
Nov 21 2024, 3:48 PM
Unknown Object (File)
Sep 20 2024, 1:32 PM
Unknown Object (File)
Sep 17 2024, 6:33 PM
Unknown Object (File)
Aug 25 2024, 4:51 PM
Unknown Object (File)
Aug 3 2024, 4:20 PM
Subscribers

Details

Reviewers
eadler
Group Reviewers
transport
Commits
rS302032: MFC r300240
Summary

Solaris and Linux (since 2.4.20) have allowed three settings for
ECN for some time.

  • Totally disabled
  • Enabled for incoming TCP connections if requested, but not
	    requested by outgoing TCP connections (Linux default)
	  * Enabled for incoming TCP connections if requested and
	    requested by outgoing TCP connections

Mac OS X has had independent knobs for incoming and outgoing
ECN support since 10.5. As of OS X, 10.11, Apple claims that
ECN is enabled by default, though it not clear whether that
is for both incoming and outgoing connections.

This patch changes the FreeBSD net.inet.tcp.ecn.enable knob
from binary off/on to a three way setting to match Linux
and Solaris. The values were chosen to match Linux.

	  0 - Totally disabled
	  1 - Enabled for both incoming and outgoing
	  2 - Enabled for incoming if requested, and outgoing connections
	      do not request ECN

with 2 being the new default. For hosts currently running with
net.inet.tcp.ecn.enable=1, there should be no change in
behavior.

Test Plan

Test incoming and outgoing TCP connections with various settings
of the net.inet.tcp.ecn.enable knob

Diff Detail

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

Event Timeline

truckman retitled this revision from to Allow ECN to be accepted for incoming TCP connections without requesting it for outgoing connections and make this the default.
truckman updated this object.
truckman edited the test plan for this revision. (Show Details)
eadler added a reviewer: eadler.
This revision was automatically updated to reflect the committed changes.