Configuring VRRP Pre-emption Mode
VRRP supports rapid transition from master to backup router in case of node failures. The master router sends VRRP advertisements based on the configured VRRP advertisement interval or a default interval of 1000 ms to the backup router(s). If the master router’s advertisements are not received within the configured time window, then a backup router is elected as the master router. If the failed master router becomes active again, it can reclaim the role of master or allow the former backup to continue as the master router. The role depends on the value assigned to a parameter called VRRP priority.
To minimize network traffic, only the master router sends periodic VRRP advertisement messages. A backup router do not attempt to preempt the master unless it has higher priority, thereby eliminating service disruption.
It is also possible to administratively prohibit all preemption attempts. When the master router becomes unavailable due to a node failure or other network issues, then the highest priority backup router transitions to the master role after a short delay, providing a controlled transition of the virtual router responsibility with minimal service interruption.
With NetVisor OS version 6.0.0, you can enable or disable the VRRP preempt mode while configuring a VRRP interface. The preempt (or pre-empt) mode controls when a starting or restarting higher-priority backup router preempts a lower-priority master router.
By default, the preemption mode is enabled on all VRRP instances in NetVisor OS. Enabling the preemption feature is useful when a high priority router represents a much preferred path and hence takes over the master role whenever it comes back online, albeit with a potential (small) traffic disruption.
On the other hand, by disabling the preemption feature, you can prevent a high priority backup VRRP router from taking over the master router role after a restart (caused for example by a failure or other network issue). In other words, when the VRRP preemption mode is disabled and when a high priority master router becomes unavailable, the next high priority VRRP instance on the backup router assume the role of master router. When the previously unavailable VRRP device is back online and starts receiving advertisements, it does not take over the master role and remains as the backup (slave) router.
However, it is recommended not to disable the preemption mode on all the VRRP instances on a router. For example, if you have seven VRRP instances, you may disable the preemption mode on a few instances (say 3-4 VRRP instances) to maintain load balancing by avoiding a lower priority router to continue as the master router causing the control plane traffic to be handled by a single node.
Disabling the preemption mode is useful in scenarios when a higher priority backup router tries to become the master router, while a master router already exists. For example, when a higher priority master router becomes unavailable and the next high priority router assumes the master role, and later when the original master router comes back online and does not receive any advertisements for a short period (due to any network issue or power failure), then the original master router reclaims the role of master router while the second high priority router continues in the master role. In this case, the higher priority router's claim is accepted and that becomes the master router.
Note: In NetVisor OS version 6.0.0, you must use the vrrp-preempt-mode disable option only when the VRRP is enabled between two switches. This functionality is not applicable for cases where VRRP is enabled on more than two switches.
You can enable or disable preemption feature on IPv4 and IPv6 addresses of the vrouters.
This feature includes the addition of a new OID to the Arista proprietary PN-VRRP-MIB, which is mapped to the standard VRRP-MIB v3.
Use either the CLI command or the REST API syntax to enable or disable the preemption feature. To enable or disable the VRRP preemption mode by using the CLI, use the vrouter-interface-add or vrouter-interface-modify commands:
CLI (network-admin@switch) > vrouter-interface-add vrouter-name name-string vrrp-priority <0..254> vrrp-preempt-mode disable|enable
vrouter-interface-add |
Adds an interface to a vRouter. |
vrouter-name name-string |
Enter a name for the service configuration. |
vrrp-priority 0..254 |
Enter a VRRP priority for the vrouter interface. The default priority is 100. |
vrrp-preempt-mode disable|enable |
Specify one of the options to allow or prevent a high priority Backup router from becoming Master router. The default value is enabled. |
For example, to add an interface, VR1 with priority 150, and enable the preempt mode, use the command:
CLI (network-admin@switch) > vrouter-interface-add vrouter-name vr1 vrrp-priority 150 vrrp-preempt-mode enable
To view the details, use the vrouter-interface-show or vrouter-interface-ip-show commands. The format all option displays a separate column 'vrrp-preempt-mode' with the configured value.
CLI (network-admin@switch) > vrouter-interface-show format all
To modify an existing vrouter interface, use the command:
CLI (network-admin@switch) > vrouter-interface-modify vrouter-name name-string nic nic-string vrrp-preempt-mode disable|enable
Assuming that you had already configured other parameters such as vlan, nic, ip-address, and vrrp-priority for a vrouter interface (refer to the Configuring VRRP section for details), below is a sample configuration and show output when you enable and disable the vrrp-preempt-mode parameter on a vrouter interface.
View the details when the vrrp- preempt-mode is enabled on a VLAN:
CLI (network-admin@switch) > vrouter-interface-show vlan 2 format nic,nic-state,vlan,ip,vrrp-priority,vrrp-state,vrrp-preempt-mode,
vrouter-name nic nic-state vlan ip vrrp-priority vrrp-state vrrp-preempt-mode
------------ ------ --------- ---- ------------- ------------- ---------- -----------------
ghq-spine1 eth0.2 up 2 10.10.2.2/24
ghq-spine1 eth1.2 down 2 10.10.2.1/24 100 slave enable
ghq-spine2 eth2.2 up 2 10.10.2.3/24
ghq-spine2 eth3.2 down 2 10.10.2.1/24 110 slave enable
uss-spine1 eth4.2 up 2 10.10.2.4/24
uss-spine1 eth5.2 down 2 10.10.2.1/24 120 slave enable
uss-spine2 eth6.2 up 2 10.10.2.5/24
uss-spine2 eth7.2 up 2 10.10.2.1/24 130 master enable
Disable the VRRP preempt by using the vrouter-interface-modify command on vrouter instances:
CLI (network-admin@ghspine01-new) > vrouter-interface-modify vrouter-name ghq-spine1 nic eth1.2 vrrp-preempt-mode disable
CLI (network-admin@ghspine01-new) > vrouter-interface-modify vrouter-name ghq-spine2 nic eth3.2 vrrp-preempt-mode disable
CLI (network-admin@ghspine01-new) > vrouter-interface-modify vrouter-name uss-spine1 nic eth5.2 vrrp-preempt-mode disable
CLI (network-admin@ghspine01-new) > vrouter-interface-modify vrouter-name uss-spine2 nic eth7.2 vrrp-preempt-mode disable
View the details after disabling the VRRP preemption mode:
CLI (network-admin@ghspine01-new) > vrouter-interface-show vlan 2 format nic,nic-state,vlan,ip,vrrp-priority,vrrp-state,vrrp-preempt-mode,
vrouter-name nic nic-state vlan ip vrrp-priority vrrp-state vrrp-preempt-mode
----------- ------ --------- ---- ------------- ------------- ---------- -----------------
ghq-spine1 eth0.2 up 2 172.16.2.2/24
ghq-spine1 eth1.2 down 2 172.16.2.1/24 100 slave disable
ghq-spine2 eth2.2 up 2 172.16.2.3/24
ghq-spine2 eth3.2 down 2 172.16.2.1/24 110 slave disable
uss-spine1 eth4.2 up 2 172.16.2.4/24
uss-spine1 eth5.2 down 2 172.16.2.1/24 120 slave disable
uss-spine2 eth6.2 up 2 172.16.2.5/24
uss-spine2 eth7.2 up 2 172.16.2.1/24 130 master disable