From: Quentin Young Date: Wed, 16 Jan 2019 20:09:17 +0000 (+0000) Subject: vrrpd: transition to master when adv timer expires X-Git-Tag: base_7.2~330^2~130 X-Git-Url: https://git.puffer.fish/?a=commitdiff_plain;h=c7e3b83d154e8e607c4ff6f11a764fda259cba54;p=matthieu%2Ffrr.git vrrpd: transition to master when adv timer expires Signed-off-by: Quentin Young --- diff --git a/vrrpd/vrrp.c b/vrrpd/vrrp.c index f761028846..1f89ef7b96 100644 --- a/vrrpd/vrrp.c +++ b/vrrpd/vrrp.c @@ -845,6 +845,14 @@ static int vrrp_master_down_timer_expire(struct thread *thread) zlog_info(VRRP_LOGPFX VRRP_LOGPFX_VRID "Master_Down_Timer expired", r->vr->vrid); + vrrp_send_advertisement(r); + if (r->family == AF_INET) + vrrp_garp_send_all(r); + thread_add_timer_msec(master, vrrp_adver_timer_expire, r, + r->vr->advertisement_interval * 10, + &r->t_adver_timer); + vrrp_change_state(r, VRRP_STATE_MASTER); + return 0; }