~ubuntu-branches/ubuntu/warty/quagga/warty

« back to all changes in this revision

Viewing changes to doc/quagga.info-2

  • Committer: Bazaar Package Importer
  • Author(s): Fabio M. Di Nitto
  • Date: 2004-06-29 09:50:59 UTC
  • Revision ID: james.westby@ubuntu.com-20040629095059-px1m2m108z4qw1mr
Tags: upstream-0.96.5
ImportĀ upstreamĀ versionĀ 0.96.5

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
This is quagga.info, produced by makeinfo version 4.5 from quagga.texi.
 
2
 
 
3
INFO-DIR-SECTION Routing Software:
 
4
START-INFO-DIR-ENTRY
 
5
* Quagga: (quagga).             The Quagga routing software
 
6
END-INFO-DIR-ENTRY
 
7
 
 
8
   This file documents the GNU Quagga software which manages common
 
9
TCP/IP routing protocols.
 
10
 
 
11
   This is Edition 0.1, last updated 12 August 2003 of `The Quagga
 
12
Manual', for Quagga Version 0.96.
 
13
 
 
14
   Copyright (C) 1999, 2000, 2001, 2002 Kunihiro Ishiguro
 
15
 
 
16
   Permission is granted to make and distribute verbatim copies of this
 
17
manual provided the copyright notice and this permission notice are
 
18
preserved on all copies.
 
19
 
 
20
   Permission is granted to copy and distribute modified versions of
 
21
this manual under the conditions for verbatim copying, provided that the
 
22
entire resulting derived work is distributed under the terms of a
 
23
permission notice identical to this one.
 
24
 
 
25
   Permission is granted to copy and distribute translations of this
 
26
manual into another language, under the above conditions for modified
 
27
versions, except that this permission notice may be stated in a
 
28
translation approved by Kunihiro Ishiguro.
 
29
 
 
30
 
 
31
File: quagga.info,  Node: How to Announce RIP route,  Next: Filtering RIP Routes,  Prev: RIP Configuration,  Up: RIP
 
32
 
 
33
How to Announce RIP route
 
34
=========================
 
35
 
 
36
 - RIP command: redistribute kernel
 
37
 - RIP command: redistribute kernel metric <0-16>
 
38
 - RIP command: redistribute kernel route-map ROUTE-MAP
 
39
 - RIP command: no redistribute kernel
 
40
     `redistribute kernel' redistributes routing information from
 
41
     kernel route entries into the RIP tables. `no redistribute kernel'
 
42
     disables the routes.
 
43
 
 
44
 - RIP command: redistribute static
 
45
 - RIP command: redistribute static metric <0-16>
 
46
 - RIP command: redistribute static route-map ROUTE-MAP
 
47
 - RIP command: no redistribute static
 
48
     `redistribute static' redistributes routing information from
 
49
     static route entries into the RIP tables. `no redistribute static'
 
50
     disables the routes.
 
51
 
 
52
 - RIP command: redistribute connected
 
53
 - RIP command: redistribute connected metric <0-16>
 
54
 - RIP command: redistribute connected route-map ROUTE-MAP
 
55
 - RIP command: no redistribute connected
 
56
     Redistribute connected routes into the RIP tables.  `no
 
57
     redistribute connected' disables the connected routes in the RIP
 
58
     tables.  This command redistribute connected of the interface
 
59
     which RIP disabled.  The connected route on RIP enabled interface
 
60
     is announced by default.
 
61
 
 
62
 - RIP command: redistribute ospf
 
63
 - RIP command: redistribute ospf metric <0-16>
 
64
 - RIP command: redistribute ospf route-map ROUTE-MAP
 
65
 - RIP command: no redistribute ospf
 
66
     `redistribute ospf' redistributes routing information from ospf
 
67
     route entries into the RIP tables. `no redistribute ospf' disables
 
68
     the routes.
 
69
 
 
70
 - RIP command: redistribute bgp
 
71
 - RIP command: redistribute bgp metric <0-16>
 
72
 - RIP command: redistribute bgp route-map ROUTE-MAP
 
73
 - RIP command: no redistribute bgp
 
74
     `redistribute bgp' redistributes routing information from bgp
 
75
     route entries into the RIP tables. `no redistribute bgp' disables
 
76
     the routes.
 
77
 
 
78
   If you want to specify RIP only static routes:
 
79
 
 
80
 - RIP command: default-information originate
 
81
 
 
82
 - RIP command: route A.B.C.D/M
 
83
 - RIP command: no route A.B.C.D/M
 
84
     This command is specific to Quagga.  The `route' command makes a
 
85
     static route only inside RIP. This command should be used only by
 
86
     advanced users who are particularly knowledgeable about the RIP
 
87
     protocol.  In most cases, we recommend creating a static route in
 
88
     Quagga and redistributing it in RIP using `redistribute static'.
 
89
 
 
90
 
 
91
File: quagga.info,  Node: Filtering RIP Routes,  Next: RIP Metric Manipulation,  Prev: How to Announce RIP route,  Up: RIP
 
92
 
 
93
Filtering RIP Routes
 
94
====================
 
95
 
 
96
   RIP routes can be filtered by a distribute-list.
 
97
 
 
98
 - Command: distribute-list ACCESS_LIST DIRECT IFNAME
 
99
     You can apply access lists to the interface with a
 
100
     `distribute-list' command.  ACCESS_LIST is the access list name.
 
101
     DIRECT is `in' or `out'.  If DIRECT is `in' the access list is
 
102
     applied to input packets.
 
103
 
 
104
     The `distribute-list' command can be used to filter the RIP path.
 
105
     `distribute-list' can apply access-lists to a chosen interface.
 
106
     First, one should specify the access-list.  Next, the name of the
 
107
     access-list is used in the distribute-list command.  For example,
 
108
     in the following configuration `eth0' will permit only the paths
 
109
     that match the route 10.0.0.0/8
 
110
 
 
111
          !
 
112
          router rip
 
113
           distribute-list private in eth0
 
114
          !
 
115
          access-list private permit 10 10.0.0.0/8
 
116
          access-list private deny any
 
117
          !
 
118
 
 
119
   `distribute-list' can be applied to both incoming and outgoing data.
 
120
 
 
121
 - Command: distribute-list prefix PREFIX_LIST (in|out) IFNAME
 
122
     You can apply prefix lists to the interface with a
 
123
     `distribute-list' command.  PREFIX_LIST is the prefix list name.
 
124
     Next is the direction of `in' or `out'.  If DIRECT is `in' the
 
125
     access list is applied to input packets.
 
126
 
 
127
 
 
128
File: quagga.info,  Node: RIP Metric Manipulation,  Next: RIP distance,  Prev: Filtering RIP Routes,  Up: RIP
 
129
 
 
130
RIP Metric Manipulation
 
131
=======================
 
132
 
 
133
   RIP metric is a value for distance for the network.  Usually `ripd'
 
134
increment the metric when the network information is received.
 
135
Redistributed routes' metric is set to 1.
 
136
 
 
137
 - RIP command: default-metric <1-16>
 
138
 - RIP command: no default-metric <1-16>
 
139
     This command modifies the default metric value for redistributed
 
140
     routes.  The default value is 1.  This command does not affect
 
141
     connected route even if it is redistributed by `redistribute
 
142
     connected'.  To modify connected route's metric value, please use
 
143
     `redistribute connected metric' or `route-map'.  `offset-list' also
 
144
     affects connected routes.
 
145
 
 
146
 - RIP command: offset-list ACCESS-LIST (in|out)
 
147
 - RIP command: offset-list ACCESS-LIST (in|out) IFNAME
 
148
 
 
149
 
 
150
File: quagga.info,  Node: RIP distance,  Next: RIP route-map,  Prev: RIP Metric Manipulation,  Up: RIP
 
151
 
 
152
RIP distance
 
153
============
 
154
 
 
155
   Distance value is used in zebra daemon.  Default RIP distance is 120.
 
156
 
 
157
 - RIP command: distance <1-255>
 
158
 - RIP command: no distance <1-255>
 
159
     Set default RIP distance to specified value.
 
160
 
 
161
 - RIP command: distance <1-255> A.B.C.D/M
 
162
 - RIP command: no distance <1-255> A.B.C.D/M
 
163
     Set default RIP distance to specified value when the route's
 
164
     source IP address matches the specified prefix.
 
165
 
 
166
 - RIP command: distance <1-255> A.B.C.D/M ACCESS-LIST
 
167
 - RIP command: no distance <1-255> A.B.C.D/M ACCESS-LIST
 
168
     Set default RIP distance to specified value when the route's
 
