blob: 1fe6be1061b4f99c7ccf15a0d88bc2336926291b [file] [log] [blame]
Paul Jakmaf371b1f2006-05-10 19:53:58 +00001This is quagga.info, produced by makeinfo version 4.8 from quagga.texi.
pauld751f002005-10-11 04:01:09 +00002
3 Copyright (C) 1999-2005 Kunihiro Ishiguro, et al.
paul56d1d202004-11-15 21:56:53 +00004
5 Permission is granted to make and distribute verbatim copies of
6 this manual provided the copyright notice and this permission
7 notice are preserved on all copies.
8
9 Permission is granted to copy and distribute modified versions of
10 this manual under the conditions for verbatim copying, provided
11 that the entire resulting derived work is distributed under the
12 terms of a permission notice identical to this one.
13
14 Permission is granted to copy and distribute translations of this
15 manual into another language, under the above conditions for
16 modified versions, except that this permission notice may be
17 stated in a translation approved by Kunihiro Ishiguro.
18
19INFO-DIR-SECTION Routing Software:
20START-INFO-DIR-ENTRY
21* Quagga: (quagga). The Quagga Software Routing Suite
22END-INFO-DIR-ENTRY
23
24 This file documents the Quagga Software Routing Suite which manages
25common TCP/IP routing protocols.
26
Paul Jakmaf371b1f2006-05-10 19:53:58 +000027 This is Edition 0.99.4, last updated 10 September 2005 of `The
28Quagga Manual', for Quagga Version 0.99.4.
paul56d1d202004-11-15 21:56:53 +000029
paulbbd938e2005-04-02 10:18:42 +000030 Copyright (C) 1999-2005 Kunihiro Ishiguro, et al.
paul56d1d202004-11-15 21:56:53 +000031
32 Permission is granted to make and distribute verbatim copies of
33 this manual provided the copyright notice and this permission
34 notice are preserved on all copies.
35
36 Permission is granted to copy and distribute modified versions of
37 this manual under the conditions for verbatim copying, provided
38 that the entire resulting derived work is distributed under the
39 terms of a permission notice identical to this one.
40
41 Permission is granted to copy and distribute translations of this
42 manual into another language, under the above conditions for
43 modified versions, except that this permission notice may be
44 stated in a translation approved by Kunihiro Ishiguro.
45
46
47File: quagga.info, Node: Top, Next: Overview, Up: (dir)
48
49Quagga
50******
51
52Quagga is an advanced routing software package that provides a suite of
Paul Jakmaf371b1f2006-05-10 19:53:58 +000053TCP/IP based routing protocols. This is the Manual for Quagga 0.99.4.
paul56d1d202004-11-15 21:56:53 +000054Quagga is a fork of GNU Zebra.
55
pauld751f002005-10-11 04:01:09 +000056 Copyright (C) 1999-2005 Kunihiro Ishiguro, et al.
57
58 Permission is granted to make and distribute verbatim copies of
59 this manual provided the copyright notice and this permission
60 notice are preserved on all copies.
61
62 Permission is granted to copy and distribute modified versions of
63 this manual under the conditions for verbatim copying, provided
64 that the entire resulting derived work is distributed under the
65 terms of a permission notice identical to this one.
66
67 Permission is granted to copy and distribute translations of this
68 manual into another language, under the above conditions for
69 modified versions, except that this permission notice may be
70 stated in a translation approved by Kunihiro Ishiguro.
71
paul56d1d202004-11-15 21:56:53 +000072* Menu:
73
74* Overview::
75* Installation::
76* Basic commands::
77* Zebra::
78* RIP::
79* RIPng::
80* OSPFv2::
81* OSPFv3::
82* BGP::
83* Configuring Quagga as a Route Server::
84* VTY shell::
85* Filtering::
86* Route Map::
87* IPv6 Support::
88* Kernel Interface::
89* SNMP Support::
90* Zebra Protocol::
91* Packet Binary Dump Format::
92* Command Index::
93* VTY Key Index::
94
95
96File: quagga.info, Node: Overview, Next: Installation, Prev: Top, Up: Top
97
981 Overview
99**********
100
101Quagga is a routing software package that provides TCP/IP based routing
102services with routing protocols support such as RIPv1, RIPv2, RIPng,
103OSPFv2, OSPFv3, BGP-4, and BGP-4+ (*note Supported RFC::). Quagga also
104supports special BGP Route Reflector and Route Server behavior. In
105addition to traditional IPv4 routing protocols, Quagga also supports
106IPv6 routing protocols. With SNMP daemon which supports SMUX protocol,
107Quagga provides routing protocol MIBs (*note SNMP Support::).
108
109 Quagga uses an advanced software architecture to provide you with a
110high quality, multi server routing engine. Quagga has an interactive
111user interface for each routing protocol and supports common client
112commands. Due to this design, you can add new protocol daemons to
113Quagga easily. You can use Quagga library as your program's client
114user interface.
115
116 Quagga is distributed under the GNU General Public License.
117
118* Menu:
119
120* About Quagga:: Basic information about Quagga
121* System Architecture:: The Quagga system architecture
122* Supported Platforms:: Supported platforms and future plans
123* Supported RFC:: Supported RFCs
124* How to get Quagga::
125* Mailing List:: Mailing list information
126* Bug Reports:: Mail address for bug data
127
128
129File: quagga.info, Node: About Quagga, Next: System Architecture, Up: Overview
130
1311.1 About Quagga
132================
133
134Today, TCP/IP networks are covering all of the world. The Internet has
135been deployed in many countries, companies, and to the home. When you
136connect to the Internet your packet will pass many routers which have
137TCP/IP routing functionality.
138
139 A system with Quagga installed acts as a dedicated router. With
140Quagga, your machine exchanges routing information with other routers
141using routing protocols. Quagga uses this information to update the
142kernel routing table so that the right data goes to the right place.
143You can dynamically change the configuration and you may view routing
144table information from the Quagga terminal interface.
145
146 Adding to routing protocol support, Quagga can setup interface's
147flags, interface's address, static routes and so on. If you have a
148small network, or a stub network, or xDSL connection, configuring the
149Quagga routing software is very easy. The only thing you have to do is
150to set up the interfaces and put a few commands about static routes
151and/or default routes. If the network is rather large, or if the
152network structure changes frequently, you will want to take advantage
153of Quagga's dynamic routing protocol support for protocols such as RIP,
154OSPF or BGP.
155
156 Traditionally, UNIX based router configuration is done by `ifconfig'
157and `route' commands. Status of routing table is displayed by
158`netstat' utility. Almost of these commands work only if the user has
159root privileges. Quagga has a different system administration method.
160There are two user modes in Quagga. One is normal mode, the other is
161enable mode. Normal mode user can only view system status, enable mode
162user can change system configuration. This UNIX account independent
163feature will be great help to the router administrator.
164
165 Currently, Quagga supports common unicast routing protocols.
166Multicast routing protocols such as BGMP, PIM-SM, PIM-DM may be
167supported in Quagga 2.0. MPLS support is going on. In the future,
168TCP/IP filtering control, QoS control, diffserv configuration will be
169added to Quagga. Quagga project's final goal is making a productive,
170quality, free TCP/IP routing software.
171
172
173File: quagga.info, Node: System Architecture, Next: Supported Platforms, Prev: About Quagga, Up: Overview
174
1751.2 System Architecture
176=======================
177
178Traditional routing software is made as a one process program which
179provides all of the routing protocol functionalities. Quagga takes a
180different approach. It is made from a collection of several daemons
181that work together to build the routing table. There may be several
182protocol-specific routing daemons and zebra the kernel routing manager.
183
184 The `ripd' daemon handles the RIP protocol, while `ospfd' is a
185daemon which supports OSPF version 2. `bgpd' supports the BGP-4
186protocol. For changing the kernel routing table and for redistribution
187of routes between different routing protocols, there is a kernel
188routing table manager `zebra' daemon. It is easy to add a new routing
189protocol daemons to the entire routing system without affecting any
190other software. You need to run only the protocol daemon associated
191with routing protocols in use. Thus, user may run a specific daemon
192and send routing reports to a central routing console.
193
194 There is no need for these daemons to be running on the same
195machine. You can even run several same protocol daemons on the same
196machine. This architecture creates new possibilities for the routing
197system.
198
199 +----+ +----+ +-----+ +-----+
200 |bgpd| |ripd| |ospfd| |zebra|
201 +----+ +----+ +-----+ +-----+
202 |
203 +---------------------------|--+
204 | v |
205 | UNIX Kernel routing table |
206 | |
207 +------------------------------+
208
209 Quagga System Architecture
210
211 Multi-process architecture brings extensibility, modularity and
212maintainability. At the same time it also brings many configuration
213files and terminal interfaces. Each daemon has it's own configuration
214file and terminal interface. When you configure a static route, it
215must be done in `zebra' configuration file. When you configure BGP
216network it must be done in `bgpd' configuration file. This can be a
217very annoying thing. To resolve the problem, Quagga provides
218integrated user interface shell called `vtysh'. `vtysh' connects to
219each daemon with UNIX domain socket and then works as a proxy for user
220input.
221
222 Quagga was planned to use multi-threaded mechanism when it runs with
223a kernel that supports multi-threads. But at the moment, the thread
224library which comes with GNU/Linux or FreeBSD has some problems with
225running reliable services such as routing software, so we don't use
226threads at all. Instead we use the `select(2)' system call for
227multiplexing the events.
228
229
230File: quagga.info, Node: Supported Platforms, Next: Supported RFC, Prev: System Architecture, Up: Overview
231
2321.3 Supported Platforms
233=======================
234
235Currently Quagga supports GNU/Linux, BSD and Solaris. Porting Quagga to
236other platforms is not too difficult as platform dependent code should
237most be limited to the `zebra' daemon. Protocol daemons are mostly
238platform independent. Please let us know when you find out Quagga runs
239on a platform which is not listed below.
240
241 The list of officially supported platforms are listed below. Note
242that Quagga may run correctly on other platforms, and may run with
243partial functionality on further platforms.
244
245
246 * GNU/Linux 2.2.x and higher
247
248 * FreeBSD 4.x and higher
249
250 * NetBSD 1.6 and higher
251
252 * OpenBSD 2.5 and higher
253
254 * Solaris 2.6 and higher (IPv6 support requires a patch at moment)
255
256
257 Some IPv6 stacks are in development. Quagga supports following IPv6
258stacks. For BSD, we recommend KAME IPv6 stack. Solaris IPv6 stack is
259not yet supported.
260
261 * Linux IPv6 stack for GNU/Linux 2.2.x and higher.
262
263 * KAME IPv6 stack for BSD.
264
265 * INRIA IPv6 stack for BSD.
266
267
268File: quagga.info, Node: Supported RFC, Next: How to get Quagga, Prev: Supported Platforms, Up: Overview
269
2701.4 Supported RFC
271=================
272
273Below is the list of currently supported RFC's.
274
275RFC1058
276 `Routing Information Protocol. C.L. Hedrick. Jun-01-1988.'
277
278RF2082
279 `RIP-2 MD5 Authentication. F. Baker, R. Atkinson. January 1997.'
280
281RFC2453
282 `RIP Version 2. G. Malkin. November 1998.'
283
284RFC2080
285 `RIPng for IPv6. G. Malkin, R. Minnear. January 1997.'
286
287RFC2328
288 `OSPF Version 2. J. Moy. April 1998.'
289
290RFC2370
291 `The OSPF Opaque LSA Option R. Coltun. July 1998.'
292
293RFC3101
294 `The OSPF Not-So-Stubby Area (NSSA) Option P. Murphy. January
295 2003.'
296
297RFC2740
298 `OSPF for IPv6. R. Coltun, D. Ferguson, J. Moy. December 1999.'
299
300RFC1771
301 `A Border Gateway Protocol 4 (BGP-4). Y. Rekhter & T. Li. March
302 1995.'
303
304RFC1965
305 `Autonomous System Confederations for BGP. P. Traina. June 1996.'
306
307RFC1997
308 `BGP Communities Attribute. R. Chandra, P. Traina & T. Li. August
309 1996.'
310
311RFC2545
312 `Use of BGP-4 Multiprotocol Extensions for IPv6 Inter-Domain
313 Routing. P. Marques, F. Dupont. March 1999.'
314
315RFC2796
316 `BGP Route Reflection An alternative to full mesh IBGP. T. Bates &
317 R. Chandrasekeran. June 1996.'
318
319RFC2858
320 `Multiprotocol Extensions for BGP-4. T. Bates, Y. Rekhter, R.
321 Chandra, D. Katz. June 2000.'
322
323RFC2842
324 `Capabilities Advertisement with BGP-4. R. Chandra, J. Scudder.
325 May 2000.'
326
paula3957e32005-11-04 12:48:25 +0000327RFC3137
328 `OSPF Stub Router Advertisement, A. Retana, L. Nguyen, R. White,
329 A. Zinin, D. McPherson. June 2001'
paul56d1d202004-11-15 21:56:53 +0000330
331 When SNMP support is enabled, below RFC is also supported.
332
333RFC1227
334 `SNMP MUX protocol and MIB. M.T. Rose. May-01-1991.'
335
336RFC1657
337 `Definitions of Managed Objects for the Fourth Version of the
338 Border Gateway Protocol (BGP-4) using SMIv2. S. Willis, J. Burruss,
339 J. Chu, Editor. July 1994.'
340
341RFC1724
342 `RIP Version 2 MIB Extension. G. Malkin & F. Baker. November 1994.'
343
344RFC1850
345 `OSPF Version 2 Management Information Base. F. Baker, R. Coltun.
346 November 1995.'
347
348
349
350File: quagga.info, Node: How to get Quagga, Next: Mailing List, Prev: Supported RFC, Up: Overview
351
3521.5 How to get Quagga
353=====================
354
355Quagga is still beta software and there is no officially released
356version.
357
358 Zebra's official web page is located at:
359
360 `http://www.gnu.org/software/zebra/zebra.html'.
361
362 The original Zebra web site is located at:
363
364 `http://www.zebra.org/'.
365
366 As of this writing, development by zebra.org on Zebra has slowed
367down. Some work is being done by third-parties to try maintain
368bug-fixes and enhancements to the current Zebra code-base, which has
369resulted in a fork of Zebra called Quagga, see:
370
371 `http://www.quagga.net/'
372
373 for further information, as well as links to additional zebra
374resources.
375
376
377File: quagga.info, Node: Mailing List, Next: Bug Reports, Prev: How to get Quagga, Up: Overview
378
3791.6 Mailing List
380================
381
382There is a mailing list for discussions about Quagga. If you have any
383comments or suggestions to Quagga, please subscribe to:
384
385 `http://lists.quagga.net/mailman/listinfo/quagga-users'.
386
387 The Quagga site has further information on the available mailing
388lists, see:
389
390 `http://www.quagga.net/lists.php'
391
392
393File: quagga.info, Node: Bug Reports, Prev: Mailing List, Up: Overview
394
3951.7 Bug Reports
396===============
397
398If you think you have found a bug, please send a bug report to:
399
400 `http://bugzilla.quagga.net'
401
402 When you send a bug report, please be careful about the points below.
403
404 * Please note what kind of OS you are using. If you use the IPv6
405 stack please note that as well.
406
407 * Please show us the results of `netstat -rn' and `ifconfig -a'.
408 Information from zebra's VTY command `show ip route' will also be
409 helpful.
410
411 * Please send your configuration file with the report. If you
412 specify arguments to the configure script please note that too.
413
414 Bug reports are very important for us to improve the quality of
415Quagga. Quagga is still in the development stage, but please don't
416hesitate to send a bug report to `http://bugzilla.quagga.net'.
417
418
419File: quagga.info, Node: Installation, Next: Basic commands, Prev: Overview, Up: Top
420
4212 Installation
422**************
423
424There are three steps for installing the software: configuration,
425compilation, and installation.
426
427* Menu:
428
429* Configure the Software::
430* Build the Software::
431* Install the Software::
432
433 The easiest way to get Quagga running is to issue the following
434commands:
435
436 % configure
437 % make
438 % make install
439
440
441File: quagga.info, Node: Configure the Software, Next: Build the Software, Up: Installation
442
4432.1 Configure the Software
444==========================
445
446* Menu:
447
448* The Configure script and its options::
449* Least-Privilege support::
450* Linux notes::
451
452
453File: quagga.info, Node: The Configure script and its options, Next: Least-Privilege support, Up: Configure the Software
454
4552.1.1 The Configure script and its options
456------------------------------------------
457
458Quagga has an excellent configure script which automatically detects
459most host configurations. There are several additional configure
460options you can use to turn off IPv6 support, to disable the
461compilation of specific daemons, and to enable SNMP support.
462
463`--enable-guile'
464 Turn on compilation of the zebra-guile interpreter. You will need
465 the guile library to make this. zebra-guile implementation is not
466 yet finished. So this option is only useful for zebra-guile
467 developers.
468
469`--disable-ipv6'
470 Turn off IPv6 related features and daemons. Quagga configure
471 script automatically detects IPv6 stack. But sometimes you might
472 want to disable IPv6 support of Quagga.
473
474`--disable-zebra'
475 Do not build zebra daemon.
476
477`--disable-ripd'
478 Do not build ripd.
479
480`--disable-ripngd'
481 Do not build ripngd.
482
483`--disable-ospfd'
484 Do not build ospfd.
485
486`--disable-ospf6d'
487 Do not build ospf6d.
488
489`--disable-bgpd'
490 Do not build bgpd.
491
492`--disable-bgp-announce'
493 Make `bgpd' which does not make bgp announcements at all. This
494 feature is good for using `bgpd' as a BGP announcement listener.
495
496`--enable-netlink'
497 Force to enable GNU/Linux netlink interface. Quagga configure
498 script detects netlink interface by checking a header file. When
499 the header file does not match to the current running kernel,
500 configure script will not turn on netlink support.
501
502`--enable-snmp'
503 Enable SNMP support. By default, SNMP support is disabled.
504
505`--enable-opaque-lsa'
506 Enable support for Opaque LSAs (RFC2370) in ospfd.
507
508`--disable-ospfapi'
509 Disable support for OSPF-API, an API to interface directly with
510 ospfd. OSPF-API is enabled if -enable-opaque-lsa is set.
511
512`--disable-ospfclient'
513 Disable building of the example OSPF-API client.
514
515`--enable-ospf-te'
516 Enable support for OSPF Traffic Engineering Extension
517 (internet-draft) this requires support for Opaque LSAs.
518
519`--enable-multipath=ARG'
520 Enable support for Equal Cost Multipath. ARG is the maximum number
521 of ECMP paths to allow, set to 0 to allow unlimited number of
522 paths.
523
524`--enable-rtadv'
525 Enable support IPV6 router advertisement in zebra.
526
527 You may specify any combination of the above options to the configure
528script. By default, the executables are placed in `/usr/local/sbin'
529and the configuration files in `/usr/local/etc'. The `/usr/local/'
530installation prefix and other directories may be changed using the
531following options to the configuration script.
532
533`--prefix=PREFIX'
534 Install architecture-independent files in PREFIX [/usr/local].
535
536`--sysconfdir=DIR'
537 Look for configuration files in DIR [PREFIX/etc]. Note that sample
538 configuration files will be installed here.
539
540`--localstatedir=DIR'
541 Configure zebra to use DIR for local state files, such as pid
542 files and unix sockets.
543
544 % ./configure --disable-ipv6
545
546 This command will configure zebra and the routing daemons.
547
548
549File: quagga.info, Node: Least-Privilege support, Next: Linux notes, Prev: The Configure script and its options, Up: Configure the Software
550
5512.1.2 Least-Privilege support
552-----------------------------
553
554Additionally, you may configure zebra to drop its elevated privileges
555shortly after startup and switch to another user. The configure script
556will automatically try to configure this support. There are three
557configure options to control the behaviour of Quagga daemons.
558
559`--enable-user=USER'
560 Switch to user ARG shortly after startup, and run as user ARG in
561 normal operation.
562
563`--enable-group=GROUP'
564 Switch real and effective group to GROUP shortly after startup.
565
566`--enable-vty-group=GROUP'
567 Create Unix Vty sockets (for use with vtysh) with group owndership
568 set to GROUP. This allows one to create a seperate group which is
569 restricted to accessing only the Vty sockets, hence allowing one to
570 delegate this group to individual users, or to run vtysh setgid to
571 this group.
572
573 The default user and group which will be configured is 'quagga' if
574no user or group is specified. Note that this user or group requires
575write access to the local state directory (see -localstatedir) and
576requires at least read access, and write access if you wish to allow
577daemons to write out their configuration, to the configuration
578directory (see -sysconfdir).
579
580 On systems which have the 'libcap' capabilities manipulation library
581(currently only linux), the quagga system will retain only minimal
582capabilities required, further it will only raise these capabilities for
583brief periods. On systems without libcap, quagga will run as the user
584specified and only raise its uid back to uid 0 for brief periods.
585
586
587File: quagga.info, Node: Linux notes, Prev: Least-Privilege support, Up: Configure the Software
588
5892.1.3 Linux Notes
590-----------------
591
592There are several options available only to GNU/Linux systems: (1). If
593you use GNU/Linux, make sure that the current kernel configuration is
594what you want. Quagga will run with any kernel configuration but some
595recommendations do exist.
596
597CONFIG_NETLINK
598 Kernel/User netlink socket. This is a brand new feature which
599 enables an advanced interface between the Linux kernel and zebra
600 (*note Kernel Interface::).
601
602CONFIG_RTNETLINK
603 Routing messages. This makes it possible to receive netlink
604 routing messages. If you specify this option, `zebra' can detect
605 routing information updates directly from the kernel (*note Kernel
606 Interface::).
607
608CONFIG_IP_MULTICAST
609 IP: multicasting. This option should be specified when you use
610 `ripd' (*note RIP::) or `ospfd' (*note OSPFv2::) because these
611 protocols use multicast.
612
613
614 IPv6 support has been added in GNU/Linux kernel version 2.2. If you
615try to use the Quagga IPv6 feature on a GNU/Linux kernel, please make
616sure the following libraries have been installed. Please note that
617these libraries will not be needed when you uses GNU C library 2.1 or
618upper.
619
620`inet6-apps'
621 The `inet6-apps' package includes basic IPv6 related libraries such
622 as `inet_ntop' and `inet_pton'. Some basic IPv6 programs such as
623 `ping', `ftp', and `inetd' are also included. The `inet-apps' can
624 be found at `ftp://ftp.inner.net/pub/ipv6/'.
625
626`net-tools'
627 The `net-tools' package provides an IPv6 enabled interface and
628 routing utility. It contains `ifconfig', `route', `netstat', and
629 other tools. `net-tools' may be found at
630 `http://www.tazenda.demon.co.uk/phil/net-tools/'.
631
632
633 ---------- Footnotes ----------
634
635 (1) GNU/Linux has very flexible kernel configuration features
636
637
638File: quagga.info, Node: Build the Software, Next: Install the Software, Prev: Configure the Software, Up: Installation
639
6402.2 Build the Software
641======================
642
643After configuring the software, you will need to compile it for your
644system. Simply issue the command `make' in the root of the source
645directory and the software will be compiled. If you have *any* problems
646at this stage, be certain to send a bug report *Note Bug Reports::.
647
648 % ./configure
649 .
650 .
651 .
652 ./configure output
653 .
654 .
655 .
656 % make
657
658
659File: quagga.info, Node: Install the Software, Prev: Build the Software, Up: Installation
660
6612.3 Install the Software
662========================
663
664Installing the software to your system consists of copying the compiled
665programs and supporting files to a standard location. After the
666installation process has completed, these files have been copied from
667your work directory to `/usr/local/bin', and `/usr/local/etc'.
668
669 To install the Quagga suite, issue the following command at your
670shell prompt: `make install'.
671
672 %
673 % make install
674 %
675
676 Quagga daemons have their own terminal interface or VTY. After
677installation, you have to setup each beast's port number to connect to
678them. Please add the following entries to `/etc/services'.
679
680 zebrasrv 2600/tcp # zebra service
681 zebra 2601/tcp # zebra vty
682 ripd 2602/tcp # RIPd vty
683 ripngd 2603/tcp # RIPngd vty
684 ospfd 2604/tcp # OSPFd vty
685 bgpd 2605/tcp # BGPd vty
686 ospf6d 2606/tcp # OSPF6d vty
687 ospfapi 2607/tcp # ospfapi
688 isisd 2608/tcp # ISISd vty
689
690 If you use a FreeBSD newer than 2.2.8, the above entries are already
691added to `/etc/services' so there is no need to add it. If you specify
692a port number when starting the daemon, these entries may not be needed.
693
694 You may need to make changes to the config files in
695`/etc/quagga/*.conf'. *Note Config Commands::.
696
697
698File: quagga.info, Node: Basic commands, Next: Zebra, Prev: Installation, Up: Top
699
7003 Basic commands
701****************
702
703There are five routing daemons in use, and there is one manager daemon.
704These daemons may be located on separate machines from the manager
705daemon. Each of these daemons will listen on a particular port for
706incoming VTY connections. The routing daemons are:
707
708 * `ripd', `ripngd', `ospfd', `ospf6d', `bgpd'
709
710 * `zebra'
711
712 The following sections discuss commands common to all the routing
713daemons.
714
715* Menu:
716
ajs274a4a42004-12-07 15:39:31 +0000717* Terminal Mode Commands:: Common commands used in a VTY
paul56d1d202004-11-15 21:56:53 +0000718* Config Commands:: Commands used in config files
719* Common Invocation Options:: Starting the daemons
ajs274a4a42004-12-07 15:39:31 +0000720* Virtual Terminal Interfaces:: Interacting with the daemons
paul56d1d202004-11-15 21:56:53 +0000721
722
ajs274a4a42004-12-07 15:39:31 +0000723File: quagga.info, Node: Config Commands, Next: Common Invocation Options, Prev: Terminal Mode Commands, Up: Basic commands
paul56d1d202004-11-15 21:56:53 +0000724
7253.1 Config Commands
726===================
727
728* Menu:
729
730* Basic Config Commands:: Some of the generic config commands
731* Sample Config File:: An example config file
732
733 In a config file, you can write the debugging options, a vty's
734password, routing daemon configurations, a log file name, and so forth.
735This information forms the initial command set for a routing beast as
736it is starting.
737
738 Config files are generally found in:
739
740 `/etc/quagga/*.conf'
741
742 Each of the daemons has its own config file. For example, zebra's
743default config file name is:
744
745 `/etc/quagga/zebra.conf'
746
747 The daemon name plus `.conf' is the default config file name. You
748can specify a config file using the `-f' or `--config-file' options
749when starting the daemon.
750
751
752File: quagga.info, Node: Basic Config Commands, Next: Sample Config File, Up: Config Commands
753
7543.1.1 Basic Config Commands
755---------------------------
756
757 -- Command: hostname HOSTNAME
758 Set hostname of the router.
759
760 -- Command: password PASSWORD
761 Set password for vty interface. If there is no password, a vty
762 won't accept connections.
763
764 -- Command: enable password PASSWORD
765 Set enable password.
766
ajs274a4a42004-12-07 15:39:31 +0000767 -- Command: log trap LEVEL
768 -- Command: no log trap
769 These commands are deprecated and are present only for historical
770 compatibility. The log trap command sets the current logging
771 level for all enabled logging destinations, and it sets the
772 default for all future logging commands that do not specify a
773 level. The normal default logging level is debugging. The `no'
774 form of the command resets the default level for future logging
775 commands to debugging, but it does not change the logging level of
776 existing logging destinations.
777
paul56d1d202004-11-15 21:56:53 +0000778 -- Command: log stdout
ajs274a4a42004-12-07 15:39:31 +0000779 -- Command: log stdout LEVEL
paul56d1d202004-11-15 21:56:53 +0000780 -- Command: no log stdout
ajs274a4a42004-12-07 15:39:31 +0000781 Enable logging output to stdout. If the optional second argument
782 specifying the logging level is not present, the default logging
783 level (typically debugging, but can be changed using the
784 deprecated `log trap' command) will be used. The `no' form of the
785 command disables logging to stdout. The `level' argument must
786 have one of these values: emergencies, alerts, critical, errors,
787 warnings, notifications, informational, or debugging. Note that
788 the existing code logs its most important messages with severity
789 `errors'.
paul56d1d202004-11-15 21:56:53 +0000790
791 -- Command: log file FILENAME
ajs274a4a42004-12-07 15:39:31 +0000792 -- Command: log file FILENAME LEVEL
793 -- Command: no log file
794 If you want to log into a file, please specify `filename' as in
795 this example:
796 log file /var/log/quagga/bgpd.log informational
797 If the optional second argument specifying the logging level is
798 not present, the default logging level (typically debugging, but
799 can be changed using the deprecated `log trap' command) will be
800 used. The `no' form of the command disables logging to a file.
paul56d1d202004-11-15 21:56:53 +0000801
ajsc70257d2005-02-03 17:12:01 +0000802 Note: if you do not configure any file logging, and a daemon
803 crashes due to a signal or an assertion failure, it will attempt
804 to save the crash information in a file named
805 /var/tmp/quagga.<daemon name>.crashlog. For security reasons,
806 this will not happen if the file exists already, so it is
807 important to delete the file after reporting the crash information.
808
paul56d1d202004-11-15 21:56:53 +0000809 -- Command: log syslog
ajs274a4a42004-12-07 15:39:31 +0000810 -- Command: log syslog LEVEL
paul56d1d202004-11-15 21:56:53 +0000811 -- Command: no log syslog
ajs274a4a42004-12-07 15:39:31 +0000812 Enable logging output to syslog. If the optional second argument
813 specifying the logging level is not present, the default logging
814 level (typically debugging, but can be changed using the
815 deprecated `log trap' command) will be used. The `no' form of the
816 command disables logging to syslog.
paul56d1d202004-11-15 21:56:53 +0000817
ajs274a4a42004-12-07 15:39:31 +0000818 -- Command: log monitor
819 -- Command: log monitor LEVEL
820 -- Command: no log monitor
821 Enable logging output to vty terminals that have enabled logging
822 using the `terminal monitor' command. By default, monitor logging
823 is enabled at the debugging level, but this command (or the
824 deprecated `log trap' command) can be used to change the monitor
825 logging level. If the optional second argument specifying the
826 logging level is not present, the default logging level (typically
827 debugging, but can be changed using the deprecated `log trap'
828 command) will be used. The `no' form of the command disables
829 logging to terminal monitors.
paul56d1d202004-11-15 21:56:53 +0000830
ajs274a4a42004-12-07 15:39:31 +0000831 -- Command: log facility FACILITY
832 -- Command: no log facility
833 This command changes the facility used in syslog messages. The
834 default facility is `daemon'. The `no' form of the command resets
835 the facility to the default `daemon' facility.
paul56d1d202004-11-15 21:56:53 +0000836
ajs274a4a42004-12-07 15:39:31 +0000837 -- Command: log record-priority
838 -- Command: no log record-priority
839 To include the severity in all messages logged to a file, to
840 stdout, or to a terminal monitor (i.e. anything except syslog),
841 use the `log record-priority' global configuration command. To
842 disable this option, use the `no' form of the command. By default,
843 the severity level is not included in logged messages. Note: some
844 versions of syslogd (including Solaris) can be configured to
845 include the facility and level in the messages emitted.
paul56d1d202004-11-15 21:56:53 +0000846
847 -- Command: service password-encryption
848 Encrypt password.
849
850 -- Command: service advanced-vty
851 Enable advanced mode VTY.
852
853 -- Command: service terminal-length <0-512>
854 Set system wide line configuration. This configuration command
855 applies to all VTY interfaces.
856
paul56d1d202004-11-15 21:56:53 +0000857 -- Command: line vty
858 Enter vty configuration mode.
859
860 -- Command: banner motd default
861 Set default motd string.
862
863 -- Command: no banner motd
864 No motd banner string will be printed.
865
866 -- Line Command: exec-timeout MINUTE
867 -- Line Command: exec-timeout MINUTE SECOND
868 Set VTY connection timeout value. When only one argument is
869 specified it is used for timeout value in minutes. Optional
870 second argument is used for timeout value in seconds. Default
871 timeout value is 10 minutes. When timeout value is zero, it means
872 no timeout.
873
874 -- Line Command: no exec-timeout
875 Do not perform timeout at all. This command is as same as
876 `exec-timeout 0 0'.
877
878 -- Line Command: access-class ACCESS-LIST
879 Restrict vty connections with an access list.
880
881
882File: quagga.info, Node: Sample Config File, Prev: Basic Config Commands, Up: Config Commands
883
8843.1.2 Sample Config File
885------------------------
886
887Below is a sample configuration file for the zebra daemon.
888
889 !
890 ! Zebra configuration file
891 !
892 hostname Router
893 password zebra
894 enable password zebra
895 !
896 log stdout
897 !
898 !
899
900 '!' and '#' are comment characters. If the first character of the
901word is one of the comment characters then from the rest of the line
902forward will be ignored as a comment.
903
904 password zebra!password
905
906 If a comment character is not the first character of the word, it's a
907normal character. So in the above example '!' will not be regarded as a
908comment and the password is set to 'zebra!password'.
909
910
ajs274a4a42004-12-07 15:39:31 +0000911File: quagga.info, Node: Terminal Mode Commands, Next: Config Commands, Up: Basic commands
912
9133.2 Terminal Mode Commands
914==========================
915
916 -- Command: write terminal
917 Displays the current configuration to the vty interface.
918
919 -- Command: write file
920 Write current configuration to configuration file.
921
922 -- Command: configure terminal
923 Change to configuration mode. This command is the first step to
924 configuration.
925
926 -- Command: terminal length <0-512>
927 Set terminal display length to <0-512>. If length is 0, no
928 display control is performed.
929
930 -- Command: who
931 Show a list of currently connected vty sessions.
932
933 -- Command: list
934 List all available commands.
935
936 -- Command: show version
937 Show the current version of Quagga and its build host information.
938
939 -- Command: show logging
940 Shows the current configuration of the logging system. This
941 includes the status of all logging destinations.
942
943 -- Command: logmsg LEVEL MESSAGE
944 Send a message to all logging destinations that are enabled for
945 messages of the given severity.
946
947
paul56d1d202004-11-15 21:56:53 +0000948File: quagga.info, Node: Common Invocation Options, Next: Virtual Terminal Interfaces, Prev: Config Commands, Up: Basic commands
949
ajs274a4a42004-12-07 15:39:31 +00009503.3 Common Invocation Options
paul56d1d202004-11-15 21:56:53 +0000951=============================
952
953These options apply to all Quagga daemons.
954
955`-d'
956`--daemon'
957 Runs in daemon mode.
958
959`-f FILE'
960`--config_file=FILE'
961 Set configuration file name.
962
963`-h'
964`--help'
965 Display this help and exit.
966
967`-i FILE'
968`--pid_file=FILE'
969 Upon startup the process identifier of the daemon is written to a
970 file, typically in `/var/run'. This file can be used by the init
971 system to implement commands such as `.../init.d/zebra status',
972 `.../init.d/zebra restart' or `.../init.d/zebra stop'.
973
974 The file name is an run-time option rather than a configure-time
975 option so that multiple routing daemons can be run simultaneously.
976 This is useful when using Quagga to implement a routing looking
977 glass. One machine can be used to collect differing routing views
978 from differing points in the network.
979
980`-A ADDRESS'
981`--vty_addr=ADDRESS'
982 Set the VTY local address to bind to. If set, the VTY socket will
983 only be bound to this address.
984
985`-P PORT'
986`--vty_port=PORT'
987 Set the VTY TCP port number. If set to 0 then the TCP VTY sockets
988 will not be opened.
989
990`-u USER'
991`--vty_addr=USER'
992 Set the user and group to run as.
993
994`-v'
995`--version'
996 Print program version.
997
998
999
1000File: quagga.info, Node: Virtual Terminal Interfaces, Prev: Common Invocation Options, Up: Basic commands
1001
ajs274a4a42004-12-07 15:39:31 +000010023.4 Virtual Terminal Interfaces
paul56d1d202004-11-15 21:56:53 +00001003===============================
1004
1005VTY - Virtual Terminal [aka TeletYpe] Interface is a command line
1006interface (CLI) for user interaction with the routing daemon.
1007
1008* Menu:
1009
1010* VTY Overview:: Basics about VTYs
1011* VTY Modes:: View, Enable, and Other VTY modes
1012* VTY CLI Commands:: Commands for movement, edition, and management
1013
1014
1015File: quagga.info, Node: VTY Overview, Next: VTY Modes, Up: Virtual Terminal Interfaces
1016
ajs274a4a42004-12-07 15:39:31 +000010173.4.1 VTY Overview
paul56d1d202004-11-15 21:56:53 +00001018------------------
1019
1020VTY stands for Virtual TeletYpe interface. It means you can connect to
1021the daemon via the telnet protocol.
1022
1023 To enable a VTY interface, you have to setup a VTY password. If
1024there is no VTY password, one cannot connect to the VTY interface at
1025all.
1026
1027 % telnet localhost 2601
1028 Trying 127.0.0.1...
1029 Connected to localhost.
1030 Escape character is '^]'.
1031
Paul Jakmaf371b1f2006-05-10 19:53:58 +00001032 Hello, this is Quagga (version 0.99.4)
paulbbd938e2005-04-02 10:18:42 +00001033 Copyright (C) 1999-2005 Kunihiro Ishiguro, et al.
paul56d1d202004-11-15 21:56:53 +00001034
1035 User Access Verification
1036
1037 Password: XXXXX
1038 Router> ?
1039 enable Turn on privileged commands
1040 exit Exit current mode and down to previous mode
1041 help Description of the interactive help system
1042 list Print command list
1043 show Show running system information
1044 who Display who is on a vty
1045 Router> enable
1046 Password: XXXXX
1047 Router# configure terminal
1048 Router(config)# interface eth0
1049 Router(config-if)# ip address 10.0.0.1/8
1050 Router(config-if)# ^Z
1051 Router#
1052
1053 '?' is very useful for looking up commands.
1054
1055
1056File: quagga.info, Node: VTY Modes, Next: VTY CLI Commands, Prev: VTY Overview, Up: Virtual Terminal Interfaces
1057
ajs274a4a42004-12-07 15:39:31 +000010583.4.2 VTY Modes
paul56d1d202004-11-15 21:56:53 +00001059---------------
1060
1061There are three basic VTY modes:
1062
1063* Menu:
1064
1065* VTY View Mode:: Mode for read-only interaction
1066* VTY Enable Mode:: Mode for read-write interaction
1067* VTY Other Modes:: Special modes (tftp, etc)
1068
1069 There are commands that may be restricted to specific VTY modes.
1070
1071
1072File: quagga.info, Node: VTY View Mode, Next: VTY Enable Mode, Up: VTY Modes
1073
ajs274a4a42004-12-07 15:39:31 +000010743.4.2.1 VTY View Mode
paul56d1d202004-11-15 21:56:53 +00001075.....................
1076
1077This mode is for read-only access to the CLI. One may exit the mode by
1078leaving the system, or by entering `enable' mode.
1079
1080
1081File: quagga.info, Node: VTY Enable Mode, Next: VTY Other Modes, Prev: VTY View Mode, Up: VTY Modes
1082
ajs274a4a42004-12-07 15:39:31 +000010833.4.2.2 VTY Enable Mode
paul56d1d202004-11-15 21:56:53 +00001084.......................
1085
1086This mode is for read-write access to the CLI. One may exit the mode by
1087leaving the system, or by escaping to view mode.
1088
1089
1090File: quagga.info, Node: VTY Other Modes, Prev: VTY Enable Mode, Up: VTY Modes
1091
ajs274a4a42004-12-07 15:39:31 +000010923.4.2.3 VTY Other Modes
paul56d1d202004-11-15 21:56:53 +00001093.......................
1094
1095This page is for describing other modes.
1096
1097
1098File: quagga.info, Node: VTY CLI Commands, Prev: VTY Modes, Up: Virtual Terminal Interfaces
1099
ajs274a4a42004-12-07 15:39:31 +000011003.4.3 VTY CLI Commands
paul56d1d202004-11-15 21:56:53 +00001101----------------------
1102
1103Commands that you may use at the command-line are described in the
1104following three subsubsections.
1105
1106* Menu:
1107
1108* CLI Movement Commands:: Commands for moving the cursor about
1109* CLI Editing Commands:: Commands for changing text
1110* CLI Advanced Commands:: Other commands, session management and so on
1111
1112
1113File: quagga.info, Node: CLI Movement Commands, Next: CLI Editing Commands, Up: VTY CLI Commands
1114
ajs274a4a42004-12-07 15:39:31 +000011153.4.3.1 CLI Movement Commands
paul56d1d202004-11-15 21:56:53 +00001116.............................
1117
1118These commands are used for moving the CLI cursor. The <C> character
1119means press the Control Key.
1120
1121`C-f'
1122`<RIGHT>'
1123 Move forward one character.
1124
1125`C-b'
1126`<LEFT>'
1127 Move backward one character.
1128
1129`M-f'
1130 Move forward one word.
1131
1132`M-b'
1133 Move backward one word.
1134
1135`C-a'
1136 Move to the beginning of the line.
1137
1138`C-e'
1139 Move to the end of the line.
1140
1141
1142
1143File: quagga.info, Node: CLI Editing Commands, Next: CLI Advanced Commands, Prev: CLI Movement Commands, Up: VTY CLI Commands
1144
ajs274a4a42004-12-07 15:39:31 +000011453.4.3.2 CLI Editing Commands
paul56d1d202004-11-15 21:56:53 +00001146............................
1147
1148These commands are used for editing text on a line. The <C> character
1149means press the Control Key.
1150
1151`C-h'
1152`<DEL>'
1153 Delete the character before point.
1154
1155`C-d'
1156 Delete the character after point.
1157
1158`M-d'
1159 Forward kill word.
1160
1161`C-w'
1162 Backward kill word.
1163
1164`C-k'
1165 Kill to the end of the line.
1166
1167`C-u'
1168 Kill line from the beginning, erasing input.
1169
1170`C-t'
1171 Transpose character.
1172
1173
1174
1175File: quagga.info, Node: CLI Advanced Commands, Prev: CLI Editing Commands, Up: VTY CLI Commands
1176
ajs274a4a42004-12-07 15:39:31 +000011773.4.3.3 CLI Advanced Commands
paul56d1d202004-11-15 21:56:53 +00001178.............................
1179
1180There are several additional CLI commands for command line completions,
1181insta-help, and VTY session management.
1182
1183`C-c'
1184 Interrupt current input and moves to the next line.
1185
1186`C-z'
1187 End current configuration session and move to top node.
1188
1189`C-n'
1190`<DOWN>'
1191 Move down to next line in the history buffer.
1192
1193`C-p'
1194`<UP>'
1195 Move up to previous line in the history buffer.
1196
1197`TAB'
1198 Use command line completion by typing <TAB>.
1199
1200`'
1201 You can use command line help by typing `help' at the beginning of
1202 the line. Typing `?' at any point in the line will show possible
1203 completions.
1204
1205
1206
1207File: quagga.info, Node: Zebra, Next: RIP, Prev: Basic commands, Up: Top
1208
12094 Zebra
1210*******
1211
1212`zebra' is an IP routing manager. It provides kernel routing table
1213updates, interface lookups, and redistribution of routes between
1214different routing protocols.
1215
1216* Menu:
1217
1218* Invoking zebra:: Running the program
1219* Interface Commands:: Commands for zebra interfaces
1220* Static Route Commands:: Commands for adding static routes
1221* zebra Terminal Mode Commands:: Commands for zebra's VTY
1222
1223
1224File: quagga.info, Node: Invoking zebra, Next: Interface Commands, Up: Zebra
1225
12264.1 Invoking zebra
1227==================
1228
1229Besides the common invocation options (*note Common Invocation
1230Options::), the `zebra' specific invocation options are listed below.
1231
1232`-b'
1233`--batch'
1234 Runs in batch mode. `zebra' parses configuration file and
1235 terminates immediately.
1236
1237`-k'
1238`--keep_kernel'
1239 When zebra starts up, don't delete old self inserted routes.
1240
paul56d1d202004-11-15 21:56:53 +00001241`-r'
1242`--retain'
1243 When program terminates, retain routes added by zebra.
1244
1245
1246
1247File: quagga.info, Node: Interface Commands, Next: Static Route Commands, Prev: Invoking zebra, Up: Zebra
1248
12494.2 Interface Commands
1250======================
1251
1252 -- Command: interface IFNAME
1253
1254 -- Interface Command: shutdown
1255 -- Interface Command: no shutdown
1256 Up or down the current interface.
1257
1258 -- Interface Command: ip address ADDRESS/PREFIX
1259 -- Interface Command: ip6 address ADDRESS/PREFIX
1260 -- Interface Command: no ip address ADDRESS/PREFIX
1261 -- Interface Command: no ip6 address ADDRESS/PREFIX
1262 Set the IPv4 or IPv6 address/prefix for the interface.
1263
1264 -- Interface Command: ip address ADDRESS/PREFIX secondary
1265 -- Interface Command: no ip address ADDRESS/PREFIX secondary
1266 Set the secondary flag for this address. This causes ospfd to not
1267 treat the address as a distinct subnet.
1268
1269 -- Interface Command: description DESCRIPTION ...
1270 Set description for the interface.
1271
1272 -- Interface Command: multicast
1273 -- Interface Command: no multicast
1274 Enable or disables multicast flag for the interface.
1275
1276 -- Interface Command: bandwidth <1-10000000>
1277 -- Interface Command: no bandwidth <1-10000000>
1278 Set bandwidth value of the interface in kilobits/sec. This is for
1279 calculating OSPF cost. This command does not affect the actual
1280 device configuration.
1281
1282 -- Interface Command: link-detect
1283 -- Interface Command: no link-detect
1284 Enable/disable link-detect on platforms which support this.
1285 Currently only linux and with certain drivers - those which
1286 properly support the IFF_RUNNING flag.
1287
1288
1289File: quagga.info, Node: Static Route Commands, Next: zebra Terminal Mode Commands, Prev: Interface Commands, Up: Zebra
1290
12914.3 Static Route Commands
1292=========================
1293
1294Static routing is a very fundamental feature of routing technology. It
1295defines static prefix and gateway.
1296
1297 -- Command: ip route NETWORK GATEWAY
1298 NETWORK is destination prefix with format of A.B.C.D/M. GATEWAY
1299 is gateway for the prefix. When GATEWAY is A.B.C.D format. It is
1300 taken as a IPv4 address gateway. Otherwise it is treated as an
1301 interface name. If the interface name is NULL0 then zebra installs
1302 a blackhole route.
1303
1304 ip route 10.0.0.0/8 10.0.0.2
1305 ip route 10.0.0.0/8 ppp0
1306 ip route 10.0.0.0/8 null0
1307
1308 First example defines 10.0.0.0/8 static route with gateway
1309 10.0.0.2. Second one defines the same prefix but with gateway to
1310 interface ppp0. The third install a blackhole route.
1311
1312 -- Command: ip route NETWORK NETMASK GATEWAY
1313 This is alternate version of above command. When NETWORK is
1314 A.B.C.D format, user must define NETMASK value with A.B.C.D
1315 format. GATEWAY is same option as above command
1316
1317 ip route 10.0.0.0 255.255.255.0 10.0.0.2
1318 ip route 10.0.0.0 255.255.255.0 ppp0
1319 ip route 10.0.0.0 255.255.255.0 null0
1320
1321 These statements are equivalent to those in the previous example.
1322
1323 -- Command: ip route NETWORK GATEWAY DISTANCE
1324 Installs the route with the specified distance.
1325
1326 Multiple nexthop static route
1327
1328 ip route 10.0.0.1/32 10.0.0.2
1329 ip route 10.0.0.1/32 10.0.0.3
1330 ip route 10.0.0.1/32 eth0
1331
1332 If there is no route to 10.0.0.2 and 10.0.0.3, and interface eth0 is
1333reachable, then the last route is installed into the kernel.
1334
1335 If zebra has been compiled with multipath support, and both 10.0.0.2
1336and 10.0.0.3 are reachable, zebra will install a multipath route via
1337both nexthops, if the platform supports this.
1338
1339 zebra> show ip route
1340 S> 10.0.0.1/32 [1/0] via 10.0.0.2 inactive
1341 via 10.0.0.3 inactive
1342 * is directly connected, eth0
1343
1344 ip route 10.0.0.0/8 10.0.0.2
1345 ip route 10.0.0.0/8 10.0.0.3
1346 ip route 10.0.0.0/8 null0 255
1347
1348 This will install a multihop route via the specified next-hops if
1349they are reachable, as well as a high-metric blackhole route, which can
1350be useful to prevent traffic destined for a prefix to match
1351less-specific routes (eg default) should the specified gateways not be
1352reachable. Eg:
1353
1354 zebra> show ip route 10.0.0.0/8
1355 Routing entry for 10.0.0.0/8
1356 Known via "static", distance 1, metric 0
1357 10.0.0.2 inactive
1358 10.0.0.3 inactive
1359
1360 Routing entry for 10.0.0.0/8
1361 Known via "static", distance 255, metric 0
1362 directly connected, Null0
1363
1364 -- Command: ipv6 route NETWORK GATEWAY
1365 -- Command: ipv6 route NETWORK GATEWAY DISTANCE
1366 These behave similarly to their ipv4 counterparts.
1367
1368 -- Command: table TABLENO
1369 Select the primary kernel routing table to be used. This only
1370 works for kernels supporting multiple routing tables (like
1371 GNU/Linux 2.2.x and later). After setting TABLENO with this
1372 command, static routes defined after this are added to the
1373 specified table.
1374
1375
1376File: quagga.info, Node: zebra Terminal Mode Commands, Prev: Static Route Commands, Up: Zebra
1377
13784.4 zebra Terminal Mode Commands
1379================================
1380
1381 -- Command: show ip route
1382 Display current routes which zebra holds in its database.
1383
1384 Router# show ip route
1385 Codes: K - kernel route, C - connected, S - static, R - RIP,
1386 B - BGP * - FIB route.
1387
1388 K* 0.0.0.0/0 203.181.89.241
1389 S 0.0.0.0/0 203.181.89.1
1390 C* 127.0.0.0/8 lo
1391 C* 203.181.89.240/28 eth0
1392
1393 -- Command: show ipv6 route
1394
1395 -- Command: show interface
1396
1397 -- Command: show ipforward
1398 Display whether the host's IP forwarding function is enabled or
1399 not. Almost any UNIX kernel can be configured with IP forwarding
1400 disabled. If so, the box can't work as a router.
1401
1402 -- Command: show ipv6forward
1403 Display whether the host's IP v6 forwarding is enabled or not.
1404
1405
1406File: quagga.info, Node: RIP, Next: RIPng, Prev: Zebra, Up: Top
1407
14085 RIP
1409*****
1410
1411RIP - Routing Information Protocol is widely deployed interior gateway
1412protocol. RIP was developed in the 1970s at Xerox Labs as part of the
1413XNS routing protocol. RIP is a "distance-vector" protocol and is based
1414on the "Bellman-Ford" algorithms. As a distance-vector protocol, RIP
1415router send updates to its neighbors periodically, thus allowing the
1416convergence to a known topology. In each update, the distance to any
1417given network will be broadcasted to its neighboring router.
1418
1419 `ripd' supports RIP version 2 as described in RFC2453 and RIP
1420version 1 as described in RFC1058.
1421
1422* Menu:
1423
1424* Starting and Stopping ripd::
1425* RIP Configuration::
Paul Jakmaf371b1f2006-05-10 19:53:58 +00001426* RIP Version Control::
paul56d1d202004-11-15 21:56:53 +00001427* How to Announce RIP route::
1428* Filtering RIP Routes::
1429* RIP Metric Manipulation::
1430* RIP distance::
1431* RIP route-map::
1432* RIP Authentication::
1433* RIP Timers::
1434* Show RIP Information::
1435* RIP Debug Commands::
1436
1437
1438File: quagga.info, Node: Starting and Stopping ripd, Next: RIP Configuration, Up: RIP
1439
14405.1 Starting and Stopping ripd
1441==============================
1442
1443The default configuration file name of `ripd''s is `ripd.conf'. When
1444invocation `ripd' searches directory /etc/quagga. If `ripd.conf' is
1445not there next search current directory.
1446
1447 RIP uses UDP port 520 to send and receive RIP packets. So the user
1448must have the capability to bind the port, generally this means that
1449the user must have superuser privileges. RIP protocol requires
1450interface information maintained by `zebra' daemon. So running `zebra'
1451is mandatory to run `ripd'. Thus minimum sequence for running RIP is
1452like below:
1453
1454 # zebra -d
1455 # ripd -d
1456
1457 Please note that `zebra' must be invoked before `ripd'.
1458
1459 To stop `ripd'. Please use `kill `cat /var/run/ripd.pid`'. Certain
1460signals have special meaningss to `ripd'.
1461
1462`SIGHUP'
1463 Reload configuration file `ripd.conf'. All configurations are
1464 reseted. All routes learned so far are cleared and removed from
1465 routing table.
1466
1467`SIGUSR1'
1468 Rotate `ripd' logfile.
1469
1470`SIGINT'
1471`SIGTERM'
1472 `ripd' sweeps all installed RIP routes then terminates properly.
1473
1474 `ripd' invocation options. Common options that can be specified
1475(*note Common Invocation Options::).
1476
1477`-r'
1478`--retain'
1479 When the program terminates, retain routes added by `ripd'.
1480
1481* Menu:
1482
1483* RIP netmask::
1484
1485
1486File: quagga.info, Node: RIP netmask, Up: Starting and Stopping ripd
1487
14885.1.1 RIP netmask
1489-----------------
1490
1491The netmask features of `ripd' support both version 1 and version 2 of
1492RIP. Version 1 of RIP originally contained no netmask information. In
1493RIP version 1, network classes were originally used to determine the
1494size of the netmask. Class A networks use 8 bits of mask, Class B
1495networks use 16 bits of masks, while Class C networks use 24 bits of
1496mask. Today, the most widely used method of a network mask is assigned
1497to the packet on the basis of the interface that received the packet.
1498Version 2 of RIP supports a variable length subnet mask (VLSM). By
1499extending the subnet mask, the mask can be divided and reused. Each
1500subnet can be used for different purposes such as large to middle size
1501LANs and WAN links. Quagga `ripd' does not support the non-sequential
1502netmasks that are included in RIP Version 2.
1503
1504 In a case of similar information with the same prefix and metric, the
1505old information will be suppressed. Ripd does not currently support
1506equal cost multipath routing.
1507
1508
Paul Jakmaf371b1f2006-05-10 19:53:58 +00001509File: quagga.info, Node: RIP Configuration, Next: RIP Version Control, Prev: Starting and Stopping ripd, Up: RIP
paul56d1d202004-11-15 21:56:53 +00001510
15115.2 RIP Configuration
1512=====================
1513
1514 -- Command: router rip
1515 The `router rip' command is necessary to enable RIP. To disable
1516 RIP, use the `no router rip' command. RIP must be enabled before
1517 carrying out any of the RIP commands.
1518
1519 -- Command: no router rip
1520 Disable RIP.
1521
paul56d1d202004-11-15 21:56:53 +00001522 -- RIP Command: network NETWORK
1523 -- RIP Command: no network NETWORK
1524 Set the RIP enable interface by NETWORK. The interfaces which
1525 have addresses matching with NETWORK are enabled.
1526
1527 This group of commands either enables or disables RIP interfaces
1528 between certain numbers of a specified network address. For
1529 example, if the network for 10.0.0.0/24 is RIP enabled, this would
1530 result in all the addresses from 10.0.0.0 to 10.0.0.255 being
1531 enabled for RIP. The `no network' command will disable RIP for
1532 the specified network.
1533
1534 -- RIP Command: network IFNAME
1535 -- RIP Command: no network IFNAME
1536 Set a RIP enabled interface by IFNAME. Both the sending and
1537 receiving of RIP packets will be enabled on the port specified in
1538 the `network ifname' command. The `no network ifname' command
1539 will disable RIP on the specified interface.
1540
1541 -- RIP Command: neighbor A.B.C.D
1542 -- RIP Command: no neighbor A.B.C.D
1543 Specify RIP neighbor. When a neighbor doesn't understand
1544 multicast, this command is used to specify neighbors. In some
1545 cases, not all routers will be able to understand multicasting,
1546 where packets are sent to a network or a group of addresses. In a
1547 situation where a neighbor cannot process multicast packets, it is
1548 necessary to establish a direct link between routers. The
1549 neighbor command allows the network administrator to specify a
1550 router as a RIP neighbor. The `no neighbor a.b.c.d' command will
1551 disable the RIP neighbor.
1552
1553 Below is very simple RIP configuration. Interface `eth0' and
1554interface which address match to `10.0.0.0/8' are RIP enabled.
1555
1556 !
1557 router rip
1558 network 10.0.0.0/8
1559 network eth0
1560 !
1561
1562 Passive interface
1563
1564 -- RIP command: passive-interface (IFNAME|default)
1565 -- RIP command: no passive-interface IFNAME
1566 This command sets the specified interface to passive mode. On
1567 passive mode interface, all receiving packets are processed as
1568 normal and ripd does not send either multicast or unicast RIP
1569 packets except to RIP neighbors specified with `neighbor' command.
1570 The interface may be specified as DEFAULT to make ripd default to
1571 passive on all interfaces.
1572
1573 The default is to be passive on all interfaces.
1574
paul56d1d202004-11-15 21:56:53 +00001575 RIP split-horizon
1576
1577 -- Interface command: ip split-horizon
1578 -- Interface command: no ip split-horizon
1579 Control split-horizon on the interface. Default is `ip
1580 split-horizon'. If you don't perform split-horizon on the
1581 interface, please specify `no ip split-horizon'.
1582
1583
Paul Jakmaf371b1f2006-05-10 19:53:58 +00001584File: quagga.info, Node: RIP Version Control, Next: How to Announce RIP route, Prev: RIP Configuration, Up: RIP
paul56d1d202004-11-15 21:56:53 +00001585
Paul Jakmaf371b1f2006-05-10 19:53:58 +000015865.3 RIP Version Control
1587=======================
1588
1589RIP can be configured to send either Version 1 or Version 2 packets.
1590The default is to send RIPv2 while accepting both RIPv1 and RIPv2 (and
1591replying with packets of the appropriate version for REQUESTS /
1592triggered updates). The version to receive and send can be specified
1593globally, and further overriden on a per-interface basis if needs be
1594for send and receive seperately (see below).
1595
1596 It is important to note that RIPv1 can not be authenticated. Further,
1597if RIPv1 is enabled then RIP will reply to REQUEST packets, sending the
1598state of its RIP routing table to any remote routers that ask on
1599demand. For a more detailed discussion on the security implications of
1600RIPv1 see *Note RIP Authentication::.
1601
1602 -- RIP Command: version VERSION
1603 Set RIP version to accept for reads and send. VERSION can be
1604 either `1" or `2".
1605
1606 Disabling RIPv1 by specifying version 2 is STRONGLY encouraged,
1607 *Note RIP Authentication::. This may become the default in a future
1608 release.
1609
1610 Default: Send Version 2, and accept either version.
1611
1612 -- RIP Command: no version
1613 Reset the global version setting back to the default.
1614
1615 -- Interface command: ip rip send version VERSION
1616 VERSION can be `1', `2' or `1 2'.
1617
1618 This interface command overrides the global rip version setting,
1619 and selects which version of RIP to send packets with, for this
1620 interface specifically. Choice of RIP Version 1, RIP Version 2, or
1621 both versions. In the latter case, where `1 2' is specified,
1622 packets will be both broadcast and multicast.
1623
1624 Default: Send packets according to the global version (version 2)
1625
1626 -- Interface command: ip rip receive version VERSION
1627 VERSION can be `1', `2' or `1 2'.
1628
1629 This interface command overrides the global rip version setting,
1630 and selects which versions of RIP packets will be accepted on this
1631 interface. Choice of RIP Version 1, RIP Version 2, or both.
1632
1633 Default: Accept packets according to the global setting (both 1
1634 and 2).
1635
1636
1637File: quagga.info, Node: How to Announce RIP route, Next: Filtering RIP Routes, Prev: RIP Version Control, Up: RIP
1638
16395.4 How to Announce RIP route
paul56d1d202004-11-15 21:56:53 +00001640=============================
1641
1642 -- RIP command: redistribute kernel
1643 -- RIP command: redistribute kernel metric <0-16>
1644 -- RIP command: redistribute kernel route-map ROUTE-MAP
1645 -- RIP command: no redistribute kernel
1646 `redistribute kernel' redistributes routing information from
1647 kernel route entries into the RIP tables. `no redistribute kernel'
1648 disables the routes.
1649
1650 -- RIP command: redistribute static
1651 -- RIP command: redistribute static metric <0-16>
1652 -- RIP command: redistribute static route-map ROUTE-MAP
1653 -- RIP command: no redistribute static
1654 `redistribute static' redistributes routing information from
1655 static route entries into the RIP tables. `no redistribute static'
1656 disables the routes.
1657
1658 -- RIP command: redistribute connected
1659 -- RIP command: redistribute connected metric <0-16>
1660 -- RIP command: redistribute connected route-map ROUTE-MAP
1661 -- RIP command: no redistribute connected
1662 Redistribute connected routes into the RIP tables. `no
1663 redistribute connected' disables the connected routes in the RIP
1664 tables. This command redistribute connected of the interface
1665 which RIP disabled. The connected route on RIP enabled interface
1666 is announced by default.
1667
1668 -- RIP command: redistribute ospf
1669 -- RIP command: redistribute ospf metric <0-16>
1670 -- RIP command: redistribute ospf route-map ROUTE-MAP
1671 -- RIP command: no redistribute ospf
1672 `redistribute ospf' redistributes routing information from ospf
1673 route entries into the RIP tables. `no redistribute ospf' disables
1674 the routes.
1675
1676 -- RIP command: redistribute bgp
1677 -- RIP command: redistribute bgp metric <0-16>
1678 -- RIP command: redistribute bgp route-map ROUTE-MAP
1679 -- RIP command: no redistribute bgp
1680 `redistribute bgp' redistributes routing information from bgp
1681 route entries into the RIP tables. `no redistribute bgp' disables
1682 the routes.
1683
1684 If you want to specify RIP only static routes:
1685
1686 -- RIP command: default-information originate
1687
1688 -- RIP command: route A.B.C.D/M
1689 -- RIP command: no route A.B.C.D/M
1690 This command is specific to Quagga. The `route' command makes a
1691 static route only inside RIP. This command should be used only by
1692 advanced users who are particularly knowledgeable about the RIP
1693 protocol. In most cases, we recommend creating a static route in
1694 Quagga and redistributing it in RIP using `redistribute static'.
1695
1696
1697File: quagga.info, Node: Filtering RIP Routes, Next: RIP Metric Manipulation, Prev: How to Announce RIP route, Up: RIP
1698
Paul Jakmaf371b1f2006-05-10 19:53:58 +000016995.5 Filtering RIP Routes
paul56d1d202004-11-15 21:56:53 +00001700========================
1701
1702RIP routes can be filtered by a distribute-list.
1703
1704 -- Command: distribute-list ACCESS_LIST DIRECT IFNAME
1705 You can apply access lists to the interface with a
1706 `distribute-list' command. ACCESS_LIST is the access list name.
1707 DIRECT is `in' or `out'. If DIRECT is `in' the access list is
1708 applied to input packets.
1709
1710 The `distribute-list' command can be used to filter the RIP path.
1711 `distribute-list' can apply access-lists to a chosen interface.
1712 First, one should specify the access-list. Next, the name of the
1713 access-list is used in the distribute-list command. For example,
1714 in the following configuration `eth0' will permit only the paths
1715 that match the route 10.0.0.0/8
1716
1717 !
1718 router rip
1719 distribute-list private in eth0
1720 !
1721 access-list private permit 10 10.0.0.0/8
1722 access-list private deny any
1723 !
1724
1725 `distribute-list' can be applied to both incoming and outgoing data.
1726
1727 -- Command: distribute-list prefix PREFIX_LIST (in|out) IFNAME
1728 You can apply prefix lists to the interface with a
1729 `distribute-list' command. PREFIX_LIST is the prefix list name.
1730 Next is the direction of `in' or `out'. If DIRECT is `in' the
1731 access list is applied to input packets.
1732
1733
1734File: quagga.info, Node: RIP Metric Manipulation, Next: RIP distance, Prev: Filtering RIP Routes, Up: RIP
1735
Paul Jakmaf371b1f2006-05-10 19:53:58 +000017365.6 RIP Metric Manipulation
paul56d1d202004-11-15 21:56:53 +00001737===========================
1738
1739RIP metric is a value for distance for the network. Usually `ripd'
1740increment the metric when the network information is received.
1741Redistributed routes' metric is set to 1.
1742
1743 -- RIP command: default-metric <1-16>
1744 -- RIP command: no default-metric <1-16>
1745 This command modifies the default metric value for redistributed
1746 routes. The default value is 1. This command does not affect
1747 connected route even if it is redistributed by `redistribute
1748 connected'. To modify connected route's metric value, please use
1749 `redistribute connected metric' or `route-map'. `offset-list' also
1750 affects connected routes.
1751
1752 -- RIP command: offset-list ACCESS-LIST (in|out)
1753 -- RIP command: offset-list ACCESS-LIST (in|out) IFNAME
1754
1755
1756File: quagga.info, Node: RIP distance, Next: RIP route-map, Prev: RIP Metric Manipulation, Up: RIP
1757
Paul Jakmaf371b1f2006-05-10 19:53:58 +000017585.7 RIP distance
paul56d1d202004-11-15 21:56:53 +00001759================
1760
1761Distance value is used in zebra daemon. Default RIP distance is 120.
1762
1763 -- RIP command: distance <1-255>
1764 -- RIP command: no distance <1-255>
1765 Set default RIP distance to specified value.
1766
1767 -- RIP command: distance <1-255> A.B.C.D/M
1768 -- RIP command: no distance <1-255> A.B.C.D/M
1769 Set default RIP distance to specified value when the route's
1770 source IP address matches the specified prefix.
1771
1772 -- RIP command: distance <1-255> A.B.C.D/M ACCESS-LIST
1773 -- RIP command: no distance <1-255> A.B.C.D/M ACCESS-LIST
1774 Set default RIP distance to specified value when the route's
1775 source IP address matches the specified prefix and the specified
1776 access-list.
1777
1778
1779File: quagga.info, Node: RIP route-map, Next: RIP Authentication, Prev: RIP distance, Up: RIP
1780
Paul Jakmaf371b1f2006-05-10 19:53:58 +000017815.8 RIP route-map
paul56d1d202004-11-15 21:56:53 +00001782=================
1783
1784Usage of `ripd''s route-map support.
1785
1786 Optional argument route-map MAP_NAME can be added to each
1787`redistribute' statement.
1788
1789 redistribute static [route-map MAP_NAME]
1790 redistribute connected [route-map MAP_NAME]
1791 .....
1792
1793 Cisco applies route-map _before_ routes will exported to rip route
1794table. In current Quagga's test implementation, `ripd' applies
1795route-map after routes are listed in the route table and before routes
1796will be announced to an interface (something like output filter). I
1797think it is not so clear, but it is draft and it may be changed at
1798future.
1799
1800 Route-map statement (*note Route Map::) is needed to use route-map
1801functionality.
1802
1803 -- Route Map: match interface WORD
1804 This command match to incoming interface. Notation of this match
1805 is different from Cisco. Cisco uses a list of interfaces - NAME1
1806 NAME2 ... NAMEN. Ripd allows only one name (maybe will change in
1807 the future). Next - Cisco means interface which includes next-hop
1808 of routes (it is somewhat similar to "ip next-hop" statement).
1809 Ripd means interface where this route will be sent. This
1810 difference is because "next-hop" of same routes which sends to
1811 different interfaces must be different. Maybe it'd be better to
1812 made new matches - say "match interface-out NAME" or something
1813 like that.
1814
1815 -- Route Map: match ip address WORD
1816 -- Route Map: match ip address prefix-list WORD
1817 Match if route destination is permitted by access-list.
1818
1819 -- Route Map: match ip next-hop A.B.C.D
1820 Cisco uses here <access-list>, `ripd' IPv4 address. Match if route
1821 has this next-hop (meaning next-hop listed in the rip route table
1822 - "show ip rip")
1823
1824 -- Route Map: match metric <0-4294967295>
1825 This command match to the metric value of RIP updates. For other
1826 protocol compatibility metric range is shown as <0-4294967295>.
1827 But for RIP protocol only the value range <0-16> make sense.
1828
1829 -- Route Map: set ip next-hop A.B.C.D
1830 This command set next hop value in RIPv2 protocol. This command
1831 does not affect RIPv1 because there is no next hop field in the
1832 packet.
1833
1834 -- Route Map: set metric <0-4294967295>
1835 Set a metric for matched route when sending announcement. The
1836 metric value range is very large for compatibility with other
1837 protocols. For RIP, valid metric values are from 1 to 16.
1838
1839
1840File: quagga.info, Node: RIP Authentication, Next: RIP Timers, Prev: RIP route-map, Up: RIP
1841
Paul Jakmaf371b1f2006-05-10 19:53:58 +000018425.9 RIP Authentication
paul56d1d202004-11-15 21:56:53 +00001843======================
1844
Paul Jakmaf371b1f2006-05-10 19:53:58 +00001845RIPv2 allows packets to be authenticated via either an insecure plain
1846text password, included with the packet, or via a more secure MD5 based
1847HMAC (keyed-Hashing for Message AuthentiCation), RIPv1 can not be
1848authenticated at all, thus when authentication is configured `ripd'
1849will discard routing updates received via RIPv1 packets.
1850
1851 However, unless RIPv1 reception is disabled entirely, *Note RIP
1852Version Control::, RIPv1 REQUEST packets which are received, which
1853query the router for routing information, will still be honoured by
1854`ripd', and `ripd' WILL reply to such packets. This allows `ripd' to
1855honour such REQUESTs (which sometimes is used by old equipment and very
1856simple devices to bootstrap their default route), while still providing
1857security for route updates which are received.
1858
1859 In short: Enabling authentication prevents routes being updated by
1860unauthenticated remote routers, but still can allow routes (I.e. the
1861entire RIP routing table) to be queried remotely, potentially by anyone
1862on the internet, via RIPv1.
1863
1864 To prevent such unauthenticated querying of routes disable RIPv1,
1865*Note RIP Version Control::.
1866
paul56d1d202004-11-15 21:56:53 +00001867 -- Interface command: ip rip authentication mode md5
1868 -- Interface command: no ip rip authentication mode md5
1869 Set the interface with RIPv2 MD5 authentication.
1870
1871 -- Interface command: ip rip authentication mode text
1872 -- Interface command: no ip rip authentication mode text
1873 Set the interface with RIPv2 simple password authentication.
1874
1875 -- Interface command: ip rip authentication string STRING
1876 -- Interface command: no ip rip authentication string STRING
1877 RIP version 2 has simple text authentication. This command sets
1878 authentication string. The string must be shorter than 16
1879 characters.
1880
1881 -- Interface command: ip rip authentication key-chain KEY-CHAIN
1882 -- Interface command: no ip rip authentication key-chain KEY-CHAIN
1883 Specifiy Keyed MD5 chain.
1884
1885 !
1886 key chain test
1887 key 1
1888 key-string test
1889 !
1890 interface eth1
1891 ip rip authentication mode md5
1892 ip rip authentication key-chain test
1893 !
1894
1895
1896File: quagga.info, Node: RIP Timers, Next: Show RIP Information, Prev: RIP Authentication, Up: RIP
1897
Paul Jakmaf371b1f2006-05-10 19:53:58 +000018985.10 RIP Timers
1899===============
paul56d1d202004-11-15 21:56:53 +00001900
1901 -- RIP command: timers basic UPDATE TIMEOUT GARBAGE
1902 RIP protocol has several timers. User can configure those timers'
1903 values by `timers basic' command.
1904
1905 The default settings for the timers are as follows:
1906
1907 * The update timer is 30 seconds. Every update timer seconds,
1908 the RIP process is awakened to send an unsolicited Response
1909 message containing the complete routing table to all
1910 neighboring RIP routers.
1911
1912 * The timeout timer is 180 seconds. Upon expiration of the
1913 timeout, the route is no longer valid; however, it is
1914 retained in the routing table for a short time so that
1915 neighbors can be notified that the route has been dropped.
1916
1917 * The garbage collect timer is 120 seconds. Upon expiration of
1918 the garbage-collection timer, the route is finally removed
1919 from the routing table.
1920
1921
1922 The `timers basic' command allows the the default values of the
1923 timers listed above to be changed.
1924
1925 -- RIP command: no timers basic
1926 The `no timers basic' command will reset the timers to the default
1927 settings listed above.
1928
1929
1930File: quagga.info, Node: Show RIP Information, Next: RIP Debug Commands, Prev: RIP Timers, Up: RIP
1931
Paul Jakmaf371b1f2006-05-10 19:53:58 +000019325.11 Show RIP Information
paul56d1d202004-11-15 21:56:53 +00001933=========================
1934
1935To display RIP routes.
1936
1937 -- Command: show ip rip
1938 Show RIP routes.
1939
1940 The command displays all RIP routes. For routes that are received
1941through RIP, this command will display the time the packet was sent and
1942the tag information. This command will also display this information
1943for routes redistributed into RIP.
1944
1945 -- Command: show ip protocols
1946 The command displays current RIP status. It includes RIP timer,
1947 filtering, version, RIP enabled interface and RIP peer inforation.
1948
1949 ripd> show ip protocols
1950 Routing Protocol is "rip"
1951 Sending updates every 30 seconds with +/-50%, next due in 35 seconds
1952 Timeout after 180 seconds, garbage collect after 120 seconds
1953 Outgoing update filter list for all interface is not set
1954 Incoming update filter list for all interface is not set
1955 Default redistribution metric is 1
1956 Redistributing: kernel connected
1957 Default version control: send version 2, receive version 2
1958 Interface Send Recv
1959 Routing for Networks:
1960 eth0
1961 eth1
1962 1.1.1.1
1963 203.181.89.241
1964 Routing Information Sources:
1965 Gateway BadPackets BadRoutes Distance Last Update
1966
1967
1968File: quagga.info, Node: RIP Debug Commands, Prev: Show RIP Information, Up: RIP
1969
Paul Jakmaf371b1f2006-05-10 19:53:58 +000019705.12 RIP Debug Commands
paul56d1d202004-11-15 21:56:53 +00001971=======================
1972
1973Debug for RIP protocol.
1974
1975 -- Command: debug rip events
1976 Debug rip events.
1977
1978 `debug rip' will show RIP events. Sending and receiving packets,
1979timers, and changes in interfaces are events shown with `ripd'.
1980
1981 -- Command: debug rip packet
1982 Debug rip packet.
1983
1984 `debug rip packet' will display detailed information about the RIP
1985packets. The origin and port number of the packet as well as a packet
1986dump is shown.
1987
1988 -- Command: debug rip zebra
1989 Debug rip between zebra communication.
1990
1991 This command will show the communication between `ripd' and `zebra'.
1992The main information will include addition and deletion of paths to
1993the kernel and the sending and receiving of interface information.
1994
1995 -- Command: show debugging rip
1996 Display `ripd''s debugging option.
1997
1998 `show debugging rip' will show all information currently set for ripd
1999debug.
2000
2001
2002File: quagga.info, Node: RIPng, Next: OSPFv2, Prev: RIP, Up: Top
2003
20046 RIPng
2005*******
2006
2007`ripngd' supports the RIPng protocol as described in RFC2080. It's an
2008IPv6 reincarnation of the RIP protocol.
2009
2010* Menu:
2011
2012* Invoking ripngd::
2013* ripngd Configuration::
2014* ripngd Terminal Mode Commands::
2015* ripngd Filtering Commands::
2016
2017
2018File: quagga.info, Node: Invoking ripngd, Next: ripngd Configuration, Up: RIPng
2019
20206.1 Invoking ripngd
2021===================
2022
2023There are no `ripngd' specific invocation options. Common options can
2024be specified (*note Common Invocation Options::).
2025
2026
2027File: quagga.info, Node: ripngd Configuration, Next: ripngd Terminal Mode Commands, Prev: Invoking ripngd, Up: RIPng
2028
20296.2 ripngd Configuration
2030========================
2031
2032Currently ripngd supports the following commands:
2033
2034 -- Command: router ripng
2035 Enable RIPng.
2036
2037 -- RIPng Command: flush_timer TIME
2038 Set flush timer.
2039
2040 -- RIPng Command: network NETWORK
2041 Set RIPng enabled interface by NETWORK
2042
2043 -- RIPng Command: network IFNAME
2044 Set RIPng enabled interface by IFNAME
2045
2046 -- RIPng Command: route NETWORK
2047 Set RIPng static routing announcement of NETWORK.
2048
2049 -- Command: router zebra
2050 This command is the default and does not appear in the
2051 configuration. With this statement, RIPng routes go to the
2052 `zebra' daemon.
2053
2054
2055File: quagga.info, Node: ripngd Terminal Mode Commands, Next: ripngd Filtering Commands, Prev: ripngd Configuration, Up: RIPng
2056
20576.3 ripngd Terminal Mode Commands
2058=================================
2059
2060 -- Command: show ip ripng
2061
2062 -- Command: show debugging ripng
2063
2064 -- Command: debug ripng events
2065
2066 -- Command: debug ripng packet
2067
2068 -- Command: debug ripng zebra
2069
2070
2071File: quagga.info, Node: ripngd Filtering Commands, Prev: ripngd Terminal Mode Commands, Up: RIPng
2072
20736.4 ripngd Filtering Commands
2074=============================
2075
2076 -- Command: distribute-list ACCESS_LIST (in|out) IFNAME
2077 You can apply an access-list to the interface using the
2078 `distribute-list' command. ACCESS_LIST is an access-list name.
2079 DIRECT is `in' or `out'. If DIRECT is `in', the access-list is
2080 applied only to incoming packets.
2081
2082 distribute-list local-only out sit1
2083
2084
2085File: quagga.info, Node: OSPFv2, Next: OSPFv3, Prev: RIPng, Up: Top
2086
20877 OSPFv2
2088********
2089
paula3957e32005-11-04 12:48:25 +00002090OSPF (Open Shortest Path First) version 2 is a routing protocol which
2091is described in `RFC2328, OSPF Version 2'. OSPF is an IGP (Interior
2092Gateway Protocol).. Compared with RIP, OSPF can provide scalable
2093network support and faster convergence times. OSPF is widely used in
2094large networks such as ISP (Internet Service Provider) backbone and
paul56d1d202004-11-15 21:56:53 +00002095enterprise networks.
2096
2097* Menu:
2098
2099* Configuring ospfd::
2100* OSPF router::
2101* OSPF area::
2102* OSPF interface::
2103* Redistribute routes to OSPF::
2104* Showing OSPF information::
2105* Debugging OSPF::
paula3957e32005-11-04 12:48:25 +00002106* OSPF Configuration Examples::
paul56d1d202004-11-15 21:56:53 +00002107
2108
2109File: quagga.info, Node: Configuring ospfd, Next: OSPF router, Up: OSPFv2
2110
21117.1 Configuring ospfd
2112=====================
2113
paula3957e32005-11-04 12:48:25 +00002114There are no `ospfd' specific options. Common options can be specified
2115(*note Common Invocation Options::) to `ospfd'. `ospfd' needs to
2116acquire interface information from `zebra' in order to function.
2117Therefore `zebra' must be running before invoking `ospfd'. Also, if
2118`zebra' is restarted then `ospfd' must be too.
paul56d1d202004-11-15 21:56:53 +00002119
2120 Like other daemons, `ospfd' configuration is done in OSPF specific
2121configuration file `ospfd.conf'.
2122
2123
2124File: quagga.info, Node: OSPF router, Next: OSPF area, Prev: Configuring ospfd, Up: OSPFv2
2125
21267.2 OSPF router
2127===============
2128
2129To start OSPF process you have to specify the OSPF router. As of this
2130writing, `ospfd' does not support multiple OSPF processes.
2131
2132 -- Command: router ospf
2133 -- Command: no router ospf
2134 Enable or disable the OSPF process. `ospfd' does not yet support
2135 multiple OSPF processes. So you can not specify an OSPF process
2136 number.
2137
2138 -- OSPF Command: ospf router-id A.B.C.D
2139 -- OSPF Command: no ospf router-id
paula3957e32005-11-04 12:48:25 +00002140 This sets the router-ID of the OSPF process. The router-ID may be
2141 an IP address of the router, but need not be - it can be any
2142 arbitrary 32bit number. However it MUST be unique within the
2143 entire OSPF domain to the OSPF speaker - bad things will happen if
2144 multiple OSPF speakers are configured with the same router-ID! If
2145 one is not specified then `ospfd' will obtain a router-ID
2146 automatically from `zebra'.
paul56d1d202004-11-15 21:56:53 +00002147
2148 -- OSPF Command: ospf abr-type TYPE
2149 -- OSPF Command: no ospf abr-type TYPE
paula3957e32005-11-04 12:48:25 +00002150 TYPE can be cisco|ibm|shortcut|standard.
2151
2152 More information regarding the behaviour controlled by this
2153 command can be found in `RFC 3509, Alternative Implementations of
2154 OSPF Area Border Routers', and
2155 `draft-ietf-ospf-shortcut-abr-02.txt'.
2156
2157 Quote: "Though the definition of the ABR (Area Border Router) in
2158 the OSPF specification does not require a router with multiple
2159 attached areas to have a backbone connection, it is actually
2160 necessary to provide successful routing to the inter-area and
2161 external destinations. If this requirement is not met, all traffic
2162 destined for the areas not connected to such an ABR or out of the
2163 OSPF domain, is dropped. This document describes alternative ABR
2164 behaviors implemented in Cisco and IBM routers."
2165
2166 The default ABR type is 'Cisco', allowing an ABR to consider
2167 summaries from non-backbone areas if, and only if, it has lost its
2168 link(s) to the backbone area.
paul56d1d202004-11-15 21:56:53 +00002169
2170 -- OSPF Command: ospf rfc1583compatibility
2171 -- OSPF Command: no ospf rfc1583compatibility
paula3957e32005-11-04 12:48:25 +00002172 This `RFC2328', the sucessor to `RFC1583', suggests according to
paul56d1d202004-11-15 21:56:53 +00002173 section G.2 (changes) in section 16.4 a change to the path
paula3957e32005-11-04 12:48:25 +00002174 preference algorithm that prevents possible routing loops that were
2175 possible in the old version of OSPFv2. More specifically it demands
2176 that inter-area paths and intra-area path are now of equal
paul56d1d202004-11-15 21:56:53 +00002177 preference but still both preferred to external paths.
2178
paula3957e32005-11-04 12:48:25 +00002179 This command should NOT be set normally.
2180
paul56d1d202004-11-15 21:56:53 +00002181 -- OSPF Command: passive interface INTERFACE
2182 -- OSPF Command: no passive interface INTERFACE
paula3957e32005-11-04 12:48:25 +00002183 Do not speak OSPF interface on the given interface, but do
2184 advertise the interface as a stub link in the router-LSA (Link
2185 State Advertisement) for this router. This allows one to advertise
2186 addresses on such connected interfaces without having to originate
2187 AS-External/Type-5 LSAs (which have global flooding scope) - as
2188 would occur if connected addresses were redistributed into OSPF,
2189 *Note Redistribute routes to OSPF::.
paul56d1d202004-11-15 21:56:53 +00002190
paul56d1d202004-11-15 21:56:53 +00002191
paula3957e32005-11-04 12:48:25 +00002192 -- OSPF Command: timers throttle spf DELAY INITIAL-HOLDTIME
2193MAX-HOLDTIME
2194 -- OSPF Command: no timers throttle spf
2195 This command sets the initial DELAY, the INITIAL-HOLDTIME and the
2196 MAXIMUM-HOLDTIME between when SPF is calculated and the event
2197 which triggered the calculation. The times are specified in
2198 milliseconds and must be in the range of 0 to 600000 milliseconds.
paul56d1d202004-11-15 21:56:53 +00002199
paula3957e32005-11-04 12:48:25 +00002200 The DELAY specifies the minimum amount of time to delay SPF
2201 calculation (hence it affects how long SPF calculation is delayed
2202 after an event which occurs outside of the holdtime of any
2203 previous SPF calculation, and also serves as a minimum holdtime).
2204
2205 Consecutive SPF calculations will always be seperated by at least
2206 'hold-time' milliseconds. The hold-time is adaptive and initially
2207 is set to the INITIAL-HOLDTIME configured with the above command.
2208 Events which occur within the holdtime of the previous SPF
2209 calculation will cause the holdtime to be increased by
2210 INITIAL-HOLDTIME, bounded by the MAXIMUM-HOLDTIME configured with
2211 this command. If the adaptive hold-time elapses without any
2212 SPF-triggering event occuring then the current holdtime is reset
2213 to the INITIAL-HOLDTIME. The current holdtime can be viewed with
2214 *Note show ip ospf::, where it is expressed as a multiplier of the
2215 INITIAL-HOLDTIME.
2216
2217 router ospf
2218 timers throttle spf 200 400 10000
2219
2220 In this example, the DELAY is set to 200ms, the INITIAL HOLDTIME
2221 is set to 400ms and the MAXIMUM HOLDTIME to 10s. Hence there will
2222 always be at least 200ms between an event which requires SPF
2223 calculation and the actual SPF calculation. Further consecutive SPF
2224 calculations will always be seperated by between 400ms to 10s, the
2225 hold-time increasing by 400ms each time an SPF-triggering event
2226 occurs within the hold-time of the previous SPF calculation.
2227
2228 This command supercedes the `timers spf' command in previous Quagga
2229 releases.
2230
2231 -- OSPF Command: max-metric router-lsa [on-startup|on-shutdown]
2232<5-86400>
2233 -- OSPF Command: max-metric router-lsa administrative
2234 -- OSPF Command: no max-metric router-lsa
2235[on-startup|on-shutdown|administrative]
2236 This enables `RFC3137, OSPF Stub Router Advertisement' support,
2237 where the OSPF process describes its transit links in its
2238 router-LSA as having infinite distance so that other routers will
2239 avoid calculating transit paths through the router while still
2240 being able to reach networks through the router.
2241
2242 This support may be enabled administratively (and indefinitely) or
2243 conditionally. Conditional enabling of max-metric router-lsas can
2244 be for a period of seconds after startup and/or for a period of
2245 seconds prior to shutdown.
2246
2247 Enabling this for a period after startup allows OSPF to converge
2248 fully first without affecting any existing routes used by other
2249 routers, while still allowing any connected stub links and/or
2250 redistributed routes to be reachable. Enabling this for a period
2251 of time in advance of shutdown allows the router to gracefully
2252 excuse itself from the OSPF domain.
2253
2254 Enabling this feature administratively allows for administrative
2255 intervention for whatever reason, for an indefinite period of time.
2256 Note that if the configuration is written to file, this
2257 administrative form of the stub-router command will also be
2258 written to file. If `ospfd' is restarted later, the command will
2259 then take effect until manually deconfigured.
2260
2261 Configured state of this feature as well as current status, such
2262 as the number of second remaining till on-startup or on-shutdown
2263 ends, can be viewed with the *Note show ip ospf:: command.
2264
2265 -- OSPF Command: auto-cost reference-bandwidth <1-4294967>
2266 -- OSPF Command: no auto-cost reference-bandwidth
2267 This sets the reference bandwidth for cost calculations, where this
2268 bandwidth is considered equivalent to an OSPF cost of 1, specified
2269 in Mbits/s. The default is 100Mbit/s (i.e. a link of bandwidth
2270 100Mbit/s or higher will have a cost of 1. Cost of lower bandwidth
2271 links will be scaled with reference to this cost).
2272
2273 This configuration setting MUST be consistent across all routers
2274 within the OSPF domain.
paul56d1d202004-11-15 21:56:53 +00002275
2276 -- OSPF Command: network A.B.C.D/M area A.B.C.D
2277 -- OSPF Command: network A.B.C.D/M area <0-4294967295>
2278 -- OSPF Command: no network A.B.C.D/M area A.B.C.D
2279 -- OSPF Command: no network A.B.C.D/M area <0-4294967295>
2280 This command specifies the OSPF enabled interface(s). If the
2281 interface has an address from range 192.168.1.0/24 then the
2282 command below enables ospf on this interface so router can provide
2283 network information to the other ospf routers via this interface.
paula3957e32005-11-04 12:48:25 +00002284
paul56d1d202004-11-15 21:56:53 +00002285 router ospf
2286 network 192.168.1.0/24 area 0.0.0.0
paula3957e32005-11-04 12:48:25 +00002287
2288 Prefix length in interface must be equal or bigger (ie. smaller
2289 network) than prefix length in network statement. For example
2290 statement above doesn't enable ospf on interface with address
2291 192.168.1.1/23, but it does on interface with address
paul56d1d202004-11-15 21:56:53 +00002292 192.168.1.129/25.
2293
2294
2295File: quagga.info, Node: OSPF area, Next: OSPF interface, Prev: OSPF router, Up: OSPFv2
2296
22977.3 OSPF area
2298=============
2299
2300 -- OSPF Command: area A.B.C.D range A.B.C.D/M
2301 -- OSPF Command: area <0-4294967295> range A.B.C.D/M
2302 -- OSPF Command: no area A.B.C.D range A.B.C.D/M
2303 -- OSPF Command: no area <0-4294967295> range A.B.C.D/M
2304 Summarize intra area paths from specified area into one Type-3
2305 summary-LSA announced to other areas. This command can be used
2306 only in ABR and ONLY router-LSAs (Type-1) and network-LSAs
2307 (Type-2) (ie. LSAs with scope area) can be summarized. Type-5
2308 AS-external-LSAs can't be summarized - their scope is AS.
2309 Summarizing Type-7 AS-external-LSAs isn't supported yet by Quagga.
paula3957e32005-11-04 12:48:25 +00002310
paul56d1d202004-11-15 21:56:53 +00002311 router ospf
2312 network 192.168.1.0/24 area 0.0.0.0
2313 network 10.0.0.0/8 area 0.0.0.10
2314 area 0.0.0.10 range 10.0.0.0/8
paula3957e32005-11-04 12:48:25 +00002315
2316 With configuration above one Type-3 Summary-LSA with routing info
2317 10.0.0.0/8 is announced into backbone area if area 0.0.0.10
paul56d1d202004-11-15 21:56:53 +00002318 contains at least one intra-area network (ie. described with
2319 router or network LSA) from this range.
2320
2321 -- OSPF Command: area A.B.C.D range IPV4_PREFIX not-advertise
2322 -- OSPF Command: no area A.B.C.D range IPV4_PREFIX not-advertise
2323 Instead of summarizing intra area paths filter them - ie. intra
2324 area paths from this range are not advertised into other areas.
2325 This command makes sense in ABR only.
2326
2327 -- OSPF Command: area A.B.C.D range IPV4_PREFIX substitute IPV4_PREFIX
2328 -- OSPF Command: no area A.B.C.D range IPV4_PREFIX substitute
2329IPV4_PREFIX
2330 Substitute summarized prefix with another prefix.
paula3957e32005-11-04 12:48:25 +00002331
paul56d1d202004-11-15 21:56:53 +00002332 router ospf
2333 network 192.168.1.0/24 area 0.0.0.0
2334 network 10.0.0.0/8 area 0.0.0.10
2335 area 0.0.0.10 range 10.0.0.0/8 substitute 11.0.0.0/8
paula3957e32005-11-04 12:48:25 +00002336
2337 One Type-3 summary-LSA with routing info 11.0.0.0/8 is announced
2338 into backbone area if area 0.0.0.10 contains at least one
2339 intra-area network (ie. described with router-LSA or network-LSA)
2340 from range 10.0.0.0/8. This command makes sense in ABR only.
paul56d1d202004-11-15 21:56:53 +00002341
2342 -- OSPF Command: area A.B.C.D virtual-link A.B.C.D
2343 -- OSPF Command: area <0-4294967295> virtual-link A.B.C.D
2344 -- OSPF Command: no area A.B.C.D virtual-link A.B.C.D
2345 -- OSPF Command: no area <0-4294967295> virtual-link A.B.C.D
2346
2347 -- OSPF Command: area A.B.C.D shortcut
2348 -- OSPF Command: area <0-4294967295> shortcut
2349 -- OSPF Command: no area A.B.C.D shortcut
2350 -- OSPF Command: no area <0-4294967295> shortcut
paula3957e32005-11-04 12:48:25 +00002351 Configure th area as Shortcut capable. See `RFC3509'. This requires
2352 that the 'abr-type' be set to 'shortcut'.
paul56d1d202004-11-15 21:56:53 +00002353
2354 -- OSPF Command: area A.B.C.D stub
2355 -- OSPF Command: area <0-4294967295> stub
2356 -- OSPF Command: no area A.B.C.D stub
2357 -- OSPF Command: no area <0-4294967295> stub
paula3957e32005-11-04 12:48:25 +00002358 Configure the area to be a stub area. That is, an area where no
2359 router originates routes external to OSPF and hence an area where
2360 all external routes are via the ABR(s). Hence, ABRs for such an
2361 area do not need to pass AS-External LSAs (type-5s) or
2362 ASBR-Summary LSAs (type-4) into the area. They need only pass
2363 Network-Summary (type-3) LSAs into such an area, just a default
2364 summary.
paul56d1d202004-11-15 21:56:53 +00002365
2366 -- OSPF Command: area A.B.C.D stub no-summary
2367 -- OSPF Command: area <0-4294967295> stub no-summary
2368 -- OSPF Command: no area A.B.C.D stub no-summary
2369 -- OSPF Command: no area <0-4294967295> stub no-summary
paula3957e32005-11-04 12:48:25 +00002370 Prevents an `ospfd' ABR from injecting inter-area summaries into
2371 the specified stub area.
paul56d1d202004-11-15 21:56:53 +00002372
2373 -- OSPF Command: area A.B.C.D default-cost <0-16777215>
2374 -- OSPF Command: no area A.B.C.D default-cost <0-16777215>
paula3957e32005-11-04 12:48:25 +00002375 Set the cost of default-summary LSAs announced to stubby areas.
paul56d1d202004-11-15 21:56:53 +00002376
2377 -- OSPF Command: area A.B.C.D export-list NAME
2378 -- OSPF Command: area <0-4294967295> export-list NAME
2379 -- OSPF Command: no area A.B.C.D export-list NAME
2380 -- OSPF Command: no area <0-4294967295> export-list NAME
2381 Filter Type-3 summary-LSAs announced to other areas originated
2382 from intra- area paths from specified area.
paula3957e32005-11-04 12:48:25 +00002383
paul56d1d202004-11-15 21:56:53 +00002384 router ospf
2385 network 192.168.1.0/24 area 0.0.0.0
2386 network 10.0.0.0/8 area 0.0.0.10
2387 area 0.0.0.10 export-list foo
2388 !
2389 access-list foo permit 10.10.0.0/16
2390 access-list foo deny any
paula3957e32005-11-04 12:48:25 +00002391
2392 With example above any intra-area paths from area 0.0.0.10 and
2393 from range 10.10.0.0/16 (for example 10.10.1.0/24 and
paul56d1d202004-11-15 21:56:53 +00002394 10.10.2.128/30) are announced into other areas as Type-3
2395 summary-LSA's, but any others (for example 10.11.0.0/16 or
paula3957e32005-11-04 12:48:25 +00002396 10.128.30.16/30) aren't.
2397
2398 This command is only relevant if the router is an ABR for the
2399 specified area.
paul56d1d202004-11-15 21:56:53 +00002400
2401 -- OSPF Command: area A.B.C.D import-list NAME
2402 -- OSPF Command: area <0-4294967295> import-list NAME
2403 -- OSPF Command: no area A.B.C.D import-list NAME
2404 -- OSPF Command: no area <0-4294967295> import-list NAME
2405 Same as export-list, but it applies to paths announced into
2406 specified area as Type-3 summary-LSAs.
2407
2408 -- OSPF Command: area A.B.C.D filter-list prefix NAME in
2409 -- OSPF Command: area A.B.C.D filter-list prefix NAME out
2410 -- OSPF Command: area <0-4294967295> filter-list prefix NAME in
2411 -- OSPF Command: area <0-4294967295> filter-list prefix NAME out
2412 -- OSPF Command: no area A.B.C.D filter-list prefix NAME in
2413 -- OSPF Command: no area A.B.C.D filter-list prefix NAME out
2414 -- OSPF Command: no area <0-4294967295> filter-list prefix NAME in
2415 -- OSPF Command: no area <0-4294967295> filter-list prefix NAME out
2416 Filtering Type-3 summary-LSAs to/from area using prefix lists.
2417 This command makes sense in ABR only.
2418
2419 -- OSPF Command: area A.B.C.D authentication
2420 -- OSPF Command: area <0-4294967295> authentication
2421 -- OSPF Command: no area A.B.C.D authentication
2422 -- OSPF Command: no area <0-4294967295> authentication
paula3957e32005-11-04 12:48:25 +00002423 Specify that simple password authentication should be used for the
2424 given area.
paul56d1d202004-11-15 21:56:53 +00002425
2426 -- OSPF Command: area A.B.C.D authentication message-digest
2427 -- OSPF Command: area <0-4294967295> authentication message-digest
paula3957e32005-11-04 12:48:25 +00002428 Specify that OSPF packets should be authenticated with MD5 HMACs
2429 for the given area.
paul56d1d202004-11-15 21:56:53 +00002430
2431
2432File: quagga.info, Node: OSPF interface, Next: Redistribute routes to OSPF, Prev: OSPF area, Up: OSPFv2
2433
24347.4 OSPF interface
2435==================
2436
2437 -- Interface Command: ip ospf authentication-key AUTH_KEY
2438 -- Interface Command: no ip ospf authentication-key
2439 Set OSPF authentication key to a simple password. After setting
2440 AUTH_KEY, all OSPF packets are authenticated. AUTH_KEY has length
2441 up to 8 chars.
2442
2443 -- Interface Command: ip ospf message-digest-key KEYID md5 KEY
2444 -- Interface Command: no ip ospf message-digest-key
2445 Set OSPF authentication key to a cryptographic password. The
2446 cryptographic algorithm is MD5. KEYID identifies secret key used
2447 to create the message digest. KEY is the actual message digest
2448 key up to 16 chars.
2449
2450 Note that OSPF MD5 authentication requires that time never go
paula3957e32005-11-04 12:48:25 +00002451 backwards (correct time is NOT important, only that it never goes
paul56d1d202004-11-15 21:56:53 +00002452 backwards), even across resets, if ospfd is to be able to promptly
2453 reestabish adjacencies with its neighbours after restarts/reboots.
2454 The host should have system time be set at boot from an external
2455 source (eg battery backed clock, NTP, etc.) or else the system
2456 clock should be periodically saved to non-volative storage and
2457 restored at boot if MD5 authentication is to be expected to work
2458 reliably.
2459
2460 -- Interface Command: ip ospf cost <1-65535>
2461 -- Interface Command: no ip ospf cost
2462 Set link cost for the specified interface. The cost value is set
2463 to router-LSA's metric field and used for SPF calculation.
2464
2465 -- Interface Command: ip ospf dead-interval <1-65535>
paula3957e32005-11-04 12:48:25 +00002466 -- Interface Command: ip ospf dead-interval minimal hello-multiplier
2467<2-20>
paul56d1d202004-11-15 21:56:53 +00002468 -- Interface Command: no ip ospf dead-interval
2469 Set number of seconds for RouterDeadInterval timer value used for
2470 Wait Timer and Inactivity Timer. This value must be the same for
2471 all routers attached to a common network. The default value is 40
2472 seconds.
2473
paula3957e32005-11-04 12:48:25 +00002474 If 'minimal' is specified instead, then the dead-interval is set
2475 to 1 second and one must specify a hello-multiplier. The
2476 hello-multiplier specifies how many Hellos to send per second,
2477 from 2 (every 500ms) to 20 (every 50ms). Thus one can have 1s
2478 convergence time for OSPF. If this form is specified, then the
2479 hello-interval advertised in Hello packets is set to 0 and the
2480 hello-interval on received Hello packets is not checked, thus the
2481 hello-multiplier need NOT be the same across multiple routers on a
2482 common link.
2483
paul56d1d202004-11-15 21:56:53 +00002484 -- Interface Command: ip ospf hello-interval <1-65535>
2485 -- Interface Command: no ip ospf hello-interval
2486 Set number of seconds for HelloInterval timer value. Setting this
2487 value, Hello packet will be sent every timer value seconds on the
2488 specified interface. This value must be the same for all routers
2489 attached to a common network. The default value is 10 seconds.
2490
paula3957e32005-11-04 12:48:25 +00002491 This command has no effect if *Note ip ospf dead-interval
2492 minimal:: is also specified for the interface.
2493
paul56d1d202004-11-15 21:56:53 +00002494 -- Interface Command: ip ospf network
2495(broadcast|non-broadcast|point-to-multipoint|point-to-point)
2496 -- Interface Command: no ip ospf network
2497 Set explicitly network type for specifed interface.
2498
2499 -- Interface Command: ip ospf priority <0-255>
2500 -- Interface Command: no ip ospf priority
2501 Set RouterPriority integer value. Setting higher value, router
2502 will be more eligible to become Designated Router. Setting the
2503 value to 0, router is no longer eligible to Designated Router.
2504 The default value is 1.
2505
2506 -- Interface Command: ip ospf retransmit-interval <1-65535>
2507 -- Interface Command: no ip ospf retransmit interval
2508 Set number of seconds for RxmtInterval timer value. This value is
2509 used when retransmitting Database Description and Link State
2510 Request packets. The default value is 5 seconds.
2511
2512 -- Interface Command: ip ospf transmit-delay
2513 -- Interface Command: no ip ospf transmit-delay
2514 Set number of seconds for InfTransDelay value. LSAs' age should be
2515 incremented by this value when transmitting. The default value is
2516 1 seconds.
2517
2518
2519File: quagga.info, Node: Redistribute routes to OSPF, Next: Showing OSPF information, Prev: OSPF interface, Up: OSPFv2
2520
25217.5 Redistribute routes to OSPF
2522===============================
2523
2524 -- OSPF Command: redistribute (kernel|connected|static|rip|bgp)
2525 -- OSPF Command: redistribute (kernel|connected|static|rip|bgp)
2526ROUTE-MAP
2527 -- OSPF Command: redistribute (kernel|connected|static|rip|bgp)
2528metric-type (1|2)
2529 -- OSPF Command: redistribute (kernel|connected|static|rip|bgp)
2530metric-type (1|2) route-map WORD
2531 -- OSPF Command: redistribute (kernel|connected|static|rip|bgp) metric
2532<0-16777214>
2533 -- OSPF Command: redistribute (kernel|connected|static|rip|bgp) metric
2534<0-16777214> route-map WORD
2535 -- OSPF Command: redistribute (kernel|connected|static|rip|bgp)
2536metric-type (1|2) metric <0-16777214>
2537 -- OSPF Command: redistribute (kernel|connected|static|rip|bgp)
2538metric-type (1|2) metric <0-16777214> route-map WORD
2539 -- OSPF Command: no redistribute (kernel|connected|static|rip|bgp)
paula3957e32005-11-04 12:48:25 +00002540 Redistribute routes of the specified protocol or kind into OSPF,
2541 with the metric type and metric set if specified, filtering the
2542 routes using the given route-map if specified.
paul56d1d202004-11-15 21:56:53 +00002543
2544 -- OSPF Command: default-information originate
2545 -- OSPF Command: default-information originate metric <0-16777214>
2546 -- OSPF Command: default-information originate metric <0-16777214>
2547metric-type (1|2)
2548 -- OSPF Command: default-information originate metric <0-16777214>
2549metric-type (1|2) route-map WORD
2550 -- OSPF Command: default-information originate always
2551 -- OSPF Command: default-information originate always metric
2552<0-16777214>
2553 -- OSPF Command: default-information originate always metric
2554<0-16777214> metric-type (1|2)
2555 -- OSPF Command: default-information originate always metric
2556<0-16777214> metric-type (1|2) route-map WORD
2557 -- OSPF Command: no default-information originate
paula3957e32005-11-04 12:48:25 +00002558 Originate an AS-External (type-5) LSA describing a default route
2559 into all external-routing capable areas, of the specified metric
2560 and metric type. If the 'always' keyword is given then the default
2561 is always advertised, even when there is no default present in the
2562 routing table.
paul56d1d202004-11-15 21:56:53 +00002563
2564 -- OSPF Command: distribute-list NAME out
2565(kernel|connected|static|rip|ospf
2566 -- OSPF Command: no distribute-list NAME out
2567(kernel|connected|static|rip|ospf
2568
2569 -- OSPF Command: default-metric <0-16777214>
2570 -- OSPF Command: no default-metric
2571
2572 -- OSPF Command: distance <1-255>
2573 -- OSPF Command: no distance <1-255>
2574
2575 -- OSPF Command: distance ospf (intra-area|inter-area|external)
2576 <1-255>
2577 -- OSPF Command: no distance ospf
2578
2579 -- Command: router zebra
2580 -- Command: no router zebra
2581
2582
2583File: quagga.info, Node: Showing OSPF information, Next: Debugging OSPF, Prev: Redistribute routes to OSPF, Up: OSPFv2
2584
25857.6 Showing OSPF information
2586============================
2587
2588 -- Command: show ip ospf
paula3957e32005-11-04 12:48:25 +00002589 Show information on a variety of general OSPF and area state and
2590 configuration information.
paul56d1d202004-11-15 21:56:53 +00002591
2592 -- Command: show ip ospf interface [INTERFACE]
paula3957e32005-11-04 12:48:25 +00002593 Show state and configuration of OSPF the specified interface, or
2594 all interfaces if no interface is given.
paul56d1d202004-11-15 21:56:53 +00002595
2596 -- Command: show ip ospf neighbor
2597 -- Command: show ip ospf neighbor INTERFACE
2598 -- Command: show ip ospf neighbor detail
2599 -- Command: show ip ospf neighbor INTERFACE detail
2600
2601 -- Command: show ip ospf database
2602
2603 -- Command: show ip ospf database
2604(asbr-summary|external|network|router|summary)
2605 -- Command: show ip ospf database
2606(asbr-summary|external|network|router|summary) LINK-STATE-ID
2607 -- Command: show ip ospf database
2608(asbr-summary|external|network|router|summary) LINK-STATE-ID adv-router
2609ADV-ROUTER
2610 -- Command: show ip ospf database
2611(asbr-summary|external|network|router|summary) adv-router ADV-ROUTER
2612 -- Command: show ip ospf database
2613(asbr-summary|external|network|router|summary) LINK-STATE-ID
2614self-originate
2615 -- Command: show ip ospf database
2616(asbr-summary|external|network|router|summary) self-originate
2617
2618 -- Command: show ip ospf database max-age
2619
2620 -- Command: show ip ospf database self-originate
2621
paul56d1d202004-11-15 21:56:53 +00002622 -- Command: show ip ospf route
paula3957e32005-11-04 12:48:25 +00002623 Show the OSPF routing table, as determined by the most recent SPF
2624 calculation.
paul56d1d202004-11-15 21:56:53 +00002625
2626
paula3957e32005-11-04 12:48:25 +00002627File: quagga.info, Node: Debugging OSPF, Next: OSPF Configuration Examples, Prev: Showing OSPF information, Up: OSPFv2
paul56d1d202004-11-15 21:56:53 +00002628
26297.7 Debugging OSPF
2630==================
2631
2632 -- Command: debug ospf packet
2633(hello|dd|ls-request|ls-update|ls-ack|all) (send|recv) [detail]
2634 -- Command: no debug ospf packet
2635(hello|dd|ls-request|ls-update|ls-ack|all) (send|recv) [detail]
2636
2637 -- Command: debug ospf ism
2638 -- Command: debug ospf ism (status|events|timers)
2639 -- Command: no debug ospf ism
2640 -- Command: no debug ospf ism (status|events|timers)
2641
2642 -- Command: debug ospf nsm
2643 -- Command: debug ospf nsm (status|events|timers)
2644 -- Command: no debug ospf nsm
2645 -- Command: no debug ospf nsm (status|events|timers)
2646
2647 -- Command: debug ospf lsa
2648 -- Command: debug ospf lsa (generate|flooding|refresh)
2649 -- Command: no debug ospf lsa
2650 -- Command: no debug ospf lsa (generate|flooding|refresh)
2651
2652 -- Command: debug ospf zebra
2653 -- Command: debug ospf zebra (interface|redistribute)
2654 -- Command: no debug ospf zebra
2655 -- Command: no debug ospf zebra (interface|redistribute)
2656
2657 -- Command: show debugging ospf
2658
2659
paula3957e32005-11-04 12:48:25 +00002660File: quagga.info, Node: OSPF Configuration Examples, Prev: Debugging OSPF, Up: OSPFv2
2661
26627.8 OSPF Configuration Examples
2663===============================
2664
2665A simple example, with MD5 authentication enabled:
2666
2667 !
2668 interface bge0
2669 ip ospf authentication message-digest
2670 ip ospf message-digest-key 1 md5 ABCDEFGHIJK
2671 !
2672 router ospf
2673 network 192.168.0.0/16 area 0.0.0.1
2674 area 0.0.0.1 authentication message-digest
2675
2676 An ABR router, with MD5 authentication and performing summarisation
2677of networks between the areas:
2678
2679 !
2680 password ABCDEF
2681 log file /var/log/quagga/ospfd.log
2682 service advanced-vty
2683 !
2684 interface eth0
2685 ip ospf authentication message-digest
2686 ip ospf message-digest-key 1 md5 ABCDEFGHIJK
2687 !
2688 interface ppp0
2689 !
2690 interface br0
2691 ip ospf authentication message-digest
2692 ip ospf message-digest-key 2 md5 XYZ12345
2693 !
2694 router ospf
2695 ospf router-id 192.168.0.1
2696 redistribute connected
2697 passive interface ppp0
2698 network 192.168.0.0/24 area 0.0.0.0
2699 network 10.0.0.0/16 area 0.0.0.0
2700 network 192.168.1.0/24 area 0.0.0.1
2701 area 0.0.0.0 authentication message-digest
2702 area 0.0.0.0 range 10.0.0.0/16
2703 area 0.0.0.0 range 192.168.0.0/24
2704 area 0.0.0.1 authentication message-digest
2705 area 0.0.0.1 range 10.2.0.0/16
2706 !
2707
2708
paul56d1d202004-11-15 21:56:53 +00002709File: quagga.info, Node: OSPFv3, Next: BGP, Prev: OSPFv2, Up: Top
2710
27118 OSPFv3
2712********
2713
2714`ospf6d' is a daemon support OSPF version 3 for IPv6 network. OSPF for
2715IPv6 is described in RFC2740.
2716
2717* Menu:
2718
2719* OSPF6 router::
2720* OSPF6 area::
2721* OSPF6 interface::
2722* Redistribute routes to OSPF6::
2723* Showing OSPF6 information::
paulaa5943f2005-11-04 21:53:59 +00002724* OSPF6 Configuration Examples::
paul56d1d202004-11-15 21:56:53 +00002725
2726
2727File: quagga.info, Node: OSPF6 router, Next: OSPF6 area, Up: OSPFv3
2728
27298.1 OSPF6 router
2730================
2731
2732 -- Command: router ospf6
2733
2734 -- OSPF6 Command: router-id A.B.C.D
2735 Set router's Router-ID.
2736
2737 -- OSPF6 Command: interface IFNAME area AREA
2738 Bind interface to specified area, and start sending OSPF packets.
2739 AREA can be specified as 0.
2740
2741
2742File: quagga.info, Node: OSPF6 area, Next: OSPF6 interface, Prev: OSPF6 router, Up: OSPFv3
2743
27448.2 OSPF6 area
2745==============
2746
2747Area support for OSPFv3 is not yet implemented.
2748
2749
2750File: quagga.info, Node: OSPF6 interface, Next: Redistribute routes to OSPF6, Prev: OSPF6 area, Up: OSPFv3
2751
27528.3 OSPF6 interface
2753===================
2754
2755 -- Interface Command: ipv6 ospf6 cost COST
2756 Sets interface's output cost. Default value is 1.
2757
2758 -- Interface Command: ipv6 ospf6 hello-interval HELLOINTERVAL
2759 Sets interface's Hello Interval. Default 40
2760
2761 -- Interface Command: ipv6 ospf6 dead-interval DEADINTERVAL
2762 Sets interface's Router Dead Interval. Default value is 40.
2763
2764 -- Interface Command: ipv6 ospf6 retransmit-interval
2765 RETRANSMITINTERVAL
2766 Sets interface's Rxmt Interval. Default value is 5.
2767
2768 -- Interface Command: ipv6 ospf6 priority PRIORITY
2769 Sets interface's Router Priority. Default value is 1.
2770
2771 -- Interface Command: ipv6 ospf6 transmit-delay TRANSMITDELAY
2772 Sets interface's Inf-Trans-Delay. Default value is 1.
2773
2774
2775File: quagga.info, Node: Redistribute routes to OSPF6, Next: Showing OSPF6 information, Prev: OSPF6 interface, Up: OSPFv3
2776
27778.4 Redistribute routes to OSPF6
2778================================
2779
2780 -- OSPF6 Command: redistribute static
2781 -- OSPF6 Command: redistribute connected
2782 -- OSPF6 Command: redistribute ripng
2783
2784
paulaa5943f2005-11-04 21:53:59 +00002785File: quagga.info, Node: Showing OSPF6 information, Next: OSPF6 Configuration Examples, Prev: Redistribute routes to OSPF6, Up: OSPFv3
paul56d1d202004-11-15 21:56:53 +00002786
27878.5 Showing OSPF6 information
2788=============================
2789
2790 -- Command: show ipv6 ospf6 [INSTANCE_ID]
2791 INSTANCE_ID is an optional OSPF instance ID. To see router ID and
2792 OSPF instance ID, simply type "show ipv6 ospf6 <cr>".
2793
2794 -- Command: show ipv6 ospf6 database
2795 This command shows LSA database summary. You can specify the type
2796 of LSA.
2797
2798 -- Command: show ipv6 ospf6 interface
2799 To see OSPF interface configuration like costs.
2800
2801 -- Command: show ipv6 ospf6 neighbor
2802 Shows state and chosen (Backup) DR of neighbor.
2803
2804 -- Command: show ipv6 ospf6 request-list A.B.C.D
2805 Shows requestlist of neighbor.
2806
2807 -- Command: show ipv6 route ospf6
2808 This command shows internal routing table.
2809
2810
paulaa5943f2005-11-04 21:53:59 +00002811File: quagga.info, Node: OSPF6 Configuration Examples, Prev: Showing OSPF6 information, Up: OSPFv3
2812
28138.6 OSPF6 Configuration Examples
2814================================
2815
2816Example of ospf6d configured on one interface and area:
2817
2818 interface eth0
2819 ipv6 ospf6 instance-id 0
2820 !
2821 router ospf6
2822 router-id 212.17.55.53
2823 area 0.0.0.0 range 2001:770:105:2::/64
2824 interface eth0 area 0.0.0.0
2825 !
2826
2827
paul56d1d202004-11-15 21:56:53 +00002828File: quagga.info, Node: BGP, Next: Configuring Quagga as a Route Server, Prev: OSPFv3, Up: Top
2829
28309 BGP
2831*****
2832
2833BGP stands for a Border Gateway Protocol. The lastest BGP version is
28344. It is referred as BGP-4. BGP-4 is one of the Exterior Gateway
2835Protocols and de-fact standard of Inter Domain routing protocol. BGP-4
paulaa5943f2005-11-04 21:53:59 +00002836is described in `RFC1771, A Border Gateway Protocol 4 (BGP-4)'.
paul56d1d202004-11-15 21:56:53 +00002837
paulaa5943f2005-11-04 21:53:59 +00002838 Many extensions have been added to `RFC1771'. `RFC2858,
2839Multiprotocol Extensions for BGP-4' provides multiprotocol support to
2840BGP-4.
paul56d1d202004-11-15 21:56:53 +00002841
2842* Menu:
2843
2844* Starting BGP::
2845* BGP router::
2846* BGP network::
2847* BGP Peer::
2848* BGP Peer Group::
2849* BGP Address Family::
2850* Autonomous System::
2851* BGP Communities Attribute::
2852* BGP Extended Communities Attribute::
2853* Displaying BGP routes::
2854* Capability Negotiation::
2855* Route Reflector::
2856* Route Server::
2857* How to set up a 6-Bone connection::
2858* Dump BGP packets and table::
paulaa5943f2005-11-04 21:53:59 +00002859* BGP Configuration Examples::
paul56d1d202004-11-15 21:56:53 +00002860
2861
2862File: quagga.info, Node: Starting BGP, Next: BGP router, Up: BGP
2863
28649.1 Starting BGP
2865================
2866
2867Default configuration file of `bgpd' is `bgpd.conf'. `bgpd' searches
2868the current directory first then /etc/quagga/bgpd.conf. All of bgpd's
2869command must be configured in `bgpd.conf'.
2870
2871 `bgpd' specific invocation options are described below. Common
2872options may also be specified (*note Common Invocation Options::).
2873
2874`-p PORT'
2875`--bgp_port=PORT'
2876 Set the bgp protocol's port number.
2877
2878`-r'
2879`--retain'
2880 When program terminates, retain BGP routes added by zebra.
2881
2882
2883File: quagga.info, Node: BGP router, Next: BGP network, Prev: Starting BGP, Up: BGP
2884
28859.2 BGP router
2886==============
2887
2888First of all you must configure BGP router with `router bgp' command.
2889To configure BGP router, you need AS number. AS number is an
2890identification of autonomous system. BGP protocol uses the AS number
2891for detecting whether the BGP connection is internal one or external
2892one.
2893
2894 -- Command: router bgp ASN
2895 Enable a BGP protocol process with the specified ASN. After this
2896 statement you can input any `BGP Commands'. You can not create
2897 different BGP process under different ASN without specifying
2898 `multiple-instance' (*note Multiple instance::).
2899
2900 -- Command: no router bgp ASN
2901 Destroy a BGP protocol process with the specified ASN.
2902
2903 -- BGP: bgp router-id A.B.C.D
2904 This command specifies the router-ID. If `bgpd' connects to
2905 `zebra' it gets interface and address information. In that case
2906 default router ID value is selected as the largest IP Address of
2907 the interfaces. When `router zebra' is not enabled `bgpd' can't
2908 get interface information so `router-id' is set to 0.0.0.0. So
2909 please set router-id by hand.
2910
2911* Menu:
2912
2913* BGP distance::
2914* BGP decision process::
2915
2916
2917File: quagga.info, Node: BGP distance, Next: BGP decision process, Up: BGP router
2918
29199.2.1 BGP distance
2920------------------
2921
2922 -- BGP: distance bgp <1-255> <1-255> <1-255>
2923 This command change distance value of BGP. Each argument is
2924 distance value for external routes, internal routes and local
2925 routes.
2926
2927 -- BGP: distance <1-255> A.B.C.D/M
2928 -- BGP: distance <1-255> A.B.C.D/M WORD
2929 This command set distance value to
2930
2931
2932File: quagga.info, Node: BGP decision process, Prev: BGP distance, Up: BGP router
2933
29349.2.2 BGP decision process
2935--------------------------
2936
29371. Weight check
2938
29392. Local preference check.
2940
29413. Local route check.
2942
29434. AS path length check.
2944
29455. Origin check.
2946
29476. MED check.
2948
paulc7959912005-04-10 16:43:40 +00002949 -- BGP: bgp bestpath as-path confed
2950 This command specifies that the length of confederation path sets
2951 and sequences should should be taken into account during the BGP
2952 best path decision process.
2953
paul56d1d202004-11-15 21:56:53 +00002954
2955File: quagga.info, Node: BGP network, Next: BGP Peer, Prev: BGP router, Up: BGP
2956
29579.3 BGP network
2958===============
2959
2960* Menu:
2961
2962* BGP route::
2963* Route Aggregation::
2964* Redistribute to BGP::
2965
2966
2967File: quagga.info, Node: BGP route, Next: Route Aggregation, Up: BGP network
2968
29699.3.1 BGP route
2970---------------
2971
2972 -- BGP: network A.B.C.D/M
2973 This command adds the announcement network.
2974 router bgp 1
2975 network 10.0.0.0/8
2976 This configuration example says that network 10.0.0.0/8 will
2977 be announced to all neighbors. Some vendors' routers don't
2978 advertise routes if they aren't present in their IGP routing
2979 tables; `bgp' doesn't care about IGP routes when announcing its
2980 routes.
2981
2982 -- BGP: no network A.B.C.D/M
2983
2984
2985File: quagga.info, Node: Route Aggregation, Next: Redistribute to BGP, Prev: BGP route, Up: BGP network
2986
29879.3.2 Route Aggregation
2988-----------------------
2989
2990 -- BGP: aggregate-address A.B.C.D/M
2991 This command specifies an aggregate address.
2992
2993 -- BGP: aggregate-address A.B.C.D/M as-set
2994 This command specifies an aggregate address. Resulting routes
2995 inlucde AS set.
2996
2997 -- BGP: aggregate-address A.B.C.D/M summary-only
2998 This command specifies an aggregate address. Aggreated routes will
2999 not be announce.
3000
3001 -- BGP: no aggregate-address A.B.C.D/M
3002
3003
3004File: quagga.info, Node: Redistribute to BGP, Prev: Route Aggregation, Up: BGP network
3005
30069.3.3 Redistribute to BGP
3007-------------------------
3008
3009 -- BGP: redistribute kernel
3010 Redistribute kernel route to BGP process.
3011
3012 -- BGP: redistribute static
3013 Redistribute static route to BGP process.
3014
3015 -- BGP: redistribute connected
3016 Redistribute connected route to BGP process.
3017
3018 -- BGP: redistribute rip
3019 Redistribute RIP route to BGP process.
3020
3021 -- BGP: redistribute ospf
3022 Redistribute OSPF route to BGP process.
3023
3024
3025File: quagga.info, Node: BGP Peer, Next: BGP Peer Group, Prev: BGP network, Up: BGP
3026
30279.4 BGP Peer
3028============
3029
3030* Menu:
3031
3032* Defining Peer::
3033* BGP Peer commands::
3034* Peer filtering::
3035
3036
3037File: quagga.info, Node: Defining Peer, Next: BGP Peer commands, Up: BGP Peer
3038
30399.4.1 Defining Peer
3040-------------------
3041
3042 -- BGP: neighbor PEER remote-as ASN
3043 Creates a new neighbor whose remote-as is ASN. PEER can be an
3044 IPv4 address or an IPv6 address.
3045 router bgp 1
3046 neighbor 10.0.0.1 remote-as 2
3047 In this case my router, in AS-1, is trying to peer with AS-2
3048 at 10.0.0.1.
3049
3050 This command must be the first command used when configuring a
3051 neighbor. If the remote-as is not specified, `bgpd' will complain
3052 like this:
3053 can't find neighbor 10.0.0.1
3054
3055
3056File: quagga.info, Node: BGP Peer commands, Next: Peer filtering, Prev: Defining Peer, Up: BGP Peer
3057
30589.4.2 BGP Peer commands
3059-----------------------
3060
3061In a `router bgp' clause there are neighbor specific configurations
3062required.
3063
3064 -- BGP: neighbor PEER shutdown
3065 -- BGP: no neighbor PEER shutdown
3066 Shutdown the peer. We can delete the neighbor's configuration by
3067 `no neighbor PEER remote-as AS-NUMBER' but all configuration of
3068 the neighbor will be deleted. When you want to preserve the
3069 configuration, but want to drop the BGP peer, use this syntax.
3070
3071 -- BGP: neighbor PEER ebgp-multihop
3072 -- BGP: no neighbor PEER ebgp-multihop
3073
3074 -- BGP: neighbor PEER description ...
3075 -- BGP: no neighbor PEER description ...
3076 Set description of the peer.
3077
3078 -- BGP: neighbor PEER version VERSION
3079 Set up the neighbor's BGP version. VERSION can be 4, 4+ or 4-.
3080 BGP version 4 is the default value used for BGP peering. BGP
3081 version 4+ means that the neighbor supports Multiprotocol
3082 Extensions for BGP-4. BGP version 4- is similar but the neighbor
3083 speaks the old Internet-Draft revision 00's Multiprotocol
3084 Extensions for BGP-4. Some routing software is still using this
3085 version.
3086
3087 -- BGP: neighbor PEER interface IFNAME
3088 -- BGP: no neighbor PEER interface IFNAME
3089 When you connect to a BGP peer over an IPv6 link-local address,
3090 you have to specify the IFNAME of the interface used for the
3091 connection.
3092
3093 -- BGP: neighbor PEER next-hop-self
3094 -- BGP: no neighbor PEER next-hop-self
3095 This command specifies an announced route's nexthop as being
3096 equivalent to the address of the bgp router.
3097
3098 -- BGP: neighbor PEER update-source
3099 -- BGP: no neighbor PEER update-source
3100
3101 -- BGP: neighbor PEER default-originate
3102 -- BGP: no neighbor PEER default-originate
3103 `bgpd''s default is to not announce the default route (0.0.0.0/0)
3104 even it is in routing table. When you want to announce default
3105 routes to the peer, use this command.
3106
3107 -- BGP: neighbor PEER port PORT
3108 -- BGP: neighbor PEER port PORT
3109
3110 -- BGP: neighbor PEER send-community
3111 -- BGP: neighbor PEER send-community
3112
3113 -- BGP: neighbor PEER weight WEIGHT
3114 -- BGP: no neighbor PEER weight WEIGHT
3115 This command specifies a default WEIGHT value for the neighbor's
3116 routes.
3117
3118 -- BGP: neighbor PEER maximum-prefix NUMBER
3119 -- BGP: no neighbor PEER maximum-prefix NUMBER
3120
3121
3122File: quagga.info, Node: Peer filtering, Prev: BGP Peer commands, Up: BGP Peer
3123
31249.4.3 Peer filtering
3125--------------------
3126
3127 -- BGP: neighbor PEER distribute-list NAME [in|out]
3128 This command specifies a distribute-list for the peer. DIRECT is
3129 `in' or `out'.
3130
3131 -- BGP command: neighbor PEER prefix-list NAME [in|out]
3132
3133 -- BGP command: neighbor PEER filter-list NAME [in|out]
3134
3135 -- BGP: neighbor PEER route-map NAME [in|out]
3136 Apply a route-map on the neighbor. DIRECT must be `in' or `out'.
3137
3138
3139File: quagga.info, Node: BGP Peer Group, Next: BGP Address Family, Prev: BGP Peer, Up: BGP
3140
31419.5 BGP Peer Group
3142==================
3143
3144 -- BGP: neighbor WORD peer-group
3145 This command defines a new peer group.
3146
3147 -- BGP: neighbor PEER peer-group WORD
3148 This command bind specific peer to peer group WORD.
3149
3150
3151File: quagga.info, Node: BGP Address Family, Next: Autonomous System, Prev: BGP Peer Group, Up: BGP
3152
31539.6 BGP Address Family
3154======================
3155
3156
3157File: quagga.info, Node: Autonomous System, Next: BGP Communities Attribute, Prev: BGP Address Family, Up: BGP
3158
31599.7 Autonomous System
3160=====================
3161
paulaa5943f2005-11-04 21:53:59 +00003162The AS (Autonomous System) number is one of the essential element of
3163BGP. BGP is a distance vector routing protocol, and the AS-Path
3164framework provides distance vector metric and loop detection to BGP.
3165`RFC1930, Guidelines for creation, selection, and registration of an
3166Autonomous System (AS)' provides some background on the concepts of an
3167AS.
paul56d1d202004-11-15 21:56:53 +00003168
paulaa5943f2005-11-04 21:53:59 +00003169 The AS number is a two octet value, ranging in value from 1 to 65535.
3170The AS numbers 64512 through 65535 are defined as private AS numbers.
3171Private AS numbers must not to be advertised in the global Internet.
paul56d1d202004-11-15 21:56:53 +00003172
3173* Menu:
3174
3175* AS Path Regular Expression::
3176* Display BGP Routes by AS Path::
3177* AS Path Access List::
3178* Using AS Path in Route Map::
3179* Private AS Numbers::
3180
3181
3182File: quagga.info, Node: AS Path Regular Expression, Next: Display BGP Routes by AS Path, Up: Autonomous System
3183
31849.7.1 AS Path Regular Expression
3185--------------------------------
3186
3187AS path regular expression can be used for displaying BGP routes and AS
3188path access list. AS path regular expression is based on `POSIX
31891003.2' regular expressions. Following description is just a subset of
3190`POSIX' regular expression. User can use full `POSIX' regular
3191expression. Adding to that special character '_' is added for AS path
3192regular expression.
3193
3194`.'
3195 Matches any single character.
3196
3197`*'
3198 Matches 0 or more occurrences of pattern.
3199
3200`+'
3201 Matches 1 or more occurrences of pattern.
3202
3203`?'
3204 Match 0 or 1 occurrences of pattern.
3205
3206`^'
3207 Matches the beginning of the line.
3208
3209`$'
3210 Matches the end of the line.
3211
3212`_'
3213 Character `_' has special meanings in AS path regular expression.
3214 It matches to space and comma , and AS set delimiter { and } and AS
3215 confederation delimiter `(' and `)'. And it also matches to the
3216 beginning of the line and the end of the line. So `_' can be used
3217 for AS value boundaries match. `show ip bgp regexp _7675_'
3218 matches to all of BGP routes which as AS number include 7675.
3219
3220
3221File: quagga.info, Node: Display BGP Routes by AS Path, Next: AS Path Access List, Prev: AS Path Regular Expression, Up: Autonomous System
3222
32239.7.2 Display BGP Routes by AS Path
3224-----------------------------------
3225
3226To show BGP routes which has specific AS path information `show ip bgp'
3227command can be used.
3228
3229 -- Command: show ip bgp regexp LINE
3230 This commands display BGP routes that matches AS path regular
3231 expression LINE.
3232
3233
3234File: quagga.info, Node: AS Path Access List, Next: Using AS Path in Route Map, Prev: Display BGP Routes by AS Path, Up: Autonomous System
3235
32369.7.3 AS Path Access List
3237-------------------------
3238
3239AS path access list is user defined AS path.
3240
3241 -- Command: ip as-path access-list WORD {permit|deny} LINE
3242 This command defines a new AS path access list.
3243
3244 -- Command: no ip as-path access-list WORD
3245 -- Command: no ip as-path access-list WORD {permit|deny} LINE
3246
3247
3248File: quagga.info, Node: Using AS Path in Route Map, Next: Private AS Numbers, Prev: AS Path Access List, Up: Autonomous System
3249
32509.7.4 Using AS Path in Route Map
3251--------------------------------
3252
3253 -- Route Map: match as-path WORD
3254
3255 -- Route Map: set as-path prepend AS-PATH
3256
3257
3258File: quagga.info, Node: Private AS Numbers, Prev: Using AS Path in Route Map, Up: Autonomous System
3259
32609.7.5 Private AS Numbers
3261------------------------
3262
3263
3264File: quagga.info, Node: BGP Communities Attribute, Next: BGP Extended Communities Attribute, Prev: Autonomous System, Up: BGP
3265
32669.8 BGP Communities Attribute
3267=============================
3268
3269BGP communities attribute is widely used for implementing policy
3270routing. Network operators can manipulate BGP communities attribute
3271based on their network policy. BGP communities attribute is defined in
paulaa5943f2005-11-04 21:53:59 +00003272`RFC1997, BGP Communities Attribute' and `RFC1998, An Application of
3273the BGP Community Attribute in Multi-home Routing'. It is an optional
3274transitive attribute, therefore local policy can travel through
3275different autonomous system.
paul56d1d202004-11-15 21:56:53 +00003276
3277 Communities attribute is a set of communities values. Each
3278communities value is 4 octet long. The following format is used to
3279define communities value.
3280
3281`AS:VAL'
3282 This format represents 4 octet communities value. `AS' is high
3283 order 2 octet in digit format. `VAL' is low order 2 octet in
3284 digit format. This format is useful to define AS oriented policy
3285 value. For example, `7675:80' can be used when AS 7675 wants to
3286 pass local policy value 80 to neighboring peer.
3287
3288`internet'
3289 `internet' represents well-known communities value 0.
3290
3291`no-export'
3292 `no-export' represents well-known communities value `NO_EXPORT'
3293 (0xFFFFFF01). All routes carry this value must not be advertised
3294 to outside a BGP confederation boundary. If neighboring BGP peer
3295 is part of BGP confederation, the peer is considered as inside a
3296 BGP confederation boundary, so the route will be announced to the
3297 peer.
3298
3299`no-advertise'
3300 `no-advertise' represents well-known communities value
3301 `NO_ADVERTISE'
3302 (0xFFFFFF02). All routes carry this value must not be advertise
3303 to other BGP peers.
3304
3305`local-AS'
3306 `local-AS' represents well-known communities value
3307 `NO_EXPORT_SUBCONFED' (0xFFFFFF03). All routes carry this value
3308 must not be advertised to external BGP peers. Even if the
3309 neighboring router is part of confederation, it is considered as
3310 external BGP peer, so the route will not be announced to the peer.
3311
3312 When BGP communities attribute is received, duplicated communities
3313value in the communities attribute is ignored and each communities
3314values are sorted in numerical order.
3315
3316* Menu:
3317
3318* BGP Community Lists::
3319* Numbered BGP Community Lists::
3320* BGP Community in Route Map::
3321* Display BGP Routes by Community::
3322* Using BGP Communities Attribute::
3323
3324
3325File: quagga.info, Node: BGP Community Lists, Next: Numbered BGP Community Lists, Up: BGP Communities Attribute
3326
33279.8.1 BGP Community Lists
3328-------------------------
3329
3330BGP community list is a user defined BGP communites attribute list.
3331BGP community list can be used for matching or manipulating BGP
3332communities attribute in updates.
3333
3334 There are two types of community list. One is standard community
3335list and another is expanded community list. Standard community list
3336defines communities attribute. Expanded community list defines
3337communities attribute string with regular expression. Standard
3338community list is compiled into binary format when user define it.
3339Standard community list will be directly compared to BGP communities
3340attribute in BGP updates. Therefore the comparison is faster than
3341expanded community list.
3342
3343 -- Command: ip community-list standard NAME {permit|deny} COMMUNITY
3344 This command defines a new standard community list. COMMUNITY is
3345 communities value. The COMMUNITY is compiled into community
3346 structure. We can define multiple community list under same name.
3347 In that case match will happen user defined order. Once the
3348 community list matches to communities attribute in BGP updates it
3349 return permit or deny by the community list definition. When
3350 there is no matched entry, deny will be returned. When COMMUNITY
3351 is empty it matches to any routes.
3352
3353 -- Command: ip community-list expanded NAME {permit|deny} LINE
3354 This command defines a new expanded community list. LINE is a
3355 string expression of communities attribute. LINE can include
3356 regular expression to match communities attribute in BGP updates.
3357
3358 -- Command: no ip community-list NAME
3359 -- Command: no ip community-list standard NAME
3360 -- Command: no ip community-list expanded NAME
3361 These commands delete community lists specified by NAME. All of
3362 community lists shares a single name space. So community lists
3363 can be removed simpley specifying community lists name.
3364
3365 -- Command: show ip community-list
3366 -- Command: show ip community-list NAME
3367 This command display current community list information. When
3368 NAME is specified the specified community list's information is
3369 shown.
3370
3371 # show ip community-list
3372 Named Community standard list CLIST
3373 permit 7675:80 7675:100 no-export
3374 deny internet
3375 Named Community expanded list EXPAND
3376 permit :
3377
3378 # show ip community-list CLIST
3379 Named Community standard list CLIST
3380 permit 7675:80 7675:100 no-export
3381 deny internet
3382
3383
3384File: quagga.info, Node: Numbered BGP Community Lists, Next: BGP Community in Route Map, Prev: BGP Community Lists, Up: BGP Communities Attribute
3385
33869.8.2 Numbered BGP Community Lists
3387----------------------------------
3388
3389When number is used for BGP community list name, the number has special
3390meanings. Community list number in the range from 1 and 99 is standard
3391community list. Community list number in the range from 100 to 199 is
3392expanded community list. These community lists are called as numbered
3393community lists. On the other hand normal community lists is called as
3394named community lists.
3395
3396 -- Command: ip community-list <1-99> {permit|deny} COMMUNITY
3397 This command defines a new community list. <1-99> is standard
3398 community list number. Community list name within this range
3399 defines standard community list. When COMMUNITY is empty it
3400 matches to any routes.
3401
3402 -- Command: ip community-list <100-199> {permit|deny} COMMUNITY
3403 This command defines a new community list. <100-199> is expanded
3404 community list number. Community list name within this range
3405 defines expanded community list.
3406
3407 -- Command: ip community-list NAME {permit|deny} COMMUNITY
3408 When community list type is not specifed, the community list type
3409 is automatically detected. If COMMUNITY can be compiled into
3410 communities attribute, the community list is defined as a standard
3411 community list. Otherwise it is defined as an expanded community
3412 list. This feature is left for backward compability. Use of this
3413 feature is not recommended.
3414
3415
3416File: quagga.info, Node: BGP Community in Route Map, Next: Display BGP Routes by Community, Prev: Numbered BGP Community Lists, Up: BGP Communities Attribute
3417
34189.8.3 BGP Community in Route Map
3419--------------------------------
3420
3421In Route Map (*note Route Map::), we can match or set BGP communities
3422attribute. Using this feature network operator can implement their
3423network policy based on BGP communities attribute.
3424
3425 Following commands can be used in Route Map.
3426
3427 -- Route Map: match community WORD
3428 -- Route Map: match community WORD exact-match
3429 This command perform match to BGP updates using community list
3430 WORD. When the one of BGP communities value match to the one of
3431 communities value in community list, it is match. When
3432 `exact-match' keyword is spcified, match happen only when BGP
3433 updates have completely same communities value specified in the
3434 community list.
3435
3436 -- Route Map: set community none
3437 -- Route Map: set community COMMUNITY
3438 -- Route Map: set community COMMUNITY additive
3439 This command manipulate communities value in BGP updates. When
3440 `none' is specified as communities value, it removes entire
3441 communities attribute from BGP updates. When COMMUNITY is not
3442 `none', specified communities value is set to BGP updates. If BGP
3443 updates already has BGP communities value, the existing BGP
3444 communities value is replaced with specified COMMUNITY value.
3445 When `additive' keyword is specified, COMMUNITY is appended to the
3446 existing communities value.
3447
3448 -- Route Map: set comm-list WORD delete
3449 This command remove communities value from BGP communities
3450 attribute. The WORD is community list name. When BGP route's
3451 communities value matches to the community list WORD, the
3452 communities value is removed. When all of communities value is
3453 removed eventually, the BGP update's communities attribute is
3454 completely removed.
3455
3456
3457File: quagga.info, Node: Display BGP Routes by Community, Next: Using BGP Communities Attribute, Prev: BGP Community in Route Map, Up: BGP Communities Attribute
3458
34599.8.4 Display BGP Routes by Community
3460-------------------------------------
3461
3462To show BGP routes which has specific BGP communities attribute, `show
3463ip bgp' command can be used. The COMMUNITY value and community list
3464can be used for `show ip bgp' command.
3465
3466 -- Command: show ip bgp community
3467 -- Command: show ip bgp community COMMUNITY
3468 -- Command: show ip bgp community COMMUNITY exact-match
3469 `show ip bgp community' displays BGP routes which has communities
3470 attribute. When COMMUNITY is specified, BGP routes that matches
3471 COMMUNITY value is displayed. For this command, `internet'
3472 keyword can't be used for COMMUNITY value. When `exact-match' is
3473 specified, it display only routes that have an exact match.
3474
3475 -- Command: show ip bgp community-list WORD
3476 -- Command: show ip bgp community-list WORD exact-match
3477 This commands display BGP routes that matches community list WORD.
3478 When `exact-match' is specified, display only routes that have an
3479 exact match.
3480
3481
3482File: quagga.info, Node: Using BGP Communities Attribute, Prev: Display BGP Routes by Community, Up: BGP Communities Attribute
3483
34849.8.5 Using BGP Communities Attribute
3485-------------------------------------
3486
3487Following configuration is the most typical usage of BGP communities
3488attribute. AS 7675 provides upstream Internet connection to AS 100.
3489When following configuration exists in AS 7675, AS 100 networks
3490operator can set local preference in AS 7675 network by setting BGP
3491communities attribute to the updates.
3492
3493 router bgp 7675
3494 neighbor 192.168.0.1 remote-as 100
3495 neighbor 192.168.0.1 route-map RMAP in
3496 !
3497 ip community-list 70 permit 7675:70
3498 ip community-list 70 deny
3499 ip community-list 80 permit 7675:80
3500 ip community-list 80 deny
3501 ip community-list 90 permit 7675:90
3502 ip community-list 90 deny
3503 !
3504 route-map RMAP permit 10
3505 match community 70
3506 set local-preference 70
3507 !
3508 route-map RMAP permit 20
3509 match community 80
3510 set local-preference 80
3511 !
3512 route-map RMAP permit 30
3513 match community 90
3514 set local-preference 90
3515
3516 Following configuration announce 10.0.0.0/8 from AS 100 to AS 7675.
3517The route has communities value 7675:80 so when above configuration
3518exists in AS 7675, announced route's local preference will be set to
3519value 80.
3520
3521 router bgp 100
3522 network 10.0.0.0/8
3523 neighbor 192.168.0.2 remote-as 7675
3524 neighbor 192.168.0.2 route-map RMAP out
3525 !
3526 ip prefix-list PLIST permit 10.0.0.0/8
3527 !
3528 route-map RMAP permit 10
3529 match ip address prefix-list PLIST
3530 set community 7675:80
3531
3532 Following configuration is an example of BGP route filtering using
3533communities attribute. This configuration only permit BGP routes which
3534has BGP communities value 0:80 or 0:90. Network operator can put
3535special internal communities value at BGP border router, then limit the
3536BGP routes announcement into the internal network.
3537
3538 router bgp 7675
3539 neighbor 192.168.0.1 remote-as 100
3540 neighbor 192.168.0.1 route-map RMAP in
3541 !
3542 ip community-list 1 permit 0:80 0:90
3543 !
3544 route-map RMAP permit in
3545 match community 1
3546
3547 Following exmaple filter BGP routes which has communities value 1:1.
3548When there is no match community-list returns deny. To avoid filtering
3549all of routes, we need to define permit any at last.
3550
3551 router bgp 7675
3552 neighbor 192.168.0.1 remote-as 100
3553 neighbor 192.168.0.1 route-map RMAP in
3554 !
3555 ip community-list standard FILTER deny 1:1
3556 ip community-list standard FILTER permit
3557 !
3558 route-map RMAP permit 10
3559 match community FILTER
3560
3561 Communities value keyword `internet' has special meanings in
3562standard community lists. In below example `internet' act as match
3563any. It matches all of BGP routes even if the route does not have
3564communities attribute at all. So community list `INTERNET' is same as
3565above example's `FILTER'.
3566
3567 ip community-list standard INTERNET deny 1:1
3568 ip community-list standard INTERNET permit internet
3569
3570 Following configuration is an example of communities value deletion.
3571With this configuration communities value 100:1 and 100:2 is removed
3572from BGP updates. For communities value deletion, only `permit'
3573community-list is used. `deny' community-list is ignored.
3574
3575 router bgp 7675
3576 neighbor 192.168.0.1 remote-as 100
3577 neighbor 192.168.0.1 route-map RMAP in
3578 !
3579 ip community-list standard DEL permit 100:1 100:2
3580 !
3581 route-map RMAP permit 10
3582 set comm-list DEL delete
3583
3584
3585File: quagga.info, Node: BGP Extended Communities Attribute, Next: Displaying BGP routes, Prev: BGP Communities Attribute, Up: BGP
3586
35879.9 BGP Extended Communities Attribute
3588======================================
3589
3590BGP extended communities attribute is introduced with MPLS VPN/BGP
3591technology. MPLS VPN/BGP expands capability of network infrastructure
3592to provide VPN functionality. At the same time it requires a new
3593framework for policy routing. With BGP Extended Communities Attribute
3594we can use Route Target or Site of Origin for implementing network
3595policy for MPLS VPN/BGP.
3596
3597 BGP Extended Communities Attribute is similar to BGP Communities
3598Attribute. It is an optional transitive attribute. BGP Extended
3599Communities Attribute can carry multiple Extended Community value.
3600Each Extended Community value is eight octet length.
3601
3602 BGP Extended Communities Attribute provides an extended range
3603compared with BGP Communities Attribute. Adding to that there is a
3604type field in each value to provides community space structure.
3605
3606 There are two format to define Extended Community value. One is AS
3607based format the other is IP address based format.
3608
3609`AS:VAL'
3610 This is a format to define AS based Extended Community value.
3611 `AS' part is 2 octets Global Administrator subfield in Extended
3612 Community value. `VAL' part is 4 octets Local Administrator
3613 subfield. `7675:100' represents AS 7675 policy value 100.
3614
3615`IP-Address:VAL'
3616 This is a format to define IP address based Extended Community
3617 value. `IP-Address' part is 4 octets Global Administrator
3618 subfield. `VAL' part is 2 octets Local Administrator subfield.
3619 `10.0.0.1:100' represents
3620
3621* Menu:
3622
3623* BGP Extended Community Lists::
3624* BGP Extended Communities in Route Map::
3625
3626
3627File: quagga.info, Node: BGP Extended Community Lists, Next: BGP Extended Communities in Route Map, Up: BGP Extended Communities Attribute
3628
36299.9.1 BGP Extended Community Lists
3630----------------------------------
3631
3632Expanded Community Lists is a user defined BGP Expanded Community Lists.
3633
3634 -- Command: ip extcommunity-list standard NAME {permit|deny}
3635EXTCOMMUNITY
3636 This command defines a new standard extcommunity-list.
3637 EXTCOMMUNITY is extended communities value. The EXTCOMMUNITY is
3638 compiled into extended community structure. We can define
3639 multiple extcommunity-list under same name. In that case match
3640 will happen user defined order. Once the extcommunity-list
3641 matches to extended communities attribute in BGP updates it return
3642 permit or deny based upon the extcommunity-list definition. When
3643 there is no matched entry, deny will be returned. When
3644 EXTCOMMUNITY is empty it matches to any routes.
3645
3646 -- Command: ip extcommunity-list expanded NAME {permit|deny} LINE
3647 This command defines a new expanded extcommunity-list. LINE is a
3648 string expression of extended communities attribute. LINE can
3649 include regular expression to match extended communities attribute
3650 in BGP updates.
3651
3652 -- Command: no ip extcommunity-list NAME
3653 -- Command: no ip extcommunity-list standard NAME
3654 -- Command: no ip extcommunity-list expanded NAME
3655 These commands delete extended community lists specified by NAME.
3656 All of extended community lists shares a single name space. So
3657 extended community lists can be removed simpley specifying the
3658 name.
3659
3660 -- Command: show ip extcommunity-list
3661 -- Command: show ip extcommunity-list NAME
3662 This command display current extcommunity-list information. When
3663 NAME is specified the community list's information is shown.
3664
3665 # show ip extcommunity-list
3666
3667
3668File: quagga.info, Node: BGP Extended Communities in Route Map, Prev: BGP Extended Community Lists, Up: BGP Extended Communities Attribute
3669
36709.9.2 BGP Extended Communities in Route Map
3671-------------------------------------------
3672
3673 -- Route Map: match extcommunity WORD
3674
3675 -- Route Map: set extcommunity rt EXTCOMMUNITY
3676 This command set Route Target value.
3677
3678 -- Route Map: set extcommunity soo EXTCOMMUNITY
3679 This command set Site of Origin value.
3680
3681
3682File: quagga.info, Node: Displaying BGP routes, Next: Capability Negotiation, Prev: BGP Extended Communities Attribute, Up: BGP
3683
36849.10 Displaying BGP Routes
3685==========================
3686
3687* Menu:
3688
3689* Show IP BGP::
3690* More Show IP BGP::
3691
3692
3693File: quagga.info, Node: Show IP BGP, Next: More Show IP BGP, Up: Displaying BGP routes
3694
36959.10.1 Show IP BGP
3696------------------
3697
3698 -- Command: show ip bgp
3699 -- Command: show ip bgp A.B.C.D
3700 -- Command: show ip bgp X:X::X:X
3701 This command displays BGP routes. When no route is specified it
3702 display all of IPv4 BGP routes.
3703
3704 BGP table version is 0, local router ID is 10.1.1.1
3705 Status codes: s suppressed, d damped, h history, * valid, > best, i - internal
3706 Origin codes: i - IGP, e - EGP, ? - incomplete
3707
3708 Network Next Hop Metric LocPrf Weight Path
3709 *> 1.1.1.1/32 0.0.0.0 0 32768 i
3710
3711 Total number of prefixes 1
3712
3713
3714File: quagga.info, Node: More Show IP BGP, Prev: Show IP BGP, Up: Displaying BGP routes
3715
37169.10.2 More Show IP BGP
3717-----------------------
3718
3719 -- Command: show ip bgp regexp LINE
3720 This command display BGP routes using AS path regular expression
3721 (*note Display BGP Routes by AS Path::).
3722
3723 -- Command: show ip bgp community COMMUNITY
3724 -- Command: show ip bgp community COMMUNITY exact-match
3725 This command display BGP routes using COMMUNITY (*note Display BGP
3726 Routes by Community::).
3727
3728 -- Command: show ip bgp community-list WORD
3729 -- Command: show ip bgp community-list WORD exact-match
3730 This command display BGP routes using community list (*note
3731 Display BGP Routes by Community::).
3732
3733 -- Command: show ip bgp summary
3734
3735 -- Command: show ip bgp neighbor [PEER]
3736
3737 -- Command: clear ip bgp PEER
3738 Clear peers which have addresses of X.X.X.X
3739
3740 -- Command: clear ip bgp PEER soft in
3741 Clear peer using soft reconfiguration.
3742
3743 -- Command: show debug
3744
3745 -- Command: debug event
3746
3747 -- Command: debug update
3748
3749 -- Command: debug keepalive
3750
3751 -- Command: no debug event
3752
3753 -- Command: no debug update
3754
3755 -- Command: no debug keepalive
3756
3757
3758File: quagga.info, Node: Capability Negotiation, Next: Route Reflector, Prev: Displaying BGP routes, Up: BGP
3759
37609.11 Capability Negotiation
3761===========================
3762
3763When adding IPv6 routing information exchange feature to BGP. There
paulaa5943f2005-11-04 21:53:59 +00003764were some proposals. IETF (Internet Engineering Task Force) IDR (Inter
3765Domain Routing) WG (Working group) adopted a proposal called
3766Multiprotocol Extension for BGP. The specification is described in
3767`RFC2283'. The protocol does not define new protocols. It defines new
3768attributes to existing BGP. When it is used exchanging IPv6 routing
3769information it is called BGP-4+. When it is used for exchanging
3770multicast routing information it is called MBGP.
paul56d1d202004-11-15 21:56:53 +00003771
3772 `bgpd' supports Multiprotocol Extension for BGP. So if remote peer
paulaa5943f2005-11-04 21:53:59 +00003773supports the protocol, `bgpd' can exchange IPv6 and/or multicast
3774routing information.
paul56d1d202004-11-15 21:56:53 +00003775
paulaa5943f2005-11-04 21:53:59 +00003776 Traditional BGP did not have the feature to detect remote peer's
3777capabilities, e.g. whether it can handle prefix types other than IPv4
3778unicast routes. This was a big problem using Multiprotocol Extension
3779for BGP to operational network. `RFC2842, Capabilities Advertisement
3780with BGP-4' adopted a feature called Capability Negotiation. `bgpd' use
3781this Capability Negotiation to detect the remote peer's capabilities.
3782If the peer is only configured as IPv4 unicast neighbor, `bgpd' does
3783not send these Capability Negotiation packets (at least not unless
3784other optional BGP features require capability negotation).
paul56d1d202004-11-15 21:56:53 +00003785
3786 By default, Quagga will bring up peering with minimal common
3787capability for the both sides. For example, local router has unicast
3788and multicast capabilitie and remote router has unicast capability. In
3789this case, the local router will establish the connection with unicast
paulaa5943f2005-11-04 21:53:59 +00003790only capability. When there are no common capabilities, Quagga sends
paul56d1d202004-11-15 21:56:53 +00003791Unsupported Capability error and then resets the connection.
3792
3793 If you want to completely match capabilities with remote peer.
3794Please use `strict-capability-match' command.
3795
3796 -- BGP: neighbor PEER strict-capability-match
3797 -- BGP: no neighbor PEER strict-capability-match
3798 Strictly compares remote capabilities and local capabilities. If
3799 capabilities are different, send Unsupported Capability error then
3800 reset connection.
3801
3802 You may want to disable sending Capability Negotiation OPEN message
3803optional parameter to the peer when remote peer does not implement
3804Capability Negotiation. Please use `dont-capability-negotiate' command
3805to disable the feature.
3806
3807 -- BGP: neighbor PEER dont-capability-negotiate
3808 -- BGP: no neighbor PEER dont-capability-negotiate
3809 Suppress sending Capability Negotiation as OPEN message optional
3810 parameter to the peer. This command only affects the peer is
3811 configured other than IPv4 unicast configuration.
3812
3813 When remote peer does not have capability negotiation feature, remote
3814peer will not send any capabilities at all. In that case, bgp
3815configures the peer with configured capabilities.
3816
3817 You may prefer locally configured capabilities more than the
3818negotiated capabilities even though remote peer sends capabilities. If
paulaa5943f2005-11-04 21:53:59 +00003819the peer is configured by `override-capability', `bgpd' ignores
3820received capabilities then override negotiated capabilities with
3821configured values.
paul56d1d202004-11-15 21:56:53 +00003822
3823 -- BGP: neighbor PEER override-capability
3824 -- BGP: no neighbor PEER override-capability
3825 Override the result of Capability Negotiation with local
3826 configuration. Ignore remote peer's capability value.
3827
3828
3829File: quagga.info, Node: Route Reflector, Next: Route Server, Prev: Capability Negotiation, Up: BGP
3830
38319.12 Route Reflector
3832====================
3833
3834 -- BGP: bgp cluster-id A.B.C.D
3835
3836 -- BGP: neighbor PEER route-reflector-client
3837 -- BGP: no neighbor PEER route-reflector-client
3838
3839
3840File: quagga.info, Node: Route Server, Next: How to set up a 6-Bone connection, Prev: Route Reflector, Up: BGP
3841
38429.13 Route Server
3843=================
3844
3845At an Internet Exchange point, many ISPs are connected to each other by
3846external BGP peering. Normally these external BGP connection are done
3847by `full mesh' method. As with internal BGP full mesh formation, this
3848method has a scaling problem.
3849
3850 This scaling problem is well known. Route Server is a method to
3851resolve the problem. Each ISP's BGP router only peers to Route Server.
3852Route Server serves as BGP information exchange to other BGP routers.
3853By applying this method, numbers of BGP connections is reduced from
3854O(n*(n-1)/2) to O(n).
3855
3856 Unlike normal BGP router, Route Server must have several routing
3857tables for managing different routing policies for each BGP speaker.
3858We call the routing tables as different `view's. `bgpd' can work as
3859normal BGP router or Route Server or both at the same time.
3860
3861* Menu:
3862
3863* Multiple instance::
3864* BGP instance and view::
3865* Routing policy::
3866* Viewing the view::
3867
3868
3869File: quagga.info, Node: Multiple instance, Next: BGP instance and view, Up: Route Server
3870
38719.13.1 Multiple instance
3872------------------------
3873
3874To enable multiple view function of `bgpd', you must turn on multiple
3875instance feature beforehand.
3876
3877 -- Command: bgp multiple-instance
3878 Enable BGP multiple instance feature. After this feature is
3879 enabled, you can make multiple BGP instances or multiple BGP views.
3880
3881 -- Command: no bgp multiple-instance
3882 Disable BGP multiple instance feature. You can not disable this
3883 feature when BGP multiple instances or views exist.
3884
3885 When you want to make configuration more Cisco like one,
3886
3887 -- Command: bgp config-type cisco
3888 Cisco compatible BGP configuration output.
3889
3890 When bgp config-type cisco is specified,
3891
3892 "no synchronization" is displayed. "no auto-summary" is desplayed.
3893
3894 "network" and "aggregate-address" argument is displayed as "A.B.C.D
3895M.M.M.M"
3896
3897 Quagga: network 10.0.0.0/8 Cisco: network 10.0.0.0
3898
3899 Quagga: aggregate-address 192.168.0.0/24 Cisco: aggregate-address
3900192.168.0.0 255.255.255.0
3901
3902 Community attribute handling is also different. If there is no
3903configuration is specified community attribute and extended community
3904attribute are sent to neighbor. When user manually disable the feature
paulaa5943f2005-11-04 21:53:59 +00003905community attribute is not sent to the neighbor. In case of `bgp
3906config-type cisco' is specified, community attribute is not sent to the
paul56d1d202004-11-15 21:56:53 +00003907neighbor by default. To send community attribute user has to specify
paulaa5943f2005-11-04 21:53:59 +00003908`neighbor A.B.C.D send-community' command.
paul56d1d202004-11-15 21:56:53 +00003909
paulaa5943f2005-11-04 21:53:59 +00003910 !
3911 router bgp 1
3912 neighbor 10.0.0.1 remote-as 1
3913 no neighbor 10.0.0.1 send-community
3914 !
3915 router bgp 1
3916 neighbor 10.0.0.1 remote-as 1
3917 neighbor 10.0.0.1 send-community
3918 !
paul56d1d202004-11-15 21:56:53 +00003919
3920 -- Command: bgp config-type zebra
3921 Quagga style BGP configuration. This is default.
3922
3923
3924File: quagga.info, Node: BGP instance and view, Next: Routing policy, Prev: Multiple instance, Up: Route Server
3925
39269.13.2 BGP instance and view
3927----------------------------
3928
3929BGP instance is a normal BGP process. The result of route selection
3930goes to the kernel routing table. You can setup different AS at the
3931same time when BGP multiple instance feature is enabled.
3932
3933 -- Command: router bgp AS-NUMBER
3934 Make a new BGP instance. You can use arbitrary word for the NAME.
3935
3936 bgp multiple-instance
3937 !
3938 router bgp 1
3939 neighbor 10.0.0.1 remote-as 2
3940 neighbor 10.0.0.2 remote-as 3
3941 !
3942 router bgp 2
3943 neighbor 10.0.0.3 remote-as 4
3944 neighbor 10.0.0.4 remote-as 5
3945
3946 BGP view is almost same as normal BGP process. The result of route
3947selection does not go to the kernel routing table. BGP view is only
3948for exchanging BGP routing information.
3949
3950 -- Command: router bgp AS-NUMBER view NAME
3951 Make a new BGP view. You can use arbitrary word for the NAME.
3952 This view's route selection result does not go to the kernel
3953 routing table.
3954
3955 With this command, you can setup Route Server like below.
3956
3957 bgp multiple-instance
3958 !
3959 router bgp 1 view 1
3960 neighbor 10.0.0.1 remote-as 2
3961 neighbor 10.0.0.2 remote-as 3
3962 !
3963 router bgp 2 view 2
3964 neighbor 10.0.0.3 remote-as 4
3965 neighbor 10.0.0.4 remote-as 5
3966
3967
3968File: quagga.info, Node: Routing policy, Next: Viewing the view, Prev: BGP instance and view, Up: Route Server
3969
39709.13.3 Routing policy
3971---------------------
3972
3973You can set different routing policy for a peer. For example, you can
3974set different filter for a peer.
3975
3976 bgp multiple-instance
3977 !
3978 router bgp 1 view 1
3979 neighbor 10.0.0.1 remote-as 2
3980 neighbor 10.0.0.1 distribute-list 1 in
3981 !
3982 router bgp 1 view 2
3983 neighbor 10.0.0.1 remote-as 2
3984 neighbor 10.0.0.1 distribute-list 2 in
3985
3986 This means BGP update from a peer 10.0.0.1 goes to both BGP view 1
3987and view 2. When the update is inserted into view 1, distribute-list 1
3988is applied. On the other hand, when the update is inserted into view 2,
3989distribute-list 2 is applied.
3990
3991
3992File: quagga.info, Node: Viewing the view, Prev: Routing policy, Up: Route Server
3993
39949.13.4 Viewing the view
3995-----------------------
3996
3997To display routing table of BGP view, you must specify view name.
3998
3999 -- Command: show ip bgp view NAME
4000 Display routing table of BGP view NAME.
4001
4002
4003File: quagga.info, Node: How to set up a 6-Bone connection, Next: Dump BGP packets and table, Prev: Route Server, Up: BGP
4004
40059.14 How to set up a 6-Bone connection
4006======================================
4007
4008 zebra configuration
4009 ===================
4010 !
4011 ! Actually there is no need to configure zebra
4012 !
4013
4014 bgpd configuration
4015 ==================
4016 !
4017 ! This means that routes go through zebra and into the kernel.
4018 !
4019 router zebra
4020 !
4021 ! MP-BGP configuration
4022 !
4023 router bgp 7675
4024 bgp router-id 10.0.0.1
4025 neighbor 3ffe:1cfa:0:2:2a0:c9ff:fe9e:f56 remote-as AS-NUMBER
4026 !
4027 address-family ipv6
4028 network 3ffe:506::/32
4029 neighbor 3ffe:1cfa:0:2:2a0:c9ff:fe9e:f56 activate
4030 neighbor 3ffe:1cfa:0:2:2a0:c9ff:fe9e:f56 route-map set-nexthop out
4031 neighbor 3ffe:1cfa:0:2:2c0:4fff:fe68:a231 remote-as AS-NUMBER
4032 neighbor 3ffe:1cfa:0:2:2c0:4fff:fe68:a231 route-map set-nexthop out
4033 exit-address-family
4034 !
4035 ipv6 access-list all permit any
4036 !
4037 ! Set output nexthop address.
4038 !
4039 route-map set-nexthop permit 10
4040 match ipv6 address all
4041 set ipv6 nexthop global 3ffe:1cfa:0:2:2c0:4fff:fe68:a225
4042 set ipv6 nexthop local fe80::2c0:4fff:fe68:a225
4043 !
4044 ! logfile FILENAME is obsolete. Please use log file FILENAME
4045
4046 log file bgpd.log
4047 !
4048
4049
paulaa5943f2005-11-04 21:53:59 +00004050File: quagga.info, Node: Dump BGP packets and table, Next: BGP Configuration Examples, Prev: How to set up a 6-Bone connection, Up: BGP
paul56d1d202004-11-15 21:56:53 +00004051
40529.15 Dump BGP packets and table
4053===============================
4054
4055 -- Command: dump bgp all PATH
4056 -- Command: dump bgp all PATH INTERVAL
4057 Dump all BGP packet and events to PATH file.
4058
4059 -- Command: dump bgp updates PATH
4060 -- Command: dump bgp updates PATH INTERVAL
4061 Dump BGP updates to PATH file.
4062
4063 -- Command: dump bgp routes PATH
4064 -- Command: dump bgp routes PATH
4065 Dump whole BGP routing table to PATH. This is heavy process.
4066
4067
paulaa5943f2005-11-04 21:53:59 +00004068File: quagga.info, Node: BGP Configuration Examples, Prev: Dump BGP packets and table, Up: BGP
4069
40709.16 BGP Configuration Examples
4071===============================
4072
4073Example of a session to an upstream, advertising only one prefix to it.
4074
4075 router bgp 64512
4076 bgp router-id 10.236.87.1
4077 network 10.236.87.0/24
4078 neighbor upstream peer-group
4079 neighbor upstream remote-as 64515
4080 neighbor upstream capability dynamic
4081 neighbor upstream prefix-list pl-allowed-adv out
4082 neighbor 10.1.1.1 peer-group upstream
4083 neighbor 10.1.1.1 description ACME ISP
4084 !
4085 ip prefix-list pl-allowed-adv seq 5 permit 82.195.133.0/25
4086 ip prefix-list pl-allowed-adv seq 10 deny any
4087
4088 A more complex example. With upstream, peer and customer sessions.
4089Advertising global prefixes and NO_EXPORT prefixes and providing
4090actions for customer routes based on community values. Extensive use of
4091route-maps and the 'call' feature to support selective advertising of
4092prefixes. This example is intended as guidance only, it has NOT been
4093tested and almost certainly containts silly mistakes, if not serious
4094flaws.
4095
4096 router bgp 64512
4097 bgp router-id 10.236.87.1
4098 network 10.123.456.0/24
4099 network 10.123.456.128/25 route-map rm-no-export
4100 neighbor upstream capability dynamic
4101 neighbor upstream route-map rm-upstream-out out
4102 neighbor cust capability dynamic
4103 neighbor cust route-map rm-cust-in in
4104 neighbor cust route-map rm-cust-out out
4105 neighbor cust send-community both
4106 neighbor peer capability dynamic
4107 neighbor peer route-map rm-peer-in in
4108 neighbor peer route-map rm-peer-out out
4109 neighbor peer send-community both
4110 neighbor 10.1.1.1 remote-as 64515
4111 neighbor 10.1.1.1 peer-group upstream
4112 neighbor 10.2.1.1 remote-as 64516
4113 neighbor 10.2.1.1 peer-group upstream
4114 neighbor 10.3.1.1 remote-as 64517
4115 neighbor 10.3.1.1 peer-group cust-default
4116 neighbor 10.3.1.1 description customer1
4117 neighbor 10.3.1.1 prefix-list pl-cust1-network in
4118 neighbor 10.4.1.1 remote-as 64518
4119 neighbor 10.4.1.1 peer-group cust
4120 neighbor 10.4.1.1 prefix-list pl-cust2-network in
4121 neighbor 10.4.1.1 description customer2
4122 neighbor 10.5.1.1 remote-as 64519
4123 neighbor 10.5.1.1 peer-group peer
4124 neighbor 10.5.1.1 prefix-list pl-peer1-network in
4125 neighbor 10.5.1.1 description peer AS 1
4126 neighbor 10.6.1.1 remote-as 64520
4127 neighbor 10.6.1.1 peer-group peer
4128 neighbor 10.6.1.1 prefix-list pl-peer2-network in
4129 neighbor 10.6.1.1 description peer AS 2
4130 !
4131 ip prefix-list pl-default permit 0.0.0.0/0
4132 !
4133 ip prefix-list pl-upstream-peers permit 10.1.1.1/32
4134 ip prefix-list pl-upstream-peers permit 10.2.1.1/32
4135 !
4136 ip prefix-list pl-cust1-network permit 10.3.1.0/24
4137 ip prefix-list pl-cust1-network permit 10.3.2.0/24
4138 !
4139 ip prefix-list pl-cust2-network permit 10.4.1.0/24
4140 !
4141 ip prefix-list pl-peer1-network permit 10.5.1.0/24
4142 ip prefix-list pl-peer1-network permit 10.5.2.0/24
4143 ip prefix-list pl-peer1-network permit 192.168.0.0/24
4144 !
4145 ip prefix-list pl-peer2-network permit 10.6.1.0/24
4146 ip prefix-list pl-peer2-network permit 10.6.2.0/24
4147 ip prefix-list pl-peer2-network permit 192.168.1.0/24
4148 ip prefix-list pl-peer2-network permit 192.168.2.0/24
4149 ip prefix-list pl-peer2-network permit 172.16.1/24
4150 !
4151 ip as-path access-list asp-own-as permit ^$
4152 ip as-path access-list asp-own-as permit _64512_
4153 !
4154 ! #################################################################
4155 ! Match communities we provide actions for, on routes receives from
4156 ! customers. Communities values of <our-ASN>:X, with X, have actions:
4157 !
4158 ! 100 - blackhole the prefix
4159 ! 200 - set no_export
4160 ! 300 - advertise only to other customers
4161 ! 400 - advertise only to upstreams
4162 ! 500 - set no_export when advertising to upstreams
4163 ! 2X00 - set local_preference to X00
4164 !
4165 ! blackhole the prefix of the route
4166 ip community-list standard cm-blackhole permit 64512:100
4167 !
4168 ! set no-export community before advertising
4169 ip community-list standard cm-set-no-export permit 64512:200
4170 !
4171 ! advertise only to other customers
4172 ip community-list standard cm-cust-only permit 64512:300
4173 !
4174 ! advertise only to upstreams
4175 ip community-list standard cm-upstream-only permit 64512:400
4176 !
4177 ! advertise to upstreams with no-export
4178 ip community-list standard cm-upstream-noexport permit 64512:500
4179 !
4180 ! set local-pref to least significant 3 digits of the community
4181 ip community-list standard cm-prefmod-100 permit 64512:2100
4182 ip community-list standard cm-prefmod-200 permit 64512:2200
4183 ip community-list standard cm-prefmod-300 permit 64512:2300
4184 ip community-list standard cm-prefmod-400 permit 64512:2400
4185 ip community-list expanded cme-prefmod-range permit 64512:2...
4186 !
4187 ! Informational communities
4188 !
4189 ! 3000 - learned from upstream
4190 ! 3100 - learned from customer
4191 ! 3200 - learned from peer
4192 !
4193 ip community-list standard cm-learnt-upstream permit 64512:3000
4194 ip community-list standard cm-learnt-cust permit 64512:3100
4195 ip community-list standard cm-learnt-peer permit 64512:3200
4196 !
4197 ! ###################################################################
4198 ! Utility route-maps
4199 !
4200 ! These utility route-maps generally should not used to permit/deny
4201 ! routes, i.e. they do not have meaning as filters, and hence probably
4202 ! should be used with 'on-match next'. These all finish with an empty
4203 ! permit entry so as not interfere with processing in the caller.
4204 !
4205 route-map rm-no-export permit 10
4206 set community additive no-export
4207 route-map rm-no-export permit 20
4208 !
4209 route-map rm-blackhole permit 10
4210 description blackhole, up-pref and ensure it cant escape this AS
4211 set ip next-hop 127.0.0.1
4212 set local-preference 10
4213 set community additive no-export
4214 route-map rm-blackhole permit 20
4215 !
4216 ! Set local-pref as requested
4217 route-map rm-prefmod permit 10
4218 match community cm-prefmod-100
4219 set local-preference 100
4220 route-map rm-prefmod permit 20
4221 match community cm-prefmod-200
4222 set local-preference 200
4223 route-map rm-prefmod permit 30
4224 match community cm-prefmod-300
4225 set local-preference 300
4226 route-map rm-prefmod permit 40
4227 match community cm-prefmod-400
4228 set local-preference 400
4229 route-map rm-prefmod permit 50
4230 !
4231 ! Community actions to take on receipt of route.
4232 route-map rm-community-in permit 10
4233 description check for blackholing, no point continuing if it matches.
4234 match community cm-blackhole
4235 call rm-blackhole
4236 route-map rm-community-in permit 20
4237 match community cm-set-no-export
4238 call rm-no-export
4239 on-match next
4240 route-map rm-community-in permit 30
4241 match community cme-prefmod-range
4242 call rm-prefmod
4243 route-map rm-community-in permit 40
4244 !
4245 ! #####################################################################
4246 ! Community actions to take when advertising a route.
4247 ! These are filtering route-maps,
4248 !
4249 ! Deny customer routes to upstream with cust-only set.
4250 route-map rm-community-filt-to-upstream deny 10
4251 match community cm-learnt-cust
4252 match community cm-cust-only
4253 route-map rm-community-filt-to-upstream permit 20
4254 !
4255 ! Deny customer routes to other customers with upstream-only set.
4256 route-map rm-community-filt-to-cust deny 10
4257 match community cm-learnt-cust
4258 match community cm-upstream-only
4259 route-map rm-community-filt-to-cust permit 20
4260 !
4261 ! ###################################################################
4262 ! The top-level route-maps applied to sessions. Further entries could
4263 ! be added obviously..
4264 !
4265 ! Customers
4266 route-map rm-cust-in permit 10
4267 call rm-community-in
4268 on-match next
4269 route-map rm-cust-in permit 20
4270 set community additive 64512:3100
4271 route-map rm-cust-in permit 30
4272 !
4273 route-map rm-cust-out permit 10
4274 call rm-community-filt-to-cust
4275 on-match next
4276 route-map rm-cust-out permit 20
4277 !
4278 ! Upstream transit ASes
4279 route-map rm-upstream-out permit 10
4280 description filter customer prefixes which are marked cust-only
4281 call rm-community-filt-to-upstream
4282 on-match next
4283 route-map rm-upstream-out permit 20
4284 description only customer routes are provided to upstreams/peers
4285 match community cm-learnt-cust
4286 !
4287 ! Peer ASes
4288 ! outbound policy is same as for upstream
4289 route-map rm-peer-out permit 10
4290 call rm-upstream-out
4291 !
4292 route-map rm-peer-in permit 10
4293 set community additive 64512:3200
4294
4295
paul56d1d202004-11-15 21:56:53 +00004296File: quagga.info, Node: Configuring Quagga as a Route Server, Next: VTY shell, Prev: BGP, Up: Top
4297
429810 Configuring Quagga as a Route Server
4299***************************************
4300
4301The purpose of a Route Server is to centralize the peerings between BGP
4302speakers. For example if we have an exchange point scenario with four
4303BGP speakers, each of which maintaining a BGP peering with the other
4304three (*note fig:full-mesh::), we can convert it into a centralized
4305scenario where each of the four establishes a single BGP peering
4306against the Route Server (*note fig:route-server::).
4307
4308 We will first describe briefly the Route Server model implemented by
4309Quagga. We will explain the commands that have been added for
4310configuring that model. And finally we will show a full example of
4311Quagga configured as Route Server.
4312
4313* Menu:
4314
4315* Description of the Route Server model::
4316* Commands for configuring a Route Server::
4317* Example of Route Server Configuration::
4318
4319
4320File: quagga.info, Node: Description of the Route Server model, Next: Commands for configuring a Route Server, Up: Configuring Quagga as a Route Server
4321
432210.1 Description of the Route Server model
4323==========================================
4324
4325First we are going to describe the normal processing that BGP
4326announcements suffer inside a standard BGP speaker, as shown in *Note
4327fig:normal-processing::, it consists of three steps:
4328
4329 * When an announcement is received from some peer, the `In' filters
4330 configured for that peer are applied to the announcement. These
4331 filters can reject the announcement, accept it unmodified, or
4332 accept it with some of its attributes modified.
4333
4334 * The announcements that pass the `In' filters go into the Best Path
4335 Selection process, where they are compared to other announcements
4336 referred to the same destination that have been received from
4337 different peers (in case such other announcements exist). For each
4338 different destination, the announcement which is selected as the
4339 best is inserted into the BGP speaker's Loc-RIB.
4340
4341 * The routes which are inserted in the Loc-RIB are considered for
4342 announcement to all the peers (except the one from which the route
4343 came). This is done by passing the routes in the Loc-RIB through
4344 the `Out' filters corresponding to each peer. These filters can
4345 reject the route, accept it unmodified, or accept it with some of
4346 its attributes modified. Those routes which are accepted by the
4347 `Out' filters of a peer are announced to that peer.
4348
paul56d1d202004-11-15 21:56:53 +00004349
Paul Jakmaf371b1f2006-05-10 19:53:58 +00004350 _______________________________
4351 / _________ _________ \
4352From Peer A --->|(A)-|Best | | |-[A]|--->To Peer A
4353From Peer B --->|(B)-|Path |-->|Local-RIB|-[B]|--->To Peer B
4354From Peer C --->|(C)-|Selection| | |-[C]|--->To Peer C
4355From Peer D --->|(D)-|_________| |_________|-[D]|--->To Peer D
4356 \_______________________________/
paul56d1d202004-11-15 21:56:53 +00004357
Paul Jakmaf371b1f2006-05-10 19:53:58 +00004358Key: (X) - 'In' Filter applied to Peer X's announcements
4359 [X] - 'Out' Filter applied to announcements to Peer X
4360
4361Figure 10.1: Announcement processing inside a "normal" BGP speaker
4362
4363(RF1)--(RF2)
4364 | \ / |
4365 | \/ |
4366 | /\ |
4367 | / \ |
4368(RF3)--(RF4)
4369
4370Figure 10.2: Full Mesh
4371
4372(RF1) (RF2)
4373 \ /
4374 [RS]
4375 / \
4376(RF3) (RF4)
4377
4378Figure 10.3: Route Server and clients
paul56d1d202004-11-15 21:56:53 +00004379
4380 Of course we want that the routing tables obtained in each of the
4381routers are the same when using the route server than when not. But as
4382a consequence of having a single BGP peering (against the route
4383server), the BGP speakers can no longer distinguish from/to which peer
4384each announce comes/goes. This means that the routers connected to the
4385route server are not able to apply by themselves the same input/output
4386filters as in the full mesh scenario, so they have to delegate those
4387functions to the route server.
4388
4389 Even more, the "best path" selection must be also performed inside
4390the route server on behalf of its clients. The reason is that if, after
4391applying the filters of the announcer and the (potential) receiver, the
4392route server decides to send to some client two or more different
4393announcements referred to the same destination, the client will only
4394retain the last one, considering it as an implicit withdrawal of the
4395previous announcements for the same destination. This is the expected
4396behavior of a BGP speaker as defined in `RFC1771', and even though
4397there are some proposals of mechanisms that permit multiple paths for
Paul Jakmaf371b1f2006-05-10 19:53:58 +00004398the same destination to be sent through a single BGP peering, none are
4399currently supported by most existing BGP implementations.
paul56d1d202004-11-15 21:56:53 +00004400
4401 As a consequence a route server must maintain additional information
4402and perform additional tasks for a RS-client that those necessary for
4403common BGP peerings. Essentially a route server must:
4404
4405 * Maintain a separated Routing Information Base (Loc-RIB) for each
4406 peer configured as RS-client, containing the routes selected as a
4407 result of the "Best Path Selection" process that is performed on
4408 behalf of that RS-client.
4409
4410 * Whenever it receives an announcement from a RS-client, it must
4411 consider it for the Loc-RIBs of the other RS-clients.
4412
4413 * This means that for each of them the route server must pass
4414 the announcement through the appropriate `Out' filter of the
4415 announcer.
4416
4417 * Then through the appropriate `In' filter of the potential
4418 receiver.
4419
4420 * Only if the announcement is accepted by both filters it will
4421 be passed to the "Best Path Selection" process.
4422
4423 * Finally, it might go into the Loc-RIB of the receiver.
4424
4425 When we talk about the "appropriate" filter, both the announcer and
4426the receiver of the route must be taken into account. Suppose that the
4427route server receives an announcement from client A, and the route
4428server is considering it for the Loc-RIB of client B. The filters that
4429should be applied are the same that would be used in the full mesh
4430scenario, i.e., first the `Out' filter of router A for announcements
4431going to router B, and then the `In' filter of router B for
4432announcements coming from router A.
4433
4434 We call "Export Policy" of a RS-client to the set of `Out' filters
4435that the client would use if there was no route server. The same
4436applies for the "Import Policy" of a RS-client and the set of `In'
4437filters of the client if there was no route server.
4438
4439 It is also common to demand from a route server that it does not
4440modify some BGP attributes (next-hop, as-path and MED) that are usually
4441modified by standard BGP speakers before announcing a route.
4442
4443 The announcement processing model implemented by Quagga is shown in
4444*Note fig:rs-processing::. The figure shows a mixture of RS-clients (B,
4445C and D) with normal BGP peers (A). There are some details that worth
4446additional comments:
4447
4448 * Announcements coming from a normal BGP peer are also considered
4449 for the Loc-RIBs of all the RS-clients. But logically they do not
4450 pass through any export policy.
4451
4452 * Those peers that are configured as RS-clients do not receive any
4453 announce from the `Main' Loc-RIB.
4454
4455 * Apart from import and export policies, `In' and `Out' filters can
4456 also be set for RS-clients. `In' filters might be useful when the
4457 route server has also normal BGP peers. On the other hand, `Out'
4458 filters for RS-clients are probably unnecessary, but we decided
4459 not to remove them as they do not hurt anybody (they can always be
4460 left empty).
4461
Paul Jakmaf371b1f2006-05-10 19:53:58 +00004462�[image src="fig-rs-processing.png" alt="Route Server Processing Model" text="From Peer A
4463 | From RS-Client B
4464 | | From RS-Client C
4465 | | | From RS-Client D
4466 | | | |
4467 | | | | Main / Normal RIB
4468 | | | | ________________________________
4469 | | | | / _________ _________ \\
4470 | | | +--->|(D)-|Best | | Main | |
4471 | | +--|--->|(C)-|Path |-->|Local-RIB|->[A]|--->To Peer A
4472 | +--|--|--->|(B)-|Selection| | | |
4473 +--|--|--|--->|(A)-|_________| |_________| |
4474 | | | | \\________________________________/
4475 | | | |
4476 | | | | ________________________________
4477 | | | | / _________ _________ \\
4478 | | | +--->*D*->|{B}-|Best | |RS-Client| |
4479 | | +--|--->*C*->|{B}-|Path |-->|Local-RIB|->[B]|--->To RS-Client B
4480 | | | | | |Selection| | for B | |
4481 +--|--|--|-------->|{B}-|_________| |_________| |
4482 | | | | \\________________________________/
4483 | | | |
4484 | | | | ________________________________
4485 | | | | / _________ _________ \\
4486 | | | +--->*D*->|{C}-|Best | |RS-Client| |
4487 | | | | | |Path |-->|Local-RIB|->[C]|--->To RS-Client C
4488 | +--|--|--->*B*->|{C}-|Selection| | for C | |
4489 +--|--|--|-------->|{C}-|_________| |_________| |
4490 | | | \\________________________________/
4491 | | |
4492 | | | ________________________________
4493 | | | / _________ _________ \\
4494 | | | | |Best | |RS-Client| |
4495 | | +------>*C*->|{D}-|Path |-->|Local-RIB|->[D]|--->To RS-Client D
4496 | +--------->*B*->|{D}-|Selection| | for D | |
4497 +----------------->|{D}-|_________| |_________| |
4498 \\________________________________/
4499
4500
4501Key: (X) - 'In' Filter applied to Peer X's announcements before
4502 considering announcement for the normal main Local-RIB
4503 [X] - 'Out' Filter applied to announcements to Peer X
4504 *X* - 'Export' Filter of RS-Client X, to apply X's policies
4505 before its routes may be considered for other RS-Clients
4506 RIBs.
4507 {X} - 'Import' Filter of RS-Client X, to apply X's policies
4508 on routes before allowing them into X's RIB.
4509"�]
paula3957e32005-11-04 12:48:25 +00004510
4511Figure 10.4: Announcement processing model implemented by the Route Server
paul56d1d202004-11-15 21:56:53 +00004512
4513
4514File: 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
4515
451610.2 Commands for configuring a Route Server
4517============================================
4518
4519Now we will describe the commands that have been added to quagga in
4520order to support the route server features.
4521
4522 -- Route-Server: neighbor PEER-GROUP route-server-client
4523 -- Route-Server: neighbor A.B.C.D route-server-client
4524 -- Route-Server: neighbor X:X::X:X route-server-client
4525 This command configures the peer given by PEER, A.B.C.D or
4526 X:X::X:X as an RS-client.
4527
4528 Actually this command is not new, it already existed in standard
4529 Quagga. It enables the transparent mode for the specified peer.
4530 This means that some BGP attributes (as-path, next-hop and MED) of
4531 the routes announced to that peer are not modified.
4532
4533 With the route server patch, this command, apart from setting the
4534 transparent mode, creates a new Loc-RIB dedicated to the specified
4535 peer (those named `Loc-RIB for X' in *Note Figure 10.4:
4536 fig:rs-processing.). Starting from that moment, every announcement
4537 received by the route server will be also considered for the new
4538 Loc-RIB.
4539
4540 -- Route-Server: neigbor {A.B.C.D|X.X::X.X|peer-group} route-map WORD
4541{import|export}
4542 This set of commands can be used to specify the route-map that
4543 represents the Import or Export policy of a peer which is
4544 configured as a RS-client (with the previous command).
4545
4546 -- Route-Server: match peer {A.B.C.D|X:X::X:X}
4547 This is a new _match_ statement for use in route-maps, enabling
4548 them to describe import/export policies. As we said before, an
4549 import/export policy represents a set of input/output filters of
4550 the RS-client. This statement makes possible that a single
4551 route-map represents the full set of filters that a BGP speaker
4552 would use for its different peers in a non-RS scenario.
4553
4554 The _match peer_ statement has different semantics whether it is
4555 used inside an import or an export route-map. In the first case
4556 the statement matches if the address of the peer who sends the
4557 announce is the same that the address specified by
4558 {A.B.C.D|X:X::X:X}. For export route-maps it matches when
4559 {A.B.C.D|X:X::X:X} is the address of the RS-Client into whose
4560 Loc-RIB the announce is going to be inserted (how the same export
4561 policy is applied before different Loc-RIBs is shown in *Note
4562 Figure 10.4: fig:rs-processing.).
4563
4564 -- Route-map Command: call WORD
4565 This command (also used inside a route-map) jumps into a different
4566 route-map, whose name is specified by WORD. When the called
4567 route-map finishes, depending on its result the original route-map
4568 continues or not. Apart from being useful for making import/export
4569 route-maps easier to write, this command can also be used inside
4570 any normal (in or out) route-map.
4571
4572
4573File: quagga.info, Node: Example of Route Server Configuration, Prev: Commands for configuring a Route Server, Up: Configuring Quagga as a Route Server
4574
457510.3 Example of Route Server Configuration
4576==========================================
4577
4578Finally we are going to show how to configure a Quagga daemon to act as
4579a Route Server. For this purpose we are going to present a scenario
4580without route server, and then we will show how to use the
4581configurations of the BGP routers to generate the configuration of the
4582route server.
4583
4584 All the configuration files shown in this section have been taken
4585from scenarios which were tested using the VNUML tool VNUML
4586(http://www.dit.upm.es/vnuml).
4587
4588* Menu:
4589
4590* Configuration of the BGP routers without Route Server::
4591* Configuration of the BGP routers with Route Server::
4592* Configuration of the Route Server itself::
4593* Further considerations about Import and Export route-maps::
4594
4595
4596File: 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
4597
459810.3.1 Configuration of the BGP routers without Route Server
4599------------------------------------------------------------
4600
4601We will suppose that our initial scenario is an exchange point with
4602three BGP capable routers, named RA, RB and RC. Each of the BGP
4603speakers generates some routes (with the NETWORK command), and
4604establishes BGP peerings against the other two routers. These peerings
4605have In and Out route-maps configured, named like "PEER-X-IN" or
4606"PEER-X-OUT". For example the configuration file for router RA could be
4607the following:
4608
4609 #Configuration for router 'RA'
4610 !
4611 hostname RA
4612 password ****
4613 !
4614 router bgp 65001
4615 no bgp default ipv4-unicast
4616 neighbor 2001:0DB8::B remote-as 65002
4617 neighbor 2001:0DB8::C remote-as 65003
4618 !
4619 address-family ipv6
4620 network 2001:0DB8:AAAA:1::/64
4621 network 2001:0DB8:AAAA:2::/64
4622 network 2001:0DB8:0000:1::/64
4623 network 2001:0DB8:0000:2::/64
4624
4625 neighbor 2001:0DB8::B activate
4626 neighbor 2001:0DB8::B soft-reconfiguration inbound
4627 neighbor 2001:0DB8::B route-map PEER-B-IN in
4628 neighbor 2001:0DB8::B route-map PEER-B-OUT out
4629
4630 neighbor 2001:0DB8::C activate
4631 neighbor 2001:0DB8::C soft-reconfiguration inbound
4632 neighbor 2001:0DB8::C route-map PEER-C-IN in
4633 neighbor 2001:0DB8::C route-map PEER-C-OUT out
4634 exit-address-family
4635 !
4636 ipv6 prefix-list COMMON-PREFIXES seq 5 permit 2001:0DB8:0000::/48 ge 64 le 64
4637 ipv6 prefix-list COMMON-PREFIXES seq 10 deny any
4638 !
4639 ipv6 prefix-list PEER-A-PREFIXES seq 5 permit 2001:0DB8:AAAA::/48 ge 64 le 64
4640 ipv6 prefix-list PEER-A-PREFIXES seq 10 deny any
4641 !
4642 ipv6 prefix-list PEER-B-PREFIXES seq 5 permit 2001:0DB8:BBBB::/48 ge 64 le 64
4643 ipv6 prefix-list PEER-B-PREFIXES seq 10 deny any
4644 !
4645 ipv6 prefix-list PEER-C-PREFIXES seq 5 permit 2001:0DB8:CCCC::/48 ge 64 le 64
4646 ipv6 prefix-list PEER-C-PREFIXES seq 10 deny any
4647 !
4648 route-map PEER-B-IN permit 10
4649 match ipv6 address prefix-list COMMON-PREFIXES
4650 set metric 100
4651 route-map PEER-B-IN permit 20
4652 match ipv6 address prefix-list PEER-B-PREFIXES
4653 set community 65001:11111
4654 !
4655 route-map PEER-C-IN permit 10
4656 match ipv6 address prefix-list COMMON-PREFIXES
4657 set metric 200
4658 route-map PEER-C-IN permit 20
4659 match ipv6 address prefix-list PEER-C-PREFIXES
4660 set community 65001:22222
4661 !
4662 route-map PEER-B-OUT permit 10
4663 match ipv6 address prefix-list PEER-A-PREFIXES
4664 !
4665 route-map PEER-C-OUT permit 10
4666 match ipv6 address prefix-list PEER-A-PREFIXES
4667 !
4668 line vty
4669 !
4670
4671
4672File: 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
4673
467410.3.2 Configuration of the BGP routers with Route Server
4675---------------------------------------------------------
4676
4677To convert the initial scenario into one with route server, first we
4678must modify the configuration of routers RA, RB and RC. Now they must
4679not peer between them, but only with the route server. For example, RA's
4680configuration would turn into:
4681
4682 # Configuration for router 'RA'
4683 !
4684 hostname RA
4685 password ****
4686 !
4687 router bgp 65001
4688 no bgp default ipv4-unicast
4689 neighbor 2001:0DB8::FFFF remote-as 65000
4690 !
4691 address-family ipv6
4692 network 2001:0DB8:AAAA:1::/64
4693 network 2001:0DB8:AAAA:2::/64
4694 network 2001:0DB8:0000:1::/64
4695 network 2001:0DB8:0000:2::/64
4696
4697 neighbor 2001:0DB8::FFFF activate
4698 neighbor 2001:0DB8::FFFF soft-reconfiguration inbound
4699 exit-address-family
4700 !
4701 line vty
4702 !
4703
4704 Which is logically much simpler than its initial configuration, as
4705it now maintains only one BGP peering and all the filters (route-maps)
4706have disappeared.
4707
4708
4709File: 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
4710
471110.3.3 Configuration of the Route Server itself
4712-----------------------------------------------
4713
4714As we said when we described the functions of a route server (*note
4715Description of the Route Server model::), it is in charge of all the
4716route filtering. To achieve that, the In and Out filters from the RA,
4717RB and RC configurations must be converted into Import and Export
4718policies in the route server.
4719
4720 This is a fragment of the route server configuration (we only show
4721the policies for client RA):
4722
4723 # Configuration for Route Server ('RS')
4724 !
4725 hostname RS
4726 password ix
4727 !
4728 bgp multiple-instance
4729 !
4730 router bgp 65000 view RS
4731 no bgp default ipv4-unicast
4732 neighbor 2001:0DB8::A remote-as 65001
4733 neighbor 2001:0DB8::B remote-as 65002
4734 neighbor 2001:0DB8::C remote-as 65003
4735 !
4736 address-family ipv6
4737 neighbor 2001:0DB8::A activate
4738 neighbor 2001:0DB8::A route-server-client
4739 neighbor 2001:0DB8::A route-map RSCLIENT-A-IMPORT import
4740 neighbor 2001:0DB8::A route-map RSCLIENT-A-EXPORT export
4741 neighbor 2001:0DB8::A soft-reconfiguration inbound
4742
4743 neighbor 2001:0DB8::B activate
4744 neighbor 2001:0DB8::B route-server-client
4745 neighbor 2001:0DB8::B route-map RSCLIENT-B-IMPORT import
4746 neighbor 2001:0DB8::B route-map RSCLIENT-B-EXPORT export
4747 neighbor 2001:0DB8::B soft-reconfiguration inbound
4748
4749 neighbor 2001:0DB8::C activate
4750 neighbor 2001:0DB8::C route-server-client
4751 neighbor 2001:0DB8::C route-map RSCLIENT-C-IMPORT import
4752 neighbor 2001:0DB8::C route-map RSCLIENT-C-EXPORT export
4753 neighbor 2001:0DB8::C soft-reconfiguration inbound
4754 exit-address-family
4755 !
4756 ipv6 prefix-list COMMON-PREFIXES seq 5 permit 2001:0DB8:0000::/48 ge 64 le 64
4757 ipv6 prefix-list COMMON-PREFIXES seq 10 deny any
4758 !
4759 ipv6 prefix-list PEER-A-PREFIXES seq 5 permit 2001:0DB8:AAAA::/48 ge 64 le 64
4760 ipv6 prefix-list PEER-A-PREFIXES seq 10 deny any
4761 !
4762 ipv6 prefix-list PEER-B-PREFIXES seq 5 permit 2001:0DB8:BBBB::/48 ge 64 le 64
4763 ipv6 prefix-list PEER-B-PREFIXES seq 10 deny any
4764 !
4765 ipv6 prefix-list PEER-C-PREFIXES seq 5 permit 2001:0DB8:CCCC::/48 ge 64 le 64
4766 ipv6 prefix-list PEER-C-PREFIXES seq 10 deny any
4767 !
4768 route-map RSCLIENT-A-IMPORT permit 10
4769 match peer 2001:0DB8::B
4770 call A-IMPORT-FROM-B
4771 route-map RSCLIENT-A-IMPORT permit 20
4772 match peer 2001:0DB8::C
4773 call A-IMPORT-FROM-C
4774 !
4775 route-map A-IMPORT-FROM-B permit 10
4776 match ipv6 address prefix-list COMMON-PREFIXES
4777 set metric 100
4778 route-map A-IMPORT-FROM-B permit 20
4779 match ipv6 address prefix-list PEER-B-PREFIXES
4780 set community 65001:11111
4781 !
4782 route-map A-IMPORT-FROM-C permit 10
4783 match ipv6 address prefix-list COMMON-PREFIXES
4784 set metric 200
4785 route-map A-IMPORT-FROM-C permit 20
4786 match ipv6 address prefix-list PEER-C-PREFIXES
4787 set community 65001:22222
4788 !
4789 route-map RSCLIENT-A-EXPORT permit 10
4790 match peer 2001:0DB8::B
4791 match ipv6 address prefix-list PEER-A-PREFIXES
4792 route-map RSCLIENT-A-EXPORT permit 20
4793 match peer 2001:0DB8::C
4794 match ipv6 address prefix-list PEER-A-PREFIXES
4795 !
4796 ...
4797 ...
4798 ...
4799
4800 If you compare the initial configuration of RA with the route server
4801configuration above, you can see how easy it is to generate the Import
4802and Export policies for RA from the In and Out route-maps of RA's
4803original configuration.
4804
4805 When there was no route server, RA maintained two peerings, one with
4806RB and another with RC. Each of this peerings had an In route-map
4807configured. To build the Import route-map for client RA in the route
4808server, simply add route-map entries following this scheme:
4809
4810 route-map <NAME> permit 10
4811 match peer <Peer Address>
4812 call <In Route-Map for this Peer>
4813 route-map <NAME> permit 20
4814 match peer <Another Peer Address>
4815 call <In Route-Map for this Peer>
4816
4817 This is exactly the process that has been followed to generate the
4818route-map RSCLIENT-A-IMPORT. The route-maps that are called inside it
4819(A-IMPORT-FROM-B and A-IMPORT-FROM-C) are exactly the same than the In
4820route-maps from the original configuration of RA (PEER-B-IN and
4821PEER-C-IN), only the name is different.
4822
4823 The same could have been done to create the Export policy for RA
4824(route-map RSCLIENT-A-EXPORT), but in this case the original Out
4825route-maps where so simple that we decided not to use the CALL WORD
4826commands, and we integrated all in a single route-map
4827(RSCLIENT-A-EXPORT).
4828
4829 The Import and Export policies for RB and RC are not shown, but the
4830process would be identical.
4831
4832
4833File: quagga.info, Node: Further considerations about Import and Export route-maps, Prev: Configuration of the Route Server itself, Up: Example of Route Server Configuration
4834
483510.3.4 Further considerations about Import and Export route-maps
4836----------------------------------------------------------------
4837
4838The current version of the route server patch only allows to specify a
4839route-map for import and export policies, while in a standard BGP
4840speaker apart from route-maps there are other tools for performing
4841input and output filtering (access-lists, community-lists, ...). But
4842this does not represent any limitation, as all kinds of filters can be
4843included in import/export route-maps. For example suppose that in the
4844non-route-server scenario peer RA had the following filters configured
4845for input from peer B:
4846
4847 neighbor 2001:0DB8::B prefix-list LIST-1 in
4848 neighbor 2001:0DB8::B filter-list LIST-2 in
4849 neighbor 2001:0DB8::B route-map PEER-B-IN in
4850 ...
4851 ...
4852 route-map PEER-B-IN permit 10
4853 match ipv6 address prefix-list COMMON-PREFIXES
4854 set local-preference 100
4855 route-map PEER-B-IN permit 20
4856 match ipv6 address prefix-list PEER-B-PREFIXES
4857 set community 65001:11111
4858
4859 It is posible to write a single route-map which is equivalent to the
4860three filters (the community-list, the prefix-list and the route-map).
4861That route-map can then be used inside the Import policy in the route
4862server. Lets see how to do it:
4863
4864 neighbor 2001:0DB8::A route-map RSCLIENT-A-IMPORT import
4865 ...
4866 !
4867 ...
4868 route-map RSCLIENT-A-IMPORT permit 10
4869 match peer 2001:0DB8::B
4870 call A-IMPORT-FROM-B
4871 ...
4872 ...
4873 !
4874 route-map A-IMPORT-FROM-B permit 1
4875 match ipv6 address prefix-list LIST-1
4876 match as-path LIST-2
4877 on-match goto 10
4878 route-map A-IMPORT-FROM-B deny 2
4879 route-map A-IMPORT-FROM-B permit 10
4880 match ipv6 address prefix-list COMMON-PREFIXES
4881 set local-preference 100
4882 route-map A-IMPORT-FROM-B permit 20
4883 match ipv6 address prefix-list PEER-B-PREFIXES
4884 set community 65001:11111
4885 !
4886 ...
4887 ...
4888
4889 The route-map A-IMPORT-FROM-B is equivalent to the three filters
4890(LIST-1, LIST-2 and PEER-B-IN). The first entry of route-map
4891A-IMPORT-FROM-B (sequence number 1) matches if and only if both the
4892prefix-list LIST-1 and the filter-list LIST-2 match. If that happens,
4893due to the "on-match goto 10" statement the next route-map entry to be
4894processed will be number 10, and as of that point route-map
4895A-IMPORT-FROM-B is identical to PEER-B-IN. If the first entry does not
4896match, `on-match goto 10" will be ignored and the next processed entry
4897will be number 2, which will deny the route.
4898
4899 Thus, the result is the same that with the three original filters,
4900i.e., if either LIST-1 or LIST-2 rejects the route, it does not reach
4901the route-map PEER-B-IN. In case both LIST-1 and LIST-2 accept the
4902route, it passes to PEER-B-IN, which can reject, accept or modify the
4903route.
4904
4905
4906File: quagga.info, Node: VTY shell, Next: Filtering, Prev: Configuring Quagga as a Route Server, Up: Top
4907
490811 VTY shell
4909************
4910
4911`vtysh' is integrated shell of Quagga software.
4912
4913 To use vtysh please specify --enable-vtysh to configure script. To
4914use PAM for authentication use --with-libpam option to configure script.
4915
4916 vtysh only searches /etc/quagga path for vtysh.conf which is the
4917vtysh configuration file. Vtysh does not search current directory for
4918configuration file because the file includes user authentication
4919settings.
4920
4921 Currently, vtysh.conf has only two commands.
4922
4923* Menu:
4924
4925* VTY shell username::
4926* VTY shell integrated configuration::
4927
4928
4929File: quagga.info, Node: VTY shell username, Next: VTY shell integrated configuration, Up: VTY shell
4930
493111.1 VTY shell username
4932=======================
4933
4934 -- Command: username USERNAME nopassword
4935 With this set, user foo does not need password authentication for
4936 user vtysh. With PAM vtysh uses PAM authentication mechanism.
4937
4938 If vtysh is compiled without PAM authentication, every user can
4939 use vtysh without authentication. vtysh requires read/write
4940 permission to the various daemons vty sockets, this can be
4941 accomplished through use of unix groups and the -enable-vty-group
4942 configure option.
4943
4944
4945
4946File: quagga.info, Node: VTY shell integrated configuration, Prev: VTY shell username, Up: VTY shell
4947
paulafc1e2d2005-01-10 22:31:16 +0000494811.2 VTY shell integrated configuration
4949=======================================
paul56d1d202004-11-15 21:56:53 +00004950
4951 -- Command: service integrated-vtysh-config
4952 Write out integrated Quagga.conf file when 'write file' is issued.
4953
4954 This command controls the behaviour of vtysh when it is told to
4955 write out the configuration. Per default, vtysh will instruct
4956 each daemon to write out their own config files when `write file'
4957 is issued. However, if `service integrated-vtysh-config' is set,
4958 when `write file' is issued, vtysh will instruct the daemons will
4959 write out a Quagga.conf with all daemons' commands integrated into
4960 it.
4961
4962 Vtysh per default behaves as if `write-conf daemon' is set. Note
4963 that both may be set at same time if one wishes to have both
4964 Quagga.conf and daemon specific files written out. Further, note
4965 that the daemons are hard-coded to first look for the integrated
4966 Quagga.conf file before looking for their own file.
4967
4968 We recommend you do not mix the use of the two types of files.
4969 Further, it is better not to use the integrated Quagga.conf file,
4970 as any syntax error in it can lead to /all/ of your daemons being
4971 unable to start up. Per daemon files are more robust as impact of
4972 errors in configuration are limited to the daemon in whose file
4973 the error is made.
4974
4975
4976
4977File: quagga.info, Node: Filtering, Next: Route Map, Prev: VTY shell, Up: Top
4978
497912 Filtering
4980************
4981
4982Quagga provides many very flexible filtering features. Filtering is
4983used for both input and output of the routing information. Once
4984filtering is defined, it can be applied in any direction.
4985
4986* Menu:
4987
4988* IP Access List::
4989* IP Prefix List::
4990
4991
4992File: quagga.info, Node: IP Access List, Next: IP Prefix List, Up: Filtering
4993
499412.1 IP Access List
4995===================
4996
4997 -- Command: access-list NAME permit IPV4-NETWORK
4998 -- Command: access-list NAME deny IPV4-NETWORK
4999
5000 Basic filtering is done by `access-list' as shown in the following
5001example.
5002
5003 access-list filter deny 10.0.0.0/9
5004 access-list filter permit 10.0.0.0/8
5005
5006
5007File: quagga.info, Node: IP Prefix List, Prev: IP Access List, Up: Filtering
5008
500912.2 IP Prefix List
5010===================
5011
5012`ip prefix-list' provides the most powerful prefix based filtering
5013mechanism. In addition to `access-list' functionality, `ip
5014prefix-list' has prefix length range specification and sequential
5015number specification. You can add or delete prefix based filters to
5016arbitrary points of prefix-list using sequential number specification.
5017
5018 If no ip prefix-list is specified, it acts as permit. If `ip
5019prefix-list' is defined, and no match is found, default deny is applied.
5020
5021 -- Command: ip prefix-list NAME (permit|deny) PREFIX [le LEN] [ge LEN]
5022 -- Command: ip prefix-list NAME seq NUMBER (permit|deny) PREFIX [le
5023LEN] [ge LEN]
5024 You can create `ip prefix-list' using above commands.
5025
5026 seq
5027 seq NUMBER can be set either automatically or manually. In
5028 the case that sequential numbers are set manually, the user
5029 may pick any number less than 4294967295. In the case that
5030 sequential number are set automatically, the sequential
5031 number will increase by a unit of five (5) per list. If a
5032 list with no specified sequential number is created after a
5033 list with a specified sequential number, the list will
5034 automatically pick the next multiple of five (5) as the list
5035 number. For example, if a list with number 2 already exists
5036 and a new list with no specified number is created, the next
5037 list will be numbered 5. If lists 2 and 7 already exist and
5038 a new list with no specified number is created, the new list
5039 will be numbered 10.
5040
5041 le
5042 `le' command specifies prefix length. The prefix list will be
5043 applied if the prefix length is less than or equal to the le
5044 prefix length.
5045
5046 ge
5047 `ge' command specifies prefix length. The prefix list will be
5048 applied if the prefix length is greater than or equal to the
5049 ge prefix length.
5050
5051
5052
5053 Less than or equal to prefix numbers and greater than or equal to
5054prefix numbers can be used together. The order of the le and ge
5055commands does not matter.
5056
5057 If a prefix list with a different sequential number but with the
5058exact same rules as a previous list is created, an error will result.
5059However, in the case that the sequential number and the rules are
5060exactly similar, no error will result.
5061
5062 If a list with the same sequential number as a previous list is
5063created, the new list will overwrite the old list.
5064
5065 Matching of IP Prefix is performed from the smaller sequential
5066number to the larger. The matching will stop once any rule has been
5067applied.
5068
5069 In the case of no le or ge command, the prefix length must match
5070exactly the length specified in the prefix list.
5071
5072 -- Command: no ip prefix-list NAME
5073
5074* Menu:
5075
5076* ip prefix-list description::
5077* ip prefix-list sequential number control::
5078* Showing ip prefix-list::
5079* Clear counter of ip prefix-list::
5080
5081
5082File: quagga.info, Node: ip prefix-list description, Next: ip prefix-list sequential number control, Up: IP Prefix List
5083
508412.2.1 ip prefix-list description
5085---------------------------------
5086
5087 -- Command: ip prefix-list NAME description DESC
5088 Descriptions may be added to prefix lists. This command adds a
5089 description to the prefix list.
5090
5091 -- Command: no ip prefix-list NAME description [DESC]
5092 Deletes the description from a prefix list. It is possible to use
5093 the command without the full description.
5094
5095
5096File: quagga.info, Node: ip prefix-list sequential number control, Next: Showing ip prefix-list, Prev: ip prefix-list description, Up: IP Prefix List
5097
509812.2.2 ip prefix-list sequential number control
5099-----------------------------------------------
5100
5101 -- Command: ip prefix-list sequence-number
5102 With this command, the IP prefix list sequential number is
5103 displayed. This is the default behavior.
5104
5105 -- Command: no ip prefix-list sequence-number
5106 With this command, the IP prefix list sequential number is not
5107 displayed.
5108
5109
5110File: 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
5111
511212.2.3 Showing ip prefix-list
5113-----------------------------
5114
5115 -- Command: show ip prefix-list
5116 Display all IP prefix lists.
5117
5118 -- Command: show ip prefix-list NAME
5119 Show IP prefix list can be used with a prefix list name.
5120
5121 -- Command: show ip prefix-list NAME seq NUM
5122 Show IP prefix list can be used with a prefix list name and
5123 sequential number.
5124
5125 -- Command: show ip prefix-list NAME A.B.C.D/M
5126 If the command longer is used, all prefix lists with prefix
5127 lengths equal to or longer than the specified length will be
5128 displayed. If the command first match is used, the first prefix
5129 length match will be displayed.
5130
5131 -- Command: show ip prefix-list NAME A.B.C.D/M longer
5132
5133 -- Command: show ip prefix-list NAME A.B.C.D/M first-match
5134
5135 -- Command: show ip prefix-list summary
5136
5137 -- Command: show ip prefix-list summary NAME
5138
5139 -- Command: show ip prefix-list detail
5140
5141 -- Command: show ip prefix-list detail NAME
5142
5143
5144File: quagga.info, Node: Clear counter of ip prefix-list, Prev: Showing ip prefix-list, Up: IP Prefix List
5145
514612.2.4 Clear counter of ip prefix-list
5147--------------------------------------
5148
5149 -- Command: clear ip prefix-list
5150 Clears the counters of all IP prefix lists. Clear IP Prefix List
5151 can be used with a specified name and prefix.
5152
5153 -- Command: clear ip prefix-list NAME
5154
5155 -- Command: clear ip prefix-list NAME A.B.C.D/M
5156
5157
5158File: quagga.info, Node: Route Map, Next: IPv6 Support, Prev: Filtering, Up: Top
5159
516013 Route Map
5161************
5162
paulaa5943f2005-11-04 21:53:59 +00005163Route maps provide a means to both filter and/or apply actions to
5164route, hence allowing policy to be applied to routes.
paul56d1d202004-11-15 21:56:53 +00005165
5166* Menu:
5167
5168* Route Map Command::
5169* Route Map Match Command::
5170* Route Map Set Command::
paulaa5943f2005-11-04 21:53:59 +00005171* Route Map Call Command::
5172* Route Map Exit Action Command::
5173* Route Map Examples::
5174
5175 Route-maps are an ordered list of route-map entries. Each entry may
5176specify up to four distincts sets of clauses:
5177
5178`Matching Policy'
5179 This specifies the policy implied if the `Matching Conditions' are
5180 met or not met, and which actions of the route-map are to be
5181 taken, if any. The two possibilities are:
5182
5183 - `permit': If the entry matches, then carry out the `Set
5184 Actions'. Then finish processing the route-map, permitting
5185 the route, unless an `Exit Action' indicates otherwise.
5186
5187 - `deny': If the entry matches, then finish processing the
5188 route-map and deny the route (return `deny').
5189
5190 The `Matching Policy' is specified as part of the command which
5191 defines the ordered entry in the route-map. See below.
5192
5193`Matching Conditions'
5194 A route-map entry may, optionally, specify one or more conditions
5195 which must be matched if the entry is to be considered further, as
5196 governed by the Match Policy. If a route-map entry does not
5197 explicitely specify any matching conditions, then it always
5198 matches.
5199
5200`Set Actions'
5201 A route-map entry may, optionally, specify one or more `Set
5202 Actions' to set or modify attributes of the route.
5203
5204`Call Action'
5205 Call to another route-map, after any `Set Actions' have been
5206 carried out. If the route-map called returns `deny' then
5207 processing of the route-map finishes and the route is denied,
5208 regardless of the `Matching Policy' or the `Exit Policy'. If the
5209 called route-map returns `permit', then `Matching Policy' and
5210 `Exit Policy' govern further behaviour, as normal.
5211
5212`Exit Policy'
5213 An entry may, optionally, specify an alternative `Exit Policy' to
5214 take if the entry matched, rather than the normal policy of
5215 exiting the route-map and permitting the route. The two
5216 possibilities are:
5217
5218 - `next': Continue on with processing of the route-map entries.
5219
5220 - `goto N': Jump ahead to the first route-map entry whose order
5221 in the route-map is >= N. Jumping to a previous entry is not
5222 permitted.
5223
5224 The default action of a route-map, if no entries match, is to deny.
5225I.e. a route-map essentially has as its last entry an empty `deny'
5226entry, which matches all routes. To change this behaviour, one must
5227specify an empty `permit' entry as the last entry in the route-map.
5228
5229 To summarise the above:
5230
5231 Match No Match
5232-----------------------------
5233_Permit_ action cont
5234_Deny_ deny cont
5235
5236`action'
5237 - Apply _set_ statements
5238
5239 - If _call_ is present, call given route-map. If that returns a
5240 `deny', finish processing and return `deny'.
5241
5242 - If `Exit Policy' is _next_, goto next route-map entry
5243
5244 - If `Exit Policy' is _goto_, goto first entry whose order in
5245 the list is >= the given order.
5246
5247 - Finish processing the route-map and permit the route.
5248
5249`deny'
5250 - The route is denied by the route-map (return `deny').
5251
5252`cont'
5253 - goto next route-map entry
paul56d1d202004-11-15 21:56:53 +00005254
5255
5256File: quagga.info, Node: Route Map Command, Next: Route Map Match Command, Up: Route Map
5257
525813.1 Route Map Command
5259======================
5260
paulaa5943f2005-11-04 21:53:59 +00005261 -- Command: route-map ROUTE-MAP-NAME (permit|deny) ORDER
5262 Configure the ORDER'th entry in ROUTE-MAP-NAME with `Match Policy'
5263 of either _permit_ or _deny_.
5264
paul56d1d202004-11-15 21:56:53 +00005265
5266
5267File: quagga.info, Node: Route Map Match Command, Next: Route Map Set Command, Prev: Route Map Command, Up: Route Map
5268
526913.2 Route Map Match Command
5270============================
5271
5272 -- Route-map Command: match ip address ACCESS_LIST
5273 Matches the specified ACCESS_LIST
5274
5275 -- Route-map Command: match ip next-hop IPV4_ADDR
5276 Matches the specified IPV4_ADDR.
5277
5278 -- Route-map Command: match aspath AS_PATH
5279 Matches the specified AS_PATH.
5280
5281 -- Route-map Command: match metric METRIC
5282 Matches the specified METRIC.
5283
5284 -- Route-map Command: match community COMMUNITY_LIST
5285 Matches the specified COMMUNITY_LIST
5286
5287
paulaa5943f2005-11-04 21:53:59 +00005288File: quagga.info, Node: Route Map Set Command, Next: Route Map Call Command, Prev: Route Map Match Command, Up: Route Map
paul56d1d202004-11-15 21:56:53 +00005289
529013.3 Route Map Set Command
5291==========================
5292
5293 -- Route-map Command: set ip next-hop IPV4_ADDRESS
5294 Set the BGP nexthop address.
5295
5296 -- Route-map Command: set local-preference LOCAL_PREF
5297 Set the BGP local preference.
5298
5299 -- Route-map Command: set weight WEIGHT
5300 Set the route's weight.
5301
5302 -- Route-map Command: set metric METRIC
5303 Set the BGP attribute MED.
5304
5305 -- Route-map Command: set as-path prepend AS_PATH
5306 Set the BGP AS path to prepend.
5307
5308 -- Route-map Command: set community COMMUNITY
5309 Set the BGP community attribute.
5310
5311 -- Route-map Command: set ipv6 next-hop global IPV6_ADDRESS
5312 Set the BGP-4+ global IPv6 nexthop address.
5313
5314 -- Route-map Command: set ipv6 next-hop local IPV6_ADDRESS
5315 Set the BGP-4+ link local IPv6 nexthop address.
5316
5317
paulaa5943f2005-11-04 21:53:59 +00005318File: quagga.info, Node: Route Map Call Command, Next: Route Map Exit Action Command, Prev: Route Map Set Command, Up: Route Map
5319
532013.4 Route Map Call Command
5321===========================
5322
5323 -- Route-map Command: call NAME
5324 Call route-map NAME. If it returns deny, deny the route and finish
5325 processing the route-map.
5326
5327
5328File: quagga.info, Node: Route Map Exit Action Command, Next: Route Map Examples, Prev: Route Map Call Command, Up: Route Map
5329
533013.5 Route Map Exit Action Command
5331==================================
5332
5333 -- Route-map Command: on-match next
5334 -- Route-map Command: continue
5335 Proceed on to the next entry in the route-map.
5336
5337 -- Route-map Command: on-match goto N
5338 -- Route-map Command: continue N
5339 Proceed processing the route-map at the first entry whose order is
5340 >= N
5341
5342
5343File: quagga.info, Node: Route Map Examples, Prev: Route Map Exit Action Command, Up: Route Map
5344
534513.6 Route Map Examples
5346=======================
5347
5348A simple example of a route-map:
5349
5350 route-map test permit 10
5351 match ip address 10
5352 set local-preference 200
5353
5354 This means that if a route matches ip access-list number 10 it's
5355local-preference value is set to 200.
5356
5357 See *Note BGP Configuration Examples:: for examples of more
5358sophisticated useage of route-maps, including of the `call' action.
5359
5360
paul56d1d202004-11-15 21:56:53 +00005361File: quagga.info, Node: IPv6 Support, Next: Kernel Interface, Prev: Route Map, Up: Top
5362
536314 IPv6 Support
5364***************
5365
5366Quagga fully supports IPv6 routing. As described so far, Quagga
5367supports RIPng, OSPFv3 and BGP-4+. You can give IPv6 addresses to an
5368interface and configure static IPv6 routing information. Quagga IPv6
5369also provides automatic address configuration via a feature called
5370`address auto configuration'. To do it, the router must send router
5371advertisement messages to the all nodes that exist on the network.
5372
5373* Menu:
5374
5375* Router Advertisement::
5376
5377
5378File: quagga.info, Node: Router Advertisement, Up: IPv6 Support
5379
538014.1 Router Advertisement
5381=========================
5382
5383 -- Interface Command: no ipv6 nd suppress-ra
5384 Send router advertisment messages.
5385
5386 -- Interface Command: ipv6 nd suppress-ra
5387 Don't send router advertisment messages.
5388
5389 -- Interface Command: ipv6 nd prefix IPV6PREFIX [VALID-LIFETIME]
paulbbd938e2005-04-02 10:18:42 +00005390[PREFERRED-LIFETIME] [off-link] [no-autoconfig] [router-address]
paul56d1d202004-11-15 21:56:53 +00005391 Configuring the IPv6 prefix to include in router advertisements.
5392 Several prefix specific optional parameters and flags may follow:
5393 * VALID-LIFETIME - the length of time in seconds during what
5394 the prefix is valid for the purpose of on-link determination.
5395 Value INFINITE represents infinity (i.e. a value of all one
5396 bits (`0xffffffff')).
5397
5398 Range: `<0-4294967295>' Default: `2592000'
5399
5400 * PREFERRED-LIFETIME - the length of time in seconds during
5401 what addresses generated from the prefix remain preferred.
5402 Value INFINITE represents infinity.
5403
5404 Range: `<0-4294967295>' Default: `604800'
5405
5406 * OFF-LINK - indicates that advertisement makes no statement
5407 about on-link or off-link properties of the prefix.
5408
5409 Default: not set, i.e. this prefix can be used for on-link
5410 determination.
5411
5412 * NO-AUTOCONFIG - indicates to hosts on the local link that the
5413 specified prefix cannot be used for IPv6 autoconfiguration.
5414
5415 Default: not set, i.e. prefix can be used for
5416 autoconfiguration.
5417
paulbbd938e2005-04-02 10:18:42 +00005418 * ROUTER-ADDRESS - indicates to hosts on the local link that
5419 the specified prefix contains a complete IP address by
5420 setting R flag.
5421
5422 Default: not set, i.e. hosts do not assume a complete IP
5423 address is placed.
5424
paul56d1d202004-11-15 21:56:53 +00005425 -- Interface Command: ipv6 nd ra-interval SECONDS
5426 -- Interface Command: no ipv6 nd ra-interval
5427 The maximum time allowed between sending unsolicited multicast
5428 router advertisements from the interface, in seconds. Must be no
5429 less than 3 seconds.
5430
5431 Default: `600'
5432
paulbbd938e2005-04-02 10:18:42 +00005433 -- Interface Command: ipv6 nd ra-interval msec MILLISECONDS
5434 -- Interface Command: no ipv6 nd ra-interval msec
5435 The maximum time allowed between sending unsolicited multicast
5436 router advertisements from the interface, in milliseconds. Must be
5437 no less than 30 milliseconds.
5438
5439 Default: `600000'
5440
paul56d1d202004-11-15 21:56:53 +00005441 -- Interface Command: ipv6 nd ra-lifetime SECONDS
5442 -- Interface Command: no ipv6 nd ra-lifetime
5443 The value to be placed in the Router Lifetime field of router
5444 advertisements sent from the interface, in seconds. Indicates the
5445 usefulness of the router as a default router on this interface.
5446 Setting the value to zero indicates that the router should not be
5447 considered a default router on this interface. Must be either
5448 zero or between value specified with IPV6 ND RA-INTERVAL (or
5449 default) and 9000 seconds.
5450
5451 Default: `1800'
5452
5453 -- Interface Command: ipv6 nd reachable-time MILLISECONDS
5454 -- Interface Command: no ipv6 nd reachable-time
5455 The value to be placed in the Reachable Time field in the Router
5456 Advertisement messages sent by the router, in milliseconds. The
5457 configured time enables the router to detect unavailable
5458 neighbors. The value zero means unspecified (by this router). Must
5459 be no greater than `3,600,000' milliseconds (1 hour).
5460
5461 Default: `0'
5462
5463 -- Interface Command: ipv6 nd managed-config-flag
5464 -- Interface Command: no ipv6 nd managed-config-flag
5465 Set/unset flag in IPv6 router advertisements which indicates to
5466 hosts that they should use managed (stateful) protocol for
5467 addresses autoconfiguration in addition to any addresses
5468 autoconfigured using stateless address autoconfiguration.
5469
5470 Default: not set
5471
5472 -- Interface Command: ipv6 nd other-config-flag
5473 -- Interface Command: no ipv6 nd other-config-flag
5474 Set/unset flag in IPv6 router advertisements which indicates to
5475 hosts that they should use administered (stateful) protocol to
5476 obtain autoconfiguration information other than addresses.
5477
5478 Default: not set
5479
paulbbd938e2005-04-02 10:18:42 +00005480 -- Interface Command: ipv6 nd home-agent-config-flag
5481 -- Interface Command: no ipv6 nd home-agent-config-flag
5482 Set/unset flag in IPv6 router advertisements which indicates to
5483 hosts that the router acts as a Home Agent and includes a Home
5484 Agent Option.
5485
5486 Default: not set
5487
5488 -- Interface Command: ipv6 nd home-agent-preference
5489 -- Interface Command: no ipv6 nd home-agent-preference
5490 The value to be placed in Home Agent Option, when Home Agent
5491 config flag is set, which indicates to hosts Home Agent preference.
5492
5493 Default: 0
5494
5495 -- Interface Command: ipv6 nd home-agent-lifetime
5496 -- Interface Command: no ipv6 nd home-agent-lifetime
5497 The value to be placed in Home Agent Option, when Home Agent
5498 config flag is set, which indicates to hosts Home Agent Lifetime.
5499 A value of 0 means to place Router Lifetime value.
5500
5501 Default: 0
5502
5503 -- Interface Command: ipv6 nd adv-interval-option
5504 -- Interface Command: no ipv6 nd adv-interval-option
5505 Include an Advertisement Interval option which indicates to hosts
5506 the maximum time, in milliseconds, between successive unsolicited
5507 Router Advertisements.
5508
5509 Default: not set
5510
paul56d1d202004-11-15 21:56:53 +00005511 interface eth0
5512 no ipv6 nd suppress-ra
5513 ipv6 nd prefix 2001:0DB8:5009::/64
5514
5515 For more information see `RFC2462 (IPv6 Stateless Address
paulbbd938e2005-04-02 10:18:42 +00005516Autoconfiguration)' , `RFC2461 (Neighbor Discovery for IP Version 6
5517(IPv6))' and `RFC3775 (Mobility Support in IPv6 (Mobile IPv6))'.
paul56d1d202004-11-15 21:56:53 +00005518
5519
5520File: quagga.info, Node: Kernel Interface, Next: SNMP Support, Prev: IPv6 Support, Up: Top
5521
552215 Kernel Interface
5523*******************
5524
5525There are several different methods for reading kernel routing table
5526information, updating kernel routing tables, and for looking up
5527interfaces.
5528
5529`ioctl'
5530 The `ioctl' method is a very traditional way for reading or writing
5531 kernel information. `ioctl' can be used for looking up interfaces
5532 and for modifying interface addresses, flags, mtu settings and
5533 other types of information. Also, `ioctl' can insert and delete
5534 kernel routing table entries. It will soon be available on almost
5535 any platform which zebra supports, but it is a little bit ugly
5536 thus far, so if a better method is supported by the kernel, zebra
5537 will use that.
5538
5539`sysctl'
5540 `sysctl' can lookup kernel information using MIB (Management
5541 Information Base) syntax. Normally, it only provides a way of
5542 getting information from the kernel. So one would usually want to
5543 change kernel information using another method such as `ioctl'.
5544
5545`proc filesystem'
5546 `proc filesystem' provides an easy way of getting kernel
5547 information.
5548
5549`routing socket'
5550
5551`netlink'
5552 On recent Linux kernels (2.0.x and 2.2.x), there is a kernel/user
5553 communication support called `netlink'. It makes asynchronous
5554 communication between kernel and Quagga possible, similar to a
5555 routing socket on BSD systems.
5556
5557 Before you use this feature, be sure to select (in kernel
5558 configuration) the kernel/netlink support option 'Kernel/User
5559 network link driver' and 'Routing messages'.
5560
5561 Today, the /dev/route special device file is obsolete. Netlink
5562 communication is done by reading/writing over netlink socket.
5563
5564 After the kernel configuration, please reconfigure and rebuild
5565 Quagga. You can use netlink as a dynamic routing update channel
5566 between Quagga and the kernel.
5567
5568
5569File: quagga.info, Node: SNMP Support, Next: Zebra Protocol, Prev: Kernel Interface, Up: Top
5570
557116 SNMP Support
5572***************
5573
5574SNMP (Simple Network Managing Protocol) is a widely implemented feature
paula3957e32005-11-04 12:48:25 +00005575for collecting network information from router and/or host. Quagga
paul56d1d202004-11-15 21:56:53 +00005576itself does not support SNMP agent (server daemon) functionality but is
paula3957e32005-11-04 12:48:25 +00005577able to connect to a SNMP agent using the SMUX protocol (`RFC1227') and
paul56d1d202004-11-15 21:56:53 +00005578make the routing protocol MIBs available through it.
5579
5580* Menu:
5581
5582* Getting and installing an SNMP agent::
5583* SMUX configuration::
5584* MIB and command reference::
paula3957e32005-11-04 12:48:25 +00005585* Handling SNMP Traps::
paul56d1d202004-11-15 21:56:53 +00005586
5587
5588File: quagga.info, Node: Getting and installing an SNMP agent, Next: SMUX configuration, Up: SNMP Support
5589
559016.1 Getting and installing an SNMP agent
5591=========================================
5592
5593There are several SNMP agent which support SMUX. We recommend to use
5594the latest version of `net-snmp' which was formerly known as `ucd-snmp'.
5595It is free and open software and available at `http://www.net-snmp.org/'
5596and as binary package for most Linux distributions. `net-snmp' has to
5597be compiled with `--with-mib-modules=smux' to be able to accept
5598connections from Quagga.
5599
5600
5601File: quagga.info, Node: SMUX configuration, Next: MIB and command reference, Prev: Getting and installing an SNMP agent, Up: SNMP Support
5602
560316.2 SMUX configuration
5604=======================
5605
5606To enable SMUX protocol support, Quagga must have been build with the
5607`--enable-snmp' option.
5608
5609 A separate connection has then to be established between between the
5610SNMP agent (snmpd) and each of the Quagga daemons. This connections
5611each use different OID numbers and passwords. Be aware that this OID
5612number is not the one that is used in queries by clients, it is solely
5613used for the intercommunication of the daemons.
5614
5615 In the following example the ospfd daemon will be connected to the
5616snmpd daemon using the password "quagga_ospfd". For testing it is
5617recommending to take exactly the below snmpd.conf as wrong access
5618restrictions can be hard to debug.
5619
5620 /etc/snmp/snmpd.conf:
5621 #
5622 # example access restrictions setup
5623 #
5624 com2sec readonly default public
5625 group MyROGroup v1 readonly
5626 view all included .1 80
5627 access MyROGroup "" any noauth exact all none none
5628 #
5629 # the following line is relevant for Quagga
5630 #
5631 smuxpeer .1.3.6.1.4.1.3317.1.2.5 quagga_ospfd
5632
5633 /etc/quagga/ospf:
5634 ! ... the rest of ospfd.conf has been omitted for clarity ...
5635 !
5636 smux peer .1.3.6.1.4.1.3317.1.2.5 quagga_ospfd
5637 !
5638
5639 After restarting snmpd and quagga, a successful connection can be
5640verified in the syslog and by querying the SNMP daemon:
5641
5642 snmpd[12300]: [smux_accept] accepted fd 12 from 127.0.0.1:36255
5643 snmpd[12300]: accepted smux peer: \
5644 oid GNOME-PRODUCT-ZEBRA-MIB::ospfd, quagga-0.96.5
5645
5646 # snmpwalk -c public -v1 localhost .1.3.6.1.2.1.14.1.1
5647 OSPF-MIB::ospfRouterId.0 = IpAddress: 192.168.42.109
5648
5649 Be warned that the current version (5.1.1) of the Net-SNMP daemon
5650writes a line for every SNMP connect to the syslog which can lead to
5651enormous log file sizes. If that is a problem you should consider to
5652patch snmpd and comment out the troublesome `snmp_log()' line in the
5653function `netsnmp_agent_check_packet()' in `agent/snmp_agent.c'.
5654
5655
paula3957e32005-11-04 12:48:25 +00005656File: quagga.info, Node: MIB and command reference, Next: Handling SNMP Traps, Prev: SMUX configuration, Up: SNMP Support
paul56d1d202004-11-15 21:56:53 +00005657
565816.3 MIB and command reference
5659==============================
5660
5661The following OID numbers are used for the interprocess communication
5662of snmpd and the Quagga daemons. Sadly, SNMP has not been implemented
5663in all daemons yet.
5664 (OIDs below .iso.org.dod.internet.private.enterprises)
5665 zebra .1.3.6.1.4.1.3317.1.2.1 .gnome.gnomeProducts.zebra.zserv
5666 bgpd .1.3.6.1.4.1.3317.1.2.2 .gnome.gnomeProducts.zebra.bgpd
5667 ripd .1.3.6.1.4.1.3317.1.2.3 .gnome.gnomeProducts.zebra.ripd
5668 ospfd .1.3.6.1.4.1.3317.1.2.5 .gnome.gnomeProducts.zebra.ospfd
5669 ospf6d .1.3.6.1.4.1.3317.1.2.6 .gnome.gnomeProducts.zebra.ospf6d
5670
5671 The following OID numbers are used for querying the SNMP daemon by a
5672client:
5673 zebra .1.3.6.1.2.1.4.24 .iso.org.dot.internet.mgmt.mib-2.ip.ipForward
5674 ospfd .1.3.6.1.2.1.14 .iso.org.dot.internet.mgmt.mib-2.ospf
5675 bgpd .1.3.6.1.2.1.15 .iso.org.dot.internet.mgmt.mib-2.bgp
5676 ripd .1.3.6.1.2.1.23 .iso.org.dot.internet.mgmt.mib-2.rip2
5677 ospf6d .1.3.6.1.3.102 .iso.org.dod.internet.experimental.ospfv3
5678
5679 The following syntax is understood by the Quagga daemons for
5680configuring SNMP:
5681
5682 -- Command: smux peer OID
5683 -- Command: no smux peer OID
5684
5685 -- Command: smux peer OID PASSWORD
5686 -- Command: no smux peer OID PASSWORD
5687
5688
paula3957e32005-11-04 12:48:25 +00005689File: quagga.info, Node: Handling SNMP Traps, Prev: MIB and command reference, Up: SNMP Support
5690
569116.4 Handling SNMP Traps
5692========================
5693
5694To handle snmp traps make sure your snmp setup of quagga works
5695correctly as described in the quagga documentation in *Note SNMP
5696Support::.
5697
5698 The BGP4 mib will send traps on peer up/down events. These should be
5699visible in your snmp logs with a message similar to:
5700
5701 `snmpd[13733]: Got trap from peer on fd 14'
5702
5703 To react on these traps they should be handled by a trapsink.
5704Configure your trapsink by adding the following lines to
5705`/etc/snmpd/snmpd.conf':
5706
5707 # send traps to the snmptrapd on localhost
5708 trapsink localhost
5709
5710 This will send all traps to an snmptrapd running on localhost. You
5711can of course also use a dedicated management station to catch traps.
5712Configure the snmptrapd daemon by adding the following line to
5713`/etc/snmpd/snmptrapd.conf':
5714
5715 traphandle .1.3.6.1.4.1.3317.1.2.2 /etc/snmp/snmptrap_handle.sh
5716
5717 This will use the bash script `/etc/snmp/snmptrap_handle.sh' to
5718handle the BGP4 traps. To add traps for other protocol daemons, lookup
5719their appropriate OID from their mib. (For additional information about
5720which traps are supported by your mib, lookup the mib on
5721`http://www.oidview.com/mibs/detail.html').
5722
5723 Make sure snmptrapd is started.
5724
5725 The snmptrap_handle.sh script I personally use for handling BGP4
5726traps is below. You can of course do all sorts of things when handling
5727traps, like sound a siren, have your display flash, etc., be creative
5728;).
5729
5730
5731 #!/bin/bash
5732
5733 # routers name
5734 ROUTER=`hostname -s`
5735
5736 #email address use to sent out notification
5737 EMAILADDR="john@doe.com"
5738 #email address used (allongside above) where warnings should be sent
5739 EMAILADDR_WARN="sms-john@doe.com"
5740
5741 # type of notification
5742 TYPE="Notice"
5743
5744 # local snmp community for getting AS belonging to peer
5745 COMMUNITY="<community>"
5746
5747 # if a peer address is in $WARN_PEERS a warning should be sent
5748 WARN_PEERS="192.0.2.1"
5749
5750
5751 # get stdin
5752 INPUT=`cat -`
5753
5754 # get some vars from stdin
5755 uptime=`echo $INPUT | cut -d' ' -f5`
5756 peer=`echo $INPUT | cut -d' ' -f8 | sed -e 's/SNMPv2-SMI::mib-2.15.3.1.14.//g'`
5757 peerstate=`echo $INPUT | cut -d' ' -f13`
5758 errorcode=`echo $INPUT | cut -d' ' -f9 | sed -e 's/\"//g'`
5759 suberrorcode=`echo $INPUT | cut -d' ' -f10 | sed -e 's/\"//g'`
5760 remoteas=`snmpget -v2c -c $COMMUNITY localhost SNMPv2-SMI::mib-2.15.3.1.9.$peer | cut -d' ' -f4`
5761
5762 WHOISINFO=`whois -h whois.ripe.net " -r AS$remoteas" | egrep '(as-name|descr)'`
5763 asname=`echo "$WHOISINFO" | grep "^as-name:" | sed -e 's/^as-name://g' -e 's/ //g' -e 's/^ //g' | uniq`
5764 asdescr=`echo "$WHOISINFO" | grep "^descr:" | sed -e 's/^descr://g' -e 's/ //g' -e 's/^ //g' | uniq`
5765
5766 # if peer address is in $WARN_PEER, the email should also
5767 # be sent to $EMAILADDR_WARN
5768 for ip in $WARN_PEERS; do
5769 if [ "x$ip" == "x$peer" ]; then
5770 EMAILADDR="$EMAILADDR,$EMAILADDR_WARN"
5771 TYPE="WARNING"
5772 break
5773 fi
5774 done
5775
5776
5777 # convert peer state
5778 case "$peerstate" in
5779 1) peerstate="Idle" ;;
5780 2) peerstate="Connect" ;;
5781 3) peerstate="Active" ;;
5782 4) peerstate="Opensent" ;;
5783 5) peerstate="Openconfirm" ;;
5784 6) peerstate="Established" ;;
5785 *) peerstate="Unknown" ;;
5786 esac
5787
5788 # get textual messages for errors
5789 case "$errorcode" in
5790 00)
5791 error="No error"
5792 suberror=""
5793 ;;
5794 01)
5795 error="Message Header Error"
5796 case "$suberrorcode" in
5797 01) suberror="Connection Not Synchronized" ;;
5798 02) suberror="Bad Message Length" ;;
5799 03) suberror="Bad Message Type" ;;
5800 *) suberror="Unknown" ;;
5801 esac
5802 ;;
5803 02)
5804 error="OPEN Message Error"
5805 case "$suberrorcode" in
5806 01) suberror="Unsupported Version Number" ;;
5807 02) suberror="Bad Peer AS" ;;
5808 03) suberror="Bad BGP Identifier" ;;
5809 04) suberror="Unsupported Optional Parameter" ;;
5810 05) suberror="Authentication Failure" ;;
5811 06) suberror="Unacceptable Hold Time" ;;
5812 *) suberror="Unknown" ;;
5813 esac
5814 ;;
5815 03)
5816 error="UPDATE Message Error"
5817 case "$suberrorcode" in
5818 01) suberror="Malformed Attribute List" ;;
5819 02) suberror="Unrecognized Well-known Attribute" ;;
5820 03) suberror="Missing Well-known Attribute" ;;
5821 04) suberror="Attribute Flags Error" ;;
5822 05) suberror="Attribute Length Error" ;;
5823 06) suberror="Invalid ORIGIN Attribute" ;;
5824 07) suberror="AS Routing Loop" ;;
5825 08) suberror="Invalid NEXT_HOP Attribute" ;;
5826 09) suberror="Optional Attribute Error" ;;
5827 10) suberror="Invalid Network Field" ;;
5828 11) suberror="Malformed AS_PATH" ;;
5829 *) suberror="Unknown" ;;
5830 esac
5831 ;;
5832 04)
5833 error="Hold Timer Expired"
5834 suberror=""
5835 ;;
5836 05)
5837 error="Finite State Machine Error"
5838 suberror=""
5839 ;;
5840 06)
5841 error="Cease"
5842 case "$suberrorcode" in
5843 01) suberror="Maximum Number of Prefixes Reached" ;;
5844 02) suberror="Administratively Shutdown" ;;
5845 03) suberror="Peer Unconfigured" ;;
5846 04) suberror="Administratively Reset" ;;
5847 05) suberror="Connection Rejected" ;;
5848 06) suberror="Other Configuration Change" ;;
5849 07) suberror="Connection collision resolution" ;;
5850 08) suberror="Out of Resource" ;;
5851 09) suberror="MAX" ;;
5852 *) suberror="Unknown" ;;
5853 esac
5854 ;;
5855 *)
5856 error="Unknown"
5857 suberror=""
5858 ;;
5859 esac
5860
5861 # create textual message from errorcodes
5862 if [ "x$suberror" == "x" ]; then
5863 NOTIFY="$errorcode ($error)"
5864 else
5865 NOTIFY="$errorcode/$suberrorcode ($error/$suberror)"
5866 fi
5867
5868
5869 # form a decent subject
5870 SUBJECT="$TYPE: $ROUTER [bgp] $peer is $peerstate: $NOTIFY"
5871 # create the email body
5872 MAIL=`cat << EOF
5873 BGP notification on router $ROUTER.
5874
5875 Peer: $peer
5876 AS: $remoteas
5877 New state: $peerstate
5878 Notification: $NOTIFY
5879
5880 Info:
5881 $asname
5882 $asdescr
5883
5884 Snmpd uptime: $uptime
5885 EOF`
5886
5887 # mail the notification
5888 echo "$MAIL" | mail -s "$SUBJECT" $EMAILADDR
5889
5890
paul56d1d202004-11-15 21:56:53 +00005891File: quagga.info, Node: Zebra Protocol, Next: Packet Binary Dump Format, Prev: SNMP Support, Up: Top
5892
5893Appendix A Zebra Protocol
5894*************************
5895
Paul Jakmaf371b1f2006-05-10 19:53:58 +00005896A.1 Overview of the Zebra Protocol
5897==================================
paul56d1d202004-11-15 21:56:53 +00005898
Paul Jakmaf371b1f2006-05-10 19:53:58 +00005899Zebra Protocol is used by protocol daemons to communicate with the
5900zebra daemon.
5901
5902 Each protocol daemon may request and send information to and from the
5903zebra daemon such as interface states, routing state,
5904nexthop-validation, and so on. Protocol daemons may also install routes
5905with zebra. The zebra daemon manages which route is installed into the
5906forwarding table with the kernel.
5907
5908 Zebra Protocol is a streaming protocol, with a common header. Two
5909versions of the header are in use. Version 0 is implicitely versioned.
5910Version 1 has an explicit version field. Version 0 can be distinguished
5911from all other versions by examining the 3rd byte of the header, which
5912contains a marker value for all versions bar version 0. The marker byte
5913corresponds to the command field in version 0, and the marker value is
5914a reserved command in version 0.
5915
5916 We do not anticipate there will be further versions of the header for
5917the foreseeable future, as the command field in version 1 is wide
5918enough to allow for future extensions to done compatibly through
5919seperate commands.
5920
5921 Version 0 is used by all versions of GNU Zebra as of this writing,
5922and versions of Quagga up to and including Quagga 0.98. Version 1 will
5923be used as of Quagga 1.0.
5924
5925A.2 Zebra Protocol Definition
5926=============================
5927
5928A.2.1 Zebra Protocol Header (version 0)
5929---------------------------------------
paul56d1d202004-11-15 21:56:53 +00005930
5931 0 1 2 3
5932 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
Paul Jakmaf371b1f2006-05-10 19:53:58 +00005933 +-------------------------------+---------------+
paul56d1d202004-11-15 21:56:53 +00005934 | Length (2) | Command (1) |
Paul Jakmaf371b1f2006-05-10 19:53:58 +00005935 +-------------------------------+---------------+
paul56d1d202004-11-15 21:56:53 +00005936
Paul Jakmaf371b1f2006-05-10 19:53:58 +00005937A.2.2 Zebra Protocol Common Header (version 1)
5938----------------------------------------------
paul56d1d202004-11-15 21:56:53 +00005939
5940 0 1 2 3
5941 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
Paul Jakmaf371b1f2006-05-10 19:53:58 +00005942 +-------------------------------+---------------+-------------+
5943 | Length (2) | Marker (1) | Version (1) |
5944 +-------------------------------+---------------+-------------+
5945 | Command (2) |
5946 +-------------------------------+
5947
5948A.2.3 Zebra Protocol Header Field Definitions
5949---------------------------------------------
5950
5951`Length'
5952 Total packet length including this header. The minimum length is 3
5953 bytes for version 0 messages and 6 bytes for version 1 messages.
5954
5955`Marker'
5956 Static marker with a value of 255 always. This is to allow version
5957 0 Zserv headers (which do not include version explicitely) to be
5958 distinguished from versioned headers. Not present in version 0
5959 messages.
5960
5961`Version'
5962 Version number of the Zserv message. Clients should not continue
5963 processing messages past the version field for versions they do not
5964 recognise. Not present in version 0 messages.
5965
5966`Command'
5967 The Zebra Protocol command.
5968
5969A.2.4 Zebra Protocol Commands
5970-----------------------------
5971
5972Command Value
5973-----------------------------------------------------
5974ZEBRA_INTERFACE_ADD 1
5975ZEBRA_INTERFACE_DELETE 2
5976ZEBRA_INTERFACE_ADDRESS_ADD 3
5977ZEBRA_INTERFACE_ADDRESS_DELETE 4
5978ZEBRA_INTERFACE_UP 5
5979ZEBRA_INTERFACE_DOWN 6
5980ZEBRA_IPV4_ROUTE_ADD 7
5981ZEBRA_IPV4_ROUTE_DELETE 8
5982ZEBRA_IPV6_ROUTE_ADD 9
5983ZEBRA_IPV6_ROUTE_DELETE 10
5984ZEBRA_REDISTRIBUTE_ADD 11
5985ZEBRA_REDISTRIBUTE_DELETE 12
5986ZEBRA_REDISTRIBUTE_DEFAULT_ADD 13
5987ZEBRA_REDISTRIBUTE_DEFAULT_DELETE 14
5988ZEBRA_IPV4_NEXTHOP_LOOKUP 15
5989ZEBRA_IPV6_NEXTHOP_LOOKUP 16
paul56d1d202004-11-15 21:56:53 +00005990
5991
5992File: quagga.info, Node: Packet Binary Dump Format, Next: Command Index, Prev: Zebra Protocol, Up: Top
5993
5994Appendix B Packet Binary Dump Format
5995************************************
5996
5997Quagga can dump routing protocol packet into file with a binary format
5998(*note Dump BGP packets and table::).
5999
6000 It seems to be better that we share the MRT's header format for
6001backward compatibility with MRT's dump logs. We should also define the
6002binary format excluding the header, because we must support both IP v4
6003and v6 addresses as socket addresses and / or routing entries.
6004
6005 In the last meeting, we discussed to have a version field in the
6006header. But Masaki told us that we can define new `type' value rather
6007than having a `version' field, and it seems to be better because we
6008don't need to change header format.
6009
6010 Here is the common header format. This is same as that of MRT.
6011
6012 0 1 2 3
6013 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
6014 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
6015 | Time |
6016 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
6017 | Type | Subtype |
6018 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
6019 | Length |
6020 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
6021
6022 If `type' is PROTOCOL_BGP4MP, `subtype' is BGP4MP_STATE_CHANGE, and
6023Address Family == IP (version 4)
6024
6025 0 1 2 3
6026 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
6027 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
6028 | Source AS number | Destination AS number |
6029 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
6030 | Interface Index | Address Family |
6031 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
6032 | Source IP address |
6033 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
6034 | Destination IP address |
6035 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
6036 | Old State | New State |
6037 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
6038
6039 Where State is the value defined in RFC1771.
6040
6041 If `type' is PROTOCOL_BGP4MP, `subtype' is BGP4MP_STATE_CHANGE, and
6042Address Family == IP version 6
6043
6044 0 1 2 3
6045 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
6046 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
6047 | Source AS number | Destination AS number |
6048 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
6049 | Interface Index | Address Family |
6050 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
6051 | Source IP address |
6052 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
6053 | Source IP address (Cont'd) |
6054 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
6055 | Source IP address (Cont'd) |
6056 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
6057 | Source IP address (Cont'd) |
6058 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
6059 | Destination IP address |
6060 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
6061 | Destination IP address (Cont'd) |
6062 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
6063 | Destination IP address (Cont'd) |
6064 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
6065 | Destination IP address (Cont'd) |
6066 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
6067 | Old State | New State |
6068 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
6069
6070 If `type' is PROTOCOL_BGP4MP, `subtype' is BGP4MP_MESSAGE, and
6071Address Family == IP (version 4)
6072
6073 0 1 2 3
6074 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
6075 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
6076 | Source AS number | Destination AS number |
6077 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
6078 | Interface Index | Address Family |
6079 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
6080 | Source IP address |
6081 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
6082 | Destination IP address |
6083 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
6084 | BGP Message Packet |
6085 | |
6086 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
6087
6088 Where BGP Message Packet is the whole contents of the BGP4 message
6089including header portion.
6090
6091 If `type' is PROTOCOL_BGP4MP, `subtype' is BGP4MP_MESSAGE, and
6092Address Family == IP version 6
6093
6094 0 1 2 3
6095 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
6096 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
6097 | Source AS number | Destination AS number |
6098 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
6099 | Interface Index | Address Family |
6100 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
6101 | Source IP address |
6102 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
6103 | Source IP address (Cont'd) |
6104 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
6105 | Source IP address (Cont'd) |
6106 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
6107 | Source IP address (Cont'd) |
6108 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
6109 | Destination IP address |
6110 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
6111 | Destination IP address (Cont'd) |
6112 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
6113 | Destination IP address (Cont'd) |
6114 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
6115 | Destination IP address (Cont'd) |
6116 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
6117 | BGP Message Packet |
6118 | |
6119 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
6120
6121 If `type' is PROTOCOL_BGP4MP, `subtype' is BGP4MP_ENTRY, and Address
6122Family == IP (version 4)
6123
6124 0 1 2 3
6125 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
6126 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
6127 | View # | Status |
6128 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
6129 | Time Last Change |
6130 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
6131 | Address Family | SAFI | Next-Hop-Len |
6132 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
6133 | Next Hop Address |
6134 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
6135 | Prefix Length | Address Prefix [variable] |
6136 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
6137 | Attribute Length |
6138 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
6139 | BGP Attribute [variable length] |
6140 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
6141
6142 If `type' is PROTOCOL_BGP4MP, `subtype' is BGP4MP_ENTRY, and Address
6143Family == IP version 6
6144
6145 0 1 2 3
6146 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
6147 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
6148 | View # | Status |
6149 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
6150 | Time Last Change |
6151 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
6152 | Address Family | SAFI | Next-Hop-Len |
6153 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
6154 | Next Hop Address |
6155 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
6156 | Next Hop Address (Cont'd) |
6157 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
6158 | Next Hop Address (Cont'd) |
6159 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
6160 | Next Hop Address (Cont'd) |
6161 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
6162 | Prefix Length | Address Prefix [variable] |
6163 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
6164 | Address Prefix (cont'd) [variable] |
6165 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
6166 | Attribute Length |
6167 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
6168 | BGP Attribute [variable length] |
6169 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
6170
6171 BGP4 Attribute must not contain MP_UNREACH_NLRI. If BGP Attribute
6172has MP_REACH_NLRI field, it must has zero length NLRI, e.g.,
6173MP_REACH_NLRI has only Address Family, SAFI and next-hop values.
6174
6175 If `type' is PROTOCOL_BGP4MP and `subtype' is BGP4MP_SNAPSHOT,
6176
6177 0 1 2 3
6178 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
6179 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
6180 | View # | File Name [variable] |
6181 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
6182
6183 The file specified in "File Name" contains all routing entries,
6184which are in the format of "subtype == BGP4MP_ENTRY".
6185
6186 Constants:
6187 /* type value */
6188 #define MSG_PROTOCOL_BGP4MP 16
6189 /* subtype value */
6190 #define BGP4MP_STATE_CHANGE 0
6191 #define BGP4MP_MESSAGE 1
6192 #define BGP4MP_ENTRY 2
6193 #define BGP4MP_SNAPSHOT 3
6194
6195
6196File: quagga.info, Node: Command Index, Next: VTY Key Index, Prev: Packet Binary Dump Format, Up: Top
6197
6198Command Index
6199*************
6200
6201�[index�]
6202* Menu:
6203
6204* access-class ACCESS-LIST: Basic Config Commands.
ajsc70257d2005-02-03 17:12:01 +00006205 (line 128)
paul56d1d202004-11-15 21:56:53 +00006206* access-list NAME deny IPV4-NETWORK: IP Access List. (line 8)
6207* access-list NAME permit IPV4-NETWORK: IP Access List. (line 7)
6208* aggregate-address A.B.C.D/M: Route Aggregation. (line 7)
6209* aggregate-address A.B.C.D/M as-set: Route Aggregation. (line 10)
6210* aggregate-address A.B.C.D/M summary-only: Route Aggregation.
6211 (line 14)
paula3957e32005-11-04 12:48:25 +00006212* area <0-4294967295> authentication: OSPF area. (line 127)
paul56d1d202004-11-15 21:56:53 +00006213* area <0-4294967295> authentication message-digest: OSPF area.
paula3957e32005-11-04 12:48:25 +00006214 (line 134)
6215* area <0-4294967295> export-list NAME: OSPF area. (line 85)
6216* area <0-4294967295> filter-list prefix NAME in: OSPF area. (line 117)
6217* area <0-4294967295> filter-list prefix NAME out: OSPF area. (line 118)
6218* area <0-4294967295> import-list NAME: OSPF area. (line 109)
paul56d1d202004-11-15 21:56:53 +00006219* area <0-4294967295> range A.B.C.D/M: OSPF area. (line 8)
paula3957e32005-11-04 12:48:25 +00006220* area <0-4294967295> shortcut: OSPF area. (line 55)
6221* area <0-4294967295> stub: OSPF area. (line 62)
6222* area <0-4294967295> stub no-summary: OSPF area. (line 74)
6223* area <0-4294967295> virtual-link A.B.C.D: OSPF area. (line 50)
6224* area A.B.C.D authentication: OSPF area. (line 126)
6225* area A.B.C.D authentication message-digest: OSPF area. (line 133)
6226* area A.B.C.D default-cost <0-16777215>: OSPF area. (line 80)
6227* area A.B.C.D export-list NAME: OSPF area. (line 84)
6228* area A.B.C.D filter-list prefix NAME in: OSPF area. (line 115)
6229* area A.B.C.D filter-list prefix NAME out: OSPF area. (line 116)
6230* area A.B.C.D import-list NAME: OSPF area. (line 108)
paul56d1d202004-11-15 21:56:53 +00006231* area A.B.C.D range A.B.C.D/M: OSPF area. (line 7)
paula3957e32005-11-04 12:48:25 +00006232* area A.B.C.D range IPV4_PREFIX not-advertise: OSPF area. (line 28)
paul56d1d202004-11-15 21:56:53 +00006233* area A.B.C.D range IPV4_PREFIX substitute IPV4_PREFIX: OSPF area.
paula3957e32005-11-04 12:48:25 +00006234 (line 34)
6235* area A.B.C.D shortcut: OSPF area. (line 54)
6236* area A.B.C.D stub: OSPF area. (line 61)
6237* area A.B.C.D stub no-summary: OSPF area. (line 73)
6238* area A.B.C.D virtual-link A.B.C.D: OSPF area. (line 49)
6239* auto-cost reference-bandwidth <1-4294967>: OSPF router. (line 143)
paul56d1d202004-11-15 21:56:53 +00006240* bandwidth <1-10000000>: Interface Commands. (line 31)
6241* banner motd default: Basic Config Commands.
ajsc70257d2005-02-03 17:12:01 +00006242 (line 110)
paulc7959912005-04-10 16:43:40 +00006243* bgp bestpath as-path confed: BGP decision process.
6244 (line 19)
paul56d1d202004-11-15 21:56:53 +00006245* bgp cluster-id A.B.C.D: Route Reflector. (line 7)
6246* bgp config-type cisco: Multiple instance. (line 20)
paulaa5943f2005-11-04 21:53:59 +00006247* bgp config-type zebra: Multiple instance. (line 53)
paul56d1d202004-11-15 21:56:53 +00006248* bgp multiple-instance: Multiple instance. (line 10)
6249* bgp router-id A.B.C.D: BGP router. (line 22)
paulaa5943f2005-11-04 21:53:59 +00006250* call NAME: Route Map Call Command.
6251 (line 7)
paul56d1d202004-11-15 21:56:53 +00006252* call WORD: Commands for configuring a Route Server.
6253 (line 52)
6254* clear ip bgp PEER: More Show IP BGP. (line 25)
6255* clear ip bgp PEER soft in: More Show IP BGP. (line 28)
6256* clear ip prefix-list: Clear counter of ip prefix-list.
6257 (line 7)
6258* clear ip prefix-list NAME: Clear counter of ip prefix-list.
6259 (line 11)
6260* clear ip prefix-list NAME A.B.C.D/M: Clear counter of ip prefix-list.
6261 (line 13)
ajs274a4a42004-12-07 15:39:31 +00006262* configure terminal: Terminal Mode Commands.
6263 (line 13)
paulaa5943f2005-11-04 21:53:59 +00006264* continue: Route Map Exit Action Command.
6265 (line 8)
6266* continue N: Route Map Exit Action Command.
6267 (line 12)
paul56d1d202004-11-15 21:56:53 +00006268* debug event: More Show IP BGP. (line 33)
6269* debug keepalive: More Show IP BGP. (line 37)
6270* debug ospf ism: Debugging OSPF. (line 12)
6271* debug ospf ism (status|events|timers): Debugging OSPF. (line 13)
6272* debug ospf lsa: Debugging OSPF. (line 22)
6273* debug ospf lsa (generate|flooding|refresh): Debugging OSPF. (line 23)
6274* debug ospf nsm: Debugging OSPF. (line 17)
6275* debug ospf nsm (status|events|timers): Debugging OSPF. (line 18)
6276* debug ospf packet (hello|dd|ls-request|ls-update|ls-ack|all) (send|recv) [detail]: Debugging OSPF.
6277 (line 8)
6278* debug ospf zebra: Debugging OSPF. (line 27)
6279* debug ospf zebra (interface|redistribute): Debugging OSPF. (line 28)
6280* debug rip events: RIP Debug Commands. (line 9)
6281* debug rip packet: RIP Debug Commands. (line 15)
6282* debug rip zebra: RIP Debug Commands. (line 22)
6283* debug ripng events: ripngd Terminal Mode Commands.
6284 (line 11)
6285* debug ripng packet: ripngd Terminal Mode Commands.
6286 (line 13)
6287* debug ripng zebra: ripngd Terminal Mode Commands.
6288 (line 15)
6289* debug update: More Show IP BGP. (line 35)
6290* default-information originate <1>: Redistribute routes to OSPF.
paula3957e32005-11-04 12:48:25 +00006291 (line 27)
paul56d1d202004-11-15 21:56:53 +00006292* default-information originate: How to Announce RIP route.
6293 (line 51)
6294* default-information originate always: Redistribute routes to OSPF.
paula3957e32005-11-04 12:48:25 +00006295 (line 33)
paul56d1d202004-11-15 21:56:53 +00006296* default-information originate always metric <0-16777214>: Redistribute routes to OSPF.
paula3957e32005-11-04 12:48:25 +00006297 (line 35)
paul56d1d202004-11-15 21:56:53 +00006298* default-information originate always metric <0-16777214> metric-type (1|2): Redistribute routes to OSPF.
paula3957e32005-11-04 12:48:25 +00006299 (line 37)
paul56d1d202004-11-15 21:56:53 +00006300* default-information originate always metric <0-16777214> metric-type (1|2) route-map WORD: Redistribute routes to OSPF.
paula3957e32005-11-04 12:48:25 +00006301 (line 39)
paul56d1d202004-11-15 21:56:53 +00006302* default-information originate metric <0-16777214>: Redistribute routes to OSPF.
paula3957e32005-11-04 12:48:25 +00006303 (line 28)
paul56d1d202004-11-15 21:56:53 +00006304* default-information originate metric <0-16777214> metric-type (1|2): Redistribute routes to OSPF.
paula3957e32005-11-04 12:48:25 +00006305 (line 30)
paul56d1d202004-11-15 21:56:53 +00006306* default-information originate metric <0-16777214> metric-type (1|2) route-map WORD: Redistribute routes to OSPF.
paula3957e32005-11-04 12:48:25 +00006307 (line 32)
paul56d1d202004-11-15 21:56:53 +00006308* default-metric <0-16777214>: Redistribute routes to OSPF.
paula3957e32005-11-04 12:48:25 +00006309 (line 52)
paul56d1d202004-11-15 21:56:53 +00006310* default-metric <1-16>: RIP Metric Manipulation.
6311 (line 11)
6312* description DESCRIPTION ...: Interface Commands. (line 24)
6313* distance <1-255> <1>: Redistribute routes to OSPF.
paula3957e32005-11-04 12:48:25 +00006314 (line 55)
paul56d1d202004-11-15 21:56:53 +00006315* distance <1-255>: RIP distance. (line 9)
6316* distance <1-255> A.B.C.D/M <1>: BGP distance. (line 12)
6317* distance <1-255> A.B.C.D/M: RIP distance. (line 13)
6318* distance <1-255> A.B.C.D/M ACCESS-LIST: RIP distance. (line 18)
6319* distance <1-255> A.B.C.D/M WORD: BGP distance. (line 13)
6320* distance bgp <1-255> <1-255> <1-255>: BGP distance. (line 7)
6321* distance ospf (intra-area|inter-area|external) <1-255>: Redistribute routes to OSPF.
paula3957e32005-11-04 12:48:25 +00006322 (line 59)
paul56d1d202004-11-15 21:56:53 +00006323* distribute-list ACCESS_LIST (in|out) IFNAME: ripngd Filtering Commands.
6324 (line 7)
6325* distribute-list ACCESS_LIST DIRECT IFNAME: Filtering RIP Routes.
6326 (line 9)
6327* distribute-list NAME out (kernel|connected|static|rip|ospf: Redistribute routes to OSPF.
paula3957e32005-11-04 12:48:25 +00006328 (line 48)
paul56d1d202004-11-15 21:56:53 +00006329* distribute-list prefix PREFIX_LIST (in|out) IFNAME: Filtering RIP Routes.
6330 (line 32)
6331* dump bgp all PATH: Dump BGP packets and table.
6332 (line 7)
6333* dump bgp all PATH INTERVAL: Dump BGP packets and table.
6334 (line 8)
6335* dump bgp routes PATH: Dump BGP packets and table.
6336 (line 15)
6337* dump bgp updates PATH: Dump BGP packets and table.
6338 (line 11)
6339* dump bgp updates PATH INTERVAL: Dump BGP packets and table.
6340 (line 12)
6341* enable password PASSWORD: Basic Config Commands.
6342 (line 14)
6343* exec-timeout MINUTE: Basic Config Commands.
ajsc70257d2005-02-03 17:12:01 +00006344 (line 116)
paul56d1d202004-11-15 21:56:53 +00006345* exec-timeout MINUTE SECOND: Basic Config Commands.
ajsc70257d2005-02-03 17:12:01 +00006346 (line 117)
paul56d1d202004-11-15 21:56:53 +00006347* flush_timer TIME: ripngd Configuration.
6348 (line 12)
6349* hostname HOSTNAME: Basic Config Commands.
6350 (line 7)
6351* interface IFNAME: Interface Commands. (line 7)
6352* interface IFNAME area AREA: OSPF6 router. (line 12)
6353* ip address ADDRESS/PREFIX: Interface Commands. (line 13)
6354* ip address ADDRESS/PREFIX secondary: Interface Commands. (line 19)
6355* ip as-path access-list WORD {permit|deny} LINE: AS Path Access List.
6356 (line 9)
6357* ip community-list <1-99> {permit|deny} COMMUNITY: Numbered BGP Community Lists.
6358 (line 14)
6359* ip community-list <100-199> {permit|deny} COMMUNITY: Numbered BGP Community Lists.
6360 (line 20)
6361* ip community-list expanded NAME {permit|deny} LINE: BGP Community Lists.
6362 (line 30)
6363* ip community-list NAME {permit|deny} COMMUNITY: Numbered BGP Community Lists.
6364 (line 25)
6365* ip community-list standard NAME {permit|deny} COMMUNITY: BGP Community Lists.
6366 (line 20)
6367* ip extcommunity-list expanded NAME {permit|deny} LINE: BGP Extended Community Lists.
6368 (line 21)
6369* ip extcommunity-list standard NAME {permit|deny} EXTCOMMUNITY: BGP Extended Community Lists.
6370 (line 10)
6371* ip ospf authentication-key AUTH_KEY: OSPF interface. (line 7)
6372* ip ospf cost <1-65535>: OSPF interface. (line 30)
6373* ip ospf dead-interval <1-65535>: OSPF interface. (line 35)
paula3957e32005-11-04 12:48:25 +00006374* ip ospf dead-interval minimal hello-multiplier <2-20>: OSPF interface.
6375 (line 37)
6376* ip ospf hello-interval <1-65535>: OSPF interface. (line 54)
paul56d1d202004-11-15 21:56:53 +00006377* ip ospf message-digest-key KEYID md5 KEY: OSPF interface. (line 13)
6378* ip ospf network (broadcast|non-broadcast|point-to-multipoint|point-to-point): OSPF interface.
paula3957e32005-11-04 12:48:25 +00006379 (line 65)
6380* ip ospf priority <0-255>: OSPF interface. (line 69)
6381* ip ospf retransmit-interval <1-65535>: OSPF interface. (line 76)
6382* ip ospf transmit-delay: OSPF interface. (line 82)
paul56d1d202004-11-15 21:56:53 +00006383* ip prefix-list NAME (permit|deny) PREFIX [le LEN] [ge LEN]: IP Prefix List.
6384 (line 16)
6385* ip prefix-list NAME description DESC: ip prefix-list description.
6386 (line 7)
6387* ip prefix-list NAME seq NUMBER (permit|deny) PREFIX [le LEN] [ge LEN]: IP Prefix List.
6388 (line 18)
6389* ip prefix-list sequence-number: ip prefix-list sequential number control.
6390 (line 7)
6391* ip rip authentication key-chain KEY-CHAIN: RIP Authentication.
Paul Jakmaf371b1f2006-05-10 19:53:58 +00006392 (line 43)
6393* ip rip authentication mode md5: RIP Authentication. (line 29)
6394* ip rip authentication mode text: RIP Authentication. (line 33)
6395* ip rip authentication string STRING: RIP Authentication. (line 37)
6396* ip rip receive version VERSION: RIP Version Control. (line 44)
6397* ip rip send version VERSION: RIP Version Control. (line 33)
paul56d1d202004-11-15 21:56:53 +00006398* ip route NETWORK GATEWAY: Static Route Commands.
6399 (line 10)
6400* ip route NETWORK GATEWAY DISTANCE: Static Route Commands.
6401 (line 36)
6402* ip route NETWORK NETMASK GATEWAY: Static Route Commands.
6403 (line 25)
Paul Jakmaf371b1f2006-05-10 19:53:58 +00006404* ip split-horizon: RIP Configuration. (line 70)
paul56d1d202004-11-15 21:56:53 +00006405* ip6 address ADDRESS/PREFIX: Interface Commands. (line 14)
paulbbd938e2005-04-02 10:18:42 +00006406* ipv6 nd adv-interval-option: Router Advertisement.
6407 (line 127)
6408* ipv6 nd home-agent-config-flag: Router Advertisement.
6409 (line 104)
6410* ipv6 nd home-agent-lifetime: Router Advertisement.
6411 (line 119)
6412* ipv6 nd home-agent-preference: Router Advertisement.
6413 (line 112)
paul56d1d202004-11-15 21:56:53 +00006414* ipv6 nd managed-config-flag: Router Advertisement.
paulbbd938e2005-04-02 10:18:42 +00006415 (line 87)
paul56d1d202004-11-15 21:56:53 +00006416* ipv6 nd other-config-flag: Router Advertisement.
paulbbd938e2005-04-02 10:18:42 +00006417 (line 96)
6418* ipv6 nd prefix IPV6PREFIX [VALID-LIFETIME] [PREFERRED-LIFETIME] [off-link] [no-autoconfig] [router-address]: Router Advertisement.
paul56d1d202004-11-15 21:56:53 +00006419 (line 14)
paulbbd938e2005-04-02 10:18:42 +00006420* ipv6 nd ra-interval msec MILLISECONDS: Router Advertisement.
6421 (line 57)
paul56d1d202004-11-15 21:56:53 +00006422* ipv6 nd ra-interval SECONDS: Router Advertisement.
paulbbd938e2005-04-02 10:18:42 +00006423 (line 49)
paul56d1d202004-11-15 21:56:53 +00006424* ipv6 nd ra-lifetime SECONDS: Router Advertisement.
paulbbd938e2005-04-02 10:18:42 +00006425 (line 65)
paul56d1d202004-11-15 21:56:53 +00006426* ipv6 nd reachable-time MILLISECONDS: Router Advertisement.
paulbbd938e2005-04-02 10:18:42 +00006427 (line 77)
paul56d1d202004-11-15 21:56:53 +00006428* ipv6 nd suppress-ra: Router Advertisement.
6429 (line 10)
6430* ipv6 ospf6 cost COST: OSPF6 interface. (line 7)
6431* ipv6 ospf6 dead-interval DEADINTERVAL: OSPF6 interface. (line 13)
6432* ipv6 ospf6 hello-interval HELLOINTERVAL: OSPF6 interface. (line 10)
6433* ipv6 ospf6 priority PRIORITY: OSPF6 interface. (line 20)
6434* ipv6 ospf6 retransmit-interval RETRANSMITINTERVAL: OSPF6 interface.
6435 (line 17)
6436* ipv6 ospf6 transmit-delay TRANSMITDELAY: OSPF6 interface. (line 23)
6437* ipv6 route NETWORK GATEWAY: Static Route Commands.
6438 (line 77)
6439* ipv6 route NETWORK GATEWAY DISTANCE: Static Route Commands.
6440 (line 78)
6441* line vty: Basic Config Commands.
ajsc70257d2005-02-03 17:12:01 +00006442 (line 107)
paul56d1d202004-11-15 21:56:53 +00006443* link-detect: Interface Commands. (line 37)
ajs274a4a42004-12-07 15:39:31 +00006444* list: Terminal Mode Commands.
6445 (line 24)
6446* log facility FACILITY: Basic Config Commands.
ajsc70257d2005-02-03 17:12:01 +00006447 (line 81)
paul56d1d202004-11-15 21:56:53 +00006448* log file FILENAME: Basic Config Commands.
ajs274a4a42004-12-07 15:39:31 +00006449 (line 41)
6450* log file FILENAME LEVEL: Basic Config Commands.
6451 (line 42)
6452* log monitor: Basic Config Commands.
ajsc70257d2005-02-03 17:12:01 +00006453 (line 68)
ajs274a4a42004-12-07 15:39:31 +00006454* log monitor LEVEL: Basic Config Commands.
ajsc70257d2005-02-03 17:12:01 +00006455 (line 69)
ajs274a4a42004-12-07 15:39:31 +00006456* log record-priority: Basic Config Commands.
ajsc70257d2005-02-03 17:12:01 +00006457 (line 87)
paul56d1d202004-11-15 21:56:53 +00006458* log stdout: Basic Config Commands.
ajs274a4a42004-12-07 15:39:31 +00006459 (line 28)
6460* log stdout LEVEL: Basic Config Commands.
6461 (line 29)
paul56d1d202004-11-15 21:56:53 +00006462* log syslog: Basic Config Commands.
ajsc70257d2005-02-03 17:12:01 +00006463 (line 59)
ajs274a4a42004-12-07 15:39:31 +00006464* log syslog LEVEL: Basic Config Commands.
ajsc70257d2005-02-03 17:12:01 +00006465 (line 60)
ajs274a4a42004-12-07 15:39:31 +00006466* log trap LEVEL: Basic Config Commands.
6467 (line 17)
6468* logmsg LEVEL MESSAGE: Terminal Mode Commands.
6469 (line 34)
paul56d1d202004-11-15 21:56:53 +00006470* match as-path WORD: Using AS Path in Route Map.
6471 (line 7)
6472* match aspath AS_PATH: Route Map Match Command.
6473 (line 13)
6474* match community COMMUNITY_LIST: Route Map Match Command.
6475 (line 19)
6476* match community WORD: BGP Community in Route Map.
6477 (line 13)
6478* match community WORD exact-match: BGP Community in Route Map.
6479 (line 14)
6480* match extcommunity WORD: BGP Extended Communities in Route Map.
6481 (line 7)
6482* match interface WORD: RIP route-map. (line 26)
6483* match ip address ACCESS_LIST: Route Map Match Command.
6484 (line 7)
6485* match ip address prefix-list WORD: RIP route-map. (line 39)
6486* match ip address WORD: RIP route-map. (line 38)
6487* match ip next-hop A.B.C.D: RIP route-map. (line 42)
6488* match ip next-hop IPV4_ADDR: Route Map Match Command.
6489 (line 10)
6490* match metric <0-4294967295>: RIP route-map. (line 47)
6491* match metric METRIC: Route Map Match Command.
6492 (line 16)
6493* match peer {A.B.C.D|X:X::X:X}: Commands for configuring a Route Server.
6494 (line 34)
paula3957e32005-11-04 12:48:25 +00006495* max-metric router-lsa [on-startup|on-shutdown] <5-86400>: OSPF router.
6496 (line 110)
6497* max-metric router-lsa administrative: OSPF router. (line 111)
paul56d1d202004-11-15 21:56:53 +00006498* multicast: Interface Commands. (line 27)
6499* neigbor {A.B.C.D|X.X::X.X|peer-group} route-map WORD {import|export}: Commands for configuring a Route Server.
6500 (line 29)
Paul Jakmaf371b1f2006-05-10 19:53:58 +00006501* neighbor A.B.C.D: RIP Configuration. (line 34)
paul56d1d202004-11-15 21:56:53 +00006502* neighbor A.B.C.D route-server-client: Commands for configuring a Route Server.
6503 (line 11)
6504* neighbor PEER default-originate: BGP Peer commands. (line 47)
6505* neighbor PEER description ...: BGP Peer commands. (line 20)
6506* neighbor PEER distribute-list NAME [in|out]: Peer filtering.
6507 (line 7)
6508* neighbor PEER dont-capability-negotiate: Capability Negotiation.
paulaa5943f2005-11-04 21:53:59 +00006509 (line 51)
paul56d1d202004-11-15 21:56:53 +00006510* neighbor PEER ebgp-multihop: BGP Peer commands. (line 17)
6511* neighbor PEER filter-list NAME [in|out]: Peer filtering. (line 13)
6512* neighbor PEER interface IFNAME: BGP Peer commands. (line 33)
6513* neighbor PEER maximum-prefix NUMBER: BGP Peer commands. (line 64)
6514* neighbor PEER next-hop-self: BGP Peer commands. (line 39)
6515* neighbor PEER override-capability: Capability Negotiation.
paulaa5943f2005-11-04 21:53:59 +00006516 (line 67)
paul56d1d202004-11-15 21:56:53 +00006517* neighbor PEER peer-group WORD: BGP Peer Group. (line 10)
6518* neighbor PEER port PORT: BGP Peer commands. (line 53)
6519* neighbor PEER prefix-list NAME [in|out]: Peer filtering. (line 11)
6520* neighbor PEER remote-as ASN: Defining Peer. (line 7)
6521* neighbor PEER route-map NAME [in|out]: Peer filtering. (line 15)
6522* neighbor PEER route-reflector-client: Route Reflector. (line 9)
6523* neighbor PEER send-community: BGP Peer commands. (line 56)
6524* neighbor PEER shutdown: BGP Peer commands. (line 10)
6525* neighbor PEER strict-capability-match: Capability Negotiation.
paulaa5943f2005-11-04 21:53:59 +00006526 (line 40)
paul56d1d202004-11-15 21:56:53 +00006527* neighbor PEER update-source: BGP Peer commands. (line 44)
6528* neighbor PEER version VERSION: BGP Peer commands. (line 24)
6529* neighbor PEER weight WEIGHT: BGP Peer commands. (line 59)
6530* neighbor PEER-GROUP route-server-client: Commands for configuring a Route Server.
6531 (line 10)
6532* neighbor WORD peer-group: BGP Peer Group. (line 7)
6533* neighbor X:X::X:X route-server-client: Commands for configuring a Route Server.
6534 (line 12)
6535* network A.B.C.D/M: BGP route. (line 7)
paula3957e32005-11-04 12:48:25 +00006536* network A.B.C.D/M area <0-4294967295>: OSPF router. (line 155)
6537* network A.B.C.D/M area A.B.C.D: OSPF router. (line 154)
paul56d1d202004-11-15 21:56:53 +00006538* network IFNAME <1>: ripngd Configuration.
6539 (line 18)
Paul Jakmaf371b1f2006-05-10 19:53:58 +00006540* network IFNAME: RIP Configuration. (line 27)
paul56d1d202004-11-15 21:56:53 +00006541* network NETWORK <1>: ripngd Configuration.
6542 (line 15)
Paul Jakmaf371b1f2006-05-10 19:53:58 +00006543* network NETWORK: RIP Configuration. (line 15)
paul56d1d202004-11-15 21:56:53 +00006544* no aggregate-address A.B.C.D/M: Route Aggregation. (line 18)
paula3957e32005-11-04 12:48:25 +00006545* no area <0-4294967295> authentication: OSPF area. (line 129)
6546* no area <0-4294967295> export-list NAME: OSPF area. (line 87)
paul56d1d202004-11-15 21:56:53 +00006547* no area <0-4294967295> filter-list prefix NAME in: OSPF area.
paula3957e32005-11-04 12:48:25 +00006548 (line 121)
paul56d1d202004-11-15 21:56:53 +00006549* no area <0-4294967295> filter-list prefix NAME out: OSPF area.
paula3957e32005-11-04 12:48:25 +00006550 (line 122)
6551* no area <0-4294967295> import-list NAME: OSPF area. (line 111)
paul56d1d202004-11-15 21:56:53 +00006552* no area <0-4294967295> range A.B.C.D/M: OSPF area. (line 10)
paula3957e32005-11-04 12:48:25 +00006553* no area <0-4294967295> shortcut: OSPF area. (line 57)
6554* no area <0-4294967295> stub: OSPF area. (line 64)
6555* no area <0-4294967295> stub no-summary: OSPF area. (line 76)
6556* no area <0-4294967295> virtual-link A.B.C.D: OSPF area. (line 52)
6557* no area A.B.C.D authentication: OSPF area. (line 128)
6558* no area A.B.C.D default-cost <0-16777215>: OSPF area. (line 81)
6559* no area A.B.C.D export-list NAME: OSPF area. (line 86)
6560* no area A.B.C.D filter-list prefix NAME in: OSPF area. (line 119)
6561* no area A.B.C.D filter-list prefix NAME out: OSPF area. (line 120)
6562* no area A.B.C.D import-list NAME: OSPF area. (line 110)
paul56d1d202004-11-15 21:56:53 +00006563* no area A.B.C.D range A.B.C.D/M: OSPF area. (line 9)
paula3957e32005-11-04 12:48:25 +00006564* no area A.B.C.D range IPV4_PREFIX not-advertise: OSPF area. (line 29)
paul56d1d202004-11-15 21:56:53 +00006565* no area A.B.C.D range IPV4_PREFIX substitute IPV4_PREFIX: OSPF area.
paula3957e32005-11-04 12:48:25 +00006566 (line 36)
6567* no area A.B.C.D shortcut: OSPF area. (line 56)
6568* no area A.B.C.D stub: OSPF area. (line 63)
6569* no area A.B.C.D stub no-summary: OSPF area. (line 75)
6570* no area A.B.C.D virtual-link A.B.C.D: OSPF area. (line 51)
6571* no auto-cost reference-bandwidth: OSPF router. (line 144)
paul56d1d202004-11-15 21:56:53 +00006572* no bandwidth <1-10000000>: Interface Commands. (line 32)
6573* no banner motd: Basic Config Commands.
ajsc70257d2005-02-03 17:12:01 +00006574 (line 113)
paul56d1d202004-11-15 21:56:53 +00006575* no bgp multiple-instance: Multiple instance. (line 14)
6576* no debug event: More Show IP BGP. (line 39)
6577* no debug keepalive: More Show IP BGP. (line 43)
6578* no debug ospf ism: Debugging OSPF. (line 14)
6579* no debug ospf ism (status|events|timers): Debugging OSPF. (line 15)
6580* no debug ospf lsa: Debugging OSPF. (line 24)
6581* no debug ospf lsa (generate|flooding|refresh): Debugging OSPF.
6582 (line 25)
6583* no debug ospf nsm: Debugging OSPF. (line 19)
6584* no debug ospf nsm (status|events|timers): Debugging OSPF. (line 20)
6585* no debug ospf packet (hello|dd|ls-request|ls-update|ls-ack|all) (send|recv) [detail]: Debugging OSPF.
6586 (line 10)
6587* no debug ospf zebra: Debugging OSPF. (line 29)
6588* no debug ospf zebra (interface|redistribute): Debugging OSPF.
6589 (line 30)
6590* no debug update: More Show IP BGP. (line 41)
6591* no default-information originate: Redistribute routes to OSPF.
paula3957e32005-11-04 12:48:25 +00006592 (line 40)
paul56d1d202004-11-15 21:56:53 +00006593* no default-metric: Redistribute routes to OSPF.
paula3957e32005-11-04 12:48:25 +00006594 (line 53)
paul56d1d202004-11-15 21:56:53 +00006595* no default-metric <1-16>: RIP Metric Manipulation.
6596 (line 12)
6597* no distance <1-255> <1>: Redistribute routes to OSPF.
paula3957e32005-11-04 12:48:25 +00006598 (line 56)
paul56d1d202004-11-15 21:56:53 +00006599* no distance <1-255>: RIP distance. (line 10)
6600* no distance <1-255> A.B.C.D/M: RIP distance. (line 14)
6601* no distance <1-255> A.B.C.D/M ACCESS-LIST: RIP distance. (line 19)
6602* no distance ospf: Redistribute routes to OSPF.
paula3957e32005-11-04 12:48:25 +00006603 (line 60)
paul56d1d202004-11-15 21:56:53 +00006604* no distribute-list NAME out (kernel|connected|static|rip|ospf: Redistribute routes to OSPF.
paula3957e32005-11-04 12:48:25 +00006605 (line 50)
paul56d1d202004-11-15 21:56:53 +00006606* no exec-timeout: Basic Config Commands.
ajsc70257d2005-02-03 17:12:01 +00006607 (line 124)
paul56d1d202004-11-15 21:56:53 +00006608* no ip address ADDRESS/PREFIX: Interface Commands. (line 15)
6609* no ip address ADDRESS/PREFIX secondary: Interface Commands. (line 20)
6610* no ip as-path access-list WORD: AS Path Access List. (line 12)
6611* no ip as-path access-list WORD {permit|deny} LINE: AS Path Access List.
6612 (line 13)
6613* no ip community-list expanded NAME: BGP Community Lists. (line 37)
6614* no ip community-list NAME: BGP Community Lists. (line 35)
6615* no ip community-list standard NAME: BGP Community Lists. (line 36)
6616* no ip extcommunity-list expanded NAME: BGP Extended Community Lists.
6617 (line 29)
6618* no ip extcommunity-list NAME: BGP Extended Community Lists.
6619 (line 27)
6620* no ip extcommunity-list standard NAME: BGP Extended Community Lists.
6621 (line 28)
6622* no ip ospf authentication-key: OSPF interface. (line 8)
6623* no ip ospf cost: OSPF interface. (line 31)
paula3957e32005-11-04 12:48:25 +00006624* no ip ospf dead-interval: OSPF interface. (line 38)
6625* no ip ospf hello-interval: OSPF interface. (line 55)
paul56d1d202004-11-15 21:56:53 +00006626* no ip ospf message-digest-key: OSPF interface. (line 14)
paula3957e32005-11-04 12:48:25 +00006627* no ip ospf network: OSPF interface. (line 66)
6628* no ip ospf priority: OSPF interface. (line 70)
6629* no ip ospf retransmit interval: OSPF interface. (line 77)
6630* no ip ospf transmit-delay: OSPF interface. (line 83)
paul56d1d202004-11-15 21:56:53 +00006631* no ip prefix-list NAME: IP Prefix List. (line 67)
6632* no ip prefix-list NAME description [DESC]: ip prefix-list description.
6633 (line 11)
6634* no ip prefix-list sequence-number: ip prefix-list sequential number control.
6635 (line 11)
6636* no ip rip authentication key-chain KEY-CHAIN: RIP Authentication.
Paul Jakmaf371b1f2006-05-10 19:53:58 +00006637 (line 44)
6638* no ip rip authentication mode md5: RIP Authentication. (line 30)
6639* no ip rip authentication mode text: RIP Authentication. (line 34)
6640* no ip rip authentication string STRING: RIP Authentication. (line 38)
6641* no ip split-horizon: RIP Configuration. (line 71)
paul56d1d202004-11-15 21:56:53 +00006642* no ip6 address ADDRESS/PREFIX: Interface Commands. (line 16)
paulbbd938e2005-04-02 10:18:42 +00006643* no ipv6 nd adv-interval-option: Router Advertisement.
6644 (line 128)
6645* no ipv6 nd home-agent-config-flag: Router Advertisement.
6646 (line 105)
6647* no ipv6 nd home-agent-lifetime: Router Advertisement.
6648 (line 120)
6649* no ipv6 nd home-agent-preference: Router Advertisement.
6650 (line 113)
paul56d1d202004-11-15 21:56:53 +00006651* no ipv6 nd managed-config-flag: Router Advertisement.
paulbbd938e2005-04-02 10:18:42 +00006652 (line 88)
paul56d1d202004-11-15 21:56:53 +00006653* no ipv6 nd other-config-flag: Router Advertisement.
paulbbd938e2005-04-02 10:18:42 +00006654 (line 97)
paul56d1d202004-11-15 21:56:53 +00006655* no ipv6 nd ra-interval: Router Advertisement.
paulbbd938e2005-04-02 10:18:42 +00006656 (line 50)
6657* no ipv6 nd ra-interval msec: Router Advertisement.
6658 (line 58)
paul56d1d202004-11-15 21:56:53 +00006659* no ipv6 nd ra-lifetime: Router Advertisement.
paulbbd938e2005-04-02 10:18:42 +00006660 (line 66)
paul56d1d202004-11-15 21:56:53 +00006661* no ipv6 nd reachable-time: Router Advertisement.
paulbbd938e2005-04-02 10:18:42 +00006662 (line 78)
paul56d1d202004-11-15 21:56:53 +00006663* no ipv6 nd suppress-ra: Router Advertisement.
6664 (line 7)
6665* no link-detect: Interface Commands. (line 38)
ajs274a4a42004-12-07 15:39:31 +00006666* no log facility: Basic Config Commands.
ajsc70257d2005-02-03 17:12:01 +00006667 (line 82)
ajs274a4a42004-12-07 15:39:31 +00006668* no log file: Basic Config Commands.
6669 (line 43)
6670* no log monitor: Basic Config Commands.
ajsc70257d2005-02-03 17:12:01 +00006671 (line 70)
ajs274a4a42004-12-07 15:39:31 +00006672* no log record-priority: Basic Config Commands.
ajsc70257d2005-02-03 17:12:01 +00006673 (line 88)
paul56d1d202004-11-15 21:56:53 +00006674* no log stdout: Basic Config Commands.
ajs274a4a42004-12-07 15:39:31 +00006675 (line 30)
paul56d1d202004-11-15 21:56:53 +00006676* no log syslog: Basic Config Commands.
ajsc70257d2005-02-03 17:12:01 +00006677 (line 61)
ajs274a4a42004-12-07 15:39:31 +00006678* no log trap: Basic Config Commands.
6679 (line 18)
paula3957e32005-11-04 12:48:25 +00006680* no max-metric router-lsa [on-startup|on-shutdown|administrative]: OSPF router.
6681 (line 113)
paul56d1d202004-11-15 21:56:53 +00006682* no multicast: Interface Commands. (line 28)
Paul Jakmaf371b1f2006-05-10 19:53:58 +00006683* no neighbor A.B.C.D: RIP Configuration. (line 35)
paul56d1d202004-11-15 21:56:53 +00006684* no neighbor PEER default-originate: BGP Peer commands. (line 48)
6685* no neighbor PEER description ...: BGP Peer commands. (line 21)
6686* no neighbor PEER dont-capability-negotiate: Capability Negotiation.
paulaa5943f2005-11-04 21:53:59 +00006687 (line 52)
paul56d1d202004-11-15 21:56:53 +00006688* no neighbor PEER ebgp-multihop: BGP Peer commands. (line 18)
6689* no neighbor PEER interface IFNAME: BGP Peer commands. (line 34)
6690* no neighbor PEER maximum-prefix NUMBER: BGP Peer commands. (line 65)
6691* no neighbor PEER next-hop-self: BGP Peer commands. (line 40)
6692* no neighbor PEER override-capability: Capability Negotiation.
paulaa5943f2005-11-04 21:53:59 +00006693 (line 68)
paul56d1d202004-11-15 21:56:53 +00006694* no neighbor PEER route-reflector-client: Route Reflector. (line 10)
6695* no neighbor PEER shutdown: BGP Peer commands. (line 11)
6696* no neighbor PEER strict-capability-match: Capability Negotiation.
paulaa5943f2005-11-04 21:53:59 +00006697 (line 41)
paul56d1d202004-11-15 21:56:53 +00006698* no neighbor PEER update-source: BGP Peer commands. (line 45)
6699* no neighbor PEER weight WEIGHT: BGP Peer commands. (line 60)
6700* no network A.B.C.D/M: BGP route. (line 17)
paula3957e32005-11-04 12:48:25 +00006701* no network A.B.C.D/M area <0-4294967295>: OSPF router. (line 157)
6702* no network A.B.C.D/M area A.B.C.D: OSPF router. (line 156)
Paul Jakmaf371b1f2006-05-10 19:53:58 +00006703* no network IFNAME: RIP Configuration. (line 28)
6704* no network NETWORK: RIP Configuration. (line 16)
paula3957e32005-11-04 12:48:25 +00006705* no ospf abr-type TYPE: OSPF router. (line 27)
6706* no ospf rfc1583compatibility: OSPF router. (line 49)
paul56d1d202004-11-15 21:56:53 +00006707* no ospf router-id: OSPF router. (line 17)
paula3957e32005-11-04 12:48:25 +00006708* no passive interface INTERFACE: OSPF router. (line 60)
Paul Jakmaf371b1f2006-05-10 19:53:58 +00006709* no passive-interface IFNAME: RIP Configuration. (line 58)
paul56d1d202004-11-15 21:56:53 +00006710* no redistribute (kernel|connected|static|rip|bgp): Redistribute routes to OSPF.
6711 (line 22)
6712* no redistribute bgp: How to Announce RIP route.
6713 (line 44)
6714* no redistribute connected: How to Announce RIP route.
6715 (line 26)
6716* no redistribute kernel: How to Announce RIP route.
6717 (line 10)
6718* no redistribute ospf: How to Announce RIP route.
6719 (line 36)
6720* no redistribute static: How to Announce RIP route.
6721 (line 18)
6722* no route A.B.C.D/M: How to Announce RIP route.
6723 (line 54)
6724* no router bgp ASN: BGP router. (line 19)
6725* no router ospf: OSPF router. (line 11)
6726* no router rip: RIP Configuration. (line 12)
6727* no router zebra: Redistribute routes to OSPF.
paula3957e32005-11-04 12:48:25 +00006728 (line 63)
paul56d1d202004-11-15 21:56:53 +00006729* no shutdown: Interface Commands. (line 10)
6730* no smux peer OID: MIB and command reference.
6731 (line 29)
6732* no smux peer OID PASSWORD: MIB and command reference.
6733 (line 32)
6734* no timers basic: RIP Timers. (line 31)
paula3957e32005-11-04 12:48:25 +00006735* no timers throttle spf: OSPF router. (line 72)
Paul Jakmaf371b1f2006-05-10 19:53:58 +00006736* no version: RIP Version Control. (line 30)
paul56d1d202004-11-15 21:56:53 +00006737* offset-list ACCESS-LIST (in|out): RIP Metric Manipulation.
6738 (line 20)
6739* offset-list ACCESS-LIST (in|out) IFNAME: RIP Metric Manipulation.
6740 (line 21)
paulaa5943f2005-11-04 21:53:59 +00006741* on-match goto N: Route Map Exit Action Command.
6742 (line 11)
6743* on-match next: Route Map Exit Action Command.
6744 (line 7)
paula3957e32005-11-04 12:48:25 +00006745* ospf abr-type TYPE: OSPF router. (line 26)
6746* ospf rfc1583compatibility: OSPF router. (line 48)
paul56d1d202004-11-15 21:56:53 +00006747* ospf router-id A.B.C.D: OSPF router. (line 16)
paula3957e32005-11-04 12:48:25 +00006748* passive interface INTERFACE: OSPF router. (line 59)
Paul Jakmaf371b1f2006-05-10 19:53:58 +00006749* passive-interface (IFNAME|default): RIP Configuration. (line 57)
paul56d1d202004-11-15 21:56:53 +00006750* password PASSWORD: Basic Config Commands.
6751 (line 10)
6752* redistribute (kernel|connected|static|rip|bgp): Redistribute routes to OSPF.
6753 (line 7)
6754* redistribute (kernel|connected|static|rip|bgp) metric <0-16777214>: Redistribute routes to OSPF.
6755 (line 15)
6756* redistribute (kernel|connected|static|rip|bgp) metric <0-16777214> route-map WORD: Redistribute routes to OSPF.
6757 (line 17)
6758* redistribute (kernel|connected|static|rip|bgp) metric-type (1|2): Redistribute routes to OSPF.
6759 (line 11)
6760* redistribute (kernel|connected|static|rip|bgp) metric-type (1|2) metric <0-16777214>: Redistribute routes to OSPF.
6761 (line 19)
6762* redistribute (kernel|connected|static|rip|bgp) metric-type (1|2) metric <0-16777214> route-map WORD: Redistribute routes to OSPF.
6763 (line 21)
6764* redistribute (kernel|connected|static|rip|bgp) metric-type (1|2) route-map WORD: Redistribute routes to OSPF.
6765 (line 13)
6766* redistribute (kernel|connected|static|rip|bgp) ROUTE-MAP: Redistribute routes to OSPF.
6767 (line 9)
6768* redistribute bgp: How to Announce RIP route.
6769 (line 41)
6770* redistribute bgp metric <0-16>: How to Announce RIP route.
6771 (line 42)
6772* redistribute bgp route-map ROUTE-MAP: How to Announce RIP route.
6773 (line 43)
6774* redistribute connected <1>: Redistribute to BGP. (line 13)
6775* redistribute connected <2>: Redistribute routes to OSPF6.
6776 (line 8)
6777* redistribute connected: How to Announce RIP route.
6778 (line 23)
6779* redistribute connected metric <0-16>: How to Announce RIP route.
6780 (line 24)
6781* redistribute connected route-map ROUTE-MAP: How to Announce RIP route.
6782 (line 25)
6783* redistribute kernel <1>: Redistribute to BGP. (line 7)
6784* redistribute kernel: How to Announce RIP route.
6785 (line 7)
6786* redistribute kernel metric <0-16>: How to Announce RIP route.
6787 (line 8)
6788* redistribute kernel route-map ROUTE-MAP: How to Announce RIP route.
6789 (line 9)
6790* redistribute ospf <1>: Redistribute to BGP. (line 19)
6791* redistribute ospf: How to Announce RIP route.
6792 (line 33)
6793* redistribute ospf metric <0-16>: How to Announce RIP route.
6794 (line 34)
6795* redistribute ospf route-map ROUTE-MAP: How to Announce RIP route.
6796 (line 35)
6797* redistribute rip: Redistribute to BGP. (line 16)
6798* redistribute ripng: Redistribute routes to OSPF6.
6799 (line 9)
6800* redistribute static <1>: Redistribute to BGP. (line 10)
6801* redistribute static <2>: Redistribute routes to OSPF6.
6802 (line 7)
6803* redistribute static: How to Announce RIP route.
6804 (line 15)
6805* redistribute static metric <0-16>: How to Announce RIP route.
6806 (line 16)
6807* redistribute static route-map ROUTE-MAP: How to Announce RIP route.
6808 (line 17)
paul56d1d202004-11-15 21:56:53 +00006809* route A.B.C.D/M: How to Announce RIP route.
6810 (line 53)
6811* route NETWORK: ripngd Configuration.
6812 (line 21)
paulaa5943f2005-11-04 21:53:59 +00006813* route-map ROUTE-MAP-NAME (permit|deny) ORDER: Route Map Command.
paul56d1d202004-11-15 21:56:53 +00006814 (line 7)
6815* router bgp AS-NUMBER: BGP instance and view.
6816 (line 11)
6817* router bgp AS-NUMBER view NAME: BGP instance and view.
6818 (line 28)
6819* router bgp ASN: BGP router. (line 13)
6820* router ospf: OSPF router. (line 10)
6821* router ospf6: OSPF6 router. (line 7)
6822* router rip: RIP Configuration. (line 7)
6823* router ripng: ripngd Configuration.
6824 (line 9)
6825* router zebra <1>: Redistribute routes to OSPF.
paula3957e32005-11-04 12:48:25 +00006826 (line 62)
paul56d1d202004-11-15 21:56:53 +00006827* router zebra: ripngd Configuration.
6828 (line 24)
6829* router-id A.B.C.D: OSPF6 router. (line 9)
6830* service advanced-vty: Basic Config Commands.
ajsc70257d2005-02-03 17:12:01 +00006831 (line 100)
paul56d1d202004-11-15 21:56:53 +00006832* service integrated-vtysh-config: VTY shell integrated configuration.
6833 (line 7)
6834* service password-encryption: Basic Config Commands.
ajsc70257d2005-02-03 17:12:01 +00006835 (line 97)
paul56d1d202004-11-15 21:56:53 +00006836* service terminal-length <0-512>: Basic Config Commands.
ajsc70257d2005-02-03 17:12:01 +00006837 (line 103)
paul56d1d202004-11-15 21:56:53 +00006838* set as-path prepend AS-PATH: Using AS Path in Route Map.
6839 (line 9)
6840* set as-path prepend AS_PATH: Route Map Set Command.
6841 (line 19)
6842* set comm-list WORD delete: BGP Community in Route Map.
6843 (line 34)
6844* set community COMMUNITY <1>: Route Map Set Command.
6845 (line 22)
6846* set community COMMUNITY: BGP Community in Route Map.
6847 (line 23)
6848* set community COMMUNITY additive: BGP Community in Route Map.
6849 (line 24)
6850* set community none: BGP Community in Route Map.
6851 (line 22)
6852* set extcommunity rt EXTCOMMUNITY: BGP Extended Communities in Route Map.
6853 (line 9)
6854* set extcommunity soo EXTCOMMUNITY: BGP Extended Communities in Route Map.
6855 (line 12)
6856* set ip next-hop A.B.C.D: RIP route-map. (line 52)
6857* set ip next-hop IPV4_ADDRESS: Route Map Set Command.
6858 (line 7)
6859* set ipv6 next-hop global IPV6_ADDRESS: Route Map Set Command.
6860 (line 25)
6861* set ipv6 next-hop local IPV6_ADDRESS: Route Map Set Command.
6862 (line 28)
6863* set local-preference LOCAL_PREF: Route Map Set Command.
6864 (line 10)
6865* set metric <0-4294967295>: RIP route-map. (line 57)
6866* set metric METRIC: Route Map Set Command.
6867 (line 16)
6868* set weight WEIGHT: Route Map Set Command.
6869 (line 13)
6870* show debug: More Show IP BGP. (line 31)
6871* show debugging ospf: Debugging OSPF. (line 32)
6872* show debugging rip: RIP Debug Commands. (line 29)
6873* show debugging ripng: ripngd Terminal Mode Commands.
6874 (line 9)
6875* show interface: zebra Terminal Mode Commands.
6876 (line 21)
6877* show ip bgp: Show IP BGP. (line 7)
6878* show ip bgp A.B.C.D: Show IP BGP. (line 8)
6879* show ip bgp community: Display BGP Routes by Community.
6880 (line 11)
6881* show ip bgp community COMMUNITY <1>: More Show IP BGP. (line 11)
6882* show ip bgp community COMMUNITY: Display BGP Routes by Community.
6883 (line 12)
6884* show ip bgp community COMMUNITY exact-match <1>: More Show IP BGP.
6885 (line 12)
6886* show ip bgp community COMMUNITY exact-match: Display BGP Routes by Community.
6887 (line 13)
6888* show ip bgp community-list WORD <1>: More Show IP BGP. (line 16)
6889* show ip bgp community-list WORD: Display BGP Routes by Community.
6890 (line 20)
6891* show ip bgp community-list WORD exact-match <1>: More Show IP BGP.
6892 (line 17)
6893* show ip bgp community-list WORD exact-match: Display BGP Routes by Community.
6894 (line 21)
6895* show ip bgp neighbor [PEER]: More Show IP BGP. (line 23)
6896* show ip bgp regexp LINE <1>: More Show IP BGP. (line 7)
6897* show ip bgp regexp LINE: Display BGP Routes by AS Path.
6898 (line 10)
6899* show ip bgp summary: More Show IP BGP. (line 21)
6900* show ip bgp view NAME: Viewing the view. (line 9)
6901* show ip bgp X:X::X:X: Show IP BGP. (line 9)
6902* show ip community-list: BGP Community Lists. (line 42)
6903* show ip community-list NAME: BGP Community Lists. (line 43)
6904* show ip extcommunity-list: BGP Extended Community Lists.
6905 (line 35)
6906* show ip extcommunity-list NAME: BGP Extended Community Lists.
6907 (line 36)
6908* show ip ospf: Showing OSPF information.
6909 (line 7)
6910* show ip ospf database: Showing OSPF information.
paula3957e32005-11-04 12:48:25 +00006911 (line 20)
paul56d1d202004-11-15 21:56:53 +00006912* show ip ospf database (asbr-summary|external|network|router|summary): Showing OSPF information.
paula3957e32005-11-04 12:48:25 +00006913 (line 23)
paul56d1d202004-11-15 21:56:53 +00006914* show ip ospf database (asbr-summary|external|network|router|summary) adv-router ADV-ROUTER: Showing OSPF information.
paula3957e32005-11-04 12:48:25 +00006915 (line 30)
paul56d1d202004-11-15 21:56:53 +00006916* show ip ospf database (asbr-summary|external|network|router|summary) LINK-STATE-ID: Showing OSPF information.
paula3957e32005-11-04 12:48:25 +00006917 (line 25)
paul56d1d202004-11-15 21:56:53 +00006918* show ip ospf database (asbr-summary|external|network|router|summary) LINK-STATE-ID adv-router ADV-ROUTER: Showing OSPF information.
paula3957e32005-11-04 12:48:25 +00006919 (line 28)
paul56d1d202004-11-15 21:56:53 +00006920* show ip ospf database (asbr-summary|external|network|router|summary) LINK-STATE-ID self-originate: Showing OSPF information.
paul56d1d202004-11-15 21:56:53 +00006921 (line 33)
paula3957e32005-11-04 12:48:25 +00006922* show ip ospf database (asbr-summary|external|network|router|summary) self-originate: Showing OSPF information.
paul56d1d202004-11-15 21:56:53 +00006923 (line 35)
paula3957e32005-11-04 12:48:25 +00006924* show ip ospf database max-age: Showing OSPF information.
paul56d1d202004-11-15 21:56:53 +00006925 (line 37)
paula3957e32005-11-04 12:48:25 +00006926* show ip ospf database self-originate: Showing OSPF information.
paul56d1d202004-11-15 21:56:53 +00006927 (line 39)
paula3957e32005-11-04 12:48:25 +00006928* show ip ospf interface [INTERFACE]: Showing OSPF information.
6929 (line 11)
6930* show ip ospf neighbor: Showing OSPF information.
6931 (line 15)
6932* show ip ospf neighbor detail: Showing OSPF information.
6933 (line 17)
6934* show ip ospf neighbor INTERFACE: Showing OSPF information.
6935 (line 16)
6936* show ip ospf neighbor INTERFACE detail: Showing OSPF information.
6937 (line 18)
6938* show ip ospf route: Showing OSPF information.
6939 (line 41)
paul56d1d202004-11-15 21:56:53 +00006940* show ip prefix-list: Showing ip prefix-list.
6941 (line 7)
6942* show ip prefix-list detail: Showing ip prefix-list.
6943 (line 31)
6944* show ip prefix-list detail NAME: Showing ip prefix-list.
6945 (line 33)
6946* show ip prefix-list NAME: Showing ip prefix-list.
6947 (line 10)
6948* show ip prefix-list NAME A.B.C.D/M: Showing ip prefix-list.
6949 (line 17)
6950* show ip prefix-list NAME A.B.C.D/M first-match: Showing ip prefix-list.
6951 (line 25)
6952* show ip prefix-list NAME A.B.C.D/M longer: Showing ip prefix-list.
6953 (line 23)
6954* show ip prefix-list NAME seq NUM: Showing ip prefix-list.
6955 (line 13)
6956* show ip prefix-list summary: Showing ip prefix-list.
6957 (line 27)
6958* show ip prefix-list summary NAME: Showing ip prefix-list.
6959 (line 29)
6960* show ip protocols: Show RIP Information.
6961 (line 17)
6962* show ip rip: Show RIP Information.
6963 (line 9)
6964* show ip ripng: ripngd Terminal Mode Commands.
6965 (line 7)
6966* show ip route: zebra Terminal Mode Commands.
6967 (line 7)
6968* show ipforward: zebra Terminal Mode Commands.
6969 (line 23)
6970* show ipv6 ospf6 [INSTANCE_ID]: Showing OSPF6 information.
6971 (line 7)
6972* show ipv6 ospf6 database: Showing OSPF6 information.
6973 (line 11)
6974* show ipv6 ospf6 interface: Showing OSPF6 information.
6975 (line 15)
6976* show ipv6 ospf6 neighbor: Showing OSPF6 information.
6977 (line 18)
6978* show ipv6 ospf6 request-list A.B.C.D: Showing OSPF6 information.
6979 (line 21)
6980* show ipv6 route: zebra Terminal Mode Commands.
6981 (line 19)
6982* show ipv6 route ospf6: Showing OSPF6 information.
6983 (line 24)
6984* show ipv6forward: zebra Terminal Mode Commands.
6985 (line 28)
ajs274a4a42004-12-07 15:39:31 +00006986* show logging: Terminal Mode Commands.
6987 (line 30)
6988* show version: Terminal Mode Commands.
6989 (line 27)
paul56d1d202004-11-15 21:56:53 +00006990* shutdown: Interface Commands. (line 9)
6991* smux peer OID: MIB and command reference.
6992 (line 28)
6993* smux peer OID PASSWORD: MIB and command reference.
6994 (line 31)
6995* table TABLENO: Static Route Commands.
6996 (line 81)
ajs274a4a42004-12-07 15:39:31 +00006997* terminal length <0-512>: Terminal Mode Commands.
6998 (line 17)
paul56d1d202004-11-15 21:56:53 +00006999* timers basic UPDATE TIMEOUT GARBAGE: RIP Timers. (line 7)
paula3957e32005-11-04 12:48:25 +00007000* timers throttle spf DELAY INITIAL-HOLDTIME MAX-HOLDTIME: OSPF router.
7001 (line 71)
paul56d1d202004-11-15 21:56:53 +00007002* username USERNAME nopassword: VTY shell username. (line 7)
Paul Jakmaf371b1f2006-05-10 19:53:58 +00007003* version VERSION: RIP Version Control. (line 20)
ajs274a4a42004-12-07 15:39:31 +00007004* who: Terminal Mode Commands.
7005 (line 21)
7006* write file: Terminal Mode Commands.
7007 (line 10)
7008* write terminal: Terminal Mode Commands.
7009 (line 7)
paul56d1d202004-11-15 21:56:53 +00007010
7011
7012File: quagga.info, Node: VTY Key Index, Prev: Command Index, Up: Top
7013
7014VTY Key Index
7015*************
7016
7017�[index�]
7018* Menu:
7019
7020* <DEL>: CLI Editing Commands. (line 11)
7021* <DOWN>: CLI Advanced Commands.
7022 (line 17)
7023* <LEFT>: CLI Movement Commands.
7024 (line 15)
7025* <RIGHT>: CLI Movement Commands.
7026 (line 11)
7027* <TAB>: CLI Advanced Commands.
7028 (line 24)
7029* <UP>: CLI Advanced Commands.
7030 (line 21)
7031* ?: CLI Advanced Commands.
7032 (line 27)
7033* C-a: CLI Movement Commands.
7034 (line 24)
7035* C-b: CLI Movement Commands.
7036 (line 15)
7037* C-c: CLI Advanced Commands.
7038 (line 10)
7039* C-d: CLI Editing Commands. (line 14)
7040* C-e: CLI Movement Commands.
7041 (line 27)
7042* C-f: CLI Movement Commands.
7043 (line 11)
7044* C-h: CLI Editing Commands. (line 11)
7045* C-k: CLI Editing Commands. (line 23)
7046* C-n: CLI Advanced Commands.
7047 (line 17)
7048* C-p: CLI Advanced Commands.
7049 (line 21)
7050* C-t: CLI Editing Commands. (line 29)
7051* C-u: CLI Editing Commands. (line 26)
7052* C-w: CLI Editing Commands. (line 20)
7053* C-z: CLI Advanced Commands.
7054 (line 13)
7055* M-b: CLI Movement Commands.
7056 (line 21)
7057* M-d: CLI Editing Commands. (line 17)
7058* M-f: CLI Movement Commands.
7059 (line 18)
7060
7061
7062
7063Tag Table:
Paul Jakma4528ffa2006-02-19 07:16:25 +00007064Node: Top1971
7065Node: Overview3329
7066Node: About Quagga4730
7067Node: System Architecture6983
7068Node: Supported Platforms9673
7069Node: Supported RFC10814
7070Node: How to get Quagga12896
7071Node: Mailing List13650
7072Node: Bug Reports14097
7073Node: Installation14975
7074Node: Configure the Software15409
7075Node: The Configure script and its options15657
7076Node: Least-Privilege support18845
7077Node: Linux notes20581
7078Ref: Linux notes-Footnote-122439
7079Node: Build the Software22505
7080Node: Install the Software23053
7081Node: Basic commands24513
7082Node: Config Commands25288
7083Node: Basic Config Commands26181
7084Node: Sample Config File31671
7085Node: Terminal Mode Commands32441
7086Node: Common Invocation Options33538
7087Node: Virtual Terminal Interfaces34945
7088Node: VTY Overview35456
7089Node: VTY Modes36707
7090Node: VTY View Mode37157
7091Node: VTY Enable Mode37407
7092Node: VTY Other Modes37685
7093Node: VTY CLI Commands37861
7094Node: CLI Movement Commands38321
7095Node: CLI Editing Commands38844
7096Node: CLI Advanced Commands39432
7097Node: Zebra40198
7098Node: Invoking zebra40707
Paul Jakmaf371b1f2006-05-10 19:53:58 +00007099Node: Interface Commands41238
7100Node: Static Route Commands42770
7101Node: zebra Terminal Mode Commands46043
7102Node: RIP47008
7103Node: Starting and Stopping ripd47969
7104Node: RIP netmask49382
7105Node: RIP Configuration50481
7106Node: RIP Version Control53481
7107Node: How to Announce RIP route55663
7108Node: Filtering RIP Routes58228
7109Node: RIP Metric Manipulation59695
7110Node: RIP distance60608
7111Node: RIP route-map61423
7112Node: RIP Authentication63939
7113Node: RIP Timers66182
7114Node: Show RIP Information67470
7115Node: RIP Debug Commands68843
7116Node: RIPng69839
7117Node: Invoking ripngd70159
7118Node: ripngd Configuration70408
7119Node: ripngd Terminal Mode Commands71159
7120Node: ripngd Filtering Commands71523
7121Node: OSPFv272032
7122Node: Configuring ospfd72684
7123Node: OSPF router73232
7124Node: OSPF area81558
7125Node: OSPF interface87683
7126Ref: ip ospf dead-interval minimal89252
7127Node: Redistribute routes to OSPF91824
7128Node: Showing OSPF information94482
7129Ref: show ip ospf94667
7130Node: Debugging OSPF95998
7131Node: OSPF Configuration Examples97073
7132Node: OSPFv398443
7133Node: OSPF6 router98796
7134Node: OSPF6 area99150
7135Node: OSPF6 interface99328
7136Node: Redistribute routes to OSPF6100205
7137Node: Showing OSPF6 information100521
7138Node: OSPF6 Configuration Examples101378
7139Node: BGP101799
7140Node: Starting BGP102721
7141Node: BGP router103298
7142Node: BGP distance104542
7143Node: BGP decision process104980
7144Node: BGP network105462
7145Node: BGP route105652
7146Node: Route Aggregation106208
7147Node: Redistribute to BGP106777
7148Node: BGP Peer107304
7149Node: Defining Peer107491
7150Node: BGP Peer commands108104
7151Node: Peer filtering110508
7152Node: BGP Peer Group111016
7153Node: BGP Address Family111329
7154Node: Autonomous System111483
7155Node: AS Path Regular Expression112360
7156Node: Display BGP Routes by AS Path113607
7157Node: AS Path Access List114047
7158Node: Using AS Path in Route Map114514
7159Node: Private AS Numbers114795
7160Node: BGP Communities Attribute114953
7161Node: BGP Community Lists117414
7162Node: Numbered BGP Community Lists120068
7163Node: BGP Community in Route Map121655
7164Node: Display BGP Routes by Community123598
7165Node: Using BGP Communities Attribute124767
7166Node: BGP Extended Communities Attribute128335
7167Node: BGP Extended Community Lists130107
7168Node: BGP Extended Communities in Route Map131982
7169Node: Displaying BGP routes132441
7170Node: Show IP BGP132678
7171Node: More Show IP BGP133378
7172Node: Capability Negotiation134529
7173Node: Route Reflector138001
7174Node: Route Server138280
7175Node: Multiple instance139346
7176Node: BGP instance and view141191
7177Node: Routing policy142571
7178Node: Viewing the view143339
7179Node: How to set up a 6-Bone connection143624
7180Node: Dump BGP packets and table144996
7181Node: BGP Configuration Examples145578
7182Node: Configuring Quagga as a Route Server154529
7183Node: Description of the Route Server model155490
7184Ref: fig:normal-processing157067
7185Ref: fig:full-mesh157669
7186Ref: fig:route-server157764
7187Ref: filter-delegation158159
7188Ref: Route Server tasks159328
7189Ref: Route-server path filter process159699
7190Ref: fig:rs-processing162013
7191Node: Commands for configuring a Route Server164422
7192Node: Example of Route Server Configuration167449
7193Node: Configuration of the BGP routers without Route Server168370
7194Node: Configuration of the BGP routers with Route Server171253
7195Node: Configuration of the Route Server itself172554
7196Node: Further considerations about Import and Export route-maps177553
7197Node: VTY shell180597
7198Node: VTY shell username181266
7199Node: VTY shell integrated configuration181898
7200Node: Filtering183346
7201Node: IP Access List183699
7202Node: IP Prefix List184085
7203Node: ip prefix-list description187104
7204Node: ip prefix-list sequential number control187631
7205Node: Showing ip prefix-list188173
7206Node: Clear counter of ip prefix-list189281
7207Node: Route Map189720
7208Node: Route Map Command193165
7209Node: Route Map Match Command193474
7210Node: Route Map Set Command194098
7211Node: Route Map Call Command195006
7212Node: Route Map Exit Action Command195336
7213Node: Route Map Examples195818
7214Node: IPv6 Support196330
7215Node: Router Advertisement196902
7216Node: Kernel Interface202518
7217Node: SNMP Support204475
7218Node: Getting and installing an SNMP agent205074
7219Node: SMUX configuration205647
7220Node: MIB and command reference207783
7221Node: Handling SNMP Traps209198
7222Node: Zebra Protocol215277
7223Node: Packet Binary Dump Format219366
7224Node: Command Index230976
7225Node: VTY Key Index289710
paul56d1d202004-11-15 21:56:53 +00007226
7227End Tag Table