Based on the T2298 (Quagga), this task aims to migrate to FRRouting.
FRRouting will replace Quagga as the routing suite to manage dynamic routing (OSPF).
Since FRRouting does not natively integrate with CARP, a mechanism will be implemented to adjust OSPF interface costs based on the CARP state:
- ACTIVE: normal cost (preferred path)
- BACKUP: higher cost (avoid routing through it)
This ensures that traffic always flows through the ACTIVE router.
Steps :
- Install FRRouting D4055
- Activate the service
- Create the FRR configuration with OSPF added
- Start FRR
- Implement a script to dynamically adjust OSPF cost based on CARP state:
- ACTIVE: low cost (preferred path)
- BACKUP: high cost
So basicly :
Each router sets a different cost based on its CARP state, with the ACTIVE using a lower cost and the BACKUP a higher one.
This allows remote machines to automatically select the GRE tunnel connected to the active router.
- Link the script to CARP events using devd
- Test failover:
- Simulate CARP state change
- Verify OSPF cost is updated
- Ensure traffic for 172.27.27.0/27 switches to the new ACTIVE router
References :
https://en.wikipedia.org/wiki/FRRouting
https://docs.opnsense.org/manual/dynamic_routing.html