[administrivia] Add gitignore files, linked from existing cvs ignores
[jleu-quagga.git] / doc / quagga.info
blob5fa72ae299b885a01aeeef19c32a6a373d90a71f
1 This is ../../../doc/quagga.info, produced by makeinfo version 4.8 from
2 ../../../doc/quagga.texi.
4    Copyright (C) 1999-2005 Kunihiro Ishiguro, et al.
6      Permission is granted to make and distribute verbatim copies of
7      this manual provided the copyright notice and this permission
8      notice are preserved on all copies.
10      Permission is granted to copy and distribute modified versions of
11      this manual under the conditions for verbatim copying, provided
12      that the entire resulting derived work is distributed under the
13      terms of a permission notice identical to this one.
15      Permission is granted to copy and distribute translations of this
16      manual into another language, under the above conditions for
17      modified versions, except that this permission notice may be
18      stated in a translation approved by Kunihiro Ishiguro.
20 INFO-DIR-SECTION Routing Software:
21 START-INFO-DIR-ENTRY
22 * Quagga: (quagga).             The Quagga Software Routing Suite
23 END-INFO-DIR-ENTRY
25    This file documents the Quagga Software Routing Suite which manages
26 common TCP/IP routing protocols.
28    This is Edition 0.99.1, last updated 10 September 2005 of `The
29 Quagga Manual', for Quagga Version 0.99.1.
31    Copyright (C) 1999-2005 Kunihiro Ishiguro, et al.
33      Permission is granted to make and distribute verbatim copies of
34      this manual provided the copyright notice and this permission
35      notice are preserved on all copies.
37      Permission is granted to copy and distribute modified versions of
38      this manual under the conditions for verbatim copying, provided
39      that the entire resulting derived work is distributed under the
40      terms of a permission notice identical to this one.
42      Permission is granted to copy and distribute translations of this
43      manual into another language, under the above conditions for
44      modified versions, except that this permission notice may be
45      stated in a translation approved by Kunihiro Ishiguro.
47 \x1f
48 File: quagga.info,  Node: Top,  Next: Overview,  Up: (dir)
50 Quagga
51 ******
53 Quagga is an advanced routing software package that provides a suite of
54 TCP/IP based routing protocols.  This is the Manual for Quagga 0.99.1.
55 Quagga is a fork of GNU Zebra.
57    Copyright (C) 1999-2005 Kunihiro Ishiguro, et al.
59      Permission is granted to make and distribute verbatim copies of
60      this manual provided the copyright notice and this permission
61      notice are preserved on all copies.
63      Permission is granted to copy and distribute modified versions of
64      this manual under the conditions for verbatim copying, provided
65      that the entire resulting derived work is distributed under the
66      terms of a permission notice identical to this one.
68      Permission is granted to copy and distribute translations of this
69      manual into another language, under the above conditions for
70      modified versions, except that this permission notice may be
71      stated in a translation approved by Kunihiro Ishiguro.
73 * Menu:
75 * Overview::
76 * Installation::
77 * Basic commands::
78 * Zebra::
79 * RIP::
80 * RIPng::
81 * OSPFv2::
82 * OSPFv3::
83 * BGP::
84 * Configuring Quagga as a Route Server::
85 * VTY shell::
86 * Filtering::
87 * Route Map::
88 * IPv6 Support::
89 * Kernel Interface::
90 * SNMP Support::
91 * Zebra Protocol::
92 * Packet Binary Dump Format::
93 * Command Index::
94 * VTY Key Index::
95    
96 \x1f
97 File: quagga.info,  Node: Overview,  Next: Installation,  Prev: Top,  Up: Top
99 1 Overview
100 **********
102 Quagga is a routing software package that provides TCP/IP based routing
103 services with routing protocols support such as RIPv1, RIPv2, RIPng,
104 OSPFv2, OSPFv3, BGP-4, and BGP-4+ (*note Supported RFC::). Quagga also
105 supports special BGP Route Reflector and Route Server behavior.  In
106 addition to traditional IPv4 routing protocols, Quagga also supports
107 IPv6 routing protocols.  With SNMP daemon which supports SMUX protocol,
108 Quagga provides routing protocol MIBs (*note SNMP Support::).
110    Quagga uses an advanced software architecture to provide you with a
111 high quality, multi server routing engine. Quagga has an interactive
112 user interface for each routing protocol and supports common client
113 commands.  Due to this design, you can add new protocol daemons to
114 Quagga easily.  You can use Quagga library as your program's client
115 user interface.
117    Quagga is distributed under the GNU General Public License.
119 * Menu:
121 * About Quagga::                Basic information about Quagga
122 * System Architecture::         The Quagga system architecture
123 * Supported Platforms::         Supported platforms and future plans
124 * Supported RFC::               Supported RFCs
125 * How to get Quagga::
126 * Mailing List::                Mailing list information
127 * Bug Reports::                 Mail address for bug data
129 \x1f
130 File: quagga.info,  Node: About Quagga,  Next: System Architecture,  Up: Overview
132 1.1 About Quagga
133 ================
135 Today, TCP/IP networks are covering all of the world.  The Internet has
136 been deployed in many countries, companies, and to the home.  When you
137 connect to the Internet your packet will pass many routers which have
138 TCP/IP routing functionality.
140    A system with Quagga installed acts as a dedicated router.  With
141 Quagga, your machine exchanges routing information with other routers
142 using routing protocols.  Quagga uses this information to update the
143 kernel routing table so that the right data goes to the right place.
144 You can dynamically change the configuration and you may view routing
145 table information from the Quagga terminal interface.
147    Adding to routing protocol support, Quagga can setup interface's
148 flags, interface's address, static routes and so on.  If you have a
149 small network, or a stub network, or xDSL connection, configuring the
150 Quagga routing software is very easy.  The only thing you have to do is
151 to set up the interfaces and put a few commands about static routes
152 and/or default routes.  If the network is rather large, or if the
153 network structure changes frequently, you will want to take advantage
154 of Quagga's dynamic routing protocol support for protocols such as RIP,
155 OSPF or BGP.
157    Traditionally, UNIX based router configuration is done by `ifconfig'
158 and `route' commands.  Status of routing table is displayed by
159 `netstat' utility.  Almost of these commands work only if the user has
160 root privileges.  Quagga has a different system administration method.
161 There are two user modes in Quagga.  One is normal mode, the other is
162 enable mode.  Normal mode user can only view system status, enable mode
163 user can change system configuration.  This UNIX account independent
164 feature will be great help to the router administrator.
166    Currently, Quagga supports common unicast routing protocols.
167 Multicast routing protocols such as BGMP, PIM-SM, PIM-DM may be
168 supported in Quagga 2.0.  MPLS support is going on.  In the future,
169 TCP/IP filtering control, QoS control, diffserv configuration will be
170 added to Quagga. Quagga project's final goal is making a productive,
171 quality, free TCP/IP routing software.
173 \x1f
174 File: quagga.info,  Node: System Architecture,  Next: Supported Platforms,  Prev: About Quagga,  Up: Overview
176 1.2 System Architecture
177 =======================
179 Traditional routing software is made as a one process program which
180 provides all of the routing protocol functionalities.  Quagga takes a
181 different approach.  It is made from a collection of several daemons
182 that work together to build the routing table.  There may be several
183 protocol-specific routing daemons and zebra the kernel routing manager.
185    The `ripd' daemon handles the RIP protocol, while `ospfd' is a
186 daemon which supports OSPF version 2.  `bgpd' supports the BGP-4
187 protocol.  For changing the kernel routing table and for redistribution
188 of routes between different routing protocols, there is a kernel
189 routing table manager `zebra' daemon.  It is easy to add a new routing
190 protocol daemons to the entire routing system without affecting any
191 other software.  You need to run only the protocol daemon associated
192 with routing protocols in use.  Thus, user may run a specific daemon
193 and send routing reports to a central routing console.
195    There is no need for these daemons to be running on the same
196 machine. You can even run several same protocol daemons on the same
197 machine.  This architecture creates new possibilities for the routing
198 system.
200      +----+  +----+  +-----+  +-----+
201      |bgpd|  |ripd|  |ospfd|  |zebra|
202      +----+  +----+  +-----+  +-----+
203                                  |
204      +---------------------------|--+
205      |                           v  |
206      |  UNIX Kernel  routing table  |
207      |                              |
208      +------------------------------+
210          Quagga System Architecture
212    Multi-process architecture brings extensibility, modularity and
213 maintainability.  At the same time it also brings many configuration
214 files and terminal interfaces.  Each daemon has it's own configuration
215 file and terminal interface.  When you configure a static route, it
216 must be done in `zebra' configuration file.  When you configure BGP
217 network it must be done in `bgpd' configuration file.  This can be a
218 very annoying thing.  To resolve the problem, Quagga provides
219 integrated user interface shell called `vtysh'.  `vtysh' connects to
220 each daemon with UNIX domain socket and then works as a proxy for user
221 input.
223    Quagga was planned to use multi-threaded mechanism when it runs with
224 a kernel that supports multi-threads.  But at the moment, the thread
225 library which comes with GNU/Linux or FreeBSD has some problems with
226 running reliable services such as routing software, so we don't use
227 threads at all.  Instead we use the `select(2)' system call for
228 multiplexing the events.
230 \x1f
231 File: quagga.info,  Node: Supported Platforms,  Next: Supported RFC,  Prev: System Architecture,  Up: Overview
233 1.3 Supported Platforms
234 =======================
236 Currently Quagga supports GNU/Linux, BSD and Solaris. Porting Quagga to
237 other platforms is not too difficult as platform dependent code should
238 most be limited to the `zebra' daemon.  Protocol daemons are mostly
239 platform independent. Please let us know when you find out Quagga runs
240 on a platform which is not listed below.
242    The list of officially supported platforms are listed below. Note
243 that Quagga may run correctly on other platforms, and may run with
244 partial functionality on further platforms.
247    * GNU/Linux 2.2.x and higher
249    * FreeBSD 4.x and higher
251    * NetBSD 1.6 and higher
253    * OpenBSD 2.5 and higher
255    * Solaris 2.6 and higher (IPv6 support requires a patch at moment)
258    Some IPv6 stacks are in development.  Quagga supports following IPv6
259 stacks.  For BSD, we recommend KAME IPv6 stack.  Solaris IPv6 stack is
260 not yet supported.
262    * Linux IPv6 stack for GNU/Linux 2.2.x and higher.
264    * KAME IPv6 stack for BSD.
266    * INRIA IPv6 stack for BSD.
268 \x1f
269 File: quagga.info,  Node: Supported RFC,  Next: How to get Quagga,  Prev: Supported Platforms,  Up: Overview
271 1.4 Supported RFC
272 =================
274 Below is the list of currently supported RFC's.
276 RFC1058
277      `Routing Information Protocol. C.L. Hedrick. Jun-01-1988.'
279 RF2082
280      `RIP-2 MD5 Authentication. F. Baker, R. Atkinson. January 1997.'
282 RFC2453
283      `RIP Version 2. G. Malkin. November 1998.'
285 RFC2080
286      `RIPng for IPv6. G. Malkin, R. Minnear. January 1997.'
288 RFC2328
289      `OSPF Version 2. J. Moy. April 1998.'
291 RFC2370
292      `The OSPF Opaque LSA Option R. Coltun. July 1998.'
294 RFC3101
295      `The OSPF Not-So-Stubby Area (NSSA) Option P. Murphy. January
296      2003.'
298 RFC2740
299      `OSPF for IPv6. R. Coltun, D. Ferguson, J. Moy. December 1999.'
301 RFC1771
302      `A Border Gateway Protocol 4 (BGP-4). Y. Rekhter & T. Li. March
303      1995.'
305 RFC1965
306      `Autonomous System Confederations for BGP. P. Traina. June 1996.'
308 RFC1997
309      `BGP Communities Attribute. R. Chandra, P. Traina & T. Li. August
310      1996.'
312 RFC2545
313      `Use of BGP-4 Multiprotocol Extensions for IPv6 Inter-Domain
314      Routing. P. Marques, F. Dupont. March 1999.'
316 RFC2796
317      `BGP Route Reflection An alternative to full mesh IBGP. T. Bates &
318      R. Chandrasekeran. June 1996.'
320 RFC2858
321      `Multiprotocol Extensions for BGP-4. T. Bates, Y. Rekhter, R.
322      Chandra, D. Katz. June 2000.'
324 RFC2842
325      `Capabilities Advertisement with BGP-4. R. Chandra, J. Scudder.
326      May 2000.'
328 RFC3137
329      `OSPF Stub Router Advertisement, A. Retana, L. Nguyen, R. White,
330      A. Zinin, D. McPherson. June 2001'
332    When SNMP support is enabled, below RFC is also supported.
334 RFC1227
335      `SNMP MUX protocol and MIB. M.T. Rose. May-01-1991.'
337 RFC1657
338      `Definitions of Managed Objects for the Fourth Version of the
339      Border Gateway Protocol (BGP-4) using SMIv2. S. Willis, J. Burruss,
340      J. Chu, Editor. July 1994.'
342 RFC1724
343      `RIP Version 2 MIB Extension. G. Malkin & F. Baker. November 1994.'
345 RFC1850
346      `OSPF Version 2 Management Information Base. F. Baker, R. Coltun.
347      November 1995.'
350 \x1f
351 File: quagga.info,  Node: How to get Quagga,  Next: Mailing List,  Prev: Supported RFC,  Up: Overview
353 1.5 How to get Quagga
354 =====================
356 Quagga is still beta software and there is no officially released
357 version.
359    Zebra's official web page is located at:
361    `http://www.gnu.org/software/zebra/zebra.html'.
363    The original Zebra web site is located at:
365    `http://www.zebra.org/'.
367    As of this writing, development by zebra.org on Zebra has slowed
368 down. Some work is being done by third-parties to try maintain
369 bug-fixes and enhancements to the current Zebra code-base, which has
370 resulted in a fork of Zebra called Quagga, see:
372    `http://www.quagga.net/'
374    for further information, as well as links to additional zebra
375 resources.
377 \x1f
378 File: quagga.info,  Node: Mailing List,  Next: Bug Reports,  Prev: How to get Quagga,  Up: Overview
380 1.6 Mailing List
381 ================
383 There is a mailing list for discussions about Quagga.  If you have any
384 comments or suggestions to Quagga, please subscribe to:
386    `http://lists.quagga.net/mailman/listinfo/quagga-users'.
388    The Quagga site has further information on the available mailing
389 lists, see:
391         `http://www.quagga.net/lists.php'
393 \x1f
394 File: quagga.info,  Node: Bug Reports,  Prev: Mailing List,  Up: Overview
396 1.7 Bug Reports
397 ===============
399 If you think you have found a bug, please send a bug report to:
401    `http://bugzilla.quagga.net'
403    When you send a bug report, please be careful about the points below.
405    * Please note what kind of OS you are using.  If you use the IPv6
406      stack please note that as well.
408    * Please show us the results of `netstat -rn' and `ifconfig -a'.
409      Information from zebra's VTY command `show ip route' will also be
410      helpful.
412    * Please send your configuration file with the report.  If you
413      specify arguments to the configure script please note that too.
415    Bug reports are very important for us to improve the quality of
416 Quagga.  Quagga is still in the development stage, but please don't
417 hesitate to send a bug report to `http://bugzilla.quagga.net'.
419 \x1f
420 File: quagga.info,  Node: Installation,  Next: Basic commands,  Prev: Overview,  Up: Top
422 2 Installation
423 **************
425 There are three steps for installing the software: configuration,
426 compilation, and installation.
428 * Menu:
430 * Configure the Software::
431 * Build the Software::
432 * Install the Software::
434    The easiest way to get Quagga running is to issue the following
435 commands:
437      % configure
438      % make
439      % make install
441 \x1f
442 File: quagga.info,  Node: Configure the Software,  Next: Build the Software,  Up: Installation
444 2.1 Configure the Software
445 ==========================
447 * Menu:
449 * The Configure script and its options::
450 * Least-Privilege support::
451 * Linux notes::
453 \x1f
454 File: quagga.info,  Node: The Configure script and its options,  Next: Least-Privilege support,  Up: Configure the Software
456 2.1.1 The Configure script and its options
457 ------------------------------------------
459 Quagga has an excellent configure script which automatically detects
460 most host configurations.  There are several additional configure
461 options you can use to turn off IPv6 support, to disable the
462 compilation of specific daemons, and to enable SNMP support.
464 `--enable-guile'
465      Turn on compilation of the zebra-guile interpreter.  You will need
466      the guile library to make this.  zebra-guile implementation is not
467      yet finished.  So this option is only useful for zebra-guile
468      developers.
470 `--disable-ipv6'
471      Turn off IPv6 related features and daemons.  Quagga configure
472      script automatically detects IPv6 stack.  But sometimes you might
473      want to disable IPv6 support of Quagga.
475 `--disable-zebra'
476      Do not build zebra daemon.
478 `--disable-ripd'
479      Do not build ripd.
481 `--disable-ripngd'
482      Do not build ripngd.
484 `--disable-ospfd'
485      Do not build ospfd.
487 `--disable-ospf6d'
488      Do not build ospf6d.
490 `--disable-bgpd'
491      Do not build bgpd.
493 `--disable-bgp-announce'
494      Make `bgpd' which does not make bgp announcements at all.  This
495      feature is good for using `bgpd' as a BGP announcement listener.
497 `--enable-netlink'
498      Force to enable GNU/Linux netlink interface.  Quagga configure
499      script detects netlink interface by checking a header file.  When
500      the header file does not match to the current running kernel,
501      configure script will not turn on netlink support.
503 `--enable-snmp'
504      Enable SNMP support.  By default, SNMP support is disabled.
506 `--enable-opaque-lsa'
507      Enable support for Opaque LSAs (RFC2370) in ospfd.
509 `--disable-ospfapi'
510      Disable support for OSPF-API, an API to interface directly with
511      ospfd.  OSPF-API is enabled if -enable-opaque-lsa is set.
513 `--disable-ospfclient'
514      Disable building of the example OSPF-API client.
516 `--enable-ospf-te'
517      Enable support for OSPF Traffic Engineering Extension
518      (internet-draft) this requires support for Opaque LSAs.
520 `--enable-multipath=ARG'
521      Enable support for Equal Cost Multipath. ARG is the maximum number
522      of ECMP paths to allow, set to 0 to allow unlimited number of
523      paths.
525 `--enable-rtadv'
526      Enable support IPV6 router advertisement in zebra.
528    You may specify any combination of the above options to the configure
529 script.  By default, the executables are placed in `/usr/local/sbin'
530 and the configuration files in `/usr/local/etc'. The `/usr/local/'
531 installation prefix and other directories may be changed using the
532 following options to the configuration script.
534 `--prefix=PREFIX'
535      Install architecture-independent files in PREFIX [/usr/local].
537 `--sysconfdir=DIR'
538      Look for configuration files in DIR [PREFIX/etc]. Note that sample
539      configuration files will be installed here.
541 `--localstatedir=DIR'
542      Configure zebra to use DIR for local state files, such as pid
543      files and unix sockets.
545      % ./configure --disable-ipv6
547    This command will configure zebra and the routing daemons.
549 \x1f
550 File: quagga.info,  Node: Least-Privilege support,  Next: Linux notes,  Prev: The Configure script and its options,  Up: Configure the Software
552 2.1.2 Least-Privilege support
553 -----------------------------
555 Additionally, you may configure zebra to drop its elevated privileges
556 shortly after startup and switch to another user. The configure script
557 will automatically try to configure this support. There are three
558 configure options to control the behaviour of Quagga daemons.
560 `--enable-user=USER'
561      Switch to user ARG shortly after startup, and run as user ARG in
562      normal operation.
564 `--enable-group=GROUP'
565      Switch real and effective group to GROUP shortly after startup.
567 `--enable-vty-group=GROUP'
568      Create Unix Vty sockets (for use with vtysh) with group owndership
569      set to GROUP. This allows one to create a seperate group which is
570      restricted to accessing only the Vty sockets, hence allowing one to
571      delegate this group to individual users, or to run vtysh setgid to
572      this group.
574    The default user and group which will be configured is 'quagga' if
575 no user or group is specified. Note that this user or group requires
576 write access to the local state directory (see -localstatedir) and
577 requires at least read access, and write access if you wish to allow
578 daemons to write out their configuration, to the configuration
579 directory (see -sysconfdir).
581    On systems which have the 'libcap' capabilities manipulation library
582 (currently only linux), the quagga system will retain only minimal
583 capabilities required, further it will only raise these capabilities for
584 brief periods. On systems without libcap, quagga will run as the user
585 specified and only raise its uid back to uid 0 for brief periods.
587 \x1f
588 File: quagga.info,  Node: Linux notes,  Prev: Least-Privilege support,  Up: Configure the Software
590 2.1.3 Linux Notes
591 -----------------
593 There are several options available only to GNU/Linux systems: (1).  If
594 you use GNU/Linux, make sure that the current kernel configuration is
595 what you want.  Quagga will run with any kernel configuration but some
596 recommendations do exist.
598 CONFIG_NETLINK
599      Kernel/User netlink socket. This is a brand new feature which
600      enables an advanced interface between the Linux kernel and zebra
601      (*note Kernel Interface::).
603 CONFIG_RTNETLINK
604      Routing messages.  This makes it possible to receive netlink
605      routing messages.  If you specify this option, `zebra' can detect
606      routing information updates directly from the kernel (*note Kernel
607      Interface::).
609 CONFIG_IP_MULTICAST
610      IP: multicasting.  This option should be specified when you use
611      `ripd' (*note RIP::) or `ospfd' (*note OSPFv2::) because these
612      protocols use multicast.
615    IPv6 support has been added in GNU/Linux kernel version 2.2.  If you
616 try to use the Quagga IPv6 feature on a GNU/Linux kernel, please make
617 sure the following libraries have been installed.  Please note that
618 these libraries will not be needed when you uses GNU C library 2.1 or
619 upper.
621 `inet6-apps'
622      The `inet6-apps' package includes basic IPv6 related libraries such
623      as `inet_ntop' and `inet_pton'.  Some basic IPv6 programs such as
624      `ping', `ftp', and `inetd' are also included. The `inet-apps' can
625      be found at `ftp://ftp.inner.net/pub/ipv6/'.
627 `net-tools'
628      The `net-tools' package provides an IPv6 enabled interface and
629      routing utility.  It contains `ifconfig', `route', `netstat', and
630      other tools.  `net-tools' may be found at
631      `http://www.tazenda.demon.co.uk/phil/net-tools/'.
634    ---------- Footnotes ----------
636    (1) GNU/Linux has very flexible kernel configuration features
638 \x1f
639 File: quagga.info,  Node: Build the Software,  Next: Install the Software,  Prev: Configure the Software,  Up: Installation
641 2.2 Build the Software
642 ======================
644 After configuring the software, you will need to compile it for your
645 system. Simply issue the command `make' in the root of the source
646 directory and the software will be compiled. If you have *any* problems
647 at this stage, be certain to send a bug report *Note Bug Reports::.
649      % ./configure
650      .
651      .
652      .
653      ./configure output
654      .
655      .
656      .
657      % make
659 \x1f
660 File: quagga.info,  Node: Install the Software,  Prev: Build the Software,  Up: Installation
662 2.3 Install the Software
663 ========================
665 Installing the software to your system consists of copying the compiled
666 programs and supporting files to a standard location. After the
667 installation process has completed, these files have been copied from
668 your work directory to `/usr/local/bin', and `/usr/local/etc'.
670    To install the Quagga suite, issue the following command at your
671 shell prompt: `make install'.
673      %
674      % make install
675      %
677    Quagga daemons have their own terminal interface or VTY.  After
678 installation, you have to setup each beast's port number to connect to
679 them.  Please add the following entries to `/etc/services'.
681      zebrasrv      2600/tcp               # zebra service
682      zebra         2601/tcp               # zebra vty
683      ripd          2602/tcp               # RIPd vty
684      ripngd        2603/tcp               # RIPngd vty
685      ospfd         2604/tcp               # OSPFd vty
686      bgpd          2605/tcp               # BGPd vty
687      ospf6d        2606/tcp               # OSPF6d vty
688      ospfapi       2607/tcp               # ospfapi
689      isisd         2608/tcp               # ISISd vty
691    If you use a FreeBSD newer than 2.2.8, the above entries are already
692 added to `/etc/services' so there is no need to add it. If you specify
693 a port number when starting the daemon, these entries may not be needed.
695    You may need to make changes to the config files in
696 `/etc/quagga/*.conf'. *Note Config Commands::.
698 \x1f
699 File: quagga.info,  Node: Basic commands,  Next: Zebra,  Prev: Installation,  Up: Top
701 3 Basic commands
702 ****************
704 There are five routing daemons in use, and there is one manager daemon.
705 These daemons may be located on separate machines from the manager
706 daemon.  Each of these daemons will listen on a particular port for
707 incoming VTY connections.  The routing daemons are:
709    * `ripd', `ripngd', `ospfd', `ospf6d', `bgpd'
711    * `zebra'
713    The following sections discuss commands common to all the routing
714 daemons.
716 * Menu:
718 * Terminal Mode Commands::      Common commands used in a VTY
719 * Config Commands::             Commands used in config files
720 * Common Invocation Options::   Starting the daemons
721 * Virtual Terminal Interfaces:: Interacting with the daemons
723 \x1f
724 File: quagga.info,  Node: Config Commands,  Next: Common Invocation Options,  Prev: Terminal Mode Commands,  Up: Basic commands
726 3.1 Config Commands
727 ===================
729 * Menu:
731 * Basic Config Commands::       Some of the generic config commands
732 * Sample Config File::          An example config file
734    In a config file, you can write the debugging options, a vty's
735 password, routing daemon configurations, a log file name, and so forth.
736 This information forms the initial command set for a routing beast as
737 it is starting.
739    Config files are generally found in:
741      `/etc/quagga/*.conf'
743    Each of the daemons has its own config file.  For example, zebra's
744 default config file name is:
746      `/etc/quagga/zebra.conf'
748    The daemon name plus `.conf' is the default config file name. You
749 can specify a config file using the `-f' or `--config-file' options
750 when starting the daemon.
752 \x1f
753 File: quagga.info,  Node: Basic Config Commands,  Next: Sample Config File,  Up: Config Commands
755 3.1.1 Basic Config Commands
756 ---------------------------
758  -- Command: hostname HOSTNAME
759      Set hostname of the router.
761  -- Command: password PASSWORD
762      Set password for vty interface.  If there is no password, a vty
763      won't accept connections.
765  -- Command: enable password PASSWORD
766      Set enable password.
768  -- Command: log trap LEVEL
769  -- Command: no log trap
770      These commands are deprecated and are present only for historical
771      compatibility.  The log trap command sets the current logging
772      level for all enabled logging destinations, and it sets the
773      default for all future logging commands that do not specify a
774      level.  The normal default logging level is debugging.  The `no'
775      form of the command resets the default level for future logging
776      commands to debugging, but it does not change the logging level of
777      existing logging destinations.
779  -- Command: log stdout
780  -- Command: log stdout LEVEL
781  -- Command: no log stdout
782      Enable logging output to stdout.  If the optional second argument
783      specifying the logging level is not present, the default logging
784      level (typically debugging, but can be changed using the
785      deprecated `log trap' command) will be used.  The `no' form of the
786      command disables logging to stdout.  The `level' argument must
787      have one of these values: emergencies, alerts, critical, errors,
788      warnings, notifications, informational, or debugging.  Note that
789      the existing code logs its most important messages with severity
790      `errors'.
792  -- Command: log file FILENAME
793  -- Command: log file FILENAME LEVEL
794  -- Command: no log file
795      If you want to log into a file, please specify `filename' as in
796      this example:
797           log file /var/log/quagga/bgpd.log informational
798      If the optional second argument specifying the logging level is
799      not present, the default logging level (typically debugging, but
800      can be changed using the deprecated `log trap' command) will be
801      used.  The `no' form of the command disables logging to a file.
803      Note: if you do not configure any file logging, and a daemon
804      crashes due to a signal or an assertion failure, it will attempt
805      to save the crash information in a file named
806      /var/tmp/quagga.<daemon name>.crashlog.  For security reasons,
807      this will not happen if the file exists already, so it is
808      important to delete the file after reporting the crash information.
810  -- Command: log syslog
811  -- Command: log syslog LEVEL
812  -- Command: no log syslog
813      Enable logging output to syslog.  If the optional second argument
814      specifying the logging level is not present, the default logging
815      level (typically debugging, but can be changed using the
816      deprecated `log trap' command) will be used.  The `no' form of the
817      command disables logging to syslog.
819  -- Command: log monitor
820  -- Command: log monitor LEVEL
821  -- Command: no log monitor
822      Enable logging output to vty terminals that have enabled logging
823      using the `terminal monitor' command.  By default, monitor logging
824      is enabled at the debugging level, but this command (or the
825      deprecated `log trap' command) can be used to change the monitor
826      logging level.  If the optional second argument specifying the
827      logging level is not present, the default logging level (typically
828      debugging, but can be changed using the deprecated `log trap'
829      command) will be used.  The `no' form of the command disables
830      logging to terminal monitors.
832  -- Command: log facility FACILITY
833  -- Command: no log facility
834      This command changes the facility used in syslog messages.  The
835      default facility is `daemon'.  The `no' form of the command resets
836      the facility to the default `daemon' facility.
838  -- Command: log record-priority
839  -- Command: no log record-priority
840      To include the severity in all messages logged to a file, to
841      stdout, or to a terminal monitor (i.e. anything except syslog),
842      use the `log record-priority' global configuration command.  To
843      disable this option, use the `no' form of the command.  By default,
844      the severity level is not included in logged messages.  Note: some
845      versions of syslogd (including Solaris) can be configured to
846      include the facility and level in the messages emitted.
848  -- Command: service password-encryption
849      Encrypt password.
851  -- Command: service advanced-vty
852      Enable advanced mode VTY.
854  -- Command: service terminal-length <0-512>
855      Set system wide line configuration.  This configuration command
856      applies to all VTY interfaces.
858  -- Command: line vty
859      Enter vty configuration mode.
861  -- Command: banner motd default
862      Set default motd string.
864  -- Command: no banner motd
865      No motd banner string will be printed.
867  -- Line Command: exec-timeout MINUTE
868  -- Line Command: exec-timeout MINUTE SECOND
869      Set VTY connection timeout value.  When only one argument is
870      specified it is used for timeout value in minutes.  Optional
871      second argument is used for timeout value in seconds. Default
872      timeout value is 10 minutes.  When timeout value is zero, it means
873      no timeout.
875  -- Line Command: no exec-timeout
876      Do not perform timeout at all.  This command is as same as
877      `exec-timeout 0 0'.
879  -- Line Command: access-class ACCESS-LIST
880      Restrict vty connections with an access list.
882 \x1f
883 File: quagga.info,  Node: Sample Config File,  Prev: Basic Config Commands,  Up: Config Commands
885 3.1.2 Sample Config File
886 ------------------------
888 Below is a sample configuration file for the zebra daemon.
890      !
891      ! Zebra configuration file
892      !
893      hostname Router
894      password zebra
895      enable password zebra
896      !
897      log stdout
898      !
899      !
901    '!' and '#' are comment characters.  If the first character of the
902 word is one of the comment characters then from the rest of the line
903 forward will be ignored as a comment.
905      password zebra!password
907    If a comment character is not the first character of the word, it's a
908 normal character. So in the above example '!' will not be regarded as a
909 comment and the password is set to 'zebra!password'.
911 \x1f
912 File: quagga.info,  Node: Terminal Mode Commands,  Next: Config Commands,  Up: Basic commands
914 3.2 Terminal Mode Commands
915 ==========================
917  -- Command: write terminal
918      Displays the current configuration to the vty interface.
920  -- Command: write file
921      Write current configuration to configuration file.
923  -- Command: configure terminal
924      Change to configuration mode.  This command is the first step to
925      configuration.
927  -- Command: terminal length <0-512>
928      Set terminal display length to <0-512>.  If length is 0, no
929      display control is performed.
931  -- Command: who
932      Show a list of currently connected vty sessions.
934  -- Command: list
935      List all available commands.
937  -- Command: show version
938      Show the current version of Quagga and its build host information.
940  -- Command: show logging
941      Shows the current configuration of the logging system.  This
942      includes the status of all logging destinations.
944  -- Command: logmsg LEVEL MESSAGE
945      Send a message to all logging destinations that are enabled for
946      messages of the given severity.
948 \x1f
949 File: quagga.info,  Node: Common Invocation Options,  Next: Virtual Terminal Interfaces,  Prev: Config Commands,  Up: Basic commands
951 3.3 Common Invocation Options
952 =============================
954 These options apply to all Quagga daemons.
956 `-d'
957 `--daemon'
958      Runs in daemon mode.
960 `-f FILE'
961 `--config_file=FILE'
962      Set configuration file name.
964 `-h'
965 `--help'
966      Display this help and exit.
968 `-i FILE'
969 `--pid_file=FILE'
970      Upon startup the process identifier of the daemon is written to a
971      file, typically in `/var/run'.  This file can be used by the init
972      system to implement commands such as `.../init.d/zebra status',
973      `.../init.d/zebra restart' or `.../init.d/zebra stop'.
975      The file name is an run-time option rather than a configure-time
976      option so that multiple routing daemons can be run simultaneously.
977      This is useful when using Quagga to implement a routing looking
978      glass.  One machine can be used to collect differing routing views
979      from differing points in the network.
981 `-A ADDRESS'
982 `--vty_addr=ADDRESS'
983      Set the VTY local address to bind to. If set, the VTY socket will
984      only be bound to this address.
986 `-P PORT'
987 `--vty_port=PORT'
988      Set the VTY TCP port number. If set to 0 then the TCP VTY sockets
989      will not be opened.
991 `-u USER'
992 `--vty_addr=USER'
993      Set the user and group to run as.
995 `-v'
996 `--version'
997      Print program version.
1000 \x1f
1001 File: quagga.info,  Node: Virtual Terminal Interfaces,  Prev: Common Invocation Options,  Up: Basic commands
1003 3.4 Virtual Terminal Interfaces
1004 ===============================
1006 VTY - Virtual Terminal [aka TeletYpe] Interface is a command line
1007 interface (CLI) for user interaction with the routing daemon.
1009 * Menu:
1011 * VTY Overview::                Basics about VTYs
1012 * VTY Modes::                   View, Enable, and Other VTY modes
1013 * VTY CLI Commands::            Commands for movement, edition, and management
1015 \x1f
1016 File: quagga.info,  Node: VTY Overview,  Next: VTY Modes,  Up: Virtual Terminal Interfaces
1018 3.4.1 VTY Overview
1019 ------------------
1021 VTY stands for Virtual TeletYpe interface.  It means you can connect to
1022 the daemon via the telnet protocol.
1024    To enable a VTY interface, you have to setup a VTY password.  If
1025 there is no VTY password, one cannot connect to the VTY interface at
1026 all.
1028      % telnet localhost 2601
1029      Trying 127.0.0.1...
1030      Connected to localhost.
1031      Escape character is '^]'.
1033      Hello, this is Quagga (version 0.99.1)
1034      Copyright (C) 1999-2005 Kunihiro Ishiguro, et al.
1036      User Access Verification
1038      Password: XXXXX
1039      Router> ?
1040        enable            Turn on privileged commands
1041        exit              Exit current mode and down to previous mode
1042        help              Description of the interactive help system
1043        list              Print command list
1044        show              Show running system information
1045        who               Display who is on a vty
1046      Router> enable
1047      Password: XXXXX
1048      Router# configure terminal
1049      Router(config)# interface eth0
1050      Router(config-if)# ip address 10.0.0.1/8
1051      Router(config-if)# ^Z
1052      Router#
1054    '?' is very useful for looking up commands.
1056 \x1f
1057 File: quagga.info,  Node: VTY Modes,  Next: VTY CLI Commands,  Prev: VTY Overview,  Up: Virtual Terminal Interfaces
1059 3.4.2 VTY Modes
1060 ---------------
1062 There are three basic VTY modes:
1064 * Menu:
1066 * VTY View Mode::               Mode for read-only interaction
1067 * VTY Enable Mode::             Mode for read-write interaction
1068 * VTY Other Modes::             Special modes (tftp, etc)
1070    There are commands that may be restricted to specific VTY modes.
1072 \x1f
1073 File: quagga.info,  Node: VTY View Mode,  Next: VTY Enable Mode,  Up: VTY Modes
1075 3.4.2.1 VTY View Mode
1076 .....................
1078 This mode is for read-only access to the CLI. One may exit the mode by
1079 leaving the system, or by entering `enable' mode.
1081 \x1f
1082 File: quagga.info,  Node: VTY Enable Mode,  Next: VTY Other Modes,  Prev: VTY View Mode,  Up: VTY Modes
1084 3.4.2.2 VTY Enable Mode
1085 .......................
1087 This mode is for read-write access to the CLI. One may exit the mode by
1088 leaving the system, or by escaping to view mode.
1090 \x1f
1091 File: quagga.info,  Node: VTY Other Modes,  Prev: VTY Enable Mode,  Up: VTY Modes
1093 3.4.2.3 VTY Other Modes
1094 .......................
1096 This page is for describing other modes.
1098 \x1f
1099 File: quagga.info,  Node: VTY CLI Commands,  Prev: VTY Modes,  Up: Virtual Terminal Interfaces
1101 3.4.3 VTY CLI Commands
1102 ----------------------
1104 Commands that you may use at the command-line are described in the
1105 following three subsubsections.
1107 * Menu:
1109 * CLI Movement Commands::       Commands for moving the cursor about
1110 * CLI Editing Commands::        Commands for changing text
1111 * CLI Advanced Commands::       Other commands, session management and so on
1113 \x1f
1114 File: quagga.info,  Node: CLI Movement Commands,  Next: CLI Editing Commands,  Up: VTY CLI Commands
1116 3.4.3.1 CLI Movement Commands
1117 .............................
1119 These commands are used for moving the CLI cursor. The <C> character
1120 means press the Control Key.
1122 `C-f'
1123 `<RIGHT>'
1124      Move forward one character.
1126 `C-b'
1127 `<LEFT>'
1128      Move backward one character.
1130 `M-f'
1131      Move forward one word.
1133 `M-b'
1134      Move backward one word.
1136 `C-a'
1137      Move to the beginning of the line.
1139 `C-e'
1140      Move to the end of the line.
1143 \x1f
1144 File: quagga.info,  Node: CLI Editing Commands,  Next: CLI Advanced Commands,  Prev: CLI Movement Commands,  Up: VTY CLI Commands
1146 3.4.3.2 CLI Editing Commands
1147 ............................
1149 These commands are used for editing text on a line. The <C> character
1150 means press the Control Key.
1152 `C-h'
1153 `<DEL>'
1154      Delete the character before point.
1156 `C-d'
1157      Delete the character after point.
1159 `M-d'
1160      Forward kill word.
1162 `C-w'
1163      Backward kill word.
1165 `C-k'
1166      Kill to the end of the line.
1168 `C-u'
1169      Kill line from the beginning, erasing input.
1171 `C-t'
1172      Transpose character.
1175 \x1f
1176 File: quagga.info,  Node: CLI Advanced Commands,  Prev: CLI Editing Commands,  Up: VTY CLI Commands
1178 3.4.3.3 CLI Advanced Commands
1179 .............................
1181 There are several additional CLI commands for command line completions,
1182 insta-help, and VTY session management.
1184 `C-c'
1185      Interrupt current input and moves to the next line.
1187 `C-z'
1188      End current configuration session and move to top node.
1190 `C-n'
1191 `<DOWN>'
1192      Move down to next line in the history buffer.
1194 `C-p'
1195 `<UP>'
1196      Move up to previous line in the history buffer.
1198 `TAB'
1199      Use command line completion by typing <TAB>.
1202      You can use command line help by typing `help' at the beginning of
1203      the line.  Typing `?' at any point in the line will show possible
1204      completions.
1207 \x1f
1208 File: quagga.info,  Node: Zebra,  Next: RIP,  Prev: Basic commands,  Up: Top
1210 4 Zebra
1211 *******
1213 `zebra' is an IP routing manager.  It provides kernel routing table
1214 updates, interface lookups, and redistribution of routes between
1215 different routing protocols.
1217 * Menu:
1219 * Invoking zebra::              Running the program
1220 * Interface Commands::          Commands for zebra interfaces
1221 * Static Route Commands::       Commands for adding static routes
1222 * zebra Terminal Mode Commands::  Commands for zebra's VTY
1224 \x1f
1225 File: quagga.info,  Node: Invoking zebra,  Next: Interface Commands,  Up: Zebra
1227 4.1 Invoking zebra
1228 ==================
1230 Besides the common invocation options (*note Common Invocation
1231 Options::), the `zebra' specific invocation options are listed below.
1233 `-b'
1234 `--batch'
1235      Runs in batch mode.  `zebra' parses configuration file and
1236      terminates immediately.
1238 `-k'
1239 `--keep_kernel'
1240      When zebra starts up, don't delete old self inserted routes.
1242 `-l'
1243 `--log_mode'
1244      Set verbose logging on.
1246 `-r'
1247 `--retain'
1248      When program terminates, retain routes added by zebra.
1251 \x1f
1252 File: quagga.info,  Node: Interface Commands,  Next: Static Route Commands,  Prev: Invoking zebra,  Up: Zebra
1254 4.2 Interface Commands
1255 ======================
1257  -- Command: interface IFNAME
1259  -- Interface Command: shutdown
1260  -- Interface Command: no shutdown
1261      Up or down the current interface.
1263  -- Interface Command: ip address ADDRESS/PREFIX
1264  -- Interface Command: ip6 address ADDRESS/PREFIX
1265  -- Interface Command: no ip address ADDRESS/PREFIX
1266  -- Interface Command: no ip6 address ADDRESS/PREFIX
1267      Set the IPv4 or IPv6 address/prefix for the interface.
1269  -- Interface Command: ip address ADDRESS/PREFIX secondary
1270  -- Interface Command: no ip address ADDRESS/PREFIX secondary
1271      Set the secondary flag for this address. This causes ospfd to not
1272      treat the address as a distinct subnet.
1274  -- Interface Command: description DESCRIPTION ...
1275      Set description for the interface.
1277  -- Interface Command: multicast
1278  -- Interface Command: no multicast
1279      Enable or disables multicast flag for the interface.
1281  -- Interface Command: bandwidth <1-10000000>
1282  -- Interface Command: no bandwidth <1-10000000>
1283      Set bandwidth value of the interface in kilobits/sec.  This is for
1284      calculating OSPF cost. This command does not affect the actual
1285      device configuration.
1287  -- Interface Command: link-detect
1288  -- Interface Command: no link-detect
1289      Enable/disable link-detect on platforms which support this.
1290      Currently only linux and with certain drivers - those which
1291      properly support the IFF_RUNNING flag.
1293 \x1f
1294 File: quagga.info,  Node: Static Route Commands,  Next: zebra Terminal Mode Commands,  Prev: Interface Commands,  Up: Zebra
1296 4.3 Static Route Commands
1297 =========================
1299 Static routing is a very fundamental feature of routing technology.  It
1300 defines static prefix and gateway.
1302  -- Command: ip route NETWORK GATEWAY
1303      NETWORK is destination prefix with format of A.B.C.D/M.  GATEWAY
1304      is gateway for the prefix.  When GATEWAY is A.B.C.D format.  It is
1305      taken as a IPv4 address gateway.  Otherwise it is treated as an
1306      interface name. If the interface name is NULL0 then zebra installs
1307      a blackhole route.
1309           ip route 10.0.0.0/8 10.0.0.2
1310           ip route 10.0.0.0/8 ppp0
1311           ip route 10.0.0.0/8 null0
1313      First example defines 10.0.0.0/8 static route with gateway
1314      10.0.0.2.  Second one defines the same prefix but with gateway to
1315      interface ppp0. The third install a blackhole route.
1317  -- Command: ip route NETWORK NETMASK GATEWAY
1318      This is alternate version of above command.  When NETWORK is
1319      A.B.C.D format, user must define NETMASK value with A.B.C.D
1320      format.  GATEWAY is same option as above command
1322           ip route 10.0.0.0 255.255.255.0 10.0.0.2
1323           ip route 10.0.0.0 255.255.255.0 ppp0
1324           ip route 10.0.0.0 255.255.255.0 null0
1326      These statements are equivalent to those in the previous example.
1328  -- Command: ip route NETWORK GATEWAY DISTANCE
1329      Installs the route with the specified distance.
1331    Multiple nexthop static route
1333      ip route 10.0.0.1/32 10.0.0.2
1334      ip route 10.0.0.1/32 10.0.0.3
1335      ip route 10.0.0.1/32 eth0
1337    If there is no route to 10.0.0.2 and 10.0.0.3, and interface eth0 is
1338 reachable, then the last route is installed into the kernel.
1340    If zebra has been compiled with multipath support, and both 10.0.0.2
1341 and 10.0.0.3 are reachable, zebra will install a multipath route via
1342 both nexthops, if the platform supports this.
1344      zebra> show ip route
1345      S>  10.0.0.1/32 [1/0] via 10.0.0.2 inactive
1346                            via 10.0.0.3 inactive
1347        *                   is directly connected, eth0
1349      ip route 10.0.0.0/8 10.0.0.2
1350      ip route 10.0.0.0/8 10.0.0.3
1351      ip route 10.0.0.0/8 null0 255
1353    This will install a multihop route via the specified next-hops if
1354 they are reachable, as well as a high-metric blackhole route, which can
1355 be useful to prevent traffic destined for a prefix to match
1356 less-specific routes (eg default) should the specified gateways not be
1357 reachable. Eg:
1359      zebra> show ip route 10.0.0.0/8
1360      Routing entry for 10.0.0.0/8
1361        Known via "static", distance 1, metric 0
1362          10.0.0.2 inactive
1363          10.0.0.3 inactive
1365      Routing entry for 10.0.0.0/8
1366        Known via "static", distance 255, metric 0
1367          directly connected, Null0
1369  -- Command: ipv6 route NETWORK GATEWAY
1370  -- Command: ipv6 route NETWORK GATEWAY DISTANCE
1371      These behave similarly to their ipv4 counterparts.
1373  -- Command: table TABLENO
1374      Select the primary kernel routing table to be used.  This only
1375      works for kernels supporting multiple routing tables (like
1376      GNU/Linux 2.2.x and later).  After setting TABLENO with this
1377      command, static routes defined after this are added to the
1378      specified table.
1380 \x1f
1381 File: quagga.info,  Node: zebra Terminal Mode Commands,  Prev: Static Route Commands,  Up: Zebra
1383 4.4 zebra Terminal Mode Commands
1384 ================================
1386  -- Command: show ip route
1387      Display current routes which zebra holds in its database.
1389           Router# show ip route
1390           Codes: K - kernel route, C - connected, S - static, R - RIP,
1391                  B - BGP * - FIB route.
1393           K* 0.0.0.0/0              203.181.89.241
1394           S  0.0.0.0/0              203.181.89.1
1395           C* 127.0.0.0/8            lo
1396           C* 203.181.89.240/28      eth0
1398  -- Command: show ipv6 route
1400  -- Command: show interface
1402  -- Command: show ipforward
1403      Display whether the host's IP forwarding function is enabled or
1404      not.  Almost any UNIX kernel can be configured with IP forwarding
1405      disabled.  If so, the box can't work as a router.
1407  -- Command: show ipv6forward
1408      Display whether the host's IP v6 forwarding is enabled or not.
1410 \x1f
1411 File: quagga.info,  Node: RIP,  Next: RIPng,  Prev: Zebra,  Up: Top
1413 5 RIP
1414 *****
1416 RIP - Routing Information Protocol is widely deployed interior gateway
1417 protocol.  RIP was developed in the 1970s at Xerox Labs as part of the
1418 XNS routing protocol.  RIP is a "distance-vector" protocol and is based
1419 on the "Bellman-Ford" algorithms.  As a distance-vector protocol, RIP
1420 router send updates to its neighbors periodically, thus allowing the
1421 convergence to a known topology.  In each update, the distance to any
1422 given network will be broadcasted to its neighboring router.
1424    `ripd' supports RIP version 2 as described in RFC2453 and RIP
1425 version 1 as described in RFC1058.
1427 * Menu:
1429 * Starting and Stopping ripd::
1430 * RIP Configuration::
1431 * How to Announce RIP route::
1432 * Filtering RIP Routes::
1433 * RIP Metric Manipulation::
1434 * RIP distance::
1435 * RIP route-map::
1436 * RIP Authentication::
1437 * RIP Timers::
1438 * Show RIP Information::
1439 * RIP Debug Commands::
1441 \x1f
1442 File: quagga.info,  Node: Starting and Stopping ripd,  Next: RIP Configuration,  Up: RIP
1444 5.1 Starting and Stopping ripd
1445 ==============================
1447 The default configuration file name of `ripd''s is `ripd.conf'.  When
1448 invocation `ripd' searches directory /etc/quagga.  If `ripd.conf' is
1449 not there next search current directory.
1451    RIP uses UDP port 520 to send and receive RIP packets.  So the user
1452 must have the capability to bind the port, generally this means that
1453 the user must have superuser privileges.  RIP protocol requires
1454 interface information maintained by `zebra' daemon.  So running `zebra'
1455 is mandatory to run `ripd'.  Thus minimum sequence for running RIP is
1456 like below:
1458      # zebra -d
1459      # ripd -d
1461    Please note that `zebra' must be invoked before `ripd'.
1463    To stop `ripd'.  Please use `kill `cat /var/run/ripd.pid`'.  Certain
1464 signals have special meaningss to `ripd'.
1466 `SIGHUP'
1467      Reload configuration file `ripd.conf'.  All configurations are
1468      reseted.  All routes learned so far are cleared and removed from
1469      routing table.
1471 `SIGUSR1'
1472      Rotate `ripd' logfile.
1474 `SIGINT'
1475 `SIGTERM'
1476      `ripd' sweeps all installed RIP routes then terminates properly.
1478    `ripd' invocation options.  Common options that can be specified
1479 (*note Common Invocation Options::).
1481 `-r'
1482 `--retain'
1483      When the program terminates, retain routes added by `ripd'.
1485 * Menu:
1487 * RIP netmask::
1489 \x1f
1490 File: quagga.info,  Node: RIP netmask,  Up: Starting and Stopping ripd
1492 5.1.1 RIP netmask
1493 -----------------
1495 The netmask features of `ripd' support both version 1 and version 2 of
1496 RIP.  Version 1 of RIP originally contained no netmask information.  In
1497 RIP version 1, network classes were originally used to determine the
1498 size of the netmask.  Class A networks use 8 bits of mask, Class B
1499 networks use 16 bits of masks, while Class C networks use 24 bits of
1500 mask.  Today, the most widely used method of a network mask is assigned
1501 to the packet on the basis of the interface that received the packet.
1502 Version 2 of RIP supports a variable length subnet mask (VLSM).  By
1503 extending the subnet mask, the mask can be divided and reused.  Each
1504 subnet can be used for different purposes such as large to middle size
1505 LANs and WAN links.  Quagga `ripd' does not support the non-sequential
1506 netmasks that are included in RIP Version 2.
1508    In a case of similar information with the same prefix and metric, the
1509 old information will be suppressed.  Ripd does not currently support
1510 equal cost multipath routing.
1512 \x1f
1513 File: quagga.info,  Node: RIP Configuration,  Next: How to Announce RIP route,  Prev: Starting and Stopping ripd,  Up: RIP
1515 5.2 RIP Configuration
1516 =====================
1518  -- Command: router rip
1519      The `router rip' command is necessary to enable RIP.  To disable
1520      RIP, use the `no router rip' command.  RIP must be enabled before
1521      carrying out any of the RIP commands.
1523  -- Command: no router rip
1524      Disable RIP.
1526    RIP can be configured to process either Version 1 or Version 2
1527 packets, the default mode is Version 2.  If no version is specified,
1528 then the RIP daemon will default to Version 2.  If RIP is set to Version
1529 1, the setting "Version 1" will be displayed, but the setting "Version
1530 2" will not be displayed whether or not Version 2 is set explicitly as
1531 the version of RIP being used. The version can be specified globally,
1532 and also on a per-interface basis (see below).
1534  -- RIP Command: version VERSION
1535      Set RIP process's version.  VERSION can be `1" or `2".
1537  -- RIP Command: network NETWORK
1538  -- RIP Command: no network NETWORK
1539      Set the RIP enable interface by NETWORK.  The interfaces which
1540      have addresses matching with NETWORK are enabled.
1542      This group of commands either enables or disables RIP interfaces
1543      between certain numbers of a specified network address.  For
1544      example, if the network for 10.0.0.0/24 is RIP enabled, this would
1545      result in all the addresses from 10.0.0.0 to 10.0.0.255 being
1546      enabled for RIP.  The `no network' command will disable RIP for
1547      the specified network.
1549  -- RIP Command: network IFNAME
1550  -- RIP Command: no network IFNAME
1551      Set a RIP enabled interface by IFNAME.  Both the sending and
1552      receiving of RIP packets will be enabled on the port specified in
1553      the `network ifname' command.  The `no network ifname' command
1554      will disable RIP on the specified interface.
1556  -- RIP Command: neighbor A.B.C.D
1557  -- RIP Command: no neighbor A.B.C.D
1558      Specify RIP neighbor.  When a neighbor doesn't understand
1559      multicast, this command is used to specify neighbors.  In some
1560      cases, not all routers will be able to understand multicasting,
1561      where packets are sent to a network or a group of addresses.  In a
1562      situation where a neighbor cannot process multicast packets, it is
1563      necessary to establish a direct link between routers.  The
1564      neighbor command allows the network administrator to specify a
1565      router as a RIP neighbor.  The `no neighbor a.b.c.d' command will
1566      disable the RIP neighbor.
1568    Below is very simple RIP configuration.  Interface `eth0' and
1569 interface which address match to `10.0.0.0/8' are RIP enabled.
1571      !
1572      router rip
1573       network 10.0.0.0/8
1574       network eth0
1575      !
1577    Passive interface
1579  -- RIP command: passive-interface (IFNAME|default)
1580  -- RIP command: no passive-interface IFNAME
1581      This command sets the specified interface to passive mode.  On
1582      passive mode interface, all receiving packets are processed as
1583      normal and ripd does not send either multicast or unicast RIP
1584      packets except to RIP neighbors specified with `neighbor' command.
1585      The interface may be specified as DEFAULT to make ripd default to
1586      passive on all interfaces.
1588      The default is to be passive on all interfaces.
1590    RIP version handling
1592  -- Interface command: ip rip send version VERSION
1593      VERSION can be `1', `2', `1 2'.  This configuration command
1594      overrides the router's rip version setting.  The command will
1595      enable the selected interface to send packets with RIP Version 1,
1596      RIP Version 2, or both.  In the case of '1 2', packets will be
1597      both broadcast and multicast.
1599      The default is to send only version 2.
1601  -- Interface command: ip rip receive version VERSION
1602      Version setting for incoming RIP packets.  This command will
1603      enable the selected interface to receive packets in RIP Version 1,
1604      RIP Version 2, or both.
1606      The default is to receive both versions.
1608    RIP split-horizon
1610  -- Interface command: ip split-horizon
1611  -- Interface command: no ip split-horizon
1612      Control split-horizon on the interface.  Default is `ip
1613      split-horizon'.  If you don't perform split-horizon on the
1614      interface, please specify `no ip split-horizon'.
1616 \x1f
1617 File: quagga.info,  Node: How to Announce RIP route,  Next: Filtering RIP Routes,  Prev: RIP Configuration,  Up: RIP
1619 5.3 How to Announce RIP route
1620 =============================
1622  -- RIP command: redistribute kernel
1623  -- RIP command: redistribute kernel metric <0-16>
1624  -- RIP command: redistribute kernel route-map ROUTE-MAP
1625  -- RIP command: no redistribute kernel
1626      `redistribute kernel' redistributes routing information from
1627      kernel route entries into the RIP tables. `no redistribute kernel'
1628      disables the routes.
1630  -- RIP command: redistribute static
1631  -- RIP command: redistribute static metric <0-16>
1632  -- RIP command: redistribute static route-map ROUTE-MAP
1633  -- RIP command: no redistribute static
1634      `redistribute static' redistributes routing information from
1635      static route entries into the RIP tables. `no redistribute static'
1636      disables the routes.
1638  -- RIP command: redistribute connected
1639  -- RIP command: redistribute connected metric <0-16>
1640  -- RIP command: redistribute connected route-map ROUTE-MAP
1641  -- RIP command: no redistribute connected
1642      Redistribute connected routes into the RIP tables.  `no
1643      redistribute connected' disables the connected routes in the RIP
1644      tables.  This command redistribute connected of the interface
1645      which RIP disabled.  The connected route on RIP enabled interface
1646      is announced by default.
1648  -- RIP command: redistribute ospf
1649  -- RIP command: redistribute ospf metric <0-16>
1650  -- RIP command: redistribute ospf route-map ROUTE-MAP
1651  -- RIP command: no redistribute ospf
1652      `redistribute ospf' redistributes routing information from ospf
1653      route entries into the RIP tables. `no redistribute ospf' disables
1654      the routes.
1656  -- RIP command: redistribute bgp
1657  -- RIP command: redistribute bgp metric <0-16>
1658  -- RIP command: redistribute bgp route-map ROUTE-MAP
1659  -- RIP command: no redistribute bgp
1660      `redistribute bgp' redistributes routing information from bgp
1661      route entries into the RIP tables. `no redistribute bgp' disables
1662      the routes.
1664    If you want to specify RIP only static routes:
1666  -- RIP command: default-information originate
1668  -- RIP command: route A.B.C.D/M
1669  -- RIP command: no route A.B.C.D/M
1670      This command is specific to Quagga.  The `route' command makes a
1671      static route only inside RIP. This command should be used only by
1672      advanced users who are particularly knowledgeable about the RIP
1673      protocol.  In most cases, we recommend creating a static route in
1674      Quagga and redistributing it in RIP using `redistribute static'.
1676 \x1f
1677 File: quagga.info,  Node: Filtering RIP Routes,  Next: RIP Metric Manipulation,  Prev: How to Announce RIP route,  Up: RIP
1679 5.4 Filtering RIP Routes
1680 ========================
1682 RIP routes can be filtered by a distribute-list.
1684  -- Command: distribute-list ACCESS_LIST DIRECT IFNAME
1685      You can apply access lists to the interface with a
1686      `distribute-list' command.  ACCESS_LIST is the access list name.
1687      DIRECT is `in' or `out'.  If DIRECT is `in' the access list is
1688      applied to input packets.
1690      The `distribute-list' command can be used to filter the RIP path.
1691      `distribute-list' can apply access-lists to a chosen interface.
1692      First, one should specify the access-list.  Next, the name of the
1693      access-list is used in the distribute-list command.  For example,
1694      in the following configuration `eth0' will permit only the paths
1695      that match the route 10.0.0.0/8
1697           !
1698           router rip
1699            distribute-list private in eth0
1700           !
1701           access-list private permit 10 10.0.0.0/8
1702           access-list private deny any
1703           !
1705    `distribute-list' can be applied to both incoming and outgoing data.
1707  -- Command: distribute-list prefix PREFIX_LIST (in|out) IFNAME
1708      You can apply prefix lists to the interface with a
1709      `distribute-list' command.  PREFIX_LIST is the prefix list name.
1710      Next is the direction of `in' or `out'.  If DIRECT is `in' the
1711      access list is applied to input packets.
1713 \x1f
1714 File: quagga.info,  Node: RIP Metric Manipulation,  Next: RIP distance,  Prev: Filtering RIP Routes,  Up: RIP
1716 5.5 RIP Metric Manipulation
1717 ===========================
1719 RIP metric is a value for distance for the network.  Usually `ripd'
1720 increment the metric when the network information is received.
1721 Redistributed routes' metric is set to 1.
1723  -- RIP command: default-metric <1-16>
1724  -- RIP command: no default-metric <1-16>
1725      This command modifies the default metric value for redistributed
1726      routes.  The default value is 1.  This command does not affect
1727      connected route even if it is redistributed by `redistribute
1728      connected'.  To modify connected route's metric value, please use
1729      `redistribute connected metric' or `route-map'.  `offset-list' also
1730      affects connected routes.
1732  -- RIP command: offset-list ACCESS-LIST (in|out)
1733  -- RIP command: offset-list ACCESS-LIST (in|out) IFNAME
1735 \x1f
1736 File: quagga.info,  Node: RIP distance,  Next: RIP route-map,  Prev: RIP Metric Manipulation,  Up: RIP
1738 5.6 RIP distance
1739 ================
1741 Distance value is used in zebra daemon.  Default RIP distance is 120.
1743  -- RIP command: distance <1-255>
1744  -- RIP command: no distance <1-255>
1745      Set default RIP distance to specified value.
1747  -- RIP command: distance <1-255> A.B.C.D/M
1748  -- RIP command: no distance <1-255> A.B.C.D/M
1749      Set default RIP distance to specified value when the route's
1750      source IP address matches the specified prefix.
1752  -- RIP command: distance <1-255> A.B.C.D/M ACCESS-LIST
1753  -- RIP command: no distance <1-255> A.B.C.D/M ACCESS-LIST
1754      Set default RIP distance to specified value when the route's
1755      source IP address matches the specified prefix and the specified
1756      access-list.
1758 \x1f
1759 File: quagga.info,  Node: RIP route-map,  Next: RIP Authentication,  Prev: RIP distance,  Up: RIP
1761 5.7 RIP route-map
1762 =================
1764 Usage of `ripd''s route-map support.
1766    Optional argument route-map MAP_NAME can be added to each
1767 `redistribute' statement.
1769      redistribute static [route-map MAP_NAME]
1770      redistribute connected [route-map MAP_NAME]
1771      .....
1773    Cisco applies route-map _before_ routes will exported to rip route
1774 table.  In current Quagga's test implementation, `ripd' applies
1775 route-map after routes are listed in the route table and before routes
1776 will be announced to an interface (something like output filter). I
1777 think it is not so clear, but it is draft and it may be changed at
1778 future.
1780    Route-map statement (*note Route Map::) is needed to use route-map
1781 functionality.
1783  -- Route Map: match interface WORD
1784      This command match to incoming interface.  Notation of this match
1785      is different from Cisco. Cisco uses a list of interfaces - NAME1
1786      NAME2 ... NAMEN.  Ripd allows only one name (maybe will change in
1787      the future).  Next - Cisco means interface which includes next-hop
1788      of routes (it is somewhat similar to "ip next-hop" statement).
1789      Ripd means interface where this route will be sent. This
1790      difference is because "next-hop" of same routes which sends to
1791      different interfaces must be different. Maybe it'd be better to
1792      made new matches - say "match interface-out NAME" or something
1793      like that.
1795  -- Route Map: match ip address WORD
1796  -- Route Map: match ip address prefix-list WORD
1797      Match if route destination is permitted by access-list.
1799  -- Route Map: match ip next-hop A.B.C.D
1800      Cisco uses here <access-list>, `ripd' IPv4 address. Match if route
1801      has this next-hop (meaning next-hop listed in the rip route table
1802      - "show ip rip")
1804  -- Route Map: match metric <0-4294967295>
1805      This command match to the metric value of RIP updates.  For other
1806      protocol compatibility metric range is shown as <0-4294967295>.
1807      But for RIP protocol only the value range <0-16> make sense.
1809  -- Route Map: set ip next-hop A.B.C.D
1810      This command set next hop value in RIPv2 protocol.  This command
1811      does not affect RIPv1 because there is no next hop field in the
1812      packet.
1814  -- Route Map: set metric <0-4294967295>
1815      Set a metric for matched route when sending announcement.  The
1816      metric value range is very large for compatibility with other
1817      protocols.  For RIP, valid metric values are from 1 to 16.
1819 \x1f
1820 File: quagga.info,  Node: RIP Authentication,  Next: RIP Timers,  Prev: RIP route-map,  Up: RIP
1822 5.8 RIP Authentication
1823 ======================
1825  -- Interface command: ip rip authentication mode md5
1826  -- Interface command: no ip rip authentication mode md5
1827      Set the interface with RIPv2 MD5 authentication.
1829  -- Interface command: ip rip authentication mode text
1830  -- Interface command: no ip rip authentication mode text
1831      Set the interface with RIPv2 simple password authentication.
1833  -- Interface command: ip rip authentication string STRING
1834  -- Interface command: no ip rip authentication string STRING
1835      RIP version 2 has simple text authentication.  This command sets
1836      authentication string.  The string must be shorter than 16
1837      characters.
1839  -- Interface command: ip rip authentication key-chain KEY-CHAIN
1840  -- Interface command: no ip rip authentication key-chain KEY-CHAIN
1841      Specifiy Keyed MD5 chain.
1843      !
1844      key chain test
1845       key 1
1846        key-string test
1847      !
1848      interface eth1
1849       ip rip authentication mode md5
1850       ip rip authentication key-chain test
1851      !
1853 \x1f
1854 File: quagga.info,  Node: RIP Timers,  Next: Show RIP Information,  Prev: RIP Authentication,  Up: RIP
1856 5.9 RIP Timers
1857 ==============
1859  -- RIP command: timers basic UPDATE TIMEOUT GARBAGE
1860      RIP protocol has several timers.  User can configure those timers'
1861      values by `timers basic' command.
1863      The default settings for the timers are as follows:
1865         * The update timer is 30 seconds. Every update timer seconds,
1866           the RIP process is awakened to send an unsolicited Response
1867           message containing the complete routing table to all
1868           neighboring RIP routers.
1870         * The timeout timer is 180 seconds. Upon expiration of the
1871           timeout, the route is no longer valid; however, it is
1872           retained in the routing table for a short time so that
1873           neighbors can be notified that the route has been dropped.
1875         * The garbage collect timer is 120 seconds.  Upon expiration of
1876           the garbage-collection timer, the route is finally removed
1877           from the routing table.
1880      The `timers basic' command allows the the default values of the
1881      timers listed above to be changed.
1883  -- RIP command: no timers basic
1884      The `no timers basic' command will reset the timers to the default
1885      settings listed above.
1887 \x1f
1888 File: quagga.info,  Node: Show RIP Information,  Next: RIP Debug Commands,  Prev: RIP Timers,  Up: RIP
1890 5.10 Show RIP Information
1891 =========================
1893 To display RIP routes.
1895  -- Command: show ip rip
1896      Show RIP routes.
1898    The command displays all RIP routes. For routes that are received
1899 through RIP, this command will display the time the packet was sent and
1900 the tag information.  This command will also display this information
1901 for routes redistributed into RIP.
1903  -- Command: show ip protocols
1904      The command displays current RIP status.  It includes RIP timer,
1905      filtering, version, RIP enabled interface and RIP peer inforation.
1907      ripd> show ip protocols
1908      Routing Protocol is "rip"
1909        Sending updates every 30 seconds with +/-50%, next due in 35 seconds
1910        Timeout after 180 seconds, garbage collect after 120 seconds
1911        Outgoing update filter list for all interface is not set
1912        Incoming update filter list for all interface is not set
1913        Default redistribution metric is 1
1914        Redistributing: kernel connected
1915        Default version control: send version 2, receive version 2
1916          Interface        Send  Recv
1917        Routing for Networks:
1918          eth0
1919          eth1
1920          1.1.1.1
1921          203.181.89.241
1922        Routing Information Sources:
1923          Gateway          BadPackets BadRoutes  Distance Last Update
1925 \x1f
1926 File: quagga.info,  Node: RIP Debug Commands,  Prev: Show RIP Information,  Up: RIP
1928 5.11 RIP Debug Commands
1929 =======================
1931 Debug for RIP protocol.
1933  -- Command: debug rip events
1934      Debug rip events.
1936    `debug rip' will show RIP events.  Sending and receiving packets,
1937 timers, and changes in interfaces are events shown with `ripd'.
1939  -- Command: debug rip packet
1940      Debug rip packet.
1942    `debug rip packet' will display detailed information about the RIP
1943 packets.  The origin and port number of the packet as well as a packet
1944 dump is shown.
1946  -- Command: debug rip zebra
1947      Debug rip between zebra communication.
1949    This command will show the communication between `ripd' and `zebra'.
1950 The main information will include addition and deletion of paths to
1951 the kernel and the sending and receiving of interface information.
1953  -- Command: show debugging rip
1954      Display `ripd''s debugging option.
1956    `show debugging rip' will show all information currently set for ripd
1957 debug.
1959 \x1f
1960 File: quagga.info,  Node: RIPng,  Next: OSPFv2,  Prev: RIP,  Up: Top
1962 6 RIPng
1963 *******
1965 `ripngd' supports the RIPng protocol as described in RFC2080.  It's an
1966 IPv6 reincarnation of the RIP protocol.
1968 * Menu:
1970 * Invoking ripngd::
1971 * ripngd Configuration::
1972 * ripngd Terminal Mode Commands::
1973 * ripngd Filtering Commands::
1975 \x1f
1976 File: quagga.info,  Node: Invoking ripngd,  Next: ripngd Configuration,  Up: RIPng
1978 6.1 Invoking ripngd
1979 ===================
1981 There are no `ripngd' specific invocation options.  Common options can
1982 be specified (*note Common Invocation Options::).
1984 \x1f
1985 File: quagga.info,  Node: ripngd Configuration,  Next: ripngd Terminal Mode Commands,  Prev: Invoking ripngd,  Up: RIPng
1987 6.2 ripngd Configuration
1988 ========================
1990 Currently ripngd supports the following commands:
1992  -- Command: router ripng
1993      Enable RIPng.
1995  -- RIPng Command: flush_timer TIME
1996      Set flush timer.
1998  -- RIPng Command: network NETWORK
1999      Set RIPng enabled interface by NETWORK
2001  -- RIPng Command: network IFNAME
2002      Set RIPng enabled interface by IFNAME
2004  -- RIPng Command: route NETWORK
2005      Set RIPng static routing announcement of NETWORK.
2007  -- Command: router zebra
2008      This command is the default and does not appear in the
2009      configuration.  With this statement, RIPng routes go to the
2010      `zebra' daemon.
2012 \x1f
2013 File: quagga.info,  Node: ripngd Terminal Mode Commands,  Next: ripngd Filtering Commands,  Prev: ripngd Configuration,  Up: RIPng
2015 6.3 ripngd Terminal Mode Commands
2016 =================================
2018  -- Command: show ip ripng
2020  -- Command: show debugging ripng
2022  -- Command: debug ripng events
2024  -- Command: debug ripng packet
2026  -- Command: debug ripng zebra
2028 \x1f
2029 File: quagga.info,  Node: ripngd Filtering Commands,  Prev: ripngd Terminal Mode Commands,  Up: RIPng
2031 6.4 ripngd Filtering Commands
2032 =============================
2034  -- Command: distribute-list ACCESS_LIST (in|out) IFNAME
2035      You can apply an access-list to the interface using the
2036      `distribute-list' command.  ACCESS_LIST is an access-list name.
2037      DIRECT is `in' or `out'.  If DIRECT is `in', the access-list is
2038      applied only to incoming packets.
2040           distribute-list local-only out sit1
2042 \x1f
2043 File: quagga.info,  Node: OSPFv2,  Next: OSPFv3,  Prev: RIPng,  Up: Top
2045 7 OSPFv2
2046 ********
2048 OSPF (Open Shortest Path First) version 2 is a routing protocol which
2049 is described in `RFC2328, OSPF Version 2'.  OSPF is an IGP (Interior
2050 Gateway Protocol)..  Compared with RIP, OSPF can provide scalable
2051 network support and faster convergence times.  OSPF is widely used in
2052 large networks such as ISP (Internet Service Provider) backbone and
2053 enterprise networks.
2055 * Menu:
2057 * Configuring ospfd::
2058 * OSPF router::
2059 * OSPF area::
2060 * OSPF interface::
2061 * Redistribute routes to OSPF::
2062 * Showing OSPF information::
2063 * Debugging OSPF::
2064 * OSPF Configuration Examples::
2066 \x1f
2067 File: quagga.info,  Node: Configuring ospfd,  Next: OSPF router,  Up: OSPFv2
2069 7.1 Configuring ospfd
2070 =====================
2072 There are no `ospfd' specific options.  Common options can be specified
2073 (*note Common Invocation Options::) to `ospfd'.  `ospfd' needs to
2074 acquire interface information from `zebra' in order to function.
2075 Therefore `zebra' must be running before invoking `ospfd'. Also, if
2076 `zebra' is restarted then `ospfd' must be too.
2078    Like other daemons, `ospfd' configuration is done in OSPF specific
2079 configuration file `ospfd.conf'.
2081 \x1f
2082 File: quagga.info,  Node: OSPF router,  Next: OSPF area,  Prev: Configuring ospfd,  Up: OSPFv2
2084 7.2 OSPF router
2085 ===============
2087 To start OSPF process you have to specify the OSPF router.  As of this
2088 writing, `ospfd' does not support multiple OSPF processes.
2090  -- Command: router ospf
2091  -- Command: no router ospf
2092      Enable or disable the OSPF process.  `ospfd' does not yet support
2093      multiple OSPF processes.  So you can not specify an OSPF process
2094      number.
2096  -- OSPF Command: ospf router-id A.B.C.D
2097  -- OSPF Command: no ospf router-id
2098      This sets the router-ID of the OSPF process. The router-ID may be
2099      an IP address of the router, but need not be - it can be any
2100      arbitrary 32bit number. However it MUST be unique within the
2101      entire OSPF domain to the OSPF speaker - bad things will happen if
2102      multiple OSPF speakers are configured with the same router-ID! If
2103      one is not specified then `ospfd' will obtain a router-ID
2104      automatically from `zebra'.
2106  -- OSPF Command: ospf abr-type TYPE
2107  -- OSPF Command: no ospf abr-type TYPE
2108      TYPE can be cisco|ibm|shortcut|standard.
2110      More information regarding the behaviour controlled by this
2111      command can be found in `RFC 3509, Alternative Implementations of
2112      OSPF Area Border Routers', and
2113      `draft-ietf-ospf-shortcut-abr-02.txt'.
2115      Quote: "Though the definition of the ABR (Area Border Router) in
2116      the OSPF specification does not require a router with multiple
2117      attached areas to have a backbone connection, it is actually
2118      necessary to provide successful routing to the inter-area and
2119      external destinations. If this requirement is not met, all traffic
2120      destined for the areas not connected to such an ABR or out of the
2121      OSPF domain, is dropped.  This document describes alternative ABR
2122      behaviors implemented in Cisco and IBM routers."
2124      The default ABR type is 'Cisco', allowing an ABR to consider
2125      summaries from non-backbone areas if, and only if, it has lost its
2126      link(s) to the backbone area.
2128  -- OSPF Command: ospf rfc1583compatibility
2129  -- OSPF Command: no ospf rfc1583compatibility
2130      This `RFC2328', the sucessor to `RFC1583', suggests according to
2131      section G.2 (changes) in section 16.4 a change to the path
2132      preference algorithm that prevents possible routing loops that were
2133      possible in the old version of OSPFv2. More specifically it demands
2134      that inter-area paths and intra-area path are now of equal
2135      preference but still both preferred to external paths.
2137      This command should NOT be set normally.
2139  -- OSPF Command: passive interface INTERFACE
2140  -- OSPF Command: no passive interface INTERFACE
2141      Do not speak OSPF interface on the given interface, but do
2142      advertise the interface as a stub link in the router-LSA (Link
2143      State Advertisement) for this router. This allows one to advertise
2144      addresses on such connected interfaces without having to originate
2145      AS-External/Type-5 LSAs (which have global flooding scope) - as
2146      would occur if connected addresses were redistributed into OSPF,
2147      *Note Redistribute routes to OSPF::.
2150  -- OSPF Command: timers throttle spf DELAY INITIAL-HOLDTIME
2151 MAX-HOLDTIME
2152  -- OSPF Command: no timers throttle spf
2153      This command sets the initial DELAY, the INITIAL-HOLDTIME and the
2154      MAXIMUM-HOLDTIME between when SPF is calculated and the event
2155      which triggered the calculation. The times are specified in
2156      milliseconds and must be in the range of 0 to 600000 milliseconds.
2158      The DELAY specifies the minimum amount of time to delay SPF
2159      calculation (hence it affects how long SPF calculation is delayed
2160      after an event which occurs outside of the holdtime of any
2161      previous SPF calculation, and also serves as a minimum holdtime).
2163      Consecutive SPF calculations will always be seperated by at least
2164      'hold-time' milliseconds. The hold-time is adaptive and initially
2165      is set to the INITIAL-HOLDTIME configured with the above command.
2166      Events which occur within the holdtime of the previous SPF
2167      calculation will cause the holdtime to be increased by
2168      INITIAL-HOLDTIME, bounded by the MAXIMUM-HOLDTIME configured with
2169      this command. If the adaptive hold-time elapses without any
2170      SPF-triggering event occuring then the current holdtime is reset
2171      to the INITIAL-HOLDTIME. The current holdtime can be viewed with
2172      *Note show ip ospf::, where it is expressed as a multiplier of the
2173      INITIAL-HOLDTIME.
2175           router ospf
2176            timers throttle spf 200 400 10000
2178      In this example, the DELAY is set to 200ms, the INITIAL HOLDTIME
2179      is set to 400ms and the MAXIMUM HOLDTIME to 10s. Hence there will
2180      always be at least 200ms between an event which requires SPF
2181      calculation and the actual SPF calculation. Further consecutive SPF
2182      calculations will always be seperated by between 400ms to 10s, the
2183      hold-time increasing by 400ms each time an SPF-triggering event
2184      occurs within the hold-time of the previous SPF calculation.
2186      This command supercedes the `timers spf' command in previous Quagga
2187      releases.
2189  -- OSPF Command: max-metric router-lsa [on-startup|on-shutdown]
2190 <5-86400>
2191  -- OSPF Command: max-metric router-lsa administrative
2192  -- OSPF Command: no max-metric router-lsa
2193 [on-startup|on-shutdown|administrative]
2194      This enables `RFC3137, OSPF Stub Router Advertisement' support,
2195      where the OSPF process describes its transit links in its
2196      router-LSA as having infinite distance so that other routers will
2197      avoid calculating transit paths through the router while still
2198      being able to reach networks through the router.
2200      This support may be enabled administratively (and indefinitely) or
2201      conditionally. Conditional enabling of max-metric router-lsas can
2202      be for a period of seconds after startup and/or for a period of
2203      seconds prior to shutdown.
2205      Enabling this for a period after startup allows OSPF to converge
2206      fully first without affecting any existing routes used by other
2207      routers, while still allowing any connected stub links and/or
2208      redistributed routes to be reachable. Enabling this for a period
2209      of time in advance of shutdown allows the router to gracefully
2210      excuse itself from the OSPF domain.
2212      Enabling this feature administratively allows for administrative
2213      intervention for whatever reason, for an indefinite period of time.
2214      Note that if the configuration is written to file, this
2215      administrative form of the stub-router command will also be
2216      written to file. If `ospfd' is restarted later, the command will
2217      then take effect until manually deconfigured.
2219      Configured state of this feature as well as current status, such
2220      as the number of second remaining till on-startup or on-shutdown
2221      ends, can be viewed with the *Note show ip ospf:: command.
2223  -- OSPF Command: auto-cost reference-bandwidth <1-4294967>
2224  -- OSPF Command: no auto-cost reference-bandwidth
2225      This sets the reference bandwidth for cost calculations, where this
2226      bandwidth is considered equivalent to an OSPF cost of 1, specified
2227      in Mbits/s. The default is 100Mbit/s (i.e. a link of bandwidth
2228      100Mbit/s or higher will have a cost of 1. Cost of lower bandwidth
2229      links will be scaled with reference to this cost).
2231      This configuration setting MUST be consistent across all routers
2232      within the OSPF domain.
2234  -- OSPF Command: network A.B.C.D/M area A.B.C.D
2235  -- OSPF Command: network A.B.C.D/M area <0-4294967295>
2236  -- OSPF Command: no network A.B.C.D/M area A.B.C.D
2237  -- OSPF Command: no network A.B.C.D/M area <0-4294967295>
2238      This command specifies the OSPF enabled interface(s).  If the
2239      interface has an address from range 192.168.1.0/24 then the
2240      command below enables ospf on this interface so router can provide
2241      network information to the other ospf routers via this interface.
2243           router ospf
2244            network 192.168.1.0/24 area 0.0.0.0
2246      Prefix length in interface must be equal or bigger (ie. smaller
2247      network) than prefix length in network statement. For example
2248      statement above doesn't enable ospf on interface with address
2249      192.168.1.1/23, but it does on interface with address
2250      192.168.1.129/25.
2252 \x1f
2253 File: quagga.info,  Node: OSPF area,  Next: OSPF interface,  Prev: OSPF router,  Up: OSPFv2
2255 7.3 OSPF area
2256 =============
2258  -- OSPF Command: area A.B.C.D range A.B.C.D/M
2259  -- OSPF Command: area <0-4294967295> range A.B.C.D/M
2260  -- OSPF Command: no area A.B.C.D range A.B.C.D/M
2261  -- OSPF Command: no area <0-4294967295> range A.B.C.D/M
2262      Summarize intra area paths from specified area into one Type-3
2263      summary-LSA announced to other areas. This command can be used
2264      only in ABR and ONLY router-LSAs (Type-1) and network-LSAs
2265      (Type-2) (ie. LSAs with scope area) can be summarized. Type-5
2266      AS-external-LSAs can't be summarized - their scope is AS.
2267      Summarizing Type-7 AS-external-LSAs isn't supported yet by Quagga.
2269           router ospf
2270            network 192.168.1.0/24 area 0.0.0.0
2271            network 10.0.0.0/8 area 0.0.0.10
2272            area 0.0.0.10 range 10.0.0.0/8
2274      With configuration above one Type-3 Summary-LSA with routing info
2275      10.0.0.0/8 is announced into backbone area if area 0.0.0.10
2276      contains at least one intra-area network (ie. described with
2277      router or network LSA) from this range.
2279  -- OSPF Command: area A.B.C.D range IPV4_PREFIX not-advertise
2280  -- OSPF Command: no area A.B.C.D range IPV4_PREFIX not-advertise
2281      Instead of summarizing intra area paths filter them - ie. intra
2282      area paths from this range are not advertised into other areas.
2283      This command makes sense in ABR only.
2285  -- OSPF Command: area A.B.C.D range IPV4_PREFIX substitute IPV4_PREFIX
2286  -- OSPF Command: no area A.B.C.D range IPV4_PREFIX substitute
2287 IPV4_PREFIX
2288      Substitute summarized prefix with another prefix.
2290           router ospf
2291            network 192.168.1.0/24 area 0.0.0.0
2292            network 10.0.0.0/8 area 0.0.0.10
2293            area 0.0.0.10 range 10.0.0.0/8 substitute 11.0.0.0/8
2295      One Type-3 summary-LSA with routing info 11.0.0.0/8 is announced
2296      into backbone area if area 0.0.0.10 contains at least one
2297      intra-area network (ie. described with router-LSA or network-LSA)
2298      from range 10.0.0.0/8.  This command makes sense in ABR only.
2300  -- OSPF Command: area A.B.C.D virtual-link A.B.C.D
2301  -- OSPF Command: area <0-4294967295> virtual-link A.B.C.D
2302  -- OSPF Command: no area A.B.C.D virtual-link A.B.C.D
2303  -- OSPF Command: no area <0-4294967295> virtual-link A.B.C.D
2305  -- OSPF Command: area A.B.C.D shortcut
2306  -- OSPF Command: area <0-4294967295> shortcut
2307  -- OSPF Command: no area A.B.C.D shortcut
2308  -- OSPF Command: no area <0-4294967295> shortcut
2309      Configure th area as Shortcut capable. See `RFC3509'. This requires
2310      that the 'abr-type' be set to 'shortcut'.
2312  -- OSPF Command: area A.B.C.D stub
2313  -- OSPF Command: area <0-4294967295> stub
2314  -- OSPF Command: no area A.B.C.D stub
2315  -- OSPF Command: no area <0-4294967295> stub
2316      Configure the area to be a stub area. That is, an area where no
2317      router originates routes external to OSPF and hence an area where
2318      all external routes are via the ABR(s). Hence, ABRs for such an
2319      area do not need to pass AS-External LSAs (type-5s) or
2320      ASBR-Summary LSAs (type-4) into the area. They need only pass
2321      Network-Summary (type-3) LSAs into such an area, just a default
2322      summary.
2324  -- OSPF Command: area A.B.C.D stub no-summary
2325  -- OSPF Command: area <0-4294967295> stub no-summary
2326  -- OSPF Command: no area A.B.C.D stub no-summary
2327  -- OSPF Command: no area <0-4294967295> stub no-summary
2328      Prevents an `ospfd' ABR from injecting inter-area summaries into
2329      the specified stub area.
2331  -- OSPF Command: area A.B.C.D default-cost <0-16777215>
2332  -- OSPF Command: no area A.B.C.D default-cost <0-16777215>
2333      Set the cost of default-summary LSAs announced to stubby areas.
2335  -- OSPF Command: area A.B.C.D export-list NAME
2336  -- OSPF Command: area <0-4294967295> export-list NAME
2337  -- OSPF Command: no area A.B.C.D export-list NAME
2338  -- OSPF Command: no area <0-4294967295> export-list NAME
2339      Filter Type-3 summary-LSAs announced to other areas originated
2340      from intra- area paths from specified area.
2342           router ospf
2343            network 192.168.1.0/24 area 0.0.0.0
2344            network 10.0.0.0/8 area 0.0.0.10
2345            area 0.0.0.10 export-list foo
2346           !
2347           access-list foo permit 10.10.0.0/16
2348           access-list foo deny any
2350      With example above any intra-area paths from area 0.0.0.10 and
2351      from range 10.10.0.0/16 (for example 10.10.1.0/24 and
2352      10.10.2.128/30) are announced into other areas as Type-3
2353      summary-LSA's, but any others (for example 10.11.0.0/16 or
2354      10.128.30.16/30) aren't.
2356      This command is only relevant if the router is an ABR for the
2357      specified area.
2359  -- OSPF Command: area A.B.C.D import-list NAME
2360  -- OSPF Command: area <0-4294967295> import-list NAME
2361  -- OSPF Command: no area A.B.C.D import-list NAME
2362  -- OSPF Command: no area <0-4294967295> import-list NAME
2363      Same as export-list, but it applies to paths announced into
2364      specified area as Type-3 summary-LSAs.
2366  -- OSPF Command: area A.B.C.D filter-list prefix NAME in
2367  -- OSPF Command: area A.B.C.D filter-list prefix NAME out
2368  -- OSPF Command: area <0-4294967295> filter-list prefix NAME in
2369  -- OSPF Command: area <0-4294967295> filter-list prefix NAME out
2370  -- OSPF Command: no area A.B.C.D filter-list prefix NAME in
2371  -- OSPF Command: no area A.B.C.D filter-list prefix NAME out
2372  -- OSPF Command: no area <0-4294967295> filter-list prefix NAME in
2373  -- OSPF Command: no area <0-4294967295> filter-list prefix NAME out
2374      Filtering Type-3 summary-LSAs to/from area using prefix lists.
2375      This command makes sense in ABR only.
2377  -- OSPF Command: area A.B.C.D authentication
2378  -- OSPF Command: area <0-4294967295> authentication
2379  -- OSPF Command: no area A.B.C.D authentication
2380  -- OSPF Command: no area <0-4294967295> authentication
2381      Specify that simple password authentication should be used for the
2382      given area.
2384  -- OSPF Command: area A.B.C.D authentication message-digest
2385  -- OSPF Command: area <0-4294967295> authentication message-digest
2386      Specify that OSPF packets should be authenticated with MD5 HMACs
2387      for the given area.
2389 \x1f
2390 File: quagga.info,  Node: OSPF interface,  Next: Redistribute routes to OSPF,  Prev: OSPF area,  Up: OSPFv2
2392 7.4 OSPF interface
2393 ==================
2395  -- Interface Command: ip ospf authentication-key AUTH_KEY
2396  -- Interface Command: no ip ospf authentication-key
2397      Set OSPF authentication key to a simple password.  After setting
2398      AUTH_KEY, all OSPF packets are authenticated. AUTH_KEY has length
2399      up to 8 chars.
2401  -- Interface Command: ip ospf message-digest-key KEYID md5 KEY
2402  -- Interface Command: no ip ospf message-digest-key
2403      Set OSPF authentication key to a cryptographic password.  The
2404      cryptographic algorithm is MD5.  KEYID identifies secret key used
2405      to create the message digest.  KEY is the actual message digest
2406      key up to 16 chars.
2408      Note that OSPF MD5 authentication requires that time never go
2409      backwards (correct time is NOT important, only that it never goes
2410      backwards), even across resets, if ospfd is to be able to promptly
2411      reestabish adjacencies with its neighbours after restarts/reboots.
2412      The host should have system time be set at boot from an external
2413      source (eg battery backed clock, NTP, etc.) or else the system
2414      clock should be periodically saved to non-volative storage and
2415      restored at boot if MD5 authentication is to be expected to work
2416      reliably.
2418  -- Interface Command: ip ospf cost <1-65535>
2419  -- Interface Command: no ip ospf cost
2420      Set link cost for the specified interface.  The cost value is set
2421      to router-LSA's metric field and used for SPF calculation.
2423  -- Interface Command: ip ospf dead-interval <1-65535>
2424  -- Interface Command: ip ospf dead-interval minimal hello-multiplier
2425 <2-20>
2426  -- Interface Command: no ip ospf dead-interval
2427      Set number of seconds for RouterDeadInterval timer value used for
2428      Wait Timer and Inactivity Timer.  This value must be the same for
2429      all routers attached to a common network.  The default value is 40
2430      seconds.
2432      If 'minimal' is specified instead, then the dead-interval is set
2433      to 1 second and one must specify a hello-multiplier. The
2434      hello-multiplier specifies how many Hellos to send per second,
2435      from 2 (every 500ms) to 20 (every 50ms). Thus one can have 1s
2436      convergence time for OSPF. If this form is specified, then the
2437      hello-interval advertised in Hello packets is set to 0 and the
2438      hello-interval on received Hello packets is not checked, thus the
2439      hello-multiplier need NOT be the same across multiple routers on a
2440      common link.
2442  -- Interface Command: ip ospf hello-interval <1-65535>
2443  -- Interface Command: no ip ospf hello-interval
2444      Set number of seconds for HelloInterval timer value.  Setting this
2445      value, Hello packet will be sent every timer value seconds on the
2446      specified interface.  This value must be the same for all routers
2447      attached to a common network.  The default value is 10 seconds.
2449      This command has no effect if *Note ip ospf dead-interval
2450      minimal:: is also specified for the interface.
2452  -- Interface Command: ip ospf network
2453 (broadcast|non-broadcast|point-to-multipoint|point-to-point)
2454  -- Interface Command: no ip ospf network
2455      Set explicitly network type for specifed interface.
2457  -- Interface Command: ip ospf priority <0-255>
2458  -- Interface Command: no ip ospf priority
2459      Set RouterPriority integer value.  Setting higher value, router
2460      will be more eligible to become Designated Router.  Setting the
2461      value to 0, router is no longer eligible to Designated Router.
2462      The default value is 1.
2464  -- Interface Command: ip ospf retransmit-interval <1-65535>
2465  -- Interface Command: no ip ospf retransmit interval
2466      Set number of seconds for RxmtInterval timer value.  This value is
2467      used when retransmitting Database Description and Link State
2468      Request packets.  The default value is 5 seconds.
2470  -- Interface Command: ip ospf transmit-delay
2471  -- Interface Command: no ip ospf transmit-delay
2472      Set number of seconds for InfTransDelay value.  LSAs' age should be
2473      incremented by this value when transmitting.  The default value is
2474      1 seconds.
2476 \x1f
2477 File: quagga.info,  Node: Redistribute routes to OSPF,  Next: Showing OSPF information,  Prev: OSPF interface,  Up: OSPFv2
2479 7.5 Redistribute routes to OSPF
2480 ===============================
2482  -- OSPF Command: redistribute (kernel|connected|static|rip|bgp)
2483  -- OSPF Command: redistribute (kernel|connected|static|rip|bgp)
2484 ROUTE-MAP
2485  -- OSPF Command: redistribute (kernel|connected|static|rip|bgp)
2486 metric-type (1|2)
2487  -- OSPF Command: redistribute (kernel|connected|static|rip|bgp)
2488 metric-type (1|2) route-map WORD
2489  -- OSPF Command: redistribute (kernel|connected|static|rip|bgp) metric
2490 <0-16777214>
2491  -- OSPF Command: redistribute (kernel|connected|static|rip|bgp) metric
2492 <0-16777214> route-map WORD
2493  -- OSPF Command: redistribute (kernel|connected|static|rip|bgp)
2494 metric-type (1|2) metric <0-16777214>
2495  -- OSPF Command: redistribute (kernel|connected|static|rip|bgp)
2496 metric-type (1|2) metric <0-16777214> route-map WORD
2497  -- OSPF Command: no redistribute (kernel|connected|static|rip|bgp)
2498      Redistribute routes of the specified protocol or kind into OSPF,
2499      with the metric type and metric set if specified, filtering the
2500      routes using the given route-map if specified.
2502  -- OSPF Command: default-information originate
2503  -- OSPF Command: default-information originate metric <0-16777214>
2504  -- OSPF Command: default-information originate metric <0-16777214>
2505 metric-type (1|2)
2506  -- OSPF Command: default-information originate metric <0-16777214>
2507 metric-type (1|2) route-map WORD
2508  -- OSPF Command: default-information originate always
2509  -- OSPF Command: default-information originate always metric
2510 <0-16777214>
2511  -- OSPF Command: default-information originate always metric
2512 <0-16777214> metric-type (1|2)
2513  -- OSPF Command: default-information originate always metric
2514 <0-16777214> metric-type (1|2) route-map WORD
2515  -- OSPF Command: no default-information originate
2516      Originate an AS-External (type-5) LSA describing a default route
2517      into all external-routing capable areas, of the specified metric
2518      and metric type. If the 'always' keyword is given then the default
2519      is always advertised, even when there is no default present in the
2520      routing table.
2522  -- OSPF Command: distribute-list NAME out
2523 (kernel|connected|static|rip|ospf
2524  -- OSPF Command: no distribute-list NAME out
2525 (kernel|connected|static|rip|ospf
2527  -- OSPF Command: default-metric <0-16777214>
2528  -- OSPF Command: no default-metric
2530  -- OSPF Command: distance <1-255>
2531  -- OSPF Command: no distance <1-255>
2533  -- OSPF Command: distance ospf (intra-area|inter-area|external)
2534           <1-255>
2535  -- OSPF Command: no distance ospf
2537  -- Command: router zebra
2538  -- Command: no router zebra
2540 \x1f
2541 File: quagga.info,  Node: Showing OSPF information,  Next: Debugging OSPF,  Prev: Redistribute routes to OSPF,  Up: OSPFv2
2543 7.6 Showing OSPF information
2544 ============================
2546  -- Command: show ip ospf
2547      Show information on a variety of general OSPF and area state and
2548      configuration information.
2550  -- Command: show ip ospf interface [INTERFACE]
2551      Show state and configuration of OSPF the specified interface, or
2552      all interfaces if no interface is given.
2554  -- Command: show ip ospf neighbor
2555  -- Command: show ip ospf neighbor INTERFACE
2556  -- Command: show ip ospf neighbor detail
2557  -- Command: show ip ospf neighbor INTERFACE detail
2559  -- Command: show ip ospf database
2561  -- Command: show ip ospf database
2562 (asbr-summary|external|network|router|summary)
2563  -- Command: show ip ospf database
2564 (asbr-summary|external|network|router|summary) LINK-STATE-ID
2565  -- Command: show ip ospf database
2566 (asbr-summary|external|network|router|summary) LINK-STATE-ID adv-router
2567 ADV-ROUTER
2568  -- Command: show ip ospf database
2569 (asbr-summary|external|network|router|summary) adv-router ADV-ROUTER
2570  -- Command: show ip ospf database
2571 (asbr-summary|external|network|router|summary) LINK-STATE-ID
2572 self-originate
2573  -- Command: show ip ospf database
2574 (asbr-summary|external|network|router|summary) self-originate
2576  -- Command: show ip ospf database max-age
2578  -- Command: show ip ospf database self-originate
2580  -- Command: show ip ospf route
2581      Show the OSPF routing table, as determined by the most recent SPF
2582      calculation.
2584 \x1f
2585 File: quagga.info,  Node: Debugging OSPF,  Next: OSPF Configuration Examples,  Prev: Showing OSPF information,  Up: OSPFv2
2587 7.7 Debugging OSPF
2588 ==================
2590  -- Command: debug ospf packet
2591 (hello|dd|ls-request|ls-update|ls-ack|all) (send|recv) [detail]
2592  -- Command: no debug ospf packet
2593 (hello|dd|ls-request|ls-update|ls-ack|all) (send|recv) [detail]
2595  -- Command: debug ospf ism
2596  -- Command: debug ospf ism (status|events|timers)
2597  -- Command: no debug ospf ism
2598  -- Command: no debug ospf ism (status|events|timers)
2600  -- Command: debug ospf nsm
2601  -- Command: debug ospf nsm (status|events|timers)
2602  -- Command: no debug ospf nsm
2603  -- Command: no debug ospf nsm (status|events|timers)
2605  -- Command: debug ospf lsa
2606  -- Command: debug ospf lsa (generate|flooding|refresh)
2607  -- Command: no debug ospf lsa
2608  -- Command: no debug ospf lsa (generate|flooding|refresh)
2610  -- Command: debug ospf zebra
2611  -- Command: debug ospf zebra (interface|redistribute)
2612  -- Command: no debug ospf zebra
2613  -- Command: no debug ospf zebra (interface|redistribute)
2615  -- Command: show debugging ospf
2617 \x1f
2618 File: quagga.info,  Node: OSPF Configuration Examples,  Prev: Debugging OSPF,  Up: OSPFv2
2620 7.8 OSPF Configuration Examples
2621 ===============================
2623 A simple example, with MD5 authentication enabled:
2625      !
2626      interface bge0
2627       ip ospf authentication message-digest
2628       ip ospf message-digest-key 1 md5 ABCDEFGHIJK
2629      !
2630      router ospf
2631       network 192.168.0.0/16 area 0.0.0.1
2632       area 0.0.0.1 authentication message-digest
2634    An ABR router, with MD5 authentication and performing summarisation
2635 of networks between the areas:
2637      !
2638      password ABCDEF
2639      log file /var/log/quagga/ospfd.log
2640      service advanced-vty
2641      !
2642      interface eth0
2643       ip ospf authentication message-digest
2644       ip ospf message-digest-key 1 md5 ABCDEFGHIJK
2645      !
2646      interface ppp0
2647      !
2648      interface br0
2649       ip ospf authentication message-digest
2650       ip ospf message-digest-key 2 md5 XYZ12345
2651      !
2652      router ospf
2653       ospf router-id 192.168.0.1
2654       redistribute connected
2655       passive interface ppp0
2656       network 192.168.0.0/24 area 0.0.0.0
2657       network 10.0.0.0/16 area 0.0.0.0
2658       network 192.168.1.0/24 area 0.0.0.1
2659       area 0.0.0.0 authentication message-digest
2660       area 0.0.0.0 range 10.0.0.0/16
2661       area 0.0.0.0 range 192.168.0.0/24
2662       area 0.0.0.1 authentication message-digest
2663       area 0.0.0.1 range 10.2.0.0/16
2664      !
2666 \x1f
2667 File: quagga.info,  Node: OSPFv3,  Next: BGP,  Prev: OSPFv2,  Up: Top
2669 8 OSPFv3
2670 ********
2672 `ospf6d' is a daemon support OSPF version 3 for IPv6 network.  OSPF for
2673 IPv6 is described in RFC2740.
2675 * Menu:
2677 * OSPF6 router::
2678 * OSPF6 area::
2679 * OSPF6 interface::
2680 * Redistribute routes to OSPF6::
2681 * Showing OSPF6 information::
2682 * OSPF6 Configuration Examples::
2684 \x1f
2685 File: quagga.info,  Node: OSPF6 router,  Next: OSPF6 area,  Up: OSPFv3
2687 8.1 OSPF6 router
2688 ================
2690  -- Command: router ospf6
2692  -- OSPF6 Command: router-id A.B.C.D
2693      Set router's Router-ID.
2695  -- OSPF6 Command: interface IFNAME area AREA
2696      Bind interface to specified area, and start sending OSPF packets.
2697      AREA can be specified as 0.
2699 \x1f
2700 File: quagga.info,  Node: OSPF6 area,  Next: OSPF6 interface,  Prev: OSPF6 router,  Up: OSPFv3
2702 8.2 OSPF6 area
2703 ==============
2705 Area support for OSPFv3 is not yet implemented.
2707 \x1f
2708 File: quagga.info,  Node: OSPF6 interface,  Next: Redistribute routes to OSPF6,  Prev: OSPF6 area,  Up: OSPFv3
2710 8.3 OSPF6 interface
2711 ===================
2713  -- Interface Command: ipv6 ospf6 cost COST
2714      Sets interface's output cost.  Default value is 1.
2716  -- Interface Command: ipv6 ospf6 hello-interval HELLOINTERVAL
2717      Sets interface's Hello Interval.  Default 40
2719  -- Interface Command: ipv6 ospf6 dead-interval DEADINTERVAL
2720      Sets interface's Router Dead Interval.  Default value is 40.
2722  -- Interface Command: ipv6 ospf6 retransmit-interval
2723           RETRANSMITINTERVAL
2724      Sets interface's Rxmt Interval.  Default value is 5.
2726  -- Interface Command: ipv6 ospf6 priority PRIORITY
2727      Sets interface's Router Priority.  Default value is 1.
2729  -- Interface Command: ipv6 ospf6 transmit-delay TRANSMITDELAY
2730      Sets interface's Inf-Trans-Delay.  Default value is 1.
2732 \x1f
2733 File: quagga.info,  Node: Redistribute routes to OSPF6,  Next: Showing OSPF6 information,  Prev: OSPF6 interface,  Up: OSPFv3
2735 8.4 Redistribute routes to OSPF6
2736 ================================
2738  -- OSPF6 Command: redistribute static
2739  -- OSPF6 Command: redistribute connected
2740  -- OSPF6 Command: redistribute ripng
2742 \x1f
2743 File: quagga.info,  Node: Showing OSPF6 information,  Next: OSPF6 Configuration Examples,  Prev: Redistribute routes to OSPF6,  Up: OSPFv3
2745 8.5 Showing OSPF6 information
2746 =============================
2748  -- Command: show ipv6 ospf6 [INSTANCE_ID]
2749      INSTANCE_ID is an optional OSPF instance ID. To see router ID and
2750      OSPF instance ID, simply type "show ipv6 ospf6 <cr>".
2752  -- Command: show ipv6 ospf6 database
2753      This command shows LSA database summary.  You can specify the type
2754      of LSA.
2756  -- Command: show ipv6 ospf6 interface
2757      To see OSPF interface configuration like costs.
2759  -- Command: show ipv6 ospf6 neighbor
2760      Shows state and chosen (Backup) DR of neighbor.
2762  -- Command: show ipv6 ospf6 request-list A.B.C.D
2763      Shows requestlist of neighbor.
2765  -- Command: show ipv6 route ospf6
2766      This command shows internal routing table.
2768 \x1f
2769 File: quagga.info,  Node: OSPF6 Configuration Examples,  Prev: Showing OSPF6 information,  Up: OSPFv3
2771 8.6 OSPF6 Configuration Examples
2772 ================================
2774 Example of ospf6d configured on one interface and area:
2776      interface eth0
2777       ipv6 ospf6 instance-id 0
2778      !
2779      router ospf6
2780       router-id 212.17.55.53
2781       area 0.0.0.0 range 2001:770:105:2::/64
2782       interface eth0 area 0.0.0.0
2783      !
2785 \x1f
2786 File: quagga.info,  Node: BGP,  Next: Configuring Quagga as a Route Server,  Prev: OSPFv3,  Up: Top
2788 9 BGP
2789 *****
2791 BGP stands for a Border Gateway Protocol.  The lastest BGP version is
2792 4.  It is referred as BGP-4.  BGP-4 is one of the Exterior Gateway
2793 Protocols and de-fact standard of Inter Domain routing protocol.  BGP-4
2794 is described in `RFC1771, A Border Gateway Protocol 4 (BGP-4)'.
2796    Many extensions have been added to `RFC1771'.  `RFC2858,
2797 Multiprotocol Extensions for BGP-4' provides multiprotocol support to
2798 BGP-4.
2800 * Menu:
2802 * Starting BGP::
2803 * BGP router::
2804 * BGP network::
2805 * BGP Peer::
2806 * BGP Peer Group::
2807 * BGP Address Family::
2808 * Autonomous System::
2809 * BGP Communities Attribute::
2810 * BGP Extended Communities Attribute::
2811 * Displaying BGP routes::
2812 * Capability Negotiation::
2813 * Route Reflector::
2814 * Route Server::
2815 * How to set up a 6-Bone connection::
2816 * Dump BGP packets and table::
2817 * BGP Configuration Examples::
2819 \x1f
2820 File: quagga.info,  Node: Starting BGP,  Next: BGP router,  Up: BGP
2822 9.1 Starting BGP
2823 ================
2825 Default configuration file of `bgpd' is `bgpd.conf'.  `bgpd' searches
2826 the current directory first then /etc/quagga/bgpd.conf.  All of bgpd's
2827 command must be configured in `bgpd.conf'.
2829    `bgpd' specific invocation options are described below.  Common
2830 options may also be specified (*note Common Invocation Options::).
2832 `-p PORT'
2833 `--bgp_port=PORT'
2834      Set the bgp protocol's port number.
2836 `-r'
2837 `--retain'
2838      When program terminates, retain BGP routes added by zebra.
2840 \x1f
2841 File: quagga.info,  Node: BGP router,  Next: BGP network,  Prev: Starting BGP,  Up: BGP
2843 9.2 BGP router
2844 ==============
2846 First of all you must configure BGP router with `router bgp' command.
2847 To configure BGP router, you need AS number.  AS number is an
2848 identification of autonomous system.  BGP protocol uses the AS number
2849 for detecting whether the BGP connection is internal one or external
2850 one.
2852  -- Command: router bgp ASN
2853      Enable a BGP protocol process with the specified ASN.  After this
2854      statement you can input any `BGP Commands'.  You can not create
2855      different BGP process under different ASN without specifying
2856      `multiple-instance' (*note Multiple instance::).
2858  -- Command: no router bgp ASN
2859      Destroy a BGP protocol process with the specified ASN.
2861  -- BGP: bgp router-id A.B.C.D
2862      This command specifies the router-ID.  If `bgpd' connects to
2863      `zebra' it gets interface and address information.  In that case
2864      default router ID value is selected as the largest IP Address of
2865      the interfaces.  When `router zebra' is not enabled `bgpd' can't
2866      get interface information so `router-id' is set to 0.0.0.0.  So
2867      please set router-id by hand.
2869 * Menu:
2871 * BGP distance::
2872 * BGP decision process::
2874 \x1f
2875 File: quagga.info,  Node: BGP distance,  Next: BGP decision process,  Up: BGP router
2877 9.2.1 BGP distance
2878 ------------------
2880  -- BGP: distance bgp <1-255> <1-255> <1-255>
2881      This command change distance value of BGP.  Each argument is
2882      distance value for external routes, internal routes and local
2883      routes.
2885  -- BGP: distance <1-255> A.B.C.D/M
2886  -- BGP: distance <1-255> A.B.C.D/M WORD
2887      This command set distance value to
2889 \x1f
2890 File: quagga.info,  Node: BGP decision process,  Prev: BGP distance,  Up: BGP router
2892 9.2.2 BGP decision process
2893 --------------------------
2895 1. Weight check
2897 2. Local preference check.
2899 3. Local route check.
2901 4. AS path length check.
2903 5. Origin check.
2905 6. MED check.
2907  -- BGP: bgp bestpath as-path confed
2908      This command specifies that the length of confederation path sets
2909      and sequences should should be taken into account during the BGP
2910      best path decision process.
2912 \x1f
2913 File: quagga.info,  Node: BGP network,  Next: BGP Peer,  Prev: BGP router,  Up: BGP
2915 9.3 BGP network
2916 ===============
2918 * Menu:
2920 * BGP route::
2921 * Route Aggregation::
2922 * Redistribute to BGP::
2924 \x1f
2925 File: quagga.info,  Node: BGP route,  Next: Route Aggregation,  Up: BGP network
2927 9.3.1 BGP route
2928 ---------------
2930  -- BGP: network A.B.C.D/M
2931      This command adds the announcement network.
2932           router bgp 1
2933            network 10.0.0.0/8
2934      This configuration example says that network 10.0.0.0/8 will
2935      be announced to all neighbors.  Some vendors' routers don't
2936      advertise routes if they aren't present in their IGP routing
2937      tables; `bgp' doesn't care about IGP routes when announcing its
2938      routes.
2940  -- BGP: no network A.B.C.D/M
2942 \x1f
2943 File: quagga.info,  Node: Route Aggregation,  Next: Redistribute to BGP,  Prev: BGP route,  Up: BGP network
2945 9.3.2 Route Aggregation
2946 -----------------------
2948  -- BGP: aggregate-address A.B.C.D/M
2949      This command specifies an aggregate address.
2951  -- BGP: aggregate-address A.B.C.D/M as-set
2952      This command specifies an aggregate address.  Resulting routes
2953      inlucde AS set.
2955  -- BGP: aggregate-address A.B.C.D/M summary-only
2956      This command specifies an aggregate address.  Aggreated routes will
2957      not be announce.
2959  -- BGP: no aggregate-address A.B.C.D/M
2961 \x1f
2962 File: quagga.info,  Node: Redistribute to BGP,  Prev: Route Aggregation,  Up: BGP network
2964 9.3.3 Redistribute to BGP
2965 -------------------------
2967  -- BGP: redistribute kernel
2968      Redistribute kernel route to BGP process.
2970  -- BGP: redistribute static
2971      Redistribute static route to BGP process.
2973  -- BGP: redistribute connected
2974      Redistribute connected route to BGP process.
2976  -- BGP: redistribute rip
2977      Redistribute RIP route to BGP process.
2979  -- BGP: redistribute ospf
2980      Redistribute OSPF route to BGP process.
2982 \x1f
2983 File: quagga.info,  Node: BGP Peer,  Next: BGP Peer Group,  Prev: BGP network,  Up: BGP
2985 9.4 BGP Peer
2986 ============
2988 * Menu:
2990 * Defining Peer::
2991 * BGP Peer commands::
2992 * Peer filtering::
2994 \x1f
2995 File: quagga.info,  Node: Defining Peer,  Next: BGP Peer commands,  Up: BGP Peer
2997 9.4.1 Defining Peer
2998 -------------------
3000  -- BGP: neighbor PEER remote-as ASN
3001      Creates a new neighbor whose remote-as is ASN.  PEER can be an
3002      IPv4 address or an IPv6 address.
3003           router bgp 1
3004            neighbor 10.0.0.1 remote-as 2
3005      In this case my router, in AS-1, is trying to peer with AS-2
3006      at 10.0.0.1.
3008      This command must be the first command used when configuring a
3009      neighbor.  If the remote-as is not specified, `bgpd' will complain
3010      like this:
3011           can't find neighbor 10.0.0.1
3013 \x1f
3014 File: quagga.info,  Node: BGP Peer commands,  Next: Peer filtering,  Prev: Defining Peer,  Up: BGP Peer
3016 9.4.2 BGP Peer commands
3017 -----------------------
3019 In a `router bgp' clause there are neighbor specific configurations
3020 required.
3022  -- BGP: neighbor PEER shutdown
3023  -- BGP: no neighbor PEER shutdown
3024      Shutdown the peer.  We can delete the neighbor's configuration by
3025      `no neighbor PEER remote-as AS-NUMBER' but all configuration of
3026      the neighbor will be deleted.  When you want to preserve the
3027      configuration, but want to drop the BGP peer, use this syntax.
3029  -- BGP: neighbor PEER ebgp-multihop
3030  -- BGP: no neighbor PEER ebgp-multihop
3032  -- BGP: neighbor PEER description ...
3033  -- BGP: no neighbor PEER description ...
3034      Set description of the peer.
3036  -- BGP: neighbor PEER version VERSION
3037      Set up the neighbor's BGP version.  VERSION can be 4, 4+ or 4-.
3038      BGP version 4 is the default value used for BGP peering.  BGP
3039      version 4+ means that the neighbor supports Multiprotocol
3040      Extensions for BGP-4.  BGP version 4- is similar but the neighbor
3041      speaks the old Internet-Draft revision 00's Multiprotocol
3042      Extensions for BGP-4.  Some routing software is still using this
3043      version.
3045  -- BGP: neighbor PEER interface IFNAME
3046  -- BGP: no neighbor PEER interface IFNAME
3047      When you connect to a BGP peer over an IPv6 link-local address,
3048      you have to specify the IFNAME of the interface used for the
3049      connection.
3051  -- BGP: neighbor PEER next-hop-self
3052  -- BGP: no neighbor PEER next-hop-self
3053      This command specifies an announced route's nexthop as being
3054      equivalent to the address of the bgp router.
3056  -- BGP: neighbor PEER update-source
3057  -- BGP: no neighbor PEER update-source
3059  -- BGP: neighbor PEER default-originate
3060  -- BGP: no neighbor PEER default-originate
3061      `bgpd''s default is to not announce the default route (0.0.0.0/0)
3062      even it is in routing table.  When you want to announce default
3063      routes to the peer, use this command.
3065  -- BGP: neighbor PEER port PORT
3066  -- BGP: neighbor PEER port PORT
3068  -- BGP: neighbor PEER send-community
3069  -- BGP: neighbor PEER send-community
3071  -- BGP: neighbor PEER weight WEIGHT
3072  -- BGP: no neighbor PEER weight WEIGHT
3073      This command specifies a default WEIGHT value for the neighbor's
3074      routes.
3076  -- BGP: neighbor PEER maximum-prefix NUMBER
3077  -- BGP: no neighbor PEER maximum-prefix NUMBER
3079 \x1f
3080 File: quagga.info,  Node: Peer filtering,  Prev: BGP Peer commands,  Up: BGP Peer
3082 9.4.3 Peer filtering
3083 --------------------
3085  -- BGP: neighbor PEER distribute-list NAME [in|out]
3086      This command specifies a distribute-list for the peer.  DIRECT is
3087      `in' or `out'.
3089  -- BGP command: neighbor PEER prefix-list NAME [in|out]
3091  -- BGP command: neighbor PEER filter-list NAME [in|out]
3093  -- BGP: neighbor PEER route-map NAME [in|out]
3094      Apply a route-map on the neighbor.  DIRECT must be `in' or `out'.
3096 \x1f
3097 File: quagga.info,  Node: BGP Peer Group,  Next: BGP Address Family,  Prev: BGP Peer,  Up: BGP
3099 9.5 BGP Peer Group
3100 ==================
3102  -- BGP: neighbor WORD peer-group
3103      This command defines a new peer group.
3105  -- BGP: neighbor PEER peer-group WORD
3106      This command bind specific peer to peer group WORD.
3108 \x1f
3109 File: quagga.info,  Node: BGP Address Family,  Next: Autonomous System,  Prev: BGP Peer Group,  Up: BGP
3111 9.6 BGP Address Family
3112 ======================
3114 \x1f
3115 File: quagga.info,  Node: Autonomous System,  Next: BGP Communities Attribute,  Prev: BGP Address Family,  Up: BGP
3117 9.7 Autonomous System
3118 =====================
3120 The AS (Autonomous System) number is one of the essential element of
3121 BGP.  BGP is a distance vector routing protocol, and the AS-Path
3122 framework provides distance vector metric and loop detection to BGP.
3123 `RFC1930, Guidelines for creation, selection, and registration of an
3124 Autonomous System (AS)' provides some background on the concepts of an
3127    The AS number is a two octet value, ranging in value from 1 to 65535.
3128 The AS numbers 64512 through 65535 are defined as private AS numbers.
3129 Private AS numbers must not to be advertised in the global Internet.
3131 * Menu:
3133 * AS Path Regular Expression::
3134 * Display BGP Routes by AS Path::
3135 * AS Path Access List::
3136 * Using AS Path in Route Map::
3137 * Private AS Numbers::
3139 \x1f
3140 File: quagga.info,  Node: AS Path Regular Expression,  Next: Display BGP Routes by AS Path,  Up: Autonomous System
3142 9.7.1 AS Path Regular Expression
3143 --------------------------------
3145 AS path regular expression can be used for displaying BGP routes and AS
3146 path access list.  AS path regular expression is based on `POSIX
3147 1003.2' regular expressions.  Following description is just a subset of
3148 `POSIX' regular expression.  User can use full `POSIX' regular
3149 expression.  Adding to that special character '_' is added for AS path
3150 regular expression.
3153      Matches any single character.
3156      Matches 0 or more occurrences of pattern.
3159      Matches 1 or more occurrences of pattern.
3162      Match 0 or 1 occurrences of pattern.
3165      Matches the beginning of the line.
3168      Matches the end of the line.
3171      Character `_' has special meanings in AS path regular expression.
3172      It matches to space and comma , and AS set delimiter { and } and AS
3173      confederation delimiter `(' and `)'.  And it also matches to the
3174      beginning of the line and the end of the line.  So `_' can be used
3175      for AS value boundaries match.  `show ip bgp regexp _7675_'
3176      matches to all of BGP routes which as AS number include 7675.
3178 \x1f
3179 File: quagga.info,  Node: Display BGP Routes by AS Path,  Next: AS Path Access List,  Prev: AS Path Regular Expression,  Up: Autonomous System
3181 9.7.2 Display BGP Routes by AS Path
3182 -----------------------------------
3184 To show BGP routes which has specific AS path information `show ip bgp'
3185 command can be used.
3187  -- Command: show ip bgp regexp LINE
3188      This commands display BGP routes that matches AS path regular
3189      expression LINE.
3191 \x1f
3192 File: quagga.info,  Node: AS Path Access List,  Next: Using AS Path in Route Map,  Prev: Display BGP Routes by AS Path,  Up: Autonomous System
3194 9.7.3 AS Path Access List
3195 -------------------------
3197 AS path access list is user defined AS path.
3199  -- Command: ip as-path access-list WORD {permit|deny} LINE
3200      This command defines a new AS path access list.
3202  -- Command: no ip as-path access-list WORD
3203  -- Command: no ip as-path access-list WORD {permit|deny} LINE
3205 \x1f
3206 File: quagga.info,  Node: Using AS Path in Route Map,  Next: Private AS Numbers,  Prev: AS Path Access List,  Up: Autonomous System
3208 9.7.4 Using AS Path in Route Map
3209 --------------------------------
3211  -- Route Map: match as-path WORD
3213  -- Route Map: set as-path prepend AS-PATH
3215 \x1f
3216 File: quagga.info,  Node: Private AS Numbers,  Prev: Using AS Path in Route Map,  Up: Autonomous System
3218 9.7.5 Private AS Numbers
3219 ------------------------
3221 \x1f
3222 File: quagga.info,  Node: BGP Communities Attribute,  Next: BGP Extended Communities Attribute,  Prev: Autonomous System,  Up: BGP
3224 9.8 BGP Communities Attribute
3225 =============================
3227 BGP communities attribute is widely used for implementing policy
3228 routing.  Network operators can manipulate BGP communities attribute
3229 based on their network policy.  BGP communities attribute is defined in
3230 `RFC1997, BGP Communities Attribute' and `RFC1998, An Application of
3231 the BGP Community Attribute in Multi-home Routing'.  It is an optional
3232 transitive attribute, therefore local policy can travel through
3233 different autonomous system.
3235    Communities attribute is a set of communities values.  Each
3236 communities value is 4 octet long.  The following format is used to
3237 define communities value.
3239 `AS:VAL'
3240      This format represents 4 octet communities value.  `AS' is high
3241      order 2 octet in digit format.  `VAL' is low order 2 octet in
3242      digit format.  This format is useful to define AS oriented policy
3243      value.  For example, `7675:80' can be used when AS 7675 wants to
3244      pass local policy value 80 to neighboring peer.
3246 `internet'
3247      `internet' represents well-known communities value 0.
3249 `no-export'
3250      `no-export' represents well-known communities value `NO_EXPORT'
3251      (0xFFFFFF01).  All routes carry this value must not be advertised
3252      to outside a BGP confederation boundary.  If neighboring BGP peer
3253      is part of BGP confederation, the peer is considered as inside a
3254      BGP confederation boundary, so the route will be announced to the
3255      peer.
3257 `no-advertise'
3258      `no-advertise' represents well-known communities value
3259      `NO_ADVERTISE'
3260      (0xFFFFFF02).  All routes carry this value must not be advertise
3261      to other BGP peers.
3263 `local-AS'
3264      `local-AS' represents well-known communities value
3265      `NO_EXPORT_SUBCONFED' (0xFFFFFF03).  All routes carry this value
3266      must not be advertised to external BGP peers.  Even if the
3267      neighboring router is part of confederation, it is considered as
3268      external BGP peer, so the route will not be announced to the peer.
3270    When BGP communities attribute is received, duplicated communities
3271 value in the communities attribute is ignored and each communities
3272 values are sorted in numerical order.
3274 * Menu:
3276 * BGP Community Lists::
3277 * Numbered BGP Community Lists::
3278 * BGP Community in Route Map::
3279 * Display BGP Routes by Community::
3280 * Using BGP Communities Attribute::
3282 \x1f
3283 File: quagga.info,  Node: BGP Community Lists,  Next: Numbered BGP Community Lists,  Up: BGP Communities Attribute
3285 9.8.1 BGP Community Lists
3286 -------------------------
3288 BGP community list is a user defined BGP communites attribute list.
3289 BGP community list can be used for matching or manipulating BGP
3290 communities attribute in updates.
3292    There are two types of community list.  One is standard community
3293 list and another is expanded community list.  Standard community list
3294 defines communities attribute.  Expanded community list defines
3295 communities attribute string with regular expression.  Standard
3296 community list is compiled into binary format when user define it.
3297 Standard community list will be directly compared to BGP communities
3298 attribute in BGP updates.  Therefore the comparison is faster than
3299 expanded community list.
3301  -- Command: ip community-list standard NAME {permit|deny} COMMUNITY
3302      This command defines a new standard community list.  COMMUNITY is
3303      communities value.  The COMMUNITY is compiled into community
3304      structure.  We can define multiple community list under same name.
3305      In that case match will happen user defined order.  Once the
3306      community list matches to communities attribute in BGP updates it
3307      return permit or deny by the community list definition.  When
3308      there is no matched entry, deny will be returned.  When COMMUNITY
3309      is empty it matches to any routes.
3311  -- Command: ip community-list expanded NAME {permit|deny} LINE
3312      This command defines a new expanded community list.  LINE is a
3313      string expression of communities attribute.  LINE can include
3314      regular expression to match communities attribute in BGP updates.
3316  -- Command: no ip community-list NAME
3317  -- Command: no ip community-list standard NAME
3318  -- Command: no ip community-list expanded NAME
3319      These commands delete community lists specified by NAME.  All of
3320      community lists shares a single name space.  So community lists
3321      can be removed simpley specifying community lists name.
3323  -- Command: show ip community-list
3324  -- Command: show ip community-list NAME
3325      This command display current community list information.  When
3326      NAME is specified the specified community list's information is
3327      shown.
3329           # show ip community-list
3330           Named Community standard list CLIST
3331               permit 7675:80 7675:100 no-export
3332               deny internet
3333           Named Community expanded list EXPAND
3334               permit :
3336           # show ip community-list CLIST
3337           Named Community standard list CLIST
3338               permit 7675:80 7675:100 no-export
3339               deny internet
3341 \x1f
3342 File: quagga.info,  Node: Numbered BGP Community Lists,  Next: BGP Community in Route Map,  Prev: BGP Community Lists,  Up: BGP Communities Attribute
3344 9.8.2 Numbered BGP Community Lists
3345 ----------------------------------
3347 When number is used for BGP community list name, the number has special
3348 meanings.  Community list number in the range from 1 and 99 is standard
3349 community list.  Community list number in the range from 100 to 199 is
3350 expanded community list.  These community lists are called as numbered
3351 community lists.  On the other hand normal community lists is called as
3352 named community lists.
3354  -- Command: ip community-list <1-99> {permit|deny} COMMUNITY
3355      This command defines a new community list.  <1-99> is standard
3356      community list number.  Community list name within this range
3357      defines standard community list.  When COMMUNITY is empty it
3358      matches to any routes.
3360  -- Command: ip community-list <100-199> {permit|deny} COMMUNITY
3361      This command defines a new community list.  <100-199> is expanded
3362      community list number.  Community list name within this range
3363      defines expanded community list.
3365  -- Command: ip community-list NAME {permit|deny} COMMUNITY
3366      When community list type is not specifed, the community list type
3367      is automatically detected.  If COMMUNITY can be compiled into
3368      communities attribute, the community list is defined as a standard
3369      community list.  Otherwise it is defined as an expanded community
3370      list.  This feature is left for backward compability.  Use of this
3371      feature is not recommended.
3373 \x1f
3374 File: quagga.info,  Node: BGP Community in Route Map,  Next: Display BGP Routes by Community,  Prev: Numbered BGP Community Lists,  Up: BGP Communities Attribute
3376 9.8.3 BGP Community in Route Map
3377 --------------------------------
3379 In Route Map (*note Route Map::), we can match or set BGP communities
3380 attribute.  Using this feature network operator can implement their
3381 network policy based on BGP communities attribute.
3383    Following commands can be used in Route Map.
3385  -- Route Map: match community WORD
3386  -- Route Map: match community WORD exact-match
3387      This command perform match to BGP updates using community list
3388      WORD.  When the one of BGP communities value match to the one of
3389      communities value in community list, it is match.  When
3390      `exact-match' keyword is spcified, match happen only when BGP
3391      updates have completely same communities value specified in the
3392      community list.
3394  -- Route Map: set community none
3395  -- Route Map: set community COMMUNITY
3396  -- Route Map: set community COMMUNITY additive
3397      This command manipulate communities value in BGP updates.  When
3398      `none' is specified as communities value, it removes entire
3399      communities attribute from BGP updates.  When COMMUNITY is not
3400      `none', specified communities value is set to BGP updates.  If BGP
3401      updates already has BGP communities value, the existing BGP
3402      communities value is replaced with specified COMMUNITY value.
3403      When `additive' keyword is specified, COMMUNITY is appended to the
3404      existing communities value.
3406  -- Route Map: set comm-list WORD delete
3407      This command remove communities value from BGP communities
3408      attribute.  The WORD is community list name.  When BGP route's
3409      communities value matches to the community list WORD, the
3410      communities value is removed.  When all of communities value is
3411      removed eventually, the BGP update's communities attribute is
3412      completely removed.
3414 \x1f
3415 File: quagga.info,  Node: Display BGP Routes by Community,  Next: Using BGP Communities Attribute,  Prev: BGP Community in Route Map,  Up: BGP Communities Attribute
3417 9.8.4 Display BGP Routes by Community
3418 -------------------------------------
3420 To show BGP routes which has specific BGP communities attribute, `show
3421 ip bgp' command can be used.  The COMMUNITY value and community list
3422 can be used for `show ip bgp' command.
3424  -- Command: show ip bgp community
3425  -- Command: show ip bgp community COMMUNITY
3426  -- Command: show ip bgp community COMMUNITY exact-match
3427      `show ip bgp community' displays BGP routes which has communities
3428      attribute.  When COMMUNITY is specified, BGP routes that matches
3429      COMMUNITY value is displayed.  For this command, `internet'
3430      keyword can't be used for COMMUNITY value.  When `exact-match' is
3431      specified, it display only routes that have an exact match.
3433  -- Command: show ip bgp community-list WORD
3434  -- Command: show ip bgp community-list WORD exact-match
3435      This commands display BGP routes that matches community list WORD.
3436      When `exact-match' is specified, display only routes that have an
3437      exact match.
3439 \x1f
3440 File: quagga.info,  Node: Using BGP Communities Attribute,  Prev: Display BGP Routes by Community,  Up: BGP Communities Attribute
3442 9.8.5 Using BGP Communities Attribute
3443 -------------------------------------
3445 Following configuration is the most typical usage of BGP communities
3446 attribute.  AS 7675 provides upstream Internet connection to AS 100.
3447 When following configuration exists in AS 7675, AS 100 networks
3448 operator can set local preference in AS 7675 network by setting BGP
3449 communities attribute to the updates.
3451      router bgp 7675
3452       neighbor 192.168.0.1 remote-as 100
3453       neighbor 192.168.0.1 route-map RMAP in
3454      !
3455      ip community-list 70 permit 7675:70
3456      ip community-list 70 deny
3457      ip community-list 80 permit 7675:80
3458      ip community-list 80 deny
3459      ip community-list 90 permit 7675:90
3460      ip community-list 90 deny
3461      !
3462      route-map RMAP permit 10
3463       match community 70
3464       set local-preference 70
3465      !
3466      route-map RMAP permit 20
3467       match community 80
3468       set local-preference 80
3469      !
3470      route-map RMAP permit 30
3471       match community 90
3472       set local-preference 90
3474    Following configuration announce 10.0.0.0/8 from AS 100 to AS 7675.
3475 The route has communities value 7675:80 so when above configuration
3476 exists in AS 7675, announced route's local preference will be set to
3477 value 80.
3479      router bgp 100
3480       network 10.0.0.0/8
3481       neighbor 192.168.0.2 remote-as 7675
3482       neighbor 192.168.0.2 route-map RMAP out
3483      !
3484      ip prefix-list PLIST permit 10.0.0.0/8
3485      !
3486      route-map RMAP permit 10
3487       match ip address prefix-list PLIST
3488       set community 7675:80
3490    Following configuration is an example of BGP route filtering using
3491 communities attribute.  This configuration only permit BGP routes which
3492 has BGP communities value 0:80 or 0:90.  Network operator can put
3493 special internal communities value at BGP border router, then limit the
3494 BGP routes announcement into the internal network.
3496      router bgp 7675
3497       neighbor 192.168.0.1 remote-as 100
3498       neighbor 192.168.0.1 route-map RMAP in
3499      !
3500      ip community-list 1 permit 0:80 0:90
3501      !
3502      route-map RMAP permit in
3503       match community 1
3505    Following exmaple filter BGP routes which has communities value 1:1.
3506 When there is no match community-list returns deny.  To avoid filtering
3507 all of routes, we need to define permit any at last.
3509      router bgp 7675
3510       neighbor 192.168.0.1 remote-as 100
3511       neighbor 192.168.0.1 route-map RMAP in
3512      !
3513      ip community-list standard FILTER deny 1:1
3514      ip community-list standard FILTER permit
3515      !
3516      route-map RMAP permit 10
3517       match community FILTER
3519    Communities value keyword `internet' has special meanings in
3520 standard community lists.  In below example `internet' act as match
3521 any.  It matches all of BGP routes even if the route does not have
3522 communities attribute at all.  So community list `INTERNET' is same as
3523 above example's `FILTER'.
3525      ip community-list standard INTERNET deny 1:1
3526      ip community-list standard INTERNET permit internet
3528    Following configuration is an example of communities value deletion.
3529 With this configuration communities value 100:1 and 100:2 is removed
3530 from BGP updates.  For communities value deletion, only `permit'
3531 community-list is used.  `deny' community-list is ignored.
3533      router bgp 7675
3534       neighbor 192.168.0.1 remote-as 100
3535       neighbor 192.168.0.1 route-map RMAP in
3536      !
3537      ip community-list standard DEL permit 100:1 100:2
3538      !
3539      route-map RMAP permit 10
3540       set comm-list DEL delete
3542 \x1f
3543 File: quagga.info,  Node: BGP Extended Communities Attribute,  Next: Displaying BGP routes,  Prev: BGP Communities Attribute,  Up: BGP
3545 9.9 BGP Extended Communities Attribute
3546 ======================================
3548 BGP extended communities attribute is introduced with MPLS VPN/BGP
3549 technology.  MPLS VPN/BGP expands capability of network infrastructure
3550 to provide VPN functionality.  At the same time it requires a new
3551 framework for policy routing.  With BGP Extended Communities Attribute
3552 we can use Route Target or Site of Origin for implementing network
3553 policy for MPLS VPN/BGP.
3555    BGP Extended Communities Attribute is similar to BGP Communities
3556 Attribute.  It is an optional transitive attribute.  BGP Extended
3557 Communities Attribute can carry multiple Extended Community value.
3558 Each Extended Community value is eight octet length.
3560    BGP Extended Communities Attribute provides an extended range
3561 compared with BGP Communities Attribute.  Adding to that there is a
3562 type field in each value to provides community space structure.
3564    There are two format to define Extended Community value.  One is AS
3565 based format the other is IP address based format.
3567 `AS:VAL'
3568      This is a format to define AS based Extended Community value.
3569      `AS' part is 2 octets Global Administrator subfield in Extended
3570      Community value.  `VAL' part is 4 octets Local Administrator
3571      subfield.  `7675:100' represents AS 7675 policy value 100.
3573 `IP-Address:VAL'
3574      This is a format to define IP address based Extended Community
3575      value.  `IP-Address' part is 4 octets Global Administrator
3576      subfield.  `VAL' part is 2 octets Local Administrator subfield.
3577      `10.0.0.1:100' represents
3579 * Menu:
3581 * BGP Extended Community Lists::
3582 * BGP Extended Communities in Route Map::
3584 \x1f
3585 File: quagga.info,  Node: BGP Extended Community Lists,  Next: BGP Extended Communities in Route Map,  Up: BGP Extended Communities Attribute
3587 9.9.1 BGP Extended Community Lists
3588 ----------------------------------
3590 Expanded Community Lists is a user defined BGP Expanded Community Lists.
3592  -- Command: ip extcommunity-list standard NAME {permit|deny}
3593 EXTCOMMUNITY
3594      This command defines a new standard extcommunity-list.
3595      EXTCOMMUNITY is extended communities value.  The EXTCOMMUNITY is
3596      compiled into extended community structure.  We can define
3597      multiple extcommunity-list under same name.  In that case match
3598      will happen user defined order.  Once the extcommunity-list
3599      matches to extended communities attribute in BGP updates it return
3600      permit or deny based upon the extcommunity-list definition.  When
3601      there is no matched entry, deny will be returned.  When
3602      EXTCOMMUNITY is empty it matches to any routes.
3604  -- Command: ip extcommunity-list expanded NAME {permit|deny} LINE
3605      This command defines a new expanded extcommunity-list.  LINE is a
3606      string expression of extended communities attribute.  LINE can
3607      include regular expression to match extended communities attribute
3608      in BGP updates.
3610  -- Command: no ip extcommunity-list NAME
3611  -- Command: no ip extcommunity-list standard NAME
3612  -- Command: no ip extcommunity-list expanded NAME
3613      These commands delete extended community lists specified by NAME.
3614      All of extended community lists shares a single name space.  So
3615      extended community lists can be removed simpley specifying the
3616      name.
3618  -- Command: show ip extcommunity-list
3619  -- Command: show ip extcommunity-list NAME
3620      This command display current extcommunity-list information.  When
3621      NAME is specified the community list's information is shown.
3623           # show ip extcommunity-list
3625 \x1f
3626 File: quagga.info,  Node: BGP Extended Communities in Route Map,  Prev: BGP Extended Community Lists,  Up: BGP Extended Communities Attribute
3628 9.9.2 BGP Extended Communities in Route Map
3629 -------------------------------------------
3631  -- Route Map: match extcommunity WORD
3633  -- Route Map: set extcommunity rt EXTCOMMUNITY
3634      This command set Route Target value.
3636  -- Route Map: set extcommunity soo EXTCOMMUNITY
3637      This command set Site of Origin value.
3639 \x1f
3640 File: quagga.info,  Node: Displaying BGP routes,  Next: Capability Negotiation,  Prev: BGP Extended Communities Attribute,  Up: BGP
3642 9.10 Displaying BGP Routes
3643 ==========================
3645 * Menu:
3647 * Show IP BGP::
3648 * More Show IP BGP::
3650 \x1f
3651 File: quagga.info,  Node: Show IP BGP,  Next: More Show IP BGP,  Up: Displaying BGP routes
3653 9.10.1 Show IP BGP
3654 ------------------
3656  -- Command: show ip bgp
3657  -- Command: show ip bgp A.B.C.D
3658  -- Command: show ip bgp X:X::X:X
3659      This command displays BGP routes.  When no route is specified it
3660      display all of IPv4 BGP routes.
3662      BGP table version is 0, local router ID is 10.1.1.1
3663      Status codes: s suppressed, d damped, h history, * valid, > best, i - internal
3664      Origin codes: i - IGP, e - EGP, ? - incomplete
3666         Network          Next Hop            Metric LocPrf Weight Path
3667      *> 1.1.1.1/32       0.0.0.0                  0         32768 i
3669      Total number of prefixes 1
3671 \x1f
3672 File: quagga.info,  Node: More Show IP BGP,  Prev: Show IP BGP,  Up: Displaying BGP routes
3674 9.10.2 More Show IP BGP
3675 -----------------------
3677  -- Command: show ip bgp regexp LINE
3678      This command display BGP routes using AS path regular expression
3679      (*note Display BGP Routes by AS Path::).
3681  -- Command: show ip bgp community COMMUNITY
3682  -- Command: show ip bgp community COMMUNITY exact-match
3683      This command display BGP routes using COMMUNITY (*note Display BGP
3684      Routes by Community::).
3686  -- Command: show ip bgp community-list WORD
3687  -- Command: show ip bgp community-list WORD exact-match
3688      This command display BGP routes using community list (*note
3689      Display BGP Routes by Community::).
3691  -- Command: show ip bgp summary
3693  -- Command: show ip bgp neighbor [PEER]
3695  -- Command: clear ip bgp PEER
3696      Clear peers which have addresses of X.X.X.X
3698  -- Command: clear ip bgp PEER soft in
3699      Clear peer using soft reconfiguration.
3701  -- Command: show debug
3703  -- Command: debug event
3705  -- Command: debug update
3707  -- Command: debug keepalive
3709  -- Command: no debug event
3711  -- Command: no debug update
3713  -- Command: no debug keepalive
3715 \x1f
3716 File: quagga.info,  Node: Capability Negotiation,  Next: Route Reflector,  Prev: Displaying BGP routes,  Up: BGP
3718 9.11 Capability Negotiation
3719 ===========================
3721 When adding IPv6 routing information exchange feature to BGP.  There
3722 were some proposals.  IETF (Internet Engineering Task Force) IDR (Inter
3723 Domain Routing) WG (Working group) adopted a proposal called
3724 Multiprotocol Extension for BGP.  The specification is described in
3725 `RFC2283'.  The protocol does not define new protocols.  It defines new
3726 attributes to existing BGP.  When it is used exchanging IPv6 routing
3727 information it is called BGP-4+.  When it is used for exchanging
3728 multicast routing information it is called MBGP.
3730    `bgpd' supports Multiprotocol Extension for BGP.  So if remote peer
3731 supports the protocol, `bgpd' can exchange IPv6 and/or multicast
3732 routing information.
3734    Traditional BGP did not have the feature to detect remote peer's
3735 capabilities, e.g. whether it can handle prefix types other than IPv4
3736 unicast routes.  This was a big problem using Multiprotocol Extension
3737 for BGP to operational network.  `RFC2842, Capabilities Advertisement
3738 with BGP-4' adopted a feature called Capability Negotiation. `bgpd' use
3739 this Capability Negotiation to detect the remote peer's capabilities.
3740 If the peer is only configured as IPv4 unicast neighbor, `bgpd' does
3741 not send these Capability Negotiation packets (at least not unless
3742 other optional BGP features require capability negotation).
3744    By default, Quagga will bring up peering with minimal common
3745 capability for the both sides.  For example, local router has unicast
3746 and multicast capabilitie and remote router has unicast capability.  In
3747 this case, the local router will establish the connection with unicast
3748 only capability. When there are no common capabilities, Quagga sends
3749 Unsupported Capability error and then resets the connection.
3751    If you want to completely match capabilities with remote peer.
3752 Please use `strict-capability-match' command.
3754  -- BGP: neighbor PEER strict-capability-match
3755  -- BGP: no neighbor PEER strict-capability-match
3756      Strictly compares remote capabilities and local capabilities.  If
3757      capabilities are different, send Unsupported Capability error then
3758      reset connection.
3760    You may want to disable sending Capability Negotiation OPEN message
3761 optional parameter to the peer when remote peer does not implement
3762 Capability Negotiation.  Please use `dont-capability-negotiate' command
3763 to disable the feature.
3765  -- BGP: neighbor PEER dont-capability-negotiate
3766  -- BGP: no neighbor PEER dont-capability-negotiate
3767      Suppress sending Capability Negotiation as OPEN message optional
3768      parameter to the peer.  This command only affects the peer is
3769      configured other than IPv4 unicast configuration.
3771    When remote peer does not have capability negotiation feature, remote
3772 peer will not send any capabilities at all.  In that case, bgp
3773 configures the peer with configured capabilities.
3775    You may prefer locally configured capabilities more than the
3776 negotiated capabilities even though remote peer sends capabilities.  If
3777 the peer is configured by `override-capability', `bgpd' ignores
3778 received capabilities then override negotiated capabilities with
3779 configured values.
3781  -- BGP: neighbor PEER override-capability
3782  -- BGP: no neighbor PEER override-capability
3783      Override the result of Capability Negotiation with local
3784      configuration.  Ignore remote peer's capability value.
3786 \x1f
3787 File: quagga.info,  Node: Route Reflector,  Next: Route Server,  Prev: Capability Negotiation,  Up: BGP
3789 9.12 Route Reflector
3790 ====================
3792  -- BGP: bgp cluster-id A.B.C.D
3794  -- BGP: neighbor PEER route-reflector-client
3795  -- BGP: no neighbor PEER route-reflector-client
3797 \x1f
3798 File: quagga.info,  Node: Route Server,  Next: How to set up a 6-Bone connection,  Prev: Route Reflector,  Up: BGP
3800 9.13 Route Server
3801 =================
3803 At an Internet Exchange point, many ISPs are connected to each other by
3804 external BGP peering.  Normally these external BGP connection are done
3805 by `full mesh' method.  As with internal BGP full mesh formation, this
3806 method has a scaling problem.
3808    This scaling problem is well known.  Route Server is a method to
3809 resolve the problem.  Each ISP's BGP router only peers to Route Server.
3810 Route Server serves as BGP information exchange to other BGP routers.
3811 By applying this method, numbers of BGP connections is reduced from
3812 O(n*(n-1)/2) to O(n).
3814    Unlike normal BGP router, Route Server must have several routing
3815 tables for managing different routing policies for each BGP speaker.
3816 We call the routing tables as different `view's.  `bgpd' can work as
3817 normal BGP router or Route Server or both at the same time.
3819 * Menu:
3821 * Multiple instance::
3822 * BGP instance and view::
3823 * Routing policy::
3824 * Viewing the view::
3826 \x1f
3827 File: quagga.info,  Node: Multiple instance,  Next: BGP instance and view,  Up: Route Server
3829 9.13.1 Multiple instance
3830 ------------------------
3832 To enable multiple view function of `bgpd', you must turn on multiple
3833 instance feature beforehand.
3835  -- Command: bgp multiple-instance
3836      Enable BGP multiple instance feature.  After this feature is
3837      enabled, you can make multiple BGP instances or multiple BGP views.
3839  -- Command: no bgp multiple-instance
3840      Disable BGP multiple instance feature.  You can not disable this
3841      feature when BGP multiple instances or views exist.
3843    When you want to make configuration more Cisco like one,
3845  -- Command: bgp config-type cisco
3846      Cisco compatible BGP configuration output.
3848    When bgp config-type cisco is specified,
3850    "no synchronization" is displayed.  "no auto-summary" is desplayed.
3852    "network" and "aggregate-address" argument is displayed as "A.B.C.D
3853 M.M.M.M"
3855    Quagga: network 10.0.0.0/8 Cisco: network 10.0.0.0
3857    Quagga: aggregate-address 192.168.0.0/24 Cisco: aggregate-address
3858 192.168.0.0 255.255.255.0
3860    Community attribute handling is also different.  If there is no
3861 configuration is specified community attribute and extended community
3862 attribute are sent to neighbor.  When user manually disable the feature
3863 community attribute is not sent to the neighbor.  In case of `bgp
3864 config-type cisco' is specified, community attribute is not sent to the
3865 neighbor by default.  To send community attribute user has to specify
3866 `neighbor A.B.C.D send-community' command.
3868      !
3869      router bgp 1
3870       neighbor 10.0.0.1 remote-as 1
3871       no neighbor 10.0.0.1 send-community
3872      !
3873      router bgp 1
3874       neighbor 10.0.0.1 remote-as 1
3875       neighbor 10.0.0.1 send-community
3876      !
3878  -- Command: bgp config-type zebra
3879      Quagga style BGP configuration.  This is default.
3881 \x1f
3882 File: quagga.info,  Node: BGP instance and view,  Next: Routing policy,  Prev: Multiple instance,  Up: Route Server
3884 9.13.2 BGP instance and view
3885 ----------------------------
3887 BGP instance is a normal BGP process.  The result of route selection
3888 goes to the kernel routing table.  You can setup different AS at the
3889 same time when BGP multiple instance feature is enabled.
3891  -- Command: router bgp AS-NUMBER
3892      Make a new BGP instance.  You can use arbitrary word for the NAME.
3894      bgp multiple-instance
3895      !
3896      router bgp 1
3897       neighbor 10.0.0.1 remote-as 2
3898       neighbor 10.0.0.2 remote-as 3
3899      !
3900      router bgp 2
3901       neighbor 10.0.0.3 remote-as 4
3902       neighbor 10.0.0.4 remote-as 5
3904    BGP view is almost same as normal BGP process. The result of route
3905 selection does not go to the kernel routing table.  BGP view is only
3906 for exchanging BGP routing information.
3908  -- Command: router bgp AS-NUMBER view NAME
3909      Make a new BGP view.  You can use arbitrary word for the NAME.
3910      This view's route selection result does not go to the kernel
3911      routing table.
3913    With this command, you can setup Route Server like below.
3915      bgp multiple-instance
3916      !
3917      router bgp 1 view 1
3918       neighbor 10.0.0.1 remote-as 2
3919       neighbor 10.0.0.2 remote-as 3
3920      !
3921      router bgp 2 view 2
3922       neighbor 10.0.0.3 remote-as 4
3923       neighbor 10.0.0.4 remote-as 5
3925 \x1f
3926 File: quagga.info,  Node: Routing policy,  Next: Viewing the view,  Prev: BGP instance and view,  Up: Route Server
3928 9.13.3 Routing policy
3929 ---------------------
3931 You can set different routing policy for a peer.  For example, you can
3932 set different filter for a peer.
3934      bgp multiple-instance
3935      !
3936      router bgp 1 view 1
3937       neighbor 10.0.0.1 remote-as 2
3938       neighbor 10.0.0.1 distribute-list 1 in
3939      !
3940      router bgp 1 view 2
3941       neighbor 10.0.0.1 remote-as 2
3942       neighbor 10.0.0.1 distribute-list 2 in
3944    This means BGP update from a peer 10.0.0.1 goes to both BGP view 1
3945 and view 2.  When the update is inserted into view 1, distribute-list 1
3946 is applied.  On the other hand, when the update is inserted into view 2,
3947 distribute-list 2 is applied.
3949 \x1f
3950 File: quagga.info,  Node: Viewing the view,  Prev: Routing policy,  Up: Route Server
3952 9.13.4 Viewing the view
3953 -----------------------
3955 To display routing table of BGP view, you must specify view name.
3957  -- Command: show ip bgp view NAME
3958      Display routing table of BGP view NAME.
3960 \x1f
3961 File: quagga.info,  Node: How to set up a 6-Bone connection,  Next: Dump BGP packets and table,  Prev: Route Server,  Up: BGP
3963 9.14 How to set up a 6-Bone connection
3964 ======================================
3966      zebra configuration
3967      ===================
3968      !
3969      ! Actually there is no need to configure zebra
3970      !
3972      bgpd configuration
3973      ==================
3974      !
3975      ! This means that routes go through zebra and into the kernel.
3976      !
3977      router zebra
3978      !
3979      ! MP-BGP configuration
3980      !
3981      router bgp 7675
3982       bgp router-id 10.0.0.1
3983       neighbor 3ffe:1cfa:0:2:2a0:c9ff:fe9e:f56 remote-as AS-NUMBER
3984      !
3985       address-family ipv6
3986       network 3ffe:506::/32
3987       neighbor 3ffe:1cfa:0:2:2a0:c9ff:fe9e:f56 activate
3988       neighbor 3ffe:1cfa:0:2:2a0:c9ff:fe9e:f56 route-map set-nexthop out
3989       neighbor 3ffe:1cfa:0:2:2c0:4fff:fe68:a231 remote-as AS-NUMBER
3990       neighbor 3ffe:1cfa:0:2:2c0:4fff:fe68:a231 route-map set-nexthop out
3991       exit-address-family
3992      !
3993      ipv6 access-list all permit any
3994      !
3995      ! Set output nexthop address.
3996      !
3997      route-map set-nexthop permit 10
3998       match ipv6 address all
3999       set ipv6 nexthop global 3ffe:1cfa:0:2:2c0:4fff:fe68:a225
4000       set ipv6 nexthop local fe80::2c0:4fff:fe68:a225
4001      !
4002      ! logfile FILENAME is obsolete.  Please use log file FILENAME
4004      log file bgpd.log
4005      !
4007 \x1f
4008 File: quagga.info,  Node: Dump BGP packets and table,  Next: BGP Configuration Examples,  Prev: How to set up a 6-Bone connection,  Up: BGP
4010 9.15 Dump BGP packets and table
4011 ===============================
4013  -- Command: dump bgp all PATH
4014  -- Command: dump bgp all PATH INTERVAL
4015      Dump all BGP packet and events to PATH file.
4017  -- Command: dump bgp updates PATH
4018  -- Command: dump bgp updates PATH INTERVAL
4019      Dump BGP updates to PATH file.
4021  -- Command: dump bgp routes PATH
4022  -- Command: dump bgp routes PATH
4023      Dump whole BGP routing table to PATH.  This is heavy process.
4025 \x1f
4026 File: quagga.info,  Node: BGP Configuration Examples,  Prev: Dump BGP packets and table,  Up: BGP
4028 9.16 BGP Configuration Examples
4029 ===============================
4031 Example of a session to an upstream, advertising only one prefix to it.
4033      router bgp 64512
4034       bgp router-id 10.236.87.1
4035       network 10.236.87.0/24
4036       neighbor upstream peer-group
4037       neighbor upstream remote-as 64515
4038       neighbor upstream capability dynamic
4039       neighbor upstream prefix-list pl-allowed-adv out
4040       neighbor 10.1.1.1 peer-group upstream
4041       neighbor 10.1.1.1 description ACME ISP
4042      !
4043      ip prefix-list pl-allowed-adv seq 5 permit 82.195.133.0/25
4044      ip prefix-list pl-allowed-adv seq 10 deny any
4046    A more complex example. With upstream, peer and customer sessions.
4047 Advertising global prefixes and NO_EXPORT prefixes and providing
4048 actions for customer routes based on community values. Extensive use of
4049 route-maps and the 'call' feature to support selective advertising of
4050 prefixes. This example is intended as guidance only, it has NOT been
4051 tested and almost certainly containts silly mistakes, if not serious
4052 flaws.
4054      router bgp 64512
4055       bgp router-id 10.236.87.1
4056       network 10.123.456.0/24
4057       network 10.123.456.128/25 route-map rm-no-export
4058       neighbor upstream capability dynamic
4059       neighbor upstream route-map rm-upstream-out out
4060       neighbor cust capability dynamic
4061       neighbor cust route-map rm-cust-in in
4062       neighbor cust route-map rm-cust-out out
4063       neighbor cust send-community both
4064       neighbor peer capability dynamic
4065       neighbor peer route-map rm-peer-in in
4066       neighbor peer route-map rm-peer-out out
4067       neighbor peer send-community both
4068       neighbor 10.1.1.1 remote-as 64515
4069       neighbor 10.1.1.1 peer-group upstream
4070       neighbor 10.2.1.1 remote-as 64516
4071       neighbor 10.2.1.1 peer-group upstream
4072       neighbor 10.3.1.1 remote-as 64517
4073       neighbor 10.3.1.1 peer-group cust-default
4074       neighbor 10.3.1.1 description customer1
4075       neighbor 10.3.1.1 prefix-list pl-cust1-network in
4076       neighbor 10.4.1.1 remote-as 64518
4077       neighbor 10.4.1.1 peer-group cust
4078       neighbor 10.4.1.1 prefix-list pl-cust2-network in
4079       neighbor 10.4.1.1 description customer2
4080       neighbor 10.5.1.1 remote-as 64519
4081       neighbor 10.5.1.1 peer-group peer
4082       neighbor 10.5.1.1 prefix-list pl-peer1-network in
4083       neighbor 10.5.1.1 description peer AS 1
4084       neighbor 10.6.1.1 remote-as 64520
4085       neighbor 10.6.1.1 peer-group peer
4086       neighbor 10.6.1.1 prefix-list pl-peer2-network in
4087       neighbor 10.6.1.1 description peer AS 2
4088      !
4089      ip prefix-list pl-default permit 0.0.0.0/0
4090      !
4091      ip prefix-list pl-upstream-peers permit 10.1.1.1/32
4092      ip prefix-list pl-upstream-peers permit 10.2.1.1/32
4093      !
4094      ip prefix-list pl-cust1-network permit 10.3.1.0/24
4095      ip prefix-list pl-cust1-network permit 10.3.2.0/24
4096      !
4097      ip prefix-list pl-cust2-network permit 10.4.1.0/24
4098      !
4099      ip prefix-list pl-peer1-network permit 10.5.1.0/24
4100      ip prefix-list pl-peer1-network permit 10.5.2.0/24
4101      ip prefix-list pl-peer1-network permit 192.168.0.0/24
4102      !
4103      ip prefix-list pl-peer2-network permit 10.6.1.0/24
4104      ip prefix-list pl-peer2-network permit 10.6.2.0/24
4105      ip prefix-list pl-peer2-network permit 192.168.1.0/24
4106      ip prefix-list pl-peer2-network permit 192.168.2.0/24
4107      ip prefix-list pl-peer2-network permit 172.16.1/24
4108      !
4109      ip as-path access-list asp-own-as permit ^$
4110      ip as-path access-list asp-own-as permit _64512_
4111      !
4112      ! #################################################################
4113      ! Match communities we provide actions for, on routes receives from
4114      ! customers. Communities values of <our-ASN>:X, with X, have actions:
4115      !
4116      ! 100 - blackhole the prefix
4117      ! 200 - set no_export
4118      ! 300 - advertise only to other customers
4119      ! 400 - advertise only to upstreams
4120      ! 500 - set no_export when advertising to upstreams
4121      ! 2X00 - set local_preference to X00
4122      !
4123      ! blackhole the prefix of the route
4124      ip community-list standard cm-blackhole permit 64512:100
4125      !
4126      ! set no-export community before advertising
4127      ip community-list standard cm-set-no-export permit 64512:200
4128      !
4129      ! advertise only to other customers
4130      ip community-list standard cm-cust-only permit 64512:300
4131      !
4132      ! advertise only to upstreams
4133      ip community-list standard cm-upstream-only permit 64512:400
4134      !
4135      ! advertise to upstreams with no-export
4136      ip community-list standard cm-upstream-noexport permit 64512:500
4137      !
4138      ! set local-pref to least significant 3 digits of the community
4139      ip community-list standard cm-prefmod-100 permit 64512:2100
4140      ip community-list standard cm-prefmod-200 permit 64512:2200
4141      ip community-list standard cm-prefmod-300 permit 64512:2300
4142      ip community-list standard cm-prefmod-400 permit 64512:2400
4143      ip community-list expanded cme-prefmod-range permit 64512:2...
4144      !
4145      ! Informational communities
4146      !
4147      ! 3000 - learned from upstream
4148      ! 3100 - learned from customer
4149      ! 3200 - learned from peer
4150      !
4151      ip community-list standard cm-learnt-upstream permit 64512:3000
4152      ip community-list standard cm-learnt-cust permit 64512:3100
4153      ip community-list standard cm-learnt-peer permit 64512:3200
4154      !
4155      ! ###################################################################
4156      ! Utility route-maps
4157      !
4158      ! These utility route-maps generally should not used to permit/deny
4159      ! routes, i.e. they do not have meaning as filters, and hence probably
4160      ! should be used with 'on-match next'. These all finish with an empty
4161      ! permit entry so as not interfere with processing in the caller.
4162      !
4163      route-map rm-no-export permit 10
4164       set community additive no-export
4165      route-map rm-no-export permit 20
4166      !
4167      route-map rm-blackhole permit 10
4168       description blackhole, up-pref and ensure it cant escape this AS
4169       set ip next-hop 127.0.0.1
4170       set local-preference 10
4171       set community additive no-export
4172      route-map rm-blackhole permit 20
4173      !
4174      ! Set local-pref as requested
4175      route-map rm-prefmod permit 10
4176       match community cm-prefmod-100
4177       set local-preference 100
4178      route-map rm-prefmod permit 20
4179       match community cm-prefmod-200
4180       set local-preference 200
4181      route-map rm-prefmod permit 30
4182       match community cm-prefmod-300
4183       set local-preference 300
4184      route-map rm-prefmod permit 40
4185       match community cm-prefmod-400
4186       set local-preference 400
4187      route-map rm-prefmod permit 50
4188      !
4189      ! Community actions to take on receipt of route.
4190      route-map rm-community-in permit 10
4191       description check for blackholing, no point continuing if it matches.
4192       match community cm-blackhole
4193       call rm-blackhole
4194      route-map rm-community-in permit 20
4195       match community cm-set-no-export
4196       call rm-no-export
4197       on-match next
4198      route-map rm-community-in permit 30
4199       match community cme-prefmod-range
4200       call rm-prefmod
4201      route-map rm-community-in permit 40
4202      !
4203      ! #####################################################################
4204      ! Community actions to take when advertising a route.
4205      ! These are filtering route-maps,
4206      !
4207      ! Deny customer routes to upstream with cust-only set.
4208      route-map rm-community-filt-to-upstream deny 10
4209       match community cm-learnt-cust
4210       match community cm-cust-only
4211      route-map rm-community-filt-to-upstream permit 20
4212      !
4213      ! Deny customer routes to other customers with upstream-only set.
4214      route-map rm-community-filt-to-cust deny 10
4215       match community cm-learnt-cust
4216       match community cm-upstream-only
4217      route-map rm-community-filt-to-cust permit 20
4218      !
4219      ! ###################################################################
4220      ! The top-level route-maps applied to sessions. Further entries could
4221      ! be added obviously..
4222      !
4223      ! Customers
4224      route-map rm-cust-in permit 10
4225       call rm-community-in
4226       on-match next
4227      route-map rm-cust-in permit 20
4228       set community additive 64512:3100
4229      route-map rm-cust-in permit 30
4230      !
4231      route-map rm-cust-out permit 10
4232       call rm-community-filt-to-cust
4233       on-match next
4234      route-map rm-cust-out permit 20
4235      !
4236      ! Upstream transit ASes
4237      route-map rm-upstream-out permit 10
4238       description filter customer prefixes which are marked cust-only
4239       call rm-community-filt-to-upstream
4240       on-match next
4241      route-map rm-upstream-out permit 20
4242       description only customer routes are provided to upstreams/peers
4243       match community cm-learnt-cust
4244      !
4245      ! Peer ASes
4246      ! outbound policy is same as for upstream
4247      route-map rm-peer-out permit 10
4248       call rm-upstream-out
4249      !
4250      route-map rm-peer-in permit 10
4251       set community additive 64512:3200
4253 \x1f
4254 File: quagga.info,  Node: Configuring Quagga as a Route Server,  Next: VTY shell,  Prev: BGP,  Up: Top
4256 10 Configuring Quagga as a Route Server
4257 ***************************************
4259 The purpose of a Route Server is to centralize the peerings between BGP
4260 speakers. For example if we have an exchange point scenario with four
4261 BGP speakers, each of which maintaining a BGP peering with the other
4262 three (*note fig:full-mesh::), we can convert it into a centralized
4263 scenario where each of the four establishes a single BGP peering
4264 against the Route Server (*note fig:route-server::).
4266    We will first describe briefly the Route Server model implemented by
4267 Quagga.  We will explain the commands that have been added for
4268 configuring that model. And finally we will show a full example of
4269 Quagga configured as Route Server.
4271 * Menu:
4273 * Description of the Route Server model::
4274 * Commands for configuring a Route Server::
4275 * Example of Route Server Configuration::
4277 \x1f
4278 File: quagga.info,  Node: Description of the Route Server model,  Next: Commands for configuring a Route Server,  Up: Configuring Quagga as a Route Server
4280 10.1 Description of the Route Server model
4281 ==========================================
4283 First we are going to describe the normal processing that BGP
4284 announcements suffer inside a standard BGP speaker, as shown in *Note
4285 fig:normal-processing::, it consists of three steps:
4287    * When an announcement is received from some peer, the `In' filters
4288      configured for that peer are applied to the announcement. These
4289      filters can reject the announcement, accept it unmodified, or
4290      accept it with some of its attributes modified.
4292    * The announcements that pass the `In' filters go into the Best Path
4293      Selection process, where they are compared to other announcements
4294      referred to the same destination that have been received from
4295      different peers (in case such other announcements exist). For each
4296      different destination, the announcement which is selected as the
4297      best is inserted into the BGP speaker's Loc-RIB.
4299    * The routes which are inserted in the Loc-RIB are considered for
4300      announcement to all the peers (except the one from which the route
4301      came). This is done by passing the routes in the Loc-RIB through
4302      the `Out' filters corresponding to each peer. These filters can
4303      reject the route, accept it unmodified, or accept it with some of
4304      its attributes modified. Those routes which are accepted by the
4305      `Out' filters of a peer are announced to that peer.
4307  Figure 10.1: Announcement processing inside a "normal" BGP speaker
4309  Figure 10.2: Full Mesh
4311  Figure 10.3: Route Server and clients
4313    Of course we want that the routing tables obtained in each of the
4314 routers are the same when using the route server than when not. But as
4315 a consequence of having a single BGP peering (against the route
4316 server), the BGP speakers can no longer distinguish from/to which peer
4317 each announce comes/goes.  This means that the routers connected to the
4318 route server are not able to apply by themselves the same input/output
4319 filters as in the full mesh scenario, so they have to delegate those
4320 functions to the route server.
4322    Even more, the "best path" selection must be also performed inside
4323 the route server on behalf of its clients. The reason is that if, after
4324 applying the filters of the announcer and the (potential) receiver, the
4325 route server decides to send to some client two or more different
4326 announcements referred to the same destination, the client will only
4327 retain the last one, considering it as an implicit withdrawal of the
4328 previous announcements for the same destination. This is the expected
4329 behavior of a BGP speaker as defined in `RFC1771', and even though
4330 there are some proposals of mechanisms that permit multiple paths for
4331 the same destination to be sent through a single BGP peering, none of
4332 them are currently supported by most of the existing BGP
4333 implementations.
4335    As a consequence a route server must maintain additional information
4336 and perform additional tasks for a RS-client that those necessary for
4337 common BGP peerings. Essentially a route server must:
4339    * Maintain a separated Routing Information Base (Loc-RIB) for each
4340      peer configured as RS-client, containing the routes selected as a
4341      result of the "Best Path Selection" process that is performed on
4342      behalf of that RS-client.
4344    * Whenever it receives an announcement from a RS-client, it must
4345      consider it for the Loc-RIBs of the other RS-clients.
4347         * This means that for each of them the route server must pass
4348           the announcement through the appropriate `Out' filter of the
4349           announcer.
4351         * Then through the  appropriate `In' filter of the potential
4352           receiver.
4354         * Only if the announcement is accepted by both filters it will
4355           be passed to the "Best Path Selection" process.
4357         * Finally, it might go into the Loc-RIB of the receiver.
4359    When we talk about the "appropriate" filter, both the announcer and
4360 the receiver of the route must be taken into account. Suppose that the
4361 route server receives an announcement from client A, and the route
4362 server is considering it for the Loc-RIB of client B. The filters that
4363 should be applied are the same that would be used in the full mesh
4364 scenario, i.e., first the `Out' filter of router A for announcements
4365 going to router B, and then the `In' filter of router B for
4366 announcements coming from router A.
4368    We call "Export Policy" of a RS-client to the set of `Out' filters
4369 that the client would use if there was no route server. The same
4370 applies for the "Import Policy" of a RS-client and the set of `In'
4371 filters of the client if there was no route server.
4373    It is also common to demand from a route server that it does not
4374 modify some BGP attributes (next-hop, as-path and MED) that are usually
4375 modified by standard BGP speakers before announcing a route.
4377    The announcement processing model implemented by Quagga is shown in
4378 *Note fig:rs-processing::. The figure shows a mixture of RS-clients (B,
4379 C and D) with normal BGP peers (A). There are some details that worth
4380 additional comments:
4382    * Announcements coming from a normal BGP peer are also considered
4383      for the Loc-RIBs of all the RS-clients. But logically they do not
4384      pass through any export policy.
4386    * Those peers that are configured as RS-clients do not receive any
4387      announce from the `Main' Loc-RIB.
4389    * Apart from import and export policies, `In' and `Out' filters can
4390      also be set for RS-clients. `In' filters might be useful when the
4391      route server has also normal BGP peers. On the other hand, `Out'
4392      filters for RS-clients are probably unnecessary, but we decided
4393      not to remove them as they do not hurt anybody (they can always be
4394      left empty).
4396 \0\b[image src="fig-rs-processing.png" alt="Route Server Processing Model"\0\b]
4398 Figure 10.4: Announcement processing model implemented by the Route Server
4400 \x1f
4401 File: quagga.info,  Node: Commands for configuring a Route Server,  Next: Example of Route Server Configuration,  Prev: Description of the Route Server model,  Up: Configuring Quagga as a Route Server
4403 10.2 Commands for configuring a Route Server
4404 ============================================
4406 Now we will describe the commands that have been added to quagga in
4407 order to support the route server features.
4409  -- Route-Server: neighbor PEER-GROUP route-server-client
4410  -- Route-Server: neighbor A.B.C.D route-server-client
4411  -- Route-Server: neighbor X:X::X:X route-server-client
4412      This command configures the peer given by PEER, A.B.C.D or
4413      X:X::X:X as an RS-client.
4415      Actually this command is not new, it already existed in standard
4416      Quagga. It enables the transparent mode for the specified peer.
4417      This means that some BGP attributes (as-path, next-hop and MED) of
4418      the routes announced to that peer are not modified.
4420      With the route server patch, this command, apart from setting the
4421      transparent mode, creates a new Loc-RIB dedicated to the specified
4422      peer (those named `Loc-RIB for X' in *Note Figure 10.4:
4423      fig:rs-processing.). Starting from that moment, every announcement
4424      received by the route server will be also considered for the new
4425      Loc-RIB.
4427  -- Route-Server: neigbor {A.B.C.D|X.X::X.X|peer-group} route-map WORD
4428 {import|export}
4429      This set of commands can be used to specify the route-map that
4430      represents the Import or Export policy of a peer which is
4431      configured as a RS-client (with the previous command).
4433  -- Route-Server: match peer {A.B.C.D|X:X::X:X}
4434      This is a new _match_ statement for use in route-maps, enabling
4435      them to describe import/export policies. As we said before, an
4436      import/export policy represents a set of input/output filters of
4437      the RS-client. This statement makes possible that a single
4438      route-map represents the full set of filters that a BGP speaker
4439      would use for its different peers in a non-RS scenario.
4441      The _match peer_ statement has different semantics whether it is
4442      used inside an import or an export route-map. In the first case
4443      the statement matches if the address of the peer who sends the
4444      announce is the same that the address specified by
4445      {A.B.C.D|X:X::X:X}. For export route-maps it matches when
4446      {A.B.C.D|X:X::X:X} is the address of the RS-Client into whose
4447      Loc-RIB the announce is going to be inserted (how the same export
4448      policy is applied before different Loc-RIBs is shown in *Note
4449      Figure 10.4: fig:rs-processing.).
4451  -- Route-map Command: call WORD
4452      This command (also used inside a route-map) jumps into a different
4453      route-map, whose name is specified by WORD. When the called
4454      route-map finishes, depending on its result the original route-map
4455      continues or not. Apart from being useful for making import/export
4456      route-maps easier to write, this command can also be used inside
4457      any normal (in or out) route-map.
4459 \x1f
4460 File: quagga.info,  Node: Example of Route Server Configuration,  Prev: Commands for configuring a Route Server,  Up: Configuring Quagga as a Route Server
4462 10.3 Example of Route Server Configuration
4463 ==========================================
4465 Finally we are going to show how to configure a Quagga daemon to act as
4466 a Route Server. For this purpose we are going to present a scenario
4467 without route server, and then we will show how to use the
4468 configurations of the BGP routers to generate the configuration of the
4469 route server.
4471    All the configuration files shown in this section have been taken
4472 from scenarios which were tested using the VNUML tool VNUML
4473 (http://www.dit.upm.es/vnuml).
4475 * Menu:
4477 * Configuration of the BGP routers without Route Server::
4478 * Configuration of the BGP routers with Route Server::
4479 * Configuration of the Route Server itself::
4480 * Further considerations about Import and Export route-maps::
4482 \x1f
4483 File: quagga.info,  Node: Configuration of the BGP routers without Route Server,  Next: Configuration of the BGP routers with Route Server,  Up: Example of Route Server Configuration
4485 10.3.1 Configuration of the BGP routers without Route Server
4486 ------------------------------------------------------------
4488 We will suppose that our initial scenario is an exchange point with
4489 three BGP capable routers, named RA, RB and RC. Each of the BGP
4490 speakers generates some routes (with the NETWORK command), and
4491 establishes BGP peerings against the other two routers. These peerings
4492 have In and Out route-maps configured, named like "PEER-X-IN" or
4493 "PEER-X-OUT". For example the configuration file for router RA could be
4494 the following:
4496      #Configuration for router 'RA'
4497      !
4498      hostname RA
4499      password ****
4500      !
4501      router bgp 65001
4502        no bgp default ipv4-unicast
4503        neighbor 2001:0DB8::B remote-as 65002
4504        neighbor 2001:0DB8::C remote-as 65003
4505      !
4506        address-family ipv6
4507          network 2001:0DB8:AAAA:1::/64
4508          network 2001:0DB8:AAAA:2::/64
4509          network 2001:0DB8:0000:1::/64
4510          network 2001:0DB8:0000:2::/64
4512          neighbor 2001:0DB8::B activate
4513          neighbor 2001:0DB8::B soft-reconfiguration inbound
4514          neighbor 2001:0DB8::B route-map PEER-B-IN in
4515          neighbor 2001:0DB8::B route-map PEER-B-OUT out
4517          neighbor 2001:0DB8::C activate
4518          neighbor 2001:0DB8::C soft-reconfiguration inbound
4519          neighbor 2001:0DB8::C route-map PEER-C-IN in
4520          neighbor 2001:0DB8::C route-map PEER-C-OUT out
4521        exit-address-family
4522      !
4523      ipv6 prefix-list COMMON-PREFIXES seq  5 permit 2001:0DB8:0000::/48 ge 64 le 64
4524      ipv6 prefix-list COMMON-PREFIXES seq 10 deny any
4525      !
4526      ipv6 prefix-list PEER-A-PREFIXES seq  5 permit 2001:0DB8:AAAA::/48 ge 64 le 64
4527      ipv6 prefix-list PEER-A-PREFIXES seq 10 deny any
4528      !
4529      ipv6 prefix-list PEER-B-PREFIXES seq  5 permit 2001:0DB8:BBBB::/48 ge 64 le 64
4530      ipv6 prefix-list PEER-B-PREFIXES seq 10 deny any
4531      !
4532      ipv6 prefix-list PEER-C-PREFIXES seq  5 permit 2001:0DB8:CCCC::/48 ge 64 le 64
4533      ipv6 prefix-list PEER-C-PREFIXES seq 10 deny any
4534      !
4535      route-map PEER-B-IN permit 10
4536        match ipv6 address prefix-list COMMON-PREFIXES
4537        set metric 100
4538      route-map PEER-B-IN permit 20
4539        match ipv6 address prefix-list PEER-B-PREFIXES
4540        set community 65001:11111
4541      !
4542      route-map PEER-C-IN permit 10
4543        match ipv6 address prefix-list COMMON-PREFIXES
4544        set metric 200
4545      route-map PEER-C-IN permit 20
4546        match ipv6 address prefix-list PEER-C-PREFIXES
4547        set community 65001:22222
4548      !
4549      route-map PEER-B-OUT permit 10
4550        match ipv6 address prefix-list PEER-A-PREFIXES
4551      !
4552      route-map PEER-C-OUT permit 10
4553        match ipv6 address prefix-list PEER-A-PREFIXES
4554      !
4555      line vty
4556      !
4558 \x1f
4559 File: quagga.info,  Node: Configuration of the BGP routers with Route Server,  Next: Configuration of the Route Server itself,  Prev: Configuration of the BGP routers without Route Server,  Up: Example of Route Server Configuration
4561 10.3.2 Configuration of the BGP routers with Route Server
4562 ---------------------------------------------------------
4564 To convert the initial scenario into one with route server, first we
4565 must modify the configuration of routers RA, RB and RC. Now they must
4566 not peer between them, but only with the route server. For example, RA's
4567 configuration would turn into:
4569      # Configuration for router 'RA'
4570      !
4571      hostname RA
4572      password ****
4573      !
4574      router bgp 65001
4575        no bgp default ipv4-unicast
4576        neighbor 2001:0DB8::FFFF remote-as 65000
4577      !
4578        address-family ipv6
4579          network 2001:0DB8:AAAA:1::/64
4580          network 2001:0DB8:AAAA:2::/64
4581          network 2001:0DB8:0000:1::/64
4582          network 2001:0DB8:0000:2::/64
4584          neighbor 2001:0DB8::FFFF activate
4585          neighbor 2001:0DB8::FFFF soft-reconfiguration inbound
4586        exit-address-family
4587      !
4588      line vty
4589      !
4591    Which is logically much simpler than its initial configuration, as
4592 it now maintains only one BGP peering and all the filters (route-maps)
4593 have disappeared.
4595 \x1f
4596 File: quagga.info,  Node: Configuration of the Route Server itself,  Next: Further considerations about Import and Export route-maps,  Prev: Configuration of the BGP routers with Route Server,  Up: Example of Route Server Configuration
4598 10.3.3 Configuration of the Route Server itself
4599 -----------------------------------------------
4601 As we said when we described the functions of a route server (*note
4602 Description of the Route Server model::), it is in charge of all the
4603 route filtering. To achieve that, the In and Out filters from the RA,
4604 RB and RC configurations must be converted into Import and Export
4605 policies in the route server.
4607    This is a fragment of the route server configuration (we only show
4608 the policies for client RA):
4610      # Configuration for Route Server ('RS')
4611      !
4612      hostname RS
4613      password ix
4614      !
4615      bgp multiple-instance
4616      !
4617      router bgp 65000 view RS
4618        no bgp default ipv4-unicast
4619        neighbor 2001:0DB8::A  remote-as 65001
4620        neighbor 2001:0DB8::B  remote-as 65002
4621        neighbor 2001:0DB8::C  remote-as 65003
4622      !
4623        address-family ipv6
4624          neighbor 2001:0DB8::A activate
4625          neighbor 2001:0DB8::A route-server-client
4626          neighbor 2001:0DB8::A route-map RSCLIENT-A-IMPORT import
4627          neighbor 2001:0DB8::A route-map RSCLIENT-A-EXPORT export
4628          neighbor 2001:0DB8::A soft-reconfiguration inbound
4630          neighbor 2001:0DB8::B activate
4631          neighbor 2001:0DB8::B route-server-client
4632          neighbor 2001:0DB8::B route-map RSCLIENT-B-IMPORT import
4633          neighbor 2001:0DB8::B route-map RSCLIENT-B-EXPORT export
4634          neighbor 2001:0DB8::B soft-reconfiguration inbound
4636          neighbor 2001:0DB8::C activate
4637          neighbor 2001:0DB8::C route-server-client
4638          neighbor 2001:0DB8::C route-map RSCLIENT-C-IMPORT import
4639          neighbor 2001:0DB8::C route-map RSCLIENT-C-EXPORT export
4640          neighbor 2001:0DB8::C soft-reconfiguration inbound
4641        exit-address-family
4642      !
4643      ipv6 prefix-list COMMON-PREFIXES seq  5 permit 2001:0DB8:0000::/48 ge 64 le 64
4644      ipv6 prefix-list COMMON-PREFIXES seq 10 deny any
4645      !
4646      ipv6 prefix-list PEER-A-PREFIXES seq  5 permit 2001:0DB8:AAAA::/48 ge 64 le 64
4647      ipv6 prefix-list PEER-A-PREFIXES seq 10 deny any
4648      !
4649      ipv6 prefix-list PEER-B-PREFIXES seq  5 permit 2001:0DB8:BBBB::/48 ge 64 le 64
4650      ipv6 prefix-list PEER-B-PREFIXES seq 10 deny any
4651      !
4652      ipv6 prefix-list PEER-C-PREFIXES seq  5 permit 2001:0DB8:CCCC::/48 ge 64 le 64
4653      ipv6 prefix-list PEER-C-PREFIXES seq 10 deny any
4654      !
4655      route-map RSCLIENT-A-IMPORT permit 10
4656        match peer 2001:0DB8::B
4657        call A-IMPORT-FROM-B
4658      route-map RSCLIENT-A-IMPORT permit 20
4659        match peer 2001:0DB8::C
4660        call A-IMPORT-FROM-C
4661      !
4662      route-map A-IMPORT-FROM-B permit 10
4663        match ipv6 address prefix-list COMMON-PREFIXES
4664        set metric 100
4665      route-map A-IMPORT-FROM-B permit 20
4666        match ipv6 address prefix-list PEER-B-PREFIXES
4667        set community 65001:11111
4668      !
4669      route-map A-IMPORT-FROM-C permit 10
4670        match ipv6 address prefix-list COMMON-PREFIXES
4671        set metric 200
4672      route-map A-IMPORT-FROM-C permit 20
4673        match ipv6 address prefix-list PEER-C-PREFIXES
4674        set community 65001:22222
4675      !
4676      route-map RSCLIENT-A-EXPORT permit 10
4677        match peer 2001:0DB8::B
4678        match ipv6 address prefix-list PEER-A-PREFIXES
4679      route-map RSCLIENT-A-EXPORT permit 20
4680        match peer 2001:0DB8::C
4681        match ipv6 address prefix-list PEER-A-PREFIXES
4682      !
4683      ...
4684      ...
4685      ...
4687    If you compare the initial configuration of RA with the route server
4688 configuration above, you can see how easy it is to generate the Import
4689 and Export policies for RA from the In and Out route-maps of RA's
4690 original configuration.
4692    When there was no route server, RA maintained two peerings, one with
4693 RB and another with RC. Each of this peerings had an In route-map
4694 configured. To build the Import route-map for client RA in the route
4695 server, simply add route-map entries following this scheme:
4697      route-map <NAME> permit 10
4698          match peer <Peer Address>
4699          call <In Route-Map for this Peer>
4700      route-map <NAME> permit 20
4701          match peer <Another Peer Address>
4702          call <In Route-Map for this Peer>
4704    This is exactly the process that has been followed to generate the
4705 route-map RSCLIENT-A-IMPORT. The route-maps that are called inside it
4706 (A-IMPORT-FROM-B and A-IMPORT-FROM-C) are exactly the same than the In
4707 route-maps from the original configuration of RA (PEER-B-IN and
4708 PEER-C-IN), only the name is different.
4710    The same could have been done to create the Export policy for RA
4711 (route-map RSCLIENT-A-EXPORT), but in this case the original Out
4712 route-maps where so simple that we decided not to use the CALL WORD
4713 commands, and we integrated all in a single route-map
4714 (RSCLIENT-A-EXPORT).
4716    The Import and Export policies for RB and RC are not shown, but the
4717 process would be identical.
4719 \x1f
4720 File: quagga.info,  Node: Further considerations about Import and Export route-maps,  Prev: Configuration of the Route Server itself,  Up: Example of Route Server Configuration
4722 10.3.4 Further considerations about Import and Export route-maps
4723 ----------------------------------------------------------------
4725 The current version of the route server patch only allows to specify a
4726 route-map for import and export policies, while in a standard BGP
4727 speaker apart from route-maps there are other tools for performing
4728 input and output filtering (access-lists, community-lists, ...). But
4729 this does not represent any limitation, as all kinds of filters can be
4730 included in import/export route-maps. For example suppose that in the
4731 non-route-server scenario peer RA had the following filters configured
4732 for input from peer B:
4734          neighbor 2001:0DB8::B prefix-list LIST-1 in
4735          neighbor 2001:0DB8::B filter-list LIST-2 in
4736          neighbor 2001:0DB8::B route-map PEER-B-IN in
4737          ...
4738          ...
4739      route-map PEER-B-IN permit 10
4740        match ipv6 address prefix-list COMMON-PREFIXES
4741        set local-preference 100
4742      route-map PEER-B-IN permit 20
4743        match ipv6 address prefix-list PEER-B-PREFIXES
4744        set community 65001:11111
4746    It is posible to write a single route-map which is equivalent to the
4747 three filters (the community-list, the prefix-list and the route-map).
4748 That route-map can then be used inside the Import policy in the route
4749 server. Lets see how to do it:
4751          neighbor 2001:0DB8::A route-map RSCLIENT-A-IMPORT import
4752          ...
4753      !
4754      ...
4755      route-map RSCLIENT-A-IMPORT permit 10
4756        match peer 2001:0DB8::B
4757        call A-IMPORT-FROM-B
4758      ...
4759      ...
4760      !
4761      route-map A-IMPORT-FROM-B permit 1
4762        match ipv6 address prefix-list LIST-1
4763        match as-path LIST-2
4764        on-match goto 10
4765      route-map A-IMPORT-FROM-B deny 2
4766      route-map A-IMPORT-FROM-B permit 10
4767        match ipv6 address prefix-list COMMON-PREFIXES
4768        set local-preference 100
4769      route-map A-IMPORT-FROM-B permit 20
4770        match ipv6 address prefix-list PEER-B-PREFIXES
4771        set community 65001:11111
4772      !
4773      ...
4774      ...
4776    The route-map A-IMPORT-FROM-B is equivalent to the three filters
4777 (LIST-1, LIST-2 and PEER-B-IN). The first entry of route-map
4778 A-IMPORT-FROM-B (sequence number 1) matches if and only if both the
4779 prefix-list LIST-1 and the filter-list LIST-2 match. If that happens,
4780 due to the "on-match goto 10" statement the next route-map entry to be
4781 processed will be number 10, and as of that point route-map
4782 A-IMPORT-FROM-B is identical to PEER-B-IN. If the first entry does not
4783 match, `on-match goto 10" will be ignored and the next processed entry
4784 will be number 2, which will deny the route.
4786    Thus, the result is the same that with the three original filters,
4787 i.e., if either LIST-1 or LIST-2 rejects the route, it does not reach
4788 the route-map PEER-B-IN. In case both LIST-1 and LIST-2 accept the
4789 route, it passes to PEER-B-IN, which can reject, accept or modify the
4790 route.
4792 \x1f
4793 File: quagga.info,  Node: VTY shell,  Next: Filtering,  Prev: Configuring Quagga as a Route Server,  Up: Top
4795 11 VTY shell
4796 ************
4798 `vtysh' is integrated shell of Quagga software.
4800    To use vtysh please specify --enable-vtysh to configure script.  To
4801 use PAM for authentication use --with-libpam option to configure script.
4803    vtysh only searches /etc/quagga path for vtysh.conf which is the
4804 vtysh configuration file.  Vtysh does not search current directory for
4805 configuration file because the file includes user authentication
4806 settings.
4808    Currently, vtysh.conf has only two commands.
4810 * Menu:
4812 * VTY shell username::
4813 * VTY shell integrated configuration::
4815 \x1f
4816 File: quagga.info,  Node: VTY shell username,  Next: VTY shell integrated configuration,  Up: VTY shell
4818 11.1 VTY shell username
4819 =======================
4821  -- Command: username USERNAME nopassword
4822      With this set, user foo does not need password authentication for
4823      user vtysh.  With PAM vtysh uses PAM authentication mechanism.
4825      If vtysh is compiled without PAM authentication, every user can
4826      use vtysh without authentication. vtysh requires read/write
4827      permission to the various daemons vty sockets, this can be
4828      accomplished through use of unix groups and the -enable-vty-group
4829      configure option.
4832 \x1f
4833 File: quagga.info,  Node: VTY shell integrated configuration,  Prev: VTY shell username,  Up: VTY shell
4835 11.2 VTY shell integrated configuration
4836 =======================================
4838  -- Command: service integrated-vtysh-config
4839      Write out integrated Quagga.conf file when 'write file' is issued.
4841      This command controls the behaviour of vtysh when it is told to
4842      write out the configuration.  Per default, vtysh will instruct
4843      each daemon to write out their own config files when `write file'
4844      is issued.  However, if `service integrated-vtysh-config' is set,
4845      when `write file' is issued, vtysh will instruct the daemons will
4846      write out a Quagga.conf with all daemons' commands integrated into
4847      it.
4849      Vtysh per default behaves as if `write-conf daemon' is set. Note
4850      that both may be set at same time if one wishes to have both
4851      Quagga.conf and daemon specific files written out. Further, note
4852      that the daemons are hard-coded to first look for the integrated
4853      Quagga.conf file before looking for their own file.
4855      We recommend you do not mix the use of the two types of files.
4856      Further, it is better not to use the integrated Quagga.conf file,
4857      as any syntax error in it can lead to /all/ of your daemons being
4858      unable to start up. Per daemon files are more robust as impact of
4859      errors in configuration are limited to the daemon in whose file
4860      the error is made.
4863 \x1f
4864 File: quagga.info,  Node: Filtering,  Next: Route Map,  Prev: VTY shell,  Up: Top
4866 12 Filtering
4867 ************
4869 Quagga provides many very flexible filtering features.  Filtering is
4870 used for both input and output of the routing information.  Once
4871 filtering is defined, it can be applied in any direction.
4873 * Menu:
4875 * IP Access List::
4876 * IP Prefix List::
4878 \x1f
4879 File: quagga.info,  Node: IP Access List,  Next: IP Prefix List,  Up: Filtering
4881 12.1 IP Access List
4882 ===================
4884  -- Command: access-list NAME permit IPV4-NETWORK
4885  -- Command: access-list NAME deny IPV4-NETWORK
4887    Basic filtering is done by `access-list' as shown in the following
4888 example.
4890      access-list filter deny 10.0.0.0/9
4891      access-list filter permit 10.0.0.0/8
4893 \x1f
4894 File: quagga.info,  Node: IP Prefix List,  Prev: IP Access List,  Up: Filtering
4896 12.2 IP Prefix List
4897 ===================
4899 `ip prefix-list' provides the most powerful prefix based filtering
4900 mechanism.  In addition to `access-list' functionality, `ip
4901 prefix-list' has prefix length range specification and sequential
4902 number specification.  You can add or delete prefix based filters to
4903 arbitrary points of prefix-list using sequential number specification.
4905    If no ip prefix-list is specified, it acts as permit.  If `ip
4906 prefix-list' is defined, and no match is found, default deny is applied.
4908  -- Command: ip prefix-list NAME (permit|deny) PREFIX [le LEN] [ge LEN]
4909  -- Command: ip prefix-list NAME seq NUMBER (permit|deny) PREFIX [le
4910 LEN] [ge LEN]
4911      You can create `ip prefix-list' using above commands.
4913     seq
4914           seq NUMBER can be set either automatically or manually.  In
4915           the case that sequential numbers are set manually, the user
4916           may pick any number less than 4294967295.  In the case that
4917           sequential number are set automatically, the sequential
4918           number will increase by a unit of five (5) per list.  If a
4919           list with no specified sequential number is created after a
4920           list with a specified sequential number, the list will
4921           automatically pick the next multiple of five (5) as the list
4922           number.  For example, if a list with number 2 already exists
4923           and a new list with no specified number is created, the next
4924           list will be numbered 5.  If lists 2 and 7 already exist and
4925           a new list with no specified number is created, the new list
4926           will be numbered 10.
4928     le
4929           `le' command specifies prefix length.  The prefix list will be
4930           applied if the prefix length is less than or equal to the le
4931           prefix length.
4933     ge
4934           `ge' command specifies prefix length.  The prefix list will be
4935           applied if the prefix length is greater than or equal to the
4936           ge prefix length.
4940    Less than or equal to prefix numbers and greater than or equal to
4941 prefix numbers can be used together.  The order of the le and ge
4942 commands does not matter.
4944    If a prefix list with a different sequential number but with the
4945 exact same rules as a previous list is created, an error will result.
4946 However, in the case that the sequential number and the rules are
4947 exactly similar, no error will result.
4949    If a list with the same sequential number as a previous list is
4950 created, the new list will overwrite the old list.
4952    Matching of IP Prefix is performed from the smaller sequential
4953 number to the larger.  The matching will stop once any rule has been
4954 applied.
4956    In the case of no le or ge command, the prefix length must match
4957 exactly the length specified in the prefix list.
4959  -- Command: no ip prefix-list NAME
4961 * Menu:
4963 * ip prefix-list description::
4964 * ip prefix-list sequential number control::
4965 * Showing ip prefix-list::
4966 * Clear counter of ip prefix-list::
4968 \x1f
4969 File: quagga.info,  Node: ip prefix-list description,  Next: ip prefix-list sequential number control,  Up: IP Prefix List
4971 12.2.1 ip prefix-list description
4972 ---------------------------------
4974  -- Command: ip prefix-list NAME description DESC
4975      Descriptions may be added to prefix lists.  This command adds a
4976      description to the prefix list.
4978  -- Command: no ip prefix-list NAME description [DESC]
4979      Deletes the description from a prefix list.  It is possible to use
4980      the command without the full description.
4982 \x1f
4983 File: quagga.info,  Node: ip prefix-list sequential number control,  Next: Showing ip prefix-list,  Prev: ip prefix-list description,  Up: IP Prefix List
4985 12.2.2 ip prefix-list sequential number control
4986 -----------------------------------------------
4988  -- Command: ip prefix-list sequence-number
4989      With this command, the IP prefix list sequential number is
4990      displayed.  This is the default behavior.
4992  -- Command: no ip prefix-list sequence-number
4993      With this command, the IP prefix list sequential number is not
4994      displayed.
4996 \x1f
4997 File: quagga.info,  Node: Showing ip prefix-list,  Next: Clear counter of ip prefix-list,  Prev: ip prefix-list sequential number control,  Up: IP Prefix List
4999 12.2.3 Showing ip prefix-list
5000 -----------------------------
5002  -- Command: show ip prefix-list
5003      Display all IP prefix lists.
5005  -- Command: show ip prefix-list NAME
5006      Show IP prefix list can be used with a prefix list name.
5008  -- Command: show ip prefix-list NAME seq NUM
5009      Show IP prefix list can be used with a prefix list name and
5010      sequential number.
5012  -- Command: show ip prefix-list NAME A.B.C.D/M
5013      If the command longer is used, all prefix lists with prefix
5014      lengths equal to or longer than the specified length will be
5015      displayed.  If the command first match is used, the first prefix
5016      length match will be displayed.
5018  -- Command: show ip prefix-list NAME A.B.C.D/M longer
5020  -- Command: show ip prefix-list NAME A.B.C.D/M first-match
5022  -- Command: show ip prefix-list summary
5024  -- Command: show ip prefix-list summary NAME
5026  -- Command: show ip prefix-list detail
5028  -- Command: show ip prefix-list detail NAME
5030 \x1f
5031 File: quagga.info,  Node: Clear counter of ip prefix-list,  Prev: Showing ip prefix-list,  Up: IP Prefix List
5033 12.2.4 Clear counter of ip prefix-list
5034 --------------------------------------
5036  -- Command: clear ip prefix-list
5037      Clears the counters of all IP prefix lists.  Clear IP Prefix List
5038      can be used with a specified name and prefix.
5040  -- Command: clear ip prefix-list NAME
5042  -- Command: clear ip prefix-list NAME A.B.C.D/M
5044 \x1f
5045 File: quagga.info,  Node: Route Map,  Next: IPv6 Support,  Prev: Filtering,  Up: Top
5047 13 Route Map
5048 ************
5050 Route maps provide a means to both filter and/or apply actions to
5051 route, hence allowing policy to be applied to routes.
5053 * Menu:
5055 * Route Map Command::
5056 * Route Map Match Command::
5057 * Route Map Set Command::
5058 * Route Map Call Command::
5059 * Route Map Exit Action Command::
5060 * Route Map Examples::
5062    Route-maps are an ordered list of route-map entries. Each entry may
5063 specify up to four distincts sets of clauses:
5065 `Matching Policy'
5066      This specifies the policy implied if the `Matching Conditions' are
5067      met or not met, and which actions of the route-map are to be
5068      taken, if any. The two possibilities are:
5070         - `permit': If the entry matches, then carry out the `Set
5071           Actions'. Then finish processing the route-map, permitting
5072           the route, unless an `Exit Action' indicates otherwise.
5074         - `deny': If the entry matches, then finish processing the
5075           route-map and deny the route (return `deny').
5077      The `Matching Policy' is specified as part of the command which
5078      defines the ordered entry in the route-map. See below.
5080 `Matching Conditions'
5081      A route-map entry may, optionally, specify one or more conditions
5082      which must be matched if the entry is to be considered further, as
5083      governed by the Match Policy. If a route-map entry does not
5084      explicitely specify any matching conditions, then it always
5085      matches.
5087 `Set Actions'
5088      A route-map entry may, optionally, specify one or more `Set
5089      Actions' to set or modify attributes of the route.
5091 `Call Action'
5092      Call to another route-map, after any `Set Actions' have been
5093      carried out. If the route-map called returns `deny' then
5094      processing of the route-map finishes and the route is denied,
5095      regardless of the `Matching Policy' or the `Exit Policy'. If the
5096      called route-map returns `permit', then `Matching Policy' and
5097      `Exit Policy' govern further behaviour, as normal.
5099 `Exit Policy'
5100      An entry may, optionally, specify an alternative `Exit Policy' to
5101      take if the entry matched, rather than the normal policy of
5102      exiting the route-map and permitting the route. The two
5103      possibilities are:
5105         - `next': Continue on with processing of the route-map entries.
5107         - `goto N': Jump ahead to the first route-map entry whose order
5108           in the route-map is >= N. Jumping to a previous entry is not
5109           permitted.
5111    The default action of a route-map, if no entries match, is to deny.
5112 I.e. a route-map essentially has as its last entry an empty `deny'
5113 entry, which matches all routes. To change this behaviour, one must
5114 specify an empty `permit' entry as the last entry in the route-map.
5116    To summarise the above:
5118          Match    No Match
5119 ----------------------------- 
5120 _Permit_ action   cont
5121 _Deny_   deny     cont
5123 `action'
5124         - Apply _set_ statements
5126         - If _call_ is present, call given route-map. If that returns a
5127           `deny', finish processing and return `deny'.
5129         - If `Exit Policy' is _next_, goto next route-map entry
5131         - If `Exit Policy' is _goto_, goto first entry whose order in
5132           the list is >= the given order.
5134         - Finish processing the route-map and permit the route.
5136 `deny'
5137         - The route is denied by the route-map (return `deny').
5139 `cont'
5140         - goto next route-map entry
5142 \x1f
5143 File: quagga.info,  Node: Route Map Command,  Next: Route Map Match Command,  Up: Route Map
5145 13.1 Route Map Command
5146 ======================
5148  -- Command: route-map ROUTE-MAP-NAME (permit|deny) ORDER
5149      Configure the ORDER'th entry in ROUTE-MAP-NAME with `Match Policy'
5150      of either _permit_ or _deny_.
5153 \x1f
5154 File: quagga.info,  Node: Route Map Match Command,  Next: Route Map Set Command,  Prev: Route Map Command,  Up: Route Map
5156 13.2 Route Map Match Command
5157 ============================
5159  -- Route-map Command: match ip address ACCESS_LIST
5160      Matches the specified ACCESS_LIST
5162  -- Route-map Command: match ip next-hop IPV4_ADDR
5163      Matches the specified IPV4_ADDR.
5165  -- Route-map Command: match aspath AS_PATH
5166      Matches the specified AS_PATH.
5168  -- Route-map Command: match metric METRIC
5169      Matches the specified METRIC.
5171  -- Route-map Command: match community COMMUNITY_LIST
5172      Matches the specified  COMMUNITY_LIST
5174 \x1f
5175 File: quagga.info,  Node: Route Map Set Command,  Next: Route Map Call Command,  Prev: Route Map Match Command,  Up: Route Map
5177 13.3 Route Map Set Command
5178 ==========================
5180  -- Route-map Command: set ip next-hop IPV4_ADDRESS
5181      Set the BGP nexthop address.
5183  -- Route-map Command: set local-preference LOCAL_PREF
5184      Set the BGP local preference.
5186  -- Route-map Command: set weight WEIGHT
5187      Set the route's weight.
5189  -- Route-map Command: set metric METRIC
5190      Set the BGP attribute MED.
5192  -- Route-map Command: set as-path prepend AS_PATH
5193      Set the BGP AS path to prepend.
5195  -- Route-map Command: set community COMMUNITY
5196      Set the BGP community attribute.
5198  -- Route-map Command: set ipv6 next-hop global IPV6_ADDRESS
5199      Set the BGP-4+ global IPv6 nexthop address.
5201  -- Route-map Command: set ipv6 next-hop local IPV6_ADDRESS
5202      Set the BGP-4+ link local IPv6 nexthop address.
5204 \x1f
5205 File: quagga.info,  Node: Route Map Call Command,  Next: Route Map Exit Action Command,  Prev: Route Map Set Command,  Up: Route Map
5207 13.4 Route Map Call Command
5208 ===========================
5210  -- Route-map Command: call NAME
5211      Call route-map NAME. If it returns deny, deny the route and finish
5212      processing the route-map.
5214 \x1f
5215 File: quagga.info,  Node: Route Map Exit Action Command,  Next: Route Map Examples,  Prev: Route Map Call Command,  Up: Route Map
5217 13.5 Route Map Exit Action Command
5218 ==================================
5220  -- Route-map Command: on-match next
5221  -- Route-map Command: continue
5222      Proceed on to the next entry in the route-map.
5224  -- Route-map Command: on-match goto N
5225  -- Route-map Command: continue N
5226      Proceed processing the route-map at the first entry whose order is
5227      >= N
5229 \x1f
5230 File: quagga.info,  Node: Route Map Examples,  Prev: Route Map Exit Action Command,  Up: Route Map
5232 13.6 Route Map Examples
5233 =======================
5235 A simple example of a route-map:
5237      route-map test permit 10
5238       match ip address 10
5239       set local-preference 200
5241    This means that if a route matches ip access-list number 10 it's
5242 local-preference value is set to 200.
5244    See *Note BGP Configuration Examples:: for examples of more
5245 sophisticated useage of route-maps, including of the `call' action.
5247 \x1f
5248 File: quagga.info,  Node: IPv6 Support,  Next: Kernel Interface,  Prev: Route Map,  Up: Top
5250 14 IPv6 Support
5251 ***************
5253 Quagga fully supports IPv6 routing.  As described so far, Quagga
5254 supports RIPng, OSPFv3 and BGP-4+.  You can give IPv6 addresses to an
5255 interface and configure static IPv6 routing information.  Quagga IPv6
5256 also provides automatic address configuration via a feature called
5257 `address auto configuration'.  To do it, the router must send router
5258 advertisement messages to the all nodes that exist on the network.
5260 * Menu:
5262 * Router Advertisement::
5264 \x1f
5265 File: quagga.info,  Node: Router Advertisement,  Up: IPv6 Support
5267 14.1 Router Advertisement
5268 =========================
5270  -- Interface Command: no ipv6 nd suppress-ra
5271      Send router advertisment messages.
5273  -- Interface Command: ipv6 nd suppress-ra
5274      Don't send router advertisment messages.
5276  -- Interface Command: ipv6 nd prefix IPV6PREFIX [VALID-LIFETIME]
5277 [PREFERRED-LIFETIME] [off-link] [no-autoconfig] [router-address]
5278      Configuring the IPv6 prefix to include in router advertisements.
5279      Several prefix specific optional parameters and flags may follow:
5280         * VALID-LIFETIME - the length of time in seconds during what
5281           the prefix is valid for the purpose of on-link determination.
5282           Value INFINITE represents infinity (i.e. a value of all one
5283           bits (`0xffffffff')).
5285           Range: `<0-4294967295>'  Default: `2592000'
5287         * PREFERRED-LIFETIME - the length of time in seconds during
5288           what addresses generated from the prefix remain preferred.
5289           Value INFINITE represents infinity.
5291           Range: `<0-4294967295>'  Default: `604800'
5293         * OFF-LINK - indicates that advertisement makes no statement
5294           about on-link or off-link properties of the prefix.
5296           Default: not set, i.e. this prefix can be used for on-link
5297           determination.
5299         * NO-AUTOCONFIG - indicates to hosts on the local link that the
5300           specified prefix cannot be used for IPv6 autoconfiguration.
5302           Default: not set, i.e. prefix can be used for
5303           autoconfiguration.
5305         * ROUTER-ADDRESS - indicates to hosts on the local link that
5306           the specified prefix contains a complete IP address by
5307           setting R flag.
5309           Default: not set, i.e. hosts do not assume a complete IP
5310           address is placed.
5312  -- Interface Command: ipv6 nd ra-interval SECONDS
5313  -- Interface Command: no ipv6 nd ra-interval
5314      The  maximum  time allowed between sending unsolicited multicast
5315      router advertisements from the interface, in seconds. Must be no
5316      less than 3 seconds.
5318      Default: `600'
5320  -- Interface Command: ipv6 nd ra-interval msec MILLISECONDS
5321  -- Interface Command: no ipv6 nd ra-interval msec
5322      The  maximum  time allowed between sending unsolicited multicast
5323      router advertisements from the interface, in milliseconds. Must be
5324      no less than 30 milliseconds.
5326      Default: `600000'
5328  -- Interface Command: ipv6 nd ra-lifetime SECONDS
5329  -- Interface Command: no ipv6 nd ra-lifetime
5330      The value to be placed in the Router Lifetime field of router
5331      advertisements sent from the interface, in seconds. Indicates the
5332      usefulness of the router as a default router on this interface.
5333      Setting the value to zero indicates that the router should not be
5334      considered a default router on this interface.  Must be either
5335      zero or between value specified with IPV6 ND RA-INTERVAL (or
5336      default) and 9000 seconds.
5338      Default: `1800'
5340  -- Interface Command: ipv6 nd reachable-time MILLISECONDS
5341  -- Interface Command: no ipv6 nd reachable-time
5342      The value to be placed in the Reachable Time field in the Router
5343      Advertisement messages sent by the router, in milliseconds. The
5344      configured time enables the router to detect unavailable
5345      neighbors. The value zero means unspecified (by this router). Must
5346      be no greater than `3,600,000' milliseconds (1 hour).
5348      Default: `0'
5350  -- Interface Command: ipv6 nd managed-config-flag
5351  -- Interface Command: no ipv6 nd managed-config-flag
5352      Set/unset flag in IPv6 router advertisements which indicates to
5353      hosts that they should use managed (stateful) protocol for
5354      addresses autoconfiguration in addition to any addresses
5355      autoconfigured using stateless address autoconfiguration.
5357      Default: not set
5359  -- Interface Command: ipv6 nd other-config-flag
5360  -- Interface Command: no ipv6 nd other-config-flag
5361      Set/unset flag in IPv6 router advertisements which indicates to
5362      hosts that they should use administered (stateful) protocol to
5363      obtain autoconfiguration information other than addresses.
5365      Default: not set
5367  -- Interface Command: ipv6 nd home-agent-config-flag
5368  -- Interface Command: no ipv6 nd home-agent-config-flag
5369      Set/unset flag in IPv6 router advertisements which indicates to
5370      hosts that the router acts as a Home Agent and includes a Home
5371      Agent Option.
5373      Default: not set
5375  -- Interface Command: ipv6 nd home-agent-preference
5376  -- Interface Command: no ipv6 nd home-agent-preference
5377      The value to be placed in Home Agent Option, when Home Agent
5378      config flag is set, which indicates to hosts Home Agent preference.
5380      Default: 0
5382  -- Interface Command: ipv6 nd home-agent-lifetime
5383  -- Interface Command: no ipv6 nd home-agent-lifetime
5384      The value to be placed in Home Agent Option, when Home Agent
5385      config flag is set, which indicates to hosts Home Agent Lifetime.
5386      A value of 0 means to place Router Lifetime value.
5388      Default: 0
5390  -- Interface Command: ipv6 nd adv-interval-option
5391  -- Interface Command: no ipv6 nd adv-interval-option
5392      Include an Advertisement Interval option which indicates to hosts
5393      the maximum time, in milliseconds, between successive unsolicited
5394      Router Advertisements.
5396      Default: not set
5398      interface eth0
5399       no ipv6 nd suppress-ra
5400       ipv6 nd prefix 2001:0DB8:5009::/64
5402    For more information see `RFC2462 (IPv6 Stateless Address
5403 Autoconfiguration)' , `RFC2461 (Neighbor Discovery for IP Version 6
5404 (IPv6))' and `RFC3775 (Mobility Support in IPv6 (Mobile IPv6))'.
5406 \x1f
5407 File: quagga.info,  Node: Kernel Interface,  Next: SNMP Support,  Prev: IPv6 Support,  Up: Top
5409 15 Kernel Interface
5410 *******************
5412 There are several different methods for reading kernel routing table
5413 information, updating kernel routing tables, and for looking up
5414 interfaces.
5416 `ioctl'
5417      The `ioctl' method is a very traditional way for reading or writing
5418      kernel information.  `ioctl' can be used for looking up interfaces
5419      and for modifying interface addresses, flags, mtu settings and
5420      other types of information.  Also, `ioctl' can insert and delete
5421      kernel routing table entries.  It will soon be available on almost
5422      any platform which zebra supports, but it is a little bit ugly
5423      thus far, so if a better method is supported by the kernel, zebra
5424      will use that.
5426 `sysctl'
5427      `sysctl' can lookup kernel information using MIB (Management
5428      Information Base) syntax.  Normally, it only provides a way of
5429      getting information from the kernel.  So one would usually want to
5430      change kernel information using another method such as `ioctl'.
5432 `proc filesystem'
5433      `proc filesystem' provides an easy way of getting kernel
5434      information.
5436 `routing socket'
5438 `netlink'
5439      On recent Linux kernels (2.0.x and 2.2.x), there is a kernel/user
5440      communication support called `netlink'.  It makes asynchronous
5441      communication between kernel and Quagga possible, similar to a
5442      routing socket on BSD systems.
5444      Before you use this feature, be sure to select (in kernel
5445      configuration) the kernel/netlink support option 'Kernel/User
5446      network link driver' and 'Routing messages'.
5448      Today, the /dev/route special device file is obsolete.  Netlink
5449      communication is done by reading/writing over netlink socket.
5451      After the kernel configuration, please reconfigure and rebuild
5452      Quagga.  You can use netlink as a dynamic routing update channel
5453      between Quagga and the kernel.
5455 \x1f
5456 File: quagga.info,  Node: SNMP Support,  Next: Zebra Protocol,  Prev: Kernel Interface,  Up: Top
5458 16 SNMP Support
5459 ***************
5461 SNMP (Simple Network Managing Protocol) is a widely implemented feature
5462 for collecting network information from router and/or host.  Quagga
5463 itself does not support SNMP agent (server daemon) functionality but is
5464 able to connect to a SNMP agent using the SMUX protocol (`RFC1227') and
5465 make the routing protocol MIBs available through it.
5467 * Menu:
5469 * Getting and installing an SNMP agent::
5470 * SMUX configuration::
5471 * MIB and command reference::
5472 * Handling SNMP Traps::
5474 \x1f
5475 File: quagga.info,  Node: Getting and installing an SNMP agent,  Next: SMUX configuration,  Up: SNMP Support
5477 16.1 Getting and installing an SNMP agent
5478 =========================================
5480 There are several SNMP agent which support SMUX. We recommend to use
5481 the latest version of `net-snmp' which was formerly known as `ucd-snmp'.
5482 It is free and open software and available at `http://www.net-snmp.org/'
5483 and as binary package for most Linux distributions.  `net-snmp' has to
5484 be compiled with `--with-mib-modules=smux' to be able to accept
5485 connections from Quagga.
5487 \x1f
5488 File: quagga.info,  Node: SMUX configuration,  Next: MIB and command reference,  Prev: Getting and installing an SNMP agent,  Up: SNMP Support
5490 16.2 SMUX configuration
5491 =======================
5493 To enable SMUX protocol support, Quagga must have been build with the
5494 `--enable-snmp' option.
5496    A separate connection has then to be established between between the
5497 SNMP agent (snmpd) and each of the Quagga daemons. This connections
5498 each use different OID numbers and passwords. Be aware that this OID
5499 number is not the one that is used in queries by clients, it is solely
5500 used for the intercommunication of the daemons.
5502    In the following example the ospfd daemon will be connected to the
5503 snmpd daemon using the password "quagga_ospfd". For testing it is
5504 recommending to take exactly the below snmpd.conf as wrong access
5505 restrictions can be hard to debug.
5507      /etc/snmp/snmpd.conf:
5508         #
5509         # example access restrictions setup
5510         #
5511         com2sec readonly default public
5512         group MyROGroup v1 readonly
5513         view all included .1 80
5514         access MyROGroup "" any noauth exact all none none
5515         #
5516         # the following line is relevant for Quagga
5517         #
5518         smuxpeer .1.3.6.1.4.1.3317.1.2.5 quagga_ospfd
5520      /etc/quagga/ospf:
5521         ! ... the rest of ospfd.conf has been omitted for clarity ...
5522         !
5523         smux peer .1.3.6.1.4.1.3317.1.2.5 quagga_ospfd
5524         !
5526    After restarting snmpd and quagga, a successful connection can be
5527 verified in the syslog and by querying the SNMP daemon:
5529      snmpd[12300]: [smux_accept] accepted fd 12 from 127.0.0.1:36255
5530      snmpd[12300]: accepted smux peer: \
5531         oid GNOME-PRODUCT-ZEBRA-MIB::ospfd, quagga-0.96.5
5533      # snmpwalk -c public -v1 localhost .1.3.6.1.2.1.14.1.1
5534      OSPF-MIB::ospfRouterId.0 = IpAddress: 192.168.42.109
5536    Be warned that the current version (5.1.1) of the Net-SNMP daemon
5537 writes a line for every SNMP connect to the syslog which can lead to
5538 enormous log file sizes.  If that is a problem you should consider to
5539 patch snmpd and comment out the troublesome `snmp_log()' line in the
5540 function `netsnmp_agent_check_packet()' in `agent/snmp_agent.c'.
5542 \x1f
5543 File: quagga.info,  Node: MIB and command reference,  Next: Handling SNMP Traps,  Prev: SMUX configuration,  Up: SNMP Support
5545 16.3 MIB and command reference
5546 ==============================
5548 The following OID numbers are used for the interprocess communication
5549 of snmpd and the Quagga daemons. Sadly, SNMP has not been implemented
5550 in all daemons yet.
5551                  (OIDs below .iso.org.dod.internet.private.enterprises)
5552      zebra      .1.3.6.1.4.1.3317.1.2.1 .gnome.gnomeProducts.zebra.zserv
5553      bgpd       .1.3.6.1.4.1.3317.1.2.2 .gnome.gnomeProducts.zebra.bgpd
5554      ripd       .1.3.6.1.4.1.3317.1.2.3 .gnome.gnomeProducts.zebra.ripd
5555      ospfd      .1.3.6.1.4.1.3317.1.2.5 .gnome.gnomeProducts.zebra.ospfd
5556      ospf6d     .1.3.6.1.4.1.3317.1.2.6 .gnome.gnomeProducts.zebra.ospf6d
5558    The following OID numbers are used for querying the SNMP daemon by a
5559 client:
5560      zebra      .1.3.6.1.2.1.4.24   .iso.org.dot.internet.mgmt.mib-2.ip.ipForward
5561      ospfd      .1.3.6.1.2.1.14     .iso.org.dot.internet.mgmt.mib-2.ospf
5562      bgpd       .1.3.6.1.2.1.15     .iso.org.dot.internet.mgmt.mib-2.bgp
5563      ripd       .1.3.6.1.2.1.23     .iso.org.dot.internet.mgmt.mib-2.rip2
5564      ospf6d     .1.3.6.1.3.102      .iso.org.dod.internet.experimental.ospfv3
5566    The following syntax is understood by the Quagga daemons for
5567 configuring SNMP:
5569  -- Command: smux peer OID
5570  -- Command: no smux peer OID
5572  -- Command: smux peer OID PASSWORD
5573  -- Command: no smux peer OID PASSWORD
5575 \x1f
5576 File: quagga.info,  Node: Handling SNMP Traps,  Prev: MIB and command reference,  Up: SNMP Support
5578 16.4 Handling SNMP Traps
5579 ========================
5581 To handle snmp traps make sure your snmp setup of quagga works
5582 correctly as described in the quagga documentation in *Note SNMP
5583 Support::.
5585    The BGP4 mib will send traps on peer up/down events. These should be
5586 visible in your snmp logs with a message similar to:
5588    `snmpd[13733]: Got trap from peer on fd 14'
5590    To react on these traps they should be handled by a trapsink.
5591 Configure your trapsink by adding the following lines to
5592 `/etc/snmpd/snmpd.conf':
5594        # send traps to the snmptrapd on localhost
5595        trapsink localhost
5597    This will send all traps to an snmptrapd running on localhost. You
5598 can of course also use a dedicated management station to catch traps.
5599 Configure the snmptrapd daemon by adding the following line to
5600 `/etc/snmpd/snmptrapd.conf':
5602        traphandle .1.3.6.1.4.1.3317.1.2.2 /etc/snmp/snmptrap_handle.sh
5604    This will use the bash script `/etc/snmp/snmptrap_handle.sh' to
5605 handle the BGP4 traps. To add traps for other protocol daemons, lookup
5606 their appropriate OID from their mib. (For additional information about
5607 which traps are supported by your mib, lookup the mib on
5608 `http://www.oidview.com/mibs/detail.html').
5610    Make sure snmptrapd is started.
5612    The snmptrap_handle.sh script I personally use for handling BGP4
5613 traps is below. You can of course do all sorts of things when handling
5614 traps, like sound a siren, have your display flash, etc., be creative
5618   #!/bin/bash
5620   # routers name
5621   ROUTER=`hostname -s`
5623   #email address use to sent out notification
5624   EMAILADDR="john@doe.com"
5625   #email address used (allongside above) where warnings should be sent
5626   EMAILADDR_WARN="sms-john@doe.com"
5628   # type of notification
5629   TYPE="Notice"
5631   # local snmp community for getting AS belonging to peer
5632   COMMUNITY="<community>"
5634   # if a peer address is in $WARN_PEERS a warning should be sent
5635   WARN_PEERS="192.0.2.1"
5638   # get stdin
5639   INPUT=`cat -`
5641   # get some vars from stdin
5642   uptime=`echo $INPUT | cut -d' ' -f5`
5643   peer=`echo $INPUT | cut -d' ' -f8 | sed -e 's/SNMPv2-SMI::mib-2.15.3.1.14.//g'`
5644   peerstate=`echo $INPUT | cut -d' ' -f13`
5645   errorcode=`echo $INPUT | cut -d' ' -f9 | sed -e 's/\"//g'`
5646   suberrorcode=`echo $INPUT | cut -d' ' -f10 | sed -e 's/\"//g'`
5647   remoteas=`snmpget -v2c -c $COMMUNITY localhost SNMPv2-SMI::mib-2.15.3.1.9.$peer | cut -d' ' -f4`
5649   WHOISINFO=`whois -h whois.ripe.net " -r AS$remoteas" | egrep '(as-name|descr)'`
5650   asname=`echo "$WHOISINFO" | grep "^as-name:" | sed -e 's/^as-name://g' -e 's/  //g' -e 's/^ //g' | uniq`
5651   asdescr=`echo "$WHOISINFO" | grep "^descr:" | sed -e 's/^descr://g' -e 's/  //g' -e 's/^ //g' | uniq`
5653   # if peer address is in $WARN_PEER, the email should also
5654   # be sent to $EMAILADDR_WARN
5655   for ip in $WARN_PEERS; do
5656     if [ "x$ip" == "x$peer" ]; then
5657       EMAILADDR="$EMAILADDR,$EMAILADDR_WARN"
5658       TYPE="WARNING"
5659       break
5660     fi
5661   done
5664   # convert peer state
5665   case "$peerstate" in
5666     1) peerstate="Idle" ;;
5667     2) peerstate="Connect" ;;
5668     3) peerstate="Active" ;;
5669     4) peerstate="Opensent" ;;
5670     5) peerstate="Openconfirm" ;;
5671     6) peerstate="Established" ;;
5672     *) peerstate="Unknown" ;;
5673   esac
5675   # get textual messages for errors
5676   case "$errorcode" in
5677     00)
5678       error="No error"
5679       suberror=""
5680       ;;
5681     01)
5682       error="Message Header Error"
5683       case "$suberrorcode" in
5684         01) suberror="Connection Not Synchronized" ;;
5685         02) suberror="Bad Message Length" ;;
5686         03) suberror="Bad Message Type" ;;
5687         *) suberror="Unknown" ;;
5688       esac
5689       ;;
5690     02)
5691       error="OPEN Message Error"
5692       case "$suberrorcode" in
5693         01) suberror="Unsupported Version Number" ;;
5694         02) suberror="Bad Peer AS" ;;
5695         03) suberror="Bad BGP Identifier" ;;
5696         04) suberror="Unsupported Optional Parameter" ;;
5697         05) suberror="Authentication Failure" ;;
5698         06) suberror="Unacceptable Hold Time" ;;
5699         *) suberror="Unknown" ;;
5700       esac
5701       ;;
5702     03)
5703       error="UPDATE Message Error"
5704       case "$suberrorcode" in
5705         01) suberror="Malformed Attribute List" ;;
5706         02) suberror="Unrecognized Well-known Attribute" ;;
5707         03) suberror="Missing Well-known Attribute" ;;
5708         04) suberror="Attribute Flags Error" ;;
5709         05) suberror="Attribute Length Error" ;;
5710         06) suberror="Invalid ORIGIN Attribute" ;;
5711         07) suberror="AS Routing Loop" ;;
5712         08) suberror="Invalid NEXT_HOP Attribute" ;;
5713         09) suberror="Optional Attribute Error" ;;
5714         10) suberror="Invalid Network Field" ;;
5715         11) suberror="Malformed AS_PATH" ;;
5716         *) suberror="Unknown" ;;
5717       esac
5718       ;;
5719     04)
5720       error="Hold Timer Expired"
5721       suberror=""
5722       ;;
5723     05)
5724       error="Finite State Machine Error"
5725       suberror=""
5726       ;;
5727     06)
5728       error="Cease"
5729       case "$suberrorcode" in
5730         01) suberror="Maximum Number of Prefixes Reached" ;;
5731         02) suberror="Administratively Shutdown" ;;
5732         03) suberror="Peer Unconfigured" ;;
5733         04) suberror="Administratively Reset" ;;
5734         05) suberror="Connection Rejected" ;;
5735         06) suberror="Other Configuration Change" ;;
5736         07) suberror="Connection collision resolution" ;;
5737         08) suberror="Out of Resource" ;;
5738         09) suberror="MAX" ;;
5739         *) suberror="Unknown" ;;
5740       esac
5741       ;;
5742     *)
5743       error="Unknown"
5744       suberror=""
5745       ;;
5746   esac
5748   # create textual message from errorcodes
5749   if [ "x$suberror" == "x" ]; then
5750     NOTIFY="$errorcode ($error)"
5751   else
5752     NOTIFY="$errorcode/$suberrorcode ($error/$suberror)"
5753   fi
5756   # form a decent subject
5757   SUBJECT="$TYPE: $ROUTER [bgp] $peer is $peerstate: $NOTIFY"
5758   # create the email body
5759   MAIL=`cat << EOF
5760   BGP notification on router $ROUTER.
5762   Peer: $peer
5763   AS: $remoteas
5764   New state: $peerstate
5765   Notification: $NOTIFY
5767   Info:
5768   $asname
5769   $asdescr
5771   Snmpd uptime: $uptime
5772   EOF`
5774   # mail the notification
5775   echo "$MAIL" | mail -s "$SUBJECT" $EMAILADDR
5777 \x1f
5778 File: quagga.info,  Node: Zebra Protocol,  Next: Packet Binary Dump Format,  Prev: SNMP Support,  Up: Top
5780 Appendix A Zebra Protocol
5781 *************************
5783 Zebra Protocol is a protocol which is used between protocol daemon and
5784 zebra.  Each protocol daemon sends selected routes to zebra daemon.
5785 Then zebra manages which route is installed into the forwarding table.
5787    Zebra Protocol is a TCP-based protocol.  Below is common header of
5788 Zebra Protocol.
5790      0                   1                   2                   3
5791      0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
5792      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
5793      |           Length (2)          |   Command (1) |
5794      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
5796    Length is total packet length including this header length.  So
5797 minimum length is three.  Command is Zebra Protocol command.
5799      ZEBRA_INTERFACE_ADD                1
5800      ZEBRA_INTERFACE_DELETE             2
5801      ZEBRA_INTERFACE_ADDRESS_ADD        3
5802      ZEBRA_INTERFACE_ADDRESS_DELETE     4
5803      ZEBRA_INTERFACE_UP                 5
5804      ZEBRA_INTERFACE_DOWN               6
5805      ZEBRA_IPV4_ROUTE_ADD               7
5806      ZEBRA_IPV4_ROUTE_DELETE            8
5807      ZEBRA_IPV6_ROUTE_ADD               9
5808      ZEBRA_IPV6_ROUTE_DELETE           10
5809      ZEBRA_REDISTRIBUTE_ADD            11
5810      ZEBRA_REDISTRIBUTE_DELETE         12
5811      ZEBRA_REDISTRIBUTE_DEFAULT_ADD    13
5812      ZEBRA_REDISTRIBUTE_DEFAULT_DELETE 14
5813      ZEBRA_IPV4_NEXTHOP_LOOKUP         15
5814      ZEBRA_IPV6_NEXTHOP_LOOKUP         16
5816      0                   1                   2                   3
5817      0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
5818      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
5819      |             Type              |             Flags             |
5820      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
5822 \x1f
5823 File: quagga.info,  Node: Packet Binary Dump Format,  Next: Command Index,  Prev: Zebra Protocol,  Up: Top
5825 Appendix B Packet Binary Dump Format
5826 ************************************
5828 Quagga can dump routing protocol packet into file with a binary format
5829 (*note Dump BGP packets and table::).
5831    It seems to be better that we share the MRT's header format for
5832 backward compatibility with MRT's dump logs. We should also define the
5833 binary format excluding the header, because we must support both IP v4
5834 and v6 addresses as socket addresses and / or routing entries.
5836    In the last meeting, we discussed to have a version field in the
5837 header. But Masaki told us that we can define new `type' value rather
5838 than having a `version' field, and it seems to be better because we
5839 don't need to change header format.
5841    Here is the common header format. This is same as that of MRT.
5843      0                   1                   2                   3
5844      0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
5845      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
5846      |                              Time                             |
5847      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
5848      |             Type              |            Subtype            |
5849      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
5850      |                             Length                            |
5851      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
5853    If `type' is PROTOCOL_BGP4MP, `subtype' is BGP4MP_STATE_CHANGE, and
5854 Address Family == IP (version 4)
5856       0                   1                   2                   3
5857       0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
5858      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
5859      |        Source AS number       |     Destination AS number     |
5860      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
5861      |        Interface Index        |      Address Family           |
5862      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
5863      |                        Source IP address                      |
5864      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
5865      |                     Destination IP address                    |
5866      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
5867      |            Old State          |           New State           |
5868      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
5870    Where State is the value defined in RFC1771.
5872    If `type' is PROTOCOL_BGP4MP, `subtype' is BGP4MP_STATE_CHANGE, and
5873 Address Family == IP version 6
5875       0                   1                   2                   3
5876       0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
5877      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
5878      |        Source AS number       |     Destination AS number     |
5879      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
5880      |        Interface Index        |      Address Family           |
5881      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
5882      |                        Source IP address                      |
5883      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
5884      |                        Source IP address (Cont'd)             |
5885      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
5886      |                        Source IP address (Cont'd)             |
5887      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
5888      |                        Source IP address (Cont'd)             |
5889      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
5890      |                     Destination IP address                    |
5891      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
5892      |                     Destination IP address (Cont'd)           |
5893      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
5894      |                     Destination IP address (Cont'd)           |
5895      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
5896      |                     Destination IP address (Cont'd)           |
5897      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
5898      |            Old State          |           New State           |
5899      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
5901    If `type' is PROTOCOL_BGP4MP, `subtype' is BGP4MP_MESSAGE, and
5902 Address Family == IP (version 4)
5904       0                   1                   2                   3
5905       0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
5906      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
5907      |        Source AS number       |     Destination AS number     |
5908      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
5909      |        Interface Index        |      Address Family           |
5910      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
5911      |                        Source IP address                      |
5912      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
5913      |                     Destination IP address                    |
5914      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
5915      |                       BGP Message Packet                      |
5916      |                                                               |
5917      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
5919    Where BGP Message Packet is the whole contents of the BGP4 message
5920 including header portion.
5922    If `type' is PROTOCOL_BGP4MP, `subtype' is BGP4MP_MESSAGE, and
5923 Address Family == IP version 6
5925       0                   1                   2                   3
5926       0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
5927      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
5928      |        Source AS number       |     Destination AS number     |
5929      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
5930      |        Interface Index        |      Address Family           |
5931      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
5932      |                        Source IP address                      |
5933      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
5934      |                        Source IP address (Cont'd)             |
5935      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
5936      |                        Source IP address (Cont'd)             |
5937      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
5938      |                        Source IP address (Cont'd)             |
5939      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
5940      |                     Destination IP address                    |
5941      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
5942      |                     Destination IP address (Cont'd)           |
5943      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
5944      |                     Destination IP address (Cont'd)           |
5945      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
5946      |                     Destination IP address (Cont'd)           |
5947      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
5948      |                       BGP Message Packet                      |
5949      |                                                               |
5950      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
5952    If `type' is PROTOCOL_BGP4MP, `subtype' is BGP4MP_ENTRY, and Address
5953 Family == IP (version 4)
5955       0                   1                   2                   3
5956       0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
5957      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
5958      |            View #             |            Status             |
5959      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
5960      |                        Time Last Change                       |
5961      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
5962      |       Address Family          |    SAFI       | Next-Hop-Len  |
5963      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
5964      |                        Next Hop Address                       |
5965      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
5966      | Prefix Length |             Address Prefix [variable]         |
5967      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
5968      |       Attribute Length        |
5969      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
5970      |      BGP Attribute [variable length]                     |
5971      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
5973    If `type' is PROTOCOL_BGP4MP, `subtype' is BGP4MP_ENTRY, and Address
5974 Family == IP version 6
5976       0                   1                   2                   3
5977       0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
5978      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
5979      |            View #             |            Status             |
5980      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
5981      |                        Time Last Change                       |
5982      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
5983      |       Address Family          |    SAFI       | Next-Hop-Len  |
5984      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
5985      |                        Next Hop Address                       |
5986      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
5987      |                        Next Hop Address (Cont'd)              |
5988      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
5989      |                        Next Hop Address (Cont'd)              |
5990      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
5991      |                        Next Hop Address (Cont'd)              |
5992      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
5993      | Prefix Length |             Address Prefix [variable]         |
5994      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
5995      |     Address Prefix (cont'd) [variable]        |
5996      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
5997      |       Attribute Length        |
5998      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
5999      |      BGP Attribute [variable length]                         |
6000      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
6002         BGP4 Attribute must not contain MP_UNREACH_NLRI.        If BGP Attribute
6003 has MP_REACH_NLRI field, it must has    zero length NLRI, e.g.,
6004 MP_REACH_NLRI has only Address  Family, SAFI and next-hop values.
6006    If `type' is PROTOCOL_BGP4MP and `subtype' is BGP4MP_SNAPSHOT,
6008       0                   1                   2                   3
6009       0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
6010      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
6011      |           View #              |       File Name [variable]    |
6012      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
6014    The file specified in "File Name" contains all routing entries,
6015 which are in the format of "subtype == BGP4MP_ENTRY".
6017      Constants:
6018        /* type value */
6019        #define MSG_PROTOCOL_BGP4MP 16
6020        /* subtype value */
6021        #define BGP4MP_STATE_CHANGE 0
6022        #define BGP4MP_MESSAGE 1
6023        #define BGP4MP_ENTRY 2
6024        #define BGP4MP_SNAPSHOT 3
6026 \x1f
6027 File: quagga.info,  Node: Command Index,  Next: VTY Key Index,  Prev: Packet Binary Dump Format,  Up: Top
6029 Command Index
6030 *************
6032 \0\b[index\0\b]
6033 * Menu:
6035 * access-class ACCESS-LIST:              Basic Config Commands.
6036                                                               (line 128)
6037 * access-list NAME deny IPV4-NETWORK:    IP Access List.      (line   8)
6038 * access-list NAME permit IPV4-NETWORK:  IP Access List.      (line   7)
6039 * aggregate-address A.B.C.D/M:           Route Aggregation.   (line   7)
6040 * aggregate-address A.B.C.D/M as-set:    Route Aggregation.   (line  10)
6041 * aggregate-address A.B.C.D/M summary-only: Route Aggregation.
6042                                                               (line  14)
6043 * area <0-4294967295> authentication:    OSPF area.           (line 127)
6044 * area <0-4294967295> authentication message-digest: OSPF area.
6045                                                               (line 134)
6046 * area <0-4294967295> export-list NAME:  OSPF area.           (line  85)
6047 * area <0-4294967295> filter-list prefix NAME in: OSPF area.  (line 117)
6048 * area <0-4294967295> filter-list prefix NAME out: OSPF area. (line 118)
6049 * area <0-4294967295> import-list NAME:  OSPF area.           (line 109)
6050 * area <0-4294967295> range A.B.C.D/M:   OSPF area.           (line   8)
6051 * area <0-4294967295> shortcut:          OSPF area.           (line  55)
6052 * area <0-4294967295> stub:              OSPF area.           (line  62)
6053 * area <0-4294967295> stub no-summary:   OSPF area.           (line  74)
6054 * area <0-4294967295> virtual-link A.B.C.D: OSPF area.        (line  50)
6055 * area A.B.C.D authentication:           OSPF area.           (line 126)
6056 * area A.B.C.D authentication message-digest: OSPF area.      (line 133)
6057 * area A.B.C.D default-cost <0-16777215>: OSPF area.          (line  80)
6058 * area A.B.C.D export-list NAME:         OSPF area.           (line  84)
6059 * area A.B.C.D filter-list prefix NAME in: OSPF area.         (line 115)
6060 * area A.B.C.D filter-list prefix NAME out: OSPF area.        (line 116)
6061 * area A.B.C.D import-list NAME:         OSPF area.           (line 108)
6062 * area A.B.C.D range A.B.C.D/M:          OSPF area.           (line   7)
6063 * area A.B.C.D range IPV4_PREFIX not-advertise: OSPF area.    (line  28)
6064 * area A.B.C.D range IPV4_PREFIX substitute IPV4_PREFIX: OSPF area.
6065                                                               (line  34)
6066 * area A.B.C.D shortcut:                 OSPF area.           (line  54)
6067 * area A.B.C.D stub:                     OSPF area.           (line  61)
6068 * area A.B.C.D stub no-summary:          OSPF area.           (line  73)
6069 * area A.B.C.D virtual-link A.B.C.D:     OSPF area.           (line  49)
6070 * auto-cost reference-bandwidth <1-4294967>: OSPF router.     (line 143)
6071 * bandwidth <1-10000000>:                Interface Commands.  (line  31)
6072 * banner motd default:                   Basic Config Commands.
6073                                                               (line 110)
6074 * bgp bestpath as-path confed:           BGP decision process.
6075                                                               (line  19)
6076 * bgp cluster-id A.B.C.D:                Route Reflector.     (line   7)
6077 * bgp config-type cisco:                 Multiple instance.   (line  20)
6078 * bgp config-type zebra:                 Multiple instance.   (line  53)
6079 * bgp multiple-instance:                 Multiple instance.   (line  10)
6080 * bgp router-id A.B.C.D:                 BGP router.          (line  22)
6081 * call NAME:                             Route Map Call Command.
6082                                                               (line   7)
6083 * call WORD:                             Commands for configuring a Route Server.
6084                                                               (line  52)
6085 * clear ip bgp PEER:                     More Show IP BGP.    (line  25)
6086 * clear ip bgp PEER soft in:             More Show IP BGP.    (line  28)
6087 * clear ip prefix-list:                  Clear counter of ip prefix-list.
6088                                                               (line   7)
6089 * clear ip prefix-list NAME:             Clear counter of ip prefix-list.
6090                                                               (line  11)
6091 * clear ip prefix-list NAME A.B.C.D/M:   Clear counter of ip prefix-list.
6092                                                               (line  13)
6093 * configure terminal:                    Terminal Mode Commands.
6094                                                               (line  13)
6095 * continue:                              Route Map Exit Action Command.
6096                                                               (line   8)
6097 * continue N:                            Route Map Exit Action Command.
6098                                                               (line  12)
6099 * debug event:                           More Show IP BGP.    (line  33)
6100 * debug keepalive:                       More Show IP BGP.    (line  37)
6101 * debug ospf ism:                        Debugging OSPF.      (line  12)
6102 * debug ospf ism (status|events|timers): Debugging OSPF.      (line  13)
6103 * debug ospf lsa:                        Debugging OSPF.      (line  22)
6104 * debug ospf lsa (generate|flooding|refresh): Debugging OSPF. (line  23)
6105 * debug ospf nsm:                        Debugging OSPF.      (line  17)
6106 * debug ospf nsm (status|events|timers): Debugging OSPF.      (line  18)
6107 * debug ospf packet (hello|dd|ls-request|ls-update|ls-ack|all) (send|recv) [detail]: Debugging OSPF.
6108                                                               (line   8)
6109 * debug ospf zebra:                      Debugging OSPF.      (line  27)
6110 * debug ospf zebra (interface|redistribute): Debugging OSPF.  (line  28)
6111 * debug rip events:                      RIP Debug Commands.  (line   9)
6112 * debug rip packet:                      RIP Debug Commands.  (line  15)
6113 * debug rip zebra:                       RIP Debug Commands.  (line  22)
6114 * debug ripng events:                    ripngd Terminal Mode Commands.
6115                                                               (line  11)
6116 * debug ripng packet:                    ripngd Terminal Mode Commands.
6117                                                               (line  13)
6118 * debug ripng zebra:                     ripngd Terminal Mode Commands.
6119                                                               (line  15)
6120 * debug update:                          More Show IP BGP.    (line  35)
6121 * default-information originate <1>:     Redistribute routes to OSPF.
6122                                                               (line  27)
6123 * default-information originate:         How to Announce RIP route.
6124                                                               (line  51)
6125 * default-information originate always:  Redistribute routes to OSPF.
6126                                                               (line  33)
6127 * default-information originate always metric <0-16777214>: Redistribute routes to OSPF.
6128                                                               (line  35)
6129 * default-information originate always metric <0-16777214> metric-type (1|2): Redistribute routes to OSPF.
6130                                                               (line  37)
6131 * default-information originate always metric <0-16777214> metric-type (1|2) route-map WORD: Redistribute routes to OSPF.
6132                                                               (line  39)
6133 * default-information originate metric <0-16777214>: Redistribute routes to OSPF.
6134                                                               (line  28)
6135 * default-information originate metric <0-16777214> metric-type (1|2): Redistribute routes to OSPF.
6136                                                               (line  30)
6137 * default-information originate metric <0-16777214> metric-type (1|2) route-map WORD: Redistribute routes to OSPF.
6138                                                               (line  32)
6139 * default-metric <0-16777214>:           Redistribute routes to OSPF.
6140                                                               (line  52)
6141 * default-metric <1-16>:                 RIP Metric Manipulation.
6142                                                               (line  11)
6143 * description DESCRIPTION ...:           Interface Commands.  (line  24)
6144 * distance <1-255> <1>:                  Redistribute routes to OSPF.
6145                                                               (line  55)
6146 * distance <1-255>:                      RIP distance.        (line   9)
6147 * distance <1-255> A.B.C.D/M <1>:        BGP distance.        (line  12)
6148 * distance <1-255> A.B.C.D/M:            RIP distance.        (line  13)
6149 * distance <1-255> A.B.C.D/M ACCESS-LIST: RIP distance.       (line  18)
6150 * distance <1-255> A.B.C.D/M WORD:       BGP distance.        (line  13)
6151 * distance bgp <1-255> <1-255> <1-255>:  BGP distance.        (line   7)
6152 * distance ospf (intra-area|inter-area|external) <1-255>: Redistribute routes to OSPF.
6153                                                               (line  59)
6154 * distribute-list ACCESS_LIST (in|out) IFNAME: ripngd Filtering Commands.
6155                                                               (line   7)
6156 * distribute-list ACCESS_LIST DIRECT IFNAME: Filtering RIP Routes.
6157                                                               (line   9)
6158 * distribute-list NAME out (kernel|connected|static|rip|ospf: Redistribute routes to OSPF.
6159                                                               (line  48)
6160 * distribute-list prefix PREFIX_LIST (in|out) IFNAME: Filtering RIP Routes.
6161                                                               (line  32)
6162 * dump bgp all PATH:                     Dump BGP packets and table.
6163                                                               (line   7)
6164 * dump bgp all PATH INTERVAL:            Dump BGP packets and table.
6165                                                               (line   8)
6166 * dump bgp routes PATH:                  Dump BGP packets and table.
6167                                                               (line  15)
6168 * dump bgp updates PATH:                 Dump BGP packets and table.
6169                                                               (line  11)
6170 * dump bgp updates PATH INTERVAL:        Dump BGP packets and table.
6171                                                               (line  12)
6172 * enable password PASSWORD:              Basic Config Commands.
6173                                                               (line  14)
6174 * exec-timeout MINUTE:                   Basic Config Commands.
6175                                                               (line 116)
6176 * exec-timeout MINUTE SECOND:            Basic Config Commands.
6177                                                               (line 117)
6178 * flush_timer TIME:                      ripngd Configuration.
6179                                                               (line  12)
6180 * hostname HOSTNAME:                     Basic Config Commands.
6181                                                               (line   7)
6182 * interface IFNAME:                      Interface Commands.  (line   7)
6183 * interface IFNAME area AREA:            OSPF6 router.        (line  12)
6184 * ip address ADDRESS/PREFIX:             Interface Commands.  (line  13)
6185 * ip address ADDRESS/PREFIX secondary:   Interface Commands.  (line  19)
6186 * ip as-path access-list WORD {permit|deny} LINE: AS Path Access List.
6187                                                               (line   9)
6188 * ip community-list <1-99> {permit|deny} COMMUNITY: Numbered BGP Community Lists.
6189                                                               (line  14)
6190 * ip community-list <100-199> {permit|deny} COMMUNITY: Numbered BGP Community Lists.
6191                                                               (line  20)
6192 * ip community-list expanded NAME {permit|deny} LINE: BGP Community Lists.
6193                                                               (line  30)
6194 * ip community-list NAME {permit|deny} COMMUNITY: Numbered BGP Community Lists.
6195                                                               (line  25)
6196 * ip community-list standard NAME {permit|deny} COMMUNITY: BGP Community Lists.
6197                                                               (line  20)
6198 * ip extcommunity-list expanded NAME {permit|deny} LINE: BGP Extended Community Lists.
6199                                                               (line  21)
6200 * ip extcommunity-list standard NAME {permit|deny} EXTCOMMUNITY: BGP Extended Community Lists.
6201                                                               (line  10)
6202 * ip ospf authentication-key AUTH_KEY:   OSPF interface.      (line   7)
6203 * ip ospf cost <1-65535>:                OSPF interface.      (line  30)
6204 * ip ospf dead-interval <1-65535>:       OSPF interface.      (line  35)
6205 * ip ospf dead-interval minimal hello-multiplier <2-20>: OSPF interface.
6206                                                               (line  37)
6207 * ip ospf hello-interval <1-65535>:      OSPF interface.      (line  54)
6208 * ip ospf message-digest-key KEYID md5 KEY: OSPF interface.   (line  13)
6209 * ip ospf network (broadcast|non-broadcast|point-to-multipoint|point-to-point): OSPF interface.
6210                                                               (line  65)
6211 * ip ospf priority <0-255>:              OSPF interface.      (line  69)
6212 * ip ospf retransmit-interval <1-65535>: OSPF interface.      (line  76)
6213 * ip ospf transmit-delay:                OSPF interface.      (line  82)
6214 * ip prefix-list NAME (permit|deny) PREFIX [le LEN] [ge LEN]: IP Prefix List.
6215                                                               (line  16)
6216 * ip prefix-list NAME description DESC:  ip prefix-list description.
6217                                                               (line   7)
6218 * ip prefix-list NAME seq NUMBER (permit|deny) PREFIX [le LEN] [ge LEN]: IP Prefix List.
6219                                                               (line  18)
6220 * ip prefix-list sequence-number:        ip prefix-list sequential number control.
6221                                                               (line   7)
6222 * ip rip authentication key-chain KEY-CHAIN: RIP Authentication.
6223                                                               (line  21)
6224 * ip rip authentication mode md5:        RIP Authentication.  (line   7)
6225 * ip rip authentication mode text:       RIP Authentication.  (line  11)
6226 * ip rip authentication string STRING:   RIP Authentication.  (line  15)
6227 * ip rip receive version VERSION:        RIP Configuration.   (line  90)
6228 * ip rip send version VERSION:           RIP Configuration.   (line  81)
6229 * ip route NETWORK GATEWAY:              Static Route Commands.
6230                                                               (line  10)
6231 * ip route NETWORK GATEWAY DISTANCE:     Static Route Commands.
6232                                                               (line  36)
6233 * ip route NETWORK NETMASK GATEWAY:      Static Route Commands.
6234                                                               (line  25)
6235 * ip split-horizon:                      RIP Configuration.   (line  99)
6236 * ip6 address ADDRESS/PREFIX:            Interface Commands.  (line  14)
6237 * ipv6 nd adv-interval-option:           Router Advertisement.
6238                                                               (line 127)
6239 * ipv6 nd home-agent-config-flag:        Router Advertisement.
6240                                                               (line 104)
6241 * ipv6 nd home-agent-lifetime:           Router Advertisement.
6242                                                               (line 119)
6243 * ipv6 nd home-agent-preference:         Router Advertisement.
6244                                                               (line 112)
6245 * ipv6 nd managed-config-flag:           Router Advertisement.
6246                                                               (line  87)
6247 * ipv6 nd other-config-flag:             Router Advertisement.
6248                                                               (line  96)
6249 * ipv6 nd prefix IPV6PREFIX [VALID-LIFETIME] [PREFERRED-LIFETIME] [off-link] [no-autoconfig] [router-address]: Router Advertisement.
6250                                                               (line  14)
6251 * ipv6 nd ra-interval msec MILLISECONDS: Router Advertisement.
6252                                                               (line  57)
6253 * ipv6 nd ra-interval SECONDS:           Router Advertisement.
6254                                                               (line  49)
6255 * ipv6 nd ra-lifetime SECONDS:           Router Advertisement.
6256                                                               (line  65)
6257 * ipv6 nd reachable-time MILLISECONDS:   Router Advertisement.
6258                                                               (line  77)
6259 * ipv6 nd suppress-ra:                   Router Advertisement.
6260                                                               (line  10)
6261 * ipv6 ospf6 cost COST:                  OSPF6 interface.     (line   7)
6262 * ipv6 ospf6 dead-interval DEADINTERVAL: OSPF6 interface.     (line  13)
6263 * ipv6 ospf6 hello-interval HELLOINTERVAL: OSPF6 interface.   (line  10)
6264 * ipv6 ospf6 priority PRIORITY:          OSPF6 interface.     (line  20)
6265 * ipv6 ospf6 retransmit-interval RETRANSMITINTERVAL: OSPF6 interface.
6266                                                               (line  17)
6267 * ipv6 ospf6 transmit-delay TRANSMITDELAY: OSPF6 interface.   (line  23)
6268 * ipv6 route NETWORK GATEWAY:            Static Route Commands.
6269                                                               (line  77)
6270 * ipv6 route NETWORK GATEWAY DISTANCE:   Static Route Commands.
6271                                                               (line  78)
6272 * line vty:                              Basic Config Commands.
6273                                                               (line 107)
6274 * link-detect:                           Interface Commands.  (line  37)
6275 * list:                                  Terminal Mode Commands.
6276                                                               (line  24)
6277 * log facility FACILITY:                 Basic Config Commands.
6278                                                               (line  81)
6279 * log file FILENAME:                     Basic Config Commands.
6280                                                               (line  41)
6281 * log file FILENAME LEVEL:               Basic Config Commands.
6282                                                               (line  42)
6283 * log monitor:                           Basic Config Commands.
6284                                                               (line  68)
6285 * log monitor LEVEL:                     Basic Config Commands.
6286                                                               (line  69)
6287 * log record-priority:                   Basic Config Commands.
6288                                                               (line  87)
6289 * log stdout:                            Basic Config Commands.
6290                                                               (line  28)
6291 * log stdout LEVEL:                      Basic Config Commands.
6292                                                               (line  29)
6293 * log syslog:                            Basic Config Commands.
6294                                                               (line  59)
6295 * log syslog LEVEL:                      Basic Config Commands.
6296                                                               (line  60)
6297 * log trap LEVEL:                        Basic Config Commands.
6298                                                               (line  17)
6299 * logmsg LEVEL MESSAGE:                  Terminal Mode Commands.
6300                                                               (line  34)
6301 * match as-path WORD:                    Using AS Path in Route Map.
6302                                                               (line   7)
6303 * match aspath AS_PATH:                  Route Map Match Command.
6304                                                               (line  13)
6305 * match community COMMUNITY_LIST:        Route Map Match Command.
6306                                                               (line  19)
6307 * match community WORD:                  BGP Community in Route Map.
6308                                                               (line  13)
6309 * match community WORD exact-match:      BGP Community in Route Map.
6310                                                               (line  14)
6311 * match extcommunity WORD:               BGP Extended Communities in Route Map.
6312                                                               (line   7)
6313 * match interface WORD:                  RIP route-map.       (line  26)
6314 * match ip address ACCESS_LIST:          Route Map Match Command.
6315                                                               (line   7)
6316 * match ip address prefix-list WORD:     RIP route-map.       (line  39)
6317 * match ip address WORD:                 RIP route-map.       (line  38)
6318 * match ip next-hop A.B.C.D:             RIP route-map.       (line  42)
6319 * match ip next-hop IPV4_ADDR:           Route Map Match Command.
6320                                                               (line  10)
6321 * match metric <0-4294967295>:           RIP route-map.       (line  47)
6322 * match metric METRIC:                   Route Map Match Command.
6323                                                               (line  16)
6324 * match peer {A.B.C.D|X:X::X:X}:         Commands for configuring a Route Server.
6325                                                               (line  34)
6326 * max-metric router-lsa [on-startup|on-shutdown] <5-86400>: OSPF router.
6327                                                               (line 110)
6328 * max-metric router-lsa administrative:  OSPF router.         (line 111)
6329 * multicast:                             Interface Commands.  (line  27)
6330 * neigbor {A.B.C.D|X.X::X.X|peer-group} route-map WORD {import|export}: Commands for configuring a Route Server.
6331                                                               (line  29)
6332 * neighbor A.B.C.D:                      RIP Configuration.   (line  45)
6333 * neighbor A.B.C.D route-server-client:  Commands for configuring a Route Server.
6334                                                               (line  11)
6335 * neighbor PEER default-originate:       BGP Peer commands.   (line  47)
6336 * neighbor PEER description ...:         BGP Peer commands.   (line  20)
6337 * neighbor PEER distribute-list NAME [in|out]: Peer filtering.
6338                                                               (line   7)
6339 * neighbor PEER dont-capability-negotiate: Capability Negotiation.
6340                                                               (line  51)
6341 * neighbor PEER ebgp-multihop:           BGP Peer commands.   (line  17)
6342 * neighbor PEER filter-list NAME [in|out]: Peer filtering.    (line  13)
6343 * neighbor PEER interface IFNAME:        BGP Peer commands.   (line  33)
6344 * neighbor PEER maximum-prefix NUMBER:   BGP Peer commands.   (line  64)
6345 * neighbor PEER next-hop-self:           BGP Peer commands.   (line  39)
6346 * neighbor PEER override-capability:     Capability Negotiation.
6347                                                               (line  67)
6348 * neighbor PEER peer-group WORD:         BGP Peer Group.      (line  10)
6349 * neighbor PEER port PORT:               BGP Peer commands.   (line  53)
6350 * neighbor PEER prefix-list NAME [in|out]: Peer filtering.    (line  11)
6351 * neighbor PEER remote-as ASN:           Defining Peer.       (line   7)
6352 * neighbor PEER route-map NAME [in|out]: Peer filtering.      (line  15)
6353 * neighbor PEER route-reflector-client:  Route Reflector.     (line   9)
6354 * neighbor PEER send-community:          BGP Peer commands.   (line  56)
6355 * neighbor PEER shutdown:                BGP Peer commands.   (line  10)
6356 * neighbor PEER strict-capability-match: Capability Negotiation.
6357                                                               (line  40)
6358 * neighbor PEER update-source:           BGP Peer commands.   (line  44)
6359 * neighbor PEER version VERSION:         BGP Peer commands.   (line  24)
6360 * neighbor PEER weight WEIGHT:           BGP Peer commands.   (line  59)
6361 * neighbor PEER-GROUP route-server-client: Commands for configuring a Route Server.
6362                                                               (line  10)
6363 * neighbor WORD peer-group:              BGP Peer Group.      (line   7)
6364 * neighbor X:X::X:X route-server-client: Commands for configuring a Route Server.
6365                                                               (line  12)
6366 * network A.B.C.D/M:                     BGP route.           (line   7)
6367 * network A.B.C.D/M area <0-4294967295>: OSPF router.         (line 155)
6368 * network A.B.C.D/M area A.B.C.D:        OSPF router.         (line 154)
6369 * network IFNAME <1>:                    ripngd Configuration.
6370                                                               (line  18)
6371 * network IFNAME:                        RIP Configuration.   (line  38)
6372 * network NETWORK <1>:                   ripngd Configuration.
6373                                                               (line  15)
6374 * network NETWORK:                       RIP Configuration.   (line  26)
6375 * no aggregate-address A.B.C.D/M:        Route Aggregation.   (line  18)
6376 * no area <0-4294967295> authentication: OSPF area.           (line 129)
6377 * no area <0-4294967295> export-list NAME: OSPF area.         (line  87)
6378 * no area <0-4294967295> filter-list prefix NAME in: OSPF area.
6379                                                               (line 121)
6380 * no area <0-4294967295> filter-list prefix NAME out: OSPF area.
6381                                                               (line 122)
6382 * no area <0-4294967295> import-list NAME: OSPF area.         (line 111)
6383 * no area <0-4294967295> range A.B.C.D/M: OSPF area.          (line  10)
6384 * no area <0-4294967295> shortcut:       OSPF area.           (line  57)
6385 * no area <0-4294967295> stub:           OSPF area.           (line  64)
6386 * no area <0-4294967295> stub no-summary: OSPF area.          (line  76)
6387 * no area <0-4294967295> virtual-link A.B.C.D: OSPF area.     (line  52)
6388 * no area A.B.C.D authentication:        OSPF area.           (line 128)
6389 * no area A.B.C.D default-cost <0-16777215>: OSPF area.       (line  81)
6390 * no area A.B.C.D export-list NAME:      OSPF area.           (line  86)
6391 * no area A.B.C.D filter-list prefix NAME in: OSPF area.      (line 119)
6392 * no area A.B.C.D filter-list prefix NAME out: OSPF area.     (line 120)
6393 * no area A.B.C.D import-list NAME:      OSPF area.           (line 110)
6394 * no area A.B.C.D range A.B.C.D/M:       OSPF area.           (line   9)
6395 * no area A.B.C.D range IPV4_PREFIX not-advertise: OSPF area. (line  29)
6396 * no area A.B.C.D range IPV4_PREFIX substitute IPV4_PREFIX: OSPF area.
6397                                                               (line  36)
6398 * no area A.B.C.D shortcut:              OSPF area.           (line  56)
6399 * no area A.B.C.D stub:                  OSPF area.           (line  63)
6400 * no area A.B.C.D stub no-summary:       OSPF area.           (line  75)
6401 * no area A.B.C.D virtual-link A.B.C.D:  OSPF area.           (line  51)
6402 * no auto-cost reference-bandwidth:      OSPF router.         (line 144)
6403 * no bandwidth <1-10000000>:             Interface Commands.  (line  32)
6404 * no banner motd:                        Basic Config Commands.
6405                                                               (line 113)
6406 * no bgp multiple-instance:              Multiple instance.   (line  14)
6407 * no debug event:                        More Show IP BGP.    (line  39)
6408 * no debug keepalive:                    More Show IP BGP.    (line  43)
6409 * no debug ospf ism:                     Debugging OSPF.      (line  14)
6410 * no debug ospf ism (status|events|timers): Debugging OSPF.   (line  15)
6411 * no debug ospf lsa:                     Debugging OSPF.      (line  24)
6412 * no debug ospf lsa (generate|flooding|refresh): Debugging OSPF.
6413                                                               (line  25)
6414 * no debug ospf nsm:                     Debugging OSPF.      (line  19)
6415 * no debug ospf nsm (status|events|timers): Debugging OSPF.   (line  20)
6416 * no debug ospf packet (hello|dd|ls-request|ls-update|ls-ack|all) (send|recv) [detail]: Debugging OSPF.
6417                                                               (line  10)
6418 * no debug ospf zebra:                   Debugging OSPF.      (line  29)
6419 * no debug ospf zebra (interface|redistribute): Debugging OSPF.
6420                                                               (line  30)
6421 * no debug update:                       More Show IP BGP.    (line  41)
6422 * no default-information originate:      Redistribute routes to OSPF.
6423                                                               (line  40)
6424 * no default-metric:                     Redistribute routes to OSPF.
6425                                                               (line  53)
6426 * no default-metric <1-16>:              RIP Metric Manipulation.
6427                                                               (line  12)
6428 * no distance <1-255> <1>:               Redistribute routes to OSPF.
6429                                                               (line  56)
6430 * no distance <1-255>:                   RIP distance.        (line  10)
6431 * no distance <1-255> A.B.C.D/M:         RIP distance.        (line  14)
6432 * no distance <1-255> A.B.C.D/M ACCESS-LIST: RIP distance.    (line  19)
6433 * no distance ospf:                      Redistribute routes to OSPF.
6434                                                               (line  60)
6435 * no distribute-list NAME out (kernel|connected|static|rip|ospf: Redistribute routes to OSPF.
6436                                                               (line  50)
6437 * no exec-timeout:                       Basic Config Commands.
6438                                                               (line 124)
6439 * no ip address ADDRESS/PREFIX:          Interface Commands.  (line  15)
6440 * no ip address ADDRESS/PREFIX secondary: Interface Commands. (line  20)
6441 * no ip as-path access-list WORD:        AS Path Access List. (line  12)
6442 * no ip as-path access-list WORD {permit|deny} LINE: AS Path Access List.
6443                                                               (line  13)
6444 * no ip community-list expanded NAME:    BGP Community Lists. (line  37)
6445 * no ip community-list NAME:             BGP Community Lists. (line  35)
6446 * no ip community-list standard NAME:    BGP Community Lists. (line  36)
6447 * no ip extcommunity-list expanded NAME: BGP Extended Community Lists.
6448                                                               (line  29)
6449 * no ip extcommunity-list NAME:          BGP Extended Community Lists.
6450                                                               (line  27)
6451 * no ip extcommunity-list standard NAME: BGP Extended Community Lists.
6452                                                               (line  28)
6453 * no ip ospf authentication-key:         OSPF interface.      (line   8)
6454 * no ip ospf cost:                       OSPF interface.      (line  31)
6455 * no ip ospf dead-interval:              OSPF interface.      (line  38)
6456 * no ip ospf hello-interval:             OSPF interface.      (line  55)
6457 * no ip ospf message-digest-key:         OSPF interface.      (line  14)
6458 * no ip ospf network:                    OSPF interface.      (line  66)
6459 * no ip ospf priority:                   OSPF interface.      (line  70)
6460 * no ip ospf retransmit interval:        OSPF interface.      (line  77)
6461 * no ip ospf transmit-delay:             OSPF interface.      (line  83)
6462 * no ip prefix-list NAME:                IP Prefix List.      (line  67)
6463 * no ip prefix-list NAME description [DESC]: ip prefix-list description.
6464                                                               (line  11)
6465 * no ip prefix-list sequence-number:     ip prefix-list sequential number control.
6466                                                               (line  11)
6467 * no ip rip authentication key-chain KEY-CHAIN: RIP Authentication.
6468                                                               (line  22)
6469 * no ip rip authentication mode md5:     RIP Authentication.  (line   8)
6470 * no ip rip authentication mode text:    RIP Authentication.  (line  12)
6471 * no ip rip authentication string STRING: RIP Authentication. (line  16)
6472 * no ip split-horizon:                   RIP Configuration.   (line 100)
6473 * no ip6 address ADDRESS/PREFIX:         Interface Commands.  (line  16)
6474 * no ipv6 nd adv-interval-option:        Router Advertisement.
6475                                                               (line 128)
6476 * no ipv6 nd home-agent-config-flag:     Router Advertisement.
6477                                                               (line 105)
6478 * no ipv6 nd home-agent-lifetime:        Router Advertisement.
6479                                                               (line 120)
6480 * no ipv6 nd home-agent-preference:      Router Advertisement.
6481                                                               (line 113)
6482 * no ipv6 nd managed-config-flag:        Router Advertisement.
6483                                                               (line  88)
6484 * no ipv6 nd other-config-flag:          Router Advertisement.
6485                                                               (line  97)
6486 * no ipv6 nd ra-interval:                Router Advertisement.
6487                                                               (line  50)
6488 * no ipv6 nd ra-interval msec:           Router Advertisement.
6489                                                               (line  58)
6490 * no ipv6 nd ra-lifetime:                Router Advertisement.
6491                                                               (line  66)
6492 * no ipv6 nd reachable-time:             Router Advertisement.
6493                                                               (line  78)
6494 * no ipv6 nd suppress-ra:                Router Advertisement.
6495                                                               (line   7)
6496 * no link-detect:                        Interface Commands.  (line  38)
6497 * no log facility:                       Basic Config Commands.
6498                                                               (line  82)
6499 * no log file:                           Basic Config Commands.
6500                                                               (line  43)
6501 * no log monitor:                        Basic Config Commands.
6502                                                               (line  70)
6503 * no log record-priority:                Basic Config Commands.
6504                                                               (line  88)
6505 * no log stdout:                         Basic Config Commands.
6506                                                               (line  30)
6507 * no log syslog:                         Basic Config Commands.
6508                                                               (line  61)
6509 * no log trap:                           Basic Config Commands.
6510                                                               (line  18)
6511 * no max-metric router-lsa [on-startup|on-shutdown|administrative]: OSPF router.
6512                                                               (line 113)
6513 * no multicast:                          Interface Commands.  (line  28)
6514 * no neighbor A.B.C.D:                   RIP Configuration.   (line  46)
6515 * no neighbor PEER default-originate:    BGP Peer commands.   (line  48)
6516 * no neighbor PEER description ...:      BGP Peer commands.   (line  21)
6517 * no neighbor PEER dont-capability-negotiate: Capability Negotiation.
6518                                                               (line  52)
6519 * no neighbor PEER ebgp-multihop:        BGP Peer commands.   (line  18)
6520 * no neighbor PEER interface IFNAME:     BGP Peer commands.   (line  34)
6521 * no neighbor PEER maximum-prefix NUMBER: BGP Peer commands.  (line  65)
6522 * no neighbor PEER next-hop-self:        BGP Peer commands.   (line  40)
6523 * no neighbor PEER override-capability:  Capability Negotiation.
6524                                                               (line  68)
6525 * no neighbor PEER route-reflector-client: Route Reflector.   (line  10)
6526 * no neighbor PEER shutdown:             BGP Peer commands.   (line  11)
6527 * no neighbor PEER strict-capability-match: Capability Negotiation.
6528                                                               (line  41)
6529 * no neighbor PEER update-source:        BGP Peer commands.   (line  45)
6530 * no neighbor PEER weight WEIGHT:        BGP Peer commands.   (line  60)
6531 * no network A.B.C.D/M:                  BGP route.           (line  17)
6532 * no network A.B.C.D/M area <0-4294967295>: OSPF router.      (line 157)
6533 * no network A.B.C.D/M area A.B.C.D:     OSPF router.         (line 156)
6534 * no network IFNAME:                     RIP Configuration.   (line  39)
6535 * no network NETWORK:                    RIP Configuration.   (line  27)
6536 * no ospf abr-type TYPE:                 OSPF router.         (line  27)
6537 * no ospf rfc1583compatibility:          OSPF router.         (line  49)
6538 * no ospf router-id:                     OSPF router.         (line  17)
6539 * no passive interface INTERFACE:        OSPF router.         (line  60)
6540 * no passive-interface IFNAME:           RIP Configuration.   (line  69)
6541 * no redistribute (kernel|connected|static|rip|bgp): Redistribute routes to OSPF.
6542                                                               (line  22)
6543 * no redistribute bgp:                   How to Announce RIP route.
6544                                                               (line  44)
6545 * no redistribute connected:             How to Announce RIP route.
6546                                                               (line  26)
6547 * no redistribute kernel:                How to Announce RIP route.
6548                                                               (line  10)
6549 * no redistribute ospf:                  How to Announce RIP route.
6550                                                               (line  36)
6551 * no redistribute static:                How to Announce RIP route.
6552                                                               (line  18)
6553 * no route A.B.C.D/M:                    How to Announce RIP route.
6554                                                               (line  54)
6555 * no router bgp ASN:                     BGP router.          (line  19)
6556 * no router ospf:                        OSPF router.         (line  11)
6557 * no router rip:                         RIP Configuration.   (line  12)
6558 * no router zebra:                       Redistribute routes to OSPF.
6559                                                               (line  63)
6560 * no shutdown:                           Interface Commands.  (line  10)
6561 * no smux peer OID:                      MIB and command reference.
6562                                                               (line  29)
6563 * no smux peer OID PASSWORD:             MIB and command reference.
6564                                                               (line  32)
6565 * no timers basic:                       RIP Timers.          (line  31)
6566 * no timers throttle spf:                OSPF router.         (line  72)
6567 * offset-list ACCESS-LIST (in|out):      RIP Metric Manipulation.
6568                                                               (line  20)
6569 * offset-list ACCESS-LIST (in|out) IFNAME: RIP Metric Manipulation.
6570                                                               (line  21)
6571 * on-match goto N:                       Route Map Exit Action Command.
6572                                                               (line  11)
6573 * on-match next:                         Route Map Exit Action Command.
6574                                                               (line   7)
6575 * ospf abr-type TYPE:                    OSPF router.         (line  26)
6576 * ospf rfc1583compatibility:             OSPF router.         (line  48)
6577 * ospf router-id A.B.C.D:                OSPF router.         (line  16)
6578 * passive interface INTERFACE:           OSPF router.         (line  59)
6579 * passive-interface (IFNAME|default):    RIP Configuration.   (line  68)
6580 * password PASSWORD:                     Basic Config Commands.
6581                                                               (line  10)
6582 * redistribute (kernel|connected|static|rip|bgp): Redistribute routes to OSPF.
6583                                                               (line   7)
6584 * redistribute (kernel|connected|static|rip|bgp) metric <0-16777214>: Redistribute routes to OSPF.
6585                                                               (line  15)
6586 * redistribute (kernel|connected|static|rip|bgp) metric <0-16777214> route-map WORD: Redistribute routes to OSPF.
6587                                                               (line  17)
6588 * redistribute (kernel|connected|static|rip|bgp) metric-type (1|2): Redistribute routes to OSPF.
6589                                                               (line  11)
6590 * redistribute (kernel|connected|static|rip|bgp) metric-type (1|2) metric <0-16777214>: Redistribute routes to OSPF.
6591                                                               (line  19)
6592 * redistribute (kernel|connected|static|rip|bgp) metric-type (1|2) metric <0-16777214> route-map WORD: Redistribute routes to OSPF.
6593                                                               (line  21)
6594 * redistribute (kernel|connected|static|rip|bgp) metric-type (1|2) route-map WORD: Redistribute routes to OSPF.
6595                                                               (line  13)
6596 * redistribute (kernel|connected|static|rip|bgp) ROUTE-MAP: Redistribute routes to OSPF.
6597                                                               (line   9)
6598 * redistribute bgp:                      How to Announce RIP route.
6599                                                               (line  41)
6600 * redistribute bgp metric <0-16>:        How to Announce RIP route.
6601                                                               (line  42)
6602 * redistribute bgp route-map ROUTE-MAP:  How to Announce RIP route.
6603                                                               (line  43)
6604 * redistribute connected <1>:            Redistribute to BGP. (line  13)
6605 * redistribute connected <2>:            Redistribute routes to OSPF6.
6606                                                               (line   8)
6607 * redistribute connected:                How to Announce RIP route.
6608                                                               (line  23)
6609 * redistribute connected metric <0-16>:  How to Announce RIP route.
6610                                                               (line  24)
6611 * redistribute connected route-map ROUTE-MAP: How to Announce RIP route.
6612                                                               (line  25)
6613 * redistribute kernel <1>:               Redistribute to BGP. (line   7)
6614 * redistribute kernel:                   How to Announce RIP route.
6615                                                               (line   7)
6616 * redistribute kernel metric <0-16>:     How to Announce RIP route.
6617                                                               (line   8)
6618 * redistribute kernel route-map ROUTE-MAP: How to Announce RIP route.
6619                                                               (line   9)
6620 * redistribute ospf <1>:                 Redistribute to BGP. (line  19)
6621 * redistribute ospf:                     How to Announce RIP route.
6622                                                               (line  33)
6623 * redistribute ospf metric <0-16>:       How to Announce RIP route.
6624                                                               (line  34)
6625 * redistribute ospf route-map ROUTE-MAP: How to Announce RIP route.
6626                                                               (line  35)
6627 * redistribute rip:                      Redistribute to BGP. (line  16)
6628 * redistribute ripng:                    Redistribute routes to OSPF6.
6629                                                               (line   9)
6630 * redistribute static <1>:               Redistribute to BGP. (line  10)
6631 * redistribute static <2>:               Redistribute routes to OSPF6.
6632                                                               (line   7)
6633 * redistribute static:                   How to Announce RIP route.
6634                                                               (line  15)
6635 * redistribute static metric <0-16>:     How to Announce RIP route.
6636                                                               (line  16)
6637 * redistribute static route-map ROUTE-MAP: How to Announce RIP route.
6638                                                               (line  17)
6639 * route A.B.C.D/M:                       How to Announce RIP route.
6640                                                               (line  53)
6641 * route NETWORK:                         ripngd Configuration.
6642                                                               (line  21)
6643 * route-map ROUTE-MAP-NAME (permit|deny) ORDER: Route Map Command.
6644                                                               (line   7)
6645 * router bgp AS-NUMBER:                  BGP instance and view.
6646                                                               (line  11)
6647 * router bgp AS-NUMBER view NAME:        BGP instance and view.
6648                                                               (line  28)
6649 * router bgp ASN:                        BGP router.          (line  13)
6650 * router ospf:                           OSPF router.         (line  10)
6651 * router ospf6:                          OSPF6 router.        (line   7)
6652 * router rip:                            RIP Configuration.   (line   7)
6653 * router ripng:                          ripngd Configuration.
6654                                                               (line   9)
6655 * router zebra <1>:                      Redistribute routes to OSPF.
6656                                                               (line  62)
6657 * router zebra:                          ripngd Configuration.
6658                                                               (line  24)
6659 * router-id A.B.C.D:                     OSPF6 router.        (line   9)
6660 * service advanced-vty:                  Basic Config Commands.
6661                                                               (line 100)
6662 * service integrated-vtysh-config:       VTY shell integrated configuration.
6663                                                               (line   7)
6664 * service password-encryption:           Basic Config Commands.
6665                                                               (line  97)
6666 * service terminal-length <0-512>:       Basic Config Commands.
6667                                                               (line 103)
6668 * set as-path prepend AS-PATH:           Using AS Path in Route Map.
6669                                                               (line   9)
6670 * set as-path prepend AS_PATH:           Route Map Set Command.
6671                                                               (line  19)
6672 * set comm-list WORD delete:             BGP Community in Route Map.
6673                                                               (line  34)
6674 * set community COMMUNITY <1>:           Route Map Set Command.
6675                                                               (line  22)
6676 * set community COMMUNITY:               BGP Community in Route Map.
6677                                                               (line  23)
6678 * set community COMMUNITY additive:      BGP Community in Route Map.
6679                                                               (line  24)
6680 * set community none:                    BGP Community in Route Map.
6681                                                               (line  22)
6682 * set extcommunity rt EXTCOMMUNITY:      BGP Extended Communities in Route Map.
6683                                                               (line   9)
6684 * set extcommunity soo EXTCOMMUNITY:     BGP Extended Communities in Route Map.
6685                                                               (line  12)
6686 * set ip next-hop A.B.C.D:               RIP route-map.       (line  52)
6687 * set ip next-hop IPV4_ADDRESS:          Route Map Set Command.
6688                                                               (line   7)
6689 * set ipv6 next-hop global IPV6_ADDRESS: Route Map Set Command.
6690                                                               (line  25)
6691 * set ipv6 next-hop local IPV6_ADDRESS:  Route Map Set Command.
6692                                                               (line  28)
6693 * set local-preference LOCAL_PREF:       Route Map Set Command.
6694                                                               (line  10)
6695 * set metric <0-4294967295>:             RIP route-map.       (line  57)
6696 * set metric METRIC:                     Route Map Set Command.
6697                                                               (line  16)
6698 * set weight WEIGHT:                     Route Map Set Command.
6699                                                               (line  13)
6700 * show debug:                            More Show IP BGP.    (line  31)
6701 * show debugging ospf:                   Debugging OSPF.      (line  32)
6702 * show debugging rip:                    RIP Debug Commands.  (line  29)
6703 * show debugging ripng:                  ripngd Terminal Mode Commands.
6704                                                               (line   9)
6705 * show interface:                        zebra Terminal Mode Commands.
6706                                                               (line  21)
6707 * show ip bgp:                           Show IP BGP.         (line   7)
6708 * show ip bgp A.B.C.D:                   Show IP BGP.         (line   8)
6709 * show ip bgp community:                 Display BGP Routes by Community.
6710                                                               (line  11)
6711 * show ip bgp community COMMUNITY <1>:   More Show IP BGP.    (line  11)
6712 * show ip bgp community COMMUNITY:       Display BGP Routes by Community.
6713                                                               (line  12)
6714 * show ip bgp community COMMUNITY exact-match <1>: More Show IP BGP.
6715                                                               (line  12)
6716 * show ip bgp community COMMUNITY exact-match: Display BGP Routes by Community.
6717                                                               (line  13)
6718 * show ip bgp community-list WORD <1>:   More Show IP BGP.    (line  16)
6719 * show ip bgp community-list WORD:       Display BGP Routes by Community.
6720                                                               (line  20)
6721 * show ip bgp community-list WORD exact-match <1>: More Show IP BGP.
6722                                                               (line  17)
6723 * show ip bgp community-list WORD exact-match: Display BGP Routes by Community.
6724                                                               (line  21)
6725 * show ip bgp neighbor [PEER]:           More Show IP BGP.    (line  23)
6726 * show ip bgp regexp LINE <1>:           More Show IP BGP.    (line   7)
6727 * show ip bgp regexp LINE:               Display BGP Routes by AS Path.
6728                                                               (line  10)
6729 * show ip bgp summary:                   More Show IP BGP.    (line  21)
6730 * show ip bgp view NAME:                 Viewing the view.    (line   9)
6731 * show ip bgp X:X::X:X:                  Show IP BGP.         (line   9)
6732 * show ip community-list:                BGP Community Lists. (line  42)
6733 * show ip community-list NAME:           BGP Community Lists. (line  43)
6734 * show ip extcommunity-list:             BGP Extended Community Lists.
6735                                                               (line  35)
6736 * show ip extcommunity-list NAME:        BGP Extended Community Lists.
6737                                                               (line  36)
6738 * show ip ospf:                          Showing OSPF information.
6739                                                               (line   7)
6740 * show ip ospf database:                 Showing OSPF information.
6741                                                               (line  20)
6742 * show ip ospf database (asbr-summary|external|network|router|summary): Showing OSPF information.
6743                                                               (line  23)
6744 * show ip ospf database (asbr-summary|external|network|router|summary) adv-router ADV-ROUTER: Showing OSPF information.
6745                                                               (line  30)
6746 * show ip ospf database (asbr-summary|external|network|router|summary) LINK-STATE-ID: Showing OSPF information.
6747                                                               (line  25)
6748 * show ip ospf database (asbr-summary|external|network|router|summary) LINK-STATE-ID adv-router ADV-ROUTER: Showing OSPF information.
6749                                                               (line  28)
6750 * show ip ospf database (asbr-summary|external|network|router|summary) LINK-STATE-ID self-originate: Showing OSPF information.
6751                                                               (line  33)
6752 * show ip ospf database (asbr-summary|external|network|router|summary) self-originate: Showing OSPF information.
6753                                                               (line  35)
6754 * show ip ospf database max-age:         Showing OSPF information.
6755                                                               (line  37)
6756 * show ip ospf database self-originate:  Showing OSPF information.
6757                                                               (line  39)
6758 * show ip ospf interface [INTERFACE]:    Showing OSPF information.
6759                                                               (line  11)
6760 * show ip ospf neighbor:                 Showing OSPF information.
6761                                                               (line  15)
6762 * show ip ospf neighbor detail:          Showing OSPF information.
6763                                                               (line  17)
6764 * show ip ospf neighbor INTERFACE:       Showing OSPF information.
6765                                                               (line  16)
6766 * show ip ospf neighbor INTERFACE detail: Showing OSPF information.
6767                                                               (line  18)
6768 * show ip ospf route:                    Showing OSPF information.
6769                                                               (line  41)
6770 * show ip prefix-list:                   Showing ip prefix-list.
6771                                                               (line   7)
6772 * show ip prefix-list detail:            Showing ip prefix-list.
6773                                                               (line  31)
6774 * show ip prefix-list detail NAME:       Showing ip prefix-list.
6775                                                               (line  33)
6776 * show ip prefix-list NAME:              Showing ip prefix-list.
6777                                                               (line  10)
6778 * show ip prefix-list NAME A.B.C.D/M:    Showing ip prefix-list.
6779                                                               (line  17)
6780 * show ip prefix-list NAME A.B.C.D/M first-match: Showing ip prefix-list.
6781                                                               (line  25)
6782 * show ip prefix-list NAME A.B.C.D/M longer: Showing ip prefix-list.
6783                                                               (line  23)
6784 * show ip prefix-list NAME seq NUM:      Showing ip prefix-list.
6785                                                               (line  13)
6786 * show ip prefix-list summary:           Showing ip prefix-list.
6787                                                               (line  27)
6788 * show ip prefix-list summary NAME:      Showing ip prefix-list.
6789                                                               (line  29)
6790 * show ip protocols:                     Show RIP Information.
6791                                                               (line  17)
6792 * show ip rip:                           Show RIP Information.
6793                                                               (line   9)
6794 * show ip ripng:                         ripngd Terminal Mode Commands.
6795                                                               (line   7)
6796 * show ip route:                         zebra Terminal Mode Commands.
6797                                                               (line   7)
6798 * show ipforward:                        zebra Terminal Mode Commands.
6799                                                               (line  23)
6800 * show ipv6 ospf6 [INSTANCE_ID]:         Showing OSPF6 information.
6801                                                               (line   7)
6802 * show ipv6 ospf6 database:              Showing OSPF6 information.
6803                                                               (line  11)
6804 * show ipv6 ospf6 interface:             Showing OSPF6 information.
6805                                                               (line  15)
6806 * show ipv6 ospf6 neighbor:              Showing OSPF6 information.
6807                                                               (line  18)
6808 * show ipv6 ospf6 request-list A.B.C.D:  Showing OSPF6 information.
6809                                                               (line  21)
6810 * show ipv6 route:                       zebra Terminal Mode Commands.
6811                                                               (line  19)
6812 * show ipv6 route ospf6:                 Showing OSPF6 information.
6813                                                               (line  24)
6814 * show ipv6forward:                      zebra Terminal Mode Commands.
6815                                                               (line  28)
6816 * show logging:                          Terminal Mode Commands.
6817                                                               (line  30)
6818 * show version:                          Terminal Mode Commands.
6819                                                               (line  27)
6820 * shutdown:                              Interface Commands.  (line   9)
6821 * smux peer OID:                         MIB and command reference.
6822                                                               (line  28)
6823 * smux peer OID PASSWORD:                MIB and command reference.
6824                                                               (line  31)
6825 * table TABLENO:                         Static Route Commands.
6826                                                               (line  81)
6827 * terminal length <0-512>:               Terminal Mode Commands.
6828                                                               (line  17)
6829 * timers basic UPDATE TIMEOUT GARBAGE:   RIP Timers.          (line   7)
6830 * timers throttle spf DELAY INITIAL-HOLDTIME MAX-HOLDTIME: OSPF router.
6831                                                               (line  71)
6832 * username USERNAME nopassword:          VTY shell username.  (line   7)
6833 * version VERSION:                       RIP Configuration.   (line  23)
6834 * who:                                   Terminal Mode Commands.
6835                                                               (line  21)
6836 * write file:                            Terminal Mode Commands.
6837                                                               (line  10)
6838 * write terminal:                        Terminal Mode Commands.
6839                                                               (line   7)
6841 \x1f
6842 File: quagga.info,  Node: VTY Key Index,  Prev: Command Index,  Up: Top
6844 VTY Key Index
6845 *************
6847 \0\b[index\0\b]
6848 * Menu:
6850 * <DEL>:                                 CLI Editing Commands. (line 11)
6851 * <DOWN>:                                CLI Advanced Commands.
6852                                                                (line 17)
6853 * <LEFT>:                                CLI Movement Commands.
6854                                                                (line 15)
6855 * <RIGHT>:                               CLI Movement Commands.
6856                                                                (line 11)
6857 * <TAB>:                                 CLI Advanced Commands.
6858                                                                (line 24)
6859 * <UP>:                                  CLI Advanced Commands.
6860                                                                (line 21)
6861 * ?:                                     CLI Advanced Commands.
6862                                                                (line 27)
6863 * C-a:                                   CLI Movement Commands.
6864                                                                (line 24)
6865 * C-b:                                   CLI Movement Commands.
6866                                                                (line 15)
6867 * C-c:                                   CLI Advanced Commands.
6868                                                                (line 10)
6869 * C-d:                                   CLI Editing Commands. (line 14)
6870 * C-e:                                   CLI Movement Commands.
6871                                                                (line 27)
6872 * C-f:                                   CLI Movement Commands.
6873                                                                (line 11)
6874 * C-h:                                   CLI Editing Commands. (line 11)
6875 * C-k:                                   CLI Editing Commands. (line 23)
6876 * C-n:                                   CLI Advanced Commands.
6877                                                                (line 17)
6878 * C-p:                                   CLI Advanced Commands.
6879                                                                (line 21)
6880 * C-t:                                   CLI Editing Commands. (line 29)
6881 * C-u:                                   CLI Editing Commands. (line 26)
6882 * C-w:                                   CLI Editing Commands. (line 20)
6883 * C-z:                                   CLI Advanced Commands.
6884                                                                (line 13)
6885 * M-b:                                   CLI Movement Commands.
6886                                                                (line 21)
6887 * M-d:                                   CLI Editing Commands. (line 17)
6888 * M-f:                                   CLI Movement Commands.
6889                                                                (line 18)
6892 \x1f
6893 Tag Table:
6894 Node: Top\x7f1971
6895 Node: Overview\x7f3329
6896 Node: About Quagga\x7f4730
6897 Node: System Architecture\x7f6983
6898 Node: Supported Platforms\x7f9673
6899 Node: Supported RFC\x7f10814
6900 Node: How to get Quagga\x7f12896
6901 Node: Mailing List\x7f13650
6902 Node: Bug Reports\x7f14097
6903 Node: Installation\x7f14975
6904 Node: Configure the Software\x7f15409
6905 Node: The Configure script and its options\x7f15657
6906 Node: Least-Privilege support\x7f18845
6907 Node: Linux notes\x7f20581
6908 Ref: Linux notes-Footnote-1\x7f22439
6909 Node: Build the Software\x7f22505
6910 Node: Install the Software\x7f23053
6911 Node: Basic commands\x7f24513
6912 Node: Config Commands\x7f25288
6913 Node: Basic Config Commands\x7f26181
6914 Node: Sample Config File\x7f31671
6915 Node: Terminal Mode Commands\x7f32441
6916 Node: Common Invocation Options\x7f33538
6917 Node: Virtual Terminal Interfaces\x7f34945
6918 Node: VTY Overview\x7f35456
6919 Node: VTY Modes\x7f36707
6920 Node: VTY View Mode\x7f37157
6921 Node: VTY Enable Mode\x7f37407
6922 Node: VTY Other Modes\x7f37685
6923 Node: VTY CLI Commands\x7f37861
6924 Node: CLI Movement Commands\x7f38321
6925 Node: CLI Editing Commands\x7f38844
6926 Node: CLI Advanced Commands\x7f39432
6927 Node: Zebra\x7f40198
6928 Node: Invoking zebra\x7f40707
6929 Node: Interface Commands\x7f41286
6930 Node: Static Route Commands\x7f42818
6931 Node: zebra Terminal Mode Commands\x7f46091
6932 Node: RIP\x7f47056
6933 Node: Starting and Stopping ripd\x7f47993
6934 Node: RIP netmask\x7f49406
6935 Node: RIP Configuration\x7f50505
6936 Node: How to Announce RIP route\x7f54770
6937 Node: Filtering RIP Routes\x7f57333
6938 Node: RIP Metric Manipulation\x7f58800
6939 Node: RIP distance\x7f59713
6940 Node: RIP route-map\x7f60528
6941 Node: RIP Authentication\x7f63044
6942 Node: RIP Timers\x7f64151
6943 Node: Show RIP Information\x7f65437
6944 Node: RIP Debug Commands\x7f66810
6945 Node: RIPng\x7f67806
6946 Node: Invoking ripngd\x7f68126
6947 Node: ripngd Configuration\x7f68375
6948 Node: ripngd Terminal Mode Commands\x7f69126
6949 Node: ripngd Filtering Commands\x7f69490
6950 Node: OSPFv2\x7f69999
6951 Node: Configuring ospfd\x7f70651
6952 Node: OSPF router\x7f71199
6953 Node: OSPF area\x7f79525
6954 Node: OSPF interface\x7f85650
6955 Ref: ip ospf dead-interval minimal\x7f87219
6956 Node: Redistribute routes to OSPF\x7f89791
6957 Node: Showing OSPF information\x7f92449
6958 Ref: show ip ospf\x7f92634
6959 Node: Debugging OSPF\x7f93965
6960 Node: OSPF Configuration Examples\x7f95040
6961 Node: OSPFv3\x7f96410
6962 Node: OSPF6 router\x7f96763
6963 Node: OSPF6 area\x7f97117
6964 Node: OSPF6 interface\x7f97295
6965 Node: Redistribute routes to OSPF6\x7f98172
6966 Node: Showing OSPF6 information\x7f98488
6967 Node: OSPF6 Configuration Examples\x7f99345
6968 Node: BGP\x7f99766
6969 Node: Starting BGP\x7f100688
6970 Node: BGP router\x7f101265
6971 Node: BGP distance\x7f102509
6972 Node: BGP decision process\x7f102947
6973 Node: BGP network\x7f103429
6974 Node: BGP route\x7f103619
6975 Node: Route Aggregation\x7f104175
6976 Node: Redistribute to BGP\x7f104744
6977 Node: BGP Peer\x7f105271
6978 Node: Defining Peer\x7f105458
6979 Node: BGP Peer commands\x7f106071
6980 Node: Peer filtering\x7f108475
6981 Node: BGP Peer Group\x7f108983
6982 Node: BGP Address Family\x7f109296
6983 Node: Autonomous System\x7f109450
6984 Node: AS Path Regular Expression\x7f110327
6985 Node: Display BGP Routes by AS Path\x7f111574
6986 Node: AS Path Access List\x7f112014
6987 Node: Using AS Path in Route Map\x7f112481
6988 Node: Private AS Numbers\x7f112762
6989 Node: BGP Communities Attribute\x7f112920
6990 Node: BGP Community Lists\x7f115381
6991 Node: Numbered BGP Community Lists\x7f118035
6992 Node: BGP Community in Route Map\x7f119622
6993 Node: Display BGP Routes by Community\x7f121565
6994 Node: Using BGP Communities Attribute\x7f122734
6995 Node: BGP Extended Communities Attribute\x7f126302
6996 Node: BGP Extended Community Lists\x7f128074
6997 Node: BGP Extended Communities in Route Map\x7f129949
6998 Node: Displaying BGP routes\x7f130408
6999 Node: Show IP BGP\x7f130645
7000 Node: More Show IP BGP\x7f131345
7001 Node: Capability Negotiation\x7f132496
7002 Node: Route Reflector\x7f135968
7003 Node: Route Server\x7f136247
7004 Node: Multiple instance\x7f137313
7005 Node: BGP instance and view\x7f139158
7006 Node: Routing policy\x7f140538
7007 Node: Viewing the view\x7f141306
7008 Node: How to set up a 6-Bone connection\x7f141591
7009 Node: Dump BGP packets and table\x7f142963
7010 Node: BGP Configuration Examples\x7f143545
7011 Node: Configuring Quagga as a Route Server\x7f152496
7012 Node: Description of the Route Server model\x7f153457
7013 Ref: fig:normal-processing\x7f155034
7014 Ref: fig:full-mesh\x7f155103
7015 Ref: fig:route-server\x7f155128
7016 Ref: filter-delegation\x7f155470
7017 Ref: Route Server tasks\x7f156654
7018 Ref: Route-server path filter process\x7f157025
7019 Ref: fig:rs-processing\x7f159339
7020 Node: Commands for configuring a Route Server\x7f159492
7021 Node: Example of Route Server Configuration\x7f162519
7022 Node: Configuration of the BGP routers without Route Server\x7f163440
7023 Node: Configuration of the BGP routers with Route Server\x7f166323
7024 Node: Configuration of the Route Server itself\x7f167624
7025 Node: Further considerations about Import and Export route-maps\x7f172623
7026 Node: VTY shell\x7f175667
7027 Node: VTY shell username\x7f176336
7028 Node: VTY shell integrated configuration\x7f176968
7029 Node: Filtering\x7f178416
7030 Node: IP Access List\x7f178769
7031 Node: IP Prefix List\x7f179155
7032 Node: ip prefix-list description\x7f182174
7033 Node: ip prefix-list sequential number control\x7f182701
7034 Node: Showing ip prefix-list\x7f183243
7035 Node: Clear counter of ip prefix-list\x7f184351
7036 Node: Route Map\x7f184790
7037 Node: Route Map Command\x7f188235
7038 Node: Route Map Match Command\x7f188544
7039 Node: Route Map Set Command\x7f189168
7040 Node: Route Map Call Command\x7f190076
7041 Node: Route Map Exit Action Command\x7f190406
7042 Node: Route Map Examples\x7f190888
7043 Node: IPv6 Support\x7f191400
7044 Node: Router Advertisement\x7f191972
7045 Node: Kernel Interface\x7f197588
7046 Node: SNMP Support\x7f199545
7047 Node: Getting and installing an SNMP agent\x7f200144
7048 Node: SMUX configuration\x7f200717
7049 Node: MIB and command reference\x7f202853
7050 Node: Handling SNMP Traps\x7f204268
7051 Node: Zebra Protocol\x7f210347
7052 Node: Packet Binary Dump Format\x7f212261
7053 Node: Command Index\x7f223871
7054 Node: VTY Key Index\x7f282532
7055 \x1f
7056 End Tag Table