Quagga (software)

Quagga is a network routing software suite providing implementations of Open Shortest Path First (OSPF), Routing Information Protocol (RIP), Border Gateway Protocol (BGP) and IS-IS for Unix-like platforms, particularly Linux, Solaris, FreeBSD and NetBSD.

Quagga is distributed under the terms of the GNU General Public License v2 (GPL2).

In April 2017, FRRouting forked from Quagga aiming for a more open and faster development.

Name
The project takes its name from the quagga, an extinct sub-species of the African zebra. Quagga is a fork of the GNU Zebra project which was developed by Kunihiro Ishiguro and which was discontinued in 2005. The Quagga tree aims to build a more involved community for Quagga than the centralized development-model which GNU Zebra followed.

Components
The Quagga architecture consists of a core daemon (zebra) which is an abstraction layer to the underlying Unix kernel and presents the Zserv API over a Unix-domain socket or TCP socket to Quagga clients. The Zserv clients typically implement a routing protocol and communicate routing updates to the zebra daemon. Existing Zserv clients are:
 * ospfd, implementing Open Shortest Path First (OSPFv2)
 * isisd, implementing Intermediate System to Intermediate System (IS-IS)
 * ripd, implementing Routing Information Protocol (RIP) version 1 and 2;
 * ospf6d, implementing Open Shortest Path First (OSPFv3) for IPv6
 * ripngd, implementing Routing Information Protocol (RIPng) for IPv6
 * bgpd, implementing Border Gateway Protocol (BGPv4+), including address family support for IP multicast and IPv6
 * pimd, implementing Protocol Independent Multicast (PIM-SSM) for Source-specific multicast

Additionally, the Quagga architecture has a rich development library to facilitate the implementation of protocol and client software with consistent configuration and administrative behavior.