# VRRP: Preempt delay expired, transitioning to MASTER state on interface eth0

- **ID:** `networking/vrrp-preempt-delay-expired`
- **Domain:** networking
- **Category:** runtime_error
- **Verification:** ai_generated
- **Fix Rate:** 85%

## Root Cause

A VRRP backup router with higher priority waited through the configured preempt delay and is now taking over as master, which may cause transient traffic disruption if the previous master is still active.

## Version Compatibility

| Version | Status | Introduced | Deprecated |
|---------|--------|------------|------------|
| keepalived 2.2.8 | active | — | — |
| FRRouting 9.1 | active | — | — |
| Linux kernel 6.1 | active | — | — |

## Workarounds

1. **Ensure the previous master gracefully transitions by setting a lower priority on it: in keepalived.conf, set priority 100 on old master, priority 150 on new master, then reload both: systemctl reload keepalived** (90% success)
   ```
   Ensure the previous master gracefully transitions by setting a lower priority on it: in keepalived.conf, set priority 100 on old master, priority 150 on new master, then reload both: systemctl reload keepalived
   ```
2. **Monitor VRRP state transitions and adjust preempt delay if flapping occurs: grep 'VRRP' /var/log/syslog ; increase delay with vrrp_skip_check_adv_addr and vrrp_garp_master_delay in keepalived.conf** (85% success)
   ```
   Monitor VRRP state transitions and adjust preempt delay if flapping occurs: grep 'VRRP' /var/log/syslog ; increase delay with vrrp_skip_check_adv_addr and vrrp_garp_master_delay in keepalived.conf
   ```

## Dead Ends

- **** — This prevents the higher-priority router from taking over, defeating the purpose of VRRP for failover scenarios. (70% fail)
- **** — Instant preemption can cause flapping if the previous master has not yet released the IP; a non-zero delay is intentional for stability. (60% fail)
