diff --git a/doc/.cvsignore b/doc/.cvsignore
index ce83ef4..52e888a 100644
--- a/doc/.cvsignore
+++ b/doc/.cvsignore
@@ -3,3 +3,5 @@
 draft-zebra-00.txt
 zebra.info-*
 zebra.html
+quagga.info*
+quagga.html
diff --git a/doc/Makefile.am b/doc/Makefile.am
index ee49cbd..156e2a6 100644
--- a/doc/Makefile.am
+++ b/doc/Makefile.am
@@ -1,6 +1,6 @@
 ## Process this file with automake to produce Makefile.in.
 
-info_TEXINFOS = zebra.texi
+info_TEXINFOS = quagga.texi
 
 zebra_TEXINFOS = appendix.texi basic.texi bgpd.texi filter.texi install.texi \
 	ipv6.texi kernel.texi main.texi ospf6d.texi ospfd.texi overview.texi \
diff --git a/doc/appendix.texi b/doc/appendix.texi
index 7a052bc..ecc6d9e 100644
--- a/doc/appendix.texi
+++ b/doc/appendix.texi
@@ -2,7 +2,7 @@
 @comment  node-name,  next,  previous,  up
 @appendix Packet Binary Dump Format
 
-  Zebra can dump routing protocol packet into file with a binary format
+  Quagga can dump routing protocol packet into file with a binary format
 (@pxref{Dump BGP packets and table}).
 
   It seems to be better that we share the MRT's header format for
diff --git a/doc/basic.texi b/doc/basic.texi
index ce1b943..6b51016 100644
--- a/doc/basic.texi
+++ b/doc/basic.texi
@@ -138,7 +138,7 @@
 @end deffn
 
 @deffn Command {show version} {}
-Show the current version of the Zebra and its build host information.
+Show the current version of the Quagga and its build host information.
 @end deffn
 
 @deffn Command {line vty} {}
@@ -214,7 +214,7 @@
 @c COMMON_OPTIONS
 @c OPTIONS section of the man page
 
-These options apply to all Zebra daemons.
+These options apply to all Quagga daemons.
 
 @table @samp
 
@@ -241,7 +241,7 @@
 
 The file name is an run-time option rather than a configure-time option
 so that multiple routing daemons can be run simultaneously.  This is
-useful when using Zebra to implement a routing looking glass.  One
+useful when using Quagga to implement a routing looking glass.  One
 machine can be used to collect differing routing views from differing
 points in the network.
 
diff --git a/doc/bgpd.texi b/doc/bgpd.texi
index c10fba9..bdec688 100644
--- a/doc/bgpd.texi
+++ b/doc/bgpd.texi
@@ -1,5 +1,5 @@
 @c -*-texinfo-*-
-@c This is part of the GNU Zebra Manual.
+@c This is part of the Quagga Manual.
 @c Copyright (C) 1999, 2000, 2001 2002 Kunihiro Ishiguro <kunihiro@zebra.org>
 @c See file zebra.texi for copying conditions.
 @node BGP
@@ -990,11 +990,11 @@
 configured as IPv4 unicast neighbor, @command{bgpd} does not send these Capability
 Negotiation packets.
 
-  By default, Zebra will bring up peering with minimal common capability
+  By default, Quagga will bring up peering with minimal common capability
 for the both sides.  For example, local router has unicast and multicast 
 capabilitie and remote router has unicast capability.  In this case,
 the local router will establish the connection with unicast only capability.
-When there are no common capabilities, Zebra sends Unsupported Capability
+When there are no common capabilities, Quagga sends Unsupported Capability
 error and then resets the connection.
 
   If you want to completely match capabilities with remote peer.  Please
@@ -1102,10 +1102,10 @@
 ``network'' and ``aggregate-address'' argument is displayed as
 ``A.B.C.D M.M.M.M''
 
-Zebra: network 10.0.0.0/8
+Quagga: network 10.0.0.0/8
 Cisco: network 10.0.0.0
 
-Zebra: aggregate-address 192.168.0.0/24
+Quagga: aggregate-address 192.168.0.0/24
 Cisco: aggregate-address 192.168.0.0 255.255.255.0
 
 Community attribute handling is also different.  If there is no
@@ -1129,7 +1129,7 @@
 !
 
 @deffn {Command} {bgp config-type zebra} {}
-Zebra style BGP configuration.  This is default.
+Quagga style BGP configuration.  This is default.
 @end deffn
 
 @node BGP instance and view, Routing policy, Multiple instance, Route Server
