Add patch to revert previous preempt extension (#1202584)
This commit is contained in:
parent
b15d6c5a66
commit
7424b42dcf
67
vrrp-revert-previous-preempt-extension.patch
Normal file
67
vrrp-revert-previous-preempt-extension.patch
Normal file
@ -0,0 +1,67 @@
|
|||||||
|
From 2bab517b2b50c1e784e79a082d971f4855e9e0ab Mon Sep 17 00:00:00 2001
|
||||||
|
From: Alexandre Cassen <acassen@gmail.com>
|
||||||
|
Date: Tue, 17 Mar 2015 21:07:36 +0100
|
||||||
|
Subject: [PATCH] vrrp: revert previous preempt extension
|
||||||
|
|
||||||
|
Well, nothing more to add ;)
|
||||||
|
---
|
||||||
|
keepalived/vrrp/vrrp.c | 22 ++++++----------------
|
||||||
|
1 file changed, 6 insertions(+), 16 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/keepalived/vrrp/vrrp.c b/keepalived/vrrp/vrrp.c
|
||||||
|
index 21481f4..db43f8f 100644
|
||||||
|
--- a/keepalived/vrrp/vrrp.c
|
||||||
|
+++ b/keepalived/vrrp/vrrp.c
|
||||||
|
@@ -819,8 +819,7 @@ vrrp_state_goto_master(vrrp_t * vrrp)
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
- if (!vrrp->nopreempt)
|
||||||
|
- vrrp_send_adv(vrrp, vrrp->effective_priority);
|
||||||
|
+ vrrp_send_adv(vrrp, vrrp->effective_priority);
|
||||||
|
|
||||||
|
vrrp->state = VRRP_STATE_MAST;
|
||||||
|
log_message(LOG_INFO, "VRRP_Instance(%s) Transition to MASTER STATE"
|
||||||
|
@@ -999,19 +998,7 @@ vrrp_state_master_rx(vrrp_t * vrrp, char *buf, int buflen)
|
||||||
|
"VRRP_Instance(%s) Dropping received VRRP packet...",
|
||||||
|
vrrp->iname);
|
||||||
|
return 0;
|
||||||
|
- } else if (hd->priority == 0) {
|
||||||
|
- vrrp_send_adv(vrrp, vrrp->effective_priority);
|
||||||
|
- return 0;
|
||||||
|
- } else if (hd->priority < vrrp->effective_priority ||
|
||||||
|
- (hd->priority == vrrp->effective_priority &&
|
||||||
|
- vrrp_saddr_cmp(&vrrp->pkt_saddr, vrrp) < 0)) {
|
||||||
|
- /* In nopreempt mode, just switch to BACKUP */
|
||||||
|
- if (vrrp->nopreempt) {
|
||||||
|
- log_message(LOG_INFO, "VRRP_Instance(%s) Received lower prio advert"
|
||||||
|
- " in nopreempt mode", vrrp->iname);
|
||||||
|
- goto backup;
|
||||||
|
- }
|
||||||
|
-
|
||||||
|
+ } else if (hd->priority < vrrp->effective_priority) {
|
||||||
|
/* We receive a lower prio adv we just refresh remote ARP cache */
|
||||||
|
log_message(LOG_INFO, "VRRP_Instance(%s) Received lower prio advert"
|
||||||
|
", forcing new election", vrrp->iname);
|
||||||
|
@@ -1026,6 +1013,9 @@ vrrp_state_master_rx(vrrp_t * vrrp, char *buf, int buflen)
|
||||||
|
vrrp_send_adv(vrrp, vrrp->effective_priority);
|
||||||
|
vrrp_send_link_update(vrrp, vrrp->garp_rep);
|
||||||
|
return 0;
|
||||||
|
+ } else if (hd->priority == 0) {
|
||||||
|
+ vrrp_send_adv(vrrp, vrrp->effective_priority);
|
||||||
|
+ return 0;
|
||||||
|
} else if (hd->priority > vrrp->effective_priority ||
|
||||||
|
(hd->priority == vrrp->effective_priority &&
|
||||||
|
vrrp_saddr_cmp(&vrrp->pkt_saddr, vrrp) > 0)) {
|
||||||
|
@@ -1044,7 +1034,7 @@ vrrp_state_master_rx(vrrp_t * vrrp, char *buf, int buflen)
|
||||||
|
vrrp->ipsecah_counter->seq_number = ntohl(ah->seq_number) - 1;
|
||||||
|
vrrp->ipsecah_counter->cycle = 0;
|
||||||
|
}
|
||||||
|
- backup:
|
||||||
|
+
|
||||||
|
vrrp->ms_down_timer = 3 * vrrp->adver_int + VRRP_TIMER_SKEW(vrrp);
|
||||||
|
vrrp->wantstate = VRRP_STATE_BACK;
|
||||||
|
vrrp->state = VRRP_STATE_BACK;
|
||||||
|
--
|
||||||
|
1.9.3
|
||||||
|
|
Loading…
Reference in New Issue
Block a user