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