]> git.puffer.fish Git - mirror/frr.git/commitdiff
vrrpd: fix skew time calculation
authorQuentin Young <qlyoung@cumulusnetworks.com>
Wed, 6 Feb 2019 16:38:38 +0000 (16:38 +0000)
committerQuentin Young <qlyoung@cumulusnetworks.com>
Fri, 17 May 2019 00:27:08 +0000 (00:27 +0000)
Signed-off-by: Quentin Young <qlyoung@cumulusnetworks.com>
vrrpd/vrrp.c

index 76f8dfea5d4c0a5875309005581aacdfca7a538c..a03c6750103ec0ca54a7c673a0a09e48e6aa1ab6 100644 (file)
@@ -88,8 +88,8 @@ static void vrrp_mac_set(struct ethaddr *mac, bool v6, uint8_t vrid)
  */
 static void vrrp_recalculate_timers(struct vrrp_router *r)
 {
-       uint16_t skmai = (r->vr->version - 2) * r->master_adver_interval;
-       r->skew_time = ((256 - r->vr->priority) * skmai) / 256;
+       uint16_t skm = (r->vr->version == 3) ? r->master_adver_interval : 1;
+       r->skew_time = ((256 - r->vr->priority) * skm) / 256;
        r->master_down_interval = (3 * r->master_adver_interval);
        r->master_down_interval += r->skew_time;
 }