--- a/keepalived/vrrp/vrrp_daemon.c Tue Aug 10 10:06:33 2010 +++ b/keepalived/vrrp/vrrp_daemon.c Tue Aug 10 10:08:04 2010 @@ -75,7 +75,8 @@ #ifdef _WITH_LVS_ /* Clean ipvs related */ - ipvs_stop(); + if (daemon_mode & 2 || !daemon_mode) + ipvs_stop(); #endif #ifdef _DEBUG_ @@ -102,7 +103,8 @@ #ifdef _WITH_LVS_ /* Initialize ipvs related */ - ipvs_start(); + if (daemon_mode & 2 || !daemon_mode) + ipvs_start(); #endif /* Parse configuration file */ data = alloc_global_data(); @@ -207,7 +209,8 @@ #ifdef _WITH_LVS_ /* Clean ipvs related */ - ipvs_stop(); + if (daemon_mode & 2 || !daemon_mode) + ipvs_stop(); #endif /* Reload the conf */ --- a/keepalived/vrrp/vrrp_netlink.c Tue Aug 10 10:12:18 2010 +++ b/keepalived/vrrp/vrrp_netlink.c Tue Aug 10 10:13:29 2010 @@ -42,6 +42,7 @@ #include "memory.h" #include "scheduler.h" #include "utils.h" +#include "main.h" /* Global vars */ struct nl_handle nl_kernel; /* Kernel reflection channel */ @@ -539,7 +540,8 @@ #ifdef _WITH_LVS_ /* Refresh checkers state */ - update_checker_activity(address, + if (daemon_mode & 2 || !daemon_mode) + update_checker_activity(address, (h->nlmsg_type == RTM_NEWADDR) ? 1 : 0); #endif