Subject: TCP ECN summer of code project
To: None <>
From: Rui Paulo <>
List: tech-net
Date: 08/17/2006 08:40:41
My Summer of Code project is mostly finished and I would like you to try 
it as much as possible before incorporating it into the tree.
The primary archs I tested it on were i386 and macppc, but I build 
tested it on sparc.

To checkout. do the following in your NetBSD src tree:
% cd src/sys
% mv netinet netinet.old
% cvs -d login
Logging in to
CVS password:
% cvs -d co 
-P ecn/src/sys/netinet
% mv ecn/src/sys/netinet .
% rm -rf ecn

Then build your kernel as usual. (netinet/ is from yesterday's sources).

After booting, you'll see:
% sysctl net.inet.tcp.ecn
net.inet.tcp.ecn.enable = 0
net.inet.tcp.ecn.maxretries = 1

The second one is the number of SYN retransmits the kernel should do 
before giving up on ECN and using a non-ECN setup packet.

If you have two distant machines and you think there's a ECN router or 
two in the middle, please test this.

Implementation results can be found at:

I'll be back in the weekend for more.

Thanks in advance.