@@ -1262,7 +1262,7 @@
  set ipv6 nexthop local fe80::2c0:4fff:fe68:a225
 !
 ! logfile FILENAME is obsolete.  Please use log file FILENAME
-!
+
 log file bgpd.log
 !
 @end group
diff --git a/doc/filter.texi b/doc/filter.texi
index 1bc70cd..3a2af1c 100644
--- a/doc/filter.texi
+++ b/doc/filter.texi
@@ -2,7 +2,7 @@
 @comment  node-name,  next,  previous,  up
 @chapter Filtering
 
-Zebra provides many very flexible filtering features.  Filtering is used
+Quagga provides many very flexible filtering features.  Filtering is used
 for both input and output of the routing information.  Once filtering is
 defined, it can be applied in any direction.
 
diff --git a/doc/install.texi b/doc/install.texi
index c2cafa2..1823e97 100644
--- a/doc/install.texi
+++ b/doc/install.texi
@@ -2,11 +2,11 @@
 @comment  node-name,  next,  previous,  up
 @chapter Installation
 
-@cindex How to install Zebra
+@cindex How to install Quagga
 @cindex Installation
-@cindex Installing Zebra
+@cindex Installing Quagga
 @cindex Building the system
-@cindex Making Zebra
+@cindex Making Quagga
 
   There are three steps for installing the software: configuration,
 compilation, and installation.
@@ -17,7 +17,7 @@
 * Install the Software::        
 @end menu
 
-  The easiest way to get Zebra running is to issue the following
+  The easiest way to get Quagga running is to issue the following
 commands:
 
 @example
@@ -36,7 +36,7 @@
 @cindex Distribution configuration
 @cindex Options to @code{./configure}
  
-  Zebra has an excellent configure script which
+  Quagga has an excellent configure script which
 automatically detects most host configurations.  There are several
 additional configure options you can use to turn off IPv6 support, to
 disable the compilation of specific daemons, and to enable SNMP support.
@@ -47,9 +47,9 @@
 guile library to make this.  zebra-guile implementation is not yet
 finished.  So this option is only useful for zebra-guile developers.
 @item --disable-ipv6
-Turn off IPv6 related features and daemons.  Zebra configure script
+Turn off IPv6 related features and daemons.  Quagga configure script
 automatically detects IPv6 stack.  But sometimes you might want to
-disable IPv6 support of Zebra.
+disable IPv6 support of Quagga.
 @item --disable-zebra
 Do not build zebra daemon.
 @item --disable-ripd
@@ -66,7 +66,7 @@
 Make @command{bgpd} which does not make bgp announcements at all.  This
 feature is good for using @command{bgpd} as a BGP announcement listener.
 @item --enable-netlink
-Force to enable @sc{gnu}/Linux netlink interface.  Zebra configure
+Force to enable @sc{gnu}/Linux netlink interface.  Quagga configure
 script detects netlink interface by checking a header file.  When the header
 file does not match to the current running kernel, configure script will
 not turn on netlink support.
@@ -128,7 +128,7 @@
 this group.
 @end table
 
-The default user and group which will be configured is 'zebra' if no user
+The default user and group which will be configured is 'quagga' if no user
 or group is specified. Note that this user or group requires write access
 to the local state directory (see --localstatedir) and requires at least
 read access, and write access if you wish to allow daemons
@@ -136,9 +136,9 @@
 (see --sysconfdir).
 
 On systems which have the 'libcap' capabilities manipulation library
-(currently only linux), the zebra system will retain
+(currently only linux), the quagga system will retain
 only minimal capabilities required, further it will only raise these
-capabilities for brief periods. On systems without libcap, zebra will run
+capabilities for brief periods. On systems without libcap, quagga will run
 as the user specified and only raise its uid back to uid 0 for brief
 periods.
 
@@ -148,7 +148,7 @@
 
 This command will configure zebra and the routing daemons.
 
-@cindex Configuring Zebra
+@cindex Configuring Quagga
 @cindex Configuration the software build
 @cindex Building on Linux boxes
 @cindex Linux configurations
