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