169
     source IP address matches the specified prefix and the specified
 
170
     access-list.
 
171
 
 
172
 
 
173
File: quagga.info,  Node: RIP route-map,  Next: RIP Authentication,  Prev: RIP distance,  Up: RIP
 
174
 
 
175
RIP route-map
 
176
=============
 
177
 
 
178
   Usage of `ripd''s route-map support.
 
179
 
 
180
   Optional argument route-map MAP_NAME can be added to each
 
181
`redistribute' statement.
 
182
 
 
183
     redistribute static [route-map MAP_NAME]
 
184
     redistribute connected [route-map MAP_NAME]
 
185
     .....
 
186
 
 
187
   Cisco applies route-map _before_ routes will exported to rip route
 
188
table.  In current Quagga's test implementation, `ripd' applies
 
189
route-map after routes are listed in the route table and before routes
 
190
will be announced to an interface (something like output filter). I
 
191
think it is not so clear, but it is draft and it may be changed at
 
192
future.
 
193
 
 
194
   Route-map statement (*note Route Map::) is needed to use route-map
 
195
functionality.
 
196
 
 
197
 - Route Map: match interface WORD
 
198
     This command match to incoming interface.  Notation of this match
 
199
     is different from Cisco. Cisco uses a list of interfaces - NAME1
 
200
     NAME2 ... NAMEN.  Ripd allows only one name (maybe will change in
 
201
     the future).  Next - Cisco means interface which includes next-hop
 
202
     of routes (it is somewhat similar to "ip next-hop" statement).
 
203
     Ripd means interface where this route will be sent. This
 
204
     difference is because "next-hop" of same routes which sends to
 
205
     different interfaces must be different. Maybe it'd be better to
 
206
     made new matches - say "match interface-out NAME" or something
 
207
     like that.
 
208
 
 
209
 - Route Map: match ip address WORD
 
210
 - Route Map: match ip address prefix-list WORD
 
211
     Match if route destination is permitted by access-list.
 
212
 
 
213
 - Route Map: match ip next-hop A.B.C.D
 
214
     Cisco uses here <access-list>, `ripd' IPv4 address. Match if route
 
215
     has this next-hop (meaning next-hop listed in the rip route table
 
216
     - "show ip rip")
 
217
 
 
218
 - Route Map: match metric <0-4294967295>
 
219
     This command match to the metric value of RIP updates.  For other
 
220
     protocol compatibility metric range is shown as <0-4294967295>.
 
221
     But for RIP protocol only the value range <0-16> make sense.
 
222
 
 
223
 - Route Map: set ip next-hop A.B.C.D
 
224
     This command set next hop value in RIPv2 protocol.  This command
 
225
     does not affect RIPv1 because there is no next hop field in the
 
226
     packet.
 
227
 
 
228
 - Route Map: set metric <0-4294967295>
 
229
     Set a metric for matched route when sending announcement.  The
 
230
     metric value range is very large for compatibility with other
 
231
     protocols.  For RIP, valid metric values are from 1 to 16.
 
232
 
 
233
 
 
234
File: quagga.info,  Node: RIP Authentication,  Next: RIP Timers,  Prev: RIP route-map,  Up: RIP
 
235
 
 
236
RIP Authentication
 
237
==================
 
238
 
 
239
 - Interface command: ip rip authentication mode md5
 
240
 - Interface command: no ip rip authentication mode md5
 
241
     Set the interface with RIPv2 MD5 authentication.
 
242
 
 
243
 - Interface command: ip rip authentication mode text
 
244
 - Interface command: no ip rip authentication mode text
 
245
     Set the interface with RIPv2 simple password authentication.
 
246
 
 
247
 - Interface command: ip rip authentication string STRING
 
248
 - Interface command: no ip rip authentication string STRING
 
249
     RIP version 2 has simple text authentication.  This command sets
 
250
     authentication string.  The string must be shorter than 16
 
251
     characters.
 
252
 
 
253
 - Interface command: ip rip authentication key-chain KEY-CHAIN
 
254
 - Interface command: no ip rip authentication key-chain KEY-CHAIN
 
255
     Specifiy Keyed MD5 chain.
 
256
 
 
257
     !
 
258
     key chain test
 
259
      key 1
 
260
       key-string test
 
261
     !
 
262
     interface eth1
 
263
      ip rip authentication mode md5
 
264
      ip rip authentication key-chain test
 
265
     !
 
266
 
 
267
 
 
268
File: quagga.info,  Node: RIP Timers,  Next: Show RIP Information,  Prev: RIP Authentication,  Up: RIP
 
269
 
 
270
RIP Timers
 
271
==========
 
272
 
 
273
 - RIP command: timers basic UPDATE TIMEOUT GARBAGE
 
274
     RIP protocol has several timers.  User can configure those timers'
 
275
     values by `timers basic' command.
 
276
 
 
277
     The default settings for the timers are as follows:
 
278
 
 
279
        * The update timer is 30 seconds. Every update timer seconds,
 
280
          the RIP process is awakened to send an unsolicited Response
 
281
          message containing the complete routing table to all
 
282
          neighboring RIP routers.
 
283
 
 
284
        * The timeout timer is 180 seconds. Upon expiration of the
 
285
          timeout, the route is no longer valid; however, it is
 
286
          retained in the routing table for a short time so that
 
287
          neighbors can be notified that the route has been dropped.
 
288
 
 
289
        * The garbage collect timer is 120 seconds.  Upon expiration of
 
290
          the garbage-collection timer, the route is finally removed
 
291
          from the routing table.
 
292
 
 
293
 
 
294
     The `timers basic' command allows the the default values of the
 
295
     timers listed above to be changed.
 
296
 
 
297
 - RIP command: no timers basic
 
298
     The `no timers basic' command will reset the timers to the default
 
299
     settings listed above.
 
300
 
 
301
 
 
302
File: quagga.info,  Node: Show RIP Information,  Next: RIP Debug Commands,  Prev: RIP Timers,  Up: RIP
 
303
 
 
304
Show RIP Information
 
305
====================
 
306
 
 
307
   To display RIP routes.
 
308
 
 
309
 - Command: show ip rip
 
310
     Show RIP routes.
 
311
 
 
312
   The command displays all RIP routes. For routes that are received
 
313
through RIP, this command will display the time the packet was sent and
 
314
the tag information.  This command will also display this information
 
315
for routes redistributed into RIP.
 
316
 
 
317
 - Command: show ip protocols
 
318
     The command displays current RIP status.  It includes RIP timer,
 
319
     filtering, version, RIP enabled interface and RIP peer inforation.
 
320
 
 
321
     ripd> show ip protocols
 
322
     Routing Protocol is "rip"
 
323
       Sending updates every 30 seconds with +/-50%, next due in 35 seconds
 
324
       Timeout after 180 seconds, garbage collect after 120 seconds
 
325
       Outgoing update filter list for all interface is not set
 
326
       Incoming update filter list for all interface is not set
 
327
       Default redistribution metric is 1
 
328
       Redistributing: kernel connected
 
329
       Default version control: send version 2, receive version 2
 
330
         Interface        Send  Recv
 
331
       Routing for Networks:
 
332
         eth0
 
333
         eth1
 
334
         1.1.1.1
 
335
         203.181.89.241
 
336
       Routing Information Sources:
 
337
         Gateway          BadPackets BadRoutes  Distance Last Update
 
338
 
 
339
 
 
340
File: quagga.info,  Node: RIP Debug Commands,  Prev: Show RIP Information,  Up: RIP
 
341
 
 
342
RIP Debug Commands
 
343
==================
 
344
 
 
345
   Debug for RIP protocol.
 
346
 
 
347
 - Command: debug rip events
 
348
     Debug rip events.
 
349
 
 
350
   `debug rip' will show RIP events.  Sending and receiving packets,
 
351
timers, and changes in interfaces are events shown with `ripd'.
 
352
 
 
353
 - Command: debug rip packet
 
354
     Debug rip packet.
 
355
 
 
356
   `debug rip packet' will display detailed information about the RIP
 
357
packets.  The origin and port number of the packet as well as a packet
 
358
dump is shown.
 
359
 
 
360
 - Command: debug rip zebra
 
361
     Debug rip between zebra communication.
 
362
 
 
363
   This command will show the communication between `ripd' and `zebra'.
 
364
The main information will include addition and deletion of paths to the
 
365
kernel and the sending and receiving of interface information.
 
366
 
 
367
 - Command: show debugging rip
 
368
     Display `ripd''s debugging option.
 
369
 
 
370
   `show debugging rip' will show all information currently set for ripd
 
