Page MenuHomeDevCentral

Installation and configuration Quagga
Open, NormalPublic

Description

Quagga is used to tell other machines which way to send traffic.

It is an open-source routing software that implements protocols like OSPF : It allows routers to automatically exchange routing information and update paths dynamically when the network changes.

We have 2 routers:

  • router-002 (BACKUP)
  • router-003 (MASTER)

When the MASTER fails:

  • CARP → BACKUP takes the VIP
  • OVH script → sets the correct MAC address (T2276)

BUT…

❌ The other machines on the network won't know that it's changed : They know about the VIP, but they also need to know which route to take to reach it.


So basically :

If by example 51.68.252.230 points to 172.27.27.251 via gre1, it means Windriver is currently sending traffic through the tunnel gre1 connected to the active router (the MASTER).

Therefore, if the other router takes over after a failover, the route must change to point to the other tunnel/next-hop. Otherwise, Windriver will continue to send traffic to the old path, which will no longer be the correct one.

So the goal is to use an open-source OSPF implementation to dynamically update routing towards the VIP when a failover occurs, ensuring traffic is always sent to the active router.


References :

https://fr.wikipedia.org/wiki/Quagga_(logiciel)
https://enotepaper.wordpress.com/2014/01/08/installing-quagaa-on-freebsd/

Event Timeline

Duranzed renamed this task from install ouaga and configure OSPF to install and config Quaga .Feb 6 2026, 11:01
Duranzed updated the task description. (Show Details)
Duranzed renamed this task from install and config Quaga to install and config Quagga .Feb 6 2026, 11:15
Duranzed renamed this task from install and config Quagga to Install and config Quagga .Feb 6 2026, 11:59
Duranzed added a subscriber: yousra.
yousra renamed this task from Install and config Quagga to Installation and configuration Quagga .Feb 8 2026, 19:27
yousra updated the task description. (Show Details)
dereckson triaged this task as Normal priority.Feb 11 2026, 19:53
yousra updated the task description. (Show Details)
yousra added projects: Drake network, Salt.
yousra updated the task description. (Show Details)

I’ve noticed that Quagga is now deprecated and has been replaced by FRRouting (FRR), which is actively maintained.

Would it make sense to consider using FRRouting instead, or is Quagga preferred here for compatibility with the current infrastructure?

For example, FRRouting is used in SONiC, which suggests it is widely adopted in modern environments.

References :

https://en.wikipedia.org/wiki/FRRouting
https://news.ycombinator.com/item?id=20601039

I also came across OpenOSPFD, an OSPF routing daemon originally developed for OpenBSD, but it is marked as deprecated because it depends on an older CARP implementation.

Since our setup relies on the current CARP implementation, it would not be compatible in this context.

As a result, FRRouting appears to be a more up-to-date and appropriate option for us to use OSPF.

https://en.wikipedia.org/wiki/OpenOSPFD
https://www.freshports.org/net/openospfd/

FRRouting does not natively integrate with CARP, unlike OpenOSPFD which was designed to directly interact with it.

However, a similar behavior can be achieved by adjusting OSPF interface costs based on the CARP state.

An interface can be linked to a CARP virtual IP to know if the router is MASTER or BACKUP.

When the router is MASTER, it uses a normal cost, so it is preferred.

When it becomes BACKUP, a higher cost is applied, so other routers avoid it.

This way, OSPF follows the CARP failover and always sends traffic to the active router.

https://docs.opnsense.org/manual/dynamic_routing.html