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