diff options
Diffstat (limited to 'usr.sbin/sasyncd/carp.c')
-rw-r--r-- | usr.sbin/sasyncd/carp.c | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/usr.sbin/sasyncd/carp.c b/usr.sbin/sasyncd/carp.c index de876c0ea6f..980ee84e314 100644 --- a/usr.sbin/sasyncd/carp.c +++ b/usr.sbin/sasyncd/carp.c @@ -1,4 +1,4 @@ -/* $OpenBSD: carp.c,v 1.8 2006/11/28 19:21:15 reyk Exp $ */ +/* $OpenBSD: carp.c,v 1.9 2009/06/25 18:50:22 sthen Exp $ */ /* * Copyright (c) 2005 Håkan Olsson. All rights reserved. @@ -225,6 +225,7 @@ int carp_init(void) { cfgstate.route_socket = -1; + unsigned int rtfilter; if (cfgstate.lockedstate != INIT) { cfgstate.runstate = cfgstate.lockedstate; @@ -250,6 +251,11 @@ carp_init(void) return -1; } + rtfilter = ROUTE_FILTER(RTM_IFINFO); + if (setsockopt(cfgstate.route_socket, PF_ROUTE, ROUTE_MSGFILTER, + &rtfilter, sizeof(rtfilter)) == -1) /* not fatal */ + log_msg(2, "carp_init: setsockopt"); + cfgstate.runstate = carp_get_state(cfgstate.carp_ifname); if (cfgstate.runstate == FAIL) { fprintf(stderr, "Failed to check interface \"%s\".\n", |