mirror of
https://git.proxmox.com/git/mirror_frr
synced 2025-06-02 21:24:26 +00:00
Merge pull request #5181 from ghasemnaddaf/vrrp_updates
vrrpd: use CS2MS instead of constant 10 everywhere
This commit is contained in:
commit
2e6c9a1db5
16
vrrpd/vrrp.c
16
vrrpd/vrrp.c
@ -893,7 +893,7 @@ static int vrrp_recv_advertisement(struct vrrp_router *r, struct ipaddr *src,
|
||||
THREAD_OFF(r->t_adver_timer);
|
||||
thread_add_timer_msec(
|
||||
master, vrrp_adver_timer_expire, r,
|
||||
r->vr->advertisement_interval * 10,
|
||||
r->vr->advertisement_interval * CS2MS,
|
||||
&r->t_adver_timer);
|
||||
} else if (pkt->hdr.priority > r->priority
|
||||
|| ((pkt->hdr.priority == r->priority)
|
||||
@ -913,7 +913,7 @@ static int vrrp_recv_advertisement(struct vrrp_router *r, struct ipaddr *src,
|
||||
THREAD_OFF(r->t_master_down_timer);
|
||||
thread_add_timer_msec(master,
|
||||
vrrp_master_down_timer_expire, r,
|
||||
r->master_down_interval * 10,
|
||||
r->master_down_interval * CS2MS,
|
||||
&r->t_master_down_timer);
|
||||
vrrp_change_state(r, VRRP_STATE_BACKUP);
|
||||
} else {
|
||||
@ -931,7 +931,7 @@ static int vrrp_recv_advertisement(struct vrrp_router *r, struct ipaddr *src,
|
||||
THREAD_OFF(r->t_master_down_timer);
|
||||
thread_add_timer_msec(
|
||||
master, vrrp_master_down_timer_expire, r,
|
||||
r->skew_time * 10, &r->t_master_down_timer);
|
||||
r->skew_time * CS2MS, &r->t_master_down_timer);
|
||||
} else if (r->vr->preempt_mode == false
|
||||
|| pkt->hdr.priority >= r->priority) {
|
||||
if (r->vr->version == 3) {
|
||||
@ -942,7 +942,7 @@ static int vrrp_recv_advertisement(struct vrrp_router *r, struct ipaddr *src,
|
||||
THREAD_OFF(r->t_master_down_timer);
|
||||
thread_add_timer_msec(master,
|
||||
vrrp_master_down_timer_expire, r,
|
||||
r->master_down_interval * 10,
|
||||
r->master_down_interval * CS2MS,
|
||||
&r->t_master_down_timer);
|
||||
} else if (r->vr->preempt_mode == true
|
||||
&& pkt->hdr.priority < r->priority) {
|
||||
@ -1456,7 +1456,7 @@ static int vrrp_adver_timer_expire(struct thread *thread)
|
||||
|
||||
/* Reset the Adver_Timer to Advertisement_Interval */
|
||||
thread_add_timer_msec(master, vrrp_adver_timer_expire, r,
|
||||
r->vr->advertisement_interval * 10,
|
||||
r->vr->advertisement_interval * CS2MS,
|
||||
&r->t_adver_timer);
|
||||
} else {
|
||||
zlog_err(VRRP_LOGPFX VRRP_LOGPFX_VRID VRRP_LOGPFX_FAM
|
||||
@ -1480,7 +1480,7 @@ static int vrrp_master_down_timer_expire(struct thread *thread)
|
||||
r->vr->vrid, family2str(r->family));
|
||||
|
||||
thread_add_timer_msec(master, vrrp_adver_timer_expire, r,
|
||||
r->vr->advertisement_interval * 10,
|
||||
r->vr->advertisement_interval * CS2MS,
|
||||
&r->t_adver_timer);
|
||||
vrrp_change_state(r, VRRP_STATE_MASTER);
|
||||
|
||||
@ -1556,14 +1556,14 @@ static int vrrp_startup(struct vrrp_router *r)
|
||||
|
||||
if (r->priority == VRRP_PRIO_MASTER) {
|
||||
thread_add_timer_msec(master, vrrp_adver_timer_expire, r,
|
||||
r->vr->advertisement_interval * 10,
|
||||
r->vr->advertisement_interval * CS2MS,
|
||||
&r->t_adver_timer);
|
||||
vrrp_change_state(r, VRRP_STATE_MASTER);
|
||||
} else {
|
||||
r->master_adver_interval = r->vr->advertisement_interval;
|
||||
vrrp_recalculate_timers(r);
|
||||
thread_add_timer_msec(master, vrrp_master_down_timer_expire, r,
|
||||
r->master_down_interval * 10,
|
||||
r->master_down_interval * CS2MS,
|
||||
&r->t_master_down_timer);
|
||||
vrrp_change_state(r, VRRP_STATE_BACKUP);
|
||||
}
|
||||
|
@ -145,10 +145,11 @@ DEFPY(vrrp_advertisement_interval,
|
||||
|
||||
struct vrrp_vrouter *vr;
|
||||
uint16_t newadvint =
|
||||
no ? vd.advertisement_interval * 10 : advertisement_interval;
|
||||
no ? vd.advertisement_interval * CS2MS : advertisement_interval;
|
||||
|
||||
if (newadvint % 10 != 0) {
|
||||
vty_out(vty, "%% Value must be a multiple of 10\n");
|
||||
if (newadvint % CS2MS != 0) {
|
||||
vty_out(vty, "%% Value must be a multiple of %u\n",
|
||||
(unsigned int)CS2MS);
|
||||
return CMD_WARNING_CONFIG_FAILED;
|
||||
}
|
||||
|
||||
@ -327,8 +328,9 @@ DEFPY(vrrp_default,
|
||||
"Force VRRP router into administrative shutdown\n")
|
||||
{
|
||||
if (adv) {
|
||||
if (advint % 10 != 0) {
|
||||
vty_out(vty, "%% Value must be a multiple of 10\n");
|
||||
if (advint % CS2MS != 0) {
|
||||
vty_out(vty, "%% Value must be a multiple of %u\n",
|
||||
(unsigned int)CS2MS);
|
||||
return CMD_WARNING_CONFIG_FAILED;
|
||||
}
|
||||
/* all internal computations are in centiseconds */
|
||||
|
Loading…
Reference in New Issue
Block a user