Messages in this thread | | | Subject | RFC3168, section 6.1.1.1 - ECN and retransmit of SYN | From | Valdis.Kletnieks@vt ... | Date | Fri, 21 Feb 2003 15:13:06 -0500 |
| |
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) [unhandled content-type:application/pgp-signature] | |