This is zebra.info, produced by makeinfo version 4.2 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 12 September 2002 of `The GNU
Zebra Manual', for Zebra Version 0.93b.

   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: 1121
zebra.info-2: 48818
zebra.info-3: 95581
zebra.info-4: 143934

Tag Table:
(Indirect)
Node: Top1121
Node: Overview1646
Node: About Zebra3063
Node: System Architecture5332
Node: Supported Platforms8330
Node: Supported RFC9317
Node: How to get Zebra11119
Node: Mailing List11824
Node: Bug Reports12491
Node: Installation13336
Node: Configure the Software13767
Ref: Configure the Software-Footnote-116134
Node: Build the Software17776
Node: Install the Software18318
Node: Basic commands19689
Node: Config Commands20402
Node: Basic Config Commands21284
Node: Sample Config File23682
Node: Common Invocation Options24442
Node: Virtual Terminal Interfaces25564
Node: VTY Overview26069
Node: VTY Modes27353
Node: VTY View Mode27793
Node: VTY Enable Mode28047
Node: VTY Other Modes28311
Node: VTY CLI Commands28473
Node: CLI Movement Commands28923
Node: CLI Editing Commands29456
Node: CLI Advanced Commands30029
Node: Zebra30780
Node: Invoking zebra31287
Node: Interface Commands31873
Node: Static Route Commands32703
Node: zebra Terminal Mode Commands34790
Node: RIP35751
Node: Starting and Stopping ripd36686
Node: RIP netmask38107
Node: RIP Configuration39229
Node: How to Announce RIP route43124
Node: Filtering RIP Routes45653
Node: RIP Metric Manipulation47112
Node: RIP distance48015
Node: RIP route-map48818
Node: RIP Authentication51320
Node: RIP Timers52410
Node: Show RIP Information53685
Node: RIP Debug Commands55048
Node: RIPng56032
Node: Invoking ripngd56350
Node: ripngd Configuration56607
Node: ripngd Terminal Mode Commands57346
Node: ripngd Filtering Commands57696
Node: OSPFv258195
Node: Configuring ospfd58752
Node: OSPF router59229
Node: OSPF area60960
Node: OSPF interface63174
Node: Redistribute routes to OSPF65956
Node: Showing OSPF information68072
Node: Debugging OSPF69292
Node: OSPFv370303
Node: OSPF6 router70621
Node: OSPF6 area70978
Node: OSPF6 interface71150
Node: Redistribute routes to OSPF672002
Node: Showing OSPF6 information72306
Node: BGP73111
Node: Starting BGP73972
Node: BGP router74557
Node: BGP distance75793
Node: BGP decision process76234
Node: BGP network76490
Node: BGP route76671
Node: Route Aggregation77232
Node: Redistribute to BGP77784
Node: BGP Peer78293
Node: Defining Peer78471
Node: BGP Peer commands79087
Node: Peer filtering81458
Node: BGP Peer Group81949
Node: BGP Address Family82251
Node: Autonomous System82396
Node: AS Path Regular Expression83227
Node: Display BGP Routes by AS Path84490
Node: AS Path Access List84919
Node: Using AS Path in Route Map85373
Node: Private AS Numbers85639
Node: BGP Communities Attribute85784
Node: BGP Community Lists88245
Node: Numbered BGP Community Lists90926
Node: BGP Community in Route Map92500
Node: Display BGP Routes by Community94427
Node: Using BGP Communities Attribute95581
Node: BGP Extended Communities Attribute99139
Node: BGP Extended Community Lists100905
Node: BGP Extended Communities in Route Map102806
Node: Displaying BGP routes103249
Node: Show IP BGP103475
Node: More Show IP BGP104197
Node: Capability Negotiation105317
Node: Route Reflector108605
Node: Route Server108870
Node: Multiple instance109928
Node: BGP instance and view111741
Node: Routing policy113107
Node: Viewing the view113863
Node: How to set up a 6-Bone connection114135
Node: Dump BGP packets and table115507
Node: VTY shell116037
Node: Filtering116877
Node: IP Access List117225
Node: IP Prefix List117616
Node: ip prefix-list description120785
Node: ip prefix-list sequential number control121318
Node: Showing ip prefix-list121843
Node: Clear counter of ip prefix-list122926
Node: Route Map123347
Node: Route Map Command123848
Node: Route Map Match Command124051
Node: Route Map Set Command124659
Node: IPv6 Support125517
Node: Router Advertisement126082
Node: Kernel Interface126413
Node: SNMP Support128363
Node: How to get ucd-snmp128992
Node: SMUX configuration130040
Node: Zebra Protocol130473
Node: Packet Binary Dump Format132367
Node: Command Index143934
Node: VTY Key Index173652

End Tag Table
