blob: 4e5984722160c91cf0703c4a8a55d43307d0d000 [file] [log] [blame]
paul56d1d202004-11-15 21:56:53 +00001This is quagga.info, produced by makeinfo version 4.7 from quagga.texi.
2
3 Permission is granted to make and distribute verbatim copies of
4 this manual provided the copyright notice and this permission
5 notice are preserved on all copies.
6
7 Permission is granted to copy and distribute modified versions of
8 this manual under the conditions for verbatim copying, provided
9 that the entire resulting derived work is distributed under the
10 terms of a permission notice identical to this one.
11
12 Permission is granted to copy and distribute translations of this
13 manual into another language, under the above conditions for
14 modified versions, except that this permission notice may be
15 stated in a translation approved by Kunihiro Ishiguro.
16
17INFO-DIR-SECTION Routing Software:
18START-INFO-DIR-ENTRY
19* Quagga: (quagga). The Quagga Software Routing Suite
20END-INFO-DIR-ENTRY
21
22 This file documents the Quagga Software Routing Suite which manages
23common TCP/IP routing protocols.
24
paulbbd938e2005-04-02 10:18:42 +000025 This is Edition 0.99.0, last updated 15 December 2004 of `The Quagga
paulf83d18d2005-01-24 10:24:31 +000026Manual', for Quagga Version 0.99.0.
paul56d1d202004-11-15 21:56:53 +000027
paulbbd938e2005-04-02 10:18:42 +000028 Copyright (C) 1999-2005 Kunihiro Ishiguro, et al.
paul56d1d202004-11-15 21:56:53 +000029
30 Permission is granted to make and distribute verbatim copies of
31 this manual provided the copyright notice and this permission
32 notice are preserved on all copies.
33
34 Permission is granted to copy and distribute modified versions of
35 this manual under the conditions for verbatim copying, provided
36 that the entire resulting derived work is distributed under the
37 terms of a permission notice identical to this one.
38
39 Permission is granted to copy and distribute translations of this
40 manual into another language, under the above conditions for
41 modified versions, except that this permission notice may be
42 stated in a translation approved by Kunihiro Ishiguro.
43
44
45File: quagga.info, Node: Top, Next: Overview, Up: (dir)
46
47Quagga
48******
49
50Quagga is an advanced routing software package that provides a suite of
paulf83d18d2005-01-24 10:24:31 +000051TCP/IP based routing protocols. This is the Manual for quagga-0.99.0.
paul56d1d202004-11-15 21:56:53 +000052Quagga is a fork of GNU Zebra.
53
54* Menu:
55
56* Overview::
57* Installation::
58* Basic commands::
59* Zebra::
60* RIP::
61* RIPng::
62* OSPFv2::
63* OSPFv3::
64* BGP::
65* Configuring Quagga as a Route Server::
66* VTY shell::
67* Filtering::
68* Route Map::
69* IPv6 Support::
70* Kernel Interface::
71* SNMP Support::
72* Zebra Protocol::
73* Packet Binary Dump Format::
74* Command Index::
75* VTY Key Index::
76
77
78File: quagga.info, Node: Overview, Next: Installation, Prev: Top, Up: Top
79
801 Overview
81**********
82
83Quagga is a routing software package that provides TCP/IP based routing
84services with routing protocols support such as RIPv1, RIPv2, RIPng,
85OSPFv2, OSPFv3, BGP-4, and BGP-4+ (*note Supported RFC::). Quagga also
86supports special BGP Route Reflector and Route Server behavior. In
87addition to traditional IPv4 routing protocols, Quagga also supports
88IPv6 routing protocols. With SNMP daemon which supports SMUX protocol,
89Quagga provides routing protocol MIBs (*note SNMP Support::).
90
91 Quagga uses an advanced software architecture to provide you with a
92high quality, multi server routing engine. Quagga has an interactive
93user interface for each routing protocol and supports common client
94commands. Due to this design, you can add new protocol daemons to
95Quagga easily. You can use Quagga library as your program's client
96user interface.
97
98 Quagga is distributed under the GNU General Public License.
99
100* Menu:
101
102* About Quagga:: Basic information about Quagga
103* System Architecture:: The Quagga system architecture
104* Supported Platforms:: Supported platforms and future plans
105* Supported RFC:: Supported RFCs
106* How to get Quagga::
107* Mailing List:: Mailing list information
108* Bug Reports:: Mail address for bug data
109
110
111File: quagga.info, Node: About Quagga, Next: System Architecture, Up: Overview
112
1131.1 About Quagga
114================
115
116Today, TCP/IP networks are covering all of the world. The Internet has
117been deployed in many countries, companies, and to the home. When you
118connect to the Internet your packet will pass many routers which have
119TCP/IP routing functionality.
120
121 A system with Quagga installed acts as a dedicated router. With
122Quagga, your machine exchanges routing information with other routers
123using routing protocols. Quagga uses this information to update the
124kernel routing table so that the right data goes to the right place.
125You can dynamically change the configuration and you may view routing
126table information from the Quagga terminal interface.
127
128 Adding to routing protocol support, Quagga can setup interface's
129flags, interface's address, static routes and so on. If you have a
130small network, or a stub network, or xDSL connection, configuring the
131Quagga routing software is very easy. The only thing you have to do is
132to set up the interfaces and put a few commands about static routes
133and/or default routes. If the network is rather large, or if the
134network structure changes frequently, you will want to take advantage
135of Quagga's dynamic routing protocol support for protocols such as RIP,
136OSPF or BGP.
137
138 Traditionally, UNIX based router configuration is done by `ifconfig'
139and `route' commands. Status of routing table is displayed by
140`netstat' utility. Almost of these commands work only if the user has
141root privileges. Quagga has a different system administration method.
142There are two user modes in Quagga. One is normal mode, the other is
143enable mode. Normal mode user can only view system status, enable mode
144user can change system configuration. This UNIX account independent
145feature will be great help to the router administrator.
146
147 Currently, Quagga supports common unicast routing protocols.
148Multicast routing protocols such as BGMP, PIM-SM, PIM-DM may be
149supported in Quagga 2.0. MPLS support is going on. In the future,
150TCP/IP filtering control, QoS control, diffserv configuration will be
151added to Quagga. Quagga project's final goal is making a productive,
152quality, free TCP/IP routing software.
153
154
155File: quagga.info, Node: System Architecture, Next: Supported Platforms, Prev: About Quagga, Up: Overview
156
1571.2 System Architecture
158=======================
159
160Traditional routing software is made as a one process program which
161provides all of the routing protocol functionalities. Quagga takes a
162different approach. It is made from a collection of several daemons
163that work together to build the routing table. There may be several
164protocol-specific routing daemons and zebra the kernel routing manager.
165
166 The `ripd' daemon handles the RIP protocol, while `ospfd' is a
167daemon which supports OSPF version 2. `bgpd' supports the BGP-4
168protocol. For changing the kernel routing table and for redistribution
169of routes between different routing protocols, there is a kernel
170routing table manager `zebra' daemon. It is easy to add a new routing
171protocol daemons to the entire routing system without affecting any
172other software. You need to run only the protocol daemon associated
173with routing protocols in use. Thus, user may run a specific daemon
174and send routing reports to a central routing console.
175
176 There is no need for these daemons to be running on the same
177machine. You can even run several same protocol daemons on the same
178machine. This architecture creates new possibilities for the routing
179system.
180
181 +----+ +----+ +-----+ +-----+
182 |bgpd| |ripd| |ospfd| |zebra|
183 +----+ +----+ +-----+ +-----+
184 |
185 +---------------------------|--+
186 | v |
187 | UNIX Kernel routing table |
188 | |
189 +------------------------------+
190
191 Quagga System Architecture
192
193 Multi-process architecture brings extensibility, modularity and
194maintainability. At the same time it also brings many configuration
195files and terminal interfaces. Each daemon has it's own configuration
196file and terminal interface. When you configure a static route, it
197must be done in `zebra' configuration file. When you configure BGP
198network it must be done in `bgpd' configuration file. This can be a
199very annoying thing. To resolve the problem, Quagga provides
200integrated user interface shell called `vtysh'. `vtysh' connects to
201each daemon with UNIX domain socket and then works as a proxy for user
202input.
203
204 Quagga was planned to use multi-threaded mechanism when it runs with
205a kernel that supports multi-threads. But at the moment, the thread
206library which comes with GNU/Linux or FreeBSD has some problems with
207running reliable services such as routing software, so we don't use
208threads at all. Instead we use the `select(2)' system call for
209multiplexing the events.
210
211
212File: quagga.info, Node: Supported Platforms, Next: Supported RFC, Prev: System Architecture, Up: Overview
213
2141.3 Supported Platforms
215=======================
216
217Currently Quagga supports GNU/Linux, BSD and Solaris. Porting Quagga to
218other platforms is not too difficult as platform dependent code should
219most be limited to the `zebra' daemon. Protocol daemons are mostly
220platform independent. Please let us know when you find out Quagga runs
221on a platform which is not listed below.
222
223 The list of officially supported platforms are listed below. Note
224that Quagga may run correctly on other platforms, and may run with
225partial functionality on further platforms.
226
227
228 * GNU/Linux 2.2.x and higher
229
230 * FreeBSD 4.x and higher
231
232 * NetBSD 1.6 and higher
233
234 * OpenBSD 2.5 and higher
235
236 * Solaris 2.6 and higher (IPv6 support requires a patch at moment)
237
238
239 Some IPv6 stacks are in development. Quagga supports following IPv6
240stacks. For BSD, we recommend KAME IPv6 stack. Solaris IPv6 stack is
241not yet supported.
242
243 * Linux IPv6 stack for GNU/Linux 2.2.x and higher.
244
245 * KAME IPv6 stack for BSD.
246
247 * INRIA IPv6 stack for BSD.
248
249
250File: quagga.info, Node: Supported RFC, Next: How to get Quagga, Prev: Supported Platforms, Up: Overview
251
2521.4 Supported RFC
253=================
254
255Below is the list of currently supported RFC's.
256
257RFC1058
258 `Routing Information Protocol. C.L. Hedrick. Jun-01-1988.'
259
260RF2082
261 `RIP-2 MD5 Authentication. F. Baker, R. Atkinson. January 1997.'
262
263RFC2453
264 `RIP Version 2. G. Malkin. November 1998.'
265
266RFC2080
267 `RIPng for IPv6. G. Malkin, R. Minnear. January 1997.'
268
269RFC2328
270 `OSPF Version 2. J. Moy. April 1998.'
271
272RFC2370
273 `The OSPF Opaque LSA Option R. Coltun. July 1998.'
274
275RFC3101
276 `The OSPF Not-So-Stubby Area (NSSA) Option P. Murphy. January
277 2003.'
278
279RFC2740
280 `OSPF for IPv6. R. Coltun, D. Ferguson, J. Moy. December 1999.'
281
282RFC1771
283 `A Border Gateway Protocol 4 (BGP-4). Y. Rekhter & T. Li. March
284 1995.'
285
286RFC1965
287 `Autonomous System Confederations for BGP. P. Traina. June 1996.'
288
289RFC1997
290 `BGP Communities Attribute. R. Chandra, P. Traina & T. Li. August
291 1996.'
292
293RFC2545
294 `Use of BGP-4 Multiprotocol Extensions for IPv6 Inter-Domain
295 Routing. P. Marques, F. Dupont. March 1999.'
296
297RFC2796
298 `BGP Route Reflection An alternative to full mesh IBGP. T. Bates &
299 R. Chandrasekeran. June 1996.'
300
301RFC2858
302 `Multiprotocol Extensions for BGP-4. T. Bates, Y. Rekhter, R.
303 Chandra, D. Katz. June 2000.'
304
305RFC2842
306 `Capabilities Advertisement with BGP-4. R. Chandra, J. Scudder.
307 May 2000.'
308
309
310 When SNMP support is enabled, below RFC is also supported.
311
312RFC1227
313 `SNMP MUX protocol and MIB. M.T. Rose. May-01-1991.'
314
315RFC1657
316 `Definitions of Managed Objects for the Fourth Version of the
317 Border Gateway Protocol (BGP-4) using SMIv2. S. Willis, J. Burruss,
318 J. Chu, Editor. July 1994.'
319
320RFC1724
321 `RIP Version 2 MIB Extension. G. Malkin & F. Baker. November 1994.'
322
323RFC1850
324 `OSPF Version 2 Management Information Base. F. Baker, R. Coltun.
325 November 1995.'
326
327
328
329File: quagga.info, Node: How to get Quagga, Next: Mailing List, Prev: Supported RFC, Up: Overview
330
3311.5 How to get Quagga
332=====================
333
334Quagga is still beta software and there is no officially released
335version.
336
337 Zebra's official web page is located at:
338
339 `http://www.gnu.org/software/zebra/zebra.html'.
340
341 The original Zebra web site is located at:
342
343 `http://www.zebra.org/'.
344
345 As of this writing, development by zebra.org on Zebra has slowed
346down. Some work is being done by third-parties to try maintain
347bug-fixes and enhancements to the current Zebra code-base, which has
348resulted in a fork of Zebra called Quagga, see:
349
350 `http://www.quagga.net/'
351
352 for further information, as well as links to additional zebra
353resources.
354
355
356File: quagga.info, Node: Mailing List, Next: Bug Reports, Prev: How to get Quagga, Up: Overview
357
3581.6 Mailing List
359================
360
361There is a mailing list for discussions about Quagga. If you have any
362comments or suggestions to Quagga, please subscribe to:
363
364 `http://lists.quagga.net/mailman/listinfo/quagga-users'.
365
366 The Quagga site has further information on the available mailing
367lists, see:
368
369 `http://www.quagga.net/lists.php'
370
371
372File: quagga.info, Node: Bug Reports, Prev: Mailing List, Up: Overview
373
3741.7 Bug Reports
375===============
376
377If you think you have found a bug, please send a bug report to:
378
379 `http://bugzilla.quagga.net'
380
381 When you send a bug report, please be careful about the points below.
382
383 * Please note what kind of OS you are using. If you use the IPv6
384 stack please note that as well.
385
386 * Please show us the results of `netstat -rn' and `ifconfig -a'.
387 Information from zebra's VTY command `show ip route' will also be
388 helpful.
389
390 * Please send your configuration file with the report. If you
391 specify arguments to the configure script please note that too.
392
393 Bug reports are very important for us to improve the quality of
394Quagga. Quagga is still in the development stage, but please don't
395hesitate to send a bug report to `http://bugzilla.quagga.net'.
396
397
398File: quagga.info, Node: Installation, Next: Basic commands, Prev: Overview, Up: Top
399
4002 Installation
401**************
402
403There are three steps for installing the software: configuration,
404compilation, and installation.
405
406* Menu:
407
408* Configure the Software::
409* Build the Software::
410* Install the Software::
411
412 The easiest way to get Quagga running is to issue the following
413commands:
414
415 % configure
416 % make
417 % make install
418
419
420File: quagga.info, Node: Configure the Software, Next: Build the Software, Up: Installation
421
4222.1 Configure the Software
423==========================
424
425* Menu:
426
427* The Configure script and its options::
428* Least-Privilege support::
429* Linux notes::
430
431
432File: quagga.info, Node: The Configure script and its options, Next: Least-Privilege support, Up: Configure the Software
433
4342.1.1 The Configure script and its options
435------------------------------------------
436
437Quagga has an excellent configure script which automatically detects
438most host configurations. There are several additional configure
439options you can use to turn off IPv6 support, to disable the
440compilation of specific daemons, and to enable SNMP support.
441
442`--enable-guile'
443 Turn on compilation of the zebra-guile interpreter. You will need
444 the guile library to make this. zebra-guile implementation is not
445 yet finished. So this option is only useful for zebra-guile
446 developers.
447
448`--disable-ipv6'
449 Turn off IPv6 related features and daemons. Quagga configure
450 script automatically detects IPv6 stack. But sometimes you might
451 want to disable IPv6 support of Quagga.
452
453`--disable-zebra'
454 Do not build zebra daemon.
455
456`--disable-ripd'
457 Do not build ripd.
458
459`--disable-ripngd'
460 Do not build ripngd.
461
462`--disable-ospfd'
463 Do not build ospfd.
464
465`--disable-ospf6d'
466 Do not build ospf6d.
467
468`--disable-bgpd'
469 Do not build bgpd.
470
471`--disable-bgp-announce'
472 Make `bgpd' which does not make bgp announcements at all. This
473 feature is good for using `bgpd' as a BGP announcement listener.
474
475`--enable-netlink'
476 Force to enable GNU/Linux netlink interface. Quagga configure
477 script detects netlink interface by checking a header file. When
478 the header file does not match to the current running kernel,
479 configure script will not turn on netlink support.
480
481`--enable-snmp'
482 Enable SNMP support. By default, SNMP support is disabled.
483
484`--enable-opaque-lsa'
485 Enable support for Opaque LSAs (RFC2370) in ospfd.
486
487`--disable-ospfapi'
488 Disable support for OSPF-API, an API to interface directly with
489 ospfd. OSPF-API is enabled if -enable-opaque-lsa is set.
490
491`--disable-ospfclient'
492 Disable building of the example OSPF-API client.
493
494`--enable-ospf-te'
495 Enable support for OSPF Traffic Engineering Extension
496 (internet-draft) this requires support for Opaque LSAs.
497
498`--enable-multipath=ARG'
499 Enable support for Equal Cost Multipath. ARG is the maximum number
500 of ECMP paths to allow, set to 0 to allow unlimited number of
501 paths.
502
503`--enable-rtadv'
504 Enable support IPV6 router advertisement in zebra.
505
506 You may specify any combination of the above options to the configure
507script. By default, the executables are placed in `/usr/local/sbin'
508and the configuration files in `/usr/local/etc'. The `/usr/local/'
509installation prefix and other directories may be changed using the
510following options to the configuration script.
511
512`--prefix=PREFIX'
513 Install architecture-independent files in PREFIX [/usr/local].
514
515`--sysconfdir=DIR'
516 Look for configuration files in DIR [PREFIX/etc]. Note that sample
517 configuration files will be installed here.
518
519`--localstatedir=DIR'
520 Configure zebra to use DIR for local state files, such as pid
521 files and unix sockets.
522
523 % ./configure --disable-ipv6
524
525 This command will configure zebra and the routing daemons.
526
527
528File: quagga.info, Node: Least-Privilege support, Next: Linux notes, Prev: The Configure script and its options, Up: Configure the Software
529
5302.1.2 Least-Privilege support
531-----------------------------
532
533Additionally, you may configure zebra to drop its elevated privileges
534shortly after startup and switch to another user. The configure script
535will automatically try to configure this support. There are three
536configure options to control the behaviour of Quagga daemons.
537
538`--enable-user=USER'
539 Switch to user ARG shortly after startup, and run as user ARG in
540 normal operation.
541
542`--enable-group=GROUP'
543 Switch real and effective group to GROUP shortly after startup.
544
545`--enable-vty-group=GROUP'
546 Create Unix Vty sockets (for use with vtysh) with group owndership
547 set to GROUP. This allows one to create a seperate group which is
548 restricted to accessing only the Vty sockets, hence allowing one to
549 delegate this group to individual users, or to run vtysh setgid to
550 this group.
551
552 The default user and group which will be configured is 'quagga' if
553no user or group is specified. Note that this user or group requires
554write access to the local state directory (see -localstatedir) and
555requires at least read access, and write access if you wish to allow
556daemons to write out their configuration, to the configuration
557directory (see -sysconfdir).
558
559 On systems which have the 'libcap' capabilities manipulation library
560(currently only linux), the quagga system will retain only minimal
561capabilities required, further it will only raise these capabilities for
562brief periods. On systems without libcap, quagga will run as the user
563specified and only raise its uid back to uid 0 for brief periods.
564
565
566File: quagga.info, Node: Linux notes, Prev: Least-Privilege support, Up: Configure the Software
567
5682.1.3 Linux Notes
569-----------------
570
571There are several options available only to GNU/Linux systems: (1). If
572you use GNU/Linux, make sure that the current kernel configuration is
573what you want. Quagga will run with any kernel configuration but some
574recommendations do exist.
575
576CONFIG_NETLINK
577 Kernel/User netlink socket. This is a brand new feature which
578 enables an advanced interface between the Linux kernel and zebra
579 (*note Kernel Interface::).
580
581CONFIG_RTNETLINK
582 Routing messages. This makes it possible to receive netlink
583 routing messages. If you specify this option, `zebra' can detect
584 routing information updates directly from the kernel (*note Kernel
585 Interface::).
586
587CONFIG_IP_MULTICAST
588 IP: multicasting. This option should be specified when you use
589 `ripd' (*note RIP::) or `ospfd' (*note OSPFv2::) because these
590 protocols use multicast.
591
592
593 IPv6 support has been added in GNU/Linux kernel version 2.2. If you
594try to use the Quagga IPv6 feature on a GNU/Linux kernel, please make
595sure the following libraries have been installed. Please note that
596these libraries will not be needed when you uses GNU C library 2.1 or
597upper.
598
599`inet6-apps'
600 The `inet6-apps' package includes basic IPv6 related libraries such
601 as `inet_ntop' and `inet_pton'. Some basic IPv6 programs such as
602 `ping', `ftp', and `inetd' are also included. The `inet-apps' can
603 be found at `ftp://ftp.inner.net/pub/ipv6/'.
604
605`net-tools'
606 The `net-tools' package provides an IPv6 enabled interface and
607 routing utility. It contains `ifconfig', `route', `netstat', and
608 other tools. `net-tools' may be found at
609 `http://www.tazenda.demon.co.uk/phil/net-tools/'.
610
611
612 ---------- Footnotes ----------
613
614 (1) GNU/Linux has very flexible kernel configuration features
615
616
617File: quagga.info, Node: Build the Software, Next: Install the Software, Prev: Configure the Software, Up: Installation
618
6192.2 Build the Software
620======================
621
622After configuring the software, you will need to compile it for your
623system. Simply issue the command `make' in the root of the source
624directory and the software will be compiled. If you have *any* problems
625at this stage, be certain to send a bug report *Note Bug Reports::.
626
627 % ./configure
628 .
629 .
630 .
631 ./configure output
632 .
633 .
634 .
635 % make
636
637
638File: quagga.info, Node: Install the Software, Prev: Build the Software, Up: Installation
639
6402.3 Install the Software
641========================
642
643Installing the software to your system consists of copying the compiled
644programs and supporting files to a standard location. After the
645installation process has completed, these files have been copied from
646your work directory to `/usr/local/bin', and `/usr/local/etc'.
647
648 To install the Quagga suite, issue the following command at your
649shell prompt: `make install'.
650
651 %
652 % make install
653 %
654
655 Quagga daemons have their own terminal interface or VTY. After
656installation, you have to setup each beast's port number to connect to
657them. Please add the following entries to `/etc/services'.
658
659 zebrasrv 2600/tcp # zebra service
660 zebra 2601/tcp # zebra vty
661 ripd 2602/tcp # RIPd vty
662 ripngd 2603/tcp # RIPngd vty
663 ospfd 2604/tcp # OSPFd vty
664 bgpd 2605/tcp # BGPd vty
665 ospf6d 2606/tcp # OSPF6d vty
666 ospfapi 2607/tcp # ospfapi
667 isisd 2608/tcp # ISISd vty
668
669 If you use a FreeBSD newer than 2.2.8, the above entries are already
670added to `/etc/services' so there is no need to add it. If you specify
671a port number when starting the daemon, these entries may not be needed.
672
673 You may need to make changes to the config files in
674`/etc/quagga/*.conf'. *Note Config Commands::.
675
676
677File: quagga.info, Node: Basic commands, Next: Zebra, Prev: Installation, Up: Top
678
6793 Basic commands
680****************
681
682There are five routing daemons in use, and there is one manager daemon.
683These daemons may be located on separate machines from the manager
684daemon. Each of these daemons will listen on a particular port for
685incoming VTY connections. The routing daemons are:
686
687 * `ripd', `ripngd', `ospfd', `ospf6d', `bgpd'
688
689 * `zebra'
690
691 The following sections discuss commands common to all the routing
692daemons.
693
694* Menu:
695
ajs274a4a42004-12-07 15:39:31 +0000696* Terminal Mode Commands:: Common commands used in a VTY
paul56d1d202004-11-15 21:56:53 +0000697* Config Commands:: Commands used in config files
698* Common Invocation Options:: Starting the daemons
ajs274a4a42004-12-07 15:39:31 +0000699* Virtual Terminal Interfaces:: Interacting with the daemons
paul56d1d202004-11-15 21:56:53 +0000700
701
ajs274a4a42004-12-07 15:39:31 +0000702File: quagga.info, Node: Config Commands, Next: Common Invocation Options, Prev: Terminal Mode Commands, Up: Basic commands
paul56d1d202004-11-15 21:56:53 +0000703
7043.1 Config Commands
705===================
706
707* Menu:
708
709* Basic Config Commands:: Some of the generic config commands
710* Sample Config File:: An example config file
711
712 In a config file, you can write the debugging options, a vty's
713password, routing daemon configurations, a log file name, and so forth.
714This information forms the initial command set for a routing beast as
715it is starting.
716
717 Config files are generally found in:
718
719 `/etc/quagga/*.conf'
720
721 Each of the daemons has its own config file. For example, zebra's
722default config file name is:
723
724 `/etc/quagga/zebra.conf'
725
726 The daemon name plus `.conf' is the default config file name. You
727can specify a config file using the `-f' or `--config-file' options
728when starting the daemon.
729
730
731File: quagga.info, Node: Basic Config Commands, Next: Sample Config File, Up: Config Commands
732
7333.1.1 Basic Config Commands
734---------------------------
735
736 -- Command: hostname HOSTNAME
737 Set hostname of the router.
738
739 -- Command: password PASSWORD
740 Set password for vty interface. If there is no password, a vty
741 won't accept connections.
742
743 -- Command: enable password PASSWORD
744 Set enable password.
745
ajs274a4a42004-12-07 15:39:31 +0000746 -- Command: log trap LEVEL
747 -- Command: no log trap
748 These commands are deprecated and are present only for historical
749 compatibility. The log trap command sets the current logging
750 level for all enabled logging destinations, and it sets the
751 default for all future logging commands that do not specify a
752 level. The normal default logging level is debugging. The `no'
753 form of the command resets the default level for future logging
754 commands to debugging, but it does not change the logging level of
755 existing logging destinations.
756
paul56d1d202004-11-15 21:56:53 +0000757 -- Command: log stdout
ajs274a4a42004-12-07 15:39:31 +0000758 -- Command: log stdout LEVEL
paul56d1d202004-11-15 21:56:53 +0000759 -- Command: no log stdout
ajs274a4a42004-12-07 15:39:31 +0000760 Enable logging output to stdout. If the optional second argument
761 specifying the logging level is not present, the default logging
762 level (typically debugging, but can be changed using the
763 deprecated `log trap' command) will be used. The `no' form of the
764 command disables logging to stdout. The `level' argument must
765 have one of these values: emergencies, alerts, critical, errors,
766 warnings, notifications, informational, or debugging. Note that
767 the existing code logs its most important messages with severity
768 `errors'.
paul56d1d202004-11-15 21:56:53 +0000769
770 -- Command: log file FILENAME
ajs274a4a42004-12-07 15:39:31 +0000771 -- Command: log file FILENAME LEVEL
772 -- Command: no log file
773 If you want to log into a file, please specify `filename' as in
774 this example:
775 log file /var/log/quagga/bgpd.log informational
776 If the optional second argument specifying the logging level is
777 not present, the default logging level (typically debugging, but
778 can be changed using the deprecated `log trap' command) will be
779 used. The `no' form of the command disables logging to a file.
paul56d1d202004-11-15 21:56:53 +0000780
ajsc70257d2005-02-03 17:12:01 +0000781 Note: if you do not configure any file logging, and a daemon
782 crashes due to a signal or an assertion failure, it will attempt
783 to save the crash information in a file named
784 /var/tmp/quagga.<daemon name>.crashlog. For security reasons,
785 this will not happen if the file exists already, so it is
786 important to delete the file after reporting the crash information.
787
paul56d1d202004-11-15 21:56:53 +0000788 -- Command: log syslog
ajs274a4a42004-12-07 15:39:31 +0000789 -- Command: log syslog LEVEL
paul56d1d202004-11-15 21:56:53 +0000790 -- Command: no log syslog
ajs274a4a42004-12-07 15:39:31 +0000791 Enable logging output to syslog. If the optional second argument
792 specifying the logging level is not present, the default logging
793 level (typically debugging, but can be changed using the
794 deprecated `log trap' command) will be used. The `no' form of the
795 command disables logging to syslog.
paul56d1d202004-11-15 21:56:53 +0000796
ajs274a4a42004-12-07 15:39:31 +0000797 -- Command: log monitor
798 -- Command: log monitor LEVEL
799 -- Command: no log monitor
800 Enable logging output to vty terminals that have enabled logging
801 using the `terminal monitor' command. By default, monitor logging
802 is enabled at the debugging level, but this command (or the
803 deprecated `log trap' command) can be used to change the monitor
804 logging level. If the optional second argument specifying the
805 logging level is not present, the default logging level (typically
806 debugging, but can be changed using the deprecated `log trap'
807 command) will be used. The `no' form of the command disables
808 logging to terminal monitors.
paul56d1d202004-11-15 21:56:53 +0000809
ajs274a4a42004-12-07 15:39:31 +0000810 -- Command: log facility FACILITY
811 -- Command: no log facility
812 This command changes the facility used in syslog messages. The
813 default facility is `daemon'. The `no' form of the command resets
814 the facility to the default `daemon' facility.
paul56d1d202004-11-15 21:56:53 +0000815
ajs274a4a42004-12-07 15:39:31 +0000816 -- Command: log record-priority
817 -- Command: no log record-priority
818 To include the severity in all messages logged to a file, to
819 stdout, or to a terminal monitor (i.e. anything except syslog),
820 use the `log record-priority' global configuration command. To
821 disable this option, use the `no' form of the command. By default,
822 the severity level is not included in logged messages. Note: some
823 versions of syslogd (including Solaris) can be configured to
824 include the facility and level in the messages emitted.
paul56d1d202004-11-15 21:56:53 +0000825
826 -- Command: service password-encryption
827 Encrypt password.
828
829 -- Command: service advanced-vty
830 Enable advanced mode VTY.
831
832 -- Command: service terminal-length <0-512>
833 Set system wide line configuration. This configuration command
834 applies to all VTY interfaces.
835
paul56d1d202004-11-15 21:56:53 +0000836 -- Command: line vty
837 Enter vty configuration mode.
838
839 -- Command: banner motd default
840 Set default motd string.
841
842 -- Command: no banner motd
843 No motd banner string will be printed.
844
845 -- Line Command: exec-timeout MINUTE
846 -- Line Command: exec-timeout MINUTE SECOND
847 Set VTY connection timeout value. When only one argument is
848 specified it is used for timeout value in minutes. Optional
849 second argument is used for timeout value in seconds. Default
850 timeout value is 10 minutes. When timeout value is zero, it means
851 no timeout.
852
853 -- Line Command: no exec-timeout
854 Do not perform timeout at all. This command is as same as
855 `exec-timeout 0 0'.
856
857 -- Line Command: access-class ACCESS-LIST
858 Restrict vty connections with an access list.
859
860
861File: quagga.info, Node: Sample Config File, Prev: Basic Config Commands, Up: Config Commands
862
8633.1.2 Sample Config File
864------------------------
865
866Below is a sample configuration file for the zebra daemon.
867
868 !
869 ! Zebra configuration file
870 !
871 hostname Router
872 password zebra
873 enable password zebra
874 !
875 log stdout
876 !
877 !
878
879 '!' and '#' are comment characters. If the first character of the
880word is one of the comment characters then from the rest of the line
881forward will be ignored as a comment.
882
883 password zebra!password
884
885 If a comment character is not the first character of the word, it's a
886normal character. So in the above example '!' will not be regarded as a
887comment and the password is set to 'zebra!password'.
888
889
ajs274a4a42004-12-07 15:39:31 +0000890File: quagga.info, Node: Terminal Mode Commands, Next: Config Commands, Up: Basic commands
891
8923.2 Terminal Mode Commands
893==========================
894
895 -- Command: write terminal
896 Displays the current configuration to the vty interface.
897
898 -- Command: write file
899 Write current configuration to configuration file.
900
901 -- Command: configure terminal
902 Change to configuration mode. This command is the first step to
903 configuration.
904
905 -- Command: terminal length <0-512>
906 Set terminal display length to <0-512>. If length is 0, no
907 display control is performed.
908
909 -- Command: who
910 Show a list of currently connected vty sessions.
911
912 -- Command: list
913 List all available commands.
914
915 -- Command: show version
916 Show the current version of Quagga and its build host information.
917
918 -- Command: show logging
919 Shows the current configuration of the logging system. This
920 includes the status of all logging destinations.
921
922 -- Command: logmsg LEVEL MESSAGE
923 Send a message to all logging destinations that are enabled for
924 messages of the given severity.
925
926
paul56d1d202004-11-15 21:56:53 +0000927File: quagga.info, Node: Common Invocation Options, Next: Virtual Terminal Interfaces, Prev: Config Commands, Up: Basic commands
928
ajs274a4a42004-12-07 15:39:31 +00009293.3 Common Invocation Options
paul56d1d202004-11-15 21:56:53 +0000930=============================
931
932These options apply to all Quagga daemons.
933
934`-d'
935`--daemon'
936 Runs in daemon mode.
937
938`-f FILE'
939`--config_file=FILE'
940 Set configuration file name.
941
942`-h'
943`--help'
944 Display this help and exit.
945
946`-i FILE'
947`--pid_file=FILE'
948 Upon startup the process identifier of the daemon is written to a
949 file, typically in `/var/run'. This file can be used by the init
950 system to implement commands such as `.../init.d/zebra status',
951 `.../init.d/zebra restart' or `.../init.d/zebra stop'.
952
953 The file name is an run-time option rather than a configure-time
954 option so that multiple routing daemons can be run simultaneously.
955 This is useful when using Quagga to implement a routing looking
956 glass. One machine can be used to collect differing routing views
957 from differing points in the network.
958
959`-A ADDRESS'
960`--vty_addr=ADDRESS'
961 Set the VTY local address to bind to. If set, the VTY socket will
962 only be bound to this address.
963
964`-P PORT'
965`--vty_port=PORT'
966 Set the VTY TCP port number. If set to 0 then the TCP VTY sockets
967 will not be opened.
968
969`-u USER'
970`--vty_addr=USER'
971 Set the user and group to run as.
972
973`-v'
974`--version'
975 Print program version.
976
977
978
979File: quagga.info, Node: Virtual Terminal Interfaces, Prev: Common Invocation Options, Up: Basic commands
980
ajs274a4a42004-12-07 15:39:31 +00009813.4 Virtual Terminal Interfaces
paul56d1d202004-11-15 21:56:53 +0000982===============================
983
984VTY - Virtual Terminal [aka TeletYpe] Interface is a command line
985interface (CLI) for user interaction with the routing daemon.
986
987* Menu:
988
989* VTY Overview:: Basics about VTYs
990* VTY Modes:: View, Enable, and Other VTY modes
991* VTY CLI Commands:: Commands for movement, edition, and management
992
993
994File: quagga.info, Node: VTY Overview, Next: VTY Modes, Up: Virtual Terminal Interfaces
995
ajs274a4a42004-12-07 15:39:31 +00009963.4.1 VTY Overview
paul56d1d202004-11-15 21:56:53 +0000997------------------
998
999VTY stands for Virtual TeletYpe interface. It means you can connect to
1000the daemon via the telnet protocol.
1001
1002 To enable a VTY interface, you have to setup a VTY password. If
1003there is no VTY password, one cannot connect to the VTY interface at
1004all.
1005
1006 % telnet localhost 2601
1007 Trying 127.0.0.1...
1008 Connected to localhost.
1009 Escape character is '^]'.
1010
paulf83d18d2005-01-24 10:24:31 +00001011 Hello, this is Quagga (version 0.99.0)
paulbbd938e2005-04-02 10:18:42 +00001012 Copyright (C) 1999-2005 Kunihiro Ishiguro, et al.
paul56d1d202004-11-15 21:56:53 +00001013
1014 User Access Verification
1015
1016 Password: XXXXX
1017 Router> ?
1018 enable Turn on privileged commands
1019 exit Exit current mode and down to previous mode
1020 help Description of the interactive help system
1021 list Print command list
1022 show Show running system information
1023 who Display who is on a vty
1024 Router> enable
1025 Password: XXXXX
1026 Router# configure terminal
1027 Router(config)# interface eth0
1028 Router(config-if)# ip address 10.0.0.1/8
1029 Router(config-if)# ^Z
1030 Router#
1031
1032 '?' is very useful for looking up commands.
1033
1034
1035File: quagga.info, Node: VTY Modes, Next: VTY CLI Commands, Prev: VTY Overview, Up: Virtual Terminal Interfaces
1036
ajs274a4a42004-12-07 15:39:31 +000010373.4.2 VTY Modes
paul56d1d202004-11-15 21:56:53 +00001038---------------
1039
1040There are three basic VTY modes:
1041
1042* Menu:
1043
1044* VTY View Mode:: Mode for read-only interaction
1045* VTY Enable Mode:: Mode for read-write interaction
1046* VTY Other Modes:: Special modes (tftp, etc)
1047
1048 There are commands that may be restricted to specific VTY modes.
1049
1050
1051File: quagga.info, Node: VTY View Mode, Next: VTY Enable Mode, Up: VTY Modes
1052
ajs274a4a42004-12-07 15:39:31 +000010533.4.2.1 VTY View Mode
paul56d1d202004-11-15 21:56:53 +00001054.....................
1055
1056This mode is for read-only access to the CLI. One may exit the mode by
1057leaving the system, or by entering `enable' mode.
1058
1059
1060File: quagga.info, Node: VTY Enable Mode, Next: VTY Other Modes, Prev: VTY View Mode, Up: VTY Modes
1061
ajs274a4a42004-12-07 15:39:31 +000010623.4.2.2 VTY Enable Mode
paul56d1d202004-11-15 21:56:53 +00001063.......................
1064
1065This mode is for read-write access to the CLI. One may exit the mode by
1066leaving the system, or by escaping to view mode.
1067
1068
1069File: quagga.info, Node: VTY Other Modes, Prev: VTY Enable Mode, Up: VTY Modes
1070
ajs274a4a42004-12-07 15:39:31 +000010713.4.2.3 VTY Other Modes
paul56d1d202004-11-15 21:56:53 +00001072.......................
1073
1074This page is for describing other modes.
1075
1076
1077File: quagga.info, Node: VTY CLI Commands, Prev: VTY Modes, Up: Virtual Terminal Interfaces
1078
ajs274a4a42004-12-07 15:39:31 +000010793.4.3 VTY CLI Commands
paul56d1d202004-11-15 21:56:53 +00001080----------------------
1081
1082Commands that you may use at the command-line are described in the
1083following three subsubsections.
1084
1085* Menu:
1086
1087* CLI Movement Commands:: Commands for moving the cursor about
1088* CLI Editing Commands:: Commands for changing text
1089* CLI Advanced Commands:: Other commands, session management and so on
1090
1091
1092File: quagga.info, Node: CLI Movement Commands, Next: CLI Editing Commands, Up: VTY CLI Commands
1093
ajs274a4a42004-12-07 15:39:31 +000010943.4.3.1 CLI Movement Commands
paul56d1d202004-11-15 21:56:53 +00001095.............................
1096
1097These commands are used for moving the CLI cursor. The <C> character
1098means press the Control Key.
1099
1100`C-f'
1101`<RIGHT>'
1102 Move forward one character.
1103
1104`C-b'
1105`<LEFT>'
1106 Move backward one character.
1107
1108`M-f'
1109 Move forward one word.
1110
1111`M-b'
1112 Move backward one word.
1113
1114`C-a'
1115 Move to the beginning of the line.
1116
1117`C-e'
1118 Move to the end of the line.
1119
1120
1121
1122File: quagga.info, Node: CLI Editing Commands, Next: CLI Advanced Commands, Prev: CLI Movement Commands, Up: VTY CLI Commands
1123
ajs274a4a42004-12-07 15:39:31 +000011243.4.3.2 CLI Editing Commands
paul56d1d202004-11-15 21:56:53 +00001125............................
1126
1127These commands are used for editing text on a line. The <C> character
1128means press the Control Key.
1129
1130`C-h'
1131`<DEL>'
1132 Delete the character before point.
1133
1134`C-d'
1135 Delete the character after point.
1136
1137`M-d'
1138 Forward kill word.
1139
1140`C-w'
1141 Backward kill word.
1142
1143`C-k'
1144 Kill to the end of the line.
1145
1146`C-u'
1147 Kill line from the beginning, erasing input.
1148
1149`C-t'
1150 Transpose character.
1151
1152
1153
1154File: quagga.info, Node: CLI Advanced Commands, Prev: CLI Editing Commands, Up: VTY CLI Commands
1155
ajs274a4a42004-12-07 15:39:31 +000011563.4.3.3 CLI Advanced Commands
paul56d1d202004-11-15 21:56:53 +00001157.............................
1158
1159There are several additional CLI commands for command line completions,
1160insta-help, and VTY session management.
1161
1162`C-c'
1163 Interrupt current input and moves to the next line.
1164
1165`C-z'
1166 End current configuration session and move to top node.
1167
1168`C-n'
1169`<DOWN>'
1170 Move down to next line in the history buffer.
1171
1172`C-p'
1173`<UP>'
1174 Move up to previous line in the history buffer.
1175
1176`TAB'
1177 Use command line completion by typing <TAB>.
1178
1179`'
1180 You can use command line help by typing `help' at the beginning of
1181 the line. Typing `?' at any point in the line will show possible
1182 completions.
1183
1184
1185
1186File: quagga.info, Node: Zebra, Next: RIP, Prev: Basic commands, Up: Top
1187
11884 Zebra
1189*******
1190
1191`zebra' is an IP routing manager. It provides kernel routing table
1192updates, interface lookups, and redistribution of routes between
1193different routing protocols.
1194
1195* Menu:
1196
1197* Invoking zebra:: Running the program
1198* Interface Commands:: Commands for zebra interfaces
1199* Static Route Commands:: Commands for adding static routes
1200* zebra Terminal Mode Commands:: Commands for zebra's VTY
1201
1202
1203File: quagga.info, Node: Invoking zebra, Next: Interface Commands, Up: Zebra
1204
12054.1 Invoking zebra
1206==================
1207
1208Besides the common invocation options (*note Common Invocation
1209Options::), the `zebra' specific invocation options are listed below.
1210
1211`-b'
1212`--batch'
1213 Runs in batch mode. `zebra' parses configuration file and
1214 terminates immediately.
1215
1216`-k'
1217`--keep_kernel'
1218 When zebra starts up, don't delete old self inserted routes.
1219
1220`-l'
1221`--log_mode'
1222 Set verbose logging on.
1223
1224`-r'
1225`--retain'
1226 When program terminates, retain routes added by zebra.
1227
1228
1229
1230File: quagga.info, Node: Interface Commands, Next: Static Route Commands, Prev: Invoking zebra, Up: Zebra
1231
12324.2 Interface Commands
1233======================
1234
1235 -- Command: interface IFNAME
1236
1237 -- Interface Command: shutdown
1238 -- Interface Command: no shutdown
1239 Up or down the current interface.
1240
1241 -- Interface Command: ip address ADDRESS/PREFIX
1242 -- Interface Command: ip6 address ADDRESS/PREFIX
1243 -- Interface Command: no ip address ADDRESS/PREFIX
1244 -- Interface Command: no ip6 address ADDRESS/PREFIX
1245 Set the IPv4 or IPv6 address/prefix for the interface.
1246
1247 -- Interface Command: ip address ADDRESS/PREFIX secondary
1248 -- Interface Command: no ip address ADDRESS/PREFIX secondary
1249 Set the secondary flag for this address. This causes ospfd to not
1250 treat the address as a distinct subnet.
1251
1252 -- Interface Command: description DESCRIPTION ...
1253 Set description for the interface.
1254
1255 -- Interface Command: multicast
1256 -- Interface Command: no multicast
1257 Enable or disables multicast flag for the interface.
1258
1259 -- Interface Command: bandwidth <1-10000000>
1260 -- Interface Command: no bandwidth <1-10000000>
1261 Set bandwidth value of the interface in kilobits/sec. This is for
1262 calculating OSPF cost. This command does not affect the actual
1263 device configuration.
1264
1265 -- Interface Command: link-detect
1266 -- Interface Command: no link-detect
1267 Enable/disable link-detect on platforms which support this.
1268 Currently only linux and with certain drivers - those which
1269 properly support the IFF_RUNNING flag.
1270
1271
1272File: quagga.info, Node: Static Route Commands, Next: zebra Terminal Mode Commands, Prev: Interface Commands, Up: Zebra
1273
12744.3 Static Route Commands
1275=========================
1276
1277Static routing is a very fundamental feature of routing technology. It
1278defines static prefix and gateway.
1279
1280 -- Command: ip route NETWORK GATEWAY
1281 NETWORK is destination prefix with format of A.B.C.D/M. GATEWAY
1282 is gateway for the prefix. When GATEWAY is A.B.C.D format. It is
1283 taken as a IPv4 address gateway. Otherwise it is treated as an
1284 interface name. If the interface name is NULL0 then zebra installs
1285 a blackhole route.
1286
1287 ip route 10.0.0.0/8 10.0.0.2
1288 ip route 10.0.0.0/8 ppp0
1289 ip route 10.0.0.0/8 null0
1290
1291 First example defines 10.0.0.0/8 static route with gateway
1292 10.0.0.2. Second one defines the same prefix but with gateway to
1293 interface ppp0. The third install a blackhole route.
1294
1295 -- Command: ip route NETWORK NETMASK GATEWAY
1296 This is alternate version of above command. When NETWORK is
1297 A.B.C.D format, user must define NETMASK value with A.B.C.D
1298 format. GATEWAY is same option as above command
1299
1300 ip route 10.0.0.0 255.255.255.0 10.0.0.2
1301 ip route 10.0.0.0 255.255.255.0 ppp0
1302 ip route 10.0.0.0 255.255.255.0 null0
1303
1304 These statements are equivalent to those in the previous example.
1305
1306 -- Command: ip route NETWORK GATEWAY DISTANCE
1307 Installs the route with the specified distance.
1308
1309 Multiple nexthop static route
1310
1311 ip route 10.0.0.1/32 10.0.0.2
1312 ip route 10.0.0.1/32 10.0.0.3
1313 ip route 10.0.0.1/32 eth0
1314
1315 If there is no route to 10.0.0.2 and 10.0.0.3, and interface eth0 is
1316reachable, then the last route is installed into the kernel.
1317
1318 If zebra has been compiled with multipath support, and both 10.0.0.2
1319and 10.0.0.3 are reachable, zebra will install a multipath route via
1320both nexthops, if the platform supports this.
1321
1322 zebra> show ip route
1323 S> 10.0.0.1/32 [1/0] via 10.0.0.2 inactive
1324 via 10.0.0.3 inactive
1325 * is directly connected, eth0
1326
1327 ip route 10.0.0.0/8 10.0.0.2
1328 ip route 10.0.0.0/8 10.0.0.3
1329 ip route 10.0.0.0/8 null0 255
1330
1331 This will install a multihop route via the specified next-hops if
1332they are reachable, as well as a high-metric blackhole route, which can
1333be useful to prevent traffic destined for a prefix to match
1334less-specific routes (eg default) should the specified gateways not be
1335reachable. Eg:
1336
1337 zebra> show ip route 10.0.0.0/8
1338 Routing entry for 10.0.0.0/8
1339 Known via "static", distance 1, metric 0
1340 10.0.0.2 inactive
1341 10.0.0.3 inactive
1342
1343 Routing entry for 10.0.0.0/8
1344 Known via "static", distance 255, metric 0
1345 directly connected, Null0
1346
1347 -- Command: ipv6 route NETWORK GATEWAY
1348 -- Command: ipv6 route NETWORK GATEWAY DISTANCE
1349 These behave similarly to their ipv4 counterparts.
1350
1351 -- Command: table TABLENO
1352 Select the primary kernel routing table to be used. This only
1353 works for kernels supporting multiple routing tables (like
1354 GNU/Linux 2.2.x and later). After setting TABLENO with this
1355 command, static routes defined after this are added to the
1356 specified table.
1357
1358
1359File: quagga.info, Node: zebra Terminal Mode Commands, Prev: Static Route Commands, Up: Zebra
1360
13614.4 zebra Terminal Mode Commands
1362================================
1363
1364 -- Command: show ip route
1365 Display current routes which zebra holds in its database.
1366
1367 Router# show ip route
1368 Codes: K - kernel route, C - connected, S - static, R - RIP,
1369 B - BGP * - FIB route.
1370
1371 K* 0.0.0.0/0 203.181.89.241
1372 S 0.0.0.0/0 203.181.89.1
1373 C* 127.0.0.0/8 lo
1374 C* 203.181.89.240/28 eth0
1375
1376 -- Command: show ipv6 route
1377
1378 -- Command: show interface
1379
1380 -- Command: show ipforward
1381 Display whether the host's IP forwarding function is enabled or
1382 not. Almost any UNIX kernel can be configured with IP forwarding
1383 disabled. If so, the box can't work as a router.
1384
1385 -- Command: show ipv6forward
1386 Display whether the host's IP v6 forwarding is enabled or not.
1387
1388
1389File: quagga.info, Node: RIP, Next: RIPng, Prev: Zebra, Up: Top
1390
13915 RIP
1392*****
1393
1394RIP - Routing Information Protocol is widely deployed interior gateway
1395protocol. RIP was developed in the 1970s at Xerox Labs as part of the
1396XNS routing protocol. RIP is a "distance-vector" protocol and is based
1397on the "Bellman-Ford" algorithms. As a distance-vector protocol, RIP
1398router send updates to its neighbors periodically, thus allowing the
1399convergence to a known topology. In each update, the distance to any
1400given network will be broadcasted to its neighboring router.
1401
1402 `ripd' supports RIP version 2 as described in RFC2453 and RIP
1403version 1 as described in RFC1058.
1404
1405* Menu:
1406
1407* Starting and Stopping ripd::
1408* RIP Configuration::
1409* How to Announce RIP route::
1410* Filtering RIP Routes::
1411* RIP Metric Manipulation::
1412* RIP distance::
1413* RIP route-map::
1414* RIP Authentication::
1415* RIP Timers::
1416* Show RIP Information::
1417* RIP Debug Commands::
1418
1419
1420File: quagga.info, Node: Starting and Stopping ripd, Next: RIP Configuration, Up: RIP
1421
14225.1 Starting and Stopping ripd
1423==============================
1424
1425The default configuration file name of `ripd''s is `ripd.conf'. When
1426invocation `ripd' searches directory /etc/quagga. If `ripd.conf' is
1427not there next search current directory.
1428
1429 RIP uses UDP port 520 to send and receive RIP packets. So the user
1430must have the capability to bind the port, generally this means that
1431the user must have superuser privileges. RIP protocol requires
1432interface information maintained by `zebra' daemon. So running `zebra'
1433is mandatory to run `ripd'. Thus minimum sequence for running RIP is
1434like below:
1435
1436 # zebra -d
1437 # ripd -d
1438
1439 Please note that `zebra' must be invoked before `ripd'.
1440
1441 To stop `ripd'. Please use `kill `cat /var/run/ripd.pid`'. Certain
1442signals have special meaningss to `ripd'.
1443
1444`SIGHUP'
1445 Reload configuration file `ripd.conf'. All configurations are
1446 reseted. All routes learned so far are cleared and removed from
1447 routing table.
1448
1449`SIGUSR1'
1450 Rotate `ripd' logfile.
1451
1452`SIGINT'
1453`SIGTERM'
1454 `ripd' sweeps all installed RIP routes then terminates properly.
1455
1456 `ripd' invocation options. Common options that can be specified
1457(*note Common Invocation Options::).
1458
1459`-r'
1460`--retain'
1461 When the program terminates, retain routes added by `ripd'.
1462
1463* Menu:
1464
1465* RIP netmask::
1466
1467
1468File: quagga.info, Node: RIP netmask, Up: Starting and Stopping ripd
1469
14705.1.1 RIP netmask
1471-----------------
1472
1473The netmask features of `ripd' support both version 1 and version 2 of
1474RIP. Version 1 of RIP originally contained no netmask information. In
1475RIP version 1, network classes were originally used to determine the
1476size of the netmask. Class A networks use 8 bits of mask, Class B
1477networks use 16 bits of masks, while Class C networks use 24 bits of
1478mask. Today, the most widely used method of a network mask is assigned
1479to the packet on the basis of the interface that received the packet.
1480Version 2 of RIP supports a variable length subnet mask (VLSM). By
1481extending the subnet mask, the mask can be divided and reused. Each
1482subnet can be used for different purposes such as large to middle size
1483LANs and WAN links. Quagga `ripd' does not support the non-sequential
1484netmasks that are included in RIP Version 2.
1485
1486 In a case of similar information with the same prefix and metric, the
1487old information will be suppressed. Ripd does not currently support
1488equal cost multipath routing.
1489
1490
1491File: quagga.info, Node: RIP Configuration, Next: How to Announce RIP route, Prev: Starting and Stopping ripd, Up: RIP
1492
14935.2 RIP Configuration
1494=====================
1495
1496 -- Command: router rip
1497 The `router rip' command is necessary to enable RIP. To disable
1498 RIP, use the `no router rip' command. RIP must be enabled before
1499 carrying out any of the RIP commands.
1500
1501 -- Command: no router rip
1502 Disable RIP.
1503
1504 RIP can be configured to process either Version 1 or Version 2
1505packets, the default mode is Version 2. If no version is specified,
1506then the RIP daemon will default to Version 2. If RIP is set to Version
15071, the setting "Version 1" will be displayed, but the setting "Version
15082" will not be displayed whether or not Version 2 is set explicitly as
1509the version of RIP being used. The version can be specified globally,
1510and also on a per-interface basis (see below).
1511
1512 -- RIP Command: version VERSION
1513 Set RIP process's version. VERSION can be `1" or `2".
1514
1515 -- RIP Command: network NETWORK
1516 -- RIP Command: no network NETWORK
1517 Set the RIP enable interface by NETWORK. The interfaces which
1518 have addresses matching with NETWORK are enabled.
1519
1520 This group of commands either enables or disables RIP interfaces
1521 between certain numbers of a specified network address. For
1522 example, if the network for 10.0.0.0/24 is RIP enabled, this would
1523 result in all the addresses from 10.0.0.0 to 10.0.0.255 being
1524 enabled for RIP. The `no network' command will disable RIP for
1525 the specified network.
1526
1527 -- RIP Command: network IFNAME
1528 -- RIP Command: no network IFNAME
1529 Set a RIP enabled interface by IFNAME. Both the sending and
1530 receiving of RIP packets will be enabled on the port specified in
1531 the `network ifname' command. The `no network ifname' command
1532 will disable RIP on the specified interface.
1533
1534 -- RIP Command: neighbor A.B.C.D
1535 -- RIP Command: no neighbor A.B.C.D
1536 Specify RIP neighbor. When a neighbor doesn't understand
1537 multicast, this command is used to specify neighbors. In some
1538 cases, not all routers will be able to understand multicasting,
1539 where packets are sent to a network or a group of addresses. In a
1540 situation where a neighbor cannot process multicast packets, it is
1541 necessary to establish a direct link between routers. The
1542 neighbor command allows the network administrator to specify a
1543 router as a RIP neighbor. The `no neighbor a.b.c.d' command will
1544 disable the RIP neighbor.
1545
1546 Below is very simple RIP configuration. Interface `eth0' and
1547interface which address match to `10.0.0.0/8' are RIP enabled.
1548
1549 !
1550 router rip
1551 network 10.0.0.0/8
1552 network eth0
1553 !
1554
1555 Passive interface
1556
1557 -- RIP command: passive-interface (IFNAME|default)
1558 -- RIP command: no passive-interface IFNAME
1559 This command sets the specified interface to passive mode. On
1560 passive mode interface, all receiving packets are processed as
1561 normal and ripd does not send either multicast or unicast RIP
1562 packets except to RIP neighbors specified with `neighbor' command.
1563 The interface may be specified as DEFAULT to make ripd default to
1564 passive on all interfaces.
1565
1566 The default is to be passive on all interfaces.
1567
1568 RIP version handling
1569
1570 -- Interface command: ip rip send version VERSION
1571 VERSION can be `1', `2', `1 2'. This configuration command
1572 overrides the router's rip version setting. The command will
1573 enable the selected interface to send packets with RIP Version 1,
1574 RIP Version 2, or both. In the case of '1 2', packets will be
1575 both broadcast and multicast.
1576
1577 The default is to send only version 2.
1578
1579 -- Interface command: ip rip receive version VERSION
1580 Version setting for incoming RIP packets. This command will
1581 enable the selected interface to receive packets in RIP Version 1,
1582 RIP Version 2, or both.
1583
1584 The default is to receive both versions.
1585
1586 RIP split-horizon
1587
1588 -- Interface command: ip split-horizon
1589 -- Interface command: no ip split-horizon
1590 Control split-horizon on the interface. Default is `ip
1591 split-horizon'. If you don't perform split-horizon on the
1592 interface, please specify `no ip split-horizon'.
1593
1594
1595File: quagga.info, Node: How to Announce RIP route, Next: Filtering RIP Routes, Prev: RIP Configuration, Up: RIP
1596
15975.3 How to Announce RIP route
1598=============================
1599
1600 -- RIP command: redistribute kernel
1601 -- RIP command: redistribute kernel metric <0-16>
1602 -- RIP command: redistribute kernel route-map ROUTE-MAP
1603 -- RIP command: no redistribute kernel
1604 `redistribute kernel' redistributes routing information from
1605 kernel route entries into the RIP tables. `no redistribute kernel'
1606 disables the routes.
1607
1608 -- RIP command: redistribute static
1609 -- RIP command: redistribute static metric <0-16>
1610 -- RIP command: redistribute static route-map ROUTE-MAP
1611 -- RIP command: no redistribute static
1612 `redistribute static' redistributes routing information from
1613 static route entries into the RIP tables. `no redistribute static'
1614 disables the routes.
1615
1616 -- RIP command: redistribute connected
1617 -- RIP command: redistribute connected metric <0-16>
1618 -- RIP command: redistribute connected route-map ROUTE-MAP
1619 -- RIP command: no redistribute connected
1620 Redistribute connected routes into the RIP tables. `no
1621 redistribute connected' disables the connected routes in the RIP
1622 tables. This command redistribute connected of the interface
1623 which RIP disabled. The connected route on RIP enabled interface
1624 is announced by default.
1625
1626 -- RIP command: redistribute ospf
1627 -- RIP command: redistribute ospf metric <0-16>
1628 -- RIP command: redistribute ospf route-map ROUTE-MAP
1629 -- RIP command: no redistribute ospf
1630 `redistribute ospf' redistributes routing information from ospf
1631 route entries into the RIP tables. `no redistribute ospf' disables
1632 the routes.
1633
1634 -- RIP command: redistribute bgp
1635 -- RIP command: redistribute bgp metric <0-16>
1636 -- RIP command: redistribute bgp route-map ROUTE-MAP
1637 -- RIP command: no redistribute bgp
1638 `redistribute bgp' redistributes routing information from bgp
1639 route entries into the RIP tables. `no redistribute bgp' disables
1640 the routes.
1641
1642 If you want to specify RIP only static routes:
1643
1644 -- RIP command: default-information originate
1645
1646 -- RIP command: route A.B.C.D/M
1647 -- RIP command: no route A.B.C.D/M
1648 This command is specific to Quagga. The `route' command makes a
1649 static route only inside RIP. This command should be used only by
1650 advanced users who are particularly knowledgeable about the RIP
1651 protocol. In most cases, we recommend creating a static route in
1652 Quagga and redistributing it in RIP using `redistribute static'.
1653
1654
1655File: quagga.info, Node: Filtering RIP Routes, Next: RIP Metric Manipulation, Prev: How to Announce RIP route, Up: RIP
1656
16575.4 Filtering RIP Routes
1658========================
1659
1660RIP routes can be filtered by a distribute-list.
1661
1662 -- Command: distribute-list ACCESS_LIST DIRECT IFNAME
1663 You can apply access lists to the interface with a
1664 `distribute-list' command. ACCESS_LIST is the access list name.
1665 DIRECT is `in' or `out'. If DIRECT is `in' the access list is
1666 applied to input packets.
1667
1668 The `distribute-list' command can be used to filter the RIP path.
1669 `distribute-list' can apply access-lists to a chosen interface.
1670 First, one should specify the access-list. Next, the name of the
1671 access-list is used in the distribute-list command. For example,
1672 in the following configuration `eth0' will permit only the paths
1673 that match the route 10.0.0.0/8
1674
1675 !
1676 router rip
1677 distribute-list private in eth0
1678 !
1679 access-list private permit 10 10.0.0.0/8
1680 access-list private deny any
1681 !
1682
1683 `distribute-list' can be applied to both incoming and outgoing data.
1684
1685 -- Command: distribute-list prefix PREFIX_LIST (in|out) IFNAME
1686 You can apply prefix lists to the interface with a
1687 `distribute-list' command. PREFIX_LIST is the prefix list name.
1688 Next is the direction of `in' or `out'. If DIRECT is `in' the
1689 access list is applied to input packets.
1690
1691
1692File: quagga.info, Node: RIP Metric Manipulation, Next: RIP distance, Prev: Filtering RIP Routes, Up: RIP
1693
16945.5 RIP Metric Manipulation
1695===========================
1696
1697RIP metric is a value for distance for the network. Usually `ripd'
1698increment the metric when the network information is received.
1699Redistributed routes' metric is set to 1.
1700
1701 -- RIP command: default-metric <1-16>
1702 -- RIP command: no default-metric <1-16>
1703 This command modifies the default metric value for redistributed
1704 routes. The default value is 1. This command does not affect
1705 connected route even if it is redistributed by `redistribute
1706 connected'. To modify connected route's metric value, please use
1707 `redistribute connected metric' or `route-map'. `offset-list' also
1708 affects connected routes.
1709
1710 -- RIP command: offset-list ACCESS-LIST (in|out)
1711 -- RIP command: offset-list ACCESS-LIST (in|out) IFNAME
1712
1713
1714File: quagga.info, Node: RIP distance, Next: RIP route-map, Prev: RIP Metric Manipulation, Up: RIP
1715
17165.6 RIP distance
1717================
1718
1719Distance value is used in zebra daemon. Default RIP distance is 120.
1720
1721 -- RIP command: distance <1-255>
1722 -- RIP command: no distance <1-255>
1723 Set default RIP distance to specified value.
1724
1725 -- RIP command: distance <1-255> A.B.C.D/M
1726 -- RIP command: no distance <1-255> A.B.C.D/M
1727 Set default RIP distance to specified value when the route's
1728 source IP address matches the specified prefix.
1729
1730 -- RIP command: distance <1-255> A.B.C.D/M ACCESS-LIST
1731 -- RIP command: no distance <1-255> A.B.C.D/M ACCESS-LIST
1732 Set default RIP distance to specified value when the route's
1733 source IP address matches the specified prefix and the specified
1734 access-list.
1735
1736
1737File: quagga.info, Node: RIP route-map, Next: RIP Authentication, Prev: RIP distance, Up: RIP
1738
17395.7 RIP route-map
1740=================
1741
1742Usage of `ripd''s route-map support.
1743
1744 Optional argument route-map MAP_NAME can be added to each
1745`redistribute' statement.
1746
1747 redistribute static [route-map MAP_NAME]
1748 redistribute connected [route-map MAP_NAME]
1749 .....
1750
1751 Cisco applies route-map _before_ routes will exported to rip route
1752table. In current Quagga's test implementation, `ripd' applies
1753route-map after routes are listed in the route table and before routes
1754will be announced to an interface (something like output filter). I
1755think it is not so clear, but it is draft and it may be changed at
1756future.
1757
1758 Route-map statement (*note Route Map::) is needed to use route-map
1759functionality.
1760
1761 -- Route Map: match interface WORD
1762 This command match to incoming interface. Notation of this match
1763 is different from Cisco. Cisco uses a list of interfaces - NAME1
1764 NAME2 ... NAMEN. Ripd allows only one name (maybe will change in
1765 the future). Next - Cisco means interface which includes next-hop
1766 of routes (it is somewhat similar to "ip next-hop" statement).
1767 Ripd means interface where this route will be sent. This
1768 difference is because "next-hop" of same routes which sends to
1769 different interfaces must be different. Maybe it'd be better to
1770 made new matches - say "match interface-out NAME" or something
1771 like that.
1772
1773 -- Route Map: match ip address WORD
1774 -- Route Map: match ip address prefix-list WORD
1775 Match if route destination is permitted by access-list.
1776
1777 -- Route Map: match ip next-hop A.B.C.D
1778 Cisco uses here <access-list>, `ripd' IPv4 address. Match if route
1779 has this next-hop (meaning next-hop listed in the rip route table
1780 - "show ip rip")
1781
1782 -- Route Map: match metric <0-4294967295>
1783 This command match to the metric value of RIP updates. For other
1784 protocol compatibility metric range is shown as <0-4294967295>.
1785 But for RIP protocol only the value range <0-16> make sense.
1786
1787 -- Route Map: set ip next-hop A.B.C.D
1788 This command set next hop value in RIPv2 protocol. This command
1789 does not affect RIPv1 because there is no next hop field in the
1790 packet.
1791
1792 -- Route Map: set metric <0-4294967295>
1793 Set a metric for matched route when sending announcement. The
1794 metric value range is very large for compatibility with other
1795 protocols. For RIP, valid metric values are from 1 to 16.
1796
1797
1798File: quagga.info, Node: RIP Authentication, Next: RIP Timers, Prev: RIP route-map, Up: RIP
1799
18005.8 RIP Authentication
1801======================
1802
1803 -- Interface command: ip rip authentication mode md5
1804 -- Interface command: no ip rip authentication mode md5
1805 Set the interface with RIPv2 MD5 authentication.
1806
1807 -- Interface command: ip rip authentication mode text
1808 -- Interface command: no ip rip authentication mode text
1809 Set the interface with RIPv2 simple password authentication.
1810
1811 -- Interface command: ip rip authentication string STRING
1812 -- Interface command: no ip rip authentication string STRING
1813 RIP version 2 has simple text authentication. This command sets
1814 authentication string. The string must be shorter than 16
1815 characters.
1816
1817 -- Interface command: ip rip authentication key-chain KEY-CHAIN
1818 -- Interface command: no ip rip authentication key-chain KEY-CHAIN
1819 Specifiy Keyed MD5 chain.
1820
1821 !
1822 key chain test
1823 key 1
1824 key-string test
1825 !
1826 interface eth1
1827 ip rip authentication mode md5
1828 ip rip authentication key-chain test
1829 !
1830
1831
1832File: quagga.info, Node: RIP Timers, Next: Show RIP Information, Prev: RIP Authentication, Up: RIP
1833
18345.9 RIP Timers
1835==============
1836
1837 -- RIP command: timers basic UPDATE TIMEOUT GARBAGE
1838 RIP protocol has several timers. User can configure those timers'
1839 values by `timers basic' command.
1840
1841 The default settings for the timers are as follows:
1842
1843 * The update timer is 30 seconds. Every update timer seconds,
1844 the RIP process is awakened to send an unsolicited Response
1845 message containing the complete routing table to all
1846 neighboring RIP routers.
1847
1848 * The timeout timer is 180 seconds. Upon expiration of the
1849 timeout, the route is no longer valid; however, it is
1850 retained in the routing table for a short time so that
1851 neighbors can be notified that the route has been dropped.
1852
1853 * The garbage collect timer is 120 seconds. Upon expiration of
1854 the garbage-collection timer, the route is finally removed
1855 from the routing table.
1856
1857
1858 The `timers basic' command allows the the default values of the
1859 timers listed above to be changed.
1860
1861 -- RIP command: no timers basic
1862 The `no timers basic' command will reset the timers to the default
1863 settings listed above.
1864
1865
1866File: quagga.info, Node: Show RIP Information, Next: RIP Debug Commands, Prev: RIP Timers, Up: RIP
1867
18685.10 Show RIP Information
1869=========================
1870
1871To display RIP routes.
1872
1873 -- Command: show ip rip
1874 Show RIP routes.
1875
1876 The command displays all RIP routes. For routes that are received
1877through RIP, this command will display the time the packet was sent and
1878the tag information. This command will also display this information
1879for routes redistributed into RIP.
1880
1881 -- Command: show ip protocols
1882 The command displays current RIP status. It includes RIP timer,
1883 filtering, version, RIP enabled interface and RIP peer inforation.
1884
1885 ripd> show ip protocols
1886 Routing Protocol is "rip"
1887 Sending updates every 30 seconds with +/-50%, next due in 35 seconds
1888 Timeout after 180 seconds, garbage collect after 120 seconds
1889 Outgoing update filter list for all interface is not set
1890 Incoming update filter list for all interface is not set
1891 Default redistribution metric is 1
1892 Redistributing: kernel connected
1893 Default version control: send version 2, receive version 2
1894 Interface Send Recv
1895 Routing for Networks:
1896 eth0
1897 eth1
1898 1.1.1.1
1899 203.181.89.241
1900 Routing Information Sources:
1901 Gateway BadPackets BadRoutes Distance Last Update
1902
1903
1904File: quagga.info, Node: RIP Debug Commands, Prev: Show RIP Information, Up: RIP
1905
19065.11 RIP Debug Commands
1907=======================
1908
1909Debug for RIP protocol.
1910
1911 -- Command: debug rip events
1912 Debug rip events.
1913
1914 `debug rip' will show RIP events. Sending and receiving packets,
1915timers, and changes in interfaces are events shown with `ripd'.
1916
1917 -- Command: debug rip packet
1918 Debug rip packet.
1919
1920 `debug rip packet' will display detailed information about the RIP
1921packets. The origin and port number of the packet as well as a packet
1922dump is shown.
1923
1924 -- Command: debug rip zebra
1925 Debug rip between zebra communication.
1926
1927 This command will show the communication between `ripd' and `zebra'.
1928The main information will include addition and deletion of paths to
1929the kernel and the sending and receiving of interface information.
1930
1931 -- Command: show debugging rip
1932 Display `ripd''s debugging option.
1933
1934 `show debugging rip' will show all information currently set for ripd
1935debug.
1936
1937
1938File: quagga.info, Node: RIPng, Next: OSPFv2, Prev: RIP, Up: Top
1939
19406 RIPng
1941*******
1942
1943`ripngd' supports the RIPng protocol as described in RFC2080. It's an
1944IPv6 reincarnation of the RIP protocol.
1945
1946* Menu:
1947
1948* Invoking ripngd::
1949* ripngd Configuration::
1950* ripngd Terminal Mode Commands::
1951* ripngd Filtering Commands::
1952
1953
1954File: quagga.info, Node: Invoking ripngd, Next: ripngd Configuration, Up: RIPng
1955
19566.1 Invoking ripngd
1957===================
1958
1959There are no `ripngd' specific invocation options. Common options can
1960be specified (*note Common Invocation Options::).
1961
1962
1963File: quagga.info, Node: ripngd Configuration, Next: ripngd Terminal Mode Commands, Prev: Invoking ripngd, Up: RIPng
1964
19656.2 ripngd Configuration
1966========================
1967
1968Currently ripngd supports the following commands:
1969
1970 -- Command: router ripng
1971 Enable RIPng.
1972
1973 -- RIPng Command: flush_timer TIME
1974 Set flush timer.
1975
1976 -- RIPng Command: network NETWORK
1977 Set RIPng enabled interface by NETWORK
1978
1979 -- RIPng Command: network IFNAME
1980 Set RIPng enabled interface by IFNAME
1981
1982 -- RIPng Command: route NETWORK
1983 Set RIPng static routing announcement of NETWORK.
1984
1985 -- Command: router zebra
1986 This command is the default and does not appear in the
1987 configuration. With this statement, RIPng routes go to the
1988 `zebra' daemon.
1989
1990
1991File: quagga.info, Node: ripngd Terminal Mode Commands, Next: ripngd Filtering Commands, Prev: ripngd Configuration, Up: RIPng
1992
19936.3 ripngd Terminal Mode Commands
1994=================================
1995
1996 -- Command: show ip ripng
1997
1998 -- Command: show debugging ripng
1999
2000 -- Command: debug ripng events
2001
2002 -- Command: debug ripng packet
2003
2004 -- Command: debug ripng zebra
2005
2006
2007File: quagga.info, Node: ripngd Filtering Commands, Prev: ripngd Terminal Mode Commands, Up: RIPng
2008
20096.4 ripngd Filtering Commands
2010=============================
2011
2012 -- Command: distribute-list ACCESS_LIST (in|out) IFNAME
2013 You can apply an access-list to the interface using the
2014 `distribute-list' command. ACCESS_LIST is an access-list name.
2015 DIRECT is `in' or `out'. If DIRECT is `in', the access-list is
2016 applied only to incoming packets.
2017
2018 distribute-list local-only out sit1
2019
2020
2021File: quagga.info, Node: OSPFv2, Next: OSPFv3, Prev: RIPng, Up: Top
2022
20237 OSPFv2
2024********
2025
2026OSPF version 2 is a routing protocol which described in RFC2328 - `OSPF
2027Version 2'. OSPF is IGP (Interior Gateway Protocols). Compared with
2028RIP, OSPF can provide scalable network support and faster convergence
2029time. OSPF is widely used in large networks such as ISP backbone and
2030enterprise networks.
2031
2032* Menu:
2033
2034* Configuring ospfd::
2035* OSPF router::
2036* OSPF area::
2037* OSPF interface::
2038* Redistribute routes to OSPF::
2039* Showing OSPF information::
2040* Debugging OSPF::
2041
2042
2043File: quagga.info, Node: Configuring ospfd, Next: OSPF router, Up: OSPFv2
2044
20457.1 Configuring ospfd
2046=====================
2047
2048There is no `ospfd' specific options. Common options can be specified
2049(*note Common Invocation Options::) to `ospfd'. `ospfd' needs
2050interface information from `zebra'. So please make it sure `zebra' is
2051running before invoking `ospfd'.
2052
2053 Like other daemons, `ospfd' configuration is done in OSPF specific
2054configuration file `ospfd.conf'.
2055
2056
2057File: quagga.info, Node: OSPF router, Next: OSPF area, Prev: Configuring ospfd, Up: OSPFv2
2058
20597.2 OSPF router
2060===============
2061
2062To start OSPF process you have to specify the OSPF router. As of this
2063writing, `ospfd' does not support multiple OSPF processes.
2064
2065 -- Command: router ospf
2066 -- Command: no router ospf
2067 Enable or disable the OSPF process. `ospfd' does not yet support
2068 multiple OSPF processes. So you can not specify an OSPF process
2069 number.
2070
2071 -- OSPF Command: ospf router-id A.B.C.D
2072 -- OSPF Command: no ospf router-id
2073
2074 -- OSPF Command: ospf abr-type TYPE
2075 -- OSPF Command: no ospf abr-type TYPE
2076 TYPE can be cisco|ibm|shortcut|standard More information regarding
2077 the behaviour controlled by this command can be found in
2078 draft-ietf-ospf-abr-alt-05.txt and
2079 draft-ietf-ospf-shortcut-abr-02.txt Quote: "Though the definition
2080 of the Area Border Router (ABR) in the OSPF specification does not
2081 require a router with multiple attached areas to have a backbone
2082 connection, it is actually necessary to provide successful routing
2083 to the inter-area and external destinations. If this requirement
2084 is not met, all traffic destined for the areas not connected to
2085 such an ABR or out of the OSPF domain, is dropped. This document
2086 describes alternative ABR behaviors implemented in Cisco and IBM
2087 routers."
2088
2089 -- OSPF Command: ospf rfc1583compatibility
2090 -- OSPF Command: no ospf rfc1583compatibility
2091 This rfc2328, the sucessor to rfc1583, suggests according to
2092 section G.2 (changes) in section 16.4 a change to the path
2093 preference algorithm that prevents possible routing loops that
2094 were possible in the old version of OSPFv2. More specifically it
2095 demands that inter-area paths and intra-area path are now of equal
2096 preference but still both preferred to external paths.
2097
2098 -- OSPF Command: passive interface INTERFACE
2099 -- OSPF Command: no passive interface INTERFACE
2100
2101 -- OSPF Command: timers spf <0-4294967295> <0-4294967295>
2102 -- OSPF Command: no timers spf
2103
2104 -- OSPF Command: refresh group-limit <0-10000>
2105 -- OSPF Command: refresh per-slice <0-10000>
2106 -- OSPF Command: refresh age-diff <0-10000>
2107
2108 -- OSPF Command: auto-cost refrence-bandwidth <1-4294967>
2109 -- OSPF Command: no auto-cost refrence-bandwidth
2110
2111 -- OSPF Command: network A.B.C.D/M area A.B.C.D
2112 -- OSPF Command: network A.B.C.D/M area <0-4294967295>
2113 -- OSPF Command: no network A.B.C.D/M area A.B.C.D
2114 -- OSPF Command: no network A.B.C.D/M area <0-4294967295>
2115 This command specifies the OSPF enabled interface(s). If the
2116 interface has an address from range 192.168.1.0/24 then the
2117 command below enables ospf on this interface so router can provide
2118 network information to the other ospf routers via this interface.
2119 router ospf
2120 network 192.168.1.0/24 area 0.0.0.0
2121 Prefix length in interface must be equal or bigger (ie.
2122 smaller network) than prefix length in network statement. For
2123 example statement above doesn't enable ospf on interface with
2124 address 192.168.1.1/23, but it does on interface with address
2125 192.168.1.129/25.
2126
2127
2128File: quagga.info, Node: OSPF area, Next: OSPF interface, Prev: OSPF router, Up: OSPFv2
2129
21307.3 OSPF area
2131=============
2132
2133 -- OSPF Command: area A.B.C.D range A.B.C.D/M
2134 -- OSPF Command: area <0-4294967295> range A.B.C.D/M
2135 -- OSPF Command: no area A.B.C.D range A.B.C.D/M
2136 -- OSPF Command: no area <0-4294967295> range A.B.C.D/M
2137 Summarize intra area paths from specified area into one Type-3
2138 summary-LSA announced to other areas. This command can be used
2139 only in ABR and ONLY router-LSAs (Type-1) and network-LSAs
2140 (Type-2) (ie. LSAs with scope area) can be summarized. Type-5
2141 AS-external-LSAs can't be summarized - their scope is AS.
2142 Summarizing Type-7 AS-external-LSAs isn't supported yet by Quagga.
2143 router ospf
2144 network 192.168.1.0/24 area 0.0.0.0
2145 network 10.0.0.0/8 area 0.0.0.10
2146 area 0.0.0.10 range 10.0.0.0/8
2147 With configuration above one Type-3 Summary-LSA with routing
2148 info 10.0.0.0/8 is announced into backbone area if area 0.0.0.10
2149 contains at least one intra-area network (ie. described with
2150 router or network LSA) from this range.
2151
2152 -- OSPF Command: area A.B.C.D range IPV4_PREFIX not-advertise
2153 -- OSPF Command: no area A.B.C.D range IPV4_PREFIX not-advertise
2154 Instead of summarizing intra area paths filter them - ie. intra
2155 area paths from this range are not advertised into other areas.
2156 This command makes sense in ABR only.
2157
2158 -- OSPF Command: area A.B.C.D range IPV4_PREFIX substitute IPV4_PREFIX
2159 -- OSPF Command: no area A.B.C.D range IPV4_PREFIX substitute
2160IPV4_PREFIX
2161 Substitute summarized prefix with another prefix.
2162 router ospf
2163 network 192.168.1.0/24 area 0.0.0.0
2164 network 10.0.0.0/8 area 0.0.0.10
2165 area 0.0.0.10 range 10.0.0.0/8 substitute 11.0.0.0/8
2166 One Type-3 summary-LSA with routing info 11.0.0.0/8 is
2167 announced into backbone area if area 0.0.0.10 contains at least
2168 one intra-area network (ie. described with router-LSA or
2169 network-LSA) from range 10.0.0.0/8. This command makes sense in
2170 ABR only.
2171
2172 -- OSPF Command: area A.B.C.D virtual-link A.B.C.D
2173 -- OSPF Command: area <0-4294967295> virtual-link A.B.C.D
2174 -- OSPF Command: no area A.B.C.D virtual-link A.B.C.D
2175 -- OSPF Command: no area <0-4294967295> virtual-link A.B.C.D
2176
2177 -- OSPF Command: area A.B.C.D shortcut
2178 -- OSPF Command: area <0-4294967295> shortcut
2179 -- OSPF Command: no area A.B.C.D shortcut
2180 -- OSPF Command: no area <0-4294967295> shortcut
2181
2182 -- OSPF Command: area A.B.C.D stub
2183 -- OSPF Command: area <0-4294967295> stub
2184 -- OSPF Command: no area A.B.C.D stub
2185 -- OSPF Command: no area <0-4294967295> stub
2186
2187 -- OSPF Command: area A.B.C.D stub no-summary
2188 -- OSPF Command: area <0-4294967295> stub no-summary
2189 -- OSPF Command: no area A.B.C.D stub no-summary
2190 -- OSPF Command: no area <0-4294967295> stub no-summary
2191
2192 -- OSPF Command: area A.B.C.D default-cost <0-16777215>
2193 -- OSPF Command: no area A.B.C.D default-cost <0-16777215>
2194
2195 -- OSPF Command: area A.B.C.D export-list NAME
2196 -- OSPF Command: area <0-4294967295> export-list NAME
2197 -- OSPF Command: no area A.B.C.D export-list NAME
2198 -- OSPF Command: no area <0-4294967295> export-list NAME
2199 Filter Type-3 summary-LSAs announced to other areas originated
2200 from intra- area paths from specified area.
2201 router ospf
2202 network 192.168.1.0/24 area 0.0.0.0
2203 network 10.0.0.0/8 area 0.0.0.10
2204 area 0.0.0.10 export-list foo
2205 !
2206 access-list foo permit 10.10.0.0/16
2207 access-list foo deny any
2208 With example above any intra-area paths from area 0.0.0.10
2209 and from range 10.10.0.0/16 (for example 10.10.1.0/24 and
2210 10.10.2.128/30) are announced into other areas as Type-3
2211 summary-LSA's, but any others (for example 10.11.0.0/16 or
2212 10.128.30.16/30) aren't. This command makes sense in ABR only.
2213
2214 -- OSPF Command: area A.B.C.D import-list NAME
2215 -- OSPF Command: area <0-4294967295> import-list NAME
2216 -- OSPF Command: no area A.B.C.D import-list NAME
2217 -- OSPF Command: no area <0-4294967295> import-list NAME
2218 Same as export-list, but it applies to paths announced into
2219 specified area as Type-3 summary-LSAs.
2220
2221 -- OSPF Command: area A.B.C.D filter-list prefix NAME in
2222 -- OSPF Command: area A.B.C.D filter-list prefix NAME out
2223 -- OSPF Command: area <0-4294967295> filter-list prefix NAME in
2224 -- OSPF Command: area <0-4294967295> filter-list prefix NAME out
2225 -- OSPF Command: no area A.B.C.D filter-list prefix NAME in
2226 -- OSPF Command: no area A.B.C.D filter-list prefix NAME out
2227 -- OSPF Command: no area <0-4294967295> filter-list prefix NAME in
2228 -- OSPF Command: no area <0-4294967295> filter-list prefix NAME out
2229 Filtering Type-3 summary-LSAs to/from area using prefix lists.
2230 This command makes sense in ABR only.
2231
2232 -- OSPF Command: area A.B.C.D authentication
2233 -- OSPF Command: area <0-4294967295> authentication
2234 -- OSPF Command: no area A.B.C.D authentication
2235 -- OSPF Command: no area <0-4294967295> authentication
2236
2237 -- OSPF Command: area A.B.C.D authentication message-digest
2238 -- OSPF Command: area <0-4294967295> authentication message-digest
2239
2240
2241File: quagga.info, Node: OSPF interface, Next: Redistribute routes to OSPF, Prev: OSPF area, Up: OSPFv2
2242
22437.4 OSPF interface
2244==================
2245
2246 -- Interface Command: ip ospf authentication-key AUTH_KEY
2247 -- Interface Command: no ip ospf authentication-key
2248 Set OSPF authentication key to a simple password. After setting
2249 AUTH_KEY, all OSPF packets are authenticated. AUTH_KEY has length
2250 up to 8 chars.
2251
2252 -- Interface Command: ip ospf message-digest-key KEYID md5 KEY
2253 -- Interface Command: no ip ospf message-digest-key
2254 Set OSPF authentication key to a cryptographic password. The
2255 cryptographic algorithm is MD5. KEYID identifies secret key used
2256 to create the message digest. KEY is the actual message digest
2257 key up to 16 chars.
2258
2259 Note that OSPF MD5 authentication requires that time never go
2260 backwards (correct time is not important, only that it never goes
2261 backwards), even across resets, if ospfd is to be able to promptly
2262 reestabish adjacencies with its neighbours after restarts/reboots.
2263 The host should have system time be set at boot from an external
2264 source (eg battery backed clock, NTP, etc.) or else the system
2265 clock should be periodically saved to non-volative storage and
2266 restored at boot if MD5 authentication is to be expected to work
2267 reliably.
2268
2269 -- Interface Command: ip ospf cost <1-65535>
2270 -- Interface Command: no ip ospf cost
2271 Set link cost for the specified interface. The cost value is set
2272 to router-LSA's metric field and used for SPF calculation.
2273
2274 -- Interface Command: ip ospf dead-interval <1-65535>
2275 -- Interface Command: no ip ospf dead-interval
2276 Set number of seconds for RouterDeadInterval timer value used for
2277 Wait Timer and Inactivity Timer. This value must be the same for
2278 all routers attached to a common network. The default value is 40
2279 seconds.
2280
2281 -- Interface Command: ip ospf hello-interval <1-65535>
2282 -- Interface Command: no ip ospf hello-interval
2283 Set number of seconds for HelloInterval timer value. Setting this
2284 value, Hello packet will be sent every timer value seconds on the
2285 specified interface. This value must be the same for all routers
2286 attached to a common network. The default value is 10 seconds.
2287
2288 -- Interface Command: ip ospf network
2289(broadcast|non-broadcast|point-to-multipoint|point-to-point)
2290 -- Interface Command: no ip ospf network
2291 Set explicitly network type for specifed interface.
2292
2293 -- Interface Command: ip ospf priority <0-255>
2294 -- Interface Command: no ip ospf priority
2295 Set RouterPriority integer value. Setting higher value, router
2296 will be more eligible to become Designated Router. Setting the
2297 value to 0, router is no longer eligible to Designated Router.
2298 The default value is 1.
2299
2300 -- Interface Command: ip ospf retransmit-interval <1-65535>
2301 -- Interface Command: no ip ospf retransmit interval
2302 Set number of seconds for RxmtInterval timer value. This value is
2303 used when retransmitting Database Description and Link State
2304 Request packets. The default value is 5 seconds.
2305
2306 -- Interface Command: ip ospf transmit-delay
2307 -- Interface Command: no ip ospf transmit-delay
2308 Set number of seconds for InfTransDelay value. LSAs' age should be
2309 incremented by this value when transmitting. The default value is
2310 1 seconds.
2311
2312
2313File: quagga.info, Node: Redistribute routes to OSPF, Next: Showing OSPF information, Prev: OSPF interface, Up: OSPFv2
2314
23157.5 Redistribute routes to OSPF
2316===============================
2317
2318 -- OSPF Command: redistribute (kernel|connected|static|rip|bgp)
2319 -- OSPF Command: redistribute (kernel|connected|static|rip|bgp)
2320ROUTE-MAP
2321 -- OSPF Command: redistribute (kernel|connected|static|rip|bgp)
2322metric-type (1|2)
2323 -- OSPF Command: redistribute (kernel|connected|static|rip|bgp)
2324metric-type (1|2) route-map WORD
2325 -- OSPF Command: redistribute (kernel|connected|static|rip|bgp) metric
2326<0-16777214>
2327 -- OSPF Command: redistribute (kernel|connected|static|rip|bgp) metric
2328<0-16777214> route-map WORD
2329 -- OSPF Command: redistribute (kernel|connected|static|rip|bgp)
2330metric-type (1|2) metric <0-16777214>
2331 -- OSPF Command: redistribute (kernel|connected|static|rip|bgp)
2332metric-type (1|2) metric <0-16777214> route-map WORD
2333 -- OSPF Command: no redistribute (kernel|connected|static|rip|bgp)
2334
2335 -- OSPF Command: default-information originate
2336 -- OSPF Command: default-information originate metric <0-16777214>
2337 -- OSPF Command: default-information originate metric <0-16777214>
2338metric-type (1|2)
2339 -- OSPF Command: default-information originate metric <0-16777214>
2340metric-type (1|2) route-map WORD
2341 -- OSPF Command: default-information originate always
2342 -- OSPF Command: default-information originate always metric
2343<0-16777214>
2344 -- OSPF Command: default-information originate always metric
2345<0-16777214> metric-type (1|2)
2346 -- OSPF Command: default-information originate always metric
2347<0-16777214> metric-type (1|2) route-map WORD
2348 -- OSPF Command: no default-information originate
2349
2350 -- OSPF Command: distribute-list NAME out
2351(kernel|connected|static|rip|ospf
2352 -- OSPF Command: no distribute-list NAME out
2353(kernel|connected|static|rip|ospf
2354
2355 -- OSPF Command: default-metric <0-16777214>
2356 -- OSPF Command: no default-metric
2357
2358 -- OSPF Command: distance <1-255>
2359 -- OSPF Command: no distance <1-255>
2360
2361 -- OSPF Command: distance ospf (intra-area|inter-area|external)
2362 <1-255>
2363 -- OSPF Command: no distance ospf
2364
2365 -- Command: router zebra
2366 -- Command: no router zebra
2367
2368
2369File: quagga.info, Node: Showing OSPF information, Next: Debugging OSPF, Prev: Redistribute routes to OSPF, Up: OSPFv2
2370
23717.6 Showing OSPF information
2372============================
2373
2374 -- Command: show ip ospf
2375
2376 -- Command: show ip ospf interface [INTERFACE]
2377
2378 -- Command: show ip ospf neighbor
2379 -- Command: show ip ospf neighbor INTERFACE
2380 -- Command: show ip ospf neighbor detail
2381 -- Command: show ip ospf neighbor INTERFACE detail
2382
2383 -- Command: show ip ospf database
2384
2385 -- Command: show ip ospf database
2386(asbr-summary|external|network|router|summary)
2387 -- Command: show ip ospf database
2388(asbr-summary|external|network|router|summary) LINK-STATE-ID
2389 -- Command: show ip ospf database
2390(asbr-summary|external|network|router|summary) LINK-STATE-ID adv-router
2391ADV-ROUTER
2392 -- Command: show ip ospf database
2393(asbr-summary|external|network|router|summary) adv-router ADV-ROUTER
2394 -- Command: show ip ospf database
2395(asbr-summary|external|network|router|summary) LINK-STATE-ID
2396self-originate
2397 -- Command: show ip ospf database
2398(asbr-summary|external|network|router|summary) self-originate
2399
2400 -- Command: show ip ospf database max-age
2401
2402 -- Command: show ip ospf database self-originate
2403
2404 -- Command: show ip ospf refresher
2405
2406 -- Command: show ip ospf route
2407
2408
2409File: quagga.info, Node: Debugging OSPF, Prev: Showing OSPF information, Up: OSPFv2
2410
24117.7 Debugging OSPF
2412==================
2413
2414 -- Command: debug ospf packet
2415(hello|dd|ls-request|ls-update|ls-ack|all) (send|recv) [detail]
2416 -- Command: no debug ospf packet
2417(hello|dd|ls-request|ls-update|ls-ack|all) (send|recv) [detail]
2418
2419 -- Command: debug ospf ism
2420 -- Command: debug ospf ism (status|events|timers)
2421 -- Command: no debug ospf ism
2422 -- Command: no debug ospf ism (status|events|timers)
2423
2424 -- Command: debug ospf nsm
2425 -- Command: debug ospf nsm (status|events|timers)
2426 -- Command: no debug ospf nsm
2427 -- Command: no debug ospf nsm (status|events|timers)
2428
2429 -- Command: debug ospf lsa
2430 -- Command: debug ospf lsa (generate|flooding|refresh)
2431 -- Command: no debug ospf lsa
2432 -- Command: no debug ospf lsa (generate|flooding|refresh)
2433
2434 -- Command: debug ospf zebra
2435 -- Command: debug ospf zebra (interface|redistribute)
2436 -- Command: no debug ospf zebra
2437 -- Command: no debug ospf zebra (interface|redistribute)
2438
2439 -- Command: show debugging ospf
2440
2441
2442File: quagga.info, Node: OSPFv3, Next: BGP, Prev: OSPFv2, Up: Top
2443
24448 OSPFv3
2445********
2446
2447`ospf6d' is a daemon support OSPF version 3 for IPv6 network. OSPF for
2448IPv6 is described in RFC2740.
2449
2450* Menu:
2451
2452* OSPF6 router::
2453* OSPF6 area::
2454* OSPF6 interface::
2455* Redistribute routes to OSPF6::
2456* Showing OSPF6 information::
2457
2458
2459File: quagga.info, Node: OSPF6 router, Next: OSPF6 area, Up: OSPFv3
2460
24618.1 OSPF6 router
2462================
2463
2464 -- Command: router ospf6
2465
2466 -- OSPF6 Command: router-id A.B.C.D
2467 Set router's Router-ID.
2468
2469 -- OSPF6 Command: interface IFNAME area AREA
2470 Bind interface to specified area, and start sending OSPF packets.
2471 AREA can be specified as 0.
2472
2473
2474File: quagga.info, Node: OSPF6 area, Next: OSPF6 interface, Prev: OSPF6 router, Up: OSPFv3
2475
24768.2 OSPF6 area
2477==============
2478
2479Area support for OSPFv3 is not yet implemented.
2480
2481
2482File: quagga.info, Node: OSPF6 interface, Next: Redistribute routes to OSPF6, Prev: OSPF6 area, Up: OSPFv3
2483
24848.3 OSPF6 interface
2485===================
2486
2487 -- Interface Command: ipv6 ospf6 cost COST
2488 Sets interface's output cost. Default value is 1.
2489
2490 -- Interface Command: ipv6 ospf6 hello-interval HELLOINTERVAL
2491 Sets interface's Hello Interval. Default 40
2492
2493 -- Interface Command: ipv6 ospf6 dead-interval DEADINTERVAL
2494 Sets interface's Router Dead Interval. Default value is 40.
2495
2496 -- Interface Command: ipv6 ospf6 retransmit-interval
2497 RETRANSMITINTERVAL
2498 Sets interface's Rxmt Interval. Default value is 5.
2499
2500 -- Interface Command: ipv6 ospf6 priority PRIORITY
2501 Sets interface's Router Priority. Default value is 1.
2502
2503 -- Interface Command: ipv6 ospf6 transmit-delay TRANSMITDELAY
2504 Sets interface's Inf-Trans-Delay. Default value is 1.
2505
2506
2507File: quagga.info, Node: Redistribute routes to OSPF6, Next: Showing OSPF6 information, Prev: OSPF6 interface, Up: OSPFv3
2508
25098.4 Redistribute routes to OSPF6
2510================================
2511
2512 -- OSPF6 Command: redistribute static
2513 -- OSPF6 Command: redistribute connected
2514 -- OSPF6 Command: redistribute ripng
2515
2516
2517File: quagga.info, Node: Showing OSPF6 information, Prev: Redistribute routes to OSPF6, Up: OSPFv3
2518
25198.5 Showing OSPF6 information
2520=============================
2521
2522 -- Command: show ipv6 ospf6 [INSTANCE_ID]
2523 INSTANCE_ID is an optional OSPF instance ID. To see router ID and
2524 OSPF instance ID, simply type "show ipv6 ospf6 <cr>".
2525
2526 -- Command: show ipv6 ospf6 database
2527 This command shows LSA database summary. You can specify the type
2528 of LSA.
2529
2530 -- Command: show ipv6 ospf6 interface
2531 To see OSPF interface configuration like costs.
2532
2533 -- Command: show ipv6 ospf6 neighbor
2534 Shows state and chosen (Backup) DR of neighbor.
2535
2536 -- Command: show ipv6 ospf6 request-list A.B.C.D
2537 Shows requestlist of neighbor.
2538
2539 -- Command: show ipv6 route ospf6
2540 This command shows internal routing table.
2541
2542
2543File: quagga.info, Node: BGP, Next: Configuring Quagga as a Route Server, Prev: OSPFv3, Up: Top
2544
25459 BGP
2546*****
2547
2548BGP stands for a Border Gateway Protocol. The lastest BGP version is
25494. It is referred as BGP-4. BGP-4 is one of the Exterior Gateway
2550Protocols and de-fact standard of Inter Domain routing protocol. BGP-4
2551is described in `RFC1771' - `A Border Gateway Protocol 4 (BGP-4)'.
2552
2553 Many extentions are added to `RFC1771'. `RFC2858' - `Multiprotocol
2554Extensions for BGP-4' provide multiprotocol support to BGP-4.
2555
2556* Menu:
2557
2558* Starting BGP::
2559* BGP router::
2560* BGP network::
2561* BGP Peer::
2562* BGP Peer Group::
2563* BGP Address Family::
2564* Autonomous System::
2565* BGP Communities Attribute::
2566* BGP Extended Communities Attribute::
2567* Displaying BGP routes::
2568* Capability Negotiation::
2569* Route Reflector::
2570* Route Server::
2571* How to set up a 6-Bone connection::
2572* Dump BGP packets and table::
2573
2574
2575File: quagga.info, Node: Starting BGP, Next: BGP router, Up: BGP
2576
25779.1 Starting BGP
2578================
2579
2580Default configuration file of `bgpd' is `bgpd.conf'. `bgpd' searches
2581the current directory first then /etc/quagga/bgpd.conf. All of bgpd's
2582command must be configured in `bgpd.conf'.
2583
2584 `bgpd' specific invocation options are described below. Common
2585options may also be specified (*note Common Invocation Options::).
2586
2587`-p PORT'
2588`--bgp_port=PORT'
2589 Set the bgp protocol's port number.
2590
2591`-r'
2592`--retain'
2593 When program terminates, retain BGP routes added by zebra.
2594
2595
2596File: quagga.info, Node: BGP router, Next: BGP network, Prev: Starting BGP, Up: BGP
2597
25989.2 BGP router
2599==============
2600
2601First of all you must configure BGP router with `router bgp' command.
2602To configure BGP router, you need AS number. AS number is an
2603identification of autonomous system. BGP protocol uses the AS number
2604for detecting whether the BGP connection is internal one or external
2605one.
2606
2607 -- Command: router bgp ASN
2608 Enable a BGP protocol process with the specified ASN. After this
2609 statement you can input any `BGP Commands'. You can not create
2610 different BGP process under different ASN without specifying
2611 `multiple-instance' (*note Multiple instance::).
2612
2613 -- Command: no router bgp ASN
2614 Destroy a BGP protocol process with the specified ASN.
2615
2616 -- BGP: bgp router-id A.B.C.D
2617 This command specifies the router-ID. If `bgpd' connects to
2618 `zebra' it gets interface and address information. In that case
2619 default router ID value is selected as the largest IP Address of
2620 the interfaces. When `router zebra' is not enabled `bgpd' can't
2621 get interface information so `router-id' is set to 0.0.0.0. So
2622 please set router-id by hand.
2623
2624* Menu:
2625
2626* BGP distance::
2627* BGP decision process::
2628
2629
2630File: quagga.info, Node: BGP distance, Next: BGP decision process, Up: BGP router
2631
26329.2.1 BGP distance
2633------------------
2634
2635 -- BGP: distance bgp <1-255> <1-255> <1-255>
2636 This command change distance value of BGP. Each argument is
2637 distance value for external routes, internal routes and local
2638 routes.
2639
2640 -- BGP: distance <1-255> A.B.C.D/M
2641 -- BGP: distance <1-255> A.B.C.D/M WORD
2642 This command set distance value to
2643
2644
2645File: quagga.info, Node: BGP decision process, Prev: BGP distance, Up: BGP router
2646
26479.2.2 BGP decision process
2648--------------------------
2649
26501. Weight check
2651
26522. Local preference check.
2653
26543. Local route check.
2655
26564. AS path length check.
2657
26585. Origin check.
2659
26606. MED check.
2661
2662
2663File: quagga.info, Node: BGP network, Next: BGP Peer, Prev: BGP router, Up: BGP
2664
26659.3 BGP network
2666===============
2667
2668* Menu:
2669
2670* BGP route::
2671* Route Aggregation::
2672* Redistribute to BGP::
2673
2674
2675File: quagga.info, Node: BGP route, Next: Route Aggregation, Up: BGP network
2676
26779.3.1 BGP route
2678---------------
2679
2680 -- BGP: network A.B.C.D/M
2681 This command adds the announcement network.
2682 router bgp 1
2683 network 10.0.0.0/8
2684 This configuration example says that network 10.0.0.0/8 will
2685 be announced to all neighbors. Some vendors' routers don't
2686 advertise routes if they aren't present in their IGP routing
2687 tables; `bgp' doesn't care about IGP routes when announcing its
2688 routes.
2689
2690 -- BGP: no network A.B.C.D/M
2691
2692
2693File: quagga.info, Node: Route Aggregation, Next: Redistribute to BGP, Prev: BGP route, Up: BGP network
2694
26959.3.2 Route Aggregation
2696-----------------------
2697
2698 -- BGP: aggregate-address A.B.C.D/M
2699 This command specifies an aggregate address.
2700
2701 -- BGP: aggregate-address A.B.C.D/M as-set
2702 This command specifies an aggregate address. Resulting routes
2703 inlucde AS set.
2704
2705 -- BGP: aggregate-address A.B.C.D/M summary-only
2706 This command specifies an aggregate address. Aggreated routes will
2707 not be announce.
2708
2709 -- BGP: no aggregate-address A.B.C.D/M
2710
2711
2712File: quagga.info, Node: Redistribute to BGP, Prev: Route Aggregation, Up: BGP network
2713
27149.3.3 Redistribute to BGP
2715-------------------------
2716
2717 -- BGP: redistribute kernel
2718 Redistribute kernel route to BGP process.
2719
2720 -- BGP: redistribute static
2721 Redistribute static route to BGP process.
2722
2723 -- BGP: redistribute connected
2724 Redistribute connected route to BGP process.
2725
2726 -- BGP: redistribute rip
2727 Redistribute RIP route to BGP process.
2728
2729 -- BGP: redistribute ospf
2730 Redistribute OSPF route to BGP process.
2731
2732
2733File: quagga.info, Node: BGP Peer, Next: BGP Peer Group, Prev: BGP network, Up: BGP
2734
27359.4 BGP Peer
2736============
2737
2738* Menu:
2739
2740* Defining Peer::
2741* BGP Peer commands::
2742* Peer filtering::
2743
2744
2745File: quagga.info, Node: Defining Peer, Next: BGP Peer commands, Up: BGP Peer
2746
27479.4.1 Defining Peer
2748-------------------
2749
2750 -- BGP: neighbor PEER remote-as ASN
2751 Creates a new neighbor whose remote-as is ASN. PEER can be an
2752 IPv4 address or an IPv6 address.
2753 router bgp 1
2754 neighbor 10.0.0.1 remote-as 2
2755 In this case my router, in AS-1, is trying to peer with AS-2
2756 at 10.0.0.1.
2757
2758 This command must be the first command used when configuring a
2759 neighbor. If the remote-as is not specified, `bgpd' will complain
2760 like this:
2761 can't find neighbor 10.0.0.1
2762
2763
2764File: quagga.info, Node: BGP Peer commands, Next: Peer filtering, Prev: Defining Peer, Up: BGP Peer
2765
27669.4.2 BGP Peer commands
2767-----------------------
2768
2769In a `router bgp' clause there are neighbor specific configurations
2770required.
2771
2772 -- BGP: neighbor PEER shutdown
2773 -- BGP: no neighbor PEER shutdown
2774 Shutdown the peer. We can delete the neighbor's configuration by
2775 `no neighbor PEER remote-as AS-NUMBER' but all configuration of
2776 the neighbor will be deleted. When you want to preserve the
2777 configuration, but want to drop the BGP peer, use this syntax.
2778
2779 -- BGP: neighbor PEER ebgp-multihop
2780 -- BGP: no neighbor PEER ebgp-multihop
2781
2782 -- BGP: neighbor PEER description ...
2783 -- BGP: no neighbor PEER description ...
2784 Set description of the peer.
2785
2786 -- BGP: neighbor PEER version VERSION
2787 Set up the neighbor's BGP version. VERSION can be 4, 4+ or 4-.
2788 BGP version 4 is the default value used for BGP peering. BGP
2789 version 4+ means that the neighbor supports Multiprotocol
2790 Extensions for BGP-4. BGP version 4- is similar but the neighbor
2791 speaks the old Internet-Draft revision 00's Multiprotocol
2792 Extensions for BGP-4. Some routing software is still using this
2793 version.
2794
2795 -- BGP: neighbor PEER interface IFNAME
2796 -- BGP: no neighbor PEER interface IFNAME
2797 When you connect to a BGP peer over an IPv6 link-local address,
2798 you have to specify the IFNAME of the interface used for the
2799 connection.
2800
2801 -- BGP: neighbor PEER next-hop-self
2802 -- BGP: no neighbor PEER next-hop-self
2803 This command specifies an announced route's nexthop as being
2804 equivalent to the address of the bgp router.
2805
2806 -- BGP: neighbor PEER update-source
2807 -- BGP: no neighbor PEER update-source
2808
2809 -- BGP: neighbor PEER default-originate
2810 -- BGP: no neighbor PEER default-originate
2811 `bgpd''s default is to not announce the default route (0.0.0.0/0)
2812 even it is in routing table. When you want to announce default
2813 routes to the peer, use this command.
2814
2815 -- BGP: neighbor PEER port PORT
2816 -- BGP: neighbor PEER port PORT
2817
2818 -- BGP: neighbor PEER send-community
2819 -- BGP: neighbor PEER send-community
2820
2821 -- BGP: neighbor PEER weight WEIGHT
2822 -- BGP: no neighbor PEER weight WEIGHT
2823 This command specifies a default WEIGHT value for the neighbor's
2824 routes.
2825
2826 -- BGP: neighbor PEER maximum-prefix NUMBER
2827 -- BGP: no neighbor PEER maximum-prefix NUMBER
2828
2829
2830File: quagga.info, Node: Peer filtering, Prev: BGP Peer commands, Up: BGP Peer
2831
28329.4.3 Peer filtering
2833--------------------
2834
2835 -- BGP: neighbor PEER distribute-list NAME [in|out]
2836 This command specifies a distribute-list for the peer. DIRECT is
2837 `in' or `out'.
2838
2839 -- BGP command: neighbor PEER prefix-list NAME [in|out]
2840
2841 -- BGP command: neighbor PEER filter-list NAME [in|out]
2842
2843 -- BGP: neighbor PEER route-map NAME [in|out]
2844 Apply a route-map on the neighbor. DIRECT must be `in' or `out'.
2845
2846
2847File: quagga.info, Node: BGP Peer Group, Next: BGP Address Family, Prev: BGP Peer, Up: BGP
2848
28499.5 BGP Peer Group
2850==================
2851
2852 -- BGP: neighbor WORD peer-group
2853 This command defines a new peer group.
2854
2855 -- BGP: neighbor PEER peer-group WORD
2856 This command bind specific peer to peer group WORD.
2857
2858
2859File: quagga.info, Node: BGP Address Family, Next: Autonomous System, Prev: BGP Peer Group, Up: BGP
2860
28619.6 BGP Address Family
2862======================
2863
2864
2865File: quagga.info, Node: Autonomous System, Next: BGP Communities Attribute, Prev: BGP Address Family, Up: BGP
2866
28679.7 Autonomous System
2868=====================
2869
2870AS (Autonomous System) is one of the essential element of BGP. BGP is
2871a distance vector routing protocol. AS framework provides distance
2872vector metric and loop detection to BGP. `RFC1930' - `Guidelines for
2873creation, selection, and registration of an Autonomous System (AS)'
2874describes how to use AS.
2875
2876 AS number is tow octet digita value. So the value range is from 1
2877to 65535. AS numbers 64512 through 65535 are defined as private AS
2878numbers. Private AS numbers must not to be advertised in the global
2879Internet.
2880
2881* Menu:
2882
2883* AS Path Regular Expression::
2884* Display BGP Routes by AS Path::
2885* AS Path Access List::
2886* Using AS Path in Route Map::
2887* Private AS Numbers::
2888
2889
2890File: quagga.info, Node: AS Path Regular Expression, Next: Display BGP Routes by AS Path, Up: Autonomous System
2891
28929.7.1 AS Path Regular Expression
2893--------------------------------
2894
2895AS path regular expression can be used for displaying BGP routes and AS
2896path access list. AS path regular expression is based on `POSIX
28971003.2' regular expressions. Following description is just a subset of
2898`POSIX' regular expression. User can use full `POSIX' regular
2899expression. Adding to that special character '_' is added for AS path
2900regular expression.
2901
2902`.'
2903 Matches any single character.
2904
2905`*'
2906 Matches 0 or more occurrences of pattern.
2907
2908`+'
2909 Matches 1 or more occurrences of pattern.
2910
2911`?'
2912 Match 0 or 1 occurrences of pattern.
2913
2914`^'
2915 Matches the beginning of the line.
2916
2917`$'
2918 Matches the end of the line.
2919
2920`_'
2921 Character `_' has special meanings in AS path regular expression.
2922 It matches to space and comma , and AS set delimiter { and } and AS
2923 confederation delimiter `(' and `)'. And it also matches to the
2924 beginning of the line and the end of the line. So `_' can be used
2925 for AS value boundaries match. `show ip bgp regexp _7675_'
2926 matches to all of BGP routes which as AS number include 7675.
2927
2928
2929File: quagga.info, Node: Display BGP Routes by AS Path, Next: AS Path Access List, Prev: AS Path Regular Expression, Up: Autonomous System
2930
29319.7.2 Display BGP Routes by AS Path
2932-----------------------------------
2933
2934To show BGP routes which has specific AS path information `show ip bgp'
2935command can be used.
2936
2937 -- Command: show ip bgp regexp LINE
2938 This commands display BGP routes that matches AS path regular
2939 expression LINE.
2940
2941
2942File: quagga.info, Node: AS Path Access List, Next: Using AS Path in Route Map, Prev: Display BGP Routes by AS Path, Up: Autonomous System
2943
29449.7.3 AS Path Access List
2945-------------------------
2946
2947AS path access list is user defined AS path.
2948
2949 -- Command: ip as-path access-list WORD {permit|deny} LINE
2950 This command defines a new AS path access list.
2951
2952 -- Command: no ip as-path access-list WORD
2953 -- Command: no ip as-path access-list WORD {permit|deny} LINE
2954
2955
2956File: quagga.info, Node: Using AS Path in Route Map, Next: Private AS Numbers, Prev: AS Path Access List, Up: Autonomous System
2957
29589.7.4 Using AS Path in Route Map
2959--------------------------------
2960
2961 -- Route Map: match as-path WORD
2962
2963 -- Route Map: set as-path prepend AS-PATH
2964
2965
2966File: quagga.info, Node: Private AS Numbers, Prev: Using AS Path in Route Map, Up: Autonomous System
2967
29689.7.5 Private AS Numbers
2969------------------------
2970
2971
2972File: quagga.info, Node: BGP Communities Attribute, Next: BGP Extended Communities Attribute, Prev: Autonomous System, Up: BGP
2973
29749.8 BGP Communities Attribute
2975=============================
2976
2977BGP communities attribute is widely used for implementing policy
2978routing. Network operators can manipulate BGP communities attribute
2979based on their network policy. BGP communities attribute is defined in
2980`RFC1997' - `BGP Communities Attribute' and `RFC1998' - `An Application
2981of the BGP Community Attribute in Multi-home Routing'. It is an
2982optional transitive attribute, therefore local policy can travel
2983through different autonomous system.
2984
2985 Communities attribute is a set of communities values. Each
2986communities value is 4 octet long. The following format is used to
2987define communities value.
2988
2989`AS:VAL'
2990 This format represents 4 octet communities value. `AS' is high
2991 order 2 octet in digit format. `VAL' is low order 2 octet in
2992 digit format. This format is useful to define AS oriented policy
2993 value. For example, `7675:80' can be used when AS 7675 wants to
2994 pass local policy value 80 to neighboring peer.
2995
2996`internet'
2997 `internet' represents well-known communities value 0.
2998
2999`no-export'
3000 `no-export' represents well-known communities value `NO_EXPORT'
3001 (0xFFFFFF01). All routes carry this value must not be advertised
3002 to outside a BGP confederation boundary. If neighboring BGP peer
3003 is part of BGP confederation, the peer is considered as inside a
3004 BGP confederation boundary, so the route will be announced to the
3005 peer.
3006
3007`no-advertise'
3008 `no-advertise' represents well-known communities value
3009 `NO_ADVERTISE'
3010 (0xFFFFFF02). All routes carry this value must not be advertise
3011 to other BGP peers.
3012
3013`local-AS'
3014 `local-AS' represents well-known communities value
3015 `NO_EXPORT_SUBCONFED' (0xFFFFFF03). All routes carry this value
3016 must not be advertised to external BGP peers. Even if the
3017 neighboring router is part of confederation, it is considered as
3018 external BGP peer, so the route will not be announced to the peer.
3019
3020 When BGP communities attribute is received, duplicated communities
3021value in the communities attribute is ignored and each communities
3022values are sorted in numerical order.
3023
3024* Menu:
3025
3026* BGP Community Lists::
3027* Numbered BGP Community Lists::
3028* BGP Community in Route Map::
3029* Display BGP Routes by Community::
3030* Using BGP Communities Attribute::
3031
3032
3033File: quagga.info, Node: BGP Community Lists, Next: Numbered BGP Community Lists, Up: BGP Communities Attribute
3034
30359.8.1 BGP Community Lists
3036-------------------------
3037
3038BGP community list is a user defined BGP communites attribute list.
3039BGP community list can be used for matching or manipulating BGP
3040communities attribute in updates.
3041
3042 There are two types of community list. One is standard community
3043list and another is expanded community list. Standard community list
3044defines communities attribute. Expanded community list defines
3045communities attribute string with regular expression. Standard
3046community list is compiled into binary format when user define it.
3047Standard community list will be directly compared to BGP communities
3048attribute in BGP updates. Therefore the comparison is faster than
3049expanded community list.
3050
3051 -- Command: ip community-list standard NAME {permit|deny} COMMUNITY
3052 This command defines a new standard community list. COMMUNITY is
3053 communities value. The COMMUNITY is compiled into community
3054 structure. We can define multiple community list under same name.
3055 In that case match will happen user defined order. Once the
3056 community list matches to communities attribute in BGP updates it
3057 return permit or deny by the community list definition. When
3058 there is no matched entry, deny will be returned. When COMMUNITY
3059 is empty it matches to any routes.
3060
3061 -- Command: ip community-list expanded NAME {permit|deny} LINE
3062 This command defines a new expanded community list. LINE is a
3063 string expression of communities attribute. LINE can include
3064 regular expression to match communities attribute in BGP updates.
3065
3066 -- Command: no ip community-list NAME
3067 -- Command: no ip community-list standard NAME
3068 -- Command: no ip community-list expanded NAME
3069 These commands delete community lists specified by NAME. All of
3070 community lists shares a single name space. So community lists
3071 can be removed simpley specifying community lists name.
3072
3073 -- Command: show ip community-list
3074 -- Command: show ip community-list NAME
3075 This command display current community list information. When
3076 NAME is specified the specified community list's information is
3077 shown.
3078
3079 # show ip community-list
3080 Named Community standard list CLIST
3081 permit 7675:80 7675:100 no-export
3082 deny internet
3083 Named Community expanded list EXPAND
3084 permit :
3085
3086 # show ip community-list CLIST
3087 Named Community standard list CLIST
3088 permit 7675:80 7675:100 no-export
3089 deny internet
3090
3091
3092File: quagga.info, Node: Numbered BGP Community Lists, Next: BGP Community in Route Map, Prev: BGP Community Lists, Up: BGP Communities Attribute
3093
30949.8.2 Numbered BGP Community Lists
3095----------------------------------
3096
3097When number is used for BGP community list name, the number has special
3098meanings. Community list number in the range from 1 and 99 is standard
3099community list. Community list number in the range from 100 to 199 is
3100expanded community list. These community lists are called as numbered
3101community lists. On the other hand normal community lists is called as
3102named community lists.
3103
3104 -- Command: ip community-list <1-99> {permit|deny} COMMUNITY
3105 This command defines a new community list. <1-99> is standard
3106 community list number. Community list name within this range
3107 defines standard community list. When COMMUNITY is empty it
3108 matches to any routes.
3109
3110 -- Command: ip community-list <100-199> {permit|deny} COMMUNITY
3111 This command defines a new community list. <100-199> is expanded
3112 community list number. Community list name within this range
3113 defines expanded community list.
3114
3115 -- Command: ip community-list NAME {permit|deny} COMMUNITY
3116 When community list type is not specifed, the community list type
3117 is automatically detected. If COMMUNITY can be compiled into
3118 communities attribute, the community list is defined as a standard
3119 community list. Otherwise it is defined as an expanded community
3120 list. This feature is left for backward compability. Use of this
3121 feature is not recommended.
3122
3123
3124File: quagga.info, Node: BGP Community in Route Map, Next: Display BGP Routes by Community, Prev: Numbered BGP Community Lists, Up: BGP Communities Attribute
3125
31269.8.3 BGP Community in Route Map
3127--------------------------------
3128
3129In Route Map (*note Route Map::), we can match or set BGP communities
3130attribute. Using this feature network operator can implement their
3131network policy based on BGP communities attribute.
3132
3133 Following commands can be used in Route Map.
3134
3135 -- Route Map: match community WORD
3136 -- Route Map: match community WORD exact-match
3137 This command perform match to BGP updates using community list
3138 WORD. When the one of BGP communities value match to the one of
3139 communities value in community list, it is match. When
3140 `exact-match' keyword is spcified, match happen only when BGP
3141 updates have completely same communities value specified in the
3142 community list.
3143
3144 -- Route Map: set community none
3145 -- Route Map: set community COMMUNITY
3146 -- Route Map: set community COMMUNITY additive
3147 This command manipulate communities value in BGP updates. When
3148 `none' is specified as communities value, it removes entire
3149 communities attribute from BGP updates. When COMMUNITY is not
3150 `none', specified communities value is set to BGP updates. If BGP
3151 updates already has BGP communities value, the existing BGP
3152 communities value is replaced with specified COMMUNITY value.
3153 When `additive' keyword is specified, COMMUNITY is appended to the
3154 existing communities value.
3155
3156 -- Route Map: set comm-list WORD delete
3157 This command remove communities value from BGP communities
3158 attribute. The WORD is community list name. When BGP route's
3159 communities value matches to the community list WORD, the
3160 communities value is removed. When all of communities value is
3161 removed eventually, the BGP update's communities attribute is
3162 completely removed.
3163
3164
3165File: quagga.info, Node: Display BGP Routes by Community, Next: Using BGP Communities Attribute, Prev: BGP Community in Route Map, Up: BGP Communities Attribute
3166
31679.8.4 Display BGP Routes by Community
3168-------------------------------------
3169
3170To show BGP routes which has specific BGP communities attribute, `show
3171ip bgp' command can be used. The COMMUNITY value and community list
3172can be used for `show ip bgp' command.
3173
3174 -- Command: show ip bgp community
3175 -- Command: show ip bgp community COMMUNITY
3176 -- Command: show ip bgp community COMMUNITY exact-match
3177 `show ip bgp community' displays BGP routes which has communities
3178 attribute. When COMMUNITY is specified, BGP routes that matches
3179 COMMUNITY value is displayed. For this command, `internet'
3180 keyword can't be used for COMMUNITY value. When `exact-match' is
3181 specified, it display only routes that have an exact match.
3182
3183 -- Command: show ip bgp community-list WORD
3184 -- Command: show ip bgp community-list WORD exact-match
3185 This commands display BGP routes that matches community list WORD.
3186 When `exact-match' is specified, display only routes that have an
3187 exact match.
3188
3189
3190File: quagga.info, Node: Using BGP Communities Attribute, Prev: Display BGP Routes by Community, Up: BGP Communities Attribute
3191
31929.8.5 Using BGP Communities Attribute
3193-------------------------------------
3194
3195Following configuration is the most typical usage of BGP communities
3196attribute. AS 7675 provides upstream Internet connection to AS 100.
3197When following configuration exists in AS 7675, AS 100 networks
3198operator can set local preference in AS 7675 network by setting BGP
3199communities attribute to the updates.
3200
3201 router bgp 7675
3202 neighbor 192.168.0.1 remote-as 100
3203 neighbor 192.168.0.1 route-map RMAP in
3204 !
3205 ip community-list 70 permit 7675:70
3206 ip community-list 70 deny
3207 ip community-list 80 permit 7675:80
3208 ip community-list 80 deny
3209 ip community-list 90 permit 7675:90
3210 ip community-list 90 deny
3211 !
3212 route-map RMAP permit 10
3213 match community 70
3214 set local-preference 70
3215 !
3216 route-map RMAP permit 20
3217 match community 80
3218 set local-preference 80
3219 !
3220 route-map RMAP permit 30
3221 match community 90
3222 set local-preference 90
3223
3224 Following configuration announce 10.0.0.0/8 from AS 100 to AS 7675.
3225The route has communities value 7675:80 so when above configuration
3226exists in AS 7675, announced route's local preference will be set to
3227value 80.
3228
3229 router bgp 100
3230 network 10.0.0.0/8
3231 neighbor 192.168.0.2 remote-as 7675
3232 neighbor 192.168.0.2 route-map RMAP out
3233 !
3234 ip prefix-list PLIST permit 10.0.0.0/8
3235 !
3236 route-map RMAP permit 10
3237 match ip address prefix-list PLIST
3238 set community 7675:80
3239
3240 Following configuration is an example of BGP route filtering using
3241communities attribute. This configuration only permit BGP routes which
3242has BGP communities value 0:80 or 0:90. Network operator can put
3243special internal communities value at BGP border router, then limit the
3244BGP routes announcement into the internal network.
3245
3246 router bgp 7675
3247 neighbor 192.168.0.1 remote-as 100
3248 neighbor 192.168.0.1 route-map RMAP in
3249 !
3250 ip community-list 1 permit 0:80 0:90
3251 !
3252 route-map RMAP permit in
3253 match community 1
3254
3255 Following exmaple filter BGP routes which has communities value 1:1.
3256When there is no match community-list returns deny. To avoid filtering
3257all of routes, we need to define permit any at last.
3258
3259 router bgp 7675
3260 neighbor 192.168.0.1 remote-as 100
3261 neighbor 192.168.0.1 route-map RMAP in
3262 !
3263 ip community-list standard FILTER deny 1:1
3264 ip community-list standard FILTER permit
3265 !
3266 route-map RMAP permit 10
3267 match community FILTER
3268
3269 Communities value keyword `internet' has special meanings in
3270standard community lists. In below example `internet' act as match
3271any. It matches all of BGP routes even if the route does not have
3272communities attribute at all. So community list `INTERNET' is same as
3273above example's `FILTER'.
3274
3275 ip community-list standard INTERNET deny 1:1
3276 ip community-list standard INTERNET permit internet
3277
3278 Following configuration is an example of communities value deletion.
3279With this configuration communities value 100:1 and 100:2 is removed
3280from BGP updates. For communities value deletion, only `permit'
3281community-list is used. `deny' community-list is ignored.
3282
3283 router bgp 7675
3284 neighbor 192.168.0.1 remote-as 100
3285 neighbor 192.168.0.1 route-map RMAP in
3286 !
3287 ip community-list standard DEL permit 100:1 100:2
3288 !
3289 route-map RMAP permit 10
3290 set comm-list DEL delete
3291
3292
3293File: quagga.info, Node: BGP Extended Communities Attribute, Next: Displaying BGP routes, Prev: BGP Communities Attribute, Up: BGP
3294
32959.9 BGP Extended Communities Attribute
3296======================================
3297
3298BGP extended communities attribute is introduced with MPLS VPN/BGP
3299technology. MPLS VPN/BGP expands capability of network infrastructure
3300to provide VPN functionality. At the same time it requires a new
3301framework for policy routing. With BGP Extended Communities Attribute
3302we can use Route Target or Site of Origin for implementing network
3303policy for MPLS VPN/BGP.
3304
3305 BGP Extended Communities Attribute is similar to BGP Communities
3306Attribute. It is an optional transitive attribute. BGP Extended
3307Communities Attribute can carry multiple Extended Community value.
3308Each Extended Community value is eight octet length.
3309
3310 BGP Extended Communities Attribute provides an extended range
3311compared with BGP Communities Attribute. Adding to that there is a
3312type field in each value to provides community space structure.
3313
3314 There are two format to define Extended Community value. One is AS
3315based format the other is IP address based format.
3316
3317`AS:VAL'
3318 This is a format to define AS based Extended Community value.
3319 `AS' part is 2 octets Global Administrator subfield in Extended
3320 Community value. `VAL' part is 4 octets Local Administrator
3321 subfield. `7675:100' represents AS 7675 policy value 100.
3322
3323`IP-Address:VAL'
3324 This is a format to define IP address based Extended Community
3325 value. `IP-Address' part is 4 octets Global Administrator
3326 subfield. `VAL' part is 2 octets Local Administrator subfield.
3327 `10.0.0.1:100' represents
3328
3329* Menu:
3330
3331* BGP Extended Community Lists::
3332* BGP Extended Communities in Route Map::
3333
3334
3335File: quagga.info, Node: BGP Extended Community Lists, Next: BGP Extended Communities in Route Map, Up: BGP Extended Communities Attribute
3336
33379.9.1 BGP Extended Community Lists
3338----------------------------------
3339
3340Expanded Community Lists is a user defined BGP Expanded Community Lists.
3341
3342 -- Command: ip extcommunity-list standard NAME {permit|deny}
3343EXTCOMMUNITY
3344 This command defines a new standard extcommunity-list.
3345 EXTCOMMUNITY is extended communities value. The EXTCOMMUNITY is
3346 compiled into extended community structure. We can define
3347 multiple extcommunity-list under same name. In that case match
3348 will happen user defined order. Once the extcommunity-list
3349 matches to extended communities attribute in BGP updates it return
3350 permit or deny based upon the extcommunity-list definition. When
3351 there is no matched entry, deny will be returned. When
3352 EXTCOMMUNITY is empty it matches to any routes.
3353
3354 -- Command: ip extcommunity-list expanded NAME {permit|deny} LINE
3355 This command defines a new expanded extcommunity-list. LINE is a
3356 string expression of extended communities attribute. LINE can
3357 include regular expression to match extended communities attribute
3358 in BGP updates.
3359
3360 -- Command: no ip extcommunity-list NAME
3361 -- Command: no ip extcommunity-list standard NAME
3362 -- Command: no ip extcommunity-list expanded NAME
3363 These commands delete extended community lists specified by NAME.
3364 All of extended community lists shares a single name space. So
3365 extended community lists can be removed simpley specifying the
3366 name.
3367
3368 -- Command: show ip extcommunity-list
3369 -- Command: show ip extcommunity-list NAME
3370 This command display current extcommunity-list information. When
3371 NAME is specified the community list's information is shown.
3372
3373 # show ip extcommunity-list
3374
3375
3376File: quagga.info, Node: BGP Extended Communities in Route Map, Prev: BGP Extended Community Lists, Up: BGP Extended Communities Attribute
3377
33789.9.2 BGP Extended Communities in Route Map
3379-------------------------------------------
3380
3381 -- Route Map: match extcommunity WORD
3382
3383 -- Route Map: set extcommunity rt EXTCOMMUNITY
3384 This command set Route Target value.
3385
3386 -- Route Map: set extcommunity soo EXTCOMMUNITY
3387 This command set Site of Origin value.
3388
3389
3390File: quagga.info, Node: Displaying BGP routes, Next: Capability Negotiation, Prev: BGP Extended Communities Attribute, Up: BGP
3391
33929.10 Displaying BGP Routes
3393==========================
3394
3395* Menu:
3396
3397* Show IP BGP::
3398* More Show IP BGP::
3399
3400
3401File: quagga.info, Node: Show IP BGP, Next: More Show IP BGP, Up: Displaying BGP routes
3402
34039.10.1 Show IP BGP
3404------------------
3405
3406 -- Command: show ip bgp
3407 -- Command: show ip bgp A.B.C.D
3408 -- Command: show ip bgp X:X::X:X
3409 This command displays BGP routes. When no route is specified it
3410 display all of IPv4 BGP routes.
3411
3412 BGP table version is 0, local router ID is 10.1.1.1
3413 Status codes: s suppressed, d damped, h history, * valid, > best, i - internal
3414 Origin codes: i - IGP, e - EGP, ? - incomplete
3415
3416 Network Next Hop Metric LocPrf Weight Path
3417 *> 1.1.1.1/32 0.0.0.0 0 32768 i
3418
3419 Total number of prefixes 1
3420
3421
3422File: quagga.info, Node: More Show IP BGP, Prev: Show IP BGP, Up: Displaying BGP routes
3423
34249.10.2 More Show IP BGP
3425-----------------------
3426
3427 -- Command: show ip bgp regexp LINE
3428 This command display BGP routes using AS path regular expression
3429 (*note Display BGP Routes by AS Path::).
3430
3431 -- Command: show ip bgp community COMMUNITY
3432 -- Command: show ip bgp community COMMUNITY exact-match
3433 This command display BGP routes using COMMUNITY (*note Display BGP
3434 Routes by Community::).
3435
3436 -- Command: show ip bgp community-list WORD
3437 -- Command: show ip bgp community-list WORD exact-match
3438 This command display BGP routes using community list (*note
3439 Display BGP Routes by Community::).
3440
3441 -- Command: show ip bgp summary
3442
3443 -- Command: show ip bgp neighbor [PEER]
3444
3445 -- Command: clear ip bgp PEER
3446 Clear peers which have addresses of X.X.X.X
3447
3448 -- Command: clear ip bgp PEER soft in
3449 Clear peer using soft reconfiguration.
3450
3451 -- Command: show debug
3452
3453 -- Command: debug event
3454
3455 -- Command: debug update
3456
3457 -- Command: debug keepalive
3458
3459 -- Command: no debug event
3460
3461 -- Command: no debug update
3462
3463 -- Command: no debug keepalive
3464
3465
3466File: quagga.info, Node: Capability Negotiation, Next: Route Reflector, Prev: Displaying BGP routes, Up: BGP
3467
34689.11 Capability Negotiation
3469===========================
3470
3471When adding IPv6 routing information exchange feature to BGP. There
3472were some proposals. IETF IDR working group finally take a proposal
3473called Multiprotocol Extension for BGP. The specification is described
3474in RFC2283. The protocol does not define new protocols. It defines
3475new attributes to existing BGP. When it is used exchanging IPv6
3476routing information it is called BGP-4+. When it is used for
3477exchanging multicast routing information it is called MBGP.
3478
3479 `bgpd' supports Multiprotocol Extension for BGP. So if remote peer
3480supports the protocol, `bgpd' can exchange IPv6 and/or multicast routing
3481information.
3482
3483 Traditional BGP does not have the feature to detect remote peer's
3484capability whether it can handle other than IPv4 unicast routes. This
3485is a big problem using Multiprotocol Extension for BGP to operational
3486network. `draft-ietf-idr-bgp4-cap-neg-04.txt' is proposing a feature
3487called Capability Negotiation. `bgpd' use this Capability Negotiation
3488to detect remote peer's capabilities. If the peer is only configured
3489as IPv4 unicast neighbor, `bgpd' does not send these Capability
3490Negotiation packets.
3491
3492 By default, Quagga will bring up peering with minimal common
3493capability for the both sides. For example, local router has unicast
3494and multicast capabilitie and remote router has unicast capability. In
3495this case, the local router will establish the connection with unicast
3496only capability. When there are no common capabilities, Quagga sends
3497Unsupported Capability error and then resets the connection.
3498
3499 If you want to completely match capabilities with remote peer.
3500Please use `strict-capability-match' command.
3501
3502 -- BGP: neighbor PEER strict-capability-match
3503 -- BGP: no neighbor PEER strict-capability-match
3504 Strictly compares remote capabilities and local capabilities. If
3505 capabilities are different, send Unsupported Capability error then
3506 reset connection.
3507
3508 You may want to disable sending Capability Negotiation OPEN message
3509optional parameter to the peer when remote peer does not implement
3510Capability Negotiation. Please use `dont-capability-negotiate' command
3511to disable the feature.
3512
3513 -- BGP: neighbor PEER dont-capability-negotiate
3514 -- BGP: no neighbor PEER dont-capability-negotiate
3515 Suppress sending Capability Negotiation as OPEN message optional
3516 parameter to the peer. This command only affects the peer is
3517 configured other than IPv4 unicast configuration.
3518
3519 When remote peer does not have capability negotiation feature, remote
3520peer will not send any capabilities at all. In that case, bgp
3521configures the peer with configured capabilities.
3522
3523 You may prefer locally configured capabilities more than the
3524negotiated capabilities even though remote peer sends capabilities. If
3525the peer is configured by `override-capability', `bgpd' ignores received
3526capabilities then override negotiated capabilities with configured
3527values.
3528
3529 -- BGP: neighbor PEER override-capability
3530 -- BGP: no neighbor PEER override-capability
3531 Override the result of Capability Negotiation with local
3532 configuration. Ignore remote peer's capability value.
3533
3534
3535File: quagga.info, Node: Route Reflector, Next: Route Server, Prev: Capability Negotiation, Up: BGP
3536
35379.12 Route Reflector
3538====================
3539
3540 -- BGP: bgp cluster-id A.B.C.D
3541
3542 -- BGP: neighbor PEER route-reflector-client
3543 -- BGP: no neighbor PEER route-reflector-client
3544
3545
3546File: quagga.info, Node: Route Server, Next: How to set up a 6-Bone connection, Prev: Route Reflector, Up: BGP
3547
35489.13 Route Server
3549=================
3550
3551At an Internet Exchange point, many ISPs are connected to each other by
3552external BGP peering. Normally these external BGP connection are done
3553by `full mesh' method. As with internal BGP full mesh formation, this
3554method has a scaling problem.
3555
3556 This scaling problem is well known. Route Server is a method to
3557resolve the problem. Each ISP's BGP router only peers to Route Server.
3558Route Server serves as BGP information exchange to other BGP routers.
3559By applying this method, numbers of BGP connections is reduced from
3560O(n*(n-1)/2) to O(n).
3561
3562 Unlike normal BGP router, Route Server must have several routing
3563tables for managing different routing policies for each BGP speaker.
3564We call the routing tables as different `view's. `bgpd' can work as
3565normal BGP router or Route Server or both at the same time.
3566
3567* Menu:
3568
3569* Multiple instance::
3570* BGP instance and view::
3571* Routing policy::
3572* Viewing the view::
3573
3574
3575File: quagga.info, Node: Multiple instance, Next: BGP instance and view, Up: Route Server
3576
35779.13.1 Multiple instance
3578------------------------
3579
3580To enable multiple view function of `bgpd', you must turn on multiple
3581instance feature beforehand.
3582
3583 -- Command: bgp multiple-instance
3584 Enable BGP multiple instance feature. After this feature is
3585 enabled, you can make multiple BGP instances or multiple BGP views.
3586
3587 -- Command: no bgp multiple-instance
3588 Disable BGP multiple instance feature. You can not disable this
3589 feature when BGP multiple instances or views exist.
3590
3591 When you want to make configuration more Cisco like one,
3592
3593 -- Command: bgp config-type cisco
3594 Cisco compatible BGP configuration output.
3595
3596 When bgp config-type cisco is specified,
3597
3598 "no synchronization" is displayed. "no auto-summary" is desplayed.
3599
3600 "network" and "aggregate-address" argument is displayed as "A.B.C.D
3601M.M.M.M"
3602
3603 Quagga: network 10.0.0.0/8 Cisco: network 10.0.0.0
3604
3605 Quagga: aggregate-address 192.168.0.0/24 Cisco: aggregate-address
3606192.168.0.0 255.255.255.0
3607
3608 Community attribute handling is also different. If there is no
3609configuration is specified community attribute and extended community
3610attribute are sent to neighbor. When user manually disable the feature
3611community attribute is not sent to the neighbor. In case of "bgp
3612config-type cisco" is specified, community attribute is not sent to the
3613neighbor by default. To send community attribute user has to specify
3614"neighbor A.B.C.D send-community" command.
3615
3616 ! router bgp 1 neighbor 10.0.0.1 remote-as 1 no neighbor 10.0.0.1
3617send-community !
3618
3619 ! router bgp 1 neighbor 10.0.0.1 remote-as 1 neighbor 10.0.0.1
3620send-community !
3621
3622 -- Command: bgp config-type zebra
3623 Quagga style BGP configuration. This is default.
3624
3625
3626File: quagga.info, Node: BGP instance and view, Next: Routing policy, Prev: Multiple instance, Up: Route Server
3627
36289.13.2 BGP instance and view
3629----------------------------
3630
3631BGP instance is a normal BGP process. The result of route selection
3632goes to the kernel routing table. You can setup different AS at the
3633same time when BGP multiple instance feature is enabled.
3634
3635 -- Command: router bgp AS-NUMBER
3636 Make a new BGP instance. You can use arbitrary word for the NAME.
3637
3638 bgp multiple-instance
3639 !
3640 router bgp 1
3641 neighbor 10.0.0.1 remote-as 2
3642 neighbor 10.0.0.2 remote-as 3
3643 !
3644 router bgp 2
3645 neighbor 10.0.0.3 remote-as 4
3646 neighbor 10.0.0.4 remote-as 5
3647
3648 BGP view is almost same as normal BGP process. The result of route
3649selection does not go to the kernel routing table. BGP view is only
3650for exchanging BGP routing information.
3651
3652 -- Command: router bgp AS-NUMBER view NAME
3653 Make a new BGP view. You can use arbitrary word for the NAME.
3654 This view's route selection result does not go to the kernel
3655 routing table.
3656
3657 With this command, you can setup Route Server like below.
3658
3659 bgp multiple-instance
3660 !
3661 router bgp 1 view 1
3662 neighbor 10.0.0.1 remote-as 2
3663 neighbor 10.0.0.2 remote-as 3
3664 !
3665 router bgp 2 view 2
3666 neighbor 10.0.0.3 remote-as 4
3667 neighbor 10.0.0.4 remote-as 5
3668
3669
3670File: quagga.info, Node: Routing policy, Next: Viewing the view, Prev: BGP instance and view, Up: Route Server
3671
36729.13.3 Routing policy
3673---------------------
3674
3675You can set different routing policy for a peer. For example, you can
3676set different filter for a peer.
3677
3678 bgp multiple-instance
3679 !
3680 router bgp 1 view 1
3681 neighbor 10.0.0.1 remote-as 2
3682 neighbor 10.0.0.1 distribute-list 1 in
3683 !
3684 router bgp 1 view 2
3685 neighbor 10.0.0.1 remote-as 2
3686 neighbor 10.0.0.1 distribute-list 2 in
3687
3688 This means BGP update from a peer 10.0.0.1 goes to both BGP view 1
3689and view 2. When the update is inserted into view 1, distribute-list 1
3690is applied. On the other hand, when the update is inserted into view 2,
3691distribute-list 2 is applied.
3692
3693
3694File: quagga.info, Node: Viewing the view, Prev: Routing policy, Up: Route Server
3695
36969.13.4 Viewing the view
3697-----------------------
3698
3699To display routing table of BGP view, you must specify view name.
3700
3701 -- Command: show ip bgp view NAME
3702 Display routing table of BGP view NAME.
3703
3704
3705File: quagga.info, Node: How to set up a 6-Bone connection, Next: Dump BGP packets and table, Prev: Route Server, Up: BGP
3706
37079.14 How to set up a 6-Bone connection
3708======================================
3709
3710 zebra configuration
3711 ===================
3712 !
3713 ! Actually there is no need to configure zebra
3714 !
3715
3716 bgpd configuration
3717 ==================
3718 !
3719 ! This means that routes go through zebra and into the kernel.
3720 !
3721 router zebra
3722 !
3723 ! MP-BGP configuration
3724 !
3725 router bgp 7675
3726 bgp router-id 10.0.0.1
3727 neighbor 3ffe:1cfa:0:2:2a0:c9ff:fe9e:f56 remote-as AS-NUMBER
3728 !
3729 address-family ipv6
3730 network 3ffe:506::/32
3731 neighbor 3ffe:1cfa:0:2:2a0:c9ff:fe9e:f56 activate
3732 neighbor 3ffe:1cfa:0:2:2a0:c9ff:fe9e:f56 route-map set-nexthop out
3733 neighbor 3ffe:1cfa:0:2:2c0:4fff:fe68:a231 remote-as AS-NUMBER
3734 neighbor 3ffe:1cfa:0:2:2c0:4fff:fe68:a231 route-map set-nexthop out
3735 exit-address-family
3736 !
3737 ipv6 access-list all permit any
3738 !
3739 ! Set output nexthop address.
3740 !
3741 route-map set-nexthop permit 10
3742 match ipv6 address all
3743 set ipv6 nexthop global 3ffe:1cfa:0:2:2c0:4fff:fe68:a225
3744 set ipv6 nexthop local fe80::2c0:4fff:fe68:a225
3745 !
3746 ! logfile FILENAME is obsolete. Please use log file FILENAME
3747
3748 log file bgpd.log
3749 !
3750
3751
3752File: quagga.info, Node: Dump BGP packets and table, Prev: How to set up a 6-Bone connection, Up: BGP
3753
37549.15 Dump BGP packets and table
3755===============================
3756
3757 -- Command: dump bgp all PATH
3758 -- Command: dump bgp all PATH INTERVAL
3759 Dump all BGP packet and events to PATH file.
3760
3761 -- Command: dump bgp updates PATH
3762 -- Command: dump bgp updates PATH INTERVAL
3763 Dump BGP updates to PATH file.
3764
3765 -- Command: dump bgp routes PATH
3766 -- Command: dump bgp routes PATH
3767 Dump whole BGP routing table to PATH. This is heavy process.
3768
3769
3770File: quagga.info, Node: Configuring Quagga as a Route Server, Next: VTY shell, Prev: BGP, Up: Top
3771
377210 Configuring Quagga as a Route Server
3773***************************************
3774
3775The purpose of a Route Server is to centralize the peerings between BGP
3776speakers. For example if we have an exchange point scenario with four
3777BGP speakers, each of which maintaining a BGP peering with the other
3778three (*note fig:full-mesh::), we can convert it into a centralized
3779scenario where each of the four establishes a single BGP peering
3780against the Route Server (*note fig:route-server::).
3781
3782 We will first describe briefly the Route Server model implemented by
3783Quagga. We will explain the commands that have been added for
3784configuring that model. And finally we will show a full example of
3785Quagga configured as Route Server.
3786
3787* Menu:
3788
3789* Description of the Route Server model::
3790* Commands for configuring a Route Server::
3791* Example of Route Server Configuration::
3792
3793
3794File: quagga.info, Node: Description of the Route Server model, Next: Commands for configuring a Route Server, Up: Configuring Quagga as a Route Server
3795
379610.1 Description of the Route Server model
3797==========================================
3798
3799First we are going to describe the normal processing that BGP
3800announcements suffer inside a standard BGP speaker, as shown in *Note
3801fig:normal-processing::, it consists of three steps:
3802
3803 * When an announcement is received from some peer, the `In' filters
3804 configured for that peer are applied to the announcement. These
3805 filters can reject the announcement, accept it unmodified, or
3806 accept it with some of its attributes modified.
3807
3808 * The announcements that pass the `In' filters go into the Best Path
3809 Selection process, where they are compared to other announcements
3810 referred to the same destination that have been received from
3811 different peers (in case such other announcements exist). For each
3812 different destination, the announcement which is selected as the
3813 best is inserted into the BGP speaker's Loc-RIB.
3814
3815 * The routes which are inserted in the Loc-RIB are considered for
3816 announcement to all the peers (except the one from which the route
3817 came). This is done by passing the routes in the Loc-RIB through
3818 the `Out' filters corresponding to each peer. These filters can
3819 reject the route, accept it unmodified, or accept it with some of
3820 its attributes modified. Those routes which are accepted by the
3821 `Out' filters of a peer are announced to that peer.
3822
paulbbd938e2005-04-02 10:18:42 +00003823�[image src="fig-normal-processing.png" alt="Normal announcement processing"�]
paul56d1d202004-11-15 21:56:53 +00003824
3825Figure 10.1: Announcement processing inside a "normal" BGP speaker
3826
paulbbd938e2005-04-02 10:18:42 +00003827�[image src="fig_topologies_full.png" alt="Full Mesh BGP Topology"�]
paul56d1d202004-11-15 21:56:53 +00003828
3829Figure 10.2: Full Mesh
3830
paulbbd938e2005-04-02 10:18:42 +00003831�[image src="fig_topologies_rs.png" alt="Route Server BGP Topology"�]
paul56d1d202004-11-15 21:56:53 +00003832
3833Figure 10.3: Route Server and clients
3834
3835 Of course we want that the routing tables obtained in each of the
3836routers are the same when using the route server than when not. But as
3837a consequence of having a single BGP peering (against the route
3838server), the BGP speakers can no longer distinguish from/to which peer
3839each announce comes/goes. This means that the routers connected to the
3840route server are not able to apply by themselves the same input/output
3841filters as in the full mesh scenario, so they have to delegate those
3842functions to the route server.
3843
3844 Even more, the "best path" selection must be also performed inside
3845the route server on behalf of its clients. The reason is that if, after
3846applying the filters of the announcer and the (potential) receiver, the
3847route server decides to send to some client two or more different
3848announcements referred to the same destination, the client will only
3849retain the last one, considering it as an implicit withdrawal of the
3850previous announcements for the same destination. This is the expected
3851behavior of a BGP speaker as defined in `RFC1771', and even though
3852there are some proposals of mechanisms that permit multiple paths for
3853the same destination to be sent through a single BGP peering, none of
3854them are currently supported by most of the existing BGP
3855implementations.
3856
3857 As a consequence a route server must maintain additional information
3858and perform additional tasks for a RS-client that those necessary for
3859common BGP peerings. Essentially a route server must:
3860
3861 * Maintain a separated Routing Information Base (Loc-RIB) for each
3862 peer configured as RS-client, containing the routes selected as a
3863 result of the "Best Path Selection" process that is performed on
3864 behalf of that RS-client.
3865
3866 * Whenever it receives an announcement from a RS-client, it must
3867 consider it for the Loc-RIBs of the other RS-clients.
3868
3869 * This means that for each of them the route server must pass
3870 the announcement through the appropriate `Out' filter of the
3871 announcer.
3872
3873 * Then through the appropriate `In' filter of the potential
3874 receiver.
3875
3876 * Only if the announcement is accepted by both filters it will
3877 be passed to the "Best Path Selection" process.
3878
3879 * Finally, it might go into the Loc-RIB of the receiver.
3880
3881 When we talk about the "appropriate" filter, both the announcer and
3882the receiver of the route must be taken into account. Suppose that the
3883route server receives an announcement from client A, and the route
3884server is considering it for the Loc-RIB of client B. The filters that
3885should be applied are the same that would be used in the full mesh
3886scenario, i.e., first the `Out' filter of router A for announcements
3887going to router B, and then the `In' filter of router B for
3888announcements coming from router A.
3889
3890 We call "Export Policy" of a RS-client to the set of `Out' filters
3891that the client would use if there was no route server. The same
3892applies for the "Import Policy" of a RS-client and the set of `In'
3893filters of the client if there was no route server.
3894
3895 It is also common to demand from a route server that it does not
3896modify some BGP attributes (next-hop, as-path and MED) that are usually
3897modified by standard BGP speakers before announcing a route.
3898
3899 The announcement processing model implemented by Quagga is shown in
3900*Note fig:rs-processing::. The figure shows a mixture of RS-clients (B,
3901C and D) with normal BGP peers (A). There are some details that worth
3902additional comments:
3903
3904 * Announcements coming from a normal BGP peer are also considered
3905 for the Loc-RIBs of all the RS-clients. But logically they do not
3906 pass through any export policy.
3907
3908 * Those peers that are configured as RS-clients do not receive any
3909 announce from the `Main' Loc-RIB.
3910
3911 * Apart from import and export policies, `In' and `Out' filters can
3912 also be set for RS-clients. `In' filters might be useful when the
3913 route server has also normal BGP peers. On the other hand, `Out'
3914 filters for RS-clients are probably unnecessary, but we decided
3915 not to remove them as they do not hurt anybody (they can always be
3916 left empty).
3917
paulbbd938e2005-04-02 10:18:42 +00003918�[image src="fig-rs-processing.png" alt="Route Server Processing Model"�]
paul56d1d202004-11-15 21:56:53 +00003919
3920Figure 10.4: Announcement processing model implemented by the Route Server
3921
3922
3923File: 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
3924
392510.2 Commands for configuring a Route Server
3926============================================
3927
3928Now we will describe the commands that have been added to quagga in
3929order to support the route server features.
3930
3931 -- Route-Server: neighbor PEER-GROUP route-server-client
3932 -- Route-Server: neighbor A.B.C.D route-server-client
3933 -- Route-Server: neighbor X:X::X:X route-server-client
3934 This command configures the peer given by PEER, A.B.C.D or
3935 X:X::X:X as an RS-client.
3936
3937 Actually this command is not new, it already existed in standard
3938 Quagga. It enables the transparent mode for the specified peer.
3939 This means that some BGP attributes (as-path, next-hop and MED) of
3940 the routes announced to that peer are not modified.
3941
3942 With the route server patch, this command, apart from setting the
3943 transparent mode, creates a new Loc-RIB dedicated to the specified
3944 peer (those named `Loc-RIB for X' in *Note Figure 10.4:
3945 fig:rs-processing.). Starting from that moment, every announcement
3946 received by the route server will be also considered for the new
3947 Loc-RIB.
3948
3949 -- Route-Server: neigbor {A.B.C.D|X.X::X.X|peer-group} route-map WORD
3950{import|export}
3951 This set of commands can be used to specify the route-map that
3952 represents the Import or Export policy of a peer which is
3953 configured as a RS-client (with the previous command).
3954
3955 -- Route-Server: match peer {A.B.C.D|X:X::X:X}
3956 This is a new _match_ statement for use in route-maps, enabling
3957 them to describe import/export policies. As we said before, an
3958 import/export policy represents a set of input/output filters of
3959 the RS-client. This statement makes possible that a single
3960 route-map represents the full set of filters that a BGP speaker
3961 would use for its different peers in a non-RS scenario.
3962
3963 The _match peer_ statement has different semantics whether it is
3964 used inside an import or an export route-map. In the first case
3965 the statement matches if the address of the peer who sends the
3966 announce is the same that the address specified by
3967 {A.B.C.D|X:X::X:X}. For export route-maps it matches when
3968 {A.B.C.D|X:X::X:X} is the address of the RS-Client into whose
3969 Loc-RIB the announce is going to be inserted (how the same export
3970 policy is applied before different Loc-RIBs is shown in *Note
3971 Figure 10.4: fig:rs-processing.).
3972
3973 -- Route-map Command: call WORD
3974 This command (also used inside a route-map) jumps into a different
3975 route-map, whose name is specified by WORD. When the called
3976 route-map finishes, depending on its result the original route-map
3977 continues or not. Apart from being useful for making import/export
3978 route-maps easier to write, this command can also be used inside
3979 any normal (in or out) route-map.
3980
3981
3982File: quagga.info, Node: Example of Route Server Configuration, Prev: Commands for configuring a Route Server, Up: Configuring Quagga as a Route Server
3983
398410.3 Example of Route Server Configuration
3985==========================================
3986
3987Finally we are going to show how to configure a Quagga daemon to act as
3988a Route Server. For this purpose we are going to present a scenario
3989without route server, and then we will show how to use the
3990configurations of the BGP routers to generate the configuration of the
3991route server.
3992
3993 All the configuration files shown in this section have been taken
3994from scenarios which were tested using the VNUML tool VNUML
3995(http://www.dit.upm.es/vnuml).
3996
3997* Menu:
3998
3999* Configuration of the BGP routers without Route Server::
4000* Configuration of the BGP routers with Route Server::
4001* Configuration of the Route Server itself::
4002* Further considerations about Import and Export route-maps::
4003
4004
4005File: 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
4006
400710.3.1 Configuration of the BGP routers without Route Server
4008------------------------------------------------------------
4009
4010We will suppose that our initial scenario is an exchange point with
4011three BGP capable routers, named RA, RB and RC. Each of the BGP
4012speakers generates some routes (with the NETWORK command), and
4013establishes BGP peerings against the other two routers. These peerings
4014have In and Out route-maps configured, named like "PEER-X-IN" or
4015"PEER-X-OUT". For example the configuration file for router RA could be
4016the following:
4017
4018 #Configuration for router 'RA'
4019 !
4020 hostname RA
4021 password ****
4022 !
4023 router bgp 65001
4024 no bgp default ipv4-unicast
4025 neighbor 2001:0DB8::B remote-as 65002
4026 neighbor 2001:0DB8::C remote-as 65003
4027 !
4028 address-family ipv6
4029 network 2001:0DB8:AAAA:1::/64
4030 network 2001:0DB8:AAAA:2::/64
4031 network 2001:0DB8:0000:1::/64
4032 network 2001:0DB8:0000:2::/64
4033
4034 neighbor 2001:0DB8::B activate
4035 neighbor 2001:0DB8::B soft-reconfiguration inbound
4036 neighbor 2001:0DB8::B route-map PEER-B-IN in
4037 neighbor 2001:0DB8::B route-map PEER-B-OUT out
4038
4039 neighbor 2001:0DB8::C activate
4040 neighbor 2001:0DB8::C soft-reconfiguration inbound
4041 neighbor 2001:0DB8::C route-map PEER-C-IN in
4042 neighbor 2001:0DB8::C route-map PEER-C-OUT out
4043 exit-address-family
4044 !
4045 ipv6 prefix-list COMMON-PREFIXES seq 5 permit 2001:0DB8:0000::/48 ge 64 le 64
4046 ipv6 prefix-list COMMON-PREFIXES seq 10 deny any
4047 !
4048 ipv6 prefix-list PEER-A-PREFIXES seq 5 permit 2001:0DB8:AAAA::/48 ge 64 le 64
4049 ipv6 prefix-list PEER-A-PREFIXES seq 10 deny any
4050 !
4051 ipv6 prefix-list PEER-B-PREFIXES seq 5 permit 2001:0DB8:BBBB::/48 ge 64 le 64
4052 ipv6 prefix-list PEER-B-PREFIXES seq 10 deny any
4053 !
4054 ipv6 prefix-list PEER-C-PREFIXES seq 5 permit 2001:0DB8:CCCC::/48 ge 64 le 64
4055 ipv6 prefix-list PEER-C-PREFIXES seq 10 deny any
4056 !
4057 route-map PEER-B-IN permit 10
4058 match ipv6 address prefix-list COMMON-PREFIXES
4059 set metric 100
4060 route-map PEER-B-IN permit 20
4061 match ipv6 address prefix-list PEER-B-PREFIXES
4062 set community 65001:11111
4063 !
4064 route-map PEER-C-IN permit 10
4065 match ipv6 address prefix-list COMMON-PREFIXES
4066 set metric 200
4067 route-map PEER-C-IN permit 20
4068 match ipv6 address prefix-list PEER-C-PREFIXES
4069 set community 65001:22222
4070 !
4071 route-map PEER-B-OUT permit 10
4072 match ipv6 address prefix-list PEER-A-PREFIXES
4073 !
4074 route-map PEER-C-OUT permit 10
4075 match ipv6 address prefix-list PEER-A-PREFIXES
4076 !
4077 line vty
4078 !
4079
4080
4081File: 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
4082
408310.3.2 Configuration of the BGP routers with Route Server
4084---------------------------------------------------------
4085
4086To convert the initial scenario into one with route server, first we
4087must modify the configuration of routers RA, RB and RC. Now they must
4088not peer between them, but only with the route server. For example, RA's
4089configuration would turn into:
4090
4091 # Configuration for router 'RA'
4092 !
4093 hostname RA
4094 password ****
4095 !
4096 router bgp 65001
4097 no bgp default ipv4-unicast
4098 neighbor 2001:0DB8::FFFF remote-as 65000
4099 !
4100 address-family ipv6
4101 network 2001:0DB8:AAAA:1::/64
4102 network 2001:0DB8:AAAA:2::/64
4103 network 2001:0DB8:0000:1::/64
4104 network 2001:0DB8:0000:2::/64
4105
4106 neighbor 2001:0DB8::FFFF activate
4107 neighbor 2001:0DB8::FFFF soft-reconfiguration inbound
4108 exit-address-family
4109 !
4110 line vty
4111 !
4112
4113 Which is logically much simpler than its initial configuration, as
4114it now maintains only one BGP peering and all the filters (route-maps)
4115have disappeared.
4116
4117
4118File: 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
4119
412010.3.3 Configuration of the Route Server itself
4121-----------------------------------------------
4122
4123As we said when we described the functions of a route server (*note
4124Description of the Route Server model::), it is in charge of all the
4125route filtering. To achieve that, the In and Out filters from the RA,
4126RB and RC configurations must be converted into Import and Export
4127policies in the route server.
4128
4129 This is a fragment of the route server configuration (we only show
4130the policies for client RA):
4131
4132 # Configuration for Route Server ('RS')
4133 !
4134 hostname RS
4135 password ix
4136 !
4137 bgp multiple-instance
4138 !
4139 router bgp 65000 view RS
4140 no bgp default ipv4-unicast
4141 neighbor 2001:0DB8::A remote-as 65001
4142 neighbor 2001:0DB8::B remote-as 65002
4143 neighbor 2001:0DB8::C remote-as 65003
4144 !
4145 address-family ipv6
4146 neighbor 2001:0DB8::A activate
4147 neighbor 2001:0DB8::A route-server-client
4148 neighbor 2001:0DB8::A route-map RSCLIENT-A-IMPORT import
4149 neighbor 2001:0DB8::A route-map RSCLIENT-A-EXPORT export
4150 neighbor 2001:0DB8::A soft-reconfiguration inbound
4151
4152 neighbor 2001:0DB8::B activate
4153 neighbor 2001:0DB8::B route-server-client
4154 neighbor 2001:0DB8::B route-map RSCLIENT-B-IMPORT import
4155 neighbor 2001:0DB8::B route-map RSCLIENT-B-EXPORT export
4156 neighbor 2001:0DB8::B soft-reconfiguration inbound
4157
4158 neighbor 2001:0DB8::C activate
4159 neighbor 2001:0DB8::C route-server-client
4160 neighbor 2001:0DB8::C route-map RSCLIENT-C-IMPORT import
4161 neighbor 2001:0DB8::C route-map RSCLIENT-C-EXPORT export
4162 neighbor 2001:0DB8::C soft-reconfiguration inbound
4163 exit-address-family
4164 !
4165 ipv6 prefix-list COMMON-PREFIXES seq 5 permit 2001:0DB8:0000::/48 ge 64 le 64
4166 ipv6 prefix-list COMMON-PREFIXES seq 10 deny any
4167 !
4168 ipv6 prefix-list PEER-A-PREFIXES seq 5 permit 2001:0DB8:AAAA::/48 ge 64 le 64
4169 ipv6 prefix-list PEER-A-PREFIXES seq 10 deny any
4170 !
4171 ipv6 prefix-list PEER-B-PREFIXES seq 5 permit 2001:0DB8:BBBB::/48 ge 64 le 64
4172 ipv6 prefix-list PEER-B-PREFIXES seq 10 deny any
4173 !
4174 ipv6 prefix-list PEER-C-PREFIXES seq 5 permit 2001:0DB8:CCCC::/48 ge 64 le 64
4175 ipv6 prefix-list PEER-C-PREFIXES seq 10 deny any
4176 !
4177 route-map RSCLIENT-A-IMPORT permit 10
4178 match peer 2001:0DB8::B
4179 call A-IMPORT-FROM-B
4180 route-map RSCLIENT-A-IMPORT permit 20
4181 match peer 2001:0DB8::C
4182 call A-IMPORT-FROM-C
4183 !
4184 route-map A-IMPORT-FROM-B permit 10
4185 match ipv6 address prefix-list COMMON-PREFIXES
4186 set metric 100
4187 route-map A-IMPORT-FROM-B permit 20
4188 match ipv6 address prefix-list PEER-B-PREFIXES
4189 set community 65001:11111
4190 !
4191 route-map A-IMPORT-FROM-C permit 10
4192 match ipv6 address prefix-list COMMON-PREFIXES
4193 set metric 200
4194 route-map A-IMPORT-FROM-C permit 20
4195 match ipv6 address prefix-list PEER-C-PREFIXES
4196 set community 65001:22222
4197 !
4198 route-map RSCLIENT-A-EXPORT permit 10
4199 match peer 2001:0DB8::B
4200 match ipv6 address prefix-list PEER-A-PREFIXES
4201 route-map RSCLIENT-A-EXPORT permit 20
4202 match peer 2001:0DB8::C
4203 match ipv6 address prefix-list PEER-A-PREFIXES
4204 !
4205 ...
4206 ...
4207 ...
4208
4209 If you compare the initial configuration of RA with the route server
4210configuration above, you can see how easy it is to generate the Import
4211and Export policies for RA from the In and Out route-maps of RA's
4212original configuration.
4213
4214 When there was no route server, RA maintained two peerings, one with
4215RB and another with RC. Each of this peerings had an In route-map
4216configured. To build the Import route-map for client RA in the route
4217server, simply add route-map entries following this scheme:
4218
4219 route-map <NAME> permit 10
4220 match peer <Peer Address>
4221 call <In Route-Map for this Peer>
4222 route-map <NAME> permit 20
4223 match peer <Another Peer Address>
4224 call <In Route-Map for this Peer>
4225
4226 This is exactly the process that has been followed to generate the
4227route-map RSCLIENT-A-IMPORT. The route-maps that are called inside it
4228(A-IMPORT-FROM-B and A-IMPORT-FROM-C) are exactly the same than the In
4229route-maps from the original configuration of RA (PEER-B-IN and
4230PEER-C-IN), only the name is different.
4231
4232 The same could have been done to create the Export policy for RA
4233(route-map RSCLIENT-A-EXPORT), but in this case the original Out
4234route-maps where so simple that we decided not to use the CALL WORD
4235commands, and we integrated all in a single route-map
4236(RSCLIENT-A-EXPORT).
4237
4238 The Import and Export policies for RB and RC are not shown, but the
4239process would be identical.
4240
4241
4242File: quagga.info, Node: Further considerations about Import and Export route-maps, Prev: Configuration of the Route Server itself, Up: Example of Route Server Configuration
4243
424410.3.4 Further considerations about Import and Export route-maps
4245----------------------------------------------------------------
4246
4247The current version of the route server patch only allows to specify a
4248route-map for import and export policies, while in a standard BGP
4249speaker apart from route-maps there are other tools for performing
4250input and output filtering (access-lists, community-lists, ...). But
4251this does not represent any limitation, as all kinds of filters can be
4252included in import/export route-maps. For example suppose that in the
4253non-route-server scenario peer RA had the following filters configured
4254for input from peer B:
4255
4256 neighbor 2001:0DB8::B prefix-list LIST-1 in
4257 neighbor 2001:0DB8::B filter-list LIST-2 in
4258 neighbor 2001:0DB8::B route-map PEER-B-IN in
4259 ...
4260 ...
4261 route-map PEER-B-IN permit 10
4262 match ipv6 address prefix-list COMMON-PREFIXES
4263 set local-preference 100
4264 route-map PEER-B-IN permit 20
4265 match ipv6 address prefix-list PEER-B-PREFIXES
4266 set community 65001:11111
4267
4268 It is posible to write a single route-map which is equivalent to the
4269three filters (the community-list, the prefix-list and the route-map).
4270That route-map can then be used inside the Import policy in the route
4271server. Lets see how to do it:
4272
4273 neighbor 2001:0DB8::A route-map RSCLIENT-A-IMPORT import
4274 ...
4275 !
4276 ...
4277 route-map RSCLIENT-A-IMPORT permit 10
4278 match peer 2001:0DB8::B
4279 call A-IMPORT-FROM-B
4280 ...
4281 ...
4282 !
4283 route-map A-IMPORT-FROM-B permit 1
4284 match ipv6 address prefix-list LIST-1
4285 match as-path LIST-2
4286 on-match goto 10
4287 route-map A-IMPORT-FROM-B deny 2
4288 route-map A-IMPORT-FROM-B permit 10
4289 match ipv6 address prefix-list COMMON-PREFIXES
4290 set local-preference 100
4291 route-map A-IMPORT-FROM-B permit 20
4292 match ipv6 address prefix-list PEER-B-PREFIXES
4293 set community 65001:11111
4294 !
4295 ...
4296 ...
4297
4298 The route-map A-IMPORT-FROM-B is equivalent to the three filters
4299(LIST-1, LIST-2 and PEER-B-IN). The first entry of route-map
4300A-IMPORT-FROM-B (sequence number 1) matches if and only if both the
4301prefix-list LIST-1 and the filter-list LIST-2 match. If that happens,
4302due to the "on-match goto 10" statement the next route-map entry to be
4303processed will be number 10, and as of that point route-map
4304A-IMPORT-FROM-B is identical to PEER-B-IN. If the first entry does not
4305match, `on-match goto 10" will be ignored and the next processed entry
4306will be number 2, which will deny the route.
4307
4308 Thus, the result is the same that with the three original filters,
4309i.e., if either LIST-1 or LIST-2 rejects the route, it does not reach
4310the route-map PEER-B-IN. In case both LIST-1 and LIST-2 accept the
4311route, it passes to PEER-B-IN, which can reject, accept or modify the
4312route.
4313
4314
4315File: quagga.info, Node: VTY shell, Next: Filtering, Prev: Configuring Quagga as a Route Server, Up: Top
4316
431711 VTY shell
4318************
4319
4320`vtysh' is integrated shell of Quagga software.
4321
4322 To use vtysh please specify --enable-vtysh to configure script. To
4323use PAM for authentication use --with-libpam option to configure script.
4324
4325 vtysh only searches /etc/quagga path for vtysh.conf which is the
4326vtysh configuration file. Vtysh does not search current directory for
4327configuration file because the file includes user authentication
4328settings.
4329
4330 Currently, vtysh.conf has only two commands.
4331
4332* Menu:
4333
4334* VTY shell username::
4335* VTY shell integrated configuration::
4336
4337
4338File: quagga.info, Node: VTY shell username, Next: VTY shell integrated configuration, Up: VTY shell
4339
434011.1 VTY shell username
4341=======================
4342
4343 -- Command: username USERNAME nopassword
4344 With this set, user foo does not need password authentication for
4345 user vtysh. With PAM vtysh uses PAM authentication mechanism.
4346
4347 If vtysh is compiled without PAM authentication, every user can
4348 use vtysh without authentication. vtysh requires read/write
4349 permission to the various daemons vty sockets, this can be
4350 accomplished through use of unix groups and the -enable-vty-group
4351 configure option.
4352
4353
4354
4355File: quagga.info, Node: VTY shell integrated configuration, Prev: VTY shell username, Up: VTY shell
4356
paulafc1e2d2005-01-10 22:31:16 +0000435711.2 VTY shell integrated configuration
4358=======================================
paul56d1d202004-11-15 21:56:53 +00004359
4360 -- Command: service integrated-vtysh-config
4361 Write out integrated Quagga.conf file when 'write file' is issued.
4362
4363 This command controls the behaviour of vtysh when it is told to
4364 write out the configuration. Per default, vtysh will instruct
4365 each daemon to write out their own config files when `write file'
4366 is issued. However, if `service integrated-vtysh-config' is set,
4367 when `write file' is issued, vtysh will instruct the daemons will
4368 write out a Quagga.conf with all daemons' commands integrated into
4369 it.
4370
4371 Vtysh per default behaves as if `write-conf daemon' is set. Note
4372 that both may be set at same time if one wishes to have both
4373 Quagga.conf and daemon specific files written out. Further, note
4374 that the daemons are hard-coded to first look for the integrated
4375 Quagga.conf file before looking for their own file.
4376
4377 We recommend you do not mix the use of the two types of files.
4378 Further, it is better not to use the integrated Quagga.conf file,
4379 as any syntax error in it can lead to /all/ of your daemons being
4380 unable to start up. Per daemon files are more robust as impact of
4381 errors in configuration are limited to the daemon in whose file
4382 the error is made.
4383
4384
4385
4386File: quagga.info, Node: Filtering, Next: Route Map, Prev: VTY shell, Up: Top
4387
438812 Filtering
4389************
4390
4391Quagga provides many very flexible filtering features. Filtering is
4392used for both input and output of the routing information. Once
4393filtering is defined, it can be applied in any direction.
4394
4395* Menu:
4396
4397* IP Access List::
4398* IP Prefix List::
4399
4400
4401File: quagga.info, Node: IP Access List, Next: IP Prefix List, Up: Filtering
4402
440312.1 IP Access List
4404===================
4405
4406 -- Command: access-list NAME permit IPV4-NETWORK
4407 -- Command: access-list NAME deny IPV4-NETWORK
4408
4409 Basic filtering is done by `access-list' as shown in the following
4410example.
4411
4412 access-list filter deny 10.0.0.0/9
4413 access-list filter permit 10.0.0.0/8
4414
4415
4416File: quagga.info, Node: IP Prefix List, Prev: IP Access List, Up: Filtering
4417
441812.2 IP Prefix List
4419===================
4420
4421`ip prefix-list' provides the most powerful prefix based filtering
4422mechanism. In addition to `access-list' functionality, `ip
4423prefix-list' has prefix length range specification and sequential
4424number specification. You can add or delete prefix based filters to
4425arbitrary points of prefix-list using sequential number specification.
4426
4427 If no ip prefix-list is specified, it acts as permit. If `ip
4428prefix-list' is defined, and no match is found, default deny is applied.
4429
4430 -- Command: ip prefix-list NAME (permit|deny) PREFIX [le LEN] [ge LEN]
4431 -- Command: ip prefix-list NAME seq NUMBER (permit|deny) PREFIX [le
4432LEN] [ge LEN]
4433 You can create `ip prefix-list' using above commands.
4434
4435 seq
4436 seq NUMBER can be set either automatically or manually. In
4437 the case that sequential numbers are set manually, the user
4438 may pick any number less than 4294967295. In the case that
4439 sequential number are set automatically, the sequential
4440 number will increase by a unit of five (5) per list. If a
4441 list with no specified sequential number is created after a
4442 list with a specified sequential number, the list will
4443 automatically pick the next multiple of five (5) as the list
4444 number. For example, if a list with number 2 already exists
4445 and a new list with no specified number is created, the next
4446 list will be numbered 5. If lists 2 and 7 already exist and
4447 a new list with no specified number is created, the new list
4448 will be numbered 10.
4449
4450 le
4451 `le' command specifies prefix length. The prefix list will be
4452 applied if the prefix length is less than or equal to the le
4453 prefix length.
4454
4455 ge
4456 `ge' command specifies prefix length. The prefix list will be
4457 applied if the prefix length is greater than or equal to the
4458 ge prefix length.
4459
4460
4461
4462 Less than or equal to prefix numbers and greater than or equal to
4463prefix numbers can be used together. The order of the le and ge
4464commands does not matter.
4465
4466 If a prefix list with a different sequential number but with the
4467exact same rules as a previous list is created, an error will result.
4468However, in the case that the sequential number and the rules are
4469exactly similar, no error will result.
4470
4471 If a list with the same sequential number as a previous list is
4472created, the new list will overwrite the old list.
4473
4474 Matching of IP Prefix is performed from the smaller sequential
4475number to the larger. The matching will stop once any rule has been
4476applied.
4477
4478 In the case of no le or ge command, the prefix length must match
4479exactly the length specified in the prefix list.
4480
4481 -- Command: no ip prefix-list NAME
4482
4483* Menu:
4484
4485* ip prefix-list description::
4486* ip prefix-list sequential number control::
4487* Showing ip prefix-list::
4488* Clear counter of ip prefix-list::
4489
4490
4491File: quagga.info, Node: ip prefix-list description, Next: ip prefix-list sequential number control, Up: IP Prefix List
4492
449312.2.1 ip prefix-list description
4494---------------------------------
4495
4496 -- Command: ip prefix-list NAME description DESC
4497 Descriptions may be added to prefix lists. This command adds a
4498 description to the prefix list.
4499
4500 -- Command: no ip prefix-list NAME description [DESC]
4501 Deletes the description from a prefix list. It is possible to use
4502 the command without the full description.
4503
4504
4505File: quagga.info, Node: ip prefix-list sequential number control, Next: Showing ip prefix-list, Prev: ip prefix-list description, Up: IP Prefix List
4506
450712.2.2 ip prefix-list sequential number control
4508-----------------------------------------------
4509
4510 -- Command: ip prefix-list sequence-number
4511 With this command, the IP prefix list sequential number is
4512 displayed. This is the default behavior.
4513
4514 -- Command: no ip prefix-list sequence-number
4515 With this command, the IP prefix list sequential number is not
4516 displayed.
4517
4518
4519File: 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
4520
452112.2.3 Showing ip prefix-list
4522-----------------------------
4523
4524 -- Command: show ip prefix-list
4525 Display all IP prefix lists.
4526
4527 -- Command: show ip prefix-list NAME
4528 Show IP prefix list can be used with a prefix list name.
4529
4530 -- Command: show ip prefix-list NAME seq NUM
4531 Show IP prefix list can be used with a prefix list name and
4532 sequential number.
4533
4534 -- Command: show ip prefix-list NAME A.B.C.D/M
4535 If the command longer is used, all prefix lists with prefix
4536 lengths equal to or longer than the specified length will be
4537 displayed. If the command first match is used, the first prefix
4538 length match will be displayed.
4539
4540 -- Command: show ip prefix-list NAME A.B.C.D/M longer
4541
4542 -- Command: show ip prefix-list NAME A.B.C.D/M first-match
4543
4544 -- Command: show ip prefix-list summary
4545
4546 -- Command: show ip prefix-list summary NAME
4547
4548 -- Command: show ip prefix-list detail
4549
4550 -- Command: show ip prefix-list detail NAME
4551
4552
4553File: quagga.info, Node: Clear counter of ip prefix-list, Prev: Showing ip prefix-list, Up: IP Prefix List
4554
455512.2.4 Clear counter of ip prefix-list
4556--------------------------------------
4557
4558 -- Command: clear ip prefix-list
4559 Clears the counters of all IP prefix lists. Clear IP Prefix List
4560 can be used with a specified name and prefix.
4561
4562 -- Command: clear ip prefix-list NAME
4563
4564 -- Command: clear ip prefix-list NAME A.B.C.D/M
4565
4566
4567File: quagga.info, Node: Route Map, Next: IPv6 Support, Prev: Filtering, Up: Top
4568
456913 Route Map
4570************
4571
4572Route map is a very useful function in zebra. There is a match and set
4573statement permitted in a route map.
4574
4575 route-map test permit 10
4576 match ip address 10
4577 set local-preference 200
4578
4579 This means that if a route matches ip access-list number 10 it's
4580local-preference value is set to 200.
4581
4582* Menu:
4583
4584* Route Map Command::
4585* Route Map Match Command::
4586* Route Map Set Command::
4587
4588
4589File: quagga.info, Node: Route Map Command, Next: Route Map Match Command, Up: Route Map
4590
459113.1 Route Map Command
4592======================
4593
4594 -- Command: route-map ROUTE-MAP-NAME permit PRIORITY
4595
4596
4597File: quagga.info, Node: Route Map Match Command, Next: Route Map Set Command, Prev: Route Map Command, Up: Route Map
4598
459913.2 Route Map Match Command
4600============================
4601
4602 -- Route-map Command: match ip address ACCESS_LIST
4603 Matches the specified ACCESS_LIST
4604
4605 -- Route-map Command: match ip next-hop IPV4_ADDR
4606 Matches the specified IPV4_ADDR.
4607
4608 -- Route-map Command: match aspath AS_PATH
4609 Matches the specified AS_PATH.
4610
4611 -- Route-map Command: match metric METRIC
4612 Matches the specified METRIC.
4613
4614 -- Route-map Command: match community COMMUNITY_LIST
4615 Matches the specified COMMUNITY_LIST
4616
4617
4618File: quagga.info, Node: Route Map Set Command, Prev: Route Map Match Command, Up: Route Map
4619
462013.3 Route Map Set Command
4621==========================
4622
4623 -- Route-map Command: set ip next-hop IPV4_ADDRESS
4624 Set the BGP nexthop address.
4625
4626 -- Route-map Command: set local-preference LOCAL_PREF
4627 Set the BGP local preference.
4628
4629 -- Route-map Command: set weight WEIGHT
4630 Set the route's weight.
4631
4632 -- Route-map Command: set metric METRIC
4633 Set the BGP attribute MED.
4634
4635 -- Route-map Command: set as-path prepend AS_PATH
4636 Set the BGP AS path to prepend.
4637
4638 -- Route-map Command: set community COMMUNITY
4639 Set the BGP community attribute.
4640
4641 -- Route-map Command: set ipv6 next-hop global IPV6_ADDRESS
4642 Set the BGP-4+ global IPv6 nexthop address.
4643
4644 -- Route-map Command: set ipv6 next-hop local IPV6_ADDRESS
4645 Set the BGP-4+ link local IPv6 nexthop address.
4646
4647
4648File: quagga.info, Node: IPv6 Support, Next: Kernel Interface, Prev: Route Map, Up: Top
4649
465014 IPv6 Support
4651***************
4652
4653Quagga fully supports IPv6 routing. As described so far, Quagga
4654supports RIPng, OSPFv3 and BGP-4+. You can give IPv6 addresses to an
4655interface and configure static IPv6 routing information. Quagga IPv6
4656also provides automatic address configuration via a feature called
4657`address auto configuration'. To do it, the router must send router
4658advertisement messages to the all nodes that exist on the network.
4659
4660* Menu:
4661
4662* Router Advertisement::
4663
4664
4665File: quagga.info, Node: Router Advertisement, Up: IPv6 Support
4666
466714.1 Router Advertisement
4668=========================
4669
4670 -- Interface Command: no ipv6 nd suppress-ra
4671 Send router advertisment messages.
4672
4673 -- Interface Command: ipv6 nd suppress-ra
4674 Don't send router advertisment messages.
4675
4676 -- Interface Command: ipv6 nd prefix IPV6PREFIX [VALID-LIFETIME]
paulbbd938e2005-04-02 10:18:42 +00004677[PREFERRED-LIFETIME] [off-link] [no-autoconfig] [router-address]
paul56d1d202004-11-15 21:56:53 +00004678 Configuring the IPv6 prefix to include in router advertisements.
4679 Several prefix specific optional parameters and flags may follow:
4680 * VALID-LIFETIME - the length of time in seconds during what
4681 the prefix is valid for the purpose of on-link determination.
4682 Value INFINITE represents infinity (i.e. a value of all one
4683 bits (`0xffffffff')).
4684
4685 Range: `<0-4294967295>' Default: `2592000'
4686
4687 * PREFERRED-LIFETIME - the length of time in seconds during
4688 what addresses generated from the prefix remain preferred.
4689 Value INFINITE represents infinity.
4690
4691 Range: `<0-4294967295>' Default: `604800'
4692
4693 * OFF-LINK - indicates that advertisement makes no statement
4694 about on-link or off-link properties of the prefix.
4695
4696 Default: not set, i.e. this prefix can be used for on-link
4697 determination.
4698
4699 * NO-AUTOCONFIG - indicates to hosts on the local link that the
4700 specified prefix cannot be used for IPv6 autoconfiguration.
4701
4702 Default: not set, i.e. prefix can be used for
4703 autoconfiguration.
4704
paulbbd938e2005-04-02 10:18:42 +00004705 * ROUTER-ADDRESS - indicates to hosts on the local link that
4706 the specified prefix contains a complete IP address by
4707 setting R flag.
4708
4709 Default: not set, i.e. hosts do not assume a complete IP
4710 address is placed.
4711
paul56d1d202004-11-15 21:56:53 +00004712 -- Interface Command: ipv6 nd ra-interval SECONDS
4713 -- Interface Command: no ipv6 nd ra-interval
4714 The maximum time allowed between sending unsolicited multicast
4715 router advertisements from the interface, in seconds. Must be no
4716 less than 3 seconds.
4717
4718 Default: `600'
4719
paulbbd938e2005-04-02 10:18:42 +00004720 -- Interface Command: ipv6 nd ra-interval msec MILLISECONDS
4721 -- Interface Command: no ipv6 nd ra-interval msec
4722 The maximum time allowed between sending unsolicited multicast
4723 router advertisements from the interface, in milliseconds. Must be
4724 no less than 30 milliseconds.
4725
4726 Default: `600000'
4727
paul56d1d202004-11-15 21:56:53 +00004728 -- Interface Command: ipv6 nd ra-lifetime SECONDS
4729 -- Interface Command: no ipv6 nd ra-lifetime
4730 The value to be placed in the Router Lifetime field of router
4731 advertisements sent from the interface, in seconds. Indicates the
4732 usefulness of the router as a default router on this interface.
4733 Setting the value to zero indicates that the router should not be
4734 considered a default router on this interface. Must be either
4735 zero or between value specified with IPV6 ND RA-INTERVAL (or
4736 default) and 9000 seconds.
4737
4738 Default: `1800'
4739
4740 -- Interface Command: ipv6 nd reachable-time MILLISECONDS
4741 -- Interface Command: no ipv6 nd reachable-time
4742 The value to be placed in the Reachable Time field in the Router
4743 Advertisement messages sent by the router, in milliseconds. The
4744 configured time enables the router to detect unavailable
4745 neighbors. The value zero means unspecified (by this router). Must
4746 be no greater than `3,600,000' milliseconds (1 hour).
4747
4748 Default: `0'
4749
4750 -- Interface Command: ipv6 nd managed-config-flag
4751 -- Interface Command: no ipv6 nd managed-config-flag
4752 Set/unset flag in IPv6 router advertisements which indicates to
4753 hosts that they should use managed (stateful) protocol for
4754 addresses autoconfiguration in addition to any addresses
4755 autoconfigured using stateless address autoconfiguration.
4756
4757 Default: not set
4758
4759 -- Interface Command: ipv6 nd other-config-flag
4760 -- Interface Command: no ipv6 nd other-config-flag
4761 Set/unset flag in IPv6 router advertisements which indicates to
4762 hosts that they should use administered (stateful) protocol to
4763 obtain autoconfiguration information other than addresses.
4764
4765 Default: not set
4766
paulbbd938e2005-04-02 10:18:42 +00004767 -- Interface Command: ipv6 nd home-agent-config-flag
4768 -- Interface Command: no ipv6 nd home-agent-config-flag
4769 Set/unset flag in IPv6 router advertisements which indicates to
4770 hosts that the router acts as a Home Agent and includes a Home
4771 Agent Option.
4772
4773 Default: not set
4774
4775 -- Interface Command: ipv6 nd home-agent-preference
4776 -- Interface Command: no ipv6 nd home-agent-preference
4777 The value to be placed in Home Agent Option, when Home Agent
4778 config flag is set, which indicates to hosts Home Agent preference.
4779
4780 Default: 0
4781
4782 -- Interface Command: ipv6 nd home-agent-lifetime
4783 -- Interface Command: no ipv6 nd home-agent-lifetime
4784 The value to be placed in Home Agent Option, when Home Agent
4785 config flag is set, which indicates to hosts Home Agent Lifetime.
4786 A value of 0 means to place Router Lifetime value.
4787
4788 Default: 0
4789
4790 -- Interface Command: ipv6 nd adv-interval-option
4791 -- Interface Command: no ipv6 nd adv-interval-option
4792 Include an Advertisement Interval option which indicates to hosts
4793 the maximum time, in milliseconds, between successive unsolicited
4794 Router Advertisements.
4795
4796 Default: not set
4797
paul56d1d202004-11-15 21:56:53 +00004798 interface eth0
4799 no ipv6 nd suppress-ra
4800 ipv6 nd prefix 2001:0DB8:5009::/64
4801
4802 For more information see `RFC2462 (IPv6 Stateless Address
paulbbd938e2005-04-02 10:18:42 +00004803Autoconfiguration)' , `RFC2461 (Neighbor Discovery for IP Version 6
4804(IPv6))' and `RFC3775 (Mobility Support in IPv6 (Mobile IPv6))'.
paul56d1d202004-11-15 21:56:53 +00004805
4806
4807File: quagga.info, Node: Kernel Interface, Next: SNMP Support, Prev: IPv6 Support, Up: Top
4808
480915 Kernel Interface
4810*******************
4811
4812There are several different methods for reading kernel routing table
4813information, updating kernel routing tables, and for looking up
4814interfaces.
4815
4816`ioctl'
4817 The `ioctl' method is a very traditional way for reading or writing
4818 kernel information. `ioctl' can be used for looking up interfaces
4819 and for modifying interface addresses, flags, mtu settings and
4820 other types of information. Also, `ioctl' can insert and delete
4821 kernel routing table entries. It will soon be available on almost
4822 any platform which zebra supports, but it is a little bit ugly
4823 thus far, so if a better method is supported by the kernel, zebra
4824 will use that.
4825
4826`sysctl'
4827 `sysctl' can lookup kernel information using MIB (Management
4828 Information Base) syntax. Normally, it only provides a way of
4829 getting information from the kernel. So one would usually want to
4830 change kernel information using another method such as `ioctl'.
4831
4832`proc filesystem'
4833 `proc filesystem' provides an easy way of getting kernel
4834 information.
4835
4836`routing socket'
4837
4838`netlink'
4839 On recent Linux kernels (2.0.x and 2.2.x), there is a kernel/user
4840 communication support called `netlink'. It makes asynchronous
4841 communication between kernel and Quagga possible, similar to a
4842 routing socket on BSD systems.
4843
4844 Before you use this feature, be sure to select (in kernel
4845 configuration) the kernel/netlink support option 'Kernel/User
4846 network link driver' and 'Routing messages'.
4847
4848 Today, the /dev/route special device file is obsolete. Netlink
4849 communication is done by reading/writing over netlink socket.
4850
4851 After the kernel configuration, please reconfigure and rebuild
4852 Quagga. You can use netlink as a dynamic routing update channel
4853 between Quagga and the kernel.
4854
4855
4856File: quagga.info, Node: SNMP Support, Next: Zebra Protocol, Prev: Kernel Interface, Up: Top
4857
485816 SNMP Support
4859***************
4860
4861SNMP (Simple Network Managing Protocol) is a widely implemented feature
4862for collecting network information from router and/or host. Quagga
4863itself does not support SNMP agent (server daemon) functionality but is
4864able to connect to a SNMP agent using the SMUX protocol (RFC1227) and
4865make the routing protocol MIBs available through it.
4866
4867* Menu:
4868
4869* Getting and installing an SNMP agent::
4870* SMUX configuration::
4871* MIB and command reference::
4872
4873
4874File: quagga.info, Node: Getting and installing an SNMP agent, Next: SMUX configuration, Up: SNMP Support
4875
487616.1 Getting and installing an SNMP agent
4877=========================================
4878
4879There are several SNMP agent which support SMUX. We recommend to use
4880the latest version of `net-snmp' which was formerly known as `ucd-snmp'.
4881It is free and open software and available at `http://www.net-snmp.org/'
4882and as binary package for most Linux distributions. `net-snmp' has to
4883be compiled with `--with-mib-modules=smux' to be able to accept
4884connections from Quagga.
4885
4886
4887File: quagga.info, Node: SMUX configuration, Next: MIB and command reference, Prev: Getting and installing an SNMP agent, Up: SNMP Support
4888
488916.2 SMUX configuration
4890=======================
4891
4892To enable SMUX protocol support, Quagga must have been build with the
4893`--enable-snmp' option.
4894
4895 A separate connection has then to be established between between the
4896SNMP agent (snmpd) and each of the Quagga daemons. This connections
4897each use different OID numbers and passwords. Be aware that this OID
4898number is not the one that is used in queries by clients, it is solely
4899used for the intercommunication of the daemons.
4900
4901 In the following example the ospfd daemon will be connected to the
4902snmpd daemon using the password "quagga_ospfd". For testing it is
4903recommending to take exactly the below snmpd.conf as wrong access
4904restrictions can be hard to debug.
4905
4906 /etc/snmp/snmpd.conf:
4907 #
4908 # example access restrictions setup
4909 #
4910 com2sec readonly default public
4911 group MyROGroup v1 readonly
4912 view all included .1 80
4913 access MyROGroup "" any noauth exact all none none
4914 #
4915 # the following line is relevant for Quagga
4916 #
4917 smuxpeer .1.3.6.1.4.1.3317.1.2.5 quagga_ospfd
4918
4919 /etc/quagga/ospf:
4920 ! ... the rest of ospfd.conf has been omitted for clarity ...
4921 !
4922 smux peer .1.3.6.1.4.1.3317.1.2.5 quagga_ospfd
4923 !
4924
4925 After restarting snmpd and quagga, a successful connection can be
4926verified in the syslog and by querying the SNMP daemon:
4927
4928 snmpd[12300]: [smux_accept] accepted fd 12 from 127.0.0.1:36255
4929 snmpd[12300]: accepted smux peer: \
4930 oid GNOME-PRODUCT-ZEBRA-MIB::ospfd, quagga-0.96.5
4931
4932 # snmpwalk -c public -v1 localhost .1.3.6.1.2.1.14.1.1
4933 OSPF-MIB::ospfRouterId.0 = IpAddress: 192.168.42.109
4934
4935 Be warned that the current version (5.1.1) of the Net-SNMP daemon
4936writes a line for every SNMP connect to the syslog which can lead to
4937enormous log file sizes. If that is a problem you should consider to
4938patch snmpd and comment out the troublesome `snmp_log()' line in the
4939function `netsnmp_agent_check_packet()' in `agent/snmp_agent.c'.
4940
4941
4942File: quagga.info, Node: MIB and command reference, Prev: SMUX configuration, Up: SNMP Support
4943
494416.3 MIB and command reference
4945==============================
4946
4947The following OID numbers are used for the interprocess communication
4948of snmpd and the Quagga daemons. Sadly, SNMP has not been implemented
4949in all daemons yet.
4950 (OIDs below .iso.org.dod.internet.private.enterprises)
4951 zebra .1.3.6.1.4.1.3317.1.2.1 .gnome.gnomeProducts.zebra.zserv
4952 bgpd .1.3.6.1.4.1.3317.1.2.2 .gnome.gnomeProducts.zebra.bgpd
4953 ripd .1.3.6.1.4.1.3317.1.2.3 .gnome.gnomeProducts.zebra.ripd
4954 ospfd .1.3.6.1.4.1.3317.1.2.5 .gnome.gnomeProducts.zebra.ospfd
4955 ospf6d .1.3.6.1.4.1.3317.1.2.6 .gnome.gnomeProducts.zebra.ospf6d
4956
4957 The following OID numbers are used for querying the SNMP daemon by a
4958client:
4959 zebra .1.3.6.1.2.1.4.24 .iso.org.dot.internet.mgmt.mib-2.ip.ipForward
4960 ospfd .1.3.6.1.2.1.14 .iso.org.dot.internet.mgmt.mib-2.ospf
4961 bgpd .1.3.6.1.2.1.15 .iso.org.dot.internet.mgmt.mib-2.bgp
4962 ripd .1.3.6.1.2.1.23 .iso.org.dot.internet.mgmt.mib-2.rip2
4963 ospf6d .1.3.6.1.3.102 .iso.org.dod.internet.experimental.ospfv3
4964
4965 The following syntax is understood by the Quagga daemons for
4966configuring SNMP:
4967
4968 -- Command: smux peer OID
4969 -- Command: no smux peer OID
4970
4971 -- Command: smux peer OID PASSWORD
4972 -- Command: no smux peer OID PASSWORD
4973
4974
4975File: quagga.info, Node: Zebra Protocol, Next: Packet Binary Dump Format, Prev: SNMP Support, Up: Top
4976
4977Appendix A Zebra Protocol
4978*************************
4979
4980Zebra Protocol is a protocol which is used between protocol daemon and
4981zebra. Each protocol daemon sends selected routes to zebra daemon.
4982Then zebra manages which route is installed into the forwarding table.
4983
4984 Zebra Protocol is a TCP-based protocol. Below is common header of
4985Zebra Protocol.
4986
4987 0 1 2 3
4988 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
4989 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
4990 | Length (2) | Command (1) |
4991 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
4992
4993 Length is total packet length including this header length. So
4994minimum length is three. Command is Zebra Protocol command.
4995
4996 ZEBRA_INTERFACE_ADD 1
4997 ZEBRA_INTERFACE_DELETE 2
4998 ZEBRA_INTERFACE_ADDRESS_ADD 3
4999 ZEBRA_INTERFACE_ADDRESS_DELETE 4
5000 ZEBRA_INTERFACE_UP 5
5001 ZEBRA_INTERFACE_DOWN 6
5002 ZEBRA_IPV4_ROUTE_ADD 7
5003 ZEBRA_IPV4_ROUTE_DELETE 8
5004 ZEBRA_IPV6_ROUTE_ADD 9
5005 ZEBRA_IPV6_ROUTE_DELETE 10
5006 ZEBRA_REDISTRIBUTE_ADD 11
5007 ZEBRA_REDISTRIBUTE_DELETE 12
5008 ZEBRA_REDISTRIBUTE_DEFAULT_ADD 13
5009 ZEBRA_REDISTRIBUTE_DEFAULT_DELETE 14
5010 ZEBRA_IPV4_NEXTHOP_LOOKUP 15
5011 ZEBRA_IPV6_NEXTHOP_LOOKUP 16
5012
5013 0 1 2 3
5014 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
5015 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
5016 | Type | Flags |
5017 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
5018
5019
5020File: quagga.info, Node: Packet Binary Dump Format, Next: Command Index, Prev: Zebra Protocol, Up: Top
5021
5022Appendix B Packet Binary Dump Format
5023************************************
5024
5025Quagga can dump routing protocol packet into file with a binary format
5026(*note Dump BGP packets and table::).
5027
5028 It seems to be better that we share the MRT's header format for
5029backward compatibility with MRT's dump logs. We should also define the
5030binary format excluding the header, because we must support both IP v4
5031and v6 addresses as socket addresses and / or routing entries.
5032
5033 In the last meeting, we discussed to have a version field in the
5034header. But Masaki told us that we can define new `type' value rather
5035than having a `version' field, and it seems to be better because we
5036don't need to change header format.
5037
5038 Here is the common header format. This is same as that of MRT.
5039
5040 0 1 2 3
5041 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
5042 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
5043 | Time |
5044 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
5045 | Type | Subtype |
5046 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
5047 | Length |
5048 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
5049
5050 If `type' is PROTOCOL_BGP4MP, `subtype' is BGP4MP_STATE_CHANGE, and
5051Address Family == IP (version 4)
5052
5053 0 1 2 3
5054 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
5055 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
5056 | Source AS number | Destination AS number |
5057 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
5058 | Interface Index | Address Family |
5059 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
5060 | Source IP address |
5061 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
5062 | Destination IP address |
5063 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
5064 | Old State | New State |
5065 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
5066
5067 Where State is the value defined in RFC1771.
5068
5069 If `type' is PROTOCOL_BGP4MP, `subtype' is BGP4MP_STATE_CHANGE, and
5070Address Family == IP version 6
5071
5072 0 1 2 3
5073 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
5074 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
5075 | Source AS number | Destination AS number |
5076 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
5077 | Interface Index | Address Family |
5078 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
5079 | Source IP address |
5080 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
5081 | Source IP address (Cont'd) |
5082 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
5083 | Source IP address (Cont'd) |
5084 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
5085 | Source IP address (Cont'd) |
5086 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
5087 | Destination IP address |
5088 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
5089 | Destination IP address (Cont'd) |
5090 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
5091 | Destination IP address (Cont'd) |
5092 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
5093 | Destination IP address (Cont'd) |
5094 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
5095 | Old State | New State |
5096 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
5097
5098 If `type' is PROTOCOL_BGP4MP, `subtype' is BGP4MP_MESSAGE, and
5099Address Family == IP (version 4)
5100
5101 0 1 2 3
5102 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
5103 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
5104 | Source AS number | Destination AS number |
5105 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
5106 | Interface Index | Address Family |
5107 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
5108 | Source IP address |
5109 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
5110 | Destination IP address |
5111 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
5112 | BGP Message Packet |
5113 | |
5114 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
5115
5116 Where BGP Message Packet is the whole contents of the BGP4 message
5117including header portion.
5118
5119 If `type' is PROTOCOL_BGP4MP, `subtype' is BGP4MP_MESSAGE, and
5120Address Family == IP version 6
5121
5122 0 1 2 3
5123 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
5124 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
5125 | Source AS number | Destination AS number |
5126 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
5127 | Interface Index | Address Family |
5128 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
5129 | Source IP address |
5130 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
5131 | Source IP address (Cont'd) |
5132 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
5133 | Source IP address (Cont'd) |
5134 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
5135 | Source IP address (Cont'd) |
5136 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
5137 | Destination IP address |
5138 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
5139 | Destination IP address (Cont'd) |
5140 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
5141 | Destination IP address (Cont'd) |
5142 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
5143 | Destination IP address (Cont'd) |
5144 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
5145 | BGP Message Packet |
5146 | |
5147 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
5148
5149 If `type' is PROTOCOL_BGP4MP, `subtype' is BGP4MP_ENTRY, and Address
5150Family == IP (version 4)
5151
5152 0 1 2 3
5153 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
5154 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
5155 | View # | Status |
5156 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
5157 | Time Last Change |
5158 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
5159 | Address Family | SAFI | Next-Hop-Len |
5160 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
5161 | Next Hop Address |
5162 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
5163 | Prefix Length | Address Prefix [variable] |
5164 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
5165 | Attribute Length |
5166 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
5167 | BGP Attribute [variable length] |
5168 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
5169
5170 If `type' is PROTOCOL_BGP4MP, `subtype' is BGP4MP_ENTRY, and Address
5171Family == IP version 6
5172
5173 0 1 2 3
5174 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
5175 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
5176 | View # | Status |
5177 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
5178 | Time Last Change |
5179 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
5180 | Address Family | SAFI | Next-Hop-Len |
5181 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
5182 | Next Hop Address |
5183 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
5184 | Next Hop Address (Cont'd) |
5185 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
5186 | Next Hop Address (Cont'd) |
5187 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
5188 | Next Hop Address (Cont'd) |
5189 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
5190 | Prefix Length | Address Prefix [variable] |
5191 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
5192 | Address Prefix (cont'd) [variable] |
5193 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
5194 | Attribute Length |
5195 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
5196 | BGP Attribute [variable length] |
5197 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
5198
5199 BGP4 Attribute must not contain MP_UNREACH_NLRI. If BGP Attribute
5200has MP_REACH_NLRI field, it must has zero length NLRI, e.g.,
5201MP_REACH_NLRI has only Address Family, SAFI and next-hop values.
5202
5203 If `type' is PROTOCOL_BGP4MP and `subtype' is BGP4MP_SNAPSHOT,
5204
5205 0 1 2 3
5206 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
5207 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
5208 | View # | File Name [variable] |
5209 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
5210
5211 The file specified in "File Name" contains all routing entries,
5212which are in the format of "subtype == BGP4MP_ENTRY".
5213
5214 Constants:
5215 /* type value */
5216 #define MSG_PROTOCOL_BGP4MP 16
5217 /* subtype value */
5218 #define BGP4MP_STATE_CHANGE 0
5219 #define BGP4MP_MESSAGE 1
5220 #define BGP4MP_ENTRY 2
5221 #define BGP4MP_SNAPSHOT 3
5222
5223
5224File: quagga.info, Node: Command Index, Next: VTY Key Index, Prev: Packet Binary Dump Format, Up: Top
5225
5226Command Index
5227*************
5228
5229�[index�]
5230* Menu:
5231
5232* access-class ACCESS-LIST: Basic Config Commands.
ajsc70257d2005-02-03 17:12:01 +00005233 (line 128)
paul56d1d202004-11-15 21:56:53 +00005234* access-list NAME deny IPV4-NETWORK: IP Access List. (line 8)
5235* access-list NAME permit IPV4-NETWORK: IP Access List. (line 7)
5236* aggregate-address A.B.C.D/M: Route Aggregation. (line 7)
5237* aggregate-address A.B.C.D/M as-set: Route Aggregation. (line 10)
5238* aggregate-address A.B.C.D/M summary-only: Route Aggregation.
5239 (line 14)
5240* area <0-4294967295> authentication: OSPF area. (line 107)
5241* area <0-4294967295> authentication message-digest: OSPF area.
5242 (line 112)
5243* area <0-4294967295> export-list NAME: OSPF area. (line 70)
5244* area <0-4294967295> filter-list prefix NAME in: OSPF area. (line 97)
5245* area <0-4294967295> filter-list prefix NAME out: OSPF area. (line 98)
5246* area <0-4294967295> import-list NAME: OSPF area. (line 89)
5247* area <0-4294967295> range A.B.C.D/M: OSPF area. (line 8)
5248* area <0-4294967295> shortcut: OSPF area. (line 52)
5249* area <0-4294967295> stub: OSPF area. (line 57)
5250* area <0-4294967295> stub no-summary: OSPF area. (line 62)
5251* area <0-4294967295> virtual-link A.B.C.D: OSPF area. (line 47)
5252* area A.B.C.D authentication: OSPF area. (line 106)
5253* area A.B.C.D authentication message-digest: OSPF area. (line 111)
5254* area A.B.C.D default-cost <0-16777215>: OSPF area. (line 66)
5255* area A.B.C.D export-list NAME: OSPF area. (line 69)
5256* area A.B.C.D filter-list prefix NAME in: OSPF area. (line 95)
5257* area A.B.C.D filter-list prefix NAME out: OSPF area. (line 96)
5258* area A.B.C.D import-list NAME: OSPF area. (line 88)
5259* area A.B.C.D range A.B.C.D/M: OSPF area. (line 7)
5260* area A.B.C.D range IPV4_PREFIX not-advertise: OSPF area. (line 26)
5261* area A.B.C.D range IPV4_PREFIX substitute IPV4_PREFIX: OSPF area.
5262 (line 32)
5263* area A.B.C.D shortcut: OSPF area. (line 51)
5264* area A.B.C.D stub: OSPF area. (line 56)
5265* area A.B.C.D stub no-summary: OSPF area. (line 61)
5266* area A.B.C.D virtual-link A.B.C.D: OSPF area. (line 46)
5267* auto-cost refrence-bandwidth <1-4294967>: OSPF router. (line 53)
5268* bandwidth <1-10000000>: Interface Commands. (line 31)
5269* banner motd default: Basic Config Commands.
ajsc70257d2005-02-03 17:12:01 +00005270 (line 110)
paul56d1d202004-11-15 21:56:53 +00005271* bgp cluster-id A.B.C.D: Route Reflector. (line 7)
5272* bgp config-type cisco: Multiple instance. (line 20)
5273* bgp config-type zebra: Multiple instance. (line 49)
5274* bgp multiple-instance: Multiple instance. (line 10)
5275* bgp router-id A.B.C.D: BGP router. (line 22)
5276* call WORD: Commands for configuring a Route Server.
5277 (line 52)
5278* clear ip bgp PEER: More Show IP BGP. (line 25)
5279* clear ip bgp PEER soft in: More Show IP BGP. (line 28)
5280* clear ip prefix-list: Clear counter of ip prefix-list.
5281 (line 7)
5282* clear ip prefix-list NAME: Clear counter of ip prefix-list.
5283 (line 11)
5284* clear ip prefix-list NAME A.B.C.D/M: Clear counter of ip prefix-list.
5285 (line 13)
ajs274a4a42004-12-07 15:39:31 +00005286* configure terminal: Terminal Mode Commands.
5287 (line 13)
paul56d1d202004-11-15 21:56:53 +00005288* debug event: More Show IP BGP. (line 33)
5289* debug keepalive: More Show IP BGP. (line 37)
5290* debug ospf ism: Debugging OSPF. (line 12)
5291* debug ospf ism (status|events|timers): Debugging OSPF. (line 13)
5292* debug ospf lsa: Debugging OSPF. (line 22)
5293* debug ospf lsa (generate|flooding|refresh): Debugging OSPF. (line 23)
5294* debug ospf nsm: Debugging OSPF. (line 17)
5295* debug ospf nsm (status|events|timers): Debugging OSPF. (line 18)
5296* debug ospf packet (hello|dd|ls-request|ls-update|ls-ack|all) (send|recv) [detail]: Debugging OSPF.
5297 (line 8)
5298* debug ospf zebra: Debugging OSPF. (line 27)
5299* debug ospf zebra (interface|redistribute): Debugging OSPF. (line 28)
5300* debug rip events: RIP Debug Commands. (line 9)
5301* debug rip packet: RIP Debug Commands. (line 15)
5302* debug rip zebra: RIP Debug Commands. (line 22)
5303* debug ripng events: ripngd Terminal Mode Commands.
5304 (line 11)
5305* debug ripng packet: ripngd Terminal Mode Commands.
5306 (line 13)
5307* debug ripng zebra: ripngd Terminal Mode Commands.
5308 (line 15)
5309* debug update: More Show IP BGP. (line 35)
5310* default-information originate <1>: Redistribute routes to OSPF.
5311 (line 24)
5312* default-information originate: How to Announce RIP route.
5313 (line 51)
5314* default-information originate always: Redistribute routes to OSPF.
5315 (line 30)
5316* default-information originate always metric <0-16777214>: Redistribute routes to OSPF.
5317 (line 32)
5318* default-information originate always metric <0-16777214> metric-type (1|2): Redistribute routes to OSPF.
5319 (line 34)
5320* default-information originate always metric <0-16777214> metric-type (1|2) route-map WORD: Redistribute routes to OSPF.
5321 (line 36)
5322* default-information originate metric <0-16777214>: Redistribute routes to OSPF.
5323 (line 25)
5324* default-information originate metric <0-16777214> metric-type (1|2): Redistribute routes to OSPF.
5325 (line 27)
5326* default-information originate metric <0-16777214> metric-type (1|2) route-map WORD: Redistribute routes to OSPF.
5327 (line 29)
5328* default-metric <0-16777214>: Redistribute routes to OSPF.
5329 (line 44)
5330* default-metric <1-16>: RIP Metric Manipulation.
5331 (line 11)
5332* description DESCRIPTION ...: Interface Commands. (line 24)
5333* distance <1-255> <1>: Redistribute routes to OSPF.
5334 (line 47)
5335* distance <1-255>: RIP distance. (line 9)
5336* distance <1-255> A.B.C.D/M <1>: BGP distance. (line 12)
5337* distance <1-255> A.B.C.D/M: RIP distance. (line 13)
5338* distance <1-255> A.B.C.D/M ACCESS-LIST: RIP distance. (line 18)
5339* distance <1-255> A.B.C.D/M WORD: BGP distance. (line 13)
5340* distance bgp <1-255> <1-255> <1-255>: BGP distance. (line 7)
5341* distance ospf (intra-area|inter-area|external) <1-255>: Redistribute routes to OSPF.
5342 (line 51)
5343* distribute-list ACCESS_LIST (in|out) IFNAME: ripngd Filtering Commands.
5344 (line 7)
5345* distribute-list ACCESS_LIST DIRECT IFNAME: Filtering RIP Routes.
5346 (line 9)
5347* distribute-list NAME out (kernel|connected|static|rip|ospf: Redistribute routes to OSPF.
5348 (line 40)
5349* distribute-list prefix PREFIX_LIST (in|out) IFNAME: Filtering RIP Routes.
5350 (line 32)
5351* dump bgp all PATH: Dump BGP packets and table.
5352 (line 7)
5353* dump bgp all PATH INTERVAL: Dump BGP packets and table.
5354 (line 8)
5355* dump bgp routes PATH: Dump BGP packets and table.
5356 (line 15)
5357* dump bgp updates PATH: Dump BGP packets and table.
5358 (line 11)
5359* dump bgp updates PATH INTERVAL: Dump BGP packets and table.
5360 (line 12)
5361* enable password PASSWORD: Basic Config Commands.
5362 (line 14)
5363* exec-timeout MINUTE: Basic Config Commands.
ajsc70257d2005-02-03 17:12:01 +00005364 (line 116)
paul56d1d202004-11-15 21:56:53 +00005365* exec-timeout MINUTE SECOND: Basic Config Commands.
ajsc70257d2005-02-03 17:12:01 +00005366 (line 117)
paul56d1d202004-11-15 21:56:53 +00005367* flush_timer TIME: ripngd Configuration.
5368 (line 12)
5369* hostname HOSTNAME: Basic Config Commands.
5370 (line 7)
5371* interface IFNAME: Interface Commands. (line 7)
5372* interface IFNAME area AREA: OSPF6 router. (line 12)
5373* ip address ADDRESS/PREFIX: Interface Commands. (line 13)
5374* ip address ADDRESS/PREFIX secondary: Interface Commands. (line 19)
5375* ip as-path access-list WORD {permit|deny} LINE: AS Path Access List.
5376 (line 9)
5377* ip community-list <1-99> {permit|deny} COMMUNITY: Numbered BGP Community Lists.
5378 (line 14)
5379* ip community-list <100-199> {permit|deny} COMMUNITY: Numbered BGP Community Lists.
5380 (line 20)
5381* ip community-list expanded NAME {permit|deny} LINE: BGP Community Lists.
5382 (line 30)
5383* ip community-list NAME {permit|deny} COMMUNITY: Numbered BGP Community Lists.
5384 (line 25)
5385* ip community-list standard NAME {permit|deny} COMMUNITY: BGP Community Lists.
5386 (line 20)
5387* ip extcommunity-list expanded NAME {permit|deny} LINE: BGP Extended Community Lists.
5388 (line 21)
5389* ip extcommunity-list standard NAME {permit|deny} EXTCOMMUNITY: BGP Extended Community Lists.
5390 (line 10)
5391* ip ospf authentication-key AUTH_KEY: OSPF interface. (line 7)
5392* ip ospf cost <1-65535>: OSPF interface. (line 30)
5393* ip ospf dead-interval <1-65535>: OSPF interface. (line 35)
5394* ip ospf hello-interval <1-65535>: OSPF interface. (line 42)
5395* ip ospf message-digest-key KEYID md5 KEY: OSPF interface. (line 13)
5396* ip ospf network (broadcast|non-broadcast|point-to-multipoint|point-to-point): OSPF interface.
5397 (line 50)
5398* ip ospf priority <0-255>: OSPF interface. (line 54)
5399* ip ospf retransmit-interval <1-65535>: OSPF interface. (line 61)
5400* ip ospf transmit-delay: OSPF interface. (line 67)
5401* ip prefix-list NAME (permit|deny) PREFIX [le LEN] [ge LEN]: IP Prefix List.
5402 (line 16)
5403* ip prefix-list NAME description DESC: ip prefix-list description.
5404 (line 7)
5405* ip prefix-list NAME seq NUMBER (permit|deny) PREFIX [le LEN] [ge LEN]: IP Prefix List.
5406 (line 18)
5407* ip prefix-list sequence-number: ip prefix-list sequential number control.
5408 (line 7)
5409* ip rip authentication key-chain KEY-CHAIN: RIP Authentication.
5410 (line 21)
5411* ip rip authentication mode md5: RIP Authentication. (line 7)
5412* ip rip authentication mode text: RIP Authentication. (line 11)
5413* ip rip authentication string STRING: RIP Authentication. (line 15)
5414* ip rip receive version VERSION: RIP Configuration. (line 90)
5415* ip rip send version VERSION: RIP Configuration. (line 81)
5416* ip route NETWORK GATEWAY: Static Route Commands.
5417 (line 10)
5418* ip route NETWORK GATEWAY DISTANCE: Static Route Commands.
5419 (line 36)
5420* ip route NETWORK NETMASK GATEWAY: Static Route Commands.
5421 (line 25)
5422* ip split-horizon: RIP Configuration. (line 99)
5423* ip6 address ADDRESS/PREFIX: Interface Commands. (line 14)
paulbbd938e2005-04-02 10:18:42 +00005424* ipv6 nd adv-interval-option: Router Advertisement.
5425 (line 127)
5426* ipv6 nd home-agent-config-flag: Router Advertisement.
5427 (line 104)
5428* ipv6 nd home-agent-lifetime: Router Advertisement.
5429 (line 119)
5430* ipv6 nd home-agent-preference: Router Advertisement.
5431 (line 112)
paul56d1d202004-11-15 21:56:53 +00005432* ipv6 nd managed-config-flag: Router Advertisement.
paulbbd938e2005-04-02 10:18:42 +00005433 (line 87)
paul56d1d202004-11-15 21:56:53 +00005434* ipv6 nd other-config-flag: Router Advertisement.
paulbbd938e2005-04-02 10:18:42 +00005435 (line 96)
5436* ipv6 nd prefix IPV6PREFIX [VALID-LIFETIME] [PREFERRED-LIFETIME] [off-link] [no-autoconfig] [router-address]: Router Advertisement.
paul56d1d202004-11-15 21:56:53 +00005437 (line 14)
paulbbd938e2005-04-02 10:18:42 +00005438* ipv6 nd ra-interval msec MILLISECONDS: Router Advertisement.
5439 (line 57)
paul56d1d202004-11-15 21:56:53 +00005440* ipv6 nd ra-interval SECONDS: Router Advertisement.
paulbbd938e2005-04-02 10:18:42 +00005441 (line 49)
paul56d1d202004-11-15 21:56:53 +00005442* ipv6 nd ra-lifetime SECONDS: Router Advertisement.
paulbbd938e2005-04-02 10:18:42 +00005443 (line 65)
paul56d1d202004-11-15 21:56:53 +00005444* ipv6 nd reachable-time MILLISECONDS: Router Advertisement.
paulbbd938e2005-04-02 10:18:42 +00005445 (line 77)
paul56d1d202004-11-15 21:56:53 +00005446* ipv6 nd suppress-ra: Router Advertisement.
5447 (line 10)
5448* ipv6 ospf6 cost COST: OSPF6 interface. (line 7)
5449* ipv6 ospf6 dead-interval DEADINTERVAL: OSPF6 interface. (line 13)
5450* ipv6 ospf6 hello-interval HELLOINTERVAL: OSPF6 interface. (line 10)
5451* ipv6 ospf6 priority PRIORITY: OSPF6 interface. (line 20)
5452* ipv6 ospf6 retransmit-interval RETRANSMITINTERVAL: OSPF6 interface.
5453 (line 17)
5454* ipv6 ospf6 transmit-delay TRANSMITDELAY: OSPF6 interface. (line 23)
5455* ipv6 route NETWORK GATEWAY: Static Route Commands.
5456 (line 77)
5457* ipv6 route NETWORK GATEWAY DISTANCE: Static Route Commands.
5458 (line 78)
5459* line vty: Basic Config Commands.
ajsc70257d2005-02-03 17:12:01 +00005460 (line 107)
paul56d1d202004-11-15 21:56:53 +00005461* link-detect: Interface Commands. (line 37)
ajs274a4a42004-12-07 15:39:31 +00005462* list: Terminal Mode Commands.
5463 (line 24)
5464* log facility FACILITY: Basic Config Commands.
ajsc70257d2005-02-03 17:12:01 +00005465 (line 81)
paul56d1d202004-11-15 21:56:53 +00005466* log file FILENAME: Basic Config Commands.
ajs274a4a42004-12-07 15:39:31 +00005467 (line 41)
5468* log file FILENAME LEVEL: Basic Config Commands.
5469 (line 42)
5470* log monitor: Basic Config Commands.
ajsc70257d2005-02-03 17:12:01 +00005471 (line 68)
ajs274a4a42004-12-07 15:39:31 +00005472* log monitor LEVEL: Basic Config Commands.
ajsc70257d2005-02-03 17:12:01 +00005473 (line 69)
ajs274a4a42004-12-07 15:39:31 +00005474* log record-priority: Basic Config Commands.
ajsc70257d2005-02-03 17:12:01 +00005475 (line 87)
paul56d1d202004-11-15 21:56:53 +00005476* log stdout: Basic Config Commands.
ajs274a4a42004-12-07 15:39:31 +00005477 (line 28)
5478* log stdout LEVEL: Basic Config Commands.
5479 (line 29)
paul56d1d202004-11-15 21:56:53 +00005480* log syslog: Basic Config Commands.
ajsc70257d2005-02-03 17:12:01 +00005481 (line 59)
ajs274a4a42004-12-07 15:39:31 +00005482* log syslog LEVEL: Basic Config Commands.
ajsc70257d2005-02-03 17:12:01 +00005483 (line 60)
ajs274a4a42004-12-07 15:39:31 +00005484* log trap LEVEL: Basic Config Commands.
5485 (line 17)
5486* logmsg LEVEL MESSAGE: Terminal Mode Commands.
5487 (line 34)
paul56d1d202004-11-15 21:56:53 +00005488* match as-path WORD: Using AS Path in Route Map.
5489 (line 7)
5490* match aspath AS_PATH: Route Map Match Command.
5491 (line 13)
5492* match community COMMUNITY_LIST: Route Map Match Command.
5493 (line 19)
5494* match community WORD: BGP Community in Route Map.
5495 (line 13)
5496* match community WORD exact-match: BGP Community in Route Map.
5497 (line 14)
5498* match extcommunity WORD: BGP Extended Communities in Route Map.
5499 (line 7)
5500* match interface WORD: RIP route-map. (line 26)
5501* match ip address ACCESS_LIST: Route Map Match Command.
5502 (line 7)
5503* match ip address prefix-list WORD: RIP route-map. (line 39)
5504* match ip address WORD: RIP route-map. (line 38)
5505* match ip next-hop A.B.C.D: RIP route-map. (line 42)
5506* match ip next-hop IPV4_ADDR: Route Map Match Command.
5507 (line 10)
5508* match metric <0-4294967295>: RIP route-map. (line 47)
5509* match metric METRIC: Route Map Match Command.
5510 (line 16)
5511* match peer {A.B.C.D|X:X::X:X}: Commands for configuring a Route Server.
5512 (line 34)
5513* multicast: Interface Commands. (line 27)
5514* neigbor {A.B.C.D|X.X::X.X|peer-group} route-map WORD {import|export}: Commands for configuring a Route Server.
5515 (line 29)
5516* neighbor A.B.C.D: RIP Configuration. (line 45)
5517* neighbor A.B.C.D route-server-client: Commands for configuring a Route Server.
5518 (line 11)
5519* neighbor PEER default-originate: BGP Peer commands. (line 47)
5520* neighbor PEER description ...: BGP Peer commands. (line 20)
5521* neighbor PEER distribute-list NAME [in|out]: Peer filtering.
5522 (line 7)
5523* neighbor PEER dont-capability-negotiate: Capability Negotiation.
5524 (line 49)
5525* neighbor PEER ebgp-multihop: BGP Peer commands. (line 17)
5526* neighbor PEER filter-list NAME [in|out]: Peer filtering. (line 13)
5527* neighbor PEER interface IFNAME: BGP Peer commands. (line 33)
5528* neighbor PEER maximum-prefix NUMBER: BGP Peer commands. (line 64)
5529* neighbor PEER next-hop-self: BGP Peer commands. (line 39)
5530* neighbor PEER override-capability: Capability Negotiation.
5531 (line 65)
5532* neighbor PEER peer-group WORD: BGP Peer Group. (line 10)
5533* neighbor PEER port PORT: BGP Peer commands. (line 53)
5534* neighbor PEER prefix-list NAME [in|out]: Peer filtering. (line 11)
5535* neighbor PEER remote-as ASN: Defining Peer. (line 7)
5536* neighbor PEER route-map NAME [in|out]: Peer filtering. (line 15)
5537* neighbor PEER route-reflector-client: Route Reflector. (line 9)
5538* neighbor PEER send-community: BGP Peer commands. (line 56)
5539* neighbor PEER shutdown: BGP Peer commands. (line 10)
5540* neighbor PEER strict-capability-match: Capability Negotiation.
5541 (line 38)
5542* neighbor PEER update-source: BGP Peer commands. (line 44)
5543* neighbor PEER version VERSION: BGP Peer commands. (line 24)
5544* neighbor PEER weight WEIGHT: BGP Peer commands. (line 59)
5545* neighbor PEER-GROUP route-server-client: Commands for configuring a Route Server.
5546 (line 10)
5547* neighbor WORD peer-group: BGP Peer Group. (line 7)
5548* neighbor X:X::X:X route-server-client: Commands for configuring a Route Server.
5549 (line 12)
5550* network A.B.C.D/M: BGP route. (line 7)
5551* network A.B.C.D/M area <0-4294967295>: OSPF router. (line 57)
5552* network A.B.C.D/M area A.B.C.D: OSPF router. (line 56)
5553* network IFNAME <1>: ripngd Configuration.
5554 (line 18)
5555* network IFNAME: RIP Configuration. (line 38)
5556* network NETWORK <1>: ripngd Configuration.
5557 (line 15)
5558* network NETWORK: RIP Configuration. (line 26)
5559* no aggregate-address A.B.C.D/M: Route Aggregation. (line 18)
5560* no area <0-4294967295> authentication: OSPF area. (line 109)
5561* no area <0-4294967295> export-list NAME: OSPF area. (line 72)
5562* no area <0-4294967295> filter-list prefix NAME in: OSPF area.
5563 (line 101)
5564* no area <0-4294967295> filter-list prefix NAME out: OSPF area.
5565 (line 102)
5566* no area <0-4294967295> import-list NAME: OSPF area. (line 91)
5567* no area <0-4294967295> range A.B.C.D/M: OSPF area. (line 10)
5568* no area <0-4294967295> shortcut: OSPF area. (line 54)
5569* no area <0-4294967295> stub: OSPF area. (line 59)
5570* no area <0-4294967295> stub no-summary: OSPF area. (line 64)
5571* no area <0-4294967295> virtual-link A.B.C.D: OSPF area. (line 49)
5572* no area A.B.C.D authentication: OSPF area. (line 108)
5573* no area A.B.C.D default-cost <0-16777215>: OSPF area. (line 67)
5574* no area A.B.C.D export-list NAME: OSPF area. (line 71)
5575* no area A.B.C.D filter-list prefix NAME in: OSPF area. (line 99)
5576* no area A.B.C.D filter-list prefix NAME out: OSPF area. (line 100)
5577* no area A.B.C.D import-list NAME: OSPF area. (line 90)
5578* no area A.B.C.D range A.B.C.D/M: OSPF area. (line 9)
5579* no area A.B.C.D range IPV4_PREFIX not-advertise: OSPF area. (line 27)
5580* no area A.B.C.D range IPV4_PREFIX substitute IPV4_PREFIX: OSPF area.
5581 (line 34)
5582* no area A.B.C.D shortcut: OSPF area. (line 53)
5583* no area A.B.C.D stub: OSPF area. (line 58)
5584* no area A.B.C.D stub no-summary: OSPF area. (line 63)
5585* no area A.B.C.D virtual-link A.B.C.D: OSPF area. (line 48)
5586* no auto-cost refrence-bandwidth: OSPF router. (line 54)
5587* no bandwidth <1-10000000>: Interface Commands. (line 32)
5588* no banner motd: Basic Config Commands.
ajsc70257d2005-02-03 17:12:01 +00005589 (line 113)
paul56d1d202004-11-15 21:56:53 +00005590* no bgp multiple-instance: Multiple instance. (line 14)
5591* no debug event: More Show IP BGP. (line 39)
5592* no debug keepalive: More Show IP BGP. (line 43)
5593* no debug ospf ism: Debugging OSPF. (line 14)
5594* no debug ospf ism (status|events|timers): Debugging OSPF. (line 15)
5595* no debug ospf lsa: Debugging OSPF. (line 24)
5596* no debug ospf lsa (generate|flooding|refresh): Debugging OSPF.
5597 (line 25)
5598* no debug ospf nsm: Debugging OSPF. (line 19)
5599* no debug ospf nsm (status|events|timers): Debugging OSPF. (line 20)
5600* no debug ospf packet (hello|dd|ls-request|ls-update|ls-ack|all) (send|recv) [detail]: Debugging OSPF.
5601 (line 10)
5602* no debug ospf zebra: Debugging OSPF. (line 29)
5603* no debug ospf zebra (interface|redistribute): Debugging OSPF.
5604 (line 30)
5605* no debug update: More Show IP BGP. (line 41)
5606* no default-information originate: Redistribute routes to OSPF.
5607 (line 37)
5608* no default-metric: Redistribute routes to OSPF.
5609 (line 45)
5610* no default-metric <1-16>: RIP Metric Manipulation.
5611 (line 12)
5612* no distance <1-255> <1>: Redistribute routes to OSPF.
5613 (line 48)
5614* no distance <1-255>: RIP distance. (line 10)
5615* no distance <1-255> A.B.C.D/M: RIP distance. (line 14)
5616* no distance <1-255> A.B.C.D/M ACCESS-LIST: RIP distance. (line 19)
5617* no distance ospf: Redistribute routes to OSPF.
5618 (line 52)
5619* no distribute-list NAME out (kernel|connected|static|rip|ospf: Redistribute routes to OSPF.
5620 (line 42)
5621* no exec-timeout: Basic Config Commands.
ajsc70257d2005-02-03 17:12:01 +00005622 (line 124)
paul56d1d202004-11-15 21:56:53 +00005623* no ip address ADDRESS/PREFIX: Interface Commands. (line 15)
5624* no ip address ADDRESS/PREFIX secondary: Interface Commands. (line 20)
5625* no ip as-path access-list WORD: AS Path Access List. (line 12)
5626* no ip as-path access-list WORD {permit|deny} LINE: AS Path Access List.
5627 (line 13)
5628* no ip community-list expanded NAME: BGP Community Lists. (line 37)
5629* no ip community-list NAME: BGP Community Lists. (line 35)
5630* no ip community-list standard NAME: BGP Community Lists. (line 36)
5631* no ip extcommunity-list expanded NAME: BGP Extended Community Lists.
5632 (line 29)
5633* no ip extcommunity-list NAME: BGP Extended Community Lists.
5634 (line 27)
5635* no ip extcommunity-list standard NAME: BGP Extended Community Lists.
5636 (line 28)
5637* no ip ospf authentication-key: OSPF interface. (line 8)
5638* no ip ospf cost: OSPF interface. (line 31)
5639* no ip ospf dead-interval: OSPF interface. (line 36)
5640* no ip ospf hello-interval: OSPF interface. (line 43)
5641* no ip ospf message-digest-key: OSPF interface. (line 14)
5642* no ip ospf network: OSPF interface. (line 51)
5643* no ip ospf priority: OSPF interface. (line 55)
5644* no ip ospf retransmit interval: OSPF interface. (line 62)
5645* no ip ospf transmit-delay: OSPF interface. (line 68)
5646* no ip prefix-list NAME: IP Prefix List. (line 67)
5647* no ip prefix-list NAME description [DESC]: ip prefix-list description.
5648 (line 11)
5649* no ip prefix-list sequence-number: ip prefix-list sequential number control.
5650 (line 11)
5651* no ip rip authentication key-chain KEY-CHAIN: RIP Authentication.
5652 (line 22)
5653* no ip rip authentication mode md5: RIP Authentication. (line 8)
5654* no ip rip authentication mode text: RIP Authentication. (line 12)
5655* no ip rip authentication string STRING: RIP Authentication. (line 16)
5656* no ip split-horizon: RIP Configuration. (line 100)
5657* no ip6 address ADDRESS/PREFIX: Interface Commands. (line 16)
paulbbd938e2005-04-02 10:18:42 +00005658* no ipv6 nd adv-interval-option: Router Advertisement.
5659 (line 128)
5660* no ipv6 nd home-agent-config-flag: Router Advertisement.
5661 (line 105)
5662* no ipv6 nd home-agent-lifetime: Router Advertisement.
5663 (line 120)
5664* no ipv6 nd home-agent-preference: Router Advertisement.
5665 (line 113)
paul56d1d202004-11-15 21:56:53 +00005666* no ipv6 nd managed-config-flag: Router Advertisement.
paulbbd938e2005-04-02 10:18:42 +00005667 (line 88)
paul56d1d202004-11-15 21:56:53 +00005668* no ipv6 nd other-config-flag: Router Advertisement.
paulbbd938e2005-04-02 10:18:42 +00005669 (line 97)
paul56d1d202004-11-15 21:56:53 +00005670* no ipv6 nd ra-interval: Router Advertisement.
paulbbd938e2005-04-02 10:18:42 +00005671 (line 50)
5672* no ipv6 nd ra-interval msec: Router Advertisement.
5673 (line 58)
paul56d1d202004-11-15 21:56:53 +00005674* no ipv6 nd ra-lifetime: Router Advertisement.
paulbbd938e2005-04-02 10:18:42 +00005675 (line 66)
paul56d1d202004-11-15 21:56:53 +00005676* no ipv6 nd reachable-time: Router Advertisement.
paulbbd938e2005-04-02 10:18:42 +00005677 (line 78)
paul56d1d202004-11-15 21:56:53 +00005678* no ipv6 nd suppress-ra: Router Advertisement.
5679 (line 7)
5680* no link-detect: Interface Commands. (line 38)
ajs274a4a42004-12-07 15:39:31 +00005681* no log facility: Basic Config Commands.
ajsc70257d2005-02-03 17:12:01 +00005682 (line 82)
ajs274a4a42004-12-07 15:39:31 +00005683* no log file: Basic Config Commands.
5684 (line 43)
5685* no log monitor: Basic Config Commands.
ajsc70257d2005-02-03 17:12:01 +00005686 (line 70)
ajs274a4a42004-12-07 15:39:31 +00005687* no log record-priority: Basic Config Commands.
ajsc70257d2005-02-03 17:12:01 +00005688 (line 88)
paul56d1d202004-11-15 21:56:53 +00005689* no log stdout: Basic Config Commands.
ajs274a4a42004-12-07 15:39:31 +00005690 (line 30)
paul56d1d202004-11-15 21:56:53 +00005691* no log syslog: Basic Config Commands.
ajsc70257d2005-02-03 17:12:01 +00005692 (line 61)
ajs274a4a42004-12-07 15:39:31 +00005693* no log trap: Basic Config Commands.
5694 (line 18)
paul56d1d202004-11-15 21:56:53 +00005695* no multicast: Interface Commands. (line 28)
5696* no neighbor A.B.C.D: RIP Configuration. (line 46)
5697* no neighbor PEER default-originate: BGP Peer commands. (line 48)
5698* no neighbor PEER description ...: BGP Peer commands. (line 21)
5699* no neighbor PEER dont-capability-negotiate: Capability Negotiation.
5700 (line 50)
5701* no neighbor PEER ebgp-multihop: BGP Peer commands. (line 18)
5702* no neighbor PEER interface IFNAME: BGP Peer commands. (line 34)
5703* no neighbor PEER maximum-prefix NUMBER: BGP Peer commands. (line 65)
5704* no neighbor PEER next-hop-self: BGP Peer commands. (line 40)
5705* no neighbor PEER override-capability: Capability Negotiation.
5706 (line 66)
5707* no neighbor PEER route-reflector-client: Route Reflector. (line 10)
5708* no neighbor PEER shutdown: BGP Peer commands. (line 11)
5709* no neighbor PEER strict-capability-match: Capability Negotiation.
5710 (line 39)
5711* no neighbor PEER update-source: BGP Peer commands. (line 45)
5712* no neighbor PEER weight WEIGHT: BGP Peer commands. (line 60)
5713* no network A.B.C.D/M: BGP route. (line 17)
5714* no network A.B.C.D/M area <0-4294967295>: OSPF router. (line 59)
5715* no network A.B.C.D/M area A.B.C.D: OSPF router. (line 58)
5716* no network IFNAME: RIP Configuration. (line 39)
5717* no network NETWORK: RIP Configuration. (line 27)
5718* no ospf abr-type TYPE: OSPF router. (line 20)
5719* no ospf rfc1583compatibility: OSPF router. (line 35)
5720* no ospf router-id: OSPF router. (line 17)
5721* no passive interface INTERFACE: OSPF router. (line 44)
5722* no passive-interface IFNAME: RIP Configuration. (line 69)
5723* no redistribute (kernel|connected|static|rip|bgp): Redistribute routes to OSPF.
5724 (line 22)
5725* no redistribute bgp: How to Announce RIP route.
5726 (line 44)
5727* no redistribute connected: How to Announce RIP route.
5728 (line 26)
5729* no redistribute kernel: How to Announce RIP route.
5730 (line 10)
5731* no redistribute ospf: How to Announce RIP route.
5732 (line 36)
5733* no redistribute static: How to Announce RIP route.
5734 (line 18)
5735* no route A.B.C.D/M: How to Announce RIP route.
5736 (line 54)
5737* no router bgp ASN: BGP router. (line 19)
5738* no router ospf: OSPF router. (line 11)
5739* no router rip: RIP Configuration. (line 12)
5740* no router zebra: Redistribute routes to OSPF.
5741 (line 55)
5742* no shutdown: Interface Commands. (line 10)
5743* no smux peer OID: MIB and command reference.
5744 (line 29)
5745* no smux peer OID PASSWORD: MIB and command reference.
5746 (line 32)
5747* no timers basic: RIP Timers. (line 31)
5748* no timers spf: OSPF router. (line 47)
5749* offset-list ACCESS-LIST (in|out): RIP Metric Manipulation.
5750 (line 20)
5751* offset-list ACCESS-LIST (in|out) IFNAME: RIP Metric Manipulation.
5752 (line 21)
5753* ospf abr-type TYPE: OSPF router. (line 19)
5754* ospf rfc1583compatibility: OSPF router. (line 34)
5755* ospf router-id A.B.C.D: OSPF router. (line 16)
5756* passive interface INTERFACE: OSPF router. (line 43)
5757* passive-interface (IFNAME|default): RIP Configuration. (line 68)
5758* password PASSWORD: Basic Config Commands.
5759 (line 10)
5760* redistribute (kernel|connected|static|rip|bgp): Redistribute routes to OSPF.
5761 (line 7)
5762* redistribute (kernel|connected|static|rip|bgp) metric <0-16777214>: Redistribute routes to OSPF.
5763 (line 15)
5764* redistribute (kernel|connected|static|rip|bgp) metric <0-16777214> route-map WORD: Redistribute routes to OSPF.
5765 (line 17)
5766* redistribute (kernel|connected|static|rip|bgp) metric-type (1|2): Redistribute routes to OSPF.
5767 (line 11)
5768* redistribute (kernel|connected|static|rip|bgp) metric-type (1|2) metric <0-16777214>: Redistribute routes to OSPF.
5769 (line 19)
5770* redistribute (kernel|connected|static|rip|bgp) metric-type (1|2) metric <0-16777214> route-map WORD: Redistribute routes to OSPF.
5771 (line 21)
5772* redistribute (kernel|connected|static|rip|bgp) metric-type (1|2) route-map WORD: Redistribute routes to OSPF.
5773 (line 13)
5774* redistribute (kernel|connected|static|rip|bgp) ROUTE-MAP: Redistribute routes to OSPF.
5775 (line 9)
5776* redistribute bgp: How to Announce RIP route.
5777 (line 41)
5778* redistribute bgp metric <0-16>: How to Announce RIP route.
5779 (line 42)
5780* redistribute bgp route-map ROUTE-MAP: How to Announce RIP route.
5781 (line 43)
5782* redistribute connected <1>: Redistribute to BGP. (line 13)
5783* redistribute connected <2>: Redistribute routes to OSPF6.
5784 (line 8)
5785* redistribute connected: How to Announce RIP route.
5786 (line 23)
5787* redistribute connected metric <0-16>: How to Announce RIP route.
5788 (line 24)
5789* redistribute connected route-map ROUTE-MAP: How to Announce RIP route.
5790 (line 25)
5791* redistribute kernel <1>: Redistribute to BGP. (line 7)
5792* redistribute kernel: How to Announce RIP route.
5793 (line 7)
5794* redistribute kernel metric <0-16>: How to Announce RIP route.
5795 (line 8)
5796* redistribute kernel route-map ROUTE-MAP: How to Announce RIP route.
5797 (line 9)
5798* redistribute ospf <1>: Redistribute to BGP. (line 19)
5799* redistribute ospf: How to Announce RIP route.
5800 (line 33)
5801* redistribute ospf metric <0-16>: How to Announce RIP route.
5802 (line 34)
5803* redistribute ospf route-map ROUTE-MAP: How to Announce RIP route.
5804 (line 35)
5805* redistribute rip: Redistribute to BGP. (line 16)
5806* redistribute ripng: Redistribute routes to OSPF6.
5807 (line 9)
5808* redistribute static <1>: Redistribute to BGP. (line 10)
5809* redistribute static <2>: Redistribute routes to OSPF6.
5810 (line 7)
5811* redistribute static: How to Announce RIP route.
5812 (line 15)
5813* redistribute static metric <0-16>: How to Announce RIP route.
5814 (line 16)
5815* redistribute static route-map ROUTE-MAP: How to Announce RIP route.
5816 (line 17)
5817* refresh age-diff <0-10000>: OSPF router. (line 51)
5818* refresh group-limit <0-10000>: OSPF router. (line 49)
5819* refresh per-slice <0-10000>: OSPF router. (line 50)
5820* route A.B.C.D/M: How to Announce RIP route.
5821 (line 53)
5822* route NETWORK: ripngd Configuration.
5823 (line 21)
5824* route-map ROUTE-MAP-NAME permit PRIORITY: Route Map Command.
5825 (line 7)
5826* router bgp AS-NUMBER: BGP instance and view.
5827 (line 11)
5828* router bgp AS-NUMBER view NAME: BGP instance and view.
5829 (line 28)
5830* router bgp ASN: BGP router. (line 13)
5831* router ospf: OSPF router. (line 10)
5832* router ospf6: OSPF6 router. (line 7)
5833* router rip: RIP Configuration. (line 7)
5834* router ripng: ripngd Configuration.
5835 (line 9)
5836* router zebra <1>: Redistribute routes to OSPF.
5837 (line 54)
5838* router zebra: ripngd Configuration.
5839 (line 24)
5840* router-id A.B.C.D: OSPF6 router. (line 9)
5841* service advanced-vty: Basic Config Commands.
ajsc70257d2005-02-03 17:12:01 +00005842 (line 100)
paul56d1d202004-11-15 21:56:53 +00005843* service integrated-vtysh-config: VTY shell integrated configuration.
5844 (line 7)
5845* service password-encryption: Basic Config Commands.
ajsc70257d2005-02-03 17:12:01 +00005846 (line 97)
paul56d1d202004-11-15 21:56:53 +00005847* service terminal-length <0-512>: Basic Config Commands.
ajsc70257d2005-02-03 17:12:01 +00005848 (line 103)
paul56d1d202004-11-15 21:56:53 +00005849* set as-path prepend AS-PATH: Using AS Path in Route Map.
5850 (line 9)
5851* set as-path prepend AS_PATH: Route Map Set Command.
5852 (line 19)
5853* set comm-list WORD delete: BGP Community in Route Map.
5854 (line 34)
5855* set community COMMUNITY <1>: Route Map Set Command.
5856 (line 22)
5857* set community COMMUNITY: BGP Community in Route Map.
5858 (line 23)
5859* set community COMMUNITY additive: BGP Community in Route Map.
5860 (line 24)
5861* set community none: BGP Community in Route Map.
5862 (line 22)
5863* set extcommunity rt EXTCOMMUNITY: BGP Extended Communities in Route Map.
5864 (line 9)
5865* set extcommunity soo EXTCOMMUNITY: BGP Extended Communities in Route Map.
5866 (line 12)
5867* set ip next-hop A.B.C.D: RIP route-map. (line 52)
5868* set ip next-hop IPV4_ADDRESS: Route Map Set Command.
5869 (line 7)
5870* set ipv6 next-hop global IPV6_ADDRESS: Route Map Set Command.
5871 (line 25)
5872* set ipv6 next-hop local IPV6_ADDRESS: Route Map Set Command.
5873 (line 28)
5874* set local-preference LOCAL_PREF: Route Map Set Command.
5875 (line 10)
5876* set metric <0-4294967295>: RIP route-map. (line 57)
5877* set metric METRIC: Route Map Set Command.
5878 (line 16)
5879* set weight WEIGHT: Route Map Set Command.
5880 (line 13)
5881* show debug: More Show IP BGP. (line 31)
5882* show debugging ospf: Debugging OSPF. (line 32)
5883* show debugging rip: RIP Debug Commands. (line 29)
5884* show debugging ripng: ripngd Terminal Mode Commands.
5885 (line 9)
5886* show interface: zebra Terminal Mode Commands.
5887 (line 21)
5888* show ip bgp: Show IP BGP. (line 7)
5889* show ip bgp A.B.C.D: Show IP BGP. (line 8)
5890* show ip bgp community: Display BGP Routes by Community.
5891 (line 11)
5892* show ip bgp community COMMUNITY <1>: More Show IP BGP. (line 11)
5893* show ip bgp community COMMUNITY: Display BGP Routes by Community.
5894 (line 12)
5895* show ip bgp community COMMUNITY exact-match <1>: More Show IP BGP.
5896 (line 12)
5897* show ip bgp community COMMUNITY exact-match: Display BGP Routes by Community.
5898 (line 13)
5899* show ip bgp community-list WORD <1>: More Show IP BGP. (line 16)
5900* show ip bgp community-list WORD: Display BGP Routes by Community.
5901 (line 20)
5902* show ip bgp community-list WORD exact-match <1>: More Show IP BGP.
5903 (line 17)
5904* show ip bgp community-list WORD exact-match: Display BGP Routes by Community.
5905 (line 21)
5906* show ip bgp neighbor [PEER]: More Show IP BGP. (line 23)
5907* show ip bgp regexp LINE <1>: More Show IP BGP. (line 7)
5908* show ip bgp regexp LINE: Display BGP Routes by AS Path.
5909 (line 10)
5910* show ip bgp summary: More Show IP BGP. (line 21)
5911* show ip bgp view NAME: Viewing the view. (line 9)
5912* show ip bgp X:X::X:X: Show IP BGP. (line 9)
5913* show ip community-list: BGP Community Lists. (line 42)
5914* show ip community-list NAME: BGP Community Lists. (line 43)
5915* show ip extcommunity-list: BGP Extended Community Lists.
5916 (line 35)
5917* show ip extcommunity-list NAME: BGP Extended Community Lists.
5918 (line 36)
5919* show ip ospf: Showing OSPF information.
5920 (line 7)
5921* show ip ospf database: Showing OSPF information.
5922 (line 16)
5923* show ip ospf database (asbr-summary|external|network|router|summary): Showing OSPF information.
5924 (line 19)
5925* show ip ospf database (asbr-summary|external|network|router|summary) adv-router ADV-ROUTER: Showing OSPF information.
5926 (line 26)
5927* show ip ospf database (asbr-summary|external|network|router|summary) LINK-STATE-ID: Showing OSPF information.
5928 (line 21)
5929* show ip ospf database (asbr-summary|external|network|router|summary) LINK-STATE-ID adv-router ADV-ROUTER: Showing OSPF information.
5930 (line 24)
5931* show ip ospf database (asbr-summary|external|network|router|summary) LINK-STATE-ID self-originate: Showing OSPF information.
5932 (line 29)
5933* show ip ospf database (asbr-summary|external|network|router|summary) self-originate: Showing OSPF information.
5934 (line 31)
5935* show ip ospf database max-age: Showing OSPF information.
5936 (line 33)
5937* show ip ospf database self-originate: Showing OSPF information.
5938 (line 35)
5939* show ip ospf interface [INTERFACE]: Showing OSPF information.
5940 (line 9)
5941* show ip ospf neighbor: Showing OSPF information.
5942 (line 11)
5943* show ip ospf neighbor detail: Showing OSPF information.
5944 (line 13)
5945* show ip ospf neighbor INTERFACE: Showing OSPF information.
5946 (line 12)
5947* show ip ospf neighbor INTERFACE detail: Showing OSPF information.
5948 (line 14)
5949* show ip ospf refresher: Showing OSPF information.
5950 (line 37)
5951* show ip ospf route: Showing OSPF information.
5952 (line 39)
5953* show ip prefix-list: Showing ip prefix-list.
5954 (line 7)
5955* show ip prefix-list detail: Showing ip prefix-list.
5956 (line 31)
5957* show ip prefix-list detail NAME: Showing ip prefix-list.
5958 (line 33)
5959* show ip prefix-list NAME: Showing ip prefix-list.
5960 (line 10)
5961* show ip prefix-list NAME A.B.C.D/M: Showing ip prefix-list.
5962 (line 17)
5963* show ip prefix-list NAME A.B.C.D/M first-match: Showing ip prefix-list.
5964 (line 25)
5965* show ip prefix-list NAME A.B.C.D/M longer: Showing ip prefix-list.
5966 (line 23)
5967* show ip prefix-list NAME seq NUM: Showing ip prefix-list.
5968 (line 13)
5969* show ip prefix-list summary: Showing ip prefix-list.
5970 (line 27)
5971* show ip prefix-list summary NAME: Showing ip prefix-list.
5972 (line 29)
5973* show ip protocols: Show RIP Information.
5974 (line 17)
5975* show ip rip: Show RIP Information.
5976 (line 9)
5977* show ip ripng: ripngd Terminal Mode Commands.
5978 (line 7)
5979* show ip route: zebra Terminal Mode Commands.
5980 (line 7)
5981* show ipforward: zebra Terminal Mode Commands.
5982 (line 23)
5983* show ipv6 ospf6 [INSTANCE_ID]: Showing OSPF6 information.
5984 (line 7)
5985* show ipv6 ospf6 database: Showing OSPF6 information.
5986 (line 11)
5987* show ipv6 ospf6 interface: Showing OSPF6 information.
5988 (line 15)
5989* show ipv6 ospf6 neighbor: Showing OSPF6 information.
5990 (line 18)
5991* show ipv6 ospf6 request-list A.B.C.D: Showing OSPF6 information.
5992 (line 21)
5993* show ipv6 route: zebra Terminal Mode Commands.
5994 (line 19)
5995* show ipv6 route ospf6: Showing OSPF6 information.
5996 (line 24)
5997* show ipv6forward: zebra Terminal Mode Commands.
5998 (line 28)
ajs274a4a42004-12-07 15:39:31 +00005999* show logging: Terminal Mode Commands.
6000 (line 30)
6001* show version: Terminal Mode Commands.
6002 (line 27)
paul56d1d202004-11-15 21:56:53 +00006003* shutdown: Interface Commands. (line 9)
6004* smux peer OID: MIB and command reference.
6005 (line 28)
6006* smux peer OID PASSWORD: MIB and command reference.
6007 (line 31)
6008* table TABLENO: Static Route Commands.
6009 (line 81)
ajs274a4a42004-12-07 15:39:31 +00006010* terminal length <0-512>: Terminal Mode Commands.
6011 (line 17)
paul56d1d202004-11-15 21:56:53 +00006012* timers basic UPDATE TIMEOUT GARBAGE: RIP Timers. (line 7)
6013* timers spf <0-4294967295> <0-4294967295>: OSPF router. (line 46)
6014* username USERNAME nopassword: VTY shell username. (line 7)
6015* version VERSION: RIP Configuration. (line 23)
ajs274a4a42004-12-07 15:39:31 +00006016* who: Terminal Mode Commands.
6017 (line 21)
6018* write file: Terminal Mode Commands.
6019 (line 10)
6020* write terminal: Terminal Mode Commands.
6021 (line 7)
paul56d1d202004-11-15 21:56:53 +00006022
6023
6024File: quagga.info, Node: VTY Key Index, Prev: Command Index, Up: Top
6025
6026VTY Key Index
6027*************
6028
6029�[index�]
6030* Menu:
6031
6032* <DEL>: CLI Editing Commands. (line 11)
6033* <DOWN>: CLI Advanced Commands.
6034 (line 17)
6035* <LEFT>: CLI Movement Commands.
6036 (line 15)
6037* <RIGHT>: CLI Movement Commands.
6038 (line 11)
6039* <TAB>: CLI Advanced Commands.
6040 (line 24)
6041* <UP>: CLI Advanced Commands.
6042 (line 21)
6043* ?: CLI Advanced Commands.
6044 (line 27)
6045* C-a: CLI Movement Commands.
6046 (line 24)
6047* C-b: CLI Movement Commands.
6048 (line 15)
6049* C-c: CLI Advanced Commands.
6050 (line 10)
6051* C-d: CLI Editing Commands. (line 14)
6052* C-e: CLI Movement Commands.
6053 (line 27)
6054* C-f: CLI Movement Commands.
6055 (line 11)
6056* C-h: CLI Editing Commands. (line 11)
6057* C-k: CLI Editing Commands. (line 23)
6058* C-n: CLI Advanced Commands.
6059 (line 17)
6060* C-p: CLI Advanced Commands.
6061 (line 21)
6062* C-t: CLI Editing Commands. (line 29)
6063* C-u: CLI Editing Commands. (line 26)
6064* C-w: CLI Editing Commands. (line 20)
6065* C-z: CLI Advanced Commands.
6066 (line 13)
6067* M-b: CLI Movement Commands.
6068 (line 21)
6069* M-d: CLI Editing Commands. (line 17)
6070* M-f: CLI Movement Commands.
6071 (line 18)
6072
6073
6074
6075Tag Table:
paulbbd938e2005-04-02 10:18:42 +00006076Node: Top1890
6077Node: Overview2485
6078Node: About Quagga3886
6079Node: System Architecture6139
6080Node: Supported Platforms8829
6081Node: Supported RFC9970
6082Node: How to get Quagga11934
6083Node: Mailing List12688
6084Node: Bug Reports13135
6085Node: Installation14013
6086Node: Configure the Software14447
6087Node: The Configure script and its options14695
6088Node: Least-Privilege support17883
6089Node: Linux notes19619
6090Ref: Linux notes-Footnote-121477
6091Node: Build the Software21543
6092Node: Install the Software22091
6093Node: Basic commands23551
6094Node: Config Commands24326
6095Node: Basic Config Commands25219
6096Node: Sample Config File30709
6097Node: Terminal Mode Commands31479
6098Node: Common Invocation Options32576
6099Node: Virtual Terminal Interfaces33983
6100Node: VTY Overview34494
6101Node: VTY Modes35745
6102Node: VTY View Mode36195
6103Node: VTY Enable Mode36445
6104Node: VTY Other Modes36723
6105Node: VTY CLI Commands36899
6106Node: CLI Movement Commands37359
6107Node: CLI Editing Commands37882
6108Node: CLI Advanced Commands38470
6109Node: Zebra39236
6110Node: Invoking zebra39745
6111Node: Interface Commands40324
6112Node: Static Route Commands41856
6113Node: zebra Terminal Mode Commands45129
6114Node: RIP46094
6115Node: Starting and Stopping ripd47031
6116Node: RIP netmask48444
6117Node: RIP Configuration49543
6118Node: How to Announce RIP route53808
6119Node: Filtering RIP Routes56371
6120Node: RIP Metric Manipulation57838
6121Node: RIP distance58751
6122Node: RIP route-map59566
6123Node: RIP Authentication62082
6124Node: RIP Timers63189
6125Node: Show RIP Information64475
6126Node: RIP Debug Commands65848
6127Node: RIPng66844
6128Node: Invoking ripngd67164
6129Node: ripngd Configuration67413
6130Node: ripngd Terminal Mode Commands68164
6131Node: ripngd Filtering Commands68528
6132Node: OSPFv269037
6133Node: Configuring ospfd69596
6134Node: OSPF router70064
6135Node: OSPF area73220
6136Node: OSPF interface78402
6137Node: Redistribute routes to OSPF81785
6138Node: Showing OSPF information83948
6139Node: Debugging OSPF85194
6140Node: OSPFv386233
6141Node: OSPF6 router86553
6142Node: OSPF6 area86907
6143Node: OSPF6 interface87085
6144Node: Redistribute routes to OSPF687962
6145Node: Showing OSPF6 information88278
6146Node: BGP89098
6147Node: Starting BGP89988
6148Node: BGP router90565
6149Node: BGP distance91809
6150Node: BGP decision process92247
6151Node: BGP network92517
6152Node: BGP route92707
6153Node: Route Aggregation93263
6154Node: Redistribute to BGP93832
6155Node: BGP Peer94359
6156Node: Defining Peer94546
6157Node: BGP Peer commands95159
6158Node: Peer filtering97563
6159Node: BGP Peer Group98071
6160Node: BGP Address Family98384
6161Node: Autonomous System98538
6162Node: AS Path Regular Expression99375
6163Node: Display BGP Routes by AS Path100622
6164Node: AS Path Access List101062
6165Node: Using AS Path in Route Map101529
6166Node: Private AS Numbers101810
6167Node: BGP Communities Attribute101968
6168Node: BGP Community Lists104435
6169Node: Numbered BGP Community Lists107089
6170Node: BGP Community in Route Map108676
6171Node: Display BGP Routes by Community110619
6172Node: Using BGP Communities Attribute111788
6173Node: BGP Extended Communities Attribute115356
6174Node: BGP Extended Community Lists117128
6175Node: BGP Extended Communities in Route Map119003
6176Node: Displaying BGP routes119462
6177Node: Show IP BGP119699
6178Node: More Show IP BGP120399
6179Node: Capability Negotiation121550
6180Node: Route Reflector124854
6181Node: Route Server125133
6182Node: Multiple instance126199
6183Node: BGP instance and view128010
6184Node: Routing policy129390
6185Node: Viewing the view130158
6186Node: How to set up a 6-Bone connection130443
6187Node: Dump BGP packets and table131815
6188Node: Configuring Quagga as a Route Server132362
6189Node: Description of the Route Server model133323
6190Ref: fig:normal-processing134900
6191Ref: fig:full-mesh135050
6192Ref: fig:route-server135146
6193Ref: filter-delegation135560
6194Ref: Route Server tasks136744
6195Ref: Route-server path filter process137115
6196Ref: fig:rs-processing139429
6197Node: Commands for configuring a Route Server139582
6198Node: Example of Route Server Configuration142609
6199Node: Configuration of the BGP routers without Route Server143530
6200Node: Configuration of the BGP routers with Route Server146413
6201Node: Configuration of the Route Server itself147714
6202Node: Further considerations about Import and Export route-maps152713
6203Node: VTY shell155757
6204Node: VTY shell username156426
6205Node: VTY shell integrated configuration157058
6206Node: Filtering158506
6207Node: IP Access List158859
6208Node: IP Prefix List159245
6209Node: ip prefix-list description162264
6210Node: ip prefix-list sequential number control162791
6211Node: Showing ip prefix-list163333
6212Node: Clear counter of ip prefix-list164441
6213Node: Route Map164880
6214Node: Route Map Command165385
6215Node: Route Map Match Command165582
6216Node: Route Map Set Command166206
6217Node: IPv6 Support167083
6218Node: Router Advertisement167655
6219Node: Kernel Interface173271
6220Node: SNMP Support175228
6221Node: Getting and installing an SNMP agent175800
6222Node: SMUX configuration176373
6223Node: MIB and command reference178509
6224Node: Zebra Protocol179896
6225Node: Packet Binary Dump Format181810
6226Node: Command Index193420
6227Node: VTY Key Index250991
paul56d1d202004-11-15 21:56:53 +00006228
6229End Tag Table