371
debug.
 
372
 
 
373
 
 
374
File: quagga.info,  Node: RIPng,  Next: OSPFv2,  Prev: RIP,  Up: Top
 
375
 
 
376
RIPng
 
377
*****
 
378
 
 
379
   `ripngd' supports the RIPng protocol as described in RFC2080.  It's
 
380
an IPv6 reincarnation of the RIP protocol.
 
381
 
 
382
* Menu:
 
383
 
 
384
* Invoking ripngd::
 
385
* ripngd Configuration::
 
386
* ripngd Terminal Mode Commands::
 
387
* ripngd Filtering Commands::
 
388
 
 
389
 
 
390
File: quagga.info,  Node: Invoking ripngd,  Next: ripngd Configuration,  Prev: RIPng,  Up: RIPng
 
391
 
 
392
Invoking ripngd
 
393
===============
 
394
 
 
395
   There are no `ripngd' specific invocation options.  Common options
 
396
can be specified (*note Common Invocation Options::).
 
397
 
 
398
 
 
399
File: quagga.info,  Node: ripngd Configuration,  Next: ripngd Terminal Mode Commands,  Prev: Invoking ripngd,  Up: RIPng
 
400
 
 
401
ripngd Configuration
 
402
====================
 
403
 
 
404
   Currently ripngd supports the following commands:
 
405
 
 
406
 - Command: router ripng
 
407
     Enable RIPng.
 
408
 
 
409
 - RIPng Command: flush_timer TIME
 
410
     Set flush timer.
 
411
 
 
412
 - RIPng Command: network NETWORK
 
413
     Set RIPng enabled interface by NETWORK
 
414
 
 
415
 - RIPng Command: network IFNAME
 
416
     Set RIPng enabled interface by IFNAME
 
417
 
 
418
 - RIPng Command: route NETWORK
 
419
     Set RIPng static routing announcement of NETWORK.
 
420
 
 
421
 - Command: router zebra
 
422
     This command is the default and does not appear in the
 
423
     configuration.  With this statement, RIPng routes go to the
 
424
     `zebra' daemon.
 
425
 
 
426
 
 
427
File: quagga.info,  Node: ripngd Terminal Mode Commands,  Next: ripngd Filtering Commands,  Prev: ripngd Configuration,  Up: RIPng
 
428
 
 
429
ripngd Terminal Mode Commands
 
430
=============================
 
431
 
 
432
 - Command: show ip ripng
 
433
 
 
434
 - Command: show debugging ripng
 
435
 
 
436
 - Command: debug ripng events
 
437
 
 
438
 - Command: debug ripng packet
 
439
 
 
440
 - Command: debug ripng zebra
 
441
 
 
442
 
 
443
File: quagga.info,  Node: ripngd Filtering Commands,  Prev: ripngd Terminal Mode Commands,  Up: RIPng
 
444
 
 
445
ripngd Filtering Commands
 
446
=========================
 
447
 
 
448
 - Command: distribute-list ACCESS_LIST (in|out) IFNAME
 
449
     You can apply an access-list to the interface using the
 
450
     `distribute-list' command.  ACCESS_LIST is an access-list name.
 
451
     DIRECT is `in' or `out'.  If DIRECT is `in', the access-list is
 
452
     applied only to incoming packets.
 
453
 
 
454
          distribute-list local-only out sit1
 
455
 
 
456
 
 
457
File: quagga.info,  Node: OSPFv2,  Next: OSPFv3,  Prev: RIPng,  Up: Top
 
458
 
 
459
OSPFv2
 
460
******
 
461
 
 
462
   OSPF version 2 is a routing protocol which described in RFC2328 -
 
463
`OSPF Version 2'.  OSPF is IGP (Interior Gateway Protocols).  Compared
 
464
with RIP, OSPF can provide scalable network support and faster
 
465
convergence time.  OSPF is widely used in large networks such as ISP
 
466
backbone and enterprise networks.
 
467
 
 
468
* Menu:
 
469
 
 
470
* Configuring ospfd::
 
471
* OSPF router::
 
472
* OSPF area::
 
473
* OSPF interface::
 
474
* Redistribute routes to OSPF::
 
475
* Showing OSPF information::
 
476
* Debugging OSPF::
 
477
 
 
478
 
 
479
File: quagga.info,  Node: Configuring ospfd,  Next: OSPF router,  Prev: OSPFv2,  Up: OSPFv2
 
480
 
 
481
Configuring ospfd
 
482
=================
 
483
 
 
484
   There is no `ospfd' specific options.  Common options can be
 
485
specified (*note Common Invocation Options::) to `ospfd'.  `ospfd'
 
486
needs interface information from `zebra'.  So please make it sure
 
487
`zebra' is running before invoking `ospfd'.
 
488
 
 
489
   Like other daemons, `ospfd' configuration is done in OSPF specific
 
490
configuration file `ospfd.conf'.
 
491
 
 
492
 
 
493
File: quagga.info,  Node: OSPF router,  Next: OSPF area,  Prev: Configuring ospfd,  Up: OSPFv2
 
494
 
 
495
OSPF router
 
496
===========
 
497
 
 
498
   To start OSPF process you have to specify the OSPF router.  As of
 
499
this writing, `ospfd' does not support multiple OSPF processes.
 
500
 
 
501
 - Command: router ospf
 
502
 - Command: no router ospf
 
503
     Enable or disable the OSPF process.  `ospfd' does not yet support
 
504
     multiple OSPF processes.  So you can not specify an OSPF process
 
505
     number.
 
506
 
 
507
 - OSPF Command: ospf router-id A.B.C.D
 
508
 - OSPF Command: no ospf router-id
 
509
 
 
510
 - OSPF Command: ospf abr-type TYPE
 
511
 - OSPF Command: no ospf abr-type TYPE
 
512
     TYPE can be cisco|ibm|shortcut|standard More information regarding
 
513
     the behaviour controlled by this command can be found in
 
514
     draft-ietf-ospf-abr-alt-05.txt and
 
515
     draft-ietf-ospf-shortcut-abr-02.txt Quote: "Though the definition
 
516
     of the Area Border Router (ABR) in the OSPF specification does not
 
517
     require a router with multiple attached areas to have a backbone
 
518
     connection, it is actually necessary to provide successful routing
 
519
     to the inter-area and external destinations. If this requirement
 
520
     is not met, all traffic destined for the areas not connected to
 
521
     such an ABR or out of the OSPF domain, is dropped.  This document
 
522
     describes alternative ABR behaviors implemented in Cisco and IBM
 
523
     routers."
 
524
 
 
525
 - OSPF Command: ospf rfc1583compatibility
 
526
 - OSPF Command: no ospf rfc1583compatibility
 
527
     This rfc2328, the sucessor to rfc1583, suggests according to
 
528
     section G.2 (changes) in section 16.4 a change to the path
 
529
     preference algorithm that prevents possible routing loops that
 
530
     were possible in the old version of OSPFv2. More specifically it
 
531
     demands that inter-area paths and intra-area path are now of equal
 
532
     preference but still both preferred to external paths.
 
533
 
 
534
 - OSPF Command: passive interface INTERFACE
 
535
 - OSPF Command: no passive interface INTERFACE
 
536
 
 
537
 - OSPF Command: timers spf <0-4294967295> <0-4294967295>
 
538
 - OSPF Command: no timers spf
 
539
 
 
540
 - OSPF Command: refresh group-limit <0-10000>
 
541
 - OSPF Command: refresh per-slice <0-10000>
 
542
 - OSPF Command: refresh age-diff <0-10000>
 
543
 
 
544
 - OSPF Command: auto-cost refrence-bandwidth <1-4294967>
 
545
 - OSPF Command: no auto-cost refrence-bandwidth
 
546
 
 
547
 - OSPF Command: network A.B.C.D/M area A.B.C.D
 
548
 - OSPF Command: network A.B.C.D/M area <0-4294967295>
 
549
 - OSPF Command: no network A.B.C.D/M area A.B.C.D
 
550
 - OSPF Command: no network A.B.C.D/M area <0-4294967295>
 
551
     This command specifies the OSPF enabled interface(s).  If the
 
552
     interface has an address from range 192.168.1.0/24 then the
 
553
     command below enables ospf on this interface so router can provide
 
554
     network information to the other ospf routers via this interface.
 
555
          router ospf
 
556
           network 192.168.1.0/24 area 0.0.0.0
 
557
     Prefix length in interface must be equal or bigger (ie.
 
558
     smaller network) than prefix length in network statement. For
 
559
     example statement above doesn't enable ospf on interface with
 
