This is the mail archive of the
ecos-discuss@sources.redhat.com
mailing list for the eCos project.
FreeBSD Stack/ KeepAlive not working
- From: "Richard Rauch" <Richard dot Rauch at vipa dot de>
- To: <ecos-discuss at sources dot redhat dot com>
- Date: Tue, 12 Oct 2004 18:53:48 +0200
- Subject: [ECOS] FreeBSD Stack/ KeepAlive not working
Hi All,
first we find out, that the stack is not using the configured values for the
ticker from ecos ( e.g. CYGNUM_HAL_RTC_PERIOD ). The stack has fix values
for it in support.c:
int hz = 100;
int tick = 10000; // usec per "tick"
We are working with a ticker of 250 us. So we have changed the values to
int hz = 4000;
int tick = 250; // usec per "tick"
But now the KeepAlive-Time is over one hour. This is too much for our
application.
We found fix settings in tcp_timer.h for the values and changed it to:
#define TCPTV_KEEP_INIT ( 10*hz) /* initial connect keepalive */
#define TCPTV_KEEP_IDLE (15*hz) /* dflt time before probing */
#define TCPTV_KEEPINTVL ( 5*hz) /* default probe interval */
#define TCPTV_KEEPCNT 3 /* max probes before drop */
But now, when communication is idle on an established connection, the stack
is closing the connection after 20 seconds. We do not see a Keep Alive
Telegram on Ethernet.
What is wrong?
Thanks in advance
Richard
--
Before posting, please read the FAQ: http://ecos.sourceware.org/fom/ecos
and search the list archive: http://ecos.sourceware.org/ml/ecos-discuss