\input texinfo @c -*- texinfo -*-
@c %**start of header
@setchapternewpage odd
@settitle Quagga
@setfilename quagga.info
@defcodeindex op
@synindex pg cp
@c %**end of header

@c Set variables
@set EDITION 0.1
@set VERSION 0.96
@set UPDATED 12 August 2003
@set UPDATED-MONTH August 2003

@c These may vary with installation environment.
@set INSTALL_PREFIX_ETC /usr/local/etc
@set INSTALL_PREFIX_SBIN /usr/local/sbin

@c Info entry
@dircategory Routing Software:
@direntry
* Quagga: (quagga).		The Quagga routing software
@end direntry

@c @smallbook

@ifinfo
This file documents the @sc{gnu} Quagga software which manages common
TCP/IP routing protocols.

This is Edition @value{EDITION}, last updated @value{UPDATED} of
@cite{The Quagga Manual}, for Quagga Version @value{VERSION}.

Copyright (C) 1999-2004 Kunihiro Ishiguro, et al.

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.

@ignore
Permission is granted to process this file through TeX and print the
results, provided the printed document carries a copyright permission
notice identical to this one except for the removal of this paragraph
(this paragraph not being relevant to the printed manual).

@end ignore
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 Kunihiro Ishiguro.
@end ifinfo

@titlepage
@title Quagga
@subtitle A routing software package for TCP/IP networks
@subtitle Quagga version @value{VERSION}
@subtitle @value{UPDATED-MONTH}
@author Kunihiro Ishiguro, et al

@page
@vskip 0pt plus 1filll
Copyright @copyright{} 1999-2004 Kunihiro Ishiguro, et al.

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 Kunihiro Ishiguro.
@end titlepage
@page

@ifnottex
@node Top, Overview, (dir), (dir)
@comment  node-name,  next,  previous,  up
@top Quagga
		     
Quagga is a advanced routing software package that provides TCP/IP
based routing protocols.  This is the Quagga Manual for
quagga-@value{VERSION}. Quagga is a fork of GNU Zebra.
@end ifnottex

@menu
* Overview::                    
* Installation::                
* Basic commands::              
* Zebra::                       
* RIP::                         
* RIPng::                       
* OSPFv2::                      
* OSPFv3::                      
* BGP::                         
* VTY shell::                       
* Filtering::                   
* Route Map::                   
* IPv6 Support::                
* Kernel Interface::            
* SNMP Support::                
* Zebra Protocol::              
* Packet Binary Dump Format::   
* Command Index::               
* VTY Key Index::               
@end menu
@summarycontents
@contents

@include overview.texi
@include install.texi
@include basic.texi
@include main.texi
@include ripd.texi
@include ripngd.texi
@include ospfd.texi
@include ospf6d.texi
@include bgpd.texi
@include vtysh.texi
@include filter.texi
@include routemap.texi
@include ipv6.texi
@include kernel.texi
@include snmp.texi
@include protocol.texi
@include appendix.texi

@node Command Index, VTY Key Index, Top, Top
@comment  node-name,  next,  previous,  up
@unnumbered Command Index

@printindex fn

@node VTY Key Index,  , Command Index, Top
@comment  node-name,  next,  previous,  up
@unnumbered VTY Key Index

@printindex ky

@bye