560
     address 192.168.1.1/23, but it does on interface with address
 
561
     192.168.1.129/25.
 
562
 
 
563
 
 
564
File: quagga.info,  Node: OSPF area,  Next: OSPF interface,  Prev: OSPF router,  Up: OSPFv2
 
565
 
 
566
OSPF area
 
567
=========
 
568
 
 
569
 - OSPF Command: area A.B.C.D range A.B.C.D/M
 
570
 - OSPF Command: area <0-4294967295> range A.B.C.D/M
 
571
 - OSPF Command: no area A.B.C.D range A.B.C.D/M
 
572
 - OSPF Command: no area <0-4294967295> range A.B.C.D/M
 
573
     Summarize intra area paths from specified area into one Type-3
 
574
     summary-LSA announced to other areas. This command can be used
 
575
     only in ABR and ONLY router-LSAs (Type-1) and network-LSAs
 
576
     (Type-2) (ie. LSAs with scope area) can be summarized. Type-5
 
577
     AS-external-LSAs can't be summarized - their scope is AS.
 
578
     Summarizing Type-7 AS-external-LSAs isn't supported yet by Quagga.
 
579
          router ospf
 
580
           network 192.168.1.0/24 area 0.0.0.0
 
581
           network 10.0.0.0/8 area 0.0.0.10
 
582
           area 0.0.0.10 range 10.0.0.0/8
 
583
     With configuration above one Type-3 Summary-LSA with routing
 
584
     info 10.0.0.0/8 is announced into backbone area if area 0.0.0.10
 
585
     contains at least one intra-area network (ie. described with
 
586
     router or network LSA) from this range.
 
587
 
 
588
 - OSPF Command: area A.B.C.D range IPV4_PREFIX not-advertise
 
589
 - OSPF Command: no area A.B.C.D range IPV4_PREFIX not-advertise
 
590
     Instead of summarizing intra area paths filter them - ie. intra
 
591
     area paths from this range are not advertised into other areas.
 
592
     This command makes sense in ABR only.
 
593
 
 
594
 - OSPF Command: area A.B.C.D range IPV4_PREFIX substitute IPV4_PREFIX
 
595
 - OSPF Command: no area A.B.C.D range IPV4_PREFIX substitute
 
596
IPV4_PREFIX
 
597
     Substitute summarized prefix with another prefix.
 
598
          router ospf
 
599
           network 192.168.1.0/24 area 0.0.0.0
 
600
           network 10.0.0.0/8 area 0.0.0.10
 
601
           area 0.0.0.10 range 10.0.0.0/8 substitute 11.0.0.0/8
 
602
     One Type-3 summary-LSA with routing info 11.0.0.0/8 is
 
603
     announced into backbone area if area 0.0.0.10 contains at least
 
604
     one intra-area network (ie. described with router-LSA or
 
605
     network-LSA) from range 10.0.0.0/8.  This command makes sense in
 
606
     ABR only.
 
607
 
 
608
 - OSPF Command: area A.B.C.D virtual-link A.B.C.D
 
609
 - OSPF Command: area <0-4294967295> virtual-link A.B.C.D
 
610
 - OSPF Command: no area A.B.C.D virtual-link A.B.C.D
 
611
 - OSPF Command: no area <0-4294967295> virtual-link A.B.C.D
 
612
 
 
613
 - OSPF Command: area A.B.C.D shortcut
 
614
 - OSPF Command: area <0-4294967295> shortcut
 
615
 - OSPF Command: no area A.B.C.D shortcut
 
616
 - OSPF Command: no area <0-4294967295> shortcut
 
617
 
 
618
 - OSPF Command: area A.B.C.D stub
 
619
 - OSPF Command: area <0-4294967295> stub
 
620
 - OSPF Command: no area A.B.C.D stub
 
621
 - OSPF Command: no area <0-4294967295> stub
 
622
 
 
623
 - OSPF Command: area A.B.C.D stub no-summary
 
624
 - OSPF Command: area <0-4294967295> stub no-summary
 
625
 - OSPF Command: no area A.B.C.D stub no-summary
 
626
 - OSPF Command: no area <0-4294967295> stub no-summary
 
627
 
 
628
 - OSPF Command: area A.B.C.D default-cost <0-16777215>
 
629
 - OSPF Command: no area A.B.C.D default-cost <0-16777215>
 
630
 
 
631
 - OSPF Command: area A.B.C.D export-list NAME
 
632
 - OSPF Command: area <0-4294967295> export-list NAME
 
633
 - OSPF Command: no area A.B.C.D export-list NAME
 
634
 - OSPF Command: no area <0-4294967295> export-list NAME
 
635
     Filter Type-3 summary-LSAs announced to other areas originated
 
636
     from intra- area paths from specified area.
 
637
          router ospf
 
638
           network 192.168.1.0/24 area 0.0.0.0
 
639
           network 10.0.0.0/8 area 0.0.0.10
 
640
           area 0.0.0.10 export-list foo
 
641
          !
 
642
          access-list foo permit 10.10.0.0/16
 
643
          access-list foo deny any
 
644
     With example above any intra-area paths from area 0.0.0.10
 
645
     and from range 10.10.0.0/16 (for example 10.10.1.0/24 and
 
646
     10.10.2.128/30) are announced into other areas as Type-3
 
647
     summary-LSA's, but any others (for example 10.11.0.0/16 or
 
648
     10.128.30.16/30) aren't.  This command makes sense in ABR only.
 
649
 
 
650
 - OSPF Command: area A.B.C.D import-list NAME
 
651
 - OSPF Command: area <0-4294967295> import-list NAME
 
652
 - OSPF Command: no area A.B.C.D import-list NAME
 
653
 - OSPF Command: no area <0-4294967295> import-list NAME
 
654
     Same as export-list, but it applies to paths announced into
 
655
     specified area as Type-3 summary-LSAs.
 
656
 
 
657
 - OSPF Command: area A.B.C.D filter-list prefix NAME in
 
658
 - OSPF Command: area A.B.C.D filter-list prefix NAME out
 
659
 - OSPF Command: area <0-4294967295> filter-list prefix NAME in
 
660
 - OSPF Command: area <0-4294967295> filter-list prefix NAME out
 
661
 - OSPF Command: no area A.B.C.D filter-list prefix NAME in
 
662
 - OSPF Command: no area A.B.C.D filter-list prefix NAME out
 
663
 - OSPF Command: no area <0-4294967295> filter-list prefix NAME in
 
664
 - OSPF Command: no area <0-4294967295> filter-list prefix NAME out
 
665
     Filtering Type-3 summary-LSAs to/from area using prefix lists.
 
666
     This command makes sense in ABR only.
 
667
 
 
668
 - OSPF Command: area A.B.C.D authentication
 
669
 - OSPF Command: area <0-4294967295> authentication
 
670
 - OSPF Command: no area A.B.C.D authentication
 
671
 - OSPF Command: no area <0-4294967295> authentication
 
672
 
 
673
 - OSPF Command: area A.B.C.D authentication message-digest
 
674
 - OSPF Command: area <0-4294967295> authentication message-digest
 
675
 
 
676
 
 
677
File: quagga.info,  Node: OSPF interface,  Next: Redistribute routes to OSPF,  Prev: OSPF area,  Up: OSPFv2
 
678
 
 
679
OSPF interface
 
680
==============
 
681
 
 
682
 - Interface Command: ip ospf authentication-key AUTH_KEY
 
683
 - Interface Command: no ip ospf authentication-key
 
684
     Set OSPF authentication key to a simple password.  After setting
 
685
     AUTH_KEY, all OSPF packets are authenticated. AUTH_KEY has length
 
686
     up to 8 chars.
 
687
 
 
688
 - Interface Command: ip ospf message-digest-key KEYID md5 KEY
 
689
 - Interface Command: no ip ospf message-digest-key
 
690
     Set OSPF authentication key to a cryptographic password.  The
 
691
     cryptographic algorithm is MD5.  KEYID identifies secret key used
 
692
     to create the message digest.  KEY is the actual message digest
 
693
     key up to 16 chars.
 
694
 
 
695
 - Interface Command: ip ospf cost <1-65535>
 
696
 - Interface Command: no ip ospf cost
 
697
     Set link cost for the specified interface.  The cost value is set
 
698
     to router-LSA's metric field and used for SPF calculation.
 
699
 
 
700
 - Interface Command: ip ospf dead-interval <1-65535>
 
701
 - Interface Command: no ip ospf dead-interval
 
702
     Set number of seconds for RouterDeadInterval timer value used for
 
703
     Wait Timer and Inactivity Timer.  This value must be the same for
 
