clear cluster_master on election so that slaves will accept a new master

This commit is contained in:
Brendan O'Dea 2005-06-27 04:52:54 +00:00
parent b84d4f934a
commit e5695ec41c
3 changed files with 6 additions and 6 deletions

View file

@ -1,7 +1,8 @@
* Fri Jun 24 2005 Brendan O'Dea <bod@optus.net> 2.1.2 * Mon Jun 27 2005 Brendan O'Dea <bod@optus.net> 2.1.2
- Don't resend IPCP while still in progress. - Don't resend IPCP while still in progress.
- Ignore duplicate ACKs for IPCP. - Ignore duplicate ACKs for IPCP.
- Clear RADIUSIPCP for walled garden sessions on ACK. - Clear RADIUSIPCP for walled garden sessions on ACK.
- Clear cluster_master on election so that slaves will accept a new master.
* Tue Jun 14 2005 Brendan O'Dea <bod@optusnet.com.au> 2.1.1 * Tue Jun 14 2005 Brendan O'Dea <bod@optusnet.com.au> 2.1.1
- Add missing newline to backtrace macro. - Add missing newline to backtrace macro.

View file

@ -1,6 +1,6 @@
// L2TPNS Clustering Stuff // L2TPNS Clustering Stuff
char const *cvs_id_cluster = "$Id: cluster.c,v 1.42 2005-06-14 05:37:09 bodea Exp $"; char const *cvs_id_cluster = "$Id: cluster.c,v 1.43 2005-06-27 04:52:54 bodea Exp $";
#include <stdio.h> #include <stdio.h>
#include <stdlib.h> #include <stdlib.h>
@ -533,6 +533,7 @@ void cluster_check_master(void)
return; // Everything's ok! return; // Everything's ok!
config->cluster_last_hb = TIME + 1; // Just the one election thanks. config->cluster_last_hb = TIME + 1; // Just the one election thanks.
config->cluster_master_address = 0;
LOG(0, 0, 0, "Master timed out! Holding election...\n"); LOG(0, 0, 0, "Master timed out! Holding election...\n");
@ -568,7 +569,6 @@ void cluster_check_master(void)
// to become a master!!! // to become a master!!!
config->cluster_iam_master = 1; config->cluster_iam_master = 1;
config->cluster_master_address = 0;
LOG(0, 0, 0, "I am declaring myself the master!\n"); LOG(0, 0, 0, "I am declaring myself the master!\n");
@ -1377,8 +1377,7 @@ static int cluster_process_heartbeat(uint8_t *data, int size, int more, uint8_t
// Note that after a clean failover, the cluster_master_address // Note that after a clean failover, the cluster_master_address
// is cleared, so this doesn't run. // is cleared, so this doesn't run.
// //
if (config->cluster_master_address && addr != config->cluster_master_address if (config->cluster_master_address && addr != config->cluster_master_address) {
&& (config->cluster_last_hb + config->cluster_hb_timeout - 11) > TIME) {
LOG(0, 0, 0, "Ignoring stray heartbeat from %s, current master %s has not yet timed out (last heartbeat %.1f seconds ago).\n", LOG(0, 0, 0, "Ignoring stray heartbeat from %s, current master %s has not yet timed out (last heartbeat %.1f seconds ago).\n",
fmtaddr(addr, 0), fmtaddr(config->cluster_master_address, 1), fmtaddr(addr, 0), fmtaddr(config->cluster_master_address, 1),
0.1 * (TIME - config->cluster_last_hb)); 0.1 * (TIME - config->cluster_last_hb));

View file

@ -43,5 +43,5 @@ rm -rf %{buildroot}
%attr(644,root,root) /usr/share/man/man[58]/* %attr(644,root,root) /usr/share/man/man[58]/*
%changelog %changelog
* Fri Jun 24 2005 Brendan O'Dea <bod@optus.net> 2.1.2-1 * Mon Jun 27 2005 Brendan O'Dea <bod@optus.net> 2.1.2-1
- 2.1.2 release, see /usr/share/doc/l2tpns-2.1.2/Changes - 2.1.2 release, see /usr/share/doc/l2tpns-2.1.2/Changes