Ok, I didn't think that was to be RFC compliant...
But don't you think these values would have to be settable in lwipopts.h ?
Because, even with TCP_KEEPALIVE to 0, the minimum delay to detect a loss of
stream connection is TCP_MAXIDLE (75000*9 = 675000ms =~ 11.25 min).
/* Keepalive values */
#define TCP_KEEPINTVL 75000 /* Time between
KEEPALIVE probes in miliseconds */
#define TCP_KEEPCNT 9 /* Counter for
KEEPALIVE probes */
#define TCP_MAXIDLE TCP_KEEPCNT * TCP_KEEPINTVL /* Maximum KEEPALIVE
probe time */
On a basic XP pc (yes, I know, this is not the "best" reference), registry
values (in
"HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\TCPIP\Parameters") seems
to be TCP_KEEPCNT=5 ("TcpMaxDataRetransmissions"), TCP_KEEPINTVL=1000
("KeepAliveInterval"), and TCP_KEEPDEFAULT=7200000 ("KeepAliveTime").
http://support.microsoft.com/kb/314053/en-us
What do you think about this idea?
====================================
Frédéric BERNON
HYMATOM SA
Chef de projet informatique
Microsoft Certified Professional
Tél. : +33 (0)4-67-87-61-10
Fax. : +33 (0)4-67-70-85-44
Email : [EMAIL PROTECTED]
Web Site : http://www.hymatom.fr
====================================
P Avant d'imprimer, penser à l'environnement
-----Message d'origine-----
De : [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] De la part de Kieran Mansley
Envoyé : jeudi 15 février 2007 16:35
À : Mailing list for lwIP users
Objet : Re: [lwip-users] Questions about LwIP KEEPALIVE...
On Thu, 2007-02-15 at 16:17 +0100, Frédéric BERNON wrote:
> So, if I dont do any mistake, if a router between my lwip devices
> crashs, the connection will detect it in... 39375*200 ms = 7875 sec =
> 131.25 min !?!?!
>
> I suppose I do a mistake somewhere, or I don't understand (because
> more than 2 hours - by default - to detect a connection failure seems
> to be very very long)...
I think you've read it right. To comply with the TCP RFCs a stack MUST default
to a TCP keepalive timeout of no less that 2 hours. See
http://www.freesoft.org/CIE/RFC/1122/114.htm
If you were to send any data you'd find out sooner of course - TCP keepalive is
really only of use for connections that are idle (or I suppose uni-directional).
The algorithm is quite conservative on the side of not closing connections
until it's really sure they are dead.
Kieran
_______________________________________________
lwip-users mailing list
[email protected] http://lists.nongnu.org/mailman/listinfo/lwip-users
BEGIN:VCARD
VERSION:2.1
N:BERNON;Frédéric;;M.
FN:Frédéric BERNON
ORG:HYMATOM SA;Recherche et Développement
TITLE:Chef de projet informatique
TEL;WORK;VOICE:04-67-87-61-10
TEL;WORK;FAX:04-67-70-85-44
ADR;WORK;ENCODING=QUOTED-PRINTABLE:;23;Zone Industrielle=0D=0A175 rue de Massacan;VENDARGUES;;34740;FRANCE;
LABEL;WORK;ENCODING=QUOTED-PRINTABLE:23=0D=0AZone Industrielle=0D=0A175 rue de Massacan=0D=0AVENDARGUES 34740=0D=
=0AFrance
URL;WORK:http://www.hymatom.fr
ROLE:Chef de projet informatique
EMAIL;PREF;INTERNET:[EMAIL PROTECTED]
REV:20020404T083210Z
END:VCARD
_______________________________________________
lwip-users mailing list
[email protected]
http://lists.nongnu.org/mailman/listinfo/lwip-users