704
     all routers attached to a common network.  The default value is 40
 
705
     seconds.
 
706
 
 
707
 - Interface Command: ip ospf hello-interval <1-65535>
 
708
 - Interface Command: no ip ospf hello-interval
 
709
     Set number of seconds for HelloInterval timer value.  Setting this
 
710
     value, Hello packet will be sent every timer value seconds on the
 
711
     specified interface.  This value must be the same for all routers
 
712
     attached to a common network.  The default value is 10 seconds.
 
713
 
 
714
 - Interface Command: ip ospf network
 
715
(broadcast|non-broadcast|point-to-multipoint|point-to-point)
 
716
 - Interface Command: no ip ospf network
 
717
     Set explicitly network type for specifed interface.
 
718
 
 
719
 - Interface Command: ip ospf priority <0-255>
 
720
 - Interface Command: no ip ospf priority
 
721
     Set RouterPriority integer value.  Setting higher value, router
 
722
     will be more eligible to become Designated Router.  Setting the
 
723
     value to 0, router is no longer eligible to Designated Router.
 
724
     The default value is 1.
 
725
 
 
726
 - Interface Command: ip ospf retransmit-interval <1-65535>
 
727
 - Interface Command: no ip ospf retransmit interval
 
728
     Set number of seconds for RxmtInterval timer value.  This value is
 
729
     used when retransmitting Database Description and Link State
 
730
     Request packets.  The default value is 5 seconds.
 
731
 
 
732
 - Interface Command: ip ospf transmit-delay
 
733
 - Interface Command: no ip ospf transmit-delay
 
734
     Set number of seconds for InfTransDelay value.  LSAs' age should be
 
735
     incremented by this value when transmitting.  The default value is
 
736
     1 seconds.
 
737
 
 
738
 
 
739
File: quagga.info,  Node: Redistribute routes to OSPF,  Next: Showing OSPF information,  Prev: OSPF interface,  Up: OSPFv2
 
740
 
 
741
Redistribute routes to OSPF
 
742
===========================
 
743
 
 
744
 - OSPF Command: redistribute (kernel|connected|static|rip|bgp)
 
745
 - OSPF Command: redistribute (kernel|connected|static|rip|bgp)
 
746
ROUTE-MAP
 
747
 - OSPF Command: redistribute (kernel|connected|static|rip|bgp)
 
748
metric-type (1|2)
 
749
 - OSPF Command: redistribute (kernel|connected|static|rip|bgp)
 
750
metric-type (1|2) route-map WORD
 
751
 - OSPF Command: redistribute (kernel|connected|static|rip|bgp) metric
 
752
<0-16777214>
 
753
 - OSPF Command: redistribute (kernel|connected|static|rip|bgp) metric
 
754
<0-16777214> route-map WORD
 
755
 - OSPF Command: redistribute (kernel|connected|static|rip|bgp)
 
756
metric-type (1|2) metric <0-16777214>
 
757
 - OSPF Command: redistribute (kernel|connected|static|rip|bgp)
 
758
metric-type (1|2) metric <0-16777214> route-map WORD
 
759
 - OSPF Command: no redistribute (kernel|connected|static|rip|bgp)
 
760
 
 
761
 - OSPF Command: default-information originate
 
762
 - OSPF Command: default-information originate metric <0-16777214>
 
763
 - OSPF Command: default-information originate metric <0-16777214>
 
764
metric-type (1|2)
 
765
 - OSPF Command: default-information originate metric <0-16777214>
 
766
metric-type (1|2) route-map WORD
 
767
 - OSPF Command: default-information originate always
 
768
 - OSPF Command: default-information originate always metric
 
769
<0-16777214>
 
770
 - OSPF Command: default-information originate always metric
 
771
<0-16777214> metric-type (1|2)
 
772
 - OSPF Command: default-information originate always metric
 
773
<0-16777214> metric-type (1|2) route-map WORD
 
774
 - OSPF Command: no default-information originate
 
775
 
 
776
 - OSPF Command: distribute-list NAME out
 