@@ -156,7 +156,7 @@
 There are several options available only to @sc{gnu}/Linux systems:
 @footnote{GNU/Linux has very flexible kernel configuration features.  If
 you use GNU/Linux, make sure that the current kernel configuration is
-what you want.  Zebra will run with any kernel configuration but some
+what you want.  Quagga will run with any kernel configuration but some
 recommendations do exist.
 
 @table @var
@@ -164,7 +164,7 @@
 @item CONFIG_NETLINK
 Kernel/User netlink socket.  
 This is a brand new feature which enables
-an advanced interface between the Linux kernel and Zebra (@pxref{Kernel Interface}).
+an advanced interface between the Linux kernel and zebra (@pxref{Kernel Interface}).
 
 @item CONFIG_RTNETLINK
 Routing messages.
@@ -180,7 +180,7 @@
 @end table
 
 IPv6 support has been added in @sc{gnu}/Linux kernel version 2.2.  If you
-try to use the Zebra IPv6 feature on a @sc{gnu}/Linux kernel, please
+try to use the Quagga IPv6 feature on a @sc{gnu}/Linux kernel, please
 make sure the following libraries have been installed.  Please note that
 these libraries will not be needed when you uses @sc{gnu} C library 2.1
 or upper.
@@ -236,7 +236,7 @@
 installation process has completed, these files have been copied
 from your work directory to @file{/usr/local/bin}, and @file{/usr/local/etc}.
 
-To install the Zebra suite, issue the following command at your shell
+To install the Quagga suite, issue the following command at your shell
 prompt: @command{make install}.
 
 @example
@@ -250,7 +250,7 @@
 @comment  node-name,  next,  previous,  up
 @c @section Additional Notes
 
-Zebra daemons have their own terminal interface or VTY.  After
+Quagga daemons have their own terminal interface or VTY.  After
 installation, you have to setup each beast's port number to connect to
 them.  Please add the following entries to @file{/etc/services}.
 
diff --git a/doc/ipv6.texi b/doc/ipv6.texi
index c24d145..cf87b97 100644
--- a/doc/ipv6.texi
+++ b/doc/ipv6.texi
@@ -2,9 +2,9 @@
 @comment  node-name,  next,  previous,  up
 @chapter IPv6 Support
 
-Zebra fully supports IPv6 routing.  As described so far, Zebra supports
+Quagga fully supports IPv6 routing.  As described so far, Quagga supports
 RIPng, OSPFv3 and BGP-4+.  You can give IPv6 addresses to an interface
-and configure static IPv6 routing information.  Zebra-IPv6 also provides
+and configure static IPv6 routing information.  Quagga-IPv6 also provides
 automatic address configuration via a feature called @code{address
 auto configuration}.  To do it, the router must send router advertisement
 messages to the all nodes that exist on the network.
diff --git a/doc/kernel.texi b/doc/kernel.texi
index b863a1f..5aac110 100644
--- a/doc/kernel.texi
+++ b/doc/kernel.texi
@@ -32,7 +32,7 @@
 @item netlink
 On recent Linux kernels (2.0.x and 2.2.x), there is a kernel/user
 communication support called @code{netlink}.  It makes asynchronous
-communication between kernel and Zebra possible, similar to a routing
+communication between kernel and Quagga possible, similar to a routing
 socket on BSD systems.
 
 Before you use this feature, be sure to select (in kernel configuration) 
@@ -42,7 +42,7 @@
 Today, the /dev/route special device file is obsolete.  Netlink
 communication is done by reading/writing over netlink socket.
 
-After the kernel configuration, please reconfigure and rebuild Zebra.
-You can use netlink as a dynamic routing update channel between Zebra
+After the kernel configuration, please reconfigure and rebuild Quagga.
+You can use netlink as a dynamic routing update channel between Quagga
 and the kernel.
 @end table
diff --git a/doc/overview.texi b/doc/overview.texi
index 234fbd1..1fb875f 100644
--- a/doc/overview.texi
+++ b/doc/overview.texi
@@ -3,80 +3,79 @@
 @chapter Overview
 @cindex Overview
 
-  Zebra is a routing software package that provides TCP/IP based
+  Quagga is a routing software package that provides TCP/IP based
 routing services with routing protocols support such as RIPv1, RIPv2,
 RIPng, OSPFv2, OSPFv3, BGP-4, and BGP-4+ (@pxref{Supported RFC}).
-Zebra also supports special BGP Route Reflector and Route Server
-behavior.  In addition to traditional IPv4 routing protocols, Zebra
+Quagga also supports special BGP Route Reflector and Route Server
+behavior.  In addition to traditional IPv4 routing protocols, Quagga
 also supports IPv6 routing protocols.  With SNMP daemon which supports
-SMUX protocol, Zebra provides routing protocol MIBs (@pxref{SNMP
+SMUX protocol, Quagga provides routing protocol MIBs (@pxref{SNMP
 Support}).
 
-  Zebra uses an advanced software architecture to provide you with a
-high quality, multi server routing engine.  Zebra has an interactive
+  Quagga uses an advanced software architecture to provide you with a
+high quality, multi server routing engine.  Quagga 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 Zebra
-easily.  You can use Zebra library as your program's client user
+commands.  Due to this design, you can add new protocol daemons to Quagga
+easily.  You can use Quagga library as your program's client user
 interface.
 
-  Zebra is an official @sc{gnu} software and distributed under the
-@sc{gnu} General Public License.
+  Zebra is distributed under the @sc{gnu} General Public License.
 
 @menu
-* About Zebra::                 Basic information about Zebra
-* System Architecture::         The Zebra system architecture
+* About Quagga::                 Basic information about Quagga
+* System Architecture::         The Quagga system architecture
 * Supported Platforms::         Supported platforms and future plans
 * Supported RFC::               Supported RFCs
-* How to get Zebra::            
+* How to get Quagga::            
 * Mailing List::                Mailing list information
 * Bug Reports::                 Mail address for bug data
 @end menu
 
-@node About Zebra, System Architecture, Overview, Overview
+@node About Quagga, System Architecture, Overview, Overview
 @comment  node-name,  next,  previous,  up
-@section About Zebra
-@cindex About Zebra
+@section About Quagga
+@cindex About Quagga
 
   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 Zebra installed acts as a dedicated router.  With Zebra,
+  A system with Quagga installed acts as a dedicated router.  With Quagga,
 your machine exchanges routing information with other routers using
-routing protocols.  Zebra uses this information to update the kernel
+routing protocols.  Quagga 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.
+information from the Quagga terminal interface.
 
-  Adding to routing protocol support, Zebra can setup interface's flags,
+  Adding to routing protocol support, Quagga 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 Zebra
+network, or a stub network, or xDSL connection, configuring the Quagga
 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 Zebra's
+structure changes frequently, you will want to take advantage of Quagga's
 dynamic routing protocol support for protocols such as RIP, OSPF or BGP.
-Zebra is with you.
+Quagga is with you.
 
   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.  Zebra has a different
-system administration method.  There are two user modes in Zebra.  One is
+commands work only if the user has root privileges.  Quagga has a different
+system administration method.  There are two user modes in Quagga.  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, Zebra supports common unicast routing protocols.  Multicast
-routing protocols such as BGMP, PIM-SM, PIM-DM will be supported in
-Zebra 2.0.  MPLS support is going on.  In the future, TCP/IP filtering
-control, QoS control, diffserv configuration will be added to Zebra.
-Zebra project's final goal is making a productive, quality free TCP/IP
+  Currently, Quagga supports common unicast routing protocols.  Multicast
+routing protocols such as BGMP, PIM-SM, PIM-DM may be supported in
+Quagga 2.0.  MPLS support is going on.  In the future, TCP/IP filtering
+control, QoS control, diffserv configuration will be added to Quagga.
+Quagga project's final goal is making a productive, quality free TCP/IP
 routing software.
 
-@node System Architecture, Supported Platforms, About Zebra, Overview
+@node System Architecture, Supported Platforms, About Quagga, Overview
 @comment  node-name,  next,  previous,  up
 @section System Architecture
 @cindex System architecture
@@ -84,7 +83,7 @@
 @cindex Software internals
 
   Traditional routing software is made as a one process program which
-provides all of the routing protocol functionalities.  Zebra takes a
+provides all of the routing protocol functionalities.  Quagga 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.
@@ -116,7 +115,7 @@
 |                              |
 +------------------------------+
 
-    Zebra System Architecture
+    Quagga System Architecture
 @end group
 @end example
 
@@ -126,11 +125,11 @@
 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, Zebra provides integrated
+very annoying thing.  To resolve the problem, Quagga 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.
 
-  Zebra was planned to use multi-threaded mechanism when it runs with a
+  Quagga 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
@@ -139,7 +138,7 @@
 
   When @command{zebra} runs under a @sc{gnu} Hurd kernel it will act as a
 kernel routing table itself.  Under @sc{gnu} Hurd, all TCP/IP services are
-provided by user processes called @command{pfinet}.  Zebra will provide
+provided by user processes called @command{pfinet}.  Quagga will provide
 all the routing selection mechanisms for the process.  This feature will
 be implemented when @sc{gnu} Hurd becomes stable.
 
@@ -148,15 +147,15 @@
 @section Supported Platforms
 
 @cindex Supported platforms
-@cindex Zebra on other systems
+@cindex Quagga on other systems
 @cindex Compatibility with other systems
-@cindex Operating systems that support Zebra
+@cindex Operating systems that support Quagga
 
-  Currently Zebra supports @sc{gnu}/Linux, BSD and Solaris.  Below is a list
-of OS versions on which Zebra runs.  Porting Zebra to other platforms is
+  Currently Quagga supports @sc{gnu}/Linux, BSD and Solaris.  Below is a list
+of OS versions on which Quagga runs.  Porting Quagga to other platforms is
 not so too difficult.  Platform dependent codes exist only in
 @command{zebra} daemon.  Protocol daemons are platform independent.
-Please let us know when you find out Zebra runs on a platform which is not
+Please let us know when you find out Quagga runs on a platform which is not
 listed below.
 
 @sp 1
@@ -184,7 +183,7 @@
 @end itemize
 
 @sp 1
-  Some IPv6 stacks are in development.  Zebra supports following IPv6
+  Some IPv6 stacks are in development.  Quagga supports following IPv6
 stacks.  For BSD, we recommend KAME IPv6 stack.  Solaris IPv6 stack is
 not yet supported.
 @sp 1
@@ -197,7 +196,7 @@
 INRIA IPv6 stack for BSD.
 @end itemize
 
-@node Supported RFC, How to get Zebra, Supported Platforms, Overview
+@node Supported RFC, How to get Quagga, Supported Platforms, Overview
 @comment  node-name,  next,  previous,  up
 @section Supported RFC
 
@@ -266,13 +265,13 @@
 
 @end table
 
-@node How to get Zebra, Mailing List, Supported RFC, Overview
+@node How to get Quagga, Mailing List, Supported RFC, Overview
 @comment  node-name,  next,  previous,  up
-@section How to get Zebra
+@section How to get Quagga
 
-  Zebra is still beta software and there is no officially released
-version. Once Zebra is released you can get it from @sc{gnu} FTP
-site and its mirror sites.  We are planning Zebra-1.0 as the first
+  Quagga is still beta software and there is no officially released
+version. Once Quagga is released you can get it from @sc{gnu} FTP
+site and its mirror sites.  We are planning Quagga-1.0 as the first
 released version.
 
   Zebra's official web page is located at:
@@ -284,45 +283,30 @@
 @url{http://www.zebra.org/}.
 
   As of this writing, development by zebra.org on Zebra has slowed down.
-There is some work being done by third-parties to try maintain bug-fixes and
-enhancements to the current Zebra code-base. Please see:
+Some work is being done by third-parties to try maintain bug-fixes and
+enhancements to the current Zebra code-base, which has resulted in a fork of
+Zebra called Quagga, see:
 
-@url{http://zebra.dishone.st/}.
+@url{http://www.quagga.net/}.
 
 for further information, as well as links to additional zebra resources.
 
-@node Mailing List, Bug Reports, How to get Zebra, Overview
+@node Mailing List, Bug Reports, How to get Quagga, Overview
 @comment  node-name,  next,  previous,  up
 @section Mailing List
-@cindex How to get in touch with Zebra
-@cindex Mailing Zebra
+@cindex How to get in touch with Quagga
+@cindex Mailing Quagga
 @cindex Contact information
 @cindex Mailing lists
 
-  There is a mailing list for discussions about Zebra.  If you have any
-comments or suggestions to Zebra, please send mail to
-@email{zebra@@zebra.org}.  New snapshot announcements, improvement
-notes, and patches are sent to the list.
+  There is a mailing list for discussions about Quagga.  If you have any
+comments or suggestions to Quagga, please subscribe to
+@url{http://lists.quagga.net/mailman/listinfo/quagga-users}.
 
-  To subscribe to the @email{zebra@@zebra.org, Zebra mailing list},
-please send a mail to @email{majordomo@@zebra.org} with a message body
-that includes only:
-
-@quotation
-subscribe zebra
-@end quotation
-
-  To unsubscribe from the list, please send a mail to
-@email{majordomo@@zebra.org} with a message body that includes only:
-
-@quotation
-unsubscribe zebra
-@end quotation
-
-  There is an additional mailing list, @email{znog@@dishone.st,ZNOG} for 
-discussion of zebra related issues and network operation. To subscribe
-send an email to @email{znog-subscribe@@dishone.st} with a message body that 
-includes only:
+  There is an additional mailing list, @email{znog@@dishone.st,ZNOG} for
+general discussion of zebra related issues and network operation. To
+subscribe send an email to @email{znog-subscribe@@dishone.st} with a message
+body that includes only:
 
 @quotation
 subscribe znog
@@ -367,7 +351,7 @@
 arguments to the configure script please note that too.
 @end itemize
 
-  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
+  Bug reports are very important for us to improve the quality of Quagga.
+Quagga is still in the development stage, but please don't hesitate to
 send a bug report to @email{bug-zebra@@gnu.org}.
 
diff --git a/doc/zebra.texi b/doc/quagga.texi
similarity index 86%
rename from doc/zebra.texi
rename to doc/quagga.texi
index d09ff4d..cb192a6 100644
--- a/doc/zebra.texi
+++ b/doc/quagga.texi
@@ -1,17 +1,17 @@
 \input texinfo @c -*- texinfo -*-
 @c %**start of header
 @setchapternewpage odd
-@settitle GNU Zebra
-@setfilename zebra.info
+@settitle Quagga
+@setfilename quagga.info
 @defcodeindex op
 @synindex pg cp
 @c %**end of header
 
 @c Set variables
 @set EDITION 0.1
-@set VERSION 0.93b
-@set UPDATED 12 September 2002
-@set UPDATED-MONTH September 2002
+@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
@@ -20,17 +20,17 @@
 @c Info entry
 @dircategory Routing Software:
 @direntry
-* Zebra: (zebra).		The @sc{gnu} Zebra routing software
+* Quagga: (quagga).		The Quagga routing software
 @end direntry
 
 @c @smallbook
 
 @ifinfo
-This file documents the @sc{gnu} Zebra software which manages common
+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 GNU Zebra Manual}, for Zebra Version @value{VERSION}.
+@cite{The Quagga Manual}, for Quagga Version @value{VERSION}.
 
 Copyright (C) 1999, 2000, 2001, 2002 Kunihiro Ishiguro
 
@@ -57,11 +57,11 @@
 @end ifinfo
 
 @titlepage
-@title GNU Zebra
+@title Quagga
 @subtitle A routing software package for TCP/IP networks
-@subtitle Zebra version @value{VERSION}
+@subtitle Quagga version @value{VERSION}
 @subtitle @value{UPDATED-MONTH}
-@author Kunihiro Ishiguro
+@author Kunihiro Ishiguro, et al
 
 @page
 @vskip 0pt plus 1filll
@@ -86,11 +86,11 @@
 @ifnottex
 @node Top, Overview, (dir), (dir)
 @comment  node-name,  next,  previous,  up
-@top Zebra
+@top Quagga
 		     
-Zebra is a advanced routing software package that provides TCP/IP
-based routing protocols.  This is the Zebra Manual for
-zebra-@value{VERSION}.
+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
diff --git a/doc/ripd.texi b/doc/ripd.texi
index 2257ec1..060b247 100644
--- a/doc/ripd.texi
+++ b/doc/ripd.texi
@@ -1,5 +1,5 @@
 @c -*-texinfo-*-
-@c This is part of the GNU Zebra Manual.
+@c This is part of the Quagga Manual.
 @c Copyright (C) 1999, 2000 Kunihiro Ishiguro
 @c See file zebra.texi for copying conditions.
 @node RIP
@@ -99,7 +99,7 @@
 Version 2 of RIP supports a variable length subnet mask (VLSM).  By
 extending the subnet mask, the mask can be divided and reused.  Each
 subnet can be used for different purposes such as large to middle size
-LANs and WAN links.  Zebra @command{ripd} does not support the non-sequential
+LANs and WAN links.  Quagga @command{ripd} does not support the non-sequential
 netmasks that are included in RIP Version 2.
 
 In a case of similar information with the same prefix and metric, the
@@ -277,10 +277,10 @@
 
 @deffn {RIP command} {route @var{a.b.c.d/m}} {}
 @deffnx {RIP command} {no route @var{a.b.c.d/m}} {}
-This command is specific to Zebra.  The @code{route} command makes a static
+This command is specific to Quagga.  The @code{route} command makes a static
 route only inside RIP. This command should be used only by advanced
 users who are particularly knowledgeable about the RIP protocol.  In
-most cases, we recommend creating a static route in Zebra and
+most cases, we recommend creating a static route in Quagga and
 redistributing it in RIP using @code{redistribute static}.
 @end deffn
 
@@ -386,11 +386,11 @@
 .....
 @end example
 
-Cisco applies route-map _before_ routes will exported to rip route
-table.  In current Zebra's test implementation, @command{ripd} applies route-map
-after routes are listed in the route table and before routes will be announced
-to an interface (something like output filter). I think it is not so clear,
-but it is draft and it may be changed at future.
+Cisco applies route-map _before_ routes will exported to rip route table. 
+In current Quagga's test implementation, @command{ripd} applies route-map
+after routes are listed in the route table and before routes will be
+announced to an interface (something like output filter). I think it is not
+so clear, but it is draft and it may be changed at future.
 
 Route-map statement (@pxref{Route Map}) is needed to use route-map
 functionality.
diff --git a/doc/snmp.texi b/doc/snmp.texi
index 315c91c..f74bb51 100644
--- a/doc/snmp.texi
+++ b/doc/snmp.texi
@@ -3,11 +3,11 @@
 @chapter SNMP Support
 
 SNMP (Simple Network Managing Protocol) is widely implemented feature
-for collecting network information from router and/or host.  Zebra
+for collecting network information from router and/or host.  Quagga
 itself does not support SNMP agent functionality.  But conjuction with
-SNMP agent, Zebra provides routing protocol MIBs.
+SNMP agent, Quagga provides routing protocol MIBs.
 
-Zebra uses SMUX protocol (RFC1227) for making communication with SNMP
+Quagga uses SMUX protocol (RFC1227) for making communication with SNMP
 agent.  There are several SNMP agent which support SMUX.  We recommend
 to use the latest @command{ucd-snmp} software.  
 
@@ -50,7 +50,7 @@
 @comment  node-name,  next,  previous,  up
 @section SMUX configuration
 
-To enable SNMP support of Zebra, you have to configure Zebra with
+To enable SNMP support of Quagga, you have to configure Quagga with
 @command{--enable-snmp} (@pxref{Configure the Software}).
 
 @deffn {Command} {smux peer @var{oid}} {}
diff --git a/doc/vtysh.texi b/doc/vtysh.texi
index 960b20e..de59f7f 100644
--- a/doc/vtysh.texi
+++ b/doc/vtysh.texi
@@ -2,7 +2,7 @@
 @comment  node-name,  next,  previous,  up
 @chapter VTY shell
 
-@command{vtysh} is integrated shell of Zebra software.
+@command{vtysh} is integrated shell of Quagga software.
 
 To use vtysh please specify ---enable-vtysh to configure script.  To use
 PAM for authentication use ---with-libpam option to configure script.
@@ -31,23 +31,23 @@
 is issued.
 @end deffn
 @deffn {Command} {write-conf integrated} {}
-Write out integrated Zebra.conf file when 'write file' is issued.
+Write out integrated Quagga.conf file when 'write file' is issued.
 @end deffn
 
 This command controls the behaviour of vtysh when it is told
 to write out the configuration.  If @command{write-conf integrated} is
-set, the daemon will write out a Zebra.conf with all daemons' commands
+set, the daemon will write out a Quagga.conf with all daemons' commands
 integrated into it. If @command{write-conf daemon} is set, vtysh
 will instruct each daemon to write out their config files.
 
 Vtysh per default behaves as if @command{write-conf daemon} is set. Note
 that both may be set at same time if one wishes to have both
-Zebra.conf and daemon specific files written out. Further, note that the
-daemons are hard-coded to first look for the integrated Zebra.conf
+Quagga.conf and daemon specific files written out. Further, note that the
+daemons are hard-coded to first look for the integrated Quagga.conf
 file before looking for their own file.
 
 We recommend you do not mix the use of the two types of files.
-Further, it is better not to use the integrated Zebra.conf file,
+Further, it is better not to use the integrated Quagga.conf file,
 as any syntax error in it can lead to /all/ of your daemons being unable
 to start up. Per daemon files are more robust as impact of errors in
 configuration are limited to the daemon in whose file the error is made.
diff --git a/doc/zebra.info b/doc/zebra.info
deleted file mode 100644
index 9a90072..0000000
--- a/doc/zebra.info
+++ /dev/null
@@ -1,170 +0,0 @@
-This is zebra.info, produced by makeinfo version 4.3 from zebra.texi.
-
-INFO-DIR-SECTION Routing Software:
-START-INFO-DIR-ENTRY
-* Zebra: (zebra).		The GNU Zebra routing software
-END-INFO-DIR-ENTRY
-
-   This file documents the GNU Zebra software which manages common
-TCP/IP routing protocols.
-
-   This is Edition 0.1, last updated 26 January 2003 of `The GNU Zebra
-Manual', for Zebra Version 0.94.
-
-   Copyright (C) 1999, 2000, 2001, 2002 Kunihiro Ishiguro
-
-   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.
-
-
-Indirect:
-zebra.info-1: 1118
-zebra.info-2: 48684
-zebra.info-3: 97595
-zebra.info-4: 140430
-
-Tag Table:
-(Indirect)
-Node: Top1118
-Node: Overview1642
-Node: About Zebra3059
-Node: System Architecture5328
-Node: Supported Platforms8326
-Node: Supported RFC9313
-Node: How to get Zebra11115
-Node: Mailing List11959
-Node: Bug Reports13170
-Node: Installation14015
-Node: Configure the Software14446
-Ref: Configure the Software-Footnote-119218
-Node: Build the Software20860
-Node: Install the Software21402
-Node: Basic commands22773
-Node: Config Commands23486
-Node: Basic Config Commands24368
-Node: Sample Config File26766
-Node: Common Invocation Options27526
-Node: Virtual Terminal Interfaces28924
-Node: VTY Overview29429
-Node: VTY Modes30712
-Node: VTY View Mode31152
-Node: VTY Enable Mode31406
-Node: VTY Other Modes31670
-Node: VTY CLI Commands31832
-Node: CLI Movement Commands32282
-Node: CLI Editing Commands32815
-Node: CLI Advanced Commands33388
-Node: Zebra34139
-Node: Invoking zebra34646
-Node: Interface Commands35232
-Node: Static Route Commands36739
-Node: zebra Terminal Mode Commands40004
-Node: RIP40965
-Node: Starting and Stopping ripd41900
-Node: RIP netmask43321
-Node: RIP Configuration44443
-Node: How to Announce RIP route48684
-Node: Filtering RIP Routes51213
-Node: RIP Metric Manipulation52672
-Node: RIP distance53575
-Node: RIP route-map54378
-Node: RIP Authentication56880
-Node: RIP Timers57970
-Node: Show RIP Information59245
-Node: RIP Debug Commands60608
-Node: RIPng61592
-Node: Invoking ripngd61910
-Node: ripngd Configuration62167
-Node: ripngd Terminal Mode Commands62906
-Node: ripngd Filtering Commands63256
-Node: OSPFv263755
-Node: Configuring ospfd64312
-Node: OSPF router64789
-Node: OSPF area67629
-Node: OSPF interface69843
-Node: Redistribute routes to OSPF72625
-Node: Showing OSPF information74741
-Node: Debugging OSPF75961
-Node: OSPFv376972
-Node: OSPF6 router77290
-Node: OSPF6 area77647
-Node: OSPF6 interface77819
-Node: Redistribute routes to OSPF678671
-Node: Showing OSPF6 information78975
-Node: BGP79780
-Node: Starting BGP80641
-Node: BGP router81226
-Node: BGP distance82462
-Node: BGP decision process82903
-Node: BGP network83159
-Node: BGP route83340
-Node: Route Aggregation83901
-Node: Redistribute to BGP84453
-Node: BGP Peer84962
-Node: Defining Peer85140
-Node: BGP Peer commands85756
-Node: Peer filtering88127
-Node: BGP Peer Group88618
-Node: BGP Address Family88920
-Node: Autonomous System89065
-Node: AS Path Regular Expression89896
-Node: Display BGP Routes by AS Path91159
-Node: AS Path Access List91588
-Node: Using AS Path in Route Map92042
-Node: Private AS Numbers92308
-Node: BGP Communities Attribute92453
-Node: BGP Community Lists94914
-Node: Numbered BGP Community Lists97595
-Node: BGP Community in Route Map99169
-Node: Display BGP Routes by Community101096
-Node: Using BGP Communities Attribute102250
-Node: BGP Extended Communities Attribute105808
-Node: BGP Extended Community Lists107574
-Node: BGP Extended Communities in Route Map109475
-Node: Displaying BGP routes109918
-Node: Show IP BGP110144
-Node: More Show IP BGP110866
-Node: Capability Negotiation111986
-Node: Route Reflector115274
-Node: Route Server115539
-Node: Multiple instance116597
-Node: BGP instance and view118410
-Node: Routing policy119776
-Node: Viewing the view120532
-Node: How to set up a 6-Bone connection120804
-Node: Dump BGP packets and table122176
-Node: VTY shell122706
-Node: Filtering124940
-Node: IP Access List125288
-Node: IP Prefix List125679
-Node: ip prefix-list description128848
-Node: ip prefix-list sequential number control129381
-Node: Showing ip prefix-list129906
-Node: Clear counter of ip prefix-list130989
-Node: Route Map131410
-Node: Route Map Command131911
-Node: Route Map Match Command132114
-Node: Route Map Set Command132722
-Node: IPv6 Support133580
-Node: Router Advertisement134145
-Node: Kernel Interface134476
-Node: SNMP Support136426
-Node: How to get ucd-snmp137055
-Node: SMUX configuration138103
-Node: Zebra Protocol138536
-Node: Packet Binary Dump Format140430
-Node: Command Index151997
-Node: VTY Key Index182299
-
-End Tag Table
