Quagga is a Unix-based software suite for routing that includes implementations of OSPFv2, OSPFv3, RIP v1 and v2, RIPv3 and BGPv4 protocols.
The architecture of Quagga is comprised of a core daemon known as zebra. This daemon functions as an abstraction layer to the underlying Unix kernel and presents the Zserv API to Quagga clients over a Unix or TCP stream. The Zserv clients normally implement a routing protocol and communicate routing updates to the zebra daemon. The existing Zserv clients are ospfd (implementing OSPFv2), ripd (implementing RIP v1 and V2), ospf6d (implementing OSPFv3 for IPv6), ripngd (implementing RIP v3 for IPv6), and bgpd (implementing BGPv4+ with address family support for multicast and IPv6).
Additionally, there is a rich development library within the Quagga architecture to facilitate the implementation of protocol/client daemons. They are standardized in configuration and administrative behavior. Each Quagga daemon is configurable through a network accessible CLI (called 'vty'). The CLI has a style familiar to other routing software. In addition, Quagga comes with a tool called 'vtysh' which acts as a single cohesive front-end to all the daemons. With vtysh, one can administer nearly all aspects of the various Quagga daemons in one place.
Overall, Quagga is an excellent routing software suite with an extensive range of features, which can rely on in the field of routing. The object-oriented approach and rich CLI accessible by network offer many possibilities to manage complex topologies efficiently, and the software handles several protocols efficiently.
Version 0.99.15: N/A