Date: Thu, 21 Apr 2005 13:36:06 -0300 (ART) From: Fernando Schapachnik <fernando@mecon.gov.ar> To: FreeBSD-gnats-submit@FreeBSD.org Cc: spe@bsdfr.org Subject: ports/80217: FreeVRRPd doesn't allow to specify advertisement interval Message-ID: <200504211636.j3LGa6cs002179@bal740r0.mecon.gov.ar> Resent-Message-ID: <200504211640.j3LGeQoV027146@freefall.freebsd.org>
next in thread | raw e-mail | index | archive | help
>Number: 80217 >Category: ports >Synopsis: FreeVRRPd doesn't allow to specify advertisement interval >Confidential: no >Severity: non-critical >Priority: low >Responsible: freebsd-ports-bugs >State: open >Quarter: >Keywords: >Date-Required: >Class: change-request >Submitter-Id: current-users >Arrival-Date: Thu Apr 21 16:40:26 GMT 2005 >Closed-Date: >Last-Modified: >Originator: Fernando Schapachnik >Release: FreeBSD 5.3-RELEASE-p5 i386 >Organization: >Environment: System: FreeBSD bal740r0.mecon.gov.ar 5.3-RELEASE-p5 FreeBSD 5.3-RELEASE-p5 #3: Tue Jan 18 12:25:08 ART 2005 root@bal740r0.mecon.gov.ar:/usr/obj/usr/src/sys/BAL740R0 i386 >Description: FreeVRRPd (net/freevrrpd) doesn't allow to specify the "advertisement interval". Such interval is interesting because the "master down interval" is computed (per RFC) as 3*advertisement interval+skew. Setting it to higher values allows to avoid some false positives that can arise from very transient network failures. If you are starting and stopping services, and switching databases via VRRP, you might not want be really sure that the master is down. >How-To-Repeat: >Fix: The following patch adds the configuration variable advinterval, which controls said interval. --- vrrp_conf.c.orig Thu Apr 21 13:23:07 2005 +++ vrrp_conf.c Thu Apr 21 11:13:29 2005 @@ -231,6 +231,11 @@ vr->priority = atoi(temp[0]); vrrp_conf_freeargs(temp); } + if (!strcmp(option, "advinterval")) { + temp = vrrp_conf_split_args(arg, ','); + vr->adv_int = atoi(temp[0]); + vrrp_conf_freeargs(temp); + } if (!strcmp(option, "password")) { temp = vrrp_conf_split_args(arg, ','); vr->password = (char *)calloc(8, 1); --- freevrrpd.conf.sample.orig Thu Apr 21 13:31:45 2005 +++ freevrrpd.conf.sample Thu Apr 21 13:34:54 2005 @@ -33,6 +33,13 @@ # don't, all BACKUP VRRP packets will be rejected. password = vrid1 +# advertisement interval (seconds). this is the time between advertisements. +# also indirectly controls "master timeout" (master timeout = 3*advertisement +# interval+skew, see RFC 3768 for details), which is the number of seconds +# to wait before declaring the master dead. be sure to set the same value in +# both master and slave. defaults to 1 second. +advinterval = 1 + # now, you can specify a script name to execute when this host became master # of this VRID masterscript = "/usr/local/bin/master_script.sh" >Release-Note: >Audit-Trail: >Unformatted:
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200504211636.j3LGa6cs002179>