blob: 8acf5dc35637ecda316555d25324a710c57e52ad [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
paulc7959912005-04-10 16:43:40 +00002662 -- BGP: bgp bestpath as-path confed
2663 This command specifies that the length of confederation path sets
2664 and sequences should should be taken into account during the BGP
2665 best path decision process.
2666
paul56d1d202004-11-15 21:56:53 +00002667
2668File: quagga.info, Node: BGP network, Next: BGP Peer, Prev: BGP router, Up: BGP
2669
26709.3 BGP network
2671===============
2672
2673* Menu:
2674
2675* BGP route::
2676* Route Aggregation::
2677* Redistribute to BGP::
2678
2679
2680File: quagga.info, Node: BGP route, Next: Route Aggregation, Up: BGP network
2681
26829.3.1 BGP route
2683---------------
2684
2685 -- BGP: network A.B.C.D/M
2686 This command adds the announcement network.
2687 router bgp 1
2688 network 10.0.0.0/8
2689 This configuration example says that network 10.0.0.0/8 will
2690 be announced to all neighbors. Some vendors' routers don't
2691 advertise routes if they aren't present in their IGP routing
2692 tables; `bgp' doesn't care about IGP routes when announcing its
2693 routes.
2694
2695 -- BGP: no network A.B.C.D/M
2696
2697
2698File: quagga.info, Node: Route Aggregation, Next: Redistribute to BGP, Prev: BGP route, Up: BGP network
2699
27009.3.2 Route Aggregation
2701-----------------------
2702
2703 -- BGP: aggregate-address A.B.C.D/M
2704 This command specifies an aggregate address.
2705
2706 -- BGP: aggregate-address A.B.C.D/M as-set
2707 This command specifies an aggregate address. Resulting routes
2708 inlucde AS set.
2709
2710 -- BGP: aggregate-address A.B.C.D/M summary-only
2711 This command specifies an aggregate address. Aggreated routes will
2712 not be announce.
2713
2714 -- BGP: no aggregate-address A.B.C.D/M
2715
2716
2717File: quagga.info, Node: Redistribute to BGP, Prev: Route Aggregation, Up: BGP network
2718
27199.3.3 Redistribute to BGP
2720-------------------------
2721
2722 -- BGP: redistribute kernel
2723 Redistribute kernel route to BGP process.
2724
2725 -- BGP: redistribute static
2726 Redistribute static route to BGP process.
2727
2728 -- BGP: redistribute connected
2729 Redistribute connected route to BGP process.
2730
2731 -- BGP: redistribute rip
2732 Redistribute RIP route to BGP process.
2733
2734 -- BGP: redistribute ospf
2735 Redistribute OSPF route to BGP process.
2736
2737
2738File: quagga.info, Node: BGP Peer, Next: BGP Peer Group, Prev: BGP network, Up: BGP
2739
27409.4 BGP Peer
2741============
2742
2743* Menu:
2744
2745* Defining Peer::
2746* BGP Peer commands::
2747* Peer filtering::
2748
2749
2750File: quagga.info, Node: Defining Peer, Next: BGP Peer commands, Up: BGP Peer
2751
27529.4.1 Defining Peer
2753-------------------
2754
2755 -- BGP: neighbor PEER remote-as ASN
2756 Creates a new neighbor whose remote-as is ASN. PEER can be an
2757 IPv4 address or an IPv6 address.
2758 router bgp 1
2759 neighbor 10.0.0.1 remote-as 2
2760 In this case my router, in AS-1, is trying to peer with AS-2
2761 at 10.0.0.1.
2762
2763 This command must be the first command used when configuring a
2764 neighbor. If the remote-as is not specified, `bgpd' will complain
2765 like this:
2766 can't find neighbor 10.0.0.1
2767
2768
2769File: quagga.info, Node: BGP Peer commands, Next: Peer filtering, Prev: Defining Peer, Up: BGP Peer
2770
27719.4.2 BGP Peer commands
2772-----------------------
2773
2774In a `router bgp' clause there are neighbor specific configurations
2775required.
2776
2777 -- BGP: neighbor PEER shutdown
2778 -- BGP: no neighbor PEER shutdown
2779 Shutdown the peer. We can delete the neighbor's configuration by
2780 `no neighbor PEER remote-as AS-NUMBER' but all configuration of
2781 the neighbor will be deleted. When you want to preserve the
2782 configuration, but want to drop the BGP peer, use this syntax.
2783
2784 -- BGP: neighbor PEER ebgp-multihop
2785 -- BGP: no neighbor PEER ebgp-multihop
2786
2787 -- BGP: neighbor PEER description ...
2788 -- BGP: no neighbor PEER description ...
2789 Set description of the peer.
2790
2791 -- BGP: neighbor PEER version VERSION
2792 Set up the neighbor's BGP version. VERSION can be 4, 4+ or 4-.
2793 BGP version 4 is the default value used for BGP peering. BGP
2794 version 4+ means that the neighbor supports Multiprotocol
2795 Extensions for BGP-4. BGP version 4- is similar but the neighbor
2796 speaks the old Internet-Draft revision 00's Multiprotocol
2797 Extensions for BGP-4. Some routing software is still using this
2798 version.
2799
2800 -- BGP: neighbor PEER interface IFNAME
2801 -- BGP: no neighbor PEER interface IFNAME
2802 When you connect to a BGP peer over an IPv6 link-local address,
2803 you have to specify the IFNAME of the interface used for the
2804 connection.
2805
2806 -- BGP: neighbor PEER next-hop-self
2807 -- BGP: no neighbor PEER next-hop-self
2808 This command specifies an announced route's nexthop as being
2809 equivalent to the address of the bgp router.
2810
2811 -- BGP: neighbor PEER update-source
2812 -- BGP: no neighbor PEER update-source
2813
2814 -- BGP: neighbor PEER default-originate
2815 -- BGP: no neighbor PEER default-originate
2816 `bgpd''s default is to not announce the default route (0.0.0.0/0)
2817 even it is in routing table. When you want to announce default
2818 routes to the peer, use this command.
2819
2820 -- BGP: neighbor PEER port PORT
2821 -- BGP: neighbor PEER port PORT
2822
2823 -- BGP: neighbor PEER send-community
2824 -- BGP: neighbor PEER send-community
2825
2826 -- BGP: neighbor PEER weight WEIGHT
2827 -- BGP: no neighbor PEER weight WEIGHT
2828 This command specifies a default WEIGHT value for the neighbor's
2829 routes.
2830
2831 -- BGP: neighbor PEER maximum-prefix NUMBER
2832 -- BGP: no neighbor PEER maximum-prefix NUMBER
2833
2834
2835File: quagga.info, Node: Peer filtering, Prev: BGP Peer commands, Up: BGP Peer
2836
28379.4.3 Peer filtering
2838--------------------
2839
2840 -- BGP: neighbor PEER distribute-list NAME [in|out]
2841 This command specifies a distribute-list for the peer. DIRECT is
2842 `in' or `out'.
2843
2844 -- BGP command: neighbor PEER prefix-list NAME [in|out]
2845
2846 -- BGP command: neighbor PEER filter-list NAME [in|out]
2847
2848 -- BGP: neighbor PEER route-map NAME [in|out]
2849 Apply a route-map on the neighbor. DIRECT must be `in' or `out'.
2850
2851
2852File: quagga.info, Node: BGP Peer Group, Next: BGP Address Family, Prev: BGP Peer, Up: BGP
2853
28549.5 BGP Peer Group
2855==================
2856
2857 -- BGP: neighbor WORD peer-group
2858 This command defines a new peer group.
2859
2860 -- BGP: neighbor PEER peer-group WORD
2861 This command bind specific peer to peer group WORD.
2862
2863
2864File: quagga.info, Node: BGP Address Family, Next: Autonomous System, Prev: BGP Peer Group, Up: BGP
2865
28669.6 BGP Address Family
2867======================
2868
2869
2870File: quagga.info, Node: Autonomous System, Next: BGP Communities Attribute, Prev: BGP Address Family, Up: BGP
2871
28729.7 Autonomous System
2873=====================
2874
2875AS (Autonomous System) is one of the essential element of BGP. BGP is
2876a distance vector routing protocol. AS framework provides distance
2877vector metric and loop detection to BGP. `RFC1930' - `Guidelines for
2878creation, selection, and registration of an Autonomous System (AS)'
2879describes how to use AS.
2880
2881 AS number is tow octet digita value. So the value range is from 1
2882to 65535. AS numbers 64512 through 65535 are defined as private AS
2883numbers. Private AS numbers must not to be advertised in the global
2884Internet.
2885
2886* Menu:
2887
2888* AS Path Regular Expression::
2889* Display BGP Routes by AS Path::
2890* AS Path Access List::
2891* Using AS Path in Route Map::
2892* Private AS Numbers::
2893
2894
2895File: quagga.info, Node: AS Path Regular Expression, Next: Display BGP Routes by AS Path, Up: Autonomous System
2896
28979.7.1 AS Path Regular Expression
2898--------------------------------
2899
2900AS path regular expression can be used for displaying BGP routes and AS
2901path access list. AS path regular expression is based on `POSIX
29021003.2' regular expressions. Following description is just a subset of
2903`POSIX' regular expression. User can use full `POSIX' regular
2904expression. Adding to that special character '_' is added for AS path
2905regular expression.
2906
2907`.'
2908 Matches any single character.
2909
2910`*'
2911 Matches 0 or more occurrences of pattern.
2912
2913`+'
2914 Matches 1 or more occurrences of pattern.
2915
2916`?'
2917 Match 0 or 1 occurrences of pattern.
2918
2919`^'
2920 Matches the beginning of the line.
2921
2922`$'
2923 Matches the end of the line.
2924
2925`_'
2926 Character `_' has special meanings in AS path regular expression.
2927 It matches to space and comma , and AS set delimiter { and } and AS
2928 confederation delimiter `(' and `)'. And it also matches to the
2929 beginning of the line and the end of the line. So `_' can be used
2930 for AS value boundaries match. `show ip bgp regexp _7675_'
2931 matches to all of BGP routes which as AS number include 7675.
2932
2933
2934File: quagga.info, Node: Display BGP Routes by AS Path, Next: AS Path Access List, Prev: AS Path Regular Expression, Up: Autonomous System
2935
29369.7.2 Display BGP Routes by AS Path
2937-----------------------------------
2938
2939To show BGP routes which has specific AS path information `show ip bgp'
2940command can be used.
2941
2942 -- Command: show ip bgp regexp LINE
2943 This commands display BGP routes that matches AS path regular
2944 expression LINE.
2945
2946
2947File: quagga.info, Node: AS Path Access List, Next: Using AS Path in Route Map, Prev: Display BGP Routes by AS Path, Up: Autonomous System
2948
29499.7.3 AS Path Access List
2950-------------------------
2951
2952AS path access list is user defined AS path.
2953
2954 -- Command: ip as-path access-list WORD {permit|deny} LINE
2955 This command defines a new AS path access list.
2956
2957 -- Command: no ip as-path access-list WORD
2958 -- Command: no ip as-path access-list WORD {permit|deny} LINE
2959
2960
2961File: quagga.info, Node: Using AS Path in Route Map, Next: Private AS Numbers, Prev: AS Path Access List, Up: Autonomous System
2962
29639.7.4 Using AS Path in Route Map
2964--------------------------------
2965
2966 -- Route Map: match as-path WORD
2967
2968 -- Route Map: set as-path prepend AS-PATH
2969
2970
2971File: quagga.info, Node: Private AS Numbers, Prev: Using AS Path in Route Map, Up: Autonomous System
2972
29739.7.5 Private AS Numbers
2974------------------------
2975
2976
2977File: quagga.info, Node: BGP Communities Attribute, Next: BGP Extended Communities Attribute, Prev: Autonomous System, Up: BGP
2978
29799.8 BGP Communities Attribute
2980=============================
2981
2982BGP communities attribute is widely used for implementing policy
2983routing. Network operators can manipulate BGP communities attribute
2984based on their network policy. BGP communities attribute is defined in
2985`RFC1997' - `BGP Communities Attribute' and `RFC1998' - `An Application
2986of the BGP Community Attribute in Multi-home Routing'. It is an
2987optional transitive attribute, therefore local policy can travel
2988through different autonomous system.
2989
2990 Communities attribute is a set of communities values. Each
2991communities value is 4 octet long. The following format is used to
2992define communities value.
2993
2994`AS:VAL'
2995 This format represents 4 octet communities value. `AS' is high
2996 order 2 octet in digit format. `VAL' is low order 2 octet in
2997 digit format. This format is useful to define AS oriented policy
2998 value. For example, `7675:80' can be used when AS 7675 wants to
2999 pass local policy value 80 to neighboring peer.
3000
3001`internet'
3002 `internet' represents well-known communities value 0.
3003
3004`no-export'
3005 `no-export' represents well-known communities value `NO_EXPORT'
3006 (0xFFFFFF01). All routes carry this value must not be advertised
3007 to outside a BGP confederation boundary. If neighboring BGP peer
3008 is part of BGP confederation, the peer is considered as inside a
3009 BGP confederation boundary, so the route will be announced to the
3010 peer.
3011
3012`no-advertise'
3013 `no-advertise' represents well-known communities value
3014 `NO_ADVERTISE'
3015 (0xFFFFFF02). All routes carry this value must not be advertise
3016 to other BGP peers.
3017
3018`local-AS'
3019 `local-AS' represents well-known communities value
3020 `NO_EXPORT_SUBCONFED' (0xFFFFFF03). All routes carry this value
3021 must not be advertised to external BGP peers. Even if the
3022 neighboring router is part of confederation, it is considered as
3023 external BGP peer, so the route will not be announced to the peer.
3024
3025 When BGP communities attribute is received, duplicated communities
3026value in the communities attribute is ignored and each communities
3027values are sorted in numerical order.
3028
3029* Menu:
3030
3031* BGP Community Lists::
3032* Numbered BGP Community Lists::
3033* BGP Community in Route Map::
3034* Display BGP Routes by Community::
3035* Using BGP Communities Attribute::
3036
3037
3038File: quagga.info, Node: BGP Community Lists, Next: Numbered BGP Community Lists, Up: BGP Communities Attribute
3039
30409.8.1 BGP Community Lists
3041-------------------------
3042
3043BGP community list is a user defined BGP communites attribute list.
3044BGP community list can be used for matching or manipulating BGP
3045communities attribute in updates.
3046
3047 There are two types of community list. One is standard community
3048list and another is expanded community list. Standard community list
3049defines communities attribute. Expanded community list defines
3050communities attribute string with regular expression. Standard
3051community list is compiled into binary format when user define it.
3052Standard community list will be directly compared to BGP communities
3053attribute in BGP updates. Therefore the comparison is faster than
3054expanded community list.
3055
3056 -- Command: ip community-list standard NAME {permit|deny} COMMUNITY
3057 This command defines a new standard community list. COMMUNITY is
3058 communities value. The COMMUNITY is compiled into community
3059 structure. We can define multiple community list under same name.
3060 In that case match will happen user defined order. Once the
3061 community list matches to communities attribute in BGP updates it
3062 return permit or deny by the community list definition. When
3063 there is no matched entry, deny will be returned. When COMMUNITY
3064 is empty it matches to any routes.
3065
3066 -- Command: ip community-list expanded NAME {permit|deny} LINE
3067 This command defines a new expanded community list. LINE is a
3068 string expression of communities attribute. LINE can include
3069 regular expression to match communities attribute in BGP updates.
3070
3071 -- Command: no ip community-list NAME
3072 -- Command: no ip community-list standard NAME
3073 -- Command: no ip community-list expanded NAME
3074 These commands delete community lists specified by NAME. All of
3075 community lists shares a single name space. So community lists
3076 can be removed simpley specifying community lists name.
3077
3078 -- Command: show ip community-list
3079 -- Command: show ip community-list NAME
3080 This command display current community list information. When
3081 NAME is specified the specified community list's information is
3082 shown.
3083
3084 # show ip community-list
3085 Named Community standard list CLIST
3086 permit 7675:80 7675:100 no-export
3087 deny internet
3088 Named Community expanded list EXPAND
3089 permit :
3090
3091 # show ip community-list CLIST
3092 Named Community standard list CLIST
3093 permit 7675:80 7675:100 no-export
3094 deny internet
3095
3096
3097File: quagga.info, Node: Numbered BGP Community Lists, Next: BGP Community in Route Map, Prev: BGP Community Lists, Up: BGP Communities Attribute
3098
30999.8.2 Numbered BGP Community Lists
3100----------------------------------
3101
3102When number is used for BGP community list name, the number has special
3103meanings. Community list number in the range from 1 and 99 is standard
3104community list. Community list number in the range from 100 to 199 is
3105expanded community list. These community lists are called as numbered
3106community lists. On the other hand normal community lists is called as
3107named community lists.
3108
3109 -- Command: ip community-list <1-99> {permit|deny} COMMUNITY
3110 This command defines a new community list. <1-99> is standard
3111 community list number. Community list name within this range
3112 defines standard community list. When COMMUNITY is empty it
3113 matches to any routes.
3114
3115 -- Command: ip community-list <100-199> {permit|deny} COMMUNITY
3116 This command defines a new community list. <100-199> is expanded
3117 community list number. Community list name within this range
3118 defines expanded community list.
3119
3120 -- Command: ip community-list NAME {permit|deny} COMMUNITY
3121 When community list type is not specifed, the community list type
3122 is automatically detected. If COMMUNITY can be compiled into
3123 communities attribute, the community list is defined as a standard
3124 community list. Otherwise it is defined as an expanded community
3125 list. This feature is left for backward compability. Use of this
3126 feature is not recommended.
3127
3128
3129File: quagga.info, Node: BGP Community in Route Map, Next: Display BGP Routes by Community, Prev: Numbered BGP Community Lists, Up: BGP Communities Attribute
3130
31319.8.3 BGP Community in Route Map
3132--------------------------------
3133
3134In Route Map (*note Route Map::), we can match or set BGP communities
3135attribute. Using this feature network operator can implement their
3136network policy based on BGP communities attribute.
3137
3138 Following commands can be used in Route Map.
3139
3140 -- Route Map: match community WORD
3141 -- Route Map: match community WORD exact-match
3142 This command perform match to BGP updates using community list
3143 WORD. When the one of BGP communities value match to the one of
3144 communities value in community list, it is match. When
3145 `exact-match' keyword is spcified, match happen only when BGP
3146 updates have completely same communities value specified in the
3147 community list.
3148
3149 -- Route Map: set community none
3150 -- Route Map: set community COMMUNITY
3151 -- Route Map: set community COMMUNITY additive
3152 This command manipulate communities value in BGP updates. When
3153 `none' is specified as communities value, it removes entire
3154 communities attribute from BGP updates. When COMMUNITY is not
3155 `none', specified communities value is set to BGP updates. If BGP
3156 updates already has BGP communities value, the existing BGP
3157 communities value is replaced with specified COMMUNITY value.
3158 When `additive' keyword is specified, COMMUNITY is appended to the
3159 existing communities value.
3160
3161 -- Route Map: set comm-list WORD delete
3162 This command remove communities value from BGP communities
3163 attribute. The WORD is community list name. When BGP route's
3164 communities value matches to the community list WORD, the
3165 communities value is removed. When all of communities value is
3166 removed eventually, the BGP update's communities attribute is
3167 completely removed.
3168
3169
3170File: quagga.info, Node: Display BGP Routes by Community, Next: Using BGP Communities Attribute, Prev: BGP Community in Route Map, Up: BGP Communities Attribute
3171
31729.8.4 Display BGP Routes by Community
3173-------------------------------------
3174
3175To show BGP routes which has specific BGP communities attribute, `show
3176ip bgp' command can be used. The COMMUNITY value and community list
3177can be used for `show ip bgp' command.
3178
3179 -- Command: show ip bgp community
3180 -- Command: show ip bgp community COMMUNITY
3181 -- Command: show ip bgp community COMMUNITY exact-match
3182 `show ip bgp community' displays BGP routes which has communities
3183 attribute. When COMMUNITY is specified, BGP routes that matches
3184 COMMUNITY value is displayed. For this command, `internet'
3185 keyword can't be used for COMMUNITY value. When `exact-match' is
3186 specified, it display only routes that have an exact match.
3187
3188 -- Command: show ip bgp community-list WORD
3189 -- Command: show ip bgp community-list WORD exact-match
3190 This commands display BGP routes that matches community list WORD.
3191 When `exact-match' is specified, display only routes that have an
3192 exact match.
3193
3194
3195File: quagga.info, Node: Using BGP Communities Attribute, Prev: Display BGP Routes by Community, Up: BGP Communities Attribute
3196
31979.8.5 Using BGP Communities Attribute
3198-------------------------------------
3199
3200Following configuration is the most typical usage of BGP communities
3201attribute. AS 7675 provides upstream Internet connection to AS 100.
3202When following configuration exists in AS 7675, AS 100 networks
3203operator can set local preference in AS 7675 network by setting BGP
3204communities attribute to the updates.
3205
3206 router bgp 7675
3207 neighbor 192.168.0.1 remote-as 100
3208 neighbor 192.168.0.1 route-map RMAP in
3209 !
3210 ip community-list 70 permit 7675:70
3211 ip community-list 70 deny
3212 ip community-list 80 permit 7675:80
3213 ip community-list 80 deny
3214 ip community-list 90 permit 7675:90
3215 ip community-list 90 deny
3216 !
3217 route-map RMAP permit 10
3218 match community 70
3219 set local-preference 70
3220 !
3221 route-map RMAP permit 20
3222 match community 80
3223 set local-preference 80
3224 !
3225 route-map RMAP permit 30
3226 match community 90
3227 set local-preference 90
3228
3229 Following configuration announce 10.0.0.0/8 from AS 100 to AS 7675.
3230The route has communities value 7675:80 so when above configuration
3231exists in AS 7675, announced route's local preference will be set to
3232value 80.
3233
3234 router bgp 100
3235 network 10.0.0.0/8
3236 neighbor 192.168.0.2 remote-as 7675
3237 neighbor 192.168.0.2 route-map RMAP out
3238 !
3239 ip prefix-list PLIST permit 10.0.0.0/8
3240 !
3241 route-map RMAP permit 10
3242 match ip address prefix-list PLIST
3243 set community 7675:80
3244
3245 Following configuration is an example of BGP route filtering using
3246communities attribute. This configuration only permit BGP routes which
3247has BGP communities value 0:80 or 0:90. Network operator can put
3248special internal communities value at BGP border router, then limit the
3249BGP routes announcement into the internal network.
3250
3251 router bgp 7675
3252 neighbor 192.168.0.1 remote-as 100
3253 neighbor 192.168.0.1 route-map RMAP in
3254 !
3255 ip community-list 1 permit 0:80 0:90
3256 !
3257 route-map RMAP permit in
3258 match community 1
3259
3260 Following exmaple filter BGP routes which has communities value 1:1.
3261When there is no match community-list returns deny. To avoid filtering
3262all of routes, we need to define permit any at last.
3263
3264 router bgp 7675
3265 neighbor 192.168.0.1 remote-as 100
3266 neighbor 192.168.0.1 route-map RMAP in
3267 !
3268 ip community-list standard FILTER deny 1:1
3269 ip community-list standard FILTER permit
3270 !
3271 route-map RMAP permit 10
3272 match community FILTER
3273
3274 Communities value keyword `internet' has special meanings in
3275standard community lists. In below example `internet' act as match
3276any. It matches all of BGP routes even if the route does not have
3277communities attribute at all. So community list `INTERNET' is same as
3278above example's `FILTER'.
3279
3280 ip community-list standard INTERNET deny 1:1
3281 ip community-list standard INTERNET permit internet
3282
3283 Following configuration is an example of communities value deletion.
3284With this configuration communities value 100:1 and 100:2 is removed
3285from BGP updates. For communities value deletion, only `permit'
3286community-list is used. `deny' community-list is ignored.
3287
3288 router bgp 7675
3289 neighbor 192.168.0.1 remote-as 100
3290 neighbor 192.168.0.1 route-map RMAP in
3291 !
3292 ip community-list standard DEL permit 100:1 100:2
3293 !
3294 route-map RMAP permit 10
3295 set comm-list DEL delete
3296
3297
3298File: quagga.info, Node: BGP Extended Communities Attribute, Next: Displaying BGP routes, Prev: BGP Communities Attribute, Up: BGP
3299
33009.9 BGP Extended Communities Attribute
3301======================================
3302
3303BGP extended communities attribute is introduced with MPLS VPN/BGP
3304technology. MPLS VPN/BGP expands capability of network infrastructure
3305to provide VPN functionality. At the same time it requires a new
3306framework for policy routing. With BGP Extended Communities Attribute
3307we can use Route Target or Site of Origin for implementing network
3308policy for MPLS VPN/BGP.
3309
3310 BGP Extended Communities Attribute is similar to BGP Communities
3311Attribute. It is an optional transitive attribute. BGP Extended
3312Communities Attribute can carry multiple Extended Community value.
3313Each Extended Community value is eight octet length.
3314
3315 BGP Extended Communities Attribute provides an extended range
3316compared with BGP Communities Attribute. Adding to that there is a
3317type field in each value to provides community space structure.
3318
3319 There are two format to define Extended Community value. One is AS
3320based format the other is IP address based format.
3321
3322`AS:VAL'
3323 This is a format to define AS based Extended Community value.
3324 `AS' part is 2 octets Global Administrator subfield in Extended
3325 Community value. `VAL' part is 4 octets Local Administrator
3326 subfield. `7675:100' represents AS 7675 policy value 100.
3327
3328`IP-Address:VAL'
3329 This is a format to define IP address based Extended Community
3330 value. `IP-Address' part is 4 octets Global Administrator
3331 subfield. `VAL' part is 2 octets Local Administrator subfield.
3332 `10.0.0.1:100' represents
3333
3334* Menu:
3335
3336* BGP Extended Community Lists::
3337* BGP Extended Communities in Route Map::
3338
3339
3340File: quagga.info, Node: BGP Extended Community Lists, Next: BGP Extended Communities in Route Map, Up: BGP Extended Communities Attribute
3341
33429.9.1 BGP Extended Community Lists
3343----------------------------------
3344
3345Expanded Community Lists is a user defined BGP Expanded Community Lists.
3346
3347 -- Command: ip extcommunity-list standard NAME {permit|deny}
3348EXTCOMMUNITY
3349 This command defines a new standard extcommunity-list.
3350 EXTCOMMUNITY is extended communities value. The EXTCOMMUNITY is
3351 compiled into extended community structure. We can define
3352 multiple extcommunity-list under same name. In that case match
3353 will happen user defined order. Once the extcommunity-list
3354 matches to extended communities attribute in BGP updates it return
3355 permit or deny based upon the extcommunity-list definition. When
3356 there is no matched entry, deny will be returned. When
3357 EXTCOMMUNITY is empty it matches to any routes.
3358
3359 -- Command: ip extcommunity-list expanded NAME {permit|deny} LINE
3360 This command defines a new expanded extcommunity-list. LINE is a
3361 string expression of extended communities attribute. LINE can
3362 include regular expression to match extended communities attribute
3363 in BGP updates.
3364
3365 -- Command: no ip extcommunity-list NAME
3366 -- Command: no ip extcommunity-list standard NAME
3367 -- Command: no ip extcommunity-list expanded NAME
3368 These commands delete extended community lists specified by NAME.
3369 All of extended community lists shares a single name space. So
3370 extended community lists can be removed simpley specifying the
3371 name.
3372
3373 -- Command: show ip extcommunity-list
3374 -- Command: show ip extcommunity-list NAME
3375 This command display current extcommunity-list information. When
3376 NAME is specified the community list's information is shown.
3377
3378 # show ip extcommunity-list
3379
3380
3381File: quagga.info, Node: BGP Extended Communities in Route Map, Prev: BGP Extended Community Lists, Up: BGP Extended Communities Attribute
3382
33839.9.2 BGP Extended Communities in Route Map
3384-------------------------------------------
3385
3386 -- Route Map: match extcommunity WORD
3387
3388 -- Route Map: set extcommunity rt EXTCOMMUNITY
3389 This command set Route Target value.
3390
3391 -- Route Map: set extcommunity soo EXTCOMMUNITY
3392 This command set Site of Origin value.
3393
3394
3395File: quagga.info, Node: Displaying BGP routes, Next: Capability Negotiation, Prev: BGP Extended Communities Attribute, Up: BGP
3396
33979.10 Displaying BGP Routes
3398==========================
3399
3400* Menu:
3401
3402* Show IP BGP::
3403* More Show IP BGP::
3404
3405
3406File: quagga.info, Node: Show IP BGP, Next: More Show IP BGP, Up: Displaying BGP routes
3407
34089.10.1 Show IP BGP
3409------------------
3410
3411 -- Command: show ip bgp
3412 -- Command: show ip bgp A.B.C.D
3413 -- Command: show ip bgp X:X::X:X
3414 This command displays BGP routes. When no route is specified it
3415 display all of IPv4 BGP routes.
3416
3417 BGP table version is 0, local router ID is 10.1.1.1
3418 Status codes: s suppressed, d damped, h history, * valid, > best, i - internal
3419 Origin codes: i - IGP, e - EGP, ? - incomplete
3420
3421 Network Next Hop Metric LocPrf Weight Path
3422 *> 1.1.1.1/32 0.0.0.0 0 32768 i
3423
3424 Total number of prefixes 1
3425
3426
3427File: quagga.info, Node: More Show IP BGP, Prev: Show IP BGP, Up: Displaying BGP routes
3428
34299.10.2 More Show IP BGP
3430-----------------------
3431
3432 -- Command: show ip bgp regexp LINE
3433 This command display BGP routes using AS path regular expression
3434 (*note Display BGP Routes by AS Path::).
3435
3436 -- Command: show ip bgp community COMMUNITY
3437 -- Command: show ip bgp community COMMUNITY exact-match
3438 This command display BGP routes using COMMUNITY (*note Display BGP
3439 Routes by Community::).
3440
3441 -- Command: show ip bgp community-list WORD
3442 -- Command: show ip bgp community-list WORD exact-match
3443 This command display BGP routes using community list (*note
3444 Display BGP Routes by Community::).
3445
3446 -- Command: show ip bgp summary
3447
3448 -- Command: show ip bgp neighbor [PEER]
3449
3450 -- Command: clear ip bgp PEER
3451 Clear peers which have addresses of X.X.X.X
3452
3453 -- Command: clear ip bgp PEER soft in
3454 Clear peer using soft reconfiguration.
3455
3456 -- Command: show debug
3457
3458 -- Command: debug event
3459
3460 -- Command: debug update
3461
3462 -- Command: debug keepalive
3463
3464 -- Command: no debug event
3465
3466 -- Command: no debug update
3467
3468 -- Command: no debug keepalive
3469
3470
3471File: quagga.info, Node: Capability Negotiation, Next: Route Reflector, Prev: Displaying BGP routes, Up: BGP
3472
34739.11 Capability Negotiation
3474===========================
3475
3476When adding IPv6 routing information exchange feature to BGP. There
3477were some proposals. IETF IDR working group finally take a proposal
3478called Multiprotocol Extension for BGP. The specification is described
3479in RFC2283. The protocol does not define new protocols. It defines
3480new attributes to existing BGP. When it is used exchanging IPv6
3481routing information it is called BGP-4+. When it is used for
3482exchanging multicast routing information it is called MBGP.
3483
3484 `bgpd' supports Multiprotocol Extension for BGP. So if remote peer
3485supports the protocol, `bgpd' can exchange IPv6 and/or multicast routing
3486information.
3487
3488 Traditional BGP does not have the feature to detect remote peer's
3489capability whether it can handle other than IPv4 unicast routes. This
3490is a big problem using Multiprotocol Extension for BGP to operational
3491network. `draft-ietf-idr-bgp4-cap-neg-04.txt' is proposing a feature
3492called Capability Negotiation. `bgpd' use this Capability Negotiation
3493to detect remote peer's capabilities. If the peer is only configured
3494as IPv4 unicast neighbor, `bgpd' does not send these Capability
3495Negotiation packets.
3496
3497 By default, Quagga will bring up peering with minimal common
3498capability for the both sides. For example, local router has unicast
3499and multicast capabilitie and remote router has unicast capability. In
3500this case, the local router will establish the connection with unicast
3501only capability. When there are no common capabilities, Quagga sends
3502Unsupported Capability error and then resets the connection.
3503
3504 If you want to completely match capabilities with remote peer.
3505Please use `strict-capability-match' command.
3506
3507 -- BGP: neighbor PEER strict-capability-match
3508 -- BGP: no neighbor PEER strict-capability-match
3509 Strictly compares remote capabilities and local capabilities. If
3510 capabilities are different, send Unsupported Capability error then
3511 reset connection.
3512
3513 You may want to disable sending Capability Negotiation OPEN message
3514optional parameter to the peer when remote peer does not implement
3515Capability Negotiation. Please use `dont-capability-negotiate' command
3516to disable the feature.
3517
3518 -- BGP: neighbor PEER dont-capability-negotiate
3519 -- BGP: no neighbor PEER dont-capability-negotiate
3520 Suppress sending Capability Negotiation as OPEN message optional
3521 parameter to the peer. This command only affects the peer is
3522 configured other than IPv4 unicast configuration.
3523
3524 When remote peer does not have capability negotiation feature, remote
3525peer will not send any capabilities at all. In that case, bgp
3526configures the peer with configured capabilities.
3527
3528 You may prefer locally configured capabilities more than the
3529negotiated capabilities even though remote peer sends capabilities. If
3530the peer is configured by `override-capability', `bgpd' ignores received
3531capabilities then override negotiated capabilities with configured
3532values.
3533
3534 -- BGP: neighbor PEER override-capability
3535 -- BGP: no neighbor PEER override-capability
3536 Override the result of Capability Negotiation with local
3537 configuration. Ignore remote peer's capability value.
3538
3539
3540File: quagga.info, Node: Route Reflector, Next: Route Server, Prev: Capability Negotiation, Up: BGP
3541
35429.12 Route Reflector
3543====================
3544
3545 -- BGP: bgp cluster-id A.B.C.D
3546
3547 -- BGP: neighbor PEER route-reflector-client
3548 -- BGP: no neighbor PEER route-reflector-client
3549
3550
3551File: quagga.info, Node: Route Server, Next: How to set up a 6-Bone connection, Prev: Route Reflector, Up: BGP
3552
35539.13 Route Server
3554=================
3555
3556At an Internet Exchange point, many ISPs are connected to each other by
3557external BGP peering. Normally these external BGP connection are done
3558by `full mesh' method. As with internal BGP full mesh formation, this
3559method has a scaling problem.
3560
3561 This scaling problem is well known. Route Server is a method to
3562resolve the problem. Each ISP's BGP router only peers to Route Server.
3563Route Server serves as BGP information exchange to other BGP routers.
3564By applying this method, numbers of BGP connections is reduced from
3565O(n*(n-1)/2) to O(n).
3566
3567 Unlike normal BGP router, Route Server must have several routing
3568tables for managing different routing policies for each BGP speaker.
3569We call the routing tables as different `view's. `bgpd' can work as
3570normal BGP router or Route Server or both at the same time.
3571
3572* Menu:
3573
3574* Multiple instance::
3575* BGP instance and view::
3576* Routing policy::
3577* Viewing the view::
3578
3579
3580File: quagga.info, Node: Multiple instance, Next: BGP instance and view, Up: Route Server
3581
35829.13.1 Multiple instance
3583------------------------
3584
3585To enable multiple view function of `bgpd', you must turn on multiple
3586instance feature beforehand.
3587
3588 -- Command: bgp multiple-instance
3589 Enable BGP multiple instance feature. After this feature is
3590 enabled, you can make multiple BGP instances or multiple BGP views.
3591
3592 -- Command: no bgp multiple-instance
3593 Disable BGP multiple instance feature. You can not disable this
3594 feature when BGP multiple instances or views exist.
3595
3596 When you want to make configuration more Cisco like one,
3597
3598 -- Command: bgp config-type cisco
3599 Cisco compatible BGP configuration output.
3600
3601 When bgp config-type cisco is specified,
3602
3603 "no synchronization" is displayed. "no auto-summary" is desplayed.
3604
3605 "network" and "aggregate-address" argument is displayed as "A.B.C.D
3606M.M.M.M"
3607
3608 Quagga: network 10.0.0.0/8 Cisco: network 10.0.0.0
3609
3610 Quagga: aggregate-address 192.168.0.0/24 Cisco: aggregate-address
3611192.168.0.0 255.255.255.0
3612
3613 Community attribute handling is also different. If there is no
3614configuration is specified community attribute and extended community
3615attribute are sent to neighbor. When user manually disable the feature
3616community attribute is not sent to the neighbor. In case of "bgp
3617config-type cisco" is specified, community attribute is not sent to the
3618neighbor by default. To send community attribute user has to specify
3619"neighbor A.B.C.D send-community" command.
3620
3621 ! router bgp 1 neighbor 10.0.0.1 remote-as 1 no neighbor 10.0.0.1
3622send-community !
3623
3624 ! router bgp 1 neighbor 10.0.0.1 remote-as 1 neighbor 10.0.0.1
3625send-community !
3626
3627 -- Command: bgp config-type zebra
3628 Quagga style BGP configuration. This is default.
3629
3630
3631File: quagga.info, Node: BGP instance and view, Next: Routing policy, Prev: Multiple instance, Up: Route Server
3632
36339.13.2 BGP instance and view
3634----------------------------
3635
3636BGP instance is a normal BGP process. The result of route selection
3637goes to the kernel routing table. You can setup different AS at the
3638same time when BGP multiple instance feature is enabled.
3639
3640 -- Command: router bgp AS-NUMBER
3641 Make a new BGP instance. You can use arbitrary word for the NAME.
3642
3643 bgp multiple-instance
3644 !
3645 router bgp 1
3646 neighbor 10.0.0.1 remote-as 2
3647 neighbor 10.0.0.2 remote-as 3
3648 !
3649 router bgp 2
3650 neighbor 10.0.0.3 remote-as 4
3651 neighbor 10.0.0.4 remote-as 5
3652
3653 BGP view is almost same as normal BGP process. The result of route
3654selection does not go to the kernel routing table. BGP view is only
3655for exchanging BGP routing information.
3656
3657 -- Command: router bgp AS-NUMBER view NAME
3658 Make a new BGP view. You can use arbitrary word for the NAME.
3659 This view's route selection result does not go to the kernel
3660 routing table.
3661
3662 With this command, you can setup Route Server like below.
3663
3664 bgp multiple-instance
3665 !
3666 router bgp 1 view 1
3667 neighbor 10.0.0.1 remote-as 2
3668 neighbor 10.0.0.2 remote-as 3
3669 !
3670 router bgp 2 view 2
3671 neighbor 10.0.0.3 remote-as 4
3672 neighbor 10.0.0.4 remote-as 5
3673
3674
3675File: quagga.info, Node: Routing policy, Next: Viewing the view, Prev: BGP instance and view, Up: Route Server
3676
36779.13.3 Routing policy
3678---------------------
3679
3680You can set different routing policy for a peer. For example, you can
3681set different filter for a peer.
3682
3683 bgp multiple-instance
3684 !
3685 router bgp 1 view 1
3686 neighbor 10.0.0.1 remote-as 2
3687 neighbor 10.0.0.1 distribute-list 1 in
3688 !
3689 router bgp 1 view 2
3690 neighbor 10.0.0.1 remote-as 2
3691 neighbor 10.0.0.1 distribute-list 2 in
3692
3693 This means BGP update from a peer 10.0.0.1 goes to both BGP view 1
3694and view 2. When the update is inserted into view 1, distribute-list 1
3695is applied. On the other hand, when the update is inserted into view 2,
3696distribute-list 2 is applied.
3697
3698
3699File: quagga.info, Node: Viewing the view, Prev: Routing policy, Up: Route Server
3700
37019.13.4 Viewing the view
3702-----------------------
3703
3704To display routing table of BGP view, you must specify view name.
3705
3706 -- Command: show ip bgp view NAME
3707 Display routing table of BGP view NAME.
3708
3709
3710File: quagga.info, Node: How to set up a 6-Bone connection, Next: Dump BGP packets and table, Prev: Route Server, Up: BGP
3711
37129.14 How to set up a 6-Bone connection
3713======================================
3714
3715 zebra configuration
3716 ===================
3717 !
3718 ! Actually there is no need to configure zebra
3719 !
3720
3721 bgpd configuration
3722 ==================
3723 !
3724 ! This means that routes go through zebra and into the kernel.
3725 !
3726 router zebra
3727 !
3728 ! MP-BGP configuration
3729 !
3730 router bgp 7675
3731 bgp router-id 10.0.0.1
3732 neighbor 3ffe:1cfa:0:2:2a0:c9ff:fe9e:f56 remote-as AS-NUMBER
3733 !
3734 address-family ipv6
3735 network 3ffe:506::/32
3736 neighbor 3ffe:1cfa:0:2:2a0:c9ff:fe9e:f56 activate
3737 neighbor 3ffe:1cfa:0:2:2a0:c9ff:fe9e:f56 route-map set-nexthop out
3738 neighbor 3ffe:1cfa:0:2:2c0:4fff:fe68:a231 remote-as AS-NUMBER
3739 neighbor 3ffe:1cfa:0:2:2c0:4fff:fe68:a231 route-map set-nexthop out
3740 exit-address-family
3741 !
3742 ipv6 access-list all permit any
3743 !
3744 ! Set output nexthop address.
3745 !
3746 route-map set-nexthop permit 10
3747 match ipv6 address all
3748 set ipv6 nexthop global 3ffe:1cfa:0:2:2c0:4fff:fe68:a225
3749 set ipv6 nexthop local fe80::2c0:4fff:fe68:a225
3750 !
3751 ! logfile FILENAME is obsolete. Please use log file FILENAME
3752
3753 log file bgpd.log
3754 !
3755
3756
3757File: quagga.info, Node: Dump BGP packets and table, Prev: How to set up a 6-Bone connection, Up: BGP
3758
37599.15 Dump BGP packets and table
3760===============================
3761
3762 -- Command: dump bgp all PATH
3763 -- Command: dump bgp all PATH INTERVAL
3764 Dump all BGP packet and events to PATH file.
3765
3766 -- Command: dump bgp updates PATH
3767 -- Command: dump bgp updates PATH INTERVAL
3768 Dump BGP updates to PATH file.
3769
3770 -- Command: dump bgp routes PATH
3771 -- Command: dump bgp routes PATH
3772 Dump whole BGP routing table to PATH. This is heavy process.
3773
3774
3775File: quagga.info, Node: Configuring Quagga as a Route Server, Next: VTY shell, Prev: BGP, Up: Top
3776
377710 Configuring Quagga as a Route Server
3778***************************************
3779
3780The purpose of a Route Server is to centralize the peerings between BGP
3781speakers. For example if we have an exchange point scenario with four
3782BGP speakers, each of which maintaining a BGP peering with the other
3783three (*note fig:full-mesh::), we can convert it into a centralized
3784scenario where each of the four establishes a single BGP peering
3785against the Route Server (*note fig:route-server::).
3786
3787 We will first describe briefly the Route Server model implemented by
3788Quagga. We will explain the commands that have been added for
3789configuring that model. And finally we will show a full example of
3790Quagga configured as Route Server.
3791
3792* Menu:
3793
3794* Description of the Route Server model::
3795* Commands for configuring a Route Server::
3796* Example of Route Server Configuration::
3797
3798
3799File: quagga.info, Node: Description of the Route Server model, Next: Commands for configuring a Route Server, Up: Configuring Quagga as a Route Server
3800
380110.1 Description of the Route Server model
3802==========================================
3803
3804First we are going to describe the normal processing that BGP
3805announcements suffer inside a standard BGP speaker, as shown in *Note
3806fig:normal-processing::, it consists of three steps:
3807
3808 * When an announcement is received from some peer, the `In' filters
3809 configured for that peer are applied to the announcement. These
3810 filters can reject the announcement, accept it unmodified, or
3811 accept it with some of its attributes modified.
3812
3813 * The announcements that pass the `In' filters go into the Best Path
3814 Selection process, where they are compared to other announcements
3815 referred to the same destination that have been received from
3816 different peers (in case such other announcements exist). For each
3817 different destination, the announcement which is selected as the
3818 best is inserted into the BGP speaker's Loc-RIB.
3819
3820 * The routes which are inserted in the Loc-RIB are considered for
3821 announcement to all the peers (except the one from which the route
3822 came). This is done by passing the routes in the Loc-RIB through
3823 the `Out' filters corresponding to each peer. These filters can
3824 reject the route, accept it unmodified, or accept it with some of
3825 its attributes modified. Those routes which are accepted by the
3826 `Out' filters of a peer are announced to that peer.
3827
paul08e044f2005-04-28 17:45:37 +00003828 Figure 10.1: Announcement processing inside a "normal" BGP speaker
paul56d1d202004-11-15 21:56:53 +00003829
paul08e044f2005-04-28 17:45:37 +00003830 Figure 10.2: Full Mesh
paul56d1d202004-11-15 21:56:53 +00003831
paul08e044f2005-04-28 17:45:37 +00003832 Figure 10.3: Route Server and clients
paul56d1d202004-11-15 21:56:53 +00003833
3834 Of course we want that the routing tables obtained in each of the
3835routers are the same when using the route server than when not. But as
3836a consequence of having a single BGP peering (against the route
3837server), the BGP speakers can no longer distinguish from/to which peer
3838each announce comes/goes. This means that the routers connected to the
3839route server are not able to apply by themselves the same input/output
3840filters as in the full mesh scenario, so they have to delegate those
3841functions to the route server.
3842
3843 Even more, the "best path" selection must be also performed inside
3844the route server on behalf of its clients. The reason is that if, after
3845applying the filters of the announcer and the (potential) receiver, the
3846route server decides to send to some client two or more different
3847announcements referred to the same destination, the client will only
3848retain the last one, considering it as an implicit withdrawal of the
3849previous announcements for the same destination. This is the expected
3850behavior of a BGP speaker as defined in `RFC1771', and even though
3851there are some proposals of mechanisms that permit multiple paths for
3852the same destination to be sent through a single BGP peering, none of
3853them are currently supported by most of the existing BGP
3854implementations.
3855
3856 As a consequence a route server must maintain additional information
3857and perform additional tasks for a RS-client that those necessary for
3858common BGP peerings. Essentially a route server must:
3859
3860 * Maintain a separated Routing Information Base (Loc-RIB) for each
3861 peer configured as RS-client, containing the routes selected as a
3862 result of the "Best Path Selection" process that is performed on
3863 behalf of that RS-client.
3864
3865 * Whenever it receives an announcement from a RS-client, it must
3866 consider it for the Loc-RIBs of the other RS-clients.
3867
3868 * This means that for each of them the route server must pass
3869 the announcement through the appropriate `Out' filter of the
3870 announcer.
3871
3872 * Then through the appropriate `In' filter of the potential
3873 receiver.
3874
3875 * Only if the announcement is accepted by both filters it will
3876 be passed to the "Best Path Selection" process.
3877
3878 * Finally, it might go into the Loc-RIB of the receiver.
3879
3880 When we talk about the "appropriate" filter, both the announcer and
3881the receiver of the route must be taken into account. Suppose that the
3882route server receives an announcement from client A, and the route
3883server is considering it for the Loc-RIB of client B. The filters that
3884should be applied are the same that would be used in the full mesh
3885scenario, i.e., first the `Out' filter of router A for announcements
3886going to router B, and then the `In' filter of router B for
3887announcements coming from router A.
3888
3889 We call "Export Policy" of a RS-client to the set of `Out' filters
3890that the client would use if there was no route server. The same
3891applies for the "Import Policy" of a RS-client and the set of `In'
3892filters of the client if there was no route server.
3893
3894 It is also common to demand from a route server that it does not
3895modify some BGP attributes (next-hop, as-path and MED) that are usually
3896modified by standard BGP speakers before announcing a route.
3897
3898 The announcement processing model implemented by Quagga is shown in
3899*Note fig:rs-processing::. The figure shows a mixture of RS-clients (B,
3900C and D) with normal BGP peers (A). There are some details that worth
3901additional comments:
3902
3903 * Announcements coming from a normal BGP peer are also considered
3904 for the Loc-RIBs of all the RS-clients. But logically they do not
3905 pass through any export policy.
3906
3907 * Those peers that are configured as RS-clients do not receive any
3908 announce from the `Main' Loc-RIB.
3909
3910 * Apart from import and export policies, `In' and `Out' filters can
3911 also be set for RS-clients. `In' filters might be useful when the
3912 route server has also normal BGP peers. On the other hand, `Out'
3913 filters for RS-clients are probably unnecessary, but we decided
3914 not to remove them as they do not hurt anybody (they can always be
3915 left empty).
3916
paul08e044f2005-04-28 17:45:37 +00003917 Figure 10.4: Announcement processing model implemented by the Route
3918Server
paul56d1d202004-11-15 21:56:53 +00003919
3920
3921File: 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
3922
392310.2 Commands for configuring a Route Server
3924============================================
3925
3926Now we will describe the commands that have been added to quagga in
3927order to support the route server features.
3928
3929 -- Route-Server: neighbor PEER-GROUP route-server-client
3930 -- Route-Server: neighbor A.B.C.D route-server-client
3931 -- Route-Server: neighbor X:X::X:X route-server-client
3932 This command configures the peer given by PEER, A.B.C.D or
3933 X:X::X:X as an RS-client.
3934
3935 Actually this command is not new, it already existed in standard
3936 Quagga. It enables the transparent mode for the specified peer.
3937 This means that some BGP attributes (as-path, next-hop and MED) of
3938 the routes announced to that peer are not modified.
3939
3940 With the route server patch, this command, apart from setting the
3941 transparent mode, creates a new Loc-RIB dedicated to the specified
3942 peer (those named `Loc-RIB for X' in *Note Figure 10.4:
3943 fig:rs-processing.). Starting from that moment, every announcement
3944 received by the route server will be also considered for the new
3945 Loc-RIB.
3946
3947 -- Route-Server: neigbor {A.B.C.D|X.X::X.X|peer-group} route-map WORD
3948{import|export}
3949 This set of commands can be used to specify the route-map that
3950 represents the Import or Export policy of a peer which is
3951 configured as a RS-client (with the previous command).
3952
3953 -- Route-Server: match peer {A.B.C.D|X:X::X:X}
3954 This is a new _match_ statement for use in route-maps, enabling
3955 them to describe import/export policies. As we said before, an
3956 import/export policy represents a set of input/output filters of
3957 the RS-client. This statement makes possible that a single
3958 route-map represents the full set of filters that a BGP speaker
3959 would use for its different peers in a non-RS scenario.
3960
3961 The _match peer_ statement has different semantics whether it is
3962 used inside an import or an export route-map. In the first case
3963 the statement matches if the address of the peer who sends the
3964 announce is the same that the address specified by
3965 {A.B.C.D|X:X::X:X}. For export route-maps it matches when
3966 {A.B.C.D|X:X::X:X} is the address of the RS-Client into whose
3967 Loc-RIB the announce is going to be inserted (how the same export
3968 policy is applied before different Loc-RIBs is shown in *Note
3969 Figure 10.4: fig:rs-processing.).
3970
3971 -- Route-map Command: call WORD
3972 This command (also used inside a route-map) jumps into a different
3973 route-map, whose name is specified by WORD. When the called
3974 route-map finishes, depending on its result the original route-map
3975 continues or not. Apart from being useful for making import/export
3976 route-maps easier to write, this command can also be used inside
3977 any normal (in or out) route-map.
3978
3979
3980File: quagga.info, Node: Example of Route Server Configuration, Prev: Commands for configuring a Route Server, Up: Configuring Quagga as a Route Server
3981
398210.3 Example of Route Server Configuration
3983==========================================
3984
3985Finally we are going to show how to configure a Quagga daemon to act as
3986a Route Server. For this purpose we are going to present a scenario
3987without route server, and then we will show how to use the
3988configurations of the BGP routers to generate the configuration of the
3989route server.
3990
3991 All the configuration files shown in this section have been taken
3992from scenarios which were tested using the VNUML tool VNUML
3993(http://www.dit.upm.es/vnuml).
3994
3995* Menu:
3996
3997* Configuration of the BGP routers without Route Server::
3998* Configuration of the BGP routers with Route Server::
3999* Configuration of the Route Server itself::
4000* Further considerations about Import and Export route-maps::
4001
4002
4003File: 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
4004
400510.3.1 Configuration of the BGP routers without Route Server
4006------------------------------------------------------------
4007
4008We will suppose that our initial scenario is an exchange point with
4009three BGP capable routers, named RA, RB and RC. Each of the BGP
4010speakers generates some routes (with the NETWORK command), and
4011establishes BGP peerings against the other two routers. These peerings
4012have In and Out route-maps configured, named like "PEER-X-IN" or
4013"PEER-X-OUT". For example the configuration file for router RA could be
4014the following:
4015
4016 #Configuration for router 'RA'
4017 !
4018 hostname RA
4019 password ****
4020 !
4021 router bgp 65001
4022 no bgp default ipv4-unicast
4023 neighbor 2001:0DB8::B remote-as 65002
4024 neighbor 2001:0DB8::C remote-as 65003
4025 !
4026 address-family ipv6
4027 network 2001:0DB8:AAAA:1::/64
4028 network 2001:0DB8:AAAA:2::/64
4029 network 2001:0DB8:0000:1::/64
4030 network 2001:0DB8:0000:2::/64
4031
4032 neighbor 2001:0DB8::B activate
4033 neighbor 2001:0DB8::B soft-reconfiguration inbound
4034 neighbor 2001:0DB8::B route-map PEER-B-IN in
4035 neighbor 2001:0DB8::B route-map PEER-B-OUT out
4036
4037 neighbor 2001:0DB8::C activate
4038 neighbor 2001:0DB8::C soft-reconfiguration inbound
4039 neighbor 2001:0DB8::C route-map PEER-C-IN in
4040 neighbor 2001:0DB8::C route-map PEER-C-OUT out
4041 exit-address-family
4042 !
4043 ipv6 prefix-list COMMON-PREFIXES seq 5 permit 2001:0DB8:0000::/48 ge 64 le 64
4044 ipv6 prefix-list COMMON-PREFIXES seq 10 deny any
4045 !
4046 ipv6 prefix-list PEER-A-PREFIXES seq 5 permit 2001:0DB8:AAAA::/48 ge 64 le 64
4047 ipv6 prefix-list PEER-A-PREFIXES seq 10 deny any
4048 !
4049 ipv6 prefix-list PEER-B-PREFIXES seq 5 permit 2001:0DB8:BBBB::/48 ge 64 le 64
4050 ipv6 prefix-list PEER-B-PREFIXES seq 10 deny any
4051 !
4052 ipv6 prefix-list PEER-C-PREFIXES seq 5 permit 2001:0DB8:CCCC::/48 ge 64 le 64
4053 ipv6 prefix-list PEER-C-PREFIXES seq 10 deny any
4054 !
4055 route-map PEER-B-IN permit 10
4056 match ipv6 address prefix-list COMMON-PREFIXES
4057 set metric 100
4058 route-map PEER-B-IN permit 20
4059 match ipv6 address prefix-list PEER-B-PREFIXES
4060 set community 65001:11111
4061 !
4062 route-map PEER-C-IN permit 10
4063 match ipv6 address prefix-list COMMON-PREFIXES
4064 set metric 200
4065 route-map PEER-C-IN permit 20
4066 match ipv6 address prefix-list PEER-C-PREFIXES
4067 set community 65001:22222
4068 !
4069 route-map PEER-B-OUT permit 10
4070 match ipv6 address prefix-list PEER-A-PREFIXES
4071 !
4072 route-map PEER-C-OUT permit 10
4073 match ipv6 address prefix-list PEER-A-PREFIXES
4074 !
4075 line vty
4076 !
4077
4078
4079File: 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
4080
408110.3.2 Configuration of the BGP routers with Route Server
4082---------------------------------------------------------
4083
4084To convert the initial scenario into one with route server, first we
4085must modify the configuration of routers RA, RB and RC. Now they must
4086not peer between them, but only with the route server. For example, RA's
4087configuration would turn into:
4088
4089 # Configuration for router 'RA'
4090 !
4091 hostname RA
4092 password ****
4093 !
4094 router bgp 65001
4095 no bgp default ipv4-unicast
4096 neighbor 2001:0DB8::FFFF remote-as 65000
4097 !
4098 address-family ipv6
4099 network 2001:0DB8:AAAA:1::/64
4100 network 2001:0DB8:AAAA:2::/64
4101 network 2001:0DB8:0000:1::/64
4102 network 2001:0DB8:0000:2::/64
4103
4104 neighbor 2001:0DB8::FFFF activate
4105 neighbor 2001:0DB8::FFFF soft-reconfiguration inbound
4106 exit-address-family
4107 !
4108 line vty
4109 !
4110
4111 Which is logically much simpler than its initial configuration, as
4112it now maintains only one BGP peering and all the filters (route-maps)
4113have disappeared.
4114
4115
4116File: 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
4117
411810.3.3 Configuration of the Route Server itself
4119-----------------------------------------------
4120
4121As we said when we described the functions of a route server (*note
4122Description of the Route Server model::), it is in charge of all the
4123route filtering. To achieve that, the In and Out filters from the RA,
4124RB and RC configurations must be converted into Import and Export
4125policies in the route server.
4126
4127 This is a fragment of the route server configuration (we only show
4128the policies for client RA):
4129
4130 # Configuration for Route Server ('RS')
4131 !
4132 hostname RS
4133 password ix
4134 !
4135 bgp multiple-instance
4136 !
4137 router bgp 65000 view RS
4138 no bgp default ipv4-unicast
4139 neighbor 2001:0DB8::A remote-as 65001
4140 neighbor 2001:0DB8::B remote-as 65002
4141 neighbor 2001:0DB8::C remote-as 65003
4142 !
4143 address-family ipv6
4144 neighbor 2001:0DB8::A activate
4145 neighbor 2001:0DB8::A route-server-client
4146 neighbor 2001:0DB8::A route-map RSCLIENT-A-IMPORT import
4147 neighbor 2001:0DB8::A route-map RSCLIENT-A-EXPORT export
4148 neighbor 2001:0DB8::A soft-reconfiguration inbound
4149
4150 neighbor 2001:0DB8::B activate
4151 neighbor 2001:0DB8::B route-server-client
4152 neighbor 2001:0DB8::B route-map RSCLIENT-B-IMPORT import
4153 neighbor 2001:0DB8::B route-map RSCLIENT-B-EXPORT export
4154 neighbor 2001:0DB8::B soft-reconfiguration inbound
4155
4156 neighbor 2001:0DB8::C activate
4157 neighbor 2001:0DB8::C route-server-client
4158 neighbor 2001:0DB8::C route-map RSCLIENT-C-IMPORT import
4159 neighbor 2001:0DB8::C route-map RSCLIENT-C-EXPORT export
4160 neighbor 2001:0DB8::C soft-reconfiguration inbound
4161 exit-address-family
4162 !
4163 ipv6 prefix-list COMMON-PREFIXES seq 5 permit 2001:0DB8:0000::/48 ge 64 le 64
4164 ipv6 prefix-list COMMON-PREFIXES seq 10 deny any
4165 !
4166 ipv6 prefix-list PEER-A-PREFIXES seq 5 permit 2001:0DB8:AAAA::/48 ge 64 le 64
4167 ipv6 prefix-list PEER-A-PREFIXES seq 10 deny any
4168 !
4169 ipv6 prefix-list PEER-B-PREFIXES seq 5 permit 2001:0DB8:BBBB::/48 ge 64 le 64
4170 ipv6 prefix-list PEER-B-PREFIXES seq 10 deny any
4171 !
4172 ipv6 prefix-list PEER-C-PREFIXES seq 5 permit 2001:0DB8:CCCC::/48 ge 64 le 64
4173 ipv6 prefix-list PEER-C-PREFIXES seq 10 deny any
4174 !
4175 route-map RSCLIENT-A-IMPORT permit 10
4176 match peer 2001:0DB8::B
4177 call A-IMPORT-FROM-B
4178 route-map RSCLIENT-A-IMPORT permit 20
4179 match peer 2001:0DB8::C
4180 call A-IMPORT-FROM-C
4181 !
4182 route-map A-IMPORT-FROM-B permit 10
4183 match ipv6 address prefix-list COMMON-PREFIXES
4184 set metric 100
4185 route-map A-IMPORT-FROM-B permit 20
4186 match ipv6 address prefix-list PEER-B-PREFIXES
4187 set community 65001:11111
4188 !
4189 route-map A-IMPORT-FROM-C permit 10
4190 match ipv6 address prefix-list COMMON-PREFIXES
4191 set metric 200
4192 route-map A-IMPORT-FROM-C permit 20
4193 match ipv6 address prefix-list PEER-C-PREFIXES
4194 set community 65001:22222
4195 !
4196 route-map RSCLIENT-A-EXPORT permit 10
4197 match peer 2001:0DB8::B
4198 match ipv6 address prefix-list PEER-A-PREFIXES
4199 route-map RSCLIENT-A-EXPORT permit 20
4200 match peer 2001:0DB8::C
4201 match ipv6 address prefix-list PEER-A-PREFIXES
4202 !
4203 ...
4204 ...
4205 ...
4206
4207 If you compare the initial configuration of RA with the route server
4208configuration above, you can see how easy it is to generate the Import
4209and Export policies for RA from the In and Out route-maps of RA's
4210original configuration.
4211
4212 When there was no route server, RA maintained two peerings, one with
4213RB and another with RC. Each of this peerings had an In route-map
4214configured. To build the Import route-map for client RA in the route
4215server, simply add route-map entries following this scheme:
4216
4217 route-map <NAME> permit 10
4218 match peer <Peer Address>
4219 call <In Route-Map for this Peer>
4220 route-map <NAME> permit 20
4221 match peer <Another Peer Address>
4222 call <In Route-Map for this Peer>
4223
4224 This is exactly the process that has been followed to generate the
4225route-map RSCLIENT-A-IMPORT. The route-maps that are called inside it
4226(A-IMPORT-FROM-B and A-IMPORT-FROM-C) are exactly the same than the In
4227route-maps from the original configuration of RA (PEER-B-IN and
4228PEER-C-IN), only the name is different.
4229
4230 The same could have been done to create the Export policy for RA
4231(route-map RSCLIENT-A-EXPORT), but in this case the original Out
4232route-maps where so simple that we decided not to use the CALL WORD
4233commands, and we integrated all in a single route-map
4234(RSCLIENT-A-EXPORT).
4235
4236 The Import and Export policies for RB and RC are not shown, but the
4237process would be identical.
4238
4239
4240File: quagga.info, Node: Further considerations about Import and Export route-maps, Prev: Configuration of the Route Server itself, Up: Example of Route Server Configuration
4241
424210.3.4 Further considerations about Import and Export route-maps
4243----------------------------------------------------------------
4244
4245The current version of the route server patch only allows to specify a
4246route-map for import and export policies, while in a standard BGP
4247speaker apart from route-maps there are other tools for performing
4248input and output filtering (access-lists, community-lists, ...). But
4249this does not represent any limitation, as all kinds of filters can be
4250included in import/export route-maps. For example suppose that in the
4251non-route-server scenario peer RA had the following filters configured
4252for input from peer B:
4253
4254 neighbor 2001:0DB8::B prefix-list LIST-1 in
4255 neighbor 2001:0DB8::B filter-list LIST-2 in
4256 neighbor 2001:0DB8::B route-map PEER-B-IN in
4257 ...
4258 ...
4259 route-map PEER-B-IN permit 10
4260 match ipv6 address prefix-list COMMON-PREFIXES
4261 set local-preference 100
4262 route-map PEER-B-IN permit 20
4263 match ipv6 address prefix-list PEER-B-PREFIXES
4264 set community 65001:11111
4265
4266 It is posible to write a single route-map which is equivalent to the
4267three filters (the community-list, the prefix-list and the route-map).
4268That route-map can then be used inside the Import policy in the route
4269server. Lets see how to do it:
4270
4271 neighbor 2001:0DB8::A route-map RSCLIENT-A-IMPORT import
4272 ...
4273 !
4274 ...
4275 route-map RSCLIENT-A-IMPORT permit 10
4276 match peer 2001:0DB8::B
4277 call A-IMPORT-FROM-B
4278 ...
4279 ...
4280 !
4281 route-map A-IMPORT-FROM-B permit 1
4282 match ipv6 address prefix-list LIST-1
4283 match as-path LIST-2
4284 on-match goto 10
4285 route-map A-IMPORT-FROM-B deny 2
4286 route-map A-IMPORT-FROM-B permit 10
4287 match ipv6 address prefix-list COMMON-PREFIXES
4288 set local-preference 100
4289 route-map A-IMPORT-FROM-B permit 20
4290 match ipv6 address prefix-list PEER-B-PREFIXES
4291 set community 65001:11111
4292 !
4293 ...
4294 ...
4295
4296 The route-map A-IMPORT-FROM-B is equivalent to the three filters
4297(LIST-1, LIST-2 and PEER-B-IN). The first entry of route-map
4298A-IMPORT-FROM-B (sequence number 1) matches if and only if both the
4299prefix-list LIST-1 and the filter-list LIST-2 match. If that happens,
4300due to the "on-match goto 10" statement the next route-map entry to be
4301processed will be number 10, and as of that point route-map
4302A-IMPORT-FROM-B is identical to PEER-B-IN. If the first entry does not
4303match, `on-match goto 10" will be ignored and the next processed entry
4304will be number 2, which will deny the route.
4305
4306 Thus, the result is the same that with the three original filters,
4307i.e., if either LIST-1 or LIST-2 rejects the route, it does not reach
4308the route-map PEER-B-IN. In case both LIST-1 and LIST-2 accept the
4309route, it passes to PEER-B-IN, which can reject, accept or modify the
4310route.
4311
4312
4313File: quagga.info, Node: VTY shell, Next: Filtering, Prev: Configuring Quagga as a Route Server, Up: Top
4314
431511 VTY shell
4316************
4317
4318`vtysh' is integrated shell of Quagga software.
4319
4320 To use vtysh please specify --enable-vtysh to configure script. To
4321use PAM for authentication use --with-libpam option to configure script.
4322
4323 vtysh only searches /etc/quagga path for vtysh.conf which is the
4324vtysh configuration file. Vtysh does not search current directory for
4325configuration file because the file includes user authentication
4326settings.
4327
4328 Currently, vtysh.conf has only two commands.
4329
4330* Menu:
4331
4332* VTY shell username::
4333* VTY shell integrated configuration::
4334
4335
4336File: quagga.info, Node: VTY shell username, Next: VTY shell integrated configuration, Up: VTY shell
4337
433811.1 VTY shell username
4339=======================
4340
4341 -- Command: username USERNAME nopassword
4342 With this set, user foo does not need password authentication for
4343 user vtysh. With PAM vtysh uses PAM authentication mechanism.
4344
4345 If vtysh is compiled without PAM authentication, every user can
4346 use vtysh without authentication. vtysh requires read/write
4347 permission to the various daemons vty sockets, this can be
4348 accomplished through use of unix groups and the -enable-vty-group
4349 configure option.
4350
4351
4352
4353File: quagga.info, Node: VTY shell integrated configuration, Prev: VTY shell username, Up: VTY shell
4354
paulafc1e2d2005-01-10 22:31:16 +0000435511.2 VTY shell integrated configuration
4356=======================================
paul56d1d202004-11-15 21:56:53 +00004357
4358 -- Command: service integrated-vtysh-config
4359 Write out integrated Quagga.conf file when 'write file' is issued.
4360
4361 This command controls the behaviour of vtysh when it is told to
4362 write out the configuration. Per default, vtysh will instruct
4363 each daemon to write out their own config files when `write file'
4364 is issued. However, if `service integrated-vtysh-config' is set,
4365 when `write file' is issued, vtysh will instruct the daemons will
4366 write out a Quagga.conf with all daemons' commands integrated into
4367 it.
4368
4369 Vtysh per default behaves as if `write-conf daemon' is set. Note
4370 that both may be set at same time if one wishes to have both
4371 Quagga.conf and daemon specific files written out. Further, note
4372 that the daemons are hard-coded to first look for the integrated
4373 Quagga.conf file before looking for their own file.
4374
4375 We recommend you do not mix the use of the two types of files.
4376 Further, it is better not to use the integrated Quagga.conf file,
4377 as any syntax error in it can lead to /all/ of your daemons being
4378 unable to start up. Per daemon files are more robust as impact of
4379 errors in configuration are limited to the daemon in whose file
4380 the error is made.
4381
4382
4383
4384File: quagga.info, Node: Filtering, Next: Route Map, Prev: VTY shell, Up: Top
4385
438612 Filtering
4387************
4388
4389Quagga provides many very flexible filtering features. Filtering is
4390used for both input and output of the routing information. Once
4391filtering is defined, it can be applied in any direction.
4392
4393* Menu:
4394
4395* IP Access List::
4396* IP Prefix List::
4397
4398
4399File: quagga.info, Node: IP Access List, Next: IP Prefix List, Up: Filtering
4400
440112.1 IP Access List
4402===================
4403
4404 -- Command: access-list NAME permit IPV4-NETWORK
4405 -- Command: access-list NAME deny IPV4-NETWORK
4406
4407 Basic filtering is done by `access-list' as shown in the following
4408example.
4409
4410 access-list filter deny 10.0.0.0/9
4411 access-list filter permit 10.0.0.0/8
4412
4413
4414File: quagga.info, Node: IP Prefix List, Prev: IP Access List, Up: Filtering
4415
441612.2 IP Prefix List
4417===================
4418
4419`ip prefix-list' provides the most powerful prefix based filtering
4420mechanism. In addition to `access-list' functionality, `ip
4421prefix-list' has prefix length range specification and sequential
4422number specification. You can add or delete prefix based filters to
4423arbitrary points of prefix-list using sequential number specification.
4424
4425 If no ip prefix-list is specified, it acts as permit. If `ip
4426prefix-list' is defined, and no match is found, default deny is applied.
4427
4428 -- Command: ip prefix-list NAME (permit|deny) PREFIX [le LEN] [ge LEN]
4429 -- Command: ip prefix-list NAME seq NUMBER (permit|deny) PREFIX [le
4430LEN] [ge LEN]
4431 You can create `ip prefix-list' using above commands.
4432
4433 seq
4434 seq NUMBER can be set either automatically or manually. In
4435 the case that sequential numbers are set manually, the user
4436 may pick any number less than 4294967295. In the case that
4437 sequential number are set automatically, the sequential
4438 number will increase by a unit of five (5) per list. If a
4439 list with no specified sequential number is created after a
4440 list with a specified sequential number, the list will
4441 automatically pick the next multiple of five (5) as the list
4442 number. For example, if a list with number 2 already exists
4443 and a new list with no specified number is created, the next
4444 list will be numbered 5. If lists 2 and 7 already exist and
4445 a new list with no specified number is created, the new list
4446 will be numbered 10.
4447
4448 le
4449 `le' command specifies prefix length. The prefix list will be
4450 applied if the prefix length is less than or equal to the le
4451 prefix length.
4452
4453 ge
4454 `ge' command specifies prefix length. The prefix list will be
4455 applied if the prefix length is greater than or equal to the
4456 ge prefix length.
4457
4458
4459
4460 Less than or equal to prefix numbers and greater than or equal to
4461prefix numbers can be used together. The order of the le and ge
4462commands does not matter.
4463
4464 If a prefix list with a different sequential number but with the
4465exact same rules as a previous list is created, an error will result.
4466However, in the case that the sequential number and the rules are
4467exactly similar, no error will result.
4468
4469 If a list with the same sequential number as a previous list is
4470created, the new list will overwrite the old list.
4471
4472 Matching of IP Prefix is performed from the smaller sequential
4473number to the larger. The matching will stop once any rule has been
4474applied.
4475
4476 In the case of no le or ge command, the prefix length must match
4477exactly the length specified in the prefix list.
4478
4479 -- Command: no ip prefix-list NAME
4480
4481* Menu:
4482
4483* ip prefix-list description::
4484* ip prefix-list sequential number control::
4485* Showing ip prefix-list::
4486* Clear counter of ip prefix-list::
4487
4488
4489File: quagga.info, Node: ip prefix-list description, Next: ip prefix-list sequential number control, Up: IP Prefix List
4490
449112.2.1 ip prefix-list description
4492---------------------------------
4493
4494 -- Command: ip prefix-list NAME description DESC
4495 Descriptions may be added to prefix lists. This command adds a
4496 description to the prefix list.
4497
4498 -- Command: no ip prefix-list NAME description [DESC]
4499 Deletes the description from a prefix list. It is possible to use
4500 the command without the full description.
4501
4502
4503File: quagga.info, Node: ip prefix-list sequential number control, Next: Showing ip prefix-list, Prev: ip prefix-list description, Up: IP Prefix List
4504
450512.2.2 ip prefix-list sequential number control
4506-----------------------------------------------
4507
4508 -- Command: ip prefix-list sequence-number
4509 With this command, the IP prefix list sequential number is
4510 displayed. This is the default behavior.
4511
4512 -- Command: no ip prefix-list sequence-number
4513 With this command, the IP prefix list sequential number is not
4514 displayed.
4515
4516
4517File: 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
4518
451912.2.3 Showing ip prefix-list
4520-----------------------------
4521
4522 -- Command: show ip prefix-list
4523 Display all IP prefix lists.
4524
4525 -- Command: show ip prefix-list NAME
4526 Show IP prefix list can be used with a prefix list name.
4527
4528 -- Command: show ip prefix-list NAME seq NUM
4529 Show IP prefix list can be used with a prefix list name and
4530 sequential number.
4531
4532 -- Command: show ip prefix-list NAME A.B.C.D/M
4533 If the command longer is used, all prefix lists with prefix
4534 lengths equal to or longer than the specified length will be
4535 displayed. If the command first match is used, the first prefix
4536 length match will be displayed.
4537
4538 -- Command: show ip prefix-list NAME A.B.C.D/M longer
4539
4540 -- Command: show ip prefix-list NAME A.B.C.D/M first-match
4541
4542 -- Command: show ip prefix-list summary
4543
4544 -- Command: show ip prefix-list summary NAME
4545
4546 -- Command: show ip prefix-list detail
4547
4548 -- Command: show ip prefix-list detail NAME
4549
4550
4551File: quagga.info, Node: Clear counter of ip prefix-list, Prev: Showing ip prefix-list, Up: IP Prefix List
4552
455312.2.4 Clear counter of ip prefix-list
4554--------------------------------------
4555
4556 -- Command: clear ip prefix-list
4557 Clears the counters of all IP prefix lists. Clear IP Prefix List
4558 can be used with a specified name and prefix.
4559
4560 -- Command: clear ip prefix-list NAME
4561
4562 -- Command: clear ip prefix-list NAME A.B.C.D/M
4563
4564
4565File: quagga.info, Node: Route Map, Next: IPv6 Support, Prev: Filtering, Up: Top
4566
456713 Route Map
4568************
4569
4570Route map is a very useful function in zebra. There is a match and set
4571statement permitted in a route map.
4572
4573 route-map test permit 10
4574 match ip address 10
4575 set local-preference 200
4576
4577 This means that if a route matches ip access-list number 10 it's
4578local-preference value is set to 200.
4579
4580* Menu:
4581
4582* Route Map Command::
4583* Route Map Match Command::
4584* Route Map Set Command::
4585
4586
4587File: quagga.info, Node: Route Map Command, Next: Route Map Match Command, Up: Route Map
4588
458913.1 Route Map Command
4590======================
4591
4592 -- Command: route-map ROUTE-MAP-NAME permit PRIORITY
4593
4594
4595File: quagga.info, Node: Route Map Match Command, Next: Route Map Set Command, Prev: Route Map Command, Up: Route Map
4596
459713.2 Route Map Match Command
4598============================
4599
4600 -- Route-map Command: match ip address ACCESS_LIST
4601 Matches the specified ACCESS_LIST
4602
4603 -- Route-map Command: match ip next-hop IPV4_ADDR
4604 Matches the specified IPV4_ADDR.
4605
4606 -- Route-map Command: match aspath AS_PATH
4607 Matches the specified AS_PATH.
4608
4609 -- Route-map Command: match metric METRIC
4610 Matches the specified METRIC.
4611
4612 -- Route-map Command: match community COMMUNITY_LIST
4613 Matches the specified COMMUNITY_LIST
4614
4615
4616File: quagga.info, Node: Route Map Set Command, Prev: Route Map Match Command, Up: Route Map
4617
461813.3 Route Map Set Command
4619==========================
4620
4621 -- Route-map Command: set ip next-hop IPV4_ADDRESS
4622 Set the BGP nexthop address.
4623
4624 -- Route-map Command: set local-preference LOCAL_PREF
4625 Set the BGP local preference.
4626
4627 -- Route-map Command: set weight WEIGHT
4628 Set the route's weight.
4629
4630 -- Route-map Command: set metric METRIC
4631 Set the BGP attribute MED.
4632
4633 -- Route-map Command: set as-path prepend AS_PATH
4634 Set the BGP AS path to prepend.
4635
4636 -- Route-map Command: set community COMMUNITY
4637 Set the BGP community attribute.
4638
4639 -- Route-map Command: set ipv6 next-hop global IPV6_ADDRESS
4640 Set the BGP-4+ global IPv6 nexthop address.
4641
4642 -- Route-map Command: set ipv6 next-hop local IPV6_ADDRESS
4643 Set the BGP-4+ link local IPv6 nexthop address.
4644
4645
4646File: quagga.info, Node: IPv6 Support, Next: Kernel Interface, Prev: Route Map, Up: Top
4647
464814 IPv6 Support
4649***************
4650
4651Quagga fully supports IPv6 routing. As described so far, Quagga
4652supports RIPng, OSPFv3 and BGP-4+. You can give IPv6 addresses to an
4653interface and configure static IPv6 routing information. Quagga IPv6
4654also provides automatic address configuration via a feature called
4655`address auto configuration'. To do it, the router must send router
4656advertisement messages to the all nodes that exist on the network.
4657
4658* Menu:
4659
4660* Router Advertisement::
4661
4662
4663File: quagga.info, Node: Router Advertisement, Up: IPv6 Support
4664
466514.1 Router Advertisement
4666=========================
4667
4668 -- Interface Command: no ipv6 nd suppress-ra
4669 Send router advertisment messages.
4670
4671 -- Interface Command: ipv6 nd suppress-ra
4672 Don't send router advertisment messages.
4673
4674 -- Interface Command: ipv6 nd prefix IPV6PREFIX [VALID-LIFETIME]
paulbbd938e2005-04-02 10:18:42 +00004675[PREFERRED-LIFETIME] [off-link] [no-autoconfig] [router-address]
paul56d1d202004-11-15 21:56:53 +00004676 Configuring the IPv6 prefix to include in router advertisements.
4677 Several prefix specific optional parameters and flags may follow:
4678 * VALID-LIFETIME - the length of time in seconds during what
4679 the prefix is valid for the purpose of on-link determination.
4680 Value INFINITE represents infinity (i.e. a value of all one
4681 bits (`0xffffffff')).
4682
4683 Range: `<0-4294967295>' Default: `2592000'
4684
4685 * PREFERRED-LIFETIME - the length of time in seconds during
4686 what addresses generated from the prefix remain preferred.
4687 Value INFINITE represents infinity.
4688
4689 Range: `<0-4294967295>' Default: `604800'
4690
4691 * OFF-LINK - indicates that advertisement makes no statement
4692 about on-link or off-link properties of the prefix.
4693
4694 Default: not set, i.e. this prefix can be used for on-link
4695 determination.
4696
4697 * NO-AUTOCONFIG - indicates to hosts on the local link that the
4698 specified prefix cannot be used for IPv6 autoconfiguration.
4699
4700 Default: not set, i.e. prefix can be used for
4701 autoconfiguration.
4702
paulbbd938e2005-04-02 10:18:42 +00004703 * ROUTER-ADDRESS - indicates to hosts on the local link that
4704 the specified prefix contains a complete IP address by
4705 setting R flag.
4706
4707 Default: not set, i.e. hosts do not assume a complete IP
4708 address is placed.
4709
paul56d1d202004-11-15 21:56:53 +00004710 -- Interface Command: ipv6 nd ra-interval SECONDS
4711 -- Interface Command: no ipv6 nd ra-interval
4712 The maximum time allowed between sending unsolicited multicast
4713 router advertisements from the interface, in seconds. Must be no
4714 less than 3 seconds.
4715
4716 Default: `600'
4717
paulbbd938e2005-04-02 10:18:42 +00004718 -- Interface Command: ipv6 nd ra-interval msec MILLISECONDS
4719 -- Interface Command: no ipv6 nd ra-interval msec
4720 The maximum time allowed between sending unsolicited multicast
4721 router advertisements from the interface, in milliseconds. Must be
4722 no less than 30 milliseconds.
4723
4724 Default: `600000'
4725
paul56d1d202004-11-15 21:56:53 +00004726 -- Interface Command: ipv6 nd ra-lifetime SECONDS
4727 -- Interface Command: no ipv6 nd ra-lifetime
4728 The value to be placed in the Router Lifetime field of router
4729 advertisements sent from the interface, in seconds. Indicates the
4730 usefulness of the router as a default router on this interface.
4731 Setting the value to zero indicates that the router should not be
4732 considered a default router on this interface. Must be either
4733 zero or between value specified with IPV6 ND RA-INTERVAL (or
4734 default) and 9000 seconds.
4735
4736 Default: `1800'
4737
4738 -- Interface Command: ipv6 nd reachable-time MILLISECONDS
4739 -- Interface Command: no ipv6 nd reachable-time
4740 The value to be placed in the Reachable Time field in the Router
4741 Advertisement messages sent by the router, in milliseconds. The
4742 configured time enables the router to detect unavailable
4743 neighbors. The value zero means unspecified (by this router). Must
4744 be no greater than `3,600,000' milliseconds (1 hour).
4745
4746 Default: `0'
4747
4748 -- Interface Command: ipv6 nd managed-config-flag
4749 -- Interface Command: no ipv6 nd managed-config-flag
4750 Set/unset flag in IPv6 router advertisements which indicates to
4751 hosts that they should use managed (stateful) protocol for
4752 addresses autoconfiguration in addition to any addresses
4753 autoconfigured using stateless address autoconfiguration.
4754
4755 Default: not set
4756
4757 -- Interface Command: ipv6 nd other-config-flag
4758 -- Interface Command: no ipv6 nd other-config-flag
4759 Set/unset flag in IPv6 router advertisements which indicates to
4760 hosts that they should use administered (stateful) protocol to
4761 obtain autoconfiguration information other than addresses.
4762
4763 Default: not set
4764
paulbbd938e2005-04-02 10:18:42 +00004765 -- Interface Command: ipv6 nd home-agent-config-flag
4766 -- Interface Command: no ipv6 nd home-agent-config-flag
4767 Set/unset flag in IPv6 router advertisements which indicates to
4768 hosts that the router acts as a Home Agent and includes a Home
4769 Agent Option.
4770
4771 Default: not set
4772
4773 -- Interface Command: ipv6 nd home-agent-preference
4774 -- Interface Command: no ipv6 nd home-agent-preference
4775 The value to be placed in Home Agent Option, when Home Agent
4776 config flag is set, which indicates to hosts Home Agent preference.
4777
4778 Default: 0
4779
4780 -- Interface Command: ipv6 nd home-agent-lifetime
4781 -- Interface Command: no ipv6 nd home-agent-lifetime
4782 The value to be placed in Home Agent Option, when Home Agent
4783 config flag is set, which indicates to hosts Home Agent Lifetime.
4784 A value of 0 means to place Router Lifetime value.
4785
4786 Default: 0
4787
4788 -- Interface Command: ipv6 nd adv-interval-option
4789 -- Interface Command: no ipv6 nd adv-interval-option
4790 Include an Advertisement Interval option which indicates to hosts
4791 the maximum time, in milliseconds, between successive unsolicited
4792 Router Advertisements.
4793
4794 Default: not set
4795
paul56d1d202004-11-15 21:56:53 +00004796 interface eth0
4797 no ipv6 nd suppress-ra
4798 ipv6 nd prefix 2001:0DB8:5009::/64
4799
4800 For more information see `RFC2462 (IPv6 Stateless Address
paulbbd938e2005-04-02 10:18:42 +00004801Autoconfiguration)' , `RFC2461 (Neighbor Discovery for IP Version 6
4802(IPv6))' and `RFC3775 (Mobility Support in IPv6 (Mobile IPv6))'.
paul56d1d202004-11-15 21:56:53 +00004803
4804
4805File: quagga.info, Node: Kernel Interface, Next: SNMP Support, Prev: IPv6 Support, Up: Top
4806
480715 Kernel Interface
4808*******************
4809
4810There are several different methods for reading kernel routing table
4811information, updating kernel routing tables, and for looking up
4812interfaces.
4813
4814`ioctl'
4815 The `ioctl' method is a very traditional way for reading or writing
4816 kernel information. `ioctl' can be used for looking up interfaces
4817 and for modifying interface addresses, flags, mtu settings and
4818 other types of information. Also, `ioctl' can insert and delete
4819 kernel routing table entries. It will soon be available on almost
4820 any platform which zebra supports, but it is a little bit ugly
4821 thus far, so if a better method is supported by the kernel, zebra
4822 will use that.
4823
4824`sysctl'
4825 `sysctl' can lookup kernel information using MIB (Management
4826 Information Base) syntax. Normally, it only provides a way of
4827 getting information from the kernel. So one would usually want to
4828 change kernel information using another method such as `ioctl'.
4829
4830`proc filesystem'
4831 `proc filesystem' provides an easy way of getting kernel
4832 information.
4833
4834`routing socket'
4835
4836`netlink'
4837 On recent Linux kernels (2.0.x and 2.2.x), there is a kernel/user
4838 communication support called `netlink'. It makes asynchronous
4839 communication between kernel and Quagga possible, similar to a
4840 routing socket on BSD systems.
4841
4842 Before you use this feature, be sure to select (in kernel
4843 configuration) the kernel/netlink support option 'Kernel/User
4844 network link driver' and 'Routing messages'.
4845
4846 Today, the /dev/route special device file is obsolete. Netlink
4847 communication is done by reading/writing over netlink socket.
4848
4849 After the kernel configuration, please reconfigure and rebuild
4850 Quagga. You can use netlink as a dynamic routing update channel
4851 between Quagga and the kernel.
4852
4853
4854File: quagga.info, Node: SNMP Support, Next: Zebra Protocol, Prev: Kernel Interface, Up: Top
4855
485616 SNMP Support
4857***************
4858
4859SNMP (Simple Network Managing Protocol) is a widely implemented feature
4860for collecting network information from router and/or host. Quagga
4861itself does not support SNMP agent (server daemon) functionality but is
4862able to connect to a SNMP agent using the SMUX protocol (RFC1227) and
4863make the routing protocol MIBs available through it.
4864
4865* Menu:
4866
4867* Getting and installing an SNMP agent::
4868* SMUX configuration::
4869* MIB and command reference::
4870
4871
4872File: quagga.info, Node: Getting and installing an SNMP agent, Next: SMUX configuration, Up: SNMP Support
4873
487416.1 Getting and installing an SNMP agent
4875=========================================
4876
4877There are several SNMP agent which support SMUX. We recommend to use
4878the latest version of `net-snmp' which was formerly known as `ucd-snmp'.
4879It is free and open software and available at `http://www.net-snmp.org/'
4880and as binary package for most Linux distributions. `net-snmp' has to
4881be compiled with `--with-mib-modules=smux' to be able to accept
4882connections from Quagga.
4883
4884
4885File: quagga.info, Node: SMUX configuration, Next: MIB and command reference, Prev: Getting and installing an SNMP agent, Up: SNMP Support
4886
488716.2 SMUX configuration
4888=======================
4889
4890To enable SMUX protocol support, Quagga must have been build with the
4891`--enable-snmp' option.
4892
4893 A separate connection has then to be established between between the
4894SNMP agent (snmpd) and each of the Quagga daemons. This connections
4895each use different OID numbers and passwords. Be aware that this OID
4896number is not the one that is used in queries by clients, it is solely
4897used for the intercommunication of the daemons.
4898
4899 In the following example the ospfd daemon will be connected to the
4900snmpd daemon using the password "quagga_ospfd". For testing it is
4901recommending to take exactly the below snmpd.conf as wrong access
4902restrictions can be hard to debug.
4903
4904 /etc/snmp/snmpd.conf:
4905 #
4906 # example access restrictions setup
4907 #
4908 com2sec readonly default public
4909 group MyROGroup v1 readonly
4910 view all included .1 80
4911 access MyROGroup "" any noauth exact all none none
4912 #
4913 # the following line is relevant for Quagga
4914 #
4915 smuxpeer .1.3.6.1.4.1.3317.1.2.5 quagga_ospfd
4916
4917 /etc/quagga/ospf:
4918 ! ... the rest of ospfd.conf has been omitted for clarity ...
4919 !
4920 smux peer .1.3.6.1.4.1.3317.1.2.5 quagga_ospfd
4921 !
4922
4923 After restarting snmpd and quagga, a successful connection can be
4924verified in the syslog and by querying the SNMP daemon:
4925
4926 snmpd[12300]: [smux_accept] accepted fd 12 from 127.0.0.1:36255
4927 snmpd[12300]: accepted smux peer: \
4928 oid GNOME-PRODUCT-ZEBRA-MIB::ospfd, quagga-0.96.5
4929
4930 # snmpwalk -c public -v1 localhost .1.3.6.1.2.1.14.1.1
4931 OSPF-MIB::ospfRouterId.0 = IpAddress: 192.168.42.109
4932
4933 Be warned that the current version (5.1.1) of the Net-SNMP daemon
4934writes a line for every SNMP connect to the syslog which can lead to
4935enormous log file sizes. If that is a problem you should consider to
4936patch snmpd and comment out the troublesome `snmp_log()' line in the
4937function `netsnmp_agent_check_packet()' in `agent/snmp_agent.c'.
4938
4939
4940File: quagga.info, Node: MIB and command reference, Prev: SMUX configuration, Up: SNMP Support
4941
494216.3 MIB and command reference
4943==============================
4944
4945The following OID numbers are used for the interprocess communication
4946of snmpd and the Quagga daemons. Sadly, SNMP has not been implemented
4947in all daemons yet.
4948 (OIDs below .iso.org.dod.internet.private.enterprises)
4949 zebra .1.3.6.1.4.1.3317.1.2.1 .gnome.gnomeProducts.zebra.zserv
4950 bgpd .1.3.6.1.4.1.3317.1.2.2 .gnome.gnomeProducts.zebra.bgpd
4951 ripd .1.3.6.1.4.1.3317.1.2.3 .gnome.gnomeProducts.zebra.ripd
4952 ospfd .1.3.6.1.4.1.3317.1.2.5 .gnome.gnomeProducts.zebra.ospfd
4953 ospf6d .1.3.6.1.4.1.3317.1.2.6 .gnome.gnomeProducts.zebra.ospf6d
4954
4955 The following OID numbers are used for querying the SNMP daemon by a
4956client:
4957 zebra .1.3.6.1.2.1.4.24 .iso.org.dot.internet.mgmt.mib-2.ip.ipForward
4958 ospfd .1.3.6.1.2.1.14 .iso.org.dot.internet.mgmt.mib-2.ospf
4959 bgpd .1.3.6.1.2.1.15 .iso.org.dot.internet.mgmt.mib-2.bgp
4960 ripd .1.3.6.1.2.1.23 .iso.org.dot.internet.mgmt.mib-2.rip2
4961 ospf6d .1.3.6.1.3.102 .iso.org.dod.internet.experimental.ospfv3
4962
4963 The following syntax is understood by the Quagga daemons for
4964configuring SNMP:
4965
4966 -- Command: smux peer OID
4967 -- Command: no smux peer OID
4968
4969 -- Command: smux peer OID PASSWORD
4970 -- Command: no smux peer OID PASSWORD
4971
4972
4973File: quagga.info, Node: Zebra Protocol, Next: Packet Binary Dump Format, Prev: SNMP Support, Up: Top
4974
4975Appendix A Zebra Protocol
4976*************************
4977
4978Zebra Protocol is a protocol which is used between protocol daemon and
4979zebra. Each protocol daemon sends selected routes to zebra daemon.
4980Then zebra manages which route is installed into the forwarding table.
4981
4982 Zebra Protocol is a TCP-based protocol. Below is common header of
4983Zebra Protocol.
4984
4985 0 1 2 3
4986 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
4987 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
4988 | Length (2) | Command (1) |
4989 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
4990
4991 Length is total packet length including this header length. So
4992minimum length is three. Command is Zebra Protocol command.
4993
4994 ZEBRA_INTERFACE_ADD 1
4995 ZEBRA_INTERFACE_DELETE 2
4996 ZEBRA_INTERFACE_ADDRESS_ADD 3
4997 ZEBRA_INTERFACE_ADDRESS_DELETE 4
4998 ZEBRA_INTERFACE_UP 5
4999 ZEBRA_INTERFACE_DOWN 6
5000 ZEBRA_IPV4_ROUTE_ADD 7
5001 ZEBRA_IPV4_ROUTE_DELETE 8
5002 ZEBRA_IPV6_ROUTE_ADD 9
5003 ZEBRA_IPV6_ROUTE_DELETE 10
5004 ZEBRA_REDISTRIBUTE_ADD 11
5005 ZEBRA_REDISTRIBUTE_DELETE 12
5006 ZEBRA_REDISTRIBUTE_DEFAULT_ADD 13
5007 ZEBRA_REDISTRIBUTE_DEFAULT_DELETE 14
5008 ZEBRA_IPV4_NEXTHOP_LOOKUP 15
5009 ZEBRA_IPV6_NEXTHOP_LOOKUP 16
5010
5011 0 1 2 3
5012 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
5013 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
5014 | Type | Flags |
5015 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
5016
5017
5018File: quagga.info, Node: Packet Binary Dump Format, Next: Command Index, Prev: Zebra Protocol, Up: Top
5019
5020Appendix B Packet Binary Dump Format
5021************************************
5022
5023Quagga can dump routing protocol packet into file with a binary format
5024(*note Dump BGP packets and table::).
5025
5026 It seems to be better that we share the MRT's header format for
5027backward compatibility with MRT's dump logs. We should also define the
5028binary format excluding the header, because we must support both IP v4
5029and v6 addresses as socket addresses and / or routing entries.
5030
5031 In the last meeting, we discussed to have a version field in the
5032header. But Masaki told us that we can define new `type' value rather
5033than having a `version' field, and it seems to be better because we
5034don't need to change header format.
5035
5036 Here is the common header format. This is same as that of MRT.
5037
5038 0 1 2 3
5039 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
5040 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
5041 | Time |
5042 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
5043 | Type | Subtype |
5044 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
5045 | Length |
5046 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
5047
5048 If `type' is PROTOCOL_BGP4MP, `subtype' is BGP4MP_STATE_CHANGE, and
5049Address Family == IP (version 4)
5050
5051 0 1 2 3
5052 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
5053 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
5054 | Source AS number | Destination AS number |
5055 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
5056 | Interface Index | Address Family |
5057 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
5058 | Source IP address |
5059 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
5060 | Destination IP address |
5061 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
5062 | Old State | New State |
5063 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
5064
5065 Where State is the value defined in RFC1771.
5066
5067 If `type' is PROTOCOL_BGP4MP, `subtype' is BGP4MP_STATE_CHANGE, and
5068Address Family == IP version 6
5069
5070 0 1 2 3
5071 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
5072 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
5073 | Source AS number | Destination AS number |
5074 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
5075 | Interface Index | Address Family |
5076 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
5077 | Source IP address |
5078 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
5079 | Source IP address (Cont'd) |
5080 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
5081 | Source IP address (Cont'd) |
5082 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
5083 | Source IP address (Cont'd) |
5084 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
5085 | Destination IP address |
5086 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
5087 | Destination IP address (Cont'd) |
5088 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
5089 | Destination IP address (Cont'd) |
5090 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
5091 | Destination IP address (Cont'd) |
5092 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
5093 | Old State | New State |
5094 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
5095
5096 If `type' is PROTOCOL_BGP4MP, `subtype' is BGP4MP_MESSAGE, and
5097Address Family == IP (version 4)
5098
5099 0 1 2 3
5100 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
5101 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
5102 | Source AS number | Destination AS number |
5103 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
5104 | Interface Index | Address Family |
5105 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
5106 | Source IP address |
5107 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
5108 | Destination IP address |
5109 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
5110 | BGP Message Packet |
5111 | |
5112 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
5113
5114 Where BGP Message Packet is the whole contents of the BGP4 message
5115including header portion.
5116
5117 If `type' is PROTOCOL_BGP4MP, `subtype' is BGP4MP_MESSAGE, and
5118Address Family == IP version 6
5119
5120 0 1 2 3
5121 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
5122 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
5123 | Source AS number | Destination AS number |
5124 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
5125 | Interface Index | Address Family |
5126 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
5127 | Source IP address |
5128 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
5129 | Source IP address (Cont'd) |
5130 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
5131 | Source IP address (Cont'd) |
5132 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
5133 | Source IP address (Cont'd) |
5134 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
5135 | Destination IP address |
5136 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
5137 | Destination IP address (Cont'd) |
5138 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
5139 | Destination IP address (Cont'd) |
5140 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
5141 | Destination IP address (Cont'd) |
5142 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
5143 | BGP Message Packet |
5144 | |
5145 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
5146
5147 If `type' is PROTOCOL_BGP4MP, `subtype' is BGP4MP_ENTRY, and Address
5148Family == IP (version 4)
5149
5150 0 1 2 3
5151 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
5152 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
5153 | View # | Status |
5154 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
5155 | Time Last Change |
5156 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
5157 | Address Family | SAFI | Next-Hop-Len |
5158 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
5159 | Next Hop Address |
5160 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
5161 | Prefix Length | Address Prefix [variable] |
5162 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
5163 | Attribute Length |
5164 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
5165 | BGP Attribute [variable length] |
5166 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
5167
5168 If `type' is PROTOCOL_BGP4MP, `subtype' is BGP4MP_ENTRY, and Address
5169Family == IP version 6
5170
5171 0 1 2 3
5172 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
5173 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
5174 | View # | Status |
5175 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
5176 | Time Last Change |
5177 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
5178 | Address Family | SAFI | Next-Hop-Len |
5179 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
5180 | Next Hop Address |
5181 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
5182 | Next Hop Address (Cont'd) |
5183 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
5184 | Next Hop Address (Cont'd) |
5185 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
5186 | Next Hop Address (Cont'd) |
5187 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
5188 | Prefix Length | Address Prefix [variable] |
5189 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
5190 | Address Prefix (cont'd) [variable] |
5191 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
5192 | Attribute Length |
5193 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
5194 | BGP Attribute [variable length] |
5195 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
5196
5197 BGP4 Attribute must not contain MP_UNREACH_NLRI. If BGP Attribute
5198has MP_REACH_NLRI field, it must has zero length NLRI, e.g.,
5199MP_REACH_NLRI has only Address Family, SAFI and next-hop values.
5200
5201 If `type' is PROTOCOL_BGP4MP and `subtype' is BGP4MP_SNAPSHOT,
5202
5203 0 1 2 3
5204 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
5205 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
5206 | View # | File Name [variable] |
5207 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
5208
5209 The file specified in "File Name" contains all routing entries,
5210which are in the format of "subtype == BGP4MP_ENTRY".
5211
5212 Constants:
5213 /* type value */
5214 #define MSG_PROTOCOL_BGP4MP 16
5215 /* subtype value */
5216 #define BGP4MP_STATE_CHANGE 0
5217 #define BGP4MP_MESSAGE 1
5218 #define BGP4MP_ENTRY 2
5219 #define BGP4MP_SNAPSHOT 3
5220
5221
5222File: quagga.info, Node: Command Index, Next: VTY Key Index, Prev: Packet Binary Dump Format, Up: Top
5223
5224Command Index
5225*************
5226
5227�[index�]
5228* Menu:
5229
5230* access-class ACCESS-LIST: Basic Config Commands.
ajsc70257d2005-02-03 17:12:01 +00005231 (line 128)
paul56d1d202004-11-15 21:56:53 +00005232* access-list NAME deny IPV4-NETWORK: IP Access List. (line 8)
5233* access-list NAME permit IPV4-NETWORK: IP Access List. (line 7)
5234* aggregate-address A.B.C.D/M: Route Aggregation. (line 7)
5235* aggregate-address A.B.C.D/M as-set: Route Aggregation. (line 10)
5236* aggregate-address A.B.C.D/M summary-only: Route Aggregation.
5237 (line 14)
5238* area <0-4294967295> authentication: OSPF area. (line 107)
5239* area <0-4294967295> authentication message-digest: OSPF area.
5240 (line 112)
5241* area <0-4294967295> export-list NAME: OSPF area. (line 70)
5242* area <0-4294967295> filter-list prefix NAME in: OSPF area. (line 97)
5243* area <0-4294967295> filter-list prefix NAME out: OSPF area. (line 98)
5244* area <0-4294967295> import-list NAME: OSPF area. (line 89)
5245* area <0-4294967295> range A.B.C.D/M: OSPF area. (line 8)
5246* area <0-4294967295> shortcut: OSPF area. (line 52)
5247* area <0-4294967295> stub: OSPF area. (line 57)
5248* area <0-4294967295> stub no-summary: OSPF area. (line 62)
5249* area <0-4294967295> virtual-link A.B.C.D: OSPF area. (line 47)
5250* area A.B.C.D authentication: OSPF area. (line 106)
5251* area A.B.C.D authentication message-digest: OSPF area. (line 111)
5252* area A.B.C.D default-cost <0-16777215>: OSPF area. (line 66)
5253* area A.B.C.D export-list NAME: OSPF area. (line 69)
5254* area A.B.C.D filter-list prefix NAME in: OSPF area. (line 95)
5255* area A.B.C.D filter-list prefix NAME out: OSPF area. (line 96)
5256* area A.B.C.D import-list NAME: OSPF area. (line 88)
5257* area A.B.C.D range A.B.C.D/M: OSPF area. (line 7)
5258* area A.B.C.D range IPV4_PREFIX not-advertise: OSPF area. (line 26)
5259* area A.B.C.D range IPV4_PREFIX substitute IPV4_PREFIX: OSPF area.
5260 (line 32)
5261* area A.B.C.D shortcut: OSPF area. (line 51)
5262* area A.B.C.D stub: OSPF area. (line 56)
5263* area A.B.C.D stub no-summary: OSPF area. (line 61)
5264* area A.B.C.D virtual-link A.B.C.D: OSPF area. (line 46)
5265* auto-cost refrence-bandwidth <1-4294967>: OSPF router. (line 53)
5266* bandwidth <1-10000000>: Interface Commands. (line 31)
5267* banner motd default: Basic Config Commands.
ajsc70257d2005-02-03 17:12:01 +00005268 (line 110)
paulc7959912005-04-10 16:43:40 +00005269* bgp bestpath as-path confed: BGP decision process.
5270 (line 19)
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:
paul08e044f2005-04-28 17:45:37 +00006076Node: Top1916
6077Node: Overview2511
6078Node: About Quagga3912
6079Node: System Architecture6165
6080Node: Supported Platforms8855
6081Node: Supported RFC9996
6082Node: How to get Quagga11960
6083Node: Mailing List12714
6084Node: Bug Reports13161
6085Node: Installation14039
6086Node: Configure the Software14473
6087Node: The Configure script and its options14721
6088Node: Least-Privilege support17909
6089Node: Linux notes19645
6090Ref: Linux notes-Footnote-121503
6091Node: Build the Software21569
6092Node: Install the Software22117
6093Node: Basic commands23577
6094Node: Config Commands24352
6095Node: Basic Config Commands25245
6096Node: Sample Config File30735
6097Node: Terminal Mode Commands31505
6098Node: Common Invocation Options32602
6099Node: Virtual Terminal Interfaces34009
6100Node: VTY Overview34520
6101Node: VTY Modes35771
6102Node: VTY View Mode36221
6103Node: VTY Enable Mode36471
6104Node: VTY Other Modes36749
6105Node: VTY CLI Commands36925
6106Node: CLI Movement Commands37385
6107Node: CLI Editing Commands37908
6108Node: CLI Advanced Commands38496
6109Node: Zebra39262
6110Node: Invoking zebra39771
6111Node: Interface Commands40350
6112Node: Static Route Commands41882
6113Node: zebra Terminal Mode Commands45155
6114Node: RIP46120
6115Node: Starting and Stopping ripd47057
6116Node: RIP netmask48470
6117Node: RIP Configuration49569
6118Node: How to Announce RIP route53834
6119Node: Filtering RIP Routes56397
6120Node: RIP Metric Manipulation57864
6121Node: RIP distance58777
6122Node: RIP route-map59592
6123Node: RIP Authentication62108
6124Node: RIP Timers63215
6125Node: Show RIP Information64501
6126Node: RIP Debug Commands65874
6127Node: RIPng66870
6128Node: Invoking ripngd67190
6129Node: ripngd Configuration67439
6130Node: ripngd Terminal Mode Commands68190
6131Node: ripngd Filtering Commands68554
6132Node: OSPFv269063
6133Node: Configuring ospfd69622
6134Node: OSPF router70090
6135Node: OSPF area73246
6136Node: OSPF interface78428
6137Node: Redistribute routes to OSPF81811
6138Node: Showing OSPF information83974
6139Node: Debugging OSPF85220
6140Node: OSPFv386259
6141Node: OSPF6 router86579
6142Node: OSPF6 area86933
6143Node: OSPF6 interface87111
6144Node: Redistribute routes to OSPF687988
6145Node: Showing OSPF6 information88304
6146Node: BGP89124
6147Node: Starting BGP90014
6148Node: BGP router90591
6149Node: BGP distance91835
6150Node: BGP decision process92273
6151Node: BGP network92755
6152Node: BGP route92945
6153Node: Route Aggregation93501
6154Node: Redistribute to BGP94070
6155Node: BGP Peer94597
6156Node: Defining Peer94784
6157Node: BGP Peer commands95397
6158Node: Peer filtering97801
6159Node: BGP Peer Group98309
6160Node: BGP Address Family98622
6161Node: Autonomous System98776
6162Node: AS Path Regular Expression99613
6163Node: Display BGP Routes by AS Path100860
6164Node: AS Path Access List101300
6165Node: Using AS Path in Route Map101767
6166Node: Private AS Numbers102048
6167Node: BGP Communities Attribute102206
6168Node: BGP Community Lists104673
6169Node: Numbered BGP Community Lists107327
6170Node: BGP Community in Route Map108914
6171Node: Display BGP Routes by Community110857
6172Node: Using BGP Communities Attribute112026
6173Node: BGP Extended Communities Attribute115594
6174Node: BGP Extended Community Lists117366
6175Node: BGP Extended Communities in Route Map119241
6176Node: Displaying BGP routes119700
6177Node: Show IP BGP119937
6178Node: More Show IP BGP120637
6179Node: Capability Negotiation121788
6180Node: Route Reflector125092
6181Node: Route Server125371
6182Node: Multiple instance126437
6183Node: BGP instance and view128248
6184Node: Routing policy129628
6185Node: Viewing the view130396
6186Node: How to set up a 6-Bone connection130681
6187Node: Dump BGP packets and table132053
6188Node: Configuring Quagga as a Route Server132600
6189Node: Description of the Route Server model133561
6190Ref: fig:normal-processing135138
6191Ref: fig:full-mesh135207
6192Ref: fig:route-server135232
6193Ref: filter-delegation135574
6194Ref: Route Server tasks136758
6195Ref: Route-server path filter process137129
6196Ref: fig:rs-processing139443
6197Node: Commands for configuring a Route Server139520
6198Node: Example of Route Server Configuration142547
6199Node: Configuration of the BGP routers without Route Server143468
6200Node: Configuration of the BGP routers with Route Server146351
6201Node: Configuration of the Route Server itself147652
6202Node: Further considerations about Import and Export route-maps152651
6203Node: VTY shell155695
6204Node: VTY shell username156364
6205Node: VTY shell integrated configuration156996
6206Node: Filtering158444
6207Node: IP Access List158797
6208Node: IP Prefix List159183
6209Node: ip prefix-list description162202
6210Node: ip prefix-list sequential number control162729
6211Node: Showing ip prefix-list163271
6212Node: Clear counter of ip prefix-list164379
6213Node: Route Map164818
6214Node: Route Map Command165323
6215Node: Route Map Match Command165520
6216Node: Route Map Set Command166144
6217Node: IPv6 Support167021
6218Node: Router Advertisement167593
6219Node: Kernel Interface173209
6220Node: SNMP Support175166
6221Node: Getting and installing an SNMP agent175738
6222Node: SMUX configuration176311
6223Node: MIB and command reference178447
6224Node: Zebra Protocol179834
6225Node: Packet Binary Dump Format181748
6226Node: Command Index193358
6227Node: VTY Key Index251065
paul56d1d202004-11-15 21:56:53 +00006228
6229End Tag Table