Overview


Zebra is free routing software that manages TCP/IP based routing protocols, IPv6 routing protocols are also supported. Zebra is distributed under the GNU General Public License.

You can get the latest information from the Zebra web page: http://www.zebra.org.

Menu
About Zebra Basic information about Zebra
System Architecture The Zebra system architecture
Supported Platforms Supported platforms and future plans
Mailing List Mailing list information
Bug Reports Mail address for bug data

What Zebra Is


Today, TCP/IPnetworks are covering all of the world. The Internet has been deployed in many countries, companies, and at home. If you connect to the Internet you use TCP/IP routing functions. Zebra is a free TCP/IP routing software package.

A system with Zebra installed acts as a dedicated router. With Zebra, your machine exchanges routing information with other routers using routing protocols. Zebra uses this information to update the kernel routing table so that the right data goes to the right place. You can dynamically change the configuration and you may view routing table information from the Zebra terminal interface.

If you have a small network, or a stub network, configuring the Zebra routing software is very easy: The only thing you have to do is to set up the interfaces and put a few commands about static routes and/or default routes. If the network is rather large, however, or if the network structure changes frequently, you will want to take advantage of Zebra's dynamic routing protocol support for protocols such as RIP, OSPF or BGP: Zebra is for you.

Below is the list of currently supported routing protocol RFCs:

System Architecture


Traditional routing software is made as a one process program which provides all of the routing protocol functionalities. Zebra takes a different approach; it is made from a collection of several daemons that work together to build a routing table. There may be several protocol-specific routing daemons and Zebra, the kernel routing manager.

The `ripd' daemon handles the RIP protocol, while `ospfd' is a daemon which supports OSPF version 2. `bgpd' supports the BGP-4 protocol. For changing the kernel routing table and for redistribution of routes between different routing protocols, there is the `zebra' daemon. There is no need for these daemons to be running on the same machine. This architecture creates new possibilities for the routing system. It is easy to add new routing protocol daemons to a network, and servers in stubs need run only the protocol daemon in use. Thus, remote networks may run a specific daemon and send routing reports to a central routing console.

bgpd
ripd
ospfd
zebra
 
Unix Kernel routing table

Zebra System Architecture

Zebra uses a multi-threaded mechanism when it runs with a kernel that supports multi-threads. At this moment, the thread library which comes with GNU/Linux or FreeBSD has some problems for running Zebra, so we don't use threads on those OSes, instead we use the select system call for multiplexing.

When zebra runs under a GNU Hurd kernel it will act as a kernel routing table itself. Under GNU Hurd, all TCP/IP services are provided by user processes called `pfinet'. Zebra will provide all the routing selection mechanisms for the process. This feature will be implemented in the near future.

Supported Platforms


GNU Zebra is now testing on: We are planning to support the following platforms in the near future:

Mailing List


There is a mailing list for discussions about Zebra. If you have any comments or suggestions to Zebra please sent to <zebra@zebra.org>. New snapshot announcements, improvement notes, and some patches are sent to the list.

To subscribe Zebra mailing list <zebra@zebra.org, Zebra mailing list>, please send a mail to <majordomo@zebra.org> with a message body, that includes only:

     subscribe zebra

To unsubscribe from the list, please send a mail to <majordomo@zebra.org> with a message body that includes only:

     unsubscribe zebra

Bug Reports


If you think you have found a bug, please send a bug report to <bug-zebra@gnu.org>.When you send a bug report, please be careful about the points below.

Bug reports are very important for us to improve the quality of Zebra. Zebra is still in the development stage, but please don't hesitate to send a bug report to <bug-zebra@gnu.org>.


(C) Copyright 1999 Free Software Foundation, Inc.

Permission is granted to make and distribute verbatim copies of this manual provided the copyright notice and this permission notice are preserved on all copies.

Permission is granted to copy and distribute modified versions of this manual under the conditions for verbatim copying, provided that the entire resulting derived work is distributed under the terms of a permission notice identical to this one.

Permission is granted to copy and distribute translations of this manual into another language, under the above conditions for modified versions, except that this permission notice may be stated in a translation approved by the Free Software Foundation.