summaryrefslogtreecommitdiff
path: root/doc/overview.texi
diff options
context:
space:
mode:
Diffstat (limited to 'doc/overview.texi')
-rw-r--r--doc/overview.texi337
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}.