Cumulus Linux uses
quagga, an open source routing software suite, to
provide the routing protocols for dynamic routing. Cumulus Linux
supports the l atest Quagga version, 0.99.23.1. Quagga is a fork of the
GNU Zebra project.
Quagga provides many routing protocols, of which Cumulus Linux supports the following:
As shown in the figure above, the Quagga routing suite consists of
various protocol-specific daemons and a protocol-independent daemon
zebra. Each of the protocol-specific daemons are responsible
for running the relevant protocol and building the routing table based
on the information exchanged.
It is not uncommon to have more than one protocol daemon running at the same time. For example, at the edge of an enterprise, protocols internal to an enterprise (called IGP for Interior Gateway Protocol) such as OSPF or RIP run alongside the protocols that connect an enterprise to the rest of the world (called EGP or Exterior Gateway Protocol) such as BGP.
zebra is the daemon that resolves the routes provided by multiple
protocols (including static routes specified by the user) and programs
these routes in the Linux kernel via
netlink (in Linux).
more than this, of course.
The Quagga documentation
zebra as the IP routing manager for
quagga that “provides
kernel routing table updates, interface lookups, and redistribution of
routes between different routing protocols.”