RFC3168 section 6.1.1.1 says this:
A host that receives no reply to an ECN-setup SYN within the normal
SYN retransmission timeout interval MAY resend the SYN and any
subsequent SYN retransmissions with CWR and ECE cleared. To overcome
normal packet loss that results in the original SYN being lost, the
originating host may retransmit one or more ECN-setup SYN packets
before giving up and retransmitting the SYN with the CWR and ECE bits
cleared.
Supporting this would make using ECN a lot less painful - currently, if
I want to use ECN by default, I get to turn it off anytime I find an ECN-hostile
site that I'd like to communicate with.
Looking at the 2.5.56 version of net/ipv4/tcp_output.c, it doesn't look like
the tcp_connect() function has a good way to connect a special callback to clear
the ECN bits on a retransmit. Similarly, net/ipv4/netfilter/* doesn't seem
to have a good way to flag a *retransmitted* SYN for packet mangling.
It would be nice, but not required, if the solution included a printk() so
I could grep the logs and find sites to send a nastygram to if they are in
fact ECN-hostile..
Any pointers/suggestions/etc?
/Valdis (who has hit 5 ECN-hostile servers already today... argh)
This archive was generated by hypermail 2b29 : Sun Feb 23 2003 - 22:00:34 EST