From: Forissier, J. <jer...@hp...> - 2004-11-30 08:42:16
|
Sridhar Samudrala wrote: > On Tue, 30 Nov 2004, Forissier, Jerome wrote: >=20 >> Hi, >>=20 >> I'm playing with lkcstp (2.6 kernel, RedHat Fedora Core 2), and I've >> noticed the following: the connect(2) syscall won't return when an >> ICMP Destination Unreachable packet is received. For instance, I'm >> trying to connect to a Linux host that does not have SCTP loaded. >=20 > Just like TCP, SCTP does retries if it doesn't get any response to > INITs. But in this case it _does_ get a response (ICMP destination unreachable). IMHO this should cause connect(2) to return immediately. > By default the no. of retries is set to 8(max_init_retries) > each tried with an exponential backoff starting at an intial value of > 3 secs(rto_initial) and a maximum backoff of 60 secs(rto_max). So you > will see INITs sent at 0, 3, 9, 21, 45, 93, 153, 213 secs and finally > the connect() will return with ETIMEDOUT at 273secs. You can > access/change these defaults using the /proc interface under > /proc/sys/net/sctp =20 Indeed, I observed that INITs are retransmitted as you state. But (this is another issue) connect(2) _won't_ timeout. My test program remained blocked in connect(2) for 2+ hours... until I finally ^C'ed it... --=20 Jerome |