diff options
Diffstat (limited to 'doc/overview.texi')
| -rw-r--r-- | doc/overview.texi | 337 |
1 files changed, 0 insertions, 337 deletions
diff --git a/doc/overview.texi b/doc/overview.texi deleted file mode 100644 index c988e219b7..0000000000 --- a/doc/overview.texi +++ /dev/null @@ -1,337 +0,0 @@ -@node Overview -@chapter Overview -@cindex Overview - - @uref{@value{PACKAGE_URL},,Frr} is a routing software package that -provides TCP/IP based routing services with routing protocols support such -as RIPv1, RIPv2, RIPng, OSPFv2, OSPFv3, IS-IS, BGP-4, and BGP-4+ (@pxref{Supported -RFCs}). Frr also supports special BGP Route Reflector and Route Server -behavior. In addition to traditional IPv4 routing protocols, Frr also -supports IPv6 routing protocols. With SNMP daemon which supports SMUX and AgentX -protocol, Frr provides routing protocol MIBs (@pxref{SNMP Support}). - - Frr uses an advanced software architecture to provide you with a high -quality, multi server routing engine. Frr has an interactive user -interface for each routing protocol and supports common client commands. -Due to this design, you can add new protocol daemons to Frr easily. You -can use Frr library as your program's client user interface. - - Frr is distributed under the @sc{gnu} General Public License. - -@menu -* About Frr:: Basic information about Frr -* System Architecture:: The Frr system architecture -* Supported Platforms:: Supported platforms and future plans -* Supported RFCs:: Supported RFCs -* How to get Frr:: -* Mailing List:: Mailing list information -* Bug Reports:: Mail address for bug data -@end menu - -@node About Frr -@comment node-name, next, previous, up -@section About Frr -@cindex About Frr - - Today, TCP/IP networks are covering all of the world. The Internet has -been deployed in many countries, companies, and to the home. When you -connect to the Internet your packet will pass many routers which have TCP/IP -routing functionality. - - A system with Frr installed acts as a dedicated router. With Frr, -your machine exchanges routing information with other routers using routing -protocols. Frr 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 Frr -terminal interface. - - Adding to routing protocol support, Frr can setup interface's flags, -interface's address, static routes and so on. If you have a small network, -or a stub network, or xDSL connection, configuring the Frr 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, or if the network structure changes -frequently, you will want to take advantage of Frr's dynamic routing -protocol support for protocols such as RIP, OSPF, IS-IS or BGP. - - Traditionally, UNIX based router configuration is done by -@command{ifconfig} and @command{route} commands. Status of routing -table is displayed by @command{netstat} utility. Almost of these commands -work only if the user has root privileges. Frr has a different system -administration method. There are two user modes in Frr. One is normal -mode, the other is enable mode. Normal mode user can only view system -status, enable mode user can change system configuration. This UNIX account -independent feature will be great help to the router administrator. - - Currently, Frr supports common unicast routing protocols, that is BGP, -OSPF, RIP and IS-IS. Upcoming for MPLS support, an implementation of LDP is -currently being prepared for merging. Implementations of BFD and PIM-SSM -(IPv4) also exist, but are not actively being worked on. - - The ultimate goal of the Frr project is making a productive, quality, free -TCP/IP routing software package. - -@node System Architecture -@comment node-name, next, previous, up -@section System Architecture -@cindex System architecture -@cindex Software architecture -@cindex Software internals - - Traditional routing software is made as a one process program which -provides all of the routing protocol functionalities. Frr takes a -different approach. It is made from a collection of several daemons that -work together to build the routing table. There may be several -protocol-specific routing daemons and zebra the kernel routing manager. - - The @command{ripd} daemon handles the RIP protocol, while -@command{ospfd} is a daemon which supports OSPF version 2. -@command{bgpd} supports the BGP-4 protocol. For changing the kernel -routing table and for redistribution of routes between different routing -protocols, there is a kernel routing table manager @command{zebra} daemon. -It is easy to add a new routing protocol daemons to the entire routing -system without affecting any other software. You need to run only the -protocol daemon associated with routing protocols in use. Thus, user may -run a specific daemon and send routing reports to a central routing console. - - There is no need for these daemons to be running on the same machine. You -can even run several same protocol daemons on the same machine. This -architecture creates new possibilities for the routing system. - -@example -@group -+----+ +----+ +-----+ +-----+ -|bgpd| |ripd| |ospfd| |zebra| -+----+ +----+ +-----+ +-----+ - | -+---------------------------|--+ -| v | -| UNIX Kernel routing table | -| | -+------------------------------+ - - Frr System Architecture -@end group -@end example - -Multi-process architecture brings extensibility, modularity and -maintainability. At the same time it also brings many configuration files -and terminal interfaces. Each daemon has it's own configuration file and -terminal interface. When you configure a static route, it must be done in -@command{zebra} configuration file. When you configure BGP network it must -be done in @command{bgpd} configuration file. This can be a very annoying -thing. To resolve the problem, Frr provides integrated user interface -shell called @command{vtysh}. @command{vtysh} connects to each daemon with -UNIX domain socket and then works as a proxy for user input. - -Frr was planned to use multi-threaded mechanism when it runs with a -kernel that supports multi-threads. But at the moment, the thread library -which comes with @sc{gnu}/Linux or FreeBSD has some problems with running -reliable services such as routing software, so we don't use threads at all. -Instead we use the @command{select(2)} system call for multiplexing the -events. - -@node Supported Platforms -@comment node-name, next, previous, up -@section Supported Platforms - -@cindex Supported platforms -@cindex Frr on other systems -@cindex Compatibility with other systems -@cindex Operating systems that support Frr - -Currently Frr supports @sc{gnu}/Linux and BSD. Porting Frr -to other platforms is not too difficult as platform dependent code should -most be limited to the @command{zebra} daemon. Protocol daemons are mostly -platform independent. Please let us know when you find out Frr runs on a -platform which is not listed below. - -The list of officially supported platforms are listed below. Note that -Frr may run correctly on other platforms, and may run with partial -functionality on further platforms. - -@sp 1 -@itemize @bullet -@item -@sc{gnu}/Linux -@item -FreeBSD -@item -NetBSD -@item -OpenBSD -@end itemize - -Versions of these platforms that are older than around 2 years from the point -of their original release (in case of @sc{gnu}/Linux, this is since the kernel's -release on kernel.org) may need some work. Similarly, the following platforms -may work with some effort: - -@sp 1 -@itemize @bullet -@item -Solaris -@item -Mac OSX -@end itemize - -Also note that, in particular regarding proprietary platforms, compiler -and C library choice will affect Frr. Only recent versions of the -following C compilers are well-tested: - -@sp 1 -@itemize @bullet -@item -@sc{gnu}'s GCC -@item -LLVM's clang -@item -Intel's ICC -@end itemize - -@node Supported RFCs -@comment node-name, next, previous, up -@section Supported RFCs - - Below is the list of currently supported RFC's. - -@table @asis -@item @asis{RFC1058} -@cite{Routing Information Protocol. C.L. Hedrick. Jun-01-1988.} - -@item @asis{RF2082} -@cite{RIP-2 MD5 Authentication. F. Baker, R. Atkinson. January 1997.} - -@item @asis{RFC2453} -@cite{RIP Version 2. G. Malkin. November 1998.} - -@item @asis{RFC2080} -@cite{RIPng for IPv6. G. Malkin, R. Minnear. January 1997.} - -@item @asis{RFC2328} -@cite{OSPF Version 2. J. Moy. April 1998.} - -@item @asis{RFC2370} -@cite{The OSPF Opaque LSA Option R. Coltun. July 1998.} - -@item @asis{RFC3101} -@cite{The OSPF Not-So-Stubby Area (NSSA) Option P. Murphy. January 2003.} - -@item @asis{RFC2740} -@cite{OSPF for IPv6. R. Coltun, D. Ferguson, J. Moy. December 1999.} - -@item @asis{RFC1771} -@cite{A Border Gateway Protocol 4 (BGP-4). Y. Rekhter & T. Li. March 1995.} - -@item @asis{RFC1965} -@cite{Autonomous System Confederations for BGP. P. Traina. June 1996.} - -@item @asis{RFC1997} -@cite{BGP Communities Attribute. R. Chandra, P. Traina & T. Li. August 1996.} - -@item @asis{RFC2545} -@cite{Use of BGP-4 Multiprotocol Extensions for IPv6 Inter-Domain Routing. P. Marques, F. Dupont. March 1999.} - -@item @asis{RFC2796} -@cite{BGP Route Reflection An alternative to full mesh IBGP. T. Bates & R. Chandrasekeran. June 1996.} - -@item @asis{RFC2858} -@cite{Multiprotocol Extensions for BGP-4. T. Bates, Y. Rekhter, R. Chandra, D. Katz. June 2000.} - -@item @asis{RFC2842} -@cite{Capabilities Advertisement with BGP-4. R. Chandra, J. Scudder. May 2000.} - -@item @asis{RFC3137} -@cite{OSPF Stub Router Advertisement, A. Retana, L. Nguyen, R. White, A. Zinin, D. McPherson. June 2001} -@end table - - When SNMP support is enabled, below RFC is also supported. - -@table @asis - -@item @asis{RFC1227} -@cite{SNMP MUX protocol and MIB. M.T. Rose. May-01-1991.} - -@item @asis{RFC1657} -@cite{Definitions of Managed Objects for the Fourth Version of the -Border Gateway Protocol (BGP-4) using SMIv2. S. Willis, J. Burruss, -J. Chu, Editor. July 1994.} - -@item @asis{RFC1724} -@cite{RIP Version 2 MIB Extension. G. Malkin & F. Baker. November 1994.} - -@item @asis{RFC1850} -@cite{OSPF Version 2 Management Information Base. F. Baker, R. Coltun. -November 1995.} - -@item @asis{RFC2741} -@cite{Agent Extensibility (AgentX) Protocol. M. Daniele, B. Wijnen. January 2000.} - -@end table - -@node How to get Frr -@comment node-name, next, previous, up -@section How to get Frr - -The official Frr web-site is located at: - -@uref{@value{PACKAGE_URL}} - -and contains further information, as well as links to additional -resources. - -@uref{@value{PACKAGE_URL},Frr} is a fork of Quagga, whose -web-site is located at: - -@uref{http://www.quagga.net/}. - -@node Mailing List -@comment node-name, next, previous, up -@section Mailing List -@cindex How to get in touch with Frr -@cindex Mailing Frr -@cindex Contact information -@cindex Mailing lists - -There is a mailing list for discussions about Frr. If you have any -comments or suggestions to Frr, please subscribe to: - -@uref{https://lists.frrouting.org/listinfo/frog}. - -The @uref{@value{PACKAGE_URL},,Frr} site has further information on -the available mailing lists, see: - - @uref{https://lists.frrouting.org/} - -@node Bug Reports -@section Bug Reports - -@cindex Bug Reports -@cindex Bug hunting -@cindex Found a bug? -@cindex Reporting bugs -@cindex Reporting software errors -@cindex Errors in the software - -If you think you have found a bug, please send a bug report to: - -@uref{http://github.com/frrouting/frr/issues} - -When you send a bug report, please be careful about the points below. - -@itemize @bullet -@item -Please note what kind of OS you are using. If you use the IPv6 stack -please note that as well. -@item -Please show us the results of @code{netstat -rn} and @code{ifconfig -a}. -Information from zebra's VTY command @code{show ip route} will also be -helpful. -@item -Please send your configuration file with the report. If you specify -arguments to the configure script please note that too. -@end itemize - - Bug reports are very important for us to improve the quality of Frr. -Frr is still in the development stage, but please don't hesitate to -send a bug report to @uref{http://github.com/frrouting/frr/issues}. |
