Package: keepalived Version: 1.1.15-1 Severity: normal If you add an unreachable route to one realserver, the healthchecker doesn't remove the realserver.
For example, # ip ro add unreachable 10.1.8.48 # telnet 10.1.8.48 80 Trying 10.1.8.48... telnet: Unable to connect to remote host: Network is unreachable But HTTP_GET/SMTP_CHECK/TCP_CHECK isn't aware of the connect problem. The following codes may be helpful to solve the problem ipvs1:~# cat a.c #include <stdio.h> #include <sys/socket.h> #include <netinet/in.h> int main (void) { int ret, sock, status; struct sockaddr_in sa = { AF_INET }; socklen_t slen = sizeof (status); sa.sin_addr.s_addr = inet_addr ("10.1.8.48"); sa.sin_port = htons (80); sock = socket (AF_INET, SOCK_STREAM, IPPROTO_TCP); ret = connect (sock, (struct sockaddr *)&sa, sizeof (sa)); printf ("connect return %d\n", ret); if (ret != 0) perror ("connect: "); /* After calling connect, keepalived use getsockopt(SO_ERROR) to get the connection status in function tcp_socket_state. But it report no error in this case. */ ret = getsockopt (sock, SOL_SOCKET, SO_ERROR, (void *) &status, &slen); if (ret != 0) perror ("getsockopt: "); printf ("status = %d\n", status); }; ipvs1:~# gcc a.c ipvs1:~# ./a.out connect return -1 connect: : Network is unreachable status = 0 ipvs1:~# -- System Information: Debian Release: lenny/sid APT prefers testing APT policy: (500, 'testing') Architecture: amd64 (x86_64) Kernel: Linux 2.6.26-1-amd64 (SMP w/4 CPU cores) Locale: LANG=zh_CN.UTF-8, LC_CTYPE=zh_CN.UTF-8 (charmap=UTF-8) Shell: /bin/sh linked to /bin/dash Versions of packages keepalived depends on: ii iproute 20080725-2 networking and traffic control too ii ipvsadm 1:1.24-2 Linux Virtual Server support progr ii libc6 2.7-15 GNU C Library: Shared libraries ii libpopt0 1.14-4 lib for parsing cmdline parameters ii libssl0.9.8 0.9.8g-13 SSL shared libraries keepalived recommends no packages. keepalived suggests no packages. -- no debconf information -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]