diff options
Diffstat (limited to 'net/openbgpd/files/patch-bgpd_carp.c')
-rw-r--r-- | net/openbgpd/files/patch-bgpd_carp.c | 26 |
1 files changed, 19 insertions, 7 deletions
diff --git a/net/openbgpd/files/patch-bgpd_carp.c b/net/openbgpd/files/patch-bgpd_carp.c index 53dcacbec449..f8fdaf66b53f 100644 --- a/net/openbgpd/files/patch-bgpd_carp.c +++ b/net/openbgpd/files/patch-bgpd_carp.c @@ -2,10 +2,10 @@ Index: bgpd/carp.c =================================================================== RCS file: /home/cvs/private/hrs/openbgpd/bgpd/carp.c,v retrieving revision 1.1.1.1 -retrieving revision 1.3 -diff -u -p -r1.1.1.1 -r1.3 +retrieving revision 1.4 +diff -u -p -r1.1.1.1 -r1.4 --- bgpd/carp.c 30 Jun 2009 05:46:15 -0000 1.1.1.1 -+++ bgpd/carp.c 9 Jul 2009 17:22:14 -0000 1.3 ++++ bgpd/carp.c 22 Oct 2009 15:10:02 -0000 1.4 @@ -1,4 +1,4 @@ -/* $OpenBSD: carp.c,v 1.5 2007/04/23 14:52:28 claudio Exp $ */ +/* $OpenBSD: carp.c,v 1.6 2008/09/10 15:00:01 tobias Exp $ */ @@ -25,7 +25,19 @@ diff -u -p -r1.1.1.1 -r1.3 if (level > 0 || force) c->do_demote = 1; -@@ -102,6 +105,9 @@ carp_demote_shutdown(void) +@@ -90,9 +93,8 @@ carp_demote_shutdown(void) + + while ((c = TAILQ_FIRST(&carpgroups)) != NULL) { + TAILQ_REMOVE(&carpgroups, c, entry); +- for (; c->changed_by > 0; c->changed_by--) +- if (c->do_demote) +- carp_demote_ioctl(c->group, -1); ++ if (c->do_demote && c->changed_by > 0) ++ carp_demote_ioctl(c->group, -c->changed_by); + + free(c->group); + free(c); +@@ -102,6 +104,9 @@ carp_demote_shutdown(void) int carp_demote_get(char *group) { @@ -35,7 +47,7 @@ diff -u -p -r1.1.1.1 -r1.3 int s; struct ifgroupreq ifgr; -@@ -124,6 +130,7 @@ carp_demote_get(char *group) +@@ -124,6 +129,7 @@ carp_demote_get(char *group) close(s); return ((int)ifgr.ifgr_attrib.ifg_carp_demoted); @@ -43,7 +55,7 @@ diff -u -p -r1.1.1.1 -r1.3 } int -@@ -156,6 +163,9 @@ carp_demote_set(char *group, int demote) +@@ -156,6 +162,9 @@ carp_demote_set(char *group, int demote) int carp_demote_ioctl(char *group, int demote) { @@ -53,7 +65,7 @@ diff -u -p -r1.1.1.1 -r1.3 int s, res; struct ifgroupreq ifgr; -@@ -178,4 +188,5 @@ carp_demote_ioctl(char *group, int demot +@@ -178,4 +187,5 @@ carp_demote_ioctl(char *group, int demot close(s); return (res); |