777
(kernel|connected|static|rip|ospf
 
778
 - OSPF Command: no distribute-list NAME out
 
779
(kernel|connected|static|rip|ospf
 
780
 
 
781
 - OSPF Command: default-metric <0-16777214>
 
782
 - OSPF Command: no default-metric
 
783
 
 
784
 - OSPF Command: distance <1-255>
 
785
 - OSPF Command: no distance <1-255>
 
786
 
 
787
 - OSPF Command: distance ospf (intra-area|inter-area|external) <1-255>
 
788
 - OSPF Command: no distance ospf
 
789
 
 
790
 - Command: router zebra
 
791
 - Command: no router zebra
 
792
 
 
793
 
 
794
File: quagga.info,  Node: Showing OSPF information,  Next: Debugging OSPF,  Prev: Redistribute routes to OSPF,  Up: OSPFv2
 
795
 
 
796
Showing OSPF information
 
797
========================
 
798
 
 
799
 - Command: show ip ospf
 
800
 
 
801
 - Command: show ip ospf interface [INTERFACE]
 
802
 
 
803
 - Command: show ip ospf neighbor
 
804
 - Command: show ip ospf neighbor INTERFACE
 
805
 - Command: show ip ospf neighbor detail
 
806
 - Command: show ip ospf neighbor INTERFACE detail
 
807
 
 
808
 - Command: show ip ospf database
 
809
 
 
810
 - Command: show ip ospf database
 
811
(asbr-summary|external|network|router|summary)
 
812
 - Command: show ip ospf database
 
813
(asbr-summary|external|network|router|summary) LINK-STATE-ID
 
814
 - Command: show ip ospf database
 
815
(asbr-summary|external|network|router|summary) LINK-STATE-ID adv-router
 
816
ADV-ROUTER
 
817
 - Command: show ip ospf database
 
818
(asbr-summary|external|network|router|summary) adv-router ADV-ROUTER
 
819
 - Command: show ip ospf database
 
820
(asbr-summary|external|network|router|summary) LINK-STATE-ID
 
821
self-originate
 
822
 - Command: show ip ospf database
 
823
(asbr-summary|external|network|router|summary) self-originate
 
824
 
 
825
 - Command: show ip ospf database max-age
 
826
 
 
827
 - Command: show ip ospf database self-originate
 
828
 
 
829
 - Command: show ip ospf refresher
 
830
 
 
831
 - Command: show ip ospf route
 
832
 
 
833
 
 
834
File: quagga.info,  Node: Debugging OSPF,  Prev: Showing OSPF information,  Up: OSPFv2
 
835
 
 
836
Debugging OSPF
 
837
==============
 
838
 
 
839
 - Command: debug ospf packet
 
840
(hello|dd|ls-request|ls-update|ls-ack|all) (send|recv) [detail]
 
841
 - Command: no debug ospf packet
 
842
(hello|dd|ls-request|ls-update|ls-ack|all) (send|recv) [detail]
 
843
 
 
844
 - Command: debug ospf ism
 
845
 - Command: debug ospf ism (status|events|timers)
 
846
 - Command: no debug ospf ism
 
847
 - Command: no debug ospf ism (status|events|timers)
 
848
 
 
849
 - Command: debug ospf nsm
 
850
 - Command: debug ospf nsm (status|events|timers)
 
851
 - Command: no debug ospf nsm
 
852
 - Command: no debug ospf nsm (status|events|timers)
 
853
 
 
854
 - Command: debug ospf lsa
 
855
 - Command: debug ospf lsa (generate|flooding|refresh)
 
856
 - Command: no debug ospf lsa
 
857
 - Command: no debug ospf lsa (generate|flooding|refresh)
 
858
 
 
859
 - Command: debug ospf zebra
 
860
 - Command: debug ospf zebra (interface|redistribute)
 
861
 - Command: no debug ospf zebra
 
862
 - Command: no debug ospf zebra (interface|redistribute)
 
863
 
 
864
 - Command: show debugging ospf
 
865
 
 
866
 
 
867
File: quagga.info,  Node: OSPFv3,  Next: BGP,  Prev: OSPFv2,  Up: Top
 
868
 
 
869
OSPFv3
 
870
******
 
871
 
 
872
   `ospf6d' is a daemon support OSPF version 3 for IPv6 network.  OSPF
 
873
for IPv6 is described in RFC2740.
 
874
 
 
875
* Menu:
 
876
 
 
877
* OSPF6 router::
 
878
* OSPF6 area::
 
879
* OSPF6 interface::
 
880
* Redistribute routes to OSPF6::
 
881
* Showing OSPF6 information::
 
882
 
 
883
 
 
884
File: quagga.info,  Node: OSPF6 router,  Next: OSPF6 area,  Prev: OSPFv3,  Up: OSPFv3
 
885
 
 
886
OSPF6 router
 
887
============
 
888
 
 
889
 - Command: router ospf6
 
890
 
 
891
 - OSPF6 Command: router-id A.B.C.D
 
892
     Set router's Router-ID.
 
893
 
 
894
 - OSPF6 Command: interface IFNAME area AREA
 
895
     Bind interface to specified area, and start sending OSPF packets.
 
896
     AREA can be specified as 0.
 
897
 
 
898
 
 
899
File: quagga.info,  Node: OSPF6 area,  Next: OSPF6 interface,  Prev: OSPF6 router,  Up: OSPFv3
 
900
 
 
901
OSPF6 area
 
902
==========
 
903
 
 
904
   Area support for OSPFv3 is not yet implemented.
 
905
 
 
906
 
 
907
File: quagga.info,  Node: OSPF6 interface,  Next: Redistribute routes to OSPF6,  Prev: OSPF6 area,  Up: OSPFv3
 
908
 
 
909
OSPF6 interface
 
910
===============
 
911
 
 
912
 - Interface Command: ipv6 ospf6 cost COST
 
913
     Sets interface's output cost.  Default value is 1.
 
914
 
 
915
 - Interface Command: ipv6 ospf6 hello-interval HELLOINTERVAL
 
916
     Sets interface's Hello Interval.  Default 40
 
917
 
 
918
 - Interface Command: ipv6 ospf6 dead-interval DEADINTERVAL
 
919
     Sets interface's Router Dead Interval.  Default value is 40.
 
920
 
 
921
 - Interface Command: ipv6 ospf6 retransmit-interval RETRANSMITINTERVAL
 
922
     Sets interface's Rxmt Interval.  Default value is 5.
 
923
 
 
924
 - Interface Command: ipv6 ospf6 priority PRIORITY
 
925
     Sets interface's Router Priority.  Default value is 1.
 
926
 
 
927
 - Interface Command: ipv6 ospf6 transmit-delay TRANSMITDELAY
 
928
     Sets interface's Inf-Trans-Delay.  Default value is 1.
 
929
 
 
930
 
 
931
File: quagga.info,  Node: Redistribute routes to OSPF6,  Next: Showing OSPF6 information,  Prev: OSPF6 interface,  Up: OSPFv3
 
932
 
 
933
Redistribute routes to OSPF6
 
934
============================
 
935
 
 
936
 - OSPF6 Command: redistribute static
 
937
 - OSPF6 Command: redistribute connected
 
938
 - OSPF6 Command: redistribute ripng
 
939
 
 
940
 
 
941
File: quagga.info,  Node: Showing OSPF6 information,  Prev: Redistribute routes to OSPF6,  Up: OSPFv3
 
942
 
 
943
Showing OSPF6 information
 
944
=========================
 
945
 
 
946
 - Command: show ipv6 ospf6 [INSTANCE_ID]
 
947
     INSTANCE_ID is an optional OSPF instance ID. To see router ID and
 
948
     OSPF instance ID, simply type "show ipv6 ospf6 <cr>".
 
949
 
 
950
 - Command: show ipv6 ospf6 database
 
951
     This command shows LSA database summary.  You can specify the type
 
952
     of LSA.
 
953
 
 
954
 - Command: show ipv6 ospf6 interface
 
955
     To see OSPF interface configuration like costs.
 
956
 
 
957
 - Command: show ipv6 ospf6 neighbor
 
958
     Shows state and chosen (Backup) DR of neighbor.
 
959
 
 
960
 - Command: show ipv6 ospf6 request-list A.B.C.D
 
961
     Shows requestlist of neighbor.
 
962
 
 
963
 - Command: show ipv6 route ospf6
 
964
     This command shows internal routing table.
 
965
 
 
966
 
 
967
File: quagga.info,  Node: BGP,  Next: VTY shell,  Prev: OSPFv3,  Up: Top
 
968
 
 
969
BGP
 
970
***
 
971
 
 
972
   BGP stands for a Border Gateway Protocol.  The lastest BGP version
 
973
is 4.  It is referred as BGP-4.  BGP-4 is one of the Exterior Gateway
 
974
Protocols and de-fact standard of Inter Domain routing protocol.  BGP-4
 
975
is described in `RFC1771' - `A Border Gateway Protocol 4 (BGP-4)'.
 
976
 
 
977
   Many extentions are added to `RFC1771'.  `RFC2858' - `Multiprotocol
 
978
Extensions for BGP-4' provide multiprotocol support to BGP-4.
 
979
 
 
980
* Menu:
 
981
 
 
982
* Starting BGP::
 
983
* BGP router::
 
984
* BGP network::
 
985
* BGP Peer::
 
986
* BGP Peer Group::
 
987
* BGP Address Family::
 
988
* Autonomous System::
 
989
* BGP Communities Attribute::
 
990
* BGP Extended Communities Attribute::
 
991
* Displaying BGP routes::
 
992
* Capability Negotiation::
 
993
* Route Reflector::
 
994
* Route Server::
 
995
* How to set up a 6-Bone connection::
 
996
* Dump BGP packets and table::
 
997
 
 
998
 
 
999
File: quagga.info,  Node: Starting BGP,  Next: BGP router,  Prev: BGP,  Up: BGP
 
1000
 
 
1001
Starting BGP
 
1002
============
 
1003
 
 
1004
   Default configuration file of `bgpd' is `bgpd.conf'.  `bgpd'
 
1005
searches the current directory first then /usr/local/etc/bgpd.conf.
 
1006
All of bgpd's command must be configured in `bgpd.conf'.
 
1007
 
 
1008
   `bgpd' specific invocation options are described below.  Common
 
1009
options may also be specified (*note Common Invocation Options::).
 
1010
 
 
1011
`-p PORT'
 
1012
`--bgp_port=PORT'
 
1013
     Set the bgp protocol's port number.
 
1014
 
 
1015
`-r'
 
1016
`--retain'
 
1017
     When program terminates, retain BGP routes added by zebra.
 
1018
 
 
1019
 
 
1020
File: quagga.info,  Node: BGP router,  Next: BGP network,  Prev: Starting BGP,  Up: BGP
 
1021
 
 
1022
BGP router
 
1023
==========
 
1024
 
 
1025
   First of all you must configure BGP router with `router bgp'
 
1026
command.  To configure BGP router, you need AS number.  AS number is an
 
1027
identification of autonomous system.  BGP protocol uses the AS number
 
1028
for detecting whether the BGP connection is internal one or external
 
1029
one.
 
1030
 
 
1031
 - Command: router bgp ASN
 
1032
     Enable a BGP protocol process with the specified ASN.  After this
 
1033
     statement you can input any `BGP Commands'.  You can not create
 
1034
     different BGP process under different ASN without specifying
 
1035
     `multiple-instance' (*note Multiple instance::).
 
1036
 
 
1037
 - Command: no router bgp ASN
 
1038
     Destroy a BGP protocol process with the specified ASN.
 
1039
 
 
1040
 - BGP: bgp router-id A.B.C.D
 
1041
     This command specifies the router-ID.  If `bgpd' connects to
 
1042
     `zebra' it gets interface and address information.  In that case
 
1043
     default router ID value is selected as the largest IP Address of
 
1044
     the interfaces.  When `router zebra' is not enabled `bgpd' can't
 
1045
     get interface information so `router-id' is set to 0.0.0.0.  So
 
1046
     please set router-id by hand.
 
1047
 
 
1048
* Menu:
 
1049
 
 
1050
* BGP distance::
 
1051
* BGP decision process::
 
1052
 
 
1053
 
 
1054
File: quagga.info,  Node: BGP distance,  Next: BGP decision process,  Prev: BGP router,  Up: BGP router
 
1055
 
 
1056
BGP distance
 
1057
------------
 
1058
 
 
1059
 - BGP: distance bgp <1-255> <1-255> <1-255>
 
1060
     This command change distance value of BGP.  Each argument is
 
1061
     distance value for external routes, internal routes and local
 
1062
     routes.
 
1063
 
 
1064
 - BGP: distance <1-255> A.B.C.D/M
 
1065
 - BGP: distance <1-255> A.B.C.D/M WORD
 
1066
     This command set distance value to
 
1067
 
 
1068
 
 
1069
File: quagga.info,  Node: BGP decision process,  Prev: BGP distance,  Up: BGP router
 
1070
 
 
1071
BGP decision process
 
1072
--------------------
 
1073
 
 
1074
1. Weight check
 
1075
 
 
1076
2. Local preference check.
 
1077
 
 
1078
3. Local route check.
 
1079
 
 
1080
4. AS path length check.
 
1081
 
 
1082
5. Origin check.
 
1083
 
 
1084
6. MED check.
 
1085
 
 
1086
 
 
1087
File: quagga.info,  Node: BGP network,  Next: BGP Peer,  Prev: BGP router,  Up: BGP
 
1088
 
 
1089
BGP network
 
1090
===========
 
1091
 
 
1092
* Menu:
 
1093
 
 
1094
* BGP route::
 
1095
* Route Aggregation::
 
1096
* Redistribute to BGP::
 
1097
 
 
1098
 
 
1099
File: quagga.info,  Node: BGP route,  Next: Route Aggregation,  Prev: BGP network,  Up: BGP network
 
1100
 
 
1101
BGP route
 
1102
---------
 
1103
 
 
1104
 - BGP: network A.B.C.D/M
 
1105
     This command adds the announcement network.
 
1106
          router bgp 1
 
1107
           network 10.0.0.0/8
 
1108
     This configuration example says that network 10.0.0.0/8 will
 
1109
     be announced to all neighbors.  Some vendors' routers don't
 
1110
     advertise routes if they aren't present in their IGP routing
 
1111
     tables; `bgp' doesn't care about IGP routes when announcing its
 
1112
     routes.
 
1113
 
 
1114
 - BGP: no network A.B.C.D/M
 
1115
 
 
1116
 
 
1117
File: quagga.info,  Node: Route Aggregation,  Next: Redistribute to BGP,  Prev: BGP route,  Up: BGP network
 
1118
 
 
1119
Route Aggregation
 
1120
-----------------
 
1121
 
 
1122
 - BGP: aggregate-address A.B.C.D/M
 
1123
     This command specifies an aggregate address.
 
1124
 
 
1125
 - BGP: aggregate-address A.B.C.D/M as-set
 
1126
     This command specifies an aggregate address.  Resulting routes
 
1127
     inlucde AS set.
 
1128
 
 
1129
 - BGP: aggregate-address A.B.C.D/M summary-only
 
1130
     This command specifies an aggregate address.  Aggreated routes will
 
1131
     not be announce.
 
1132
 
 
1133
 - BGP: no aggregate-address A.B.C.D/M
 
1134
 
 
1135
 
 
1136
File: quagga.info,  Node: Redistribute to BGP,  Prev: Route Aggregation,  Up: BGP network
 
1137
 
 
1138
Redistribute to BGP
 
1139
-------------------
 
1140
 
 
1141
 - BGP: redistribute kernel
 
1142
     Redistribute kernel route to BGP process.
 
1143
 
 
1144
 - BGP: redistribute static
 
1145
     Redistribute static route to BGP process.
 
1146
 
 
1147
 - BGP: redistribute connected
 
1148
     Redistribute connected route to BGP process.
 
1149
 
 
1150
 - BGP: redistribute rip
 
1151
     Redistribute RIP route to BGP process.
 
1152
 
 
1153
 - BGP: redistribute ospf
 
1154
     Redistribute OSPF route to BGP process.
 
1155
 
 
1156
 
 
1157
File: quagga.info,  Node: BGP Peer,  Next: BGP Peer Group,  Prev: BGP network,  Up: BGP
 
1158
 
 
1159
BGP Peer
 
1160
========
 
1161
 
 
1162
* Menu:
 
1163
 
 
1164
* Defining Peer::
 
1165
* BGP Peer commands::
 
1166
* Peer filtering::
 
1167
 
 
1168
 
 
1169
File: quagga.info,  Node: Defining Peer,  Next: BGP Peer commands,  Prev: BGP Peer,  Up: BGP Peer
 
1170
 
 
1171
Defining Peer
 
1172
-------------
 
1173
 
 
1174
 - BGP: neighbor PEER remote-as ASN
 
1175
     Creates a new neighbor whose remote-as is ASN.  PEER can be an
 
1176
     IPv4 address or an IPv6 address.
 
1177
          router bgp 1
 
1178
           neighbor 10.0.0.1 remote-as 2
 
1179
     In this case my router, in AS-1, is trying to peer with AS-2
 
1180
     at 10.0.0.1.
 
1181
 
 
1182
     This command must be the first command used when configuring a
 
1183
     neighbor.  If the remote-as is not specified, `bgpd' will complain
 
1184
     like this:
 
1185
          can't find neighbor 10.0.0.1
 
1186
 
 
1187
 
 
1188
File: quagga.info,  Node: BGP Peer commands,  Next: Peer filtering,  Prev: Defining Peer,  Up: BGP Peer
 
1189
 
 
1190
BGP Peer commands
 
1191
-----------------
 
1192
 
 
1193
   In a `router bgp' clause there are neighbor specific configurations
 
1194
required.
 
1195
 
 
1196
 - BGP: neighbor PEER shutdown
 
1197
 - BGP: no neighbor PEER shutdown
 
1198
     Shutdown the peer.  We can delete the neighbor's configuration by
 
1199
     `no neighbor PEER remote-as AS-NUMBER' but all configuration of
 
1200
     the neighbor will be deleted.  When you want to preserve the
 
1201
     configuration, but want to drop the BGP peer, use this syntax.
 
1202
 
 
1203
 - BGP: neighbor PEER ebgp-multihop
 
1204
 - BGP: no neighbor PEER ebgp-multihop
 
1205
 
 
1206
 - BGP: neighbor PEER description ...
 
1207
 - BGP: no neighbor PEER description ...
 
1208
     Set description of the peer.
 
1209
 
 
1210
 - BGP: neighbor PEER version VERSION
 
1211
     Set up the neighbor's BGP version.  VERSION can be 4, 4+ or 4-.
 
1212
     BGP version 4 is the default value used for BGP peering.  BGP
 
1213
     version 4+ means that the neighbor supports Multiprotocol
 
1214
     Extensions for BGP-4.  BGP version 4- is similar but the neighbor
 
1215
     speaks the old Internet-Draft revision 00's Multiprotocol
 
1216
     Extensions for BGP-4.  Some routing software is still using this
 
1217
     version.
 
1218
 
 
1219
 - BGP: neighbor PEER interface IFNAME
 
1220
 - BGP: no neighbor PEER interface IFNAME
 
1221
     When you connect to a BGP peer over an IPv6 link-local address,
 
1222
     you have to specify the IFNAME of the interface used for the
 
1223
     connection.
 
1224
 
 
1225
 - BGP: neighbor PEER next-hop-self
 
1226
 - BGP: no neighbor PEER next-hop-self
 
1227
     This command specifies an announced route's nexthop as being
 
1228
     equivalent to the address of the bgp router.
 
1229
 
 
1230
 - BGP: neighbor PEER update-source
 
1231
 - BGP: no neighbor PEER update-source
 
1232
 
 
1233
 - BGP: neighbor PEER default-originate
 
1234
 - BGP: no neighbor PEER default-originate
 
1235
     `bgpd''s default is to not announce the default route (0.0.0.0/0)
 
1236
     even it is in routing table.  When you want to announce default
 
1237
     routes to the peer, use this command.
 
1238
 
 
1239
 - BGP: neighbor PEER port PORT
 
1240
 - BGP: neighbor PEER port PORT
 
1241
 
 
1242
 - BGP: neighbor PEER send-community
 
1243
 - BGP: neighbor PEER send-community
 
1244
 
 
1245
 - BGP: neighbor PEER weight WEIGHT
 
1246
 - BGP: no neighbor PEER weight WEIGHT
 
1247
     This command specifies a default WEIGHT value for the neighbor's
 
1248
     routes.
 
1249
 
 
1250
 - BGP: neighbor PEER maximum-prefix NUMBER
 
1251
 - BGP: no neighbor PEER maximum-prefix NUMBER
 
1252
 
 
1253
 
 
1254
File: quagga.info,  Node: Peer filtering,  Prev: BGP Peer commands,  Up: BGP Peer
 
1255
 
 
1256
Peer filtering
 
1257
--------------
 
1258
 
 
1259
 - BGP: neighbor PEER distribute-list NAME [in|out]
 
1260
     This command specifies a distribute-list for the peer.  DIRECT is
 
1261
     `in' or `out'.
 
1262
 
 
1263
 - BGP command: neighbor PEER prefix-list NAME [in|out]
 
1264
 
 
1265
 - BGP command: neighbor PEER filter-list NAME [in|out]
 
1266
 
 
1267
 - BGP: neighbor PEER route-map NAME [in|out]
 
1268
     Apply a route-map on the neighbor.  DIRECT must be `in' or `out'.
 
1269
 
 
1270
 
 
1271
File: quagga.info,  Node: BGP Peer Group,  Next: BGP Address Family,  Prev: BGP Peer,  Up: BGP
 
1272
 
 
1273
BGP Peer Group
 
1274
==============
 
1275
 
 
1276
 - BGP: neighbor WORD peer-group
 
1277
     This command defines a new peer group.
 
1278
 
 
1279
 - BGP: neighbor PEER peer-group WORD
 
1280
     This command bind specific peer to peer group WORD.
 
1281
 
 
1282
 
 
1283
File: quagga.info,  Node: BGP Address Family,  Next: Autonomous System,  Prev: BGP Peer Group,  Up: BGP
 
1284
 
 
1285
BGP Address Family
 
1286
==================
 
1287
 
 
1288
 
 
1289
File: quagga.info,  Node: Autonomous System,  Next: BGP Communities Attribute,  Prev: BGP Address Family,  Up: BGP
 
1290
 
 
1291
Autonomous System
 
1292
=================
 
1293
 
 
1294
   AS (Autonomous System) is one of the essential element of BGP.  BGP
 
1295
is a distance vector routing protocol.  AS framework provides distance
 
1296
vector metric and loop detection to BGP.  `RFC1930' - `Guidelines for
 
1297
creation, selection, and registration of an Autonomous System (AS)'
 
1298
describes how to use AS.
 
1299
 
 
1300
   AS number is tow octet digita value.  So the value range is from 1
 
1301
to 65535.  AS numbers 64512 through 65535 are defined as private AS
 
1302
numbers.  Private AS numbers must not to be advertised in the global
 
1303
Internet.
 
1304
 
 
1305
* Menu:
 
1306
 
 
1307
* AS Path Regular Expression::
 
1308
* Display BGP Routes by AS Path::
 
1309
* AS Path Access List::
 
1310
* Using AS Path in Route Map::
 
1311
* Private AS Numbers::
 
1312
 
 
1313
 
 
1314
File: quagga.info,  Node: AS Path Regular Expression,  Next: Display BGP Routes by AS Path,  Prev: Autonomous System,  Up: Autonomous System
 
1315
 
 
1316
AS Path Regular Expression
 
1317
--------------------------
 
1318
 
 
1319
   AS path regular expression can be used for displaying BGP routes and
 
1320
AS path access list.  AS path regular expression is based on `POSIX
 
1321
1003.2' regular expressions.  Following description is just a subset of
 
1322
`POSIX' regular expression.  User can use full `POSIX' regular
 
1323
expression.  Adding to that special character '_' is added for AS path
 
1324
regular expression.
 
1325
 
 
1326
`.'
 
1327
     Matches any single character.
 
1328
 
 
1329
`*'
 
1330
     Matches 0 or more occurrences of pattern.
 
1331
 
 
1332
`+'
 
1333
     Matches 1 or more occurrences of pattern.
 
1334
 
 
1335
`?'
 
1336
     Match 0 or 1 occurrences of pattern.
 
1337
 
 
1338
`^'
 
1339
     Matches the beginning of the line.
 
1340
 
 
1341
`$'
 
1342
     Matches the end of the line.
 
1343
 
 
1344
`_'
 
1345
     Character `_' has special meanings in AS path regular expression.
 
1346
     It matches to space and comma , and AS set delimiter { and } and AS
 
1347
     confederation delimiter `(' and `)'.  And it also matches to the
 
1348
     beginning of the line and the end of the line.  So `_' can be used
 
1349
     for AS value boundaries match.  `show ip bgp regexp _7675_'
 
1350
     matches to all of BGP routes which as AS number include 7675.
 
1351
 
 
1352
 
 
1353
File: quagga.info,  Node: Display BGP Routes by AS Path,  Next: AS Path Access List,  Prev: AS Path Regular Expression,  Up: Autonomous System
 
1354
 
 
1355
Display BGP Routes by AS Path
 
1356
-----------------------------
 
1357
 
 
1358
   To show BGP routes which has specific AS path information `show ip
 
1359
bgp' command can be used.
 
1360
 
 
1361
 - Command: show ip bgp regexp LINE
 
1362
     This commands display BGP routes that matches AS path regular
 
1363
     expression LINE.
 
1364
 
 
1365
 
 
1366
File: quagga.info,  Node: AS Path Access List,  Next: Using AS Path in Route Map,  Prev: Display BGP Routes by AS Path,  Up: Autonomous System
 
1367
 
 
1368
AS Path Access List
 
1369
-------------------
 
1370
 
 
1371
   AS path access list is user defined AS path.
 
1372
 
 
1373
 - Command: ip as-path access-list WORD {permit|deny} LINE
 
1374
     This command defines a new AS path access list.
 
1375
 
 
1376
 - Command: no ip as-path access-list WORD
 
1377
 - Command: no ip as-path access-list WORD {permit|deny} LINE
 
1378
 
 
1379
 
 
1380
File: quagga.info,  Node: Using AS Path in Route Map,  Next: Private AS Numbers,  Prev: AS Path Access List,  Up: Autonomous System
 
1381
 
 
1382
Using AS Path in Route Map
 
1383
--------------------------
 
1384
 
 
1385
 - Route Map: match as-path WORD
 
1386
 
 
1387
 - Route Map: set as-path prepend AS-PATH
 
1388
 
 
1389
 
 
1390
File: quagga.info,  Node: Private AS Numbers,  Prev: Using AS Path in Route Map,  Up: Autonomous System
 
1391
 
 
1392
Private AS Numbers
 
1393
------------------
 
1394
 
 
1395
 
 
1396
File: quagga.info,  Node: BGP Communities Attribute,  Next: BGP Extended Communities Attribute,  Prev: Autonomous System,  Up: BGP
 
1397
 
 
1398
BGP Communities Attribute
 
1399
=========================
 
1400
 
 
1401
   BGP communities attribute is widely used for implementing policy
 
1402
routing.  Network operators can manipulate BGP communities attribute
 
1403
based on their network policy.  BGP communities attribute is defined in
 
1404
`RFC1997' - `BGP Communities Attribute' and `RFC1998' - `An Application
 
1405
of the BGP Community Attribute in Multi-home Routing'.  It is an
 
1406
optional transitive attribute, therefore local policy can travel
 
1407
through different autonomous system.
 
1408
 
 
1409
   Communities attribute is a set of communities values.  Each
 
1410
communities value is 4 octet long.  The following format is used to
 
1411
define communities value.
 
1412
 
 
1413
`AS:VAL'
 
1414
     This format represents 4 octet communities value.  `AS' is high
 
1415
     order 2 octet in digit format.  `VAL' is low order 2 octet in
 
1416
     digit format.  This format is useful to define AS oriented policy
 
1417
     value.  For example, `7675:80' can be used when AS 7675 wants to
 
1418
     pass local policy value 80 to neighboring peer.
 
1419
 
 
1420
`internet'
 
1421
     `internet' represents well-known communities value 0.
 
1422
 
 
1423
`no-export'
 
1424
     `no-export' represents well-known communities value `NO_EXPORT'
 
1425
     (0xFFFFFF01).  All routes carry this value must not be advertised
 
1426
     to outside a BGP confederation boundary.  If neighboring BGP peer
 
1427
     is part of BGP confederation, the peer is considered as inside a
 
1428
     BGP confederation boundary, so the route will be announced to the
 
1429
     peer.
 
1430
 
 
1431
`no-advertise'
 
1432
     `no-advertise' represents well-known communities value
 
1433
     `NO_ADVERTISE'
 
1434
     (0xFFFFFF02).  All routes carry this value must not be advertise
 
1435
     to other BGP peers.
 
1436
 
 
1437
`local-AS'
 
1438
     `local-AS' represents well-known communities value
 
1439
     `NO_EXPORT_SUBCONFED' (0xFFFFFF03).  All routes carry this value
 
1440
     must not be advertised to external BGP peers.  Even if the
 
1441
     neighboring router is part of confederation, it is considered as
 
1442
     external BGP peer, so the route will not be announced to the peer.
 
1443
 
 
1444
   When BGP communities attribute is received, duplicated communities
 
1445
value in the communities attribute is ignored and each communities
 
1446
values are sorted in numerical order.
 
1447
 
 
1448
* Menu:
 
1449
 
 
1450
* BGP Community Lists::
 
1451
* Numbered BGP Community Lists::
 
1452
* BGP Community in Route Map::
 
1453
* Display BGP Routes by Community::
 
1454
* Using BGP Communities Attribute::
 
1455