Election logic

The following election logic is executed when MIMP packets are exchanged.

  1. Calculate master eligibility.

    • Set masterEligible to TRUE if the local tunnel group is operationally up, otherwise FALSE.

    • Set peerMasterEligible to TRUE if the peer’s tunnel group is operationally up, otherwise FALSE.

  2. Elect based on eligibility.

    • If masterEligible and not peerMasterEligible, elect self master → DONE.

    • If not masterEligible and peerMasterEligible, elect peer master → DONE.

    • If not masterEligible and not peerMasterEligible, no master → DONE.

  3. Apply stickiness rules (mastership tends not to change).

    • If l was ‟acting master” and peer was not ‟acting master”, then elect self master -> DONE.

    • If 1 was not ‟acting master” and peer was ‟acting master”, then elect peer master -> DONE.

    An ‟acting master” is either in MIMP state ‟master” or ‟eligible”.

  4. Elect based on priority and number of active ISAs.

    • If my priority is higher than peer, elect self master → DONE.

    • If peer priority is higher than mine, elect peer master → DONE.

    • If I have more active ISA than peer, elect self master → DONE.

    • If peer has more active ISA than me, elect peer master → DONE.

The tie breaker: