lwip-users
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

RE : RE : [lwip-users] Questions about LwIP KEEPALIVE...


From: Frédéric BERNON
Subject: RE : RE : [lwip-users] Questions about LwIP KEEPALIVE...
Date: Fri, 16 Feb 2007 14:21:09 +0100

Hi Kieran,

I just change in tcp.h this :

/*
 * User-settable options (used with setsockopt).
 */
#define TCP_NODELAY    0x01    /* don't delay send to coalesce packets */
#define TCP_KEEPALIVE  0x02    /* send KEEPALIVE probes when idle for 
pcb->keepalive miliseconds */

/* Keepalive values */
#define TCP_KEEPDEFAULT   7200000                       /* KEEPALIVE timer in 
miliseconds */

#ifndef TCP_KEEPINTVL
#define TCP_KEEPINTVL     75000                         /* Time between 
KEEPALIVE probes in miliseconds */
#endif

#ifndef TCP_KEEPCNT
#define TCP_KEEPCNT       9                             /* Counter for 
KEEPALIVE probes */
#endif

#define TCP_MAXIDLE       TCP_KEEPCNT * TCP_KEEPINTVL   /* Maximum KEEPALIVE 
probe time */


So, default values are respected, and can be change by lwipopts.h.

In changing that, I want to be able to close my tcp connections when the 
virtual circuit between my client and my server is broken, to avoid waiting a 
too long time before the client detect the problem (in this protocol, it can 
have a long time between exchanges, but if the link is "broken", we have to 
change to another server...).
  
====================================
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 : address@hidden 
Web Site : http://www.hymatom.fr 
====================================
P Avant d'imprimer, penser à l'environnement
 


-----Message d'origine-----
De : address@hidden [mailto:address@hidden De la part de Kieran Mansley
Envoyé : vendredi 16 février 2007 12:10
À : Mailing list for lwIP users
Objet : Re: RE : [lwip-users] Questions about LwIP KEEPALIVE...


On Thu, 2007-02-15 at 18:29 +0100, Frédéric BERNON wrote:
> 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?

It's not an option that most people would want to change, and as it's still 
configurable by those who want to and who understand the implications (by 
editing tcp.h) I'm happy with the way it is.  

Out of interest, can I ask what problem you want the KEEPALIVE option to solve? 
 In most cases people see TCP connections surviving short term connectivity 
breakage as a good thing, but sounds like you want to know (and close 
connections) if something has gone wrong in the network.

Kieran



_______________________________________________
lwip-users mailing list
address@hidden http://lists.nongnu.org/mailman/listinfo/lwip-users

Attachment: Frédéric BERNON.vcf
Description: Frédéric BERNON.vcf


reply via email to

[Prev in Thread] Current Thread [Next in Thread]