blob: 2ada2b3eb826170237144ca70eafcda7a964f32b [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
paul30d03832005-04-29 03:16:42 +000025 This is Edition 0.99.1, last updated 29 April 2005 of `The Quagga
26Manual', for Quagga Version 0.99.1.
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
paul30d03832005-04-29 03:16:42 +000051TCP/IP based routing protocols. This is the Manual for Quagga 0.99.1.
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
paul30d03832005-04-29 03:16:42 +00001011 Hello, this is Quagga (version 0.99.1)
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
paul30d03832005-04-29 03:16:42 +00003828�[image src="fig-normal-processing.png" alt="Normal announcement processing"�]
paul56d1d202004-11-15 21:56:53 +00003829
paul30d03832005-04-29 03:16:42 +00003830Figure 10.1: Announcement processing inside a "normal" BGP speaker
paul56d1d202004-11-15 21:56:53 +00003831
paul30d03832005-04-29 03:16:42 +00003832�[image src="fig_topologies_full.png" alt="Full Mesh BGP Topology"�]
3833
3834Figure 10.2: Full Mesh
3835
3836�[image src="fig_topologies_rs.png" alt="Route Server BGP Topology"�]
3837
3838Figure 10.3: Route Server and clients
paul56d1d202004-11-15 21:56:53 +00003839
3840 Of course we want that the routing tables obtained in each of the
3841routers are the same when using the route server than when not. But as
3842a consequence of having a single BGP peering (against the route
3843server), the BGP speakers can no longer distinguish from/to which peer
3844each announce comes/goes. This means that the routers connected to the
3845route server are not able to apply by themselves the same input/output
3846filters as in the full mesh scenario, so they have to delegate those
3847functions to the route server.
3848
3849 Even more, the "best path" selection must be also performed inside
3850the route server on behalf of its clients. The reason is that if, after
3851applying the filters of the announcer and the (potential) receiver, the
3852route server decides to send to some client two or more different
3853announcements referred to the same destination, the client will only
3854retain the last one, considering it as an implicit withdrawal of the
3855previous announcements for the same destination. This is the expected
3856behavior of a BGP speaker as defined in `RFC1771', and even though
3857there are some proposals of mechanisms that permit multiple paths for
3858the same destination to be sent through a single BGP peering, none of
3859them are currently supported by most of the existing BGP
3860implementations.
3861
3862 As a consequence a route server must maintain additional information
3863and perform additional tasks for a RS-client that those necessary for
3864common BGP peerings. Essentially a route server must:
3865
3866 * Maintain a separated Routing Information Base (Loc-RIB) for each
3867 peer configured as RS-client, containing the routes selected as a
3868 result of the "Best Path Selection" process that is performed on
3869 behalf of that RS-client.
3870
3871 * Whenever it receives an announcement from a RS-client, it must
3872 consider it for the Loc-RIBs of the other RS-clients.
3873
3874 * This means that for each of them the route server must pass
3875 the announcement through the appropriate `Out' filter of the
3876 announcer.
3877
3878 * Then through the appropriate `In' filter of the potential
3879 receiver.
3880
3881 * Only if the announcement is accepted by both filters it will
3882 be passed to the "Best Path Selection" process.
3883
3884 * Finally, it might go into the Loc-RIB of the receiver.
3885
3886 When we talk about the "appropriate" filter, both the announcer and
3887the receiver of the route must be taken into account. Suppose that the
3888route server receives an announcement from client A, and the route
3889server is considering it for the Loc-RIB of client B. The filters that
3890should be applied are the same that would be used in the full mesh
3891scenario, i.e., first the `Out' filter of router A for announcements
3892going to router B, and then the `In' filter of router B for
3893announcements coming from router A.
3894
3895 We call "Export Policy" of a RS-client to the set of `Out' filters
3896that the client would use if there was no route server. The same
3897applies for the "Import Policy" of a RS-client and the set of `In'
3898filters of the client if there was no route server.
3899
3900 It is also common to demand from a route server that it does not
3901modify some BGP attributes (next-hop, as-path and MED) that are usually
3902modified by standard BGP speakers before announcing a route.
3903
3904 The announcement processing model implemented by Quagga is shown in
3905*Note fig:rs-processing::. The figure shows a mixture of RS-clients (B,
3906C and D) with normal BGP peers (A). There are some details that worth
3907additional comments:
3908
3909 * Announcements coming from a normal BGP peer are also considered
3910 for the Loc-RIBs of all the RS-clients. But logically they do not
3911 pass through any export policy.
3912
3913 * Those peers that are configured as RS-clients do not receive any
3914 announce from the `Main' Loc-RIB.
3915
3916 * Apart from import and export policies, `In' and `Out' filters can
3917 also be set for RS-clients. `In' filters might be useful when the
3918 route server has also normal BGP peers. On the other hand, `Out'
3919 filters for RS-clients are probably unnecessary, but we decided
3920 not to remove them as they do not hurt anybody (they can always be
3921 left empty).
3922
paul30d03832005-04-29 03:16:42 +00003923�[image src="fig-rs-processing.png" alt="Route Server Processing Model"�]
3924
3925Figure 10.4: Announcement processing model implemented by the Route Server
paul56d1d202004-11-15 21:56:53 +00003926
3927
3928File: 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
3929
393010.2 Commands for configuring a Route Server
3931============================================
3932
3933Now we will describe the commands that have been added to quagga in
3934order to support the route server features.
3935
3936 -- Route-Server: neighbor PEER-GROUP route-server-client
3937 -- Route-Server: neighbor A.B.C.D route-server-client
3938 -- Route-Server: neighbor X:X::X:X route-server-client
3939 This command configures the peer given by PEER, A.B.C.D or
3940 X:X::X:X as an RS-client.
3941
3942 Actually this command is not new, it already existed in standard
3943 Quagga. It enables the transparent mode for the specified peer.
3944 This means that some BGP attributes (as-path, next-hop and MED) of
3945 the routes announced to that peer are not modified.
3946
3947 With the route server patch, this command, apart from setting the
3948 transparent mode, creates a new Loc-RIB dedicated to the specified
3949 peer (those named `Loc-RIB for X' in *Note Figure 10.4:
3950 fig:rs-processing.). Starting from that moment, every announcement
3951 received by the route server will be also considered for the new
3952 Loc-RIB.
3953
3954 -- Route-Server: neigbor {A.B.C.D|X.X::X.X|peer-group} route-map WORD
3955{import|export}
3956 This set of commands can be used to specify the route-map that
3957 represents the Import or Export policy of a peer which is
3958 configured as a RS-client (with the previous command).
3959
3960 -- Route-Server: match peer {A.B.C.D|X:X::X:X}
3961 This is a new _match_ statement for use in route-maps, enabling
3962 them to describe import/export policies. As we said before, an
3963 import/export policy represents a set of input/output filters of
3964 the RS-client. This statement makes possible that a single
3965 route-map represents the full set of filters that a BGP speaker
3966 would use for its different peers in a non-RS scenario.
3967
3968 The _match peer_ statement has different semantics whether it is
3969 used inside an import or an export route-map. In the first case
3970 the statement matches if the address of the peer who sends the
3971 announce is the same that the address specified by
3972 {A.B.C.D|X:X::X:X}. For export route-maps it matches when
3973 {A.B.C.D|X:X::X:X} is the address of the RS-Client into whose
3974 Loc-RIB the announce is going to be inserted (how the same export
3975 policy is applied before different Loc-RIBs is shown in *Note
3976 Figure 10.4: fig:rs-processing.).
3977
3978 -- Route-map Command: call WORD
3979 This command (also used inside a route-map) jumps into a different
3980 route-map, whose name is specified by WORD. When the called
3981 route-map finishes, depending on its result the original route-map
3982 continues or not. Apart from being useful for making import/export
3983 route-maps easier to write, this command can also be used inside
3984 any normal (in or out) route-map.
3985
3986
3987File: quagga.info, Node: Example of Route Server Configuration, Prev: Commands for configuring a Route Server, Up: Configuring Quagga as a Route Server
3988
398910.3 Example of Route Server Configuration
3990==========================================
3991
3992Finally we are going to show how to configure a Quagga daemon to act as
3993a Route Server. For this purpose we are going to present a scenario
3994without route server, and then we will show how to use the
3995configurations of the BGP routers to generate the configuration of the
3996route server.
3997
3998 All the configuration files shown in this section have been taken
3999from scenarios which were tested using the VNUML tool VNUML
4000(http://www.dit.upm.es/vnuml).
4001
4002* Menu:
4003
4004* Configuration of the BGP routers without Route Server::
4005* Configuration of the BGP routers with Route Server::
4006* Configuration of the Route Server itself::
4007* Further considerations about Import and Export route-maps::
4008
4009
4010File: 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
4011
401210.3.1 Configuration of the BGP routers without Route Server
4013------------------------------------------------------------
4014
4015We will suppose that our initial scenario is an exchange point with
4016three BGP capable routers, named RA, RB and RC. Each of the BGP
4017speakers generates some routes (with the NETWORK command), and
4018establishes BGP peerings against the other two routers. These peerings
4019have In and Out route-maps configured, named like "PEER-X-IN" or
4020"PEER-X-OUT". For example the configuration file for router RA could be
4021the following:
4022
4023 #Configuration for router 'RA'
4024 !
4025 hostname RA
4026 password ****
4027 !
4028 router bgp 65001
4029 no bgp default ipv4-unicast
4030 neighbor 2001:0DB8::B remote-as 65002
4031 neighbor 2001:0DB8::C remote-as 65003
4032 !
4033 address-family ipv6
4034 network 2001:0DB8:AAAA:1::/64
4035 network 2001:0DB8:AAAA:2::/64
4036 network 2001:0DB8:0000:1::/64
4037 network 2001:0DB8:0000:2::/64
4038
4039 neighbor 2001:0DB8::B activate
4040 neighbor 2001:0DB8::B soft-reconfiguration inbound
4041 neighbor 2001:0DB8::B route-map PEER-B-IN in
4042 neighbor 2001:0DB8::B route-map PEER-B-OUT out
4043
4044 neighbor 2001:0DB8::C activate
4045 neighbor 2001:0DB8::C soft-reconfiguration inbound
4046 neighbor 2001:0DB8::C route-map PEER-C-IN in
4047 neighbor 2001:0DB8::C route-map PEER-C-OUT out
4048 exit-address-family
4049 !
4050 ipv6 prefix-list COMMON-PREFIXES seq 5 permit 2001:0DB8:0000::/48 ge 64 le 64
4051 ipv6 prefix-list COMMON-PREFIXES seq 10 deny any
4052 !
4053 ipv6 prefix-list PEER-A-PREFIXES seq 5 permit 2001:0DB8:AAAA::/48 ge 64 le 64
4054 ipv6 prefix-list PEER-A-PREFIXES seq 10 deny any
4055 !
4056 ipv6 prefix-list PEER-B-PREFIXES seq 5 permit 2001:0DB8:BBBB::/48 ge 64 le 64
4057 ipv6 prefix-list PEER-B-PREFIXES seq 10 deny any
4058 !
4059 ipv6 prefix-list PEER-C-PREFIXES seq 5 permit 2001:0DB8:CCCC::/48 ge 64 le 64
4060 ipv6 prefix-list PEER-C-PREFIXES seq 10 deny any
4061 !
4062 route-map PEER-B-IN permit 10
4063 match ipv6 address prefix-list COMMON-PREFIXES
4064 set metric 100
4065 route-map PEER-B-IN permit 20
4066 match ipv6 address prefix-list PEER-B-PREFIXES
4067 set community 65001:11111
4068 !
4069 route-map PEER-C-IN permit 10
4070 match ipv6 address prefix-list COMMON-PREFIXES
4071 set metric 200
4072 route-map PEER-C-IN permit 20
4073 match ipv6 address prefix-list PEER-C-PREFIXES
4074 set community 65001:22222
4075 !
4076 route-map PEER-B-OUT permit 10
4077 match ipv6 address prefix-list PEER-A-PREFIXES
4078 !
4079 route-map PEER-C-OUT permit 10
4080 match ipv6 address prefix-list PEER-A-PREFIXES
4081 !
4082 line vty
4083 !
4084
4085
4086File: 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
4087
408810.3.2 Configuration of the BGP routers with Route Server
4089---------------------------------------------------------
4090
4091To convert the initial scenario into one with route server, first we
4092must modify the configuration of routers RA, RB and RC. Now they must
4093not peer between them, but only with the route server. For example, RA's
4094configuration would turn into:
4095
4096 # Configuration for router 'RA'
4097 !
4098 hostname RA
4099 password ****
4100 !
4101 router bgp 65001
4102 no bgp default ipv4-unicast
4103 neighbor 2001:0DB8::FFFF remote-as 65000
4104 !
4105 address-family ipv6
4106 network 2001:0DB8:AAAA:1::/64
4107 network 2001:0DB8:AAAA:2::/64
4108 network 2001:0DB8:0000:1::/64
4109 network 2001:0DB8:0000:2::/64
4110
4111 neighbor 2001:0DB8::FFFF activate
4112 neighbor 2001:0DB8::FFFF soft-reconfiguration inbound
4113 exit-address-family
4114 !
4115 line vty
4116 !
4117
4118 Which is logically much simpler than its initial configuration, as
4119it now maintains only one BGP peering and all the filters (route-maps)
4120have disappeared.
4121
4122
4123File: 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
4124
412510.3.3 Configuration of the Route Server itself
4126-----------------------------------------------
4127
4128As we said when we described the functions of a route server (*note
4129Description of the Route Server model::), it is in charge of all the
4130route filtering. To achieve that, the In and Out filters from the RA,
4131RB and RC configurations must be converted into Import and Export
4132policies in the route server.
4133
4134 This is a fragment of the route server configuration (we only show
4135the policies for client RA):
4136
4137 # Configuration for Route Server ('RS')
4138 !
4139 hostname RS
4140 password ix
4141 !
4142 bgp multiple-instance
4143 !
4144 router bgp 65000 view RS
4145 no bgp default ipv4-unicast
4146 neighbor 2001:0DB8::A remote-as 65001
4147 neighbor 2001:0DB8::B remote-as 65002
4148 neighbor 2001:0DB8::C remote-as 65003
4149 !
4150 address-family ipv6
4151 neighbor 2001:0DB8::A activate
4152 neighbor 2001:0DB8::A route-server-client
4153 neighbor 2001:0DB8::A route-map RSCLIENT-A-IMPORT import
4154 neighbor 2001:0DB8::A route-map RSCLIENT-A-EXPORT export
4155 neighbor 2001:0DB8::A soft-reconfiguration inbound
4156
4157 neighbor 2001:0DB8::B activate
4158 neighbor 2001:0DB8::B route-server-client
4159 neighbor 2001:0DB8::B route-map RSCLIENT-B-IMPORT import
4160 neighbor 2001:0DB8::B route-map RSCLIENT-B-EXPORT export
4161 neighbor 2001:0DB8::B soft-reconfiguration inbound
4162
4163 neighbor 2001:0DB8::C activate
4164 neighbor 2001:0DB8::C route-server-client
4165 neighbor 2001:0DB8::C route-map RSCLIENT-C-IMPORT import
4166 neighbor 2001:0DB8::C route-map RSCLIENT-C-EXPORT export
4167 neighbor 2001:0DB8::C soft-reconfiguration inbound
4168 exit-address-family
4169 !
4170 ipv6 prefix-list COMMON-PREFIXES seq 5 permit 2001:0DB8:0000::/48 ge 64 le 64
4171 ipv6 prefix-list COMMON-PREFIXES seq 10 deny any
4172 !
4173 ipv6 prefix-list PEER-A-PREFIXES seq 5 permit 2001:0DB8:AAAA::/48 ge 64 le 64
4174 ipv6 prefix-list PEER-A-PREFIXES seq 10 deny any
4175 !
4176 ipv6 prefix-list PEER-B-PREFIXES seq 5 permit 2001:0DB8:BBBB::/48 ge 64 le 64
4177 ipv6 prefix-list PEER-B-PREFIXES seq 10 deny any
4178 !
4179 ipv6 prefix-list PEER-C-PREFIXES seq 5 permit 2001:0DB8:CCCC::/48 ge 64 le 64
4180 ipv6 prefix-list PEER-C-PREFIXES seq 10 deny any
4181 !
4182 route-map RSCLIENT-A-IMPORT permit 10
4183 match peer 2001:0DB8::B
4184 call A-IMPORT-FROM-B
4185 route-map RSCLIENT-A-IMPORT permit 20
4186 match peer 2001:0DB8::C
4187 call A-IMPORT-FROM-C
4188 !
4189 route-map A-IMPORT-FROM-B permit 10
4190 match ipv6 address prefix-list COMMON-PREFIXES
4191 set metric 100
4192 route-map A-IMPORT-FROM-B permit 20
4193 match ipv6 address prefix-list PEER-B-PREFIXES
4194 set community 65001:11111
4195 !
4196 route-map A-IMPORT-FROM-C permit 10
4197 match ipv6 address prefix-list COMMON-PREFIXES
4198 set metric 200
4199 route-map A-IMPORT-FROM-C permit 20
4200 match ipv6 address prefix-list PEER-C-PREFIXES
4201 set community 65001:22222
4202 !
4203 route-map RSCLIENT-A-EXPORT permit 10
4204 match peer 2001:0DB8::B
4205 match ipv6 address prefix-list PEER-A-PREFIXES
4206 route-map RSCLIENT-A-EXPORT permit 20
4207 match peer 2001:0DB8::C
4208 match ipv6 address prefix-list PEER-A-PREFIXES
4209 !
4210 ...
4211 ...
4212 ...
4213
4214 If you compare the initial configuration of RA with the route server
4215configuration above, you can see how easy it is to generate the Import
4216and Export policies for RA from the In and Out route-maps of RA's
4217original configuration.
4218
4219 When there was no route server, RA maintained two peerings, one with
4220RB and another with RC. Each of this peerings had an In route-map
4221configured. To build the Import route-map for client RA in the route
4222server, simply add route-map entries following this scheme:
4223
4224 route-map <NAME> permit 10
4225 match peer <Peer Address>
4226 call <In Route-Map for this Peer>
4227 route-map <NAME> permit 20
4228 match peer <Another Peer Address>
4229 call <In Route-Map for this Peer>
4230
4231 This is exactly the process that has been followed to generate the
4232route-map RSCLIENT-A-IMPORT. The route-maps that are called inside it
4233(A-IMPORT-FROM-B and A-IMPORT-FROM-C) are exactly the same than the In
4234route-maps from the original configuration of RA (PEER-B-IN and
4235PEER-C-IN), only the name is different.
4236
4237 The same could have been done to create the Export policy for RA
4238(route-map RSCLIENT-A-EXPORT), but in this case the original Out
4239route-maps where so simple that we decided not to use the CALL WORD
4240commands, and we integrated all in a single route-map
4241(RSCLIENT-A-EXPORT).
4242
4243 The Import and Export policies for RB and RC are not shown, but the
4244process would be identical.
4245
4246
4247File: quagga.info, Node: Further considerations about Import and Export route-maps, Prev: Configuration of the Route Server itself, Up: Example of Route Server Configuration
4248
424910.3.4 Further considerations about Import and Export route-maps
4250----------------------------------------------------------------
4251
4252The current version of the route server patch only allows to specify a
4253route-map for import and export policies, while in a standard BGP
4254speaker apart from route-maps there are other tools for performing
4255input and output filtering (access-lists, community-lists, ...). But
4256this does not represent any limitation, as all kinds of filters can be
4257included in import/export route-maps. For example suppose that in the
4258non-route-server scenario peer RA had the following filters configured
4259for input from peer B:
4260
4261 neighbor 2001:0DB8::B prefix-list LIST-1 in
4262 neighbor 2001:0DB8::B filter-list LIST-2 in
4263 neighbor 2001:0DB8::B route-map PEER-B-IN in
4264 ...
4265 ...
4266 route-map PEER-B-IN permit 10
4267 match ipv6 address prefix-list COMMON-PREFIXES
4268 set local-preference 100
4269 route-map PEER-B-IN permit 20
4270 match ipv6 address prefix-list PEER-B-PREFIXES
4271 set community 65001:11111
4272
4273 It is posible to write a single route-map which is equivalent to the
4274three filters (the community-list, the prefix-list and the route-map).
4275That route-map can then be used inside the Import policy in the route
4276server. Lets see how to do it:
4277
4278 neighbor 2001:0DB8::A route-map RSCLIENT-A-IMPORT import
4279 ...
4280 !
4281 ...
4282 route-map RSCLIENT-A-IMPORT permit 10
4283 match peer 2001:0DB8::B
4284 call A-IMPORT-FROM-B
4285 ...
4286 ...
4287 !
4288 route-map A-IMPORT-FROM-B permit 1
4289 match ipv6 address prefix-list LIST-1
4290 match as-path LIST-2
4291 on-match goto 10
4292 route-map A-IMPORT-FROM-B deny 2
4293 route-map A-IMPORT-FROM-B permit 10
4294 match ipv6 address prefix-list COMMON-PREFIXES
4295 set local-preference 100
4296 route-map A-IMPORT-FROM-B permit 20
4297 match ipv6 address prefix-list PEER-B-PREFIXES
4298 set community 65001:11111
4299 !
4300 ...
4301 ...
4302
4303 The route-map A-IMPORT-FROM-B is equivalent to the three filters
4304(LIST-1, LIST-2 and PEER-B-IN). The first entry of route-map
4305A-IMPORT-FROM-B (sequence number 1) matches if and only if both the
4306prefix-list LIST-1 and the filter-list LIST-2 match. If that happens,
4307due to the "on-match goto 10" statement the next route-map entry to be
4308processed will be number 10, and as of that point route-map
4309A-IMPORT-FROM-B is identical to PEER-B-IN. If the first entry does not
4310match, `on-match goto 10" will be ignored and the next processed entry
4311will be number 2, which will deny the route.
4312
4313 Thus, the result is the same that with the three original filters,
4314i.e., if either LIST-1 or LIST-2 rejects the route, it does not reach
4315the route-map PEER-B-IN. In case both LIST-1 and LIST-2 accept the
4316route, it passes to PEER-B-IN, which can reject, accept or modify the
4317route.
4318
4319
4320File: quagga.info, Node: VTY shell, Next: Filtering, Prev: Configuring Quagga as a Route Server, Up: Top
4321
432211 VTY shell
4323************
4324
4325`vtysh' is integrated shell of Quagga software.
4326
4327 To use vtysh please specify --enable-vtysh to configure script. To
4328use PAM for authentication use --with-libpam option to configure script.
4329
4330 vtysh only searches /etc/quagga path for vtysh.conf which is the
4331vtysh configuration file. Vtysh does not search current directory for
4332configuration file because the file includes user authentication
4333settings.
4334
4335 Currently, vtysh.conf has only two commands.
4336
4337* Menu:
4338
4339* VTY shell username::
4340* VTY shell integrated configuration::
4341
4342
4343File: quagga.info, Node: VTY shell username, Next: VTY shell integrated configuration, Up: VTY shell
4344
434511.1 VTY shell username
4346=======================
4347
4348 -- Command: username USERNAME nopassword
4349 With this set, user foo does not need password authentication for
4350 user vtysh. With PAM vtysh uses PAM authentication mechanism.
4351
4352 If vtysh is compiled without PAM authentication, every user can
4353 use vtysh without authentication. vtysh requires read/write
4354 permission to the various daemons vty sockets, this can be
4355 accomplished through use of unix groups and the -enable-vty-group
4356 configure option.
4357
4358
4359
4360File: quagga.info, Node: VTY shell integrated configuration, Prev: VTY shell username, Up: VTY shell
4361
paulafc1e2d2005-01-10 22:31:16 +0000436211.2 VTY shell integrated configuration
4363=======================================
paul56d1d202004-11-15 21:56:53 +00004364
4365 -- Command: service integrated-vtysh-config
4366 Write out integrated Quagga.conf file when 'write file' is issued.
4367
4368 This command controls the behaviour of vtysh when it is told to
4369 write out the configuration. Per default, vtysh will instruct
4370 each daemon to write out their own config files when `write file'
4371 is issued. However, if `service integrated-vtysh-config' is set,
4372 when `write file' is issued, vtysh will instruct the daemons will
4373 write out a Quagga.conf with all daemons' commands integrated into
4374 it.
4375
4376 Vtysh per default behaves as if `write-conf daemon' is set. Note
4377 that both may be set at same time if one wishes to have both
4378 Quagga.conf and daemon specific files written out. Further, note
4379 that the daemons are hard-coded to first look for the integrated
4380 Quagga.conf file before looking for their own file.
4381
4382 We recommend you do not mix the use of the two types of files.
4383 Further, it is better not to use the integrated Quagga.conf file,
4384 as any syntax error in it can lead to /all/ of your daemons being
4385 unable to start up. Per daemon files are more robust as impact of
4386 errors in configuration are limited to the daemon in whose file
4387 the error is made.
4388
4389
4390
4391File: quagga.info, Node: Filtering, Next: Route Map, Prev: VTY shell, Up: Top
4392
439312 Filtering
4394************
4395
4396Quagga provides many very flexible filtering features. Filtering is
4397used for both input and output of the routing information. Once
4398filtering is defined, it can be applied in any direction.
4399
4400* Menu:
4401
4402* IP Access List::
4403* IP Prefix List::
4404
4405
4406File: quagga.info, Node: IP Access List, Next: IP Prefix List, Up: Filtering
4407
440812.1 IP Access List
4409===================
4410
4411 -- Command: access-list NAME permit IPV4-NETWORK
4412 -- Command: access-list NAME deny IPV4-NETWORK
4413
4414 Basic filtering is done by `access-list' as shown in the following
4415example.
4416
4417 access-list filter deny 10.0.0.0/9
4418 access-list filter permit 10.0.0.0/8
4419
4420
4421File: quagga.info, Node: IP Prefix List, Prev: IP Access List, Up: Filtering
4422
442312.2 IP Prefix List
4424===================
4425
4426`ip prefix-list' provides the most powerful prefix based filtering
4427mechanism. In addition to `access-list' functionality, `ip
4428prefix-list' has prefix length range specification and sequential
4429number specification. You can add or delete prefix based filters to
4430arbitrary points of prefix-list using sequential number specification.
4431
4432 If no ip prefix-list is specified, it acts as permit. If `ip
4433prefix-list' is defined, and no match is found, default deny is applied.
4434
4435 -- Command: ip prefix-list NAME (permit|deny) PREFIX [le LEN] [ge LEN]
4436 -- Command: ip prefix-list NAME seq NUMBER (permit|deny) PREFIX [le
4437LEN] [ge LEN]
4438 You can create `ip prefix-list' using above commands.
4439
4440 seq
4441 seq NUMBER can be set either automatically or manually. In
4442 the case that sequential numbers are set manually, the user
4443 may pick any number less than 4294967295. In the case that
4444 sequential number are set automatically, the sequential
4445 number will increase by a unit of five (5) per list. If a
4446 list with no specified sequential number is created after a
4447 list with a specified sequential number, the list will
4448 automatically pick the next multiple of five (5) as the list
4449 number. For example, if a list with number 2 already exists
4450 and a new list with no specified number is created, the next
4451 list will be numbered 5. If lists 2 and 7 already exist and
4452 a new list with no specified number is created, the new list
4453 will be numbered 10.
4454
4455 le
4456 `le' command specifies prefix length. The prefix list will be
4457 applied if the prefix length is less than or equal to the le
4458 prefix length.
4459
4460 ge
4461 `ge' command specifies prefix length. The prefix list will be
4462 applied if the prefix length is greater than or equal to the
4463 ge prefix length.
4464
4465
4466
4467 Less than or equal to prefix numbers and greater than or equal to
4468prefix numbers can be used together. The order of the le and ge
4469commands does not matter.
4470
4471 If a prefix list with a different sequential number but with the
4472exact same rules as a previous list is created, an error will result.
4473However, in the case that the sequential number and the rules are
4474exactly similar, no error will result.
4475
4476 If a list with the same sequential number as a previous list is
4477created, the new list will overwrite the old list.
4478
4479 Matching of IP Prefix is performed from the smaller sequential
4480number to the larger. The matching will stop once any rule has been
4481applied.
4482
4483 In the case of no le or ge command, the prefix length must match
4484exactly the length specified in the prefix list.
4485
4486 -- Command: no ip prefix-list NAME
4487
4488* Menu:
4489
4490* ip prefix-list description::
4491* ip prefix-list sequential number control::
4492* Showing ip prefix-list::
4493* Clear counter of ip prefix-list::
4494
4495
4496File: quagga.info, Node: ip prefix-list description, Next: ip prefix-list sequential number control, Up: IP Prefix List
4497
449812.2.1 ip prefix-list description
4499---------------------------------
4500
4501 -- Command: ip prefix-list NAME description DESC
4502 Descriptions may be added to prefix lists. This command adds a
4503 description to the prefix list.
4504
4505 -- Command: no ip prefix-list NAME description [DESC]
4506 Deletes the description from a prefix list. It is possible to use
4507 the command without the full description.
4508
4509
4510File: quagga.info, Node: ip prefix-list sequential number control, Next: Showing ip prefix-list, Prev: ip prefix-list description, Up: IP Prefix List
4511
451212.2.2 ip prefix-list sequential number control
4513-----------------------------------------------
4514
4515 -- Command: ip prefix-list sequence-number
4516 With this command, the IP prefix list sequential number is
4517 displayed. This is the default behavior.
4518
4519 -- Command: no ip prefix-list sequence-number
4520 With this command, the IP prefix list sequential number is not
4521 displayed.
4522
4523
4524File: 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
4525
452612.2.3 Showing ip prefix-list
4527-----------------------------
4528
4529 -- Command: show ip prefix-list
4530 Display all IP prefix lists.
4531
4532 -- Command: show ip prefix-list NAME
4533 Show IP prefix list can be used with a prefix list name.
4534
4535 -- Command: show ip prefix-list NAME seq NUM
4536 Show IP prefix list can be used with a prefix list name and
4537 sequential number.
4538
4539 -- Command: show ip prefix-list NAME A.B.C.D/M
4540 If the command longer is used, all prefix lists with prefix
4541 lengths equal to or longer than the specified length will be
4542 displayed. If the command first match is used, the first prefix
4543 length match will be displayed.
4544
4545 -- Command: show ip prefix-list NAME A.B.C.D/M longer
4546
4547 -- Command: show ip prefix-list NAME A.B.C.D/M first-match
4548
4549 -- Command: show ip prefix-list summary
4550
4551 -- Command: show ip prefix-list summary NAME
4552
4553 -- Command: show ip prefix-list detail
4554
4555 -- Command: show ip prefix-list detail NAME
4556
4557
4558File: quagga.info, Node: Clear counter of ip prefix-list, Prev: Showing ip prefix-list, Up: IP Prefix List
4559
456012.2.4 Clear counter of ip prefix-list
4561--------------------------------------
4562
4563 -- Command: clear ip prefix-list
4564 Clears the counters of all IP prefix lists. Clear IP Prefix List
4565 can be used with a specified name and prefix.
4566
4567 -- Command: clear ip prefix-list NAME
4568
4569 -- Command: clear ip prefix-list NAME A.B.C.D/M
4570
4571
4572File: quagga.info, Node: Route Map, Next: IPv6 Support, Prev: Filtering, Up: Top
4573
457413 Route Map
4575************
4576
4577Route map is a very useful function in zebra. There is a match and set
4578statement permitted in a route map.
4579
4580 route-map test permit 10
4581 match ip address 10
4582 set local-preference 200
4583
4584 This means that if a route matches ip access-list number 10 it's
4585local-preference value is set to 200.
4586
4587* Menu:
4588
4589* Route Map Command::
4590* Route Map Match Command::
4591* Route Map Set Command::
4592
4593
4594File: quagga.info, Node: Route Map Command, Next: Route Map Match Command, Up: Route Map
4595
459613.1 Route Map Command
4597======================
4598
4599 -- Command: route-map ROUTE-MAP-NAME permit PRIORITY
4600
4601
4602File: quagga.info, Node: Route Map Match Command, Next: Route Map Set Command, Prev: Route Map Command, Up: Route Map
4603
460413.2 Route Map Match Command
4605============================
4606
4607 -- Route-map Command: match ip address ACCESS_LIST
4608 Matches the specified ACCESS_LIST
4609
4610 -- Route-map Command: match ip next-hop IPV4_ADDR
4611 Matches the specified IPV4_ADDR.
4612
4613 -- Route-map Command: match aspath AS_PATH
4614 Matches the specified AS_PATH.
4615
4616 -- Route-map Command: match metric METRIC
4617 Matches the specified METRIC.
4618
4619 -- Route-map Command: match community COMMUNITY_LIST
4620 Matches the specified COMMUNITY_LIST
4621
4622
4623File: quagga.info, Node: Route Map Set Command, Prev: Route Map Match Command, Up: Route Map
4624
462513.3 Route Map Set Command
4626==========================
4627
4628 -- Route-map Command: set ip next-hop IPV4_ADDRESS
4629 Set the BGP nexthop address.
4630
4631 -- Route-map Command: set local-preference LOCAL_PREF
4632 Set the BGP local preference.
4633
4634 -- Route-map Command: set weight WEIGHT
4635 Set the route's weight.
4636
4637 -- Route-map Command: set metric METRIC
4638 Set the BGP attribute MED.
4639
4640 -- Route-map Command: set as-path prepend AS_PATH
4641 Set the BGP AS path to prepend.
4642
4643 -- Route-map Command: set community COMMUNITY
4644 Set the BGP community attribute.
4645
4646 -- Route-map Command: set ipv6 next-hop global IPV6_ADDRESS
4647 Set the BGP-4+ global IPv6 nexthop address.
4648
4649 -- Route-map Command: set ipv6 next-hop local IPV6_ADDRESS
4650 Set the BGP-4+ link local IPv6 nexthop address.
4651
4652
4653File: quagga.info, Node: IPv6 Support, Next: Kernel Interface, Prev: Route Map, Up: Top
4654
465514 IPv6 Support
4656***************
4657
4658Quagga fully supports IPv6 routing. As described so far, Quagga
4659supports RIPng, OSPFv3 and BGP-4+. You can give IPv6 addresses to an
4660interface and configure static IPv6 routing information. Quagga IPv6
4661also provides automatic address configuration via a feature called
4662`address auto configuration'. To do it, the router must send router
4663advertisement messages to the all nodes that exist on the network.
4664
4665* Menu:
4666
4667* Router Advertisement::
4668
4669
4670File: quagga.info, Node: Router Advertisement, Up: IPv6 Support
4671
467214.1 Router Advertisement
4673=========================
4674
4675 -- Interface Command: no ipv6 nd suppress-ra
4676 Send router advertisment messages.
4677
4678 -- Interface Command: ipv6 nd suppress-ra
4679 Don't send router advertisment messages.
4680
4681 -- Interface Command: ipv6 nd prefix IPV6PREFIX [VALID-LIFETIME]
paulbbd938e2005-04-02 10:18:42 +00004682[PREFERRED-LIFETIME] [off-link] [no-autoconfig] [router-address]
paul56d1d202004-11-15 21:56:53 +00004683 Configuring the IPv6 prefix to include in router advertisements.
4684 Several prefix specific optional parameters and flags may follow:
4685 * VALID-LIFETIME - the length of time in seconds during what
4686 the prefix is valid for the purpose of on-link determination.
4687 Value INFINITE represents infinity (i.e. a value of all one
4688 bits (`0xffffffff')).
4689
4690 Range: `<0-4294967295>' Default: `2592000'
4691
4692 * PREFERRED-LIFETIME - the length of time in seconds during
4693 what addresses generated from the prefix remain preferred.
4694 Value INFINITE represents infinity.
4695
4696 Range: `<0-4294967295>' Default: `604800'
4697
4698 * OFF-LINK - indicates that advertisement makes no statement
4699 about on-link or off-link properties of the prefix.
4700
4701 Default: not set, i.e. this prefix can be used for on-link
4702 determination.
4703
4704 * NO-AUTOCONFIG - indicates to hosts on the local link that the
4705 specified prefix cannot be used for IPv6 autoconfiguration.
4706
4707 Default: not set, i.e. prefix can be used for
4708 autoconfiguration.
4709
paulbbd938e2005-04-02 10:18:42 +00004710 * ROUTER-ADDRESS - indicates to hosts on the local link that
4711 the specified prefix contains a complete IP address by
4712 setting R flag.
4713
4714 Default: not set, i.e. hosts do not assume a complete IP
4715 address is placed.
4716
paul56d1d202004-11-15 21:56:53 +00004717 -- Interface Command: ipv6 nd ra-interval SECONDS
4718 -- Interface Command: no ipv6 nd ra-interval
4719 The maximum time allowed between sending unsolicited multicast
4720 router advertisements from the interface, in seconds. Must be no
4721 less than 3 seconds.
4722
4723 Default: `600'
4724
paulbbd938e2005-04-02 10:18:42 +00004725 -- Interface Command: ipv6 nd ra-interval msec MILLISECONDS
4726 -- Interface Command: no ipv6 nd ra-interval msec
4727 The maximum time allowed between sending unsolicited multicast
4728 router advertisements from the interface, in milliseconds. Must be
4729 no less than 30 milliseconds.
4730
4731 Default: `600000'
4732
paul56d1d202004-11-15 21:56:53 +00004733 -- Interface Command: ipv6 nd ra-lifetime SECONDS
4734 -- Interface Command: no ipv6 nd ra-lifetime
4735 The value to be placed in the Router Lifetime field of router
4736 advertisements sent from the interface, in seconds. Indicates the
4737 usefulness of the router as a default router on this interface.
4738 Setting the value to zero indicates that the router should not be
4739 considered a default router on this interface. Must be either
4740 zero or between value specified with IPV6 ND RA-INTERVAL (or
4741 default) and 9000 seconds.
4742
4743 Default: `1800'
4744
4745 -- Interface Command: ipv6 nd reachable-time MILLISECONDS
4746 -- Interface Command: no ipv6 nd reachable-time
4747 The value to be placed in the Reachable Time field in the Router
4748 Advertisement messages sent by the router, in milliseconds. The
4749 configured time enables the router to detect unavailable
4750 neighbors. The value zero means unspecified (by this router). Must
4751 be no greater than `3,600,000' milliseconds (1 hour).
4752
4753 Default: `0'
4754
4755 -- Interface Command: ipv6 nd managed-config-flag
4756 -- Interface Command: no ipv6 nd managed-config-flag
4757 Set/unset flag in IPv6 router advertisements which indicates to
4758 hosts that they should use managed (stateful) protocol for
4759 addresses autoconfiguration in addition to any addresses
4760 autoconfigured using stateless address autoconfiguration.
4761
4762 Default: not set
4763
4764 -- Interface Command: ipv6 nd other-config-flag
4765 -- Interface Command: no ipv6 nd other-config-flag
4766 Set/unset flag in IPv6 router advertisements which indicates to
4767 hosts that they should use administered (stateful) protocol to
4768 obtain autoconfiguration information other than addresses.
4769
4770 Default: not set
4771
paulbbd938e2005-04-02 10:18:42 +00004772 -- Interface Command: ipv6 nd home-agent-config-flag
4773 -- Interface Command: no ipv6 nd home-agent-config-flag
4774 Set/unset flag in IPv6 router advertisements which indicates to
4775 hosts that the router acts as a Home Agent and includes a Home
4776 Agent Option.
4777
4778 Default: not set
4779
4780 -- Interface Command: ipv6 nd home-agent-preference
4781 -- Interface Command: no ipv6 nd home-agent-preference
4782 The value to be placed in Home Agent Option, when Home Agent
4783 config flag is set, which indicates to hosts Home Agent preference.
4784
4785 Default: 0
4786
4787 -- Interface Command: ipv6 nd home-agent-lifetime
4788 -- Interface Command: no ipv6 nd home-agent-lifetime
4789 The value to be placed in Home Agent Option, when Home Agent
4790 config flag is set, which indicates to hosts Home Agent Lifetime.
4791 A value of 0 means to place Router Lifetime value.
4792
4793 Default: 0
4794
4795 -- Interface Command: ipv6 nd adv-interval-option
4796 -- Interface Command: no ipv6 nd adv-interval-option
4797 Include an Advertisement Interval option which indicates to hosts
4798 the maximum time, in milliseconds, between successive unsolicited
4799 Router Advertisements.
4800
4801 Default: not set
4802
paul56d1d202004-11-15 21:56:53 +00004803 interface eth0
4804 no ipv6 nd suppress-ra
4805 ipv6 nd prefix 2001:0DB8:5009::/64
4806
4807 For more information see `RFC2462 (IPv6 Stateless Address
paulbbd938e2005-04-02 10:18:42 +00004808Autoconfiguration)' , `RFC2461 (Neighbor Discovery for IP Version 6
4809(IPv6))' and `RFC3775 (Mobility Support in IPv6 (Mobile IPv6))'.
paul56d1d202004-11-15 21:56:53 +00004810
4811
4812File: quagga.info, Node: Kernel Interface, Next: SNMP Support, Prev: IPv6 Support, Up: Top
4813
481415 Kernel Interface
4815*******************
4816
4817There are several different methods for reading kernel routing table
4818information, updating kernel routing tables, and for looking up
4819interfaces.
4820
4821`ioctl'
4822 The `ioctl' method is a very traditional way for reading or writing
4823 kernel information. `ioctl' can be used for looking up interfaces
4824 and for modifying interface addresses, flags, mtu settings and
4825 other types of information. Also, `ioctl' can insert and delete
4826 kernel routing table entries. It will soon be available on almost
4827 any platform which zebra supports, but it is a little bit ugly
4828 thus far, so if a better method is supported by the kernel, zebra
4829 will use that.
4830
4831`sysctl'
4832 `sysctl' can lookup kernel information using MIB (Management
4833 Information Base) syntax. Normally, it only provides a way of
4834 getting information from the kernel. So one would usually want to
4835 change kernel information using another method such as `ioctl'.
4836
4837`proc filesystem'
4838 `proc filesystem' provides an easy way of getting kernel
4839 information.
4840
4841`routing socket'
4842
4843`netlink'
4844 On recent Linux kernels (2.0.x and 2.2.x), there is a kernel/user
4845 communication support called `netlink'. It makes asynchronous
4846 communication between kernel and Quagga possible, similar to a
4847 routing socket on BSD systems.
4848
4849 Before you use this feature, be sure to select (in kernel
4850 configuration) the kernel/netlink support option 'Kernel/User
4851 network link driver' and 'Routing messages'.
4852
4853 Today, the /dev/route special device file is obsolete. Netlink
4854 communication is done by reading/writing over netlink socket.
4855
4856 After the kernel configuration, please reconfigure and rebuild
4857 Quagga. You can use netlink as a dynamic routing update channel
4858 between Quagga and the kernel.
4859
4860
4861File: quagga.info, Node: SNMP Support, Next: Zebra Protocol, Prev: Kernel Interface, Up: Top
4862
486316 SNMP Support
4864***************
4865
4866SNMP (Simple Network Managing Protocol) is a widely implemented feature
4867for collecting network information from router and/or host. Quagga
4868itself does not support SNMP agent (server daemon) functionality but is
4869able to connect to a SNMP agent using the SMUX protocol (RFC1227) and
4870make the routing protocol MIBs available through it.
4871
4872* Menu:
4873
4874* Getting and installing an SNMP agent::
4875* SMUX configuration::
4876* MIB and command reference::
4877
4878
4879File: quagga.info, Node: Getting and installing an SNMP agent, Next: SMUX configuration, Up: SNMP Support
4880
488116.1 Getting and installing an SNMP agent
4882=========================================
4883
4884There are several SNMP agent which support SMUX. We recommend to use
4885the latest version of `net-snmp' which was formerly known as `ucd-snmp'.
4886It is free and open software and available at `http://www.net-snmp.org/'
4887and as binary package for most Linux distributions. `net-snmp' has to
4888be compiled with `--with-mib-modules=smux' to be able to accept
4889connections from Quagga.
4890
4891
4892File: quagga.info, Node: SMUX configuration, Next: MIB and command reference, Prev: Getting and installing an SNMP agent, Up: SNMP Support
4893
489416.2 SMUX configuration
4895=======================
4896
4897To enable SMUX protocol support, Quagga must have been build with the
4898`--enable-snmp' option.
4899
4900 A separate connection has then to be established between between the
4901SNMP agent (snmpd) and each of the Quagga daemons. This connections
4902each use different OID numbers and passwords. Be aware that this OID
4903number is not the one that is used in queries by clients, it is solely
4904used for the intercommunication of the daemons.
4905
4906 In the following example the ospfd daemon will be connected to the
4907snmpd daemon using the password "quagga_ospfd". For testing it is
4908recommending to take exactly the below snmpd.conf as wrong access
4909restrictions can be hard to debug.
4910
4911 /etc/snmp/snmpd.conf:
4912 #
4913 # example access restrictions setup
4914 #
4915 com2sec readonly default public
4916 group MyROGroup v1 readonly
4917 view all included .1 80
4918 access MyROGroup "" any noauth exact all none none
4919 #
4920 # the following line is relevant for Quagga
4921 #
4922 smuxpeer .1.3.6.1.4.1.3317.1.2.5 quagga_ospfd
4923
4924 /etc/quagga/ospf:
4925 ! ... the rest of ospfd.conf has been omitted for clarity ...
4926 !
4927 smux peer .1.3.6.1.4.1.3317.1.2.5 quagga_ospfd
4928 !
4929
4930 After restarting snmpd and quagga, a successful connection can be
4931verified in the syslog and by querying the SNMP daemon:
4932
4933 snmpd[12300]: [smux_accept] accepted fd 12 from 127.0.0.1:36255
4934 snmpd[12300]: accepted smux peer: \
4935 oid GNOME-PRODUCT-ZEBRA-MIB::ospfd, quagga-0.96.5
4936
4937 # snmpwalk -c public -v1 localhost .1.3.6.1.2.1.14.1.1
4938 OSPF-MIB::ospfRouterId.0 = IpAddress: 192.168.42.109
4939
4940 Be warned that the current version (5.1.1) of the Net-SNMP daemon
4941writes a line for every SNMP connect to the syslog which can lead to
4942enormous log file sizes. If that is a problem you should consider to
4943patch snmpd and comment out the troublesome `snmp_log()' line in the
4944function `netsnmp_agent_check_packet()' in `agent/snmp_agent.c'.
4945
4946
4947File: quagga.info, Node: MIB and command reference, Prev: SMUX configuration, Up: SNMP Support
4948
494916.3 MIB and command reference
4950==============================
4951
4952The following OID numbers are used for the interprocess communication
4953of snmpd and the Quagga daemons. Sadly, SNMP has not been implemented
4954in all daemons yet.
4955 (OIDs below .iso.org.dod.internet.private.enterprises)
4956 zebra .1.3.6.1.4.1.3317.1.2.1 .gnome.gnomeProducts.zebra.zserv
4957 bgpd .1.3.6.1.4.1.3317.1.2.2 .gnome.gnomeProducts.zebra.bgpd
4958 ripd .1.3.6.1.4.1.3317.1.2.3 .gnome.gnomeProducts.zebra.ripd
4959 ospfd .1.3.6.1.4.1.3317.1.2.5 .gnome.gnomeProducts.zebra.ospfd
4960 ospf6d .1.3.6.1.4.1.3317.1.2.6 .gnome.gnomeProducts.zebra.ospf6d
4961
4962 The following OID numbers are used for querying the SNMP daemon by a
4963client:
4964 zebra .1.3.6.1.2.1.4.24 .iso.org.dot.internet.mgmt.mib-2.ip.ipForward
4965 ospfd .1.3.6.1.2.1.14 .iso.org.dot.internet.mgmt.mib-2.ospf
4966 bgpd .1.3.6.1.2.1.15 .iso.org.dot.internet.mgmt.mib-2.bgp
4967 ripd .1.3.6.1.2.1.23 .iso.org.dot.internet.mgmt.mib-2.rip2
4968 ospf6d .1.3.6.1.3.102 .iso.org.dod.internet.experimental.ospfv3
4969
4970 The following syntax is understood by the Quagga daemons for
4971configuring SNMP:
4972
4973 -- Command: smux peer OID
4974 -- Command: no smux peer OID
4975
4976 -- Command: smux peer OID PASSWORD
4977 -- Command: no smux peer OID PASSWORD
4978
4979
4980File: quagga.info, Node: Zebra Protocol, Next: Packet Binary Dump Format, Prev: SNMP Support, Up: Top
4981
4982Appendix A Zebra Protocol
4983*************************
4984
4985Zebra Protocol is a protocol which is used between protocol daemon and
4986zebra. Each protocol daemon sends selected routes to zebra daemon.
4987Then zebra manages which route is installed into the forwarding table.
4988
4989 Zebra Protocol is a TCP-based protocol. Below is common header of
4990Zebra Protocol.
4991
4992 0 1 2 3
4993 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
4994 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
4995 | Length (2) | Command (1) |
4996 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
4997
4998 Length is total packet length including this header length. So
4999minimum length is three. Command is Zebra Protocol command.
5000
5001 ZEBRA_INTERFACE_ADD 1
5002 ZEBRA_INTERFACE_DELETE 2
5003 ZEBRA_INTERFACE_ADDRESS_ADD 3
5004 ZEBRA_INTERFACE_ADDRESS_DELETE 4
5005 ZEBRA_INTERFACE_UP 5
5006 ZEBRA_INTERFACE_DOWN 6
5007 ZEBRA_IPV4_ROUTE_ADD 7
5008 ZEBRA_IPV4_ROUTE_DELETE 8
5009 ZEBRA_IPV6_ROUTE_ADD 9
5010 ZEBRA_IPV6_ROUTE_DELETE 10
5011 ZEBRA_REDISTRIBUTE_ADD 11
5012 ZEBRA_REDISTRIBUTE_DELETE 12
5013 ZEBRA_REDISTRIBUTE_DEFAULT_ADD 13
5014 ZEBRA_REDISTRIBUTE_DEFAULT_DELETE 14
5015 ZEBRA_IPV4_NEXTHOP_LOOKUP 15
5016 ZEBRA_IPV6_NEXTHOP_LOOKUP 16
5017
5018 0 1 2 3
5019 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
5020 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
5021 | Type | Flags |
5022 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
5023
5024
5025File: quagga.info, Node: Packet Binary Dump Format, Next: Command Index, Prev: Zebra Protocol, Up: Top
5026
5027Appendix B Packet Binary Dump Format
5028************************************
5029
5030Quagga can dump routing protocol packet into file with a binary format
5031(*note Dump BGP packets and table::).
5032
5033 It seems to be better that we share the MRT's header format for
5034backward compatibility with MRT's dump logs. We should also define the
5035binary format excluding the header, because we must support both IP v4
5036and v6 addresses as socket addresses and / or routing entries.
5037
5038 In the last meeting, we discussed to have a version field in the
5039header. But Masaki told us that we can define new `type' value rather
5040than having a `version' field, and it seems to be better because we
5041don't need to change header format.
5042
5043 Here is the common header format. This is same as that of MRT.
5044
5045 0 1 2 3
5046 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
5047 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
5048 | Time |
5049 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
5050 | Type | Subtype |
5051 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
5052 | Length |
5053 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
5054
5055 If `type' is PROTOCOL_BGP4MP, `subtype' is BGP4MP_STATE_CHANGE, and
5056Address Family == IP (version 4)
5057
5058 0 1 2 3
5059 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
5060 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
5061 | Source AS number | Destination AS number |
5062 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
5063 | Interface Index | Address Family |
5064 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
5065 | Source IP address |
5066 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
5067 | Destination IP address |
5068 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
5069 | Old State | New State |
5070 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
5071
5072 Where State is the value defined in RFC1771.
5073
5074 If `type' is PROTOCOL_BGP4MP, `subtype' is BGP4MP_STATE_CHANGE, and
5075Address Family == IP version 6
5076
5077 0 1 2 3
5078 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
5079 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
5080 | Source AS number | Destination AS number |
5081 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
5082 | Interface Index | Address Family |
5083 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
5084 | Source IP address |
5085 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
5086 | Source IP address (Cont'd) |
5087 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
5088 | Source IP address (Cont'd) |
5089 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
5090 | Source IP address (Cont'd) |
5091 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
5092 | Destination IP address |
5093 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
5094 | Destination IP address (Cont'd) |
5095 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
5096 | Destination IP address (Cont'd) |
5097 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
5098 | Destination IP address (Cont'd) |
5099 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
5100 | Old State | New State |
5101 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
5102
5103 If `type' is PROTOCOL_BGP4MP, `subtype' is BGP4MP_MESSAGE, and
5104Address Family == IP (version 4)
5105
5106 0 1 2 3
5107 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
5108 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
5109 | Source AS number | Destination AS number |
5110 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
5111 | Interface Index | Address Family |
5112 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
5113 | Source IP address |
5114 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
5115 | Destination IP address |
5116 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
5117 | BGP Message Packet |
5118 | |
5119 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
5120
5121 Where BGP Message Packet is the whole contents of the BGP4 message
5122including header portion.
5123
5124 If `type' is PROTOCOL_BGP4MP, `subtype' is BGP4MP_MESSAGE, and
5125Address Family == IP version 6
5126
5127 0 1 2 3
5128 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
5129 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
5130 | Source AS number | Destination AS number |
5131 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
5132 | Interface Index | Address Family |
5133 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
5134 | Source IP address |
5135 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
5136 | Source IP address (Cont'd) |
5137 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
5138 | Source IP address (Cont'd) |
5139 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
5140 | Source IP address (Cont'd) |
5141 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
5142 | Destination IP address |
5143 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
5144 | Destination IP address (Cont'd) |
5145 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
5146 | Destination IP address (Cont'd) |
5147 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
5148 | Destination IP address (Cont'd) |
5149 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
5150 | BGP Message Packet |
5151 | |
5152 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
5153
5154 If `type' is PROTOCOL_BGP4MP, `subtype' is BGP4MP_ENTRY, and Address
5155Family == IP (version 4)
5156
5157 0 1 2 3
5158 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
5159 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
5160 | View # | Status |
5161 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
5162 | Time Last Change |
5163 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
5164 | Address Family | SAFI | Next-Hop-Len |
5165 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
5166 | Next Hop Address |
5167 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
5168 | Prefix Length | Address Prefix [variable] |
5169 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
5170 | Attribute Length |
5171 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
5172 | BGP Attribute [variable length] |
5173 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
5174
5175 If `type' is PROTOCOL_BGP4MP, `subtype' is BGP4MP_ENTRY, and Address
5176Family == IP version 6
5177
5178 0 1 2 3
5179 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
5180 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
5181 | View # | Status |
5182 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
5183 | Time Last Change |
5184 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
5185 | Address Family | SAFI | Next-Hop-Len |
5186 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
5187 | Next Hop Address |
5188 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
5189 | Next Hop Address (Cont'd) |
5190 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
5191 | Next Hop Address (Cont'd) |
5192 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
5193 | Next Hop Address (Cont'd) |
5194 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
5195 | Prefix Length | Address Prefix [variable] |
5196 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
5197 | Address Prefix (cont'd) [variable] |
5198 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
5199 | Attribute Length |
5200 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
5201 | BGP Attribute [variable length] |
5202 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
5203
5204 BGP4 Attribute must not contain MP_UNREACH_NLRI. If BGP Attribute
5205has MP_REACH_NLRI field, it must has zero length NLRI, e.g.,
5206MP_REACH_NLRI has only Address Family, SAFI and next-hop values.
5207
5208 If `type' is PROTOCOL_BGP4MP and `subtype' is BGP4MP_SNAPSHOT,
5209
5210 0 1 2 3
5211 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
5212 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
5213 | View # | File Name [variable] |
5214 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
5215
5216 The file specified in "File Name" contains all routing entries,
5217which are in the format of "subtype == BGP4MP_ENTRY".
5218
5219 Constants:
5220 /* type value */
5221 #define MSG_PROTOCOL_BGP4MP 16
5222 /* subtype value */
5223 #define BGP4MP_STATE_CHANGE 0
5224 #define BGP4MP_MESSAGE 1
5225 #define BGP4MP_ENTRY 2
5226 #define BGP4MP_SNAPSHOT 3
5227
5228
5229File: quagga.info, Node: Command Index, Next: VTY Key Index, Prev: Packet Binary Dump Format, Up: Top
5230
5231Command Index
5232*************
5233
5234�[index�]
5235* Menu:
5236
5237* access-class ACCESS-LIST: Basic Config Commands.
ajsc70257d2005-02-03 17:12:01 +00005238 (line 128)
paul56d1d202004-11-15 21:56:53 +00005239* access-list NAME deny IPV4-NETWORK: IP Access List. (line 8)
5240* access-list NAME permit IPV4-NETWORK: IP Access List. (line 7)
5241* aggregate-address A.B.C.D/M: Route Aggregation. (line 7)
5242* aggregate-address A.B.C.D/M as-set: Route Aggregation. (line 10)
5243* aggregate-address A.B.C.D/M summary-only: Route Aggregation.
5244 (line 14)
5245* area <0-4294967295> authentication: OSPF area. (line 107)
5246* area <0-4294967295> authentication message-digest: OSPF area.
5247 (line 112)
5248* area <0-4294967295> export-list NAME: OSPF area. (line 70)
5249* area <0-4294967295> filter-list prefix NAME in: OSPF area. (line 97)
5250* area <0-4294967295> filter-list prefix NAME out: OSPF area. (line 98)
5251* area <0-4294967295> import-list NAME: OSPF area. (line 89)
5252* area <0-4294967295> range A.B.C.D/M: OSPF area. (line 8)
5253* area <0-4294967295> shortcut: OSPF area. (line 52)
5254* area <0-4294967295> stub: OSPF area. (line 57)
5255* area <0-4294967295> stub no-summary: OSPF area. (line 62)
5256* area <0-4294967295> virtual-link A.B.C.D: OSPF area. (line 47)
5257* area A.B.C.D authentication: OSPF area. (line 106)
5258* area A.B.C.D authentication message-digest: OSPF area. (line 111)
5259* area A.B.C.D default-cost <0-16777215>: OSPF area. (line 66)
5260* area A.B.C.D export-list NAME: OSPF area. (line 69)
5261* area A.B.C.D filter-list prefix NAME in: OSPF area. (line 95)
5262* area A.B.C.D filter-list prefix NAME out: OSPF area. (line 96)
5263* area A.B.C.D import-list NAME: OSPF area. (line 88)
5264* area A.B.C.D range A.B.C.D/M: OSPF area. (line 7)
5265* area A.B.C.D range IPV4_PREFIX not-advertise: OSPF area. (line 26)
5266* area A.B.C.D range IPV4_PREFIX substitute IPV4_PREFIX: OSPF area.
5267 (line 32)
5268* area A.B.C.D shortcut: OSPF area. (line 51)
5269* area A.B.C.D stub: OSPF area. (line 56)
5270* area A.B.C.D stub no-summary: OSPF area. (line 61)
5271* area A.B.C.D virtual-link A.B.C.D: OSPF area. (line 46)
5272* auto-cost refrence-bandwidth <1-4294967>: OSPF router. (line 53)
5273* bandwidth <1-10000000>: Interface Commands. (line 31)
5274* banner motd default: Basic Config Commands.
ajsc70257d2005-02-03 17:12:01 +00005275 (line 110)
paulc7959912005-04-10 16:43:40 +00005276* bgp bestpath as-path confed: BGP decision process.
5277 (line 19)
paul56d1d202004-11-15 21:56:53 +00005278* bgp cluster-id A.B.C.D: Route Reflector. (line 7)
5279* bgp config-type cisco: Multiple instance. (line 20)
5280* bgp config-type zebra: Multiple instance. (line 49)
5281* bgp multiple-instance: Multiple instance. (line 10)
5282* bgp router-id A.B.C.D: BGP router. (line 22)
5283* call WORD: Commands for configuring a Route Server.
5284 (line 52)
5285* clear ip bgp PEER: More Show IP BGP. (line 25)
5286* clear ip bgp PEER soft in: More Show IP BGP. (line 28)
5287* clear ip prefix-list: Clear counter of ip prefix-list.
5288 (line 7)
5289* clear ip prefix-list NAME: Clear counter of ip prefix-list.
5290 (line 11)
5291* clear ip prefix-list NAME A.B.C.D/M: Clear counter of ip prefix-list.
5292 (line 13)
ajs274a4a42004-12-07 15:39:31 +00005293* configure terminal: Terminal Mode Commands.
5294 (line 13)
paul56d1d202004-11-15 21:56:53 +00005295* debug event: More Show IP BGP. (line 33)
5296* debug keepalive: More Show IP BGP. (line 37)
5297* debug ospf ism: Debugging OSPF. (line 12)
5298* debug ospf ism (status|events|timers): Debugging OSPF. (line 13)
5299* debug ospf lsa: Debugging OSPF. (line 22)
5300* debug ospf lsa (generate|flooding|refresh): Debugging OSPF. (line 23)
5301* debug ospf nsm: Debugging OSPF. (line 17)
5302* debug ospf nsm (status|events|timers): Debugging OSPF. (line 18)
5303* debug ospf packet (hello|dd|ls-request|ls-update|ls-ack|all) (send|recv) [detail]: Debugging OSPF.
5304 (line 8)
5305* debug ospf zebra: Debugging OSPF. (line 27)
5306* debug ospf zebra (interface|redistribute): Debugging OSPF. (line 28)
5307* debug rip events: RIP Debug Commands. (line 9)
5308* debug rip packet: RIP Debug Commands. (line 15)
5309* debug rip zebra: RIP Debug Commands. (line 22)
5310* debug ripng events: ripngd Terminal Mode Commands.
5311 (line 11)
5312* debug ripng packet: ripngd Terminal Mode Commands.
5313 (line 13)
5314* debug ripng zebra: ripngd Terminal Mode Commands.
5315 (line 15)
5316* debug update: More Show IP BGP. (line 35)
5317* default-information originate <1>: Redistribute routes to OSPF.
5318 (line 24)
5319* default-information originate: How to Announce RIP route.
5320 (line 51)
5321* default-information originate always: Redistribute routes to OSPF.
5322 (line 30)
5323* default-information originate always metric <0-16777214>: Redistribute routes to OSPF.
5324 (line 32)
5325* default-information originate always metric <0-16777214> metric-type (1|2): Redistribute routes to OSPF.
5326 (line 34)
5327* default-information originate always metric <0-16777214> metric-type (1|2) route-map WORD: Redistribute routes to OSPF.
5328 (line 36)
5329* default-information originate metric <0-16777214>: Redistribute routes to OSPF.
5330 (line 25)
5331* default-information originate metric <0-16777214> metric-type (1|2): Redistribute routes to OSPF.
5332 (line 27)
5333* default-information originate metric <0-16777214> metric-type (1|2) route-map WORD: Redistribute routes to OSPF.
5334 (line 29)
5335* default-metric <0-16777214>: Redistribute routes to OSPF.
5336 (line 44)
5337* default-metric <1-16>: RIP Metric Manipulation.
5338 (line 11)
5339* description DESCRIPTION ...: Interface Commands. (line 24)
5340* distance <1-255> <1>: Redistribute routes to OSPF.
5341 (line 47)
5342* distance <1-255>: RIP distance. (line 9)
5343* distance <1-255> A.B.C.D/M <1>: BGP distance. (line 12)
5344* distance <1-255> A.B.C.D/M: RIP distance. (line 13)
5345* distance <1-255> A.B.C.D/M ACCESS-LIST: RIP distance. (line 18)
5346* distance <1-255> A.B.C.D/M WORD: BGP distance. (line 13)
5347* distance bgp <1-255> <1-255> <1-255>: BGP distance. (line 7)
5348* distance ospf (intra-area|inter-area|external) <1-255>: Redistribute routes to OSPF.
5349 (line 51)
5350* distribute-list ACCESS_LIST (in|out) IFNAME: ripngd Filtering Commands.
5351 (line 7)
5352* distribute-list ACCESS_LIST DIRECT IFNAME: Filtering RIP Routes.
5353 (line 9)
5354* distribute-list NAME out (kernel|connected|static|rip|ospf: Redistribute routes to OSPF.
5355 (line 40)
5356* distribute-list prefix PREFIX_LIST (in|out) IFNAME: Filtering RIP Routes.
5357 (line 32)
5358* dump bgp all PATH: Dump BGP packets and table.
5359 (line 7)
5360* dump bgp all PATH INTERVAL: Dump BGP packets and table.
5361 (line 8)
5362* dump bgp routes PATH: Dump BGP packets and table.
5363 (line 15)
5364* dump bgp updates PATH: Dump BGP packets and table.
5365 (line 11)
5366* dump bgp updates PATH INTERVAL: Dump BGP packets and table.
5367 (line 12)
5368* enable password PASSWORD: Basic Config Commands.
5369 (line 14)
5370* exec-timeout MINUTE: Basic Config Commands.
ajsc70257d2005-02-03 17:12:01 +00005371 (line 116)
paul56d1d202004-11-15 21:56:53 +00005372* exec-timeout MINUTE SECOND: Basic Config Commands.
ajsc70257d2005-02-03 17:12:01 +00005373 (line 117)
paul56d1d202004-11-15 21:56:53 +00005374* flush_timer TIME: ripngd Configuration.
5375 (line 12)
5376* hostname HOSTNAME: Basic Config Commands.
5377 (line 7)
5378* interface IFNAME: Interface Commands. (line 7)
5379* interface IFNAME area AREA: OSPF6 router. (line 12)
5380* ip address ADDRESS/PREFIX: Interface Commands. (line 13)
5381* ip address ADDRESS/PREFIX secondary: Interface Commands. (line 19)
5382* ip as-path access-list WORD {permit|deny} LINE: AS Path Access List.
5383 (line 9)
5384* ip community-list <1-99> {permit|deny} COMMUNITY: Numbered BGP Community Lists.
5385 (line 14)
5386* ip community-list <100-199> {permit|deny} COMMUNITY: Numbered BGP Community Lists.
5387 (line 20)
5388* ip community-list expanded NAME {permit|deny} LINE: BGP Community Lists.
5389 (line 30)
5390* ip community-list NAME {permit|deny} COMMUNITY: Numbered BGP Community Lists.
5391 (line 25)
5392* ip community-list standard NAME {permit|deny} COMMUNITY: BGP Community Lists.
5393 (line 20)
5394* ip extcommunity-list expanded NAME {permit|deny} LINE: BGP Extended Community Lists.
5395 (line 21)
5396* ip extcommunity-list standard NAME {permit|deny} EXTCOMMUNITY: BGP Extended Community Lists.
5397 (line 10)
5398* ip ospf authentication-key AUTH_KEY: OSPF interface. (line 7)
5399* ip ospf cost <1-65535>: OSPF interface. (line 30)
5400* ip ospf dead-interval <1-65535>: OSPF interface. (line 35)
5401* ip ospf hello-interval <1-65535>: OSPF interface. (line 42)
5402* ip ospf message-digest-key KEYID md5 KEY: OSPF interface. (line 13)
5403* ip ospf network (broadcast|non-broadcast|point-to-multipoint|point-to-point): OSPF interface.
5404 (line 50)
5405* ip ospf priority <0-255>: OSPF interface. (line 54)
5406* ip ospf retransmit-interval <1-65535>: OSPF interface. (line 61)
5407* ip ospf transmit-delay: OSPF interface. (line 67)
5408* ip prefix-list NAME (permit|deny) PREFIX [le LEN] [ge LEN]: IP Prefix List.
5409 (line 16)
5410* ip prefix-list NAME description DESC: ip prefix-list description.
5411 (line 7)
5412* ip prefix-list NAME seq NUMBER (permit|deny) PREFIX [le LEN] [ge LEN]: IP Prefix List.
5413 (line 18)
5414* ip prefix-list sequence-number: ip prefix-list sequential number control.
5415 (line 7)
5416* ip rip authentication key-chain KEY-CHAIN: RIP Authentication.
5417 (line 21)
5418* ip rip authentication mode md5: RIP Authentication. (line 7)
5419* ip rip authentication mode text: RIP Authentication. (line 11)
5420* ip rip authentication string STRING: RIP Authentication. (line 15)
5421* ip rip receive version VERSION: RIP Configuration. (line 90)
5422* ip rip send version VERSION: RIP Configuration. (line 81)
5423* ip route NETWORK GATEWAY: Static Route Commands.
5424 (line 10)
5425* ip route NETWORK GATEWAY DISTANCE: Static Route Commands.
5426 (line 36)
5427* ip route NETWORK NETMASK GATEWAY: Static Route Commands.
5428 (line 25)
5429* ip split-horizon: RIP Configuration. (line 99)
5430* ip6 address ADDRESS/PREFIX: Interface Commands. (line 14)
paulbbd938e2005-04-02 10:18:42 +00005431* ipv6 nd adv-interval-option: Router Advertisement.
5432 (line 127)
5433* ipv6 nd home-agent-config-flag: Router Advertisement.
5434 (line 104)
5435* ipv6 nd home-agent-lifetime: Router Advertisement.
5436 (line 119)
5437* ipv6 nd home-agent-preference: Router Advertisement.
5438 (line 112)
paul56d1d202004-11-15 21:56:53 +00005439* ipv6 nd managed-config-flag: Router Advertisement.
paulbbd938e2005-04-02 10:18:42 +00005440 (line 87)
paul56d1d202004-11-15 21:56:53 +00005441* ipv6 nd other-config-flag: Router Advertisement.
paulbbd938e2005-04-02 10:18:42 +00005442 (line 96)
5443* ipv6 nd prefix IPV6PREFIX [VALID-LIFETIME] [PREFERRED-LIFETIME] [off-link] [no-autoconfig] [router-address]: Router Advertisement.
paul56d1d202004-11-15 21:56:53 +00005444 (line 14)
paulbbd938e2005-04-02 10:18:42 +00005445* ipv6 nd ra-interval msec MILLISECONDS: Router Advertisement.
5446 (line 57)
paul56d1d202004-11-15 21:56:53 +00005447* ipv6 nd ra-interval SECONDS: Router Advertisement.
paulbbd938e2005-04-02 10:18:42 +00005448 (line 49)
paul56d1d202004-11-15 21:56:53 +00005449* ipv6 nd ra-lifetime SECONDS: Router Advertisement.
paulbbd938e2005-04-02 10:18:42 +00005450 (line 65)
paul56d1d202004-11-15 21:56:53 +00005451* ipv6 nd reachable-time MILLISECONDS: Router Advertisement.
paulbbd938e2005-04-02 10:18:42 +00005452 (line 77)
paul56d1d202004-11-15 21:56:53 +00005453* ipv6 nd suppress-ra: Router Advertisement.
5454 (line 10)
5455* ipv6 ospf6 cost COST: OSPF6 interface. (line 7)
5456* ipv6 ospf6 dead-interval DEADINTERVAL: OSPF6 interface. (line 13)
5457* ipv6 ospf6 hello-interval HELLOINTERVAL: OSPF6 interface. (line 10)
5458* ipv6 ospf6 priority PRIORITY: OSPF6 interface. (line 20)
5459* ipv6 ospf6 retransmit-interval RETRANSMITINTERVAL: OSPF6 interface.
5460 (line 17)
5461* ipv6 ospf6 transmit-delay TRANSMITDELAY: OSPF6 interface. (line 23)
5462* ipv6 route NETWORK GATEWAY: Static Route Commands.
5463 (line 77)
5464* ipv6 route NETWORK GATEWAY DISTANCE: Static Route Commands.
5465 (line 78)
5466* line vty: Basic Config Commands.
ajsc70257d2005-02-03 17:12:01 +00005467 (line 107)
paul56d1d202004-11-15 21:56:53 +00005468* link-detect: Interface Commands. (line 37)
ajs274a4a42004-12-07 15:39:31 +00005469* list: Terminal Mode Commands.
5470 (line 24)
5471* log facility FACILITY: Basic Config Commands.
ajsc70257d2005-02-03 17:12:01 +00005472 (line 81)
paul56d1d202004-11-15 21:56:53 +00005473* log file FILENAME: Basic Config Commands.
ajs274a4a42004-12-07 15:39:31 +00005474 (line 41)
5475* log file FILENAME LEVEL: Basic Config Commands.
5476 (line 42)
5477* log monitor: Basic Config Commands.
ajsc70257d2005-02-03 17:12:01 +00005478 (line 68)
ajs274a4a42004-12-07 15:39:31 +00005479* log monitor LEVEL: Basic Config Commands.
ajsc70257d2005-02-03 17:12:01 +00005480 (line 69)
ajs274a4a42004-12-07 15:39:31 +00005481* log record-priority: Basic Config Commands.
ajsc70257d2005-02-03 17:12:01 +00005482 (line 87)
paul56d1d202004-11-15 21:56:53 +00005483* log stdout: Basic Config Commands.
ajs274a4a42004-12-07 15:39:31 +00005484 (line 28)
5485* log stdout LEVEL: Basic Config Commands.
5486 (line 29)
paul56d1d202004-11-15 21:56:53 +00005487* log syslog: Basic Config Commands.
ajsc70257d2005-02-03 17:12:01 +00005488 (line 59)
ajs274a4a42004-12-07 15:39:31 +00005489* log syslog LEVEL: Basic Config Commands.
ajsc70257d2005-02-03 17:12:01 +00005490 (line 60)
ajs274a4a42004-12-07 15:39:31 +00005491* log trap LEVEL: Basic Config Commands.
5492 (line 17)
5493* logmsg LEVEL MESSAGE: Terminal Mode Commands.
5494 (line 34)
paul56d1d202004-11-15 21:56:53 +00005495* match as-path WORD: Using AS Path in Route Map.
5496 (line 7)
5497* match aspath AS_PATH: Route Map Match Command.
5498 (line 13)
5499* match community COMMUNITY_LIST: Route Map Match Command.
5500 (line 19)
5501* match community WORD: BGP Community in Route Map.
5502 (line 13)
5503* match community WORD exact-match: BGP Community in Route Map.
5504 (line 14)
5505* match extcommunity WORD: BGP Extended Communities in Route Map.
5506 (line 7)
5507* match interface WORD: RIP route-map. (line 26)
5508* match ip address ACCESS_LIST: Route Map Match Command.
5509 (line 7)
5510* match ip address prefix-list WORD: RIP route-map. (line 39)
5511* match ip address WORD: RIP route-map. (line 38)
5512* match ip next-hop A.B.C.D: RIP route-map. (line 42)
5513* match ip next-hop IPV4_ADDR: Route Map Match Command.
5514 (line 10)
5515* match metric <0-4294967295>: RIP route-map. (line 47)
5516* match metric METRIC: Route Map Match Command.
5517 (line 16)
5518* match peer {A.B.C.D|X:X::X:X}: Commands for configuring a Route Server.
5519 (line 34)
5520* multicast: Interface Commands. (line 27)
5521* neigbor {A.B.C.D|X.X::X.X|peer-group} route-map WORD {import|export}: Commands for configuring a Route Server.
5522 (line 29)
5523* neighbor A.B.C.D: RIP Configuration. (line 45)
5524* neighbor A.B.C.D route-server-client: Commands for configuring a Route Server.
5525 (line 11)
5526* neighbor PEER default-originate: BGP Peer commands. (line 47)
5527* neighbor PEER description ...: BGP Peer commands. (line 20)
5528* neighbor PEER distribute-list NAME [in|out]: Peer filtering.
5529 (line 7)
5530* neighbor PEER dont-capability-negotiate: Capability Negotiation.
5531 (line 49)
5532* neighbor PEER ebgp-multihop: BGP Peer commands. (line 17)
5533* neighbor PEER filter-list NAME [in|out]: Peer filtering. (line 13)
5534* neighbor PEER interface IFNAME: BGP Peer commands. (line 33)
5535* neighbor PEER maximum-prefix NUMBER: BGP Peer commands. (line 64)
5536* neighbor PEER next-hop-self: BGP Peer commands. (line 39)
5537* neighbor PEER override-capability: Capability Negotiation.
5538 (line 65)
5539* neighbor PEER peer-group WORD: BGP Peer Group. (line 10)
5540* neighbor PEER port PORT: BGP Peer commands. (line 53)
5541* neighbor PEER prefix-list NAME [in|out]: Peer filtering. (line 11)
5542* neighbor PEER remote-as ASN: Defining Peer. (line 7)
5543* neighbor PEER route-map NAME [in|out]: Peer filtering. (line 15)
5544* neighbor PEER route-reflector-client: Route Reflector. (line 9)
5545* neighbor PEER send-community: BGP Peer commands. (line 56)
5546* neighbor PEER shutdown: BGP Peer commands. (line 10)
5547* neighbor PEER strict-capability-match: Capability Negotiation.
5548 (line 38)
5549* neighbor PEER update-source: BGP Peer commands. (line 44)
5550* neighbor PEER version VERSION: BGP Peer commands. (line 24)
5551* neighbor PEER weight WEIGHT: BGP Peer commands. (line 59)
5552* neighbor PEER-GROUP route-server-client: Commands for configuring a Route Server.
5553 (line 10)
5554* neighbor WORD peer-group: BGP Peer Group. (line 7)
5555* neighbor X:X::X:X route-server-client: Commands for configuring a Route Server.
5556 (line 12)
5557* network A.B.C.D/M: BGP route. (line 7)
5558* network A.B.C.D/M area <0-4294967295>: OSPF router. (line 57)
5559* network A.B.C.D/M area A.B.C.D: OSPF router. (line 56)
5560* network IFNAME <1>: ripngd Configuration.
5561 (line 18)
5562* network IFNAME: RIP Configuration. (line 38)
5563* network NETWORK <1>: ripngd Configuration.
5564 (line 15)
5565* network NETWORK: RIP Configuration. (line 26)
5566* no aggregate-address A.B.C.D/M: Route Aggregation. (line 18)
5567* no area <0-4294967295> authentication: OSPF area. (line 109)
5568* no area <0-4294967295> export-list NAME: OSPF area. (line 72)
5569* no area <0-4294967295> filter-list prefix NAME in: OSPF area.
5570 (line 101)
5571* no area <0-4294967295> filter-list prefix NAME out: OSPF area.
5572 (line 102)
5573* no area <0-4294967295> import-list NAME: OSPF area. (line 91)
5574* no area <0-4294967295> range A.B.C.D/M: OSPF area. (line 10)
5575* no area <0-4294967295> shortcut: OSPF area. (line 54)
5576* no area <0-4294967295> stub: OSPF area. (line 59)
5577* no area <0-4294967295> stub no-summary: OSPF area. (line 64)
5578* no area <0-4294967295> virtual-link A.B.C.D: OSPF area. (line 49)
5579* no area A.B.C.D authentication: OSPF area. (line 108)
5580* no area A.B.C.D default-cost <0-16777215>: OSPF area. (line 67)
5581* no area A.B.C.D export-list NAME: OSPF area. (line 71)
5582* no area A.B.C.D filter-list prefix NAME in: OSPF area. (line 99)
5583* no area A.B.C.D filter-list prefix NAME out: OSPF area. (line 100)
5584* no area A.B.C.D import-list NAME: OSPF area. (line 90)
5585* no area A.B.C.D range A.B.C.D/M: OSPF area. (line 9)
5586* no area A.B.C.D range IPV4_PREFIX not-advertise: OSPF area. (line 27)
5587* no area A.B.C.D range IPV4_PREFIX substitute IPV4_PREFIX: OSPF area.
5588 (line 34)
5589* no area A.B.C.D shortcut: OSPF area. (line 53)
5590* no area A.B.C.D stub: OSPF area. (line 58)
5591* no area A.B.C.D stub no-summary: OSPF area. (line 63)
5592* no area A.B.C.D virtual-link A.B.C.D: OSPF area. (line 48)
5593* no auto-cost refrence-bandwidth: OSPF router. (line 54)
5594* no bandwidth <1-10000000>: Interface Commands. (line 32)
5595* no banner motd: Basic Config Commands.
ajsc70257d2005-02-03 17:12:01 +00005596 (line 113)
paul56d1d202004-11-15 21:56:53 +00005597* no bgp multiple-instance: Multiple instance. (line 14)
5598* no debug event: More Show IP BGP. (line 39)
5599* no debug keepalive: More Show IP BGP. (line 43)
5600* no debug ospf ism: Debugging OSPF. (line 14)
5601* no debug ospf ism (status|events|timers): Debugging OSPF. (line 15)
5602* no debug ospf lsa: Debugging OSPF. (line 24)
5603* no debug ospf lsa (generate|flooding|refresh): Debugging OSPF.
5604 (line 25)
5605* no debug ospf nsm: Debugging OSPF. (line 19)
5606* no debug ospf nsm (status|events|timers): Debugging OSPF. (line 20)
5607* no debug ospf packet (hello|dd|ls-request|ls-update|ls-ack|all) (send|recv) [detail]: Debugging OSPF.
5608 (line 10)
5609* no debug ospf zebra: Debugging OSPF. (line 29)
5610* no debug ospf zebra (interface|redistribute): Debugging OSPF.
5611 (line 30)
5612* no debug update: More Show IP BGP. (line 41)
5613* no default-information originate: Redistribute routes to OSPF.
5614 (line 37)
5615* no default-metric: Redistribute routes to OSPF.
5616 (line 45)
5617* no default-metric <1-16>: RIP Metric Manipulation.
5618 (line 12)
5619* no distance <1-255> <1>: Redistribute routes to OSPF.
5620 (line 48)
5621* no distance <1-255>: RIP distance. (line 10)
5622* no distance <1-255> A.B.C.D/M: RIP distance. (line 14)
5623* no distance <1-255> A.B.C.D/M ACCESS-LIST: RIP distance. (line 19)
5624* no distance ospf: Redistribute routes to OSPF.
5625 (line 52)
5626* no distribute-list NAME out (kernel|connected|static|rip|ospf: Redistribute routes to OSPF.
5627 (line 42)
5628* no exec-timeout: Basic Config Commands.
ajsc70257d2005-02-03 17:12:01 +00005629 (line 124)
paul56d1d202004-11-15 21:56:53 +00005630* no ip address ADDRESS/PREFIX: Interface Commands. (line 15)
5631* no ip address ADDRESS/PREFIX secondary: Interface Commands. (line 20)
5632* no ip as-path access-list WORD: AS Path Access List. (line 12)
5633* no ip as-path access-list WORD {permit|deny} LINE: AS Path Access List.
5634 (line 13)
5635* no ip community-list expanded NAME: BGP Community Lists. (line 37)
5636* no ip community-list NAME: BGP Community Lists. (line 35)
5637* no ip community-list standard NAME: BGP Community Lists. (line 36)
5638* no ip extcommunity-list expanded NAME: BGP Extended Community Lists.
5639 (line 29)
5640* no ip extcommunity-list NAME: BGP Extended Community Lists.
5641 (line 27)
5642* no ip extcommunity-list standard NAME: BGP Extended Community Lists.
5643 (line 28)
5644* no ip ospf authentication-key: OSPF interface. (line 8)
5645* no ip ospf cost: OSPF interface. (line 31)
5646* no ip ospf dead-interval: OSPF interface. (line 36)
5647* no ip ospf hello-interval: OSPF interface. (line 43)
5648* no ip ospf message-digest-key: OSPF interface. (line 14)
5649* no ip ospf network: OSPF interface. (line 51)
5650* no ip ospf priority: OSPF interface. (line 55)
5651* no ip ospf retransmit interval: OSPF interface. (line 62)
5652* no ip ospf transmit-delay: OSPF interface. (line 68)
5653* no ip prefix-list NAME: IP Prefix List. (line 67)
5654* no ip prefix-list NAME description [DESC]: ip prefix-list description.
5655 (line 11)
5656* no ip prefix-list sequence-number: ip prefix-list sequential number control.
5657 (line 11)
5658* no ip rip authentication key-chain KEY-CHAIN: RIP Authentication.
5659 (line 22)
5660* no ip rip authentication mode md5: RIP Authentication. (line 8)
5661* no ip rip authentication mode text: RIP Authentication. (line 12)
5662* no ip rip authentication string STRING: RIP Authentication. (line 16)
5663* no ip split-horizon: RIP Configuration. (line 100)
5664* no ip6 address ADDRESS/PREFIX: Interface Commands. (line 16)
paulbbd938e2005-04-02 10:18:42 +00005665* no ipv6 nd adv-interval-option: Router Advertisement.
5666 (line 128)
5667* no ipv6 nd home-agent-config-flag: Router Advertisement.
5668 (line 105)
5669* no ipv6 nd home-agent-lifetime: Router Advertisement.
5670 (line 120)
5671* no ipv6 nd home-agent-preference: Router Advertisement.
5672 (line 113)
paul56d1d202004-11-15 21:56:53 +00005673* no ipv6 nd managed-config-flag: Router Advertisement.
paulbbd938e2005-04-02 10:18:42 +00005674 (line 88)
paul56d1d202004-11-15 21:56:53 +00005675* no ipv6 nd other-config-flag: Router Advertisement.
paulbbd938e2005-04-02 10:18:42 +00005676 (line 97)
paul56d1d202004-11-15 21:56:53 +00005677* no ipv6 nd ra-interval: Router Advertisement.
paulbbd938e2005-04-02 10:18:42 +00005678 (line 50)
5679* no ipv6 nd ra-interval msec: Router Advertisement.
5680 (line 58)
paul56d1d202004-11-15 21:56:53 +00005681* no ipv6 nd ra-lifetime: Router Advertisement.
paulbbd938e2005-04-02 10:18:42 +00005682 (line 66)
paul56d1d202004-11-15 21:56:53 +00005683* no ipv6 nd reachable-time: Router Advertisement.
paulbbd938e2005-04-02 10:18:42 +00005684 (line 78)
paul56d1d202004-11-15 21:56:53 +00005685* no ipv6 nd suppress-ra: Router Advertisement.
5686 (line 7)
5687* no link-detect: Interface Commands. (line 38)
ajs274a4a42004-12-07 15:39:31 +00005688* no log facility: Basic Config Commands.
ajsc70257d2005-02-03 17:12:01 +00005689 (line 82)
ajs274a4a42004-12-07 15:39:31 +00005690* no log file: Basic Config Commands.
5691 (line 43)
5692* no log monitor: Basic Config Commands.
ajsc70257d2005-02-03 17:12:01 +00005693 (line 70)
ajs274a4a42004-12-07 15:39:31 +00005694* no log record-priority: Basic Config Commands.
ajsc70257d2005-02-03 17:12:01 +00005695 (line 88)
paul56d1d202004-11-15 21:56:53 +00005696* no log stdout: Basic Config Commands.
ajs274a4a42004-12-07 15:39:31 +00005697 (line 30)
paul56d1d202004-11-15 21:56:53 +00005698* no log syslog: Basic Config Commands.
ajsc70257d2005-02-03 17:12:01 +00005699 (line 61)
ajs274a4a42004-12-07 15:39:31 +00005700* no log trap: Basic Config Commands.
5701 (line 18)
paul56d1d202004-11-15 21:56:53 +00005702* no multicast: Interface Commands. (line 28)
5703* no neighbor A.B.C.D: RIP Configuration. (line 46)
5704* no neighbor PEER default-originate: BGP Peer commands. (line 48)
5705* no neighbor PEER description ...: BGP Peer commands. (line 21)
5706* no neighbor PEER dont-capability-negotiate: Capability Negotiation.
5707 (line 50)
5708* no neighbor PEER ebgp-multihop: BGP Peer commands. (line 18)
5709* no neighbor PEER interface IFNAME: BGP Peer commands. (line 34)
5710* no neighbor PEER maximum-prefix NUMBER: BGP Peer commands. (line 65)
5711* no neighbor PEER next-hop-self: BGP Peer commands. (line 40)
5712* no neighbor PEER override-capability: Capability Negotiation.
5713 (line 66)
5714* no neighbor PEER route-reflector-client: Route Reflector. (line 10)
5715* no neighbor PEER shutdown: BGP Peer commands. (line 11)
5716* no neighbor PEER strict-capability-match: Capability Negotiation.
5717 (line 39)
5718* no neighbor PEER update-source: BGP Peer commands. (line 45)
5719* no neighbor PEER weight WEIGHT: BGP Peer commands. (line 60)
5720* no network A.B.C.D/M: BGP route. (line 17)
5721* no network A.B.C.D/M area <0-4294967295>: OSPF router. (line 59)
5722* no network A.B.C.D/M area A.B.C.D: OSPF router. (line 58)
5723* no network IFNAME: RIP Configuration. (line 39)
5724* no network NETWORK: RIP Configuration. (line 27)
5725* no ospf abr-type TYPE: OSPF router. (line 20)
5726* no ospf rfc1583compatibility: OSPF router. (line 35)
5727* no ospf router-id: OSPF router. (line 17)
5728* no passive interface INTERFACE: OSPF router. (line 44)
5729* no passive-interface IFNAME: RIP Configuration. (line 69)
5730* no redistribute (kernel|connected|static|rip|bgp): Redistribute routes to OSPF.
5731 (line 22)
5732* no redistribute bgp: How to Announce RIP route.
5733 (line 44)
5734* no redistribute connected: How to Announce RIP route.
5735 (line 26)
5736* no redistribute kernel: How to Announce RIP route.
5737 (line 10)
5738* no redistribute ospf: How to Announce RIP route.
5739 (line 36)
5740* no redistribute static: How to Announce RIP route.
5741 (line 18)
5742* no route A.B.C.D/M: How to Announce RIP route.
5743 (line 54)
5744* no router bgp ASN: BGP router. (line 19)
5745* no router ospf: OSPF router. (line 11)
5746* no router rip: RIP Configuration. (line 12)
5747* no router zebra: Redistribute routes to OSPF.
5748 (line 55)
5749* no shutdown: Interface Commands. (line 10)
5750* no smux peer OID: MIB and command reference.
5751 (line 29)
5752* no smux peer OID PASSWORD: MIB and command reference.
5753 (line 32)
5754* no timers basic: RIP Timers. (line 31)
5755* no timers spf: OSPF router. (line 47)
5756* offset-list ACCESS-LIST (in|out): RIP Metric Manipulation.
5757 (line 20)
5758* offset-list ACCESS-LIST (in|out) IFNAME: RIP Metric Manipulation.
5759 (line 21)
5760* ospf abr-type TYPE: OSPF router. (line 19)
5761* ospf rfc1583compatibility: OSPF router. (line 34)
5762* ospf router-id A.B.C.D: OSPF router. (line 16)
5763* passive interface INTERFACE: OSPF router. (line 43)
5764* passive-interface (IFNAME|default): RIP Configuration. (line 68)
5765* password PASSWORD: Basic Config Commands.
5766 (line 10)
5767* redistribute (kernel|connected|static|rip|bgp): Redistribute routes to OSPF.
5768 (line 7)
5769* redistribute (kernel|connected|static|rip|bgp) metric <0-16777214>: Redistribute routes to OSPF.
5770 (line 15)
5771* redistribute (kernel|connected|static|rip|bgp) metric <0-16777214> route-map WORD: Redistribute routes to OSPF.
5772 (line 17)
5773* redistribute (kernel|connected|static|rip|bgp) metric-type (1|2): Redistribute routes to OSPF.
5774 (line 11)
5775* redistribute (kernel|connected|static|rip|bgp) metric-type (1|2) metric <0-16777214>: Redistribute routes to OSPF.
5776 (line 19)
5777* redistribute (kernel|connected|static|rip|bgp) metric-type (1|2) metric <0-16777214> route-map WORD: Redistribute routes to OSPF.
5778 (line 21)
5779* redistribute (kernel|connected|static|rip|bgp) metric-type (1|2) route-map WORD: Redistribute routes to OSPF.
5780 (line 13)
5781* redistribute (kernel|connected|static|rip|bgp) ROUTE-MAP: Redistribute routes to OSPF.
5782 (line 9)
5783* redistribute bgp: How to Announce RIP route.
5784 (line 41)
5785* redistribute bgp metric <0-16>: How to Announce RIP route.
5786 (line 42)
5787* redistribute bgp route-map ROUTE-MAP: How to Announce RIP route.
5788 (line 43)
5789* redistribute connected <1>: Redistribute to BGP. (line 13)
5790* redistribute connected <2>: Redistribute routes to OSPF6.
5791 (line 8)
5792* redistribute connected: How to Announce RIP route.
5793 (line 23)
5794* redistribute connected metric <0-16>: How to Announce RIP route.
5795 (line 24)
5796* redistribute connected route-map ROUTE-MAP: How to Announce RIP route.
5797 (line 25)
5798* redistribute kernel <1>: Redistribute to BGP. (line 7)
5799* redistribute kernel: How to Announce RIP route.
5800 (line 7)
5801* redistribute kernel metric <0-16>: How to Announce RIP route.
5802 (line 8)
5803* redistribute kernel route-map ROUTE-MAP: How to Announce RIP route.
5804 (line 9)
5805* redistribute ospf <1>: Redistribute to BGP. (line 19)
5806* redistribute ospf: How to Announce RIP route.
5807 (line 33)
5808* redistribute ospf metric <0-16>: How to Announce RIP route.
5809 (line 34)
5810* redistribute ospf route-map ROUTE-MAP: How to Announce RIP route.
5811 (line 35)
5812* redistribute rip: Redistribute to BGP. (line 16)
5813* redistribute ripng: Redistribute routes to OSPF6.
5814 (line 9)
5815* redistribute static <1>: Redistribute to BGP. (line 10)
5816* redistribute static <2>: Redistribute routes to OSPF6.
5817 (line 7)
5818* redistribute static: How to Announce RIP route.
5819 (line 15)
5820* redistribute static metric <0-16>: How to Announce RIP route.
5821 (line 16)
5822* redistribute static route-map ROUTE-MAP: How to Announce RIP route.
5823 (line 17)
5824* refresh age-diff <0-10000>: OSPF router. (line 51)
5825* refresh group-limit <0-10000>: OSPF router. (line 49)
5826* refresh per-slice <0-10000>: OSPF router. (line 50)
5827* route A.B.C.D/M: How to Announce RIP route.
5828 (line 53)
5829* route NETWORK: ripngd Configuration.
5830 (line 21)
5831* route-map ROUTE-MAP-NAME permit PRIORITY: Route Map Command.
5832 (line 7)
5833* router bgp AS-NUMBER: BGP instance and view.
5834 (line 11)
5835* router bgp AS-NUMBER view NAME: BGP instance and view.
5836 (line 28)
5837* router bgp ASN: BGP router. (line 13)
5838* router ospf: OSPF router. (line 10)
5839* router ospf6: OSPF6 router. (line 7)
5840* router rip: RIP Configuration. (line 7)
5841* router ripng: ripngd Configuration.
5842 (line 9)
5843* router zebra <1>: Redistribute routes to OSPF.
5844 (line 54)
5845* router zebra: ripngd Configuration.
5846 (line 24)
5847* router-id A.B.C.D: OSPF6 router. (line 9)
5848* service advanced-vty: Basic Config Commands.
ajsc70257d2005-02-03 17:12:01 +00005849 (line 100)
paul56d1d202004-11-15 21:56:53 +00005850* service integrated-vtysh-config: VTY shell integrated configuration.
5851 (line 7)
5852* service password-encryption: Basic Config Commands.
ajsc70257d2005-02-03 17:12:01 +00005853 (line 97)
paul56d1d202004-11-15 21:56:53 +00005854* service terminal-length <0-512>: Basic Config Commands.
ajsc70257d2005-02-03 17:12:01 +00005855 (line 103)
paul56d1d202004-11-15 21:56:53 +00005856* set as-path prepend AS-PATH: Using AS Path in Route Map.
5857 (line 9)
5858* set as-path prepend AS_PATH: Route Map Set Command.
5859 (line 19)
5860* set comm-list WORD delete: BGP Community in Route Map.
5861 (line 34)
5862* set community COMMUNITY <1>: Route Map Set Command.
5863 (line 22)
5864* set community COMMUNITY: BGP Community in Route Map.
5865 (line 23)
5866* set community COMMUNITY additive: BGP Community in Route Map.
5867 (line 24)
5868* set community none: BGP Community in Route Map.
5869 (line 22)
5870* set extcommunity rt EXTCOMMUNITY: BGP Extended Communities in Route Map.
5871 (line 9)
5872* set extcommunity soo EXTCOMMUNITY: BGP Extended Communities in Route Map.
5873 (line 12)
5874* set ip next-hop A.B.C.D: RIP route-map. (line 52)
5875* set ip next-hop IPV4_ADDRESS: Route Map Set Command.
5876 (line 7)
5877* set ipv6 next-hop global IPV6_ADDRESS: Route Map Set Command.
5878 (line 25)
5879* set ipv6 next-hop local IPV6_ADDRESS: Route Map Set Command.
5880 (line 28)
5881* set local-preference LOCAL_PREF: Route Map Set Command.
5882 (line 10)
5883* set metric <0-4294967295>: RIP route-map. (line 57)
5884* set metric METRIC: Route Map Set Command.
5885 (line 16)
5886* set weight WEIGHT: Route Map Set Command.
5887 (line 13)
5888* show debug: More Show IP BGP. (line 31)
5889* show debugging ospf: Debugging OSPF. (line 32)
5890* show debugging rip: RIP Debug Commands. (line 29)
5891* show debugging ripng: ripngd Terminal Mode Commands.
5892 (line 9)
5893* show interface: zebra Terminal Mode Commands.
5894 (line 21)
5895* show ip bgp: Show IP BGP. (line 7)
5896* show ip bgp A.B.C.D: Show IP BGP. (line 8)
5897* show ip bgp community: Display BGP Routes by Community.
5898 (line 11)
5899* show ip bgp community COMMUNITY <1>: More Show IP BGP. (line 11)
5900* show ip bgp community COMMUNITY: Display BGP Routes by Community.
5901 (line 12)
5902* show ip bgp community COMMUNITY exact-match <1>: More Show IP BGP.
5903 (line 12)
5904* show ip bgp community COMMUNITY exact-match: Display BGP Routes by Community.
5905 (line 13)
5906* show ip bgp community-list WORD <1>: More Show IP BGP. (line 16)
5907* show ip bgp community-list WORD: Display BGP Routes by Community.
5908 (line 20)
5909* show ip bgp community-list WORD exact-match <1>: More Show IP BGP.
5910 (line 17)
5911* show ip bgp community-list WORD exact-match: Display BGP Routes by Community.
5912 (line 21)
5913* show ip bgp neighbor [PEER]: More Show IP BGP. (line 23)
5914* show ip bgp regexp LINE <1>: More Show IP BGP. (line 7)
5915* show ip bgp regexp LINE: Display BGP Routes by AS Path.
5916 (line 10)
5917* show ip bgp summary: More Show IP BGP. (line 21)
5918* show ip bgp view NAME: Viewing the view. (line 9)
5919* show ip bgp X:X::X:X: Show IP BGP. (line 9)
5920* show ip community-list: BGP Community Lists. (line 42)
5921* show ip community-list NAME: BGP Community Lists. (line 43)
5922* show ip extcommunity-list: BGP Extended Community Lists.
5923 (line 35)
5924* show ip extcommunity-list NAME: BGP Extended Community Lists.
5925 (line 36)
5926* show ip ospf: Showing OSPF information.
5927 (line 7)
5928* show ip ospf database: Showing OSPF information.
5929 (line 16)
5930* show ip ospf database (asbr-summary|external|network|router|summary): Showing OSPF information.
5931 (line 19)
5932* show ip ospf database (asbr-summary|external|network|router|summary) adv-router ADV-ROUTER: Showing OSPF information.
5933 (line 26)
5934* show ip ospf database (asbr-summary|external|network|router|summary) LINK-STATE-ID: Showing OSPF information.
5935 (line 21)
5936* show ip ospf database (asbr-summary|external|network|router|summary) LINK-STATE-ID adv-router ADV-ROUTER: Showing OSPF information.
5937 (line 24)
5938* show ip ospf database (asbr-summary|external|network|router|summary) LINK-STATE-ID self-originate: Showing OSPF information.
5939 (line 29)
5940* show ip ospf database (asbr-summary|external|network|router|summary) self-originate: Showing OSPF information.
5941 (line 31)
5942* show ip ospf database max-age: Showing OSPF information.
5943 (line 33)
5944* show ip ospf database self-originate: Showing OSPF information.
5945 (line 35)
5946* show ip ospf interface [INTERFACE]: Showing OSPF information.
5947 (line 9)
5948* show ip ospf neighbor: Showing OSPF information.
5949 (line 11)
5950* show ip ospf neighbor detail: Showing OSPF information.
5951 (line 13)
5952* show ip ospf neighbor INTERFACE: Showing OSPF information.
5953 (line 12)
5954* show ip ospf neighbor INTERFACE detail: Showing OSPF information.
5955 (line 14)
5956* show ip ospf refresher: Showing OSPF information.
5957 (line 37)
5958* show ip ospf route: Showing OSPF information.
5959 (line 39)
5960* show ip prefix-list: Showing ip prefix-list.
5961 (line 7)
5962* show ip prefix-list detail: Showing ip prefix-list.
5963 (line 31)
5964* show ip prefix-list detail NAME: Showing ip prefix-list.
5965 (line 33)
5966* show ip prefix-list NAME: Showing ip prefix-list.
5967 (line 10)
5968* show ip prefix-list NAME A.B.C.D/M: Showing ip prefix-list.
5969 (line 17)
5970* show ip prefix-list NAME A.B.C.D/M first-match: Showing ip prefix-list.
5971 (line 25)
5972* show ip prefix-list NAME A.B.C.D/M longer: Showing ip prefix-list.
5973 (line 23)
5974* show ip prefix-list NAME seq NUM: Showing ip prefix-list.
5975 (line 13)
5976* show ip prefix-list summary: Showing ip prefix-list.
5977 (line 27)
5978* show ip prefix-list summary NAME: Showing ip prefix-list.
5979 (line 29)
5980* show ip protocols: Show RIP Information.
5981 (line 17)
5982* show ip rip: Show RIP Information.
5983 (line 9)
5984* show ip ripng: ripngd Terminal Mode Commands.
5985 (line 7)
5986* show ip route: zebra Terminal Mode Commands.
5987 (line 7)
5988* show ipforward: zebra Terminal Mode Commands.
5989 (line 23)
5990* show ipv6 ospf6 [INSTANCE_ID]: Showing OSPF6 information.
5991 (line 7)
5992* show ipv6 ospf6 database: Showing OSPF6 information.
5993 (line 11)
5994* show ipv6 ospf6 interface: Showing OSPF6 information.
5995 (line 15)
5996* show ipv6 ospf6 neighbor: Showing OSPF6 information.
5997 (line 18)
5998* show ipv6 ospf6 request-list A.B.C.D: Showing OSPF6 information.
5999 (line 21)
6000* show ipv6 route: zebra Terminal Mode Commands.
6001 (line 19)
6002* show ipv6 route ospf6: Showing OSPF6 information.
6003 (line 24)
6004* show ipv6forward: zebra Terminal Mode Commands.
6005 (line 28)
ajs274a4a42004-12-07 15:39:31 +00006006* show logging: Terminal Mode Commands.
6007 (line 30)
6008* show version: Terminal Mode Commands.
6009 (line 27)
paul56d1d202004-11-15 21:56:53 +00006010* shutdown: Interface Commands. (line 9)
6011* smux peer OID: MIB and command reference.
6012 (line 28)
6013* smux peer OID PASSWORD: MIB and command reference.
6014 (line 31)
6015* table TABLENO: Static Route Commands.
6016 (line 81)
ajs274a4a42004-12-07 15:39:31 +00006017* terminal length <0-512>: Terminal Mode Commands.
6018 (line 17)
paul56d1d202004-11-15 21:56:53 +00006019* timers basic UPDATE TIMEOUT GARBAGE: RIP Timers. (line 7)
6020* timers spf <0-4294967295> <0-4294967295>: OSPF router. (line 46)
6021* username USERNAME nopassword: VTY shell username. (line 7)
6022* version VERSION: RIP Configuration. (line 23)
ajs274a4a42004-12-07 15:39:31 +00006023* who: Terminal Mode Commands.
6024 (line 21)
6025* write file: Terminal Mode Commands.
6026 (line 10)
6027* write terminal: Terminal Mode Commands.
6028 (line 7)
paul56d1d202004-11-15 21:56:53 +00006029
6030
6031File: quagga.info, Node: VTY Key Index, Prev: Command Index, Up: Top
6032
6033VTY Key Index
6034*************
6035
6036�[index�]
6037* Menu:
6038
6039* <DEL>: CLI Editing Commands. (line 11)
6040* <DOWN>: CLI Advanced Commands.
6041 (line 17)
6042* <LEFT>: CLI Movement Commands.
6043 (line 15)
6044* <RIGHT>: CLI Movement Commands.
6045 (line 11)
6046* <TAB>: CLI Advanced Commands.
6047 (line 24)
6048* <UP>: CLI Advanced Commands.
6049 (line 21)
6050* ?: CLI Advanced Commands.
6051 (line 27)
6052* C-a: CLI Movement Commands.
6053 (line 24)
6054* C-b: CLI Movement Commands.
6055 (line 15)
6056* C-c: CLI Advanced Commands.
6057 (line 10)
6058* C-d: CLI Editing Commands. (line 14)
6059* C-e: CLI Movement Commands.
6060 (line 27)
6061* C-f: CLI Movement Commands.
6062 (line 11)
6063* C-h: CLI Editing Commands. (line 11)
6064* C-k: CLI Editing Commands. (line 23)
6065* C-n: CLI Advanced Commands.
6066 (line 17)
6067* C-p: CLI Advanced Commands.
6068 (line 21)
6069* C-t: CLI Editing Commands. (line 29)
6070* C-u: CLI Editing Commands. (line 26)
6071* C-w: CLI Editing Commands. (line 20)
6072* C-z: CLI Advanced Commands.
6073 (line 13)
6074* M-b: CLI Movement Commands.
6075 (line 21)
6076* M-d: CLI Editing Commands. (line 17)
6077* M-f: CLI Movement Commands.
6078 (line 18)
6079
6080
6081
6082Tag Table:
paul30d03832005-04-29 03:16:42 +00006083Node: Top1887
6084Node: Overview2482
6085Node: About Quagga3883
6086Node: System Architecture6136
6087Node: Supported Platforms8826
6088Node: Supported RFC9967
6089Node: How to get Quagga11931
6090Node: Mailing List12685
6091Node: Bug Reports13132
6092Node: Installation14010
6093Node: Configure the Software14444
6094Node: The Configure script and its options14692
6095Node: Least-Privilege support17880
6096Node: Linux notes19616
6097Ref: Linux notes-Footnote-121474
6098Node: Build the Software21540
6099Node: Install the Software22088
6100Node: Basic commands23548
6101Node: Config Commands24323
6102Node: Basic Config Commands25216
6103Node: Sample Config File30706
6104Node: Terminal Mode Commands31476
6105Node: Common Invocation Options32573
6106Node: Virtual Terminal Interfaces33980
6107Node: VTY Overview34491
6108Node: VTY Modes35742
6109Node: VTY View Mode36192
6110Node: VTY Enable Mode36442
6111Node: VTY Other Modes36720
6112Node: VTY CLI Commands36896
6113Node: CLI Movement Commands37356
6114Node: CLI Editing Commands37879
6115Node: CLI Advanced Commands38467
6116Node: Zebra39233
6117Node: Invoking zebra39742
6118Node: Interface Commands40321
6119Node: Static Route Commands41853
6120Node: zebra Terminal Mode Commands45126
6121Node: RIP46091
6122Node: Starting and Stopping ripd47028
6123Node: RIP netmask48441
6124Node: RIP Configuration49540
6125Node: How to Announce RIP route53805
6126Node: Filtering RIP Routes56368
6127Node: RIP Metric Manipulation57835
6128Node: RIP distance58748
6129Node: RIP route-map59563
6130Node: RIP Authentication62079
6131Node: RIP Timers63186
6132Node: Show RIP Information64472
6133Node: RIP Debug Commands65845
6134Node: RIPng66841
6135Node: Invoking ripngd67161
6136Node: ripngd Configuration67410
6137Node: ripngd Terminal Mode Commands68161
6138Node: ripngd Filtering Commands68525
6139Node: OSPFv269034
6140Node: Configuring ospfd69593
6141Node: OSPF router70061
6142Node: OSPF area73217
6143Node: OSPF interface78399
6144Node: Redistribute routes to OSPF81782
6145Node: Showing OSPF information83945
6146Node: Debugging OSPF85191
6147Node: OSPFv386230
6148Node: OSPF6 router86550
6149Node: OSPF6 area86904
6150Node: OSPF6 interface87082
6151Node: Redistribute routes to OSPF687959
6152Node: Showing OSPF6 information88275
6153Node: BGP89095
6154Node: Starting BGP89985
6155Node: BGP router90562
6156Node: BGP distance91806
6157Node: BGP decision process92244
6158Node: BGP network92726
6159Node: BGP route92916
6160Node: Route Aggregation93472
6161Node: Redistribute to BGP94041
6162Node: BGP Peer94568
6163Node: Defining Peer94755
6164Node: BGP Peer commands95368
6165Node: Peer filtering97772
6166Node: BGP Peer Group98280
6167Node: BGP Address Family98593
6168Node: Autonomous System98747
6169Node: AS Path Regular Expression99584
6170Node: Display BGP Routes by AS Path100831
6171Node: AS Path Access List101271
6172Node: Using AS Path in Route Map101738
6173Node: Private AS Numbers102019
6174Node: BGP Communities Attribute102177
6175Node: BGP Community Lists104644
6176Node: Numbered BGP Community Lists107298
6177Node: BGP Community in Route Map108885
6178Node: Display BGP Routes by Community110828
6179Node: Using BGP Communities Attribute111997
6180Node: BGP Extended Communities Attribute115565
6181Node: BGP Extended Community Lists117337
6182Node: BGP Extended Communities in Route Map119212
6183Node: Displaying BGP routes119671
6184Node: Show IP BGP119908
6185Node: More Show IP BGP120608
6186Node: Capability Negotiation121759
6187Node: Route Reflector125063
6188Node: Route Server125342
6189Node: Multiple instance126408
6190Node: BGP instance and view128219
6191Node: Routing policy129599
6192Node: Viewing the view130367
6193Node: How to set up a 6-Bone connection130652
6194Node: Dump BGP packets and table132024
6195Node: Configuring Quagga as a Route Server132571
6196Node: Description of the Route Server model133532
6197Ref: fig:normal-processing135109
6198Ref: fig:full-mesh135259
6199Ref: fig:route-server135355
6200Ref: filter-delegation135769
6201Ref: Route Server tasks136953
6202Ref: Route-server path filter process137324
6203Ref: fig:rs-processing139638
6204Node: Commands for configuring a Route Server139791
6205Node: Example of Route Server Configuration142818
6206Node: Configuration of the BGP routers without Route Server143739
6207Node: Configuration of the BGP routers with Route Server146622
6208Node: Configuration of the Route Server itself147923
6209Node: Further considerations about Import and Export route-maps152922
6210Node: VTY shell155966
6211Node: VTY shell username156635
6212Node: VTY shell integrated configuration157267
6213Node: Filtering158715
6214Node: IP Access List159068
6215Node: IP Prefix List159454
6216Node: ip prefix-list description162473
6217Node: ip prefix-list sequential number control163000
6218Node: Showing ip prefix-list163542
6219Node: Clear counter of ip prefix-list164650
6220Node: Route Map165089
6221Node: Route Map Command165594
6222Node: Route Map Match Command165791
6223Node: Route Map Set Command166415
6224Node: IPv6 Support167292
6225Node: Router Advertisement167864
6226Node: Kernel Interface173480
6227Node: SNMP Support175437
6228Node: Getting and installing an SNMP agent176009
6229Node: SMUX configuration176582
6230Node: MIB and command reference178718
6231Node: Zebra Protocol180105
6232Node: Packet Binary Dump Format182019
6233Node: Command Index193629
6234Node: VTY Key Index251336
paul56d1d202004-11-15 21:56:53 +00006235
6236End Tag Table