1
This is quagga.info, produced by makeinfo version 4.5 from quagga.texi.
3
INFO-DIR-SECTION Routing Software:
5
* Quagga: (quagga). The Quagga routing software
8
This file documents the GNU Quagga software which manages common
9
TCP/IP routing protocols.
11
This is Edition 0.1, last updated 12 August 2003 of `The Quagga
12
Manual', for Quagga Version 0.96.
14
Copyright (C) 1999, 2000, 2001, 2002 Kunihiro Ishiguro
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.
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.
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.
31
File: quagga.info, Node: How to Announce RIP route, Next: Filtering RIP Routes, Prev: RIP Configuration, Up: RIP
33
How to Announce RIP route
34
=========================
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'
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'
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.
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
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
78
If you want to specify RIP only static routes:
80
- RIP command: default-information originate
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'.
91
File: quagga.info, Node: Filtering RIP Routes, Next: RIP Metric Manipulation, Prev: How to Announce RIP route, Up: RIP
96
RIP routes can be filtered by a distribute-list.
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.
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
113
distribute-list private in eth0
115
access-list private permit 10 10.0.0.0/8
116
access-list private deny any
119
`distribute-list' can be applied to both incoming and outgoing data.
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.
128
File: quagga.info, Node: RIP Metric Manipulation, Next: RIP distance, Prev: Filtering RIP Routes, Up: RIP
130
RIP Metric Manipulation
131
=======================
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.
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.
146
- RIP command: offset-list ACCESS-LIST (in|out)
147
- RIP command: offset-list ACCESS-LIST (in|out) IFNAME
150
File: quagga.info, Node: RIP distance, Next: RIP route-map, Prev: RIP Metric Manipulation, Up: RIP
155
Distance value is used in zebra daemon. Default RIP distance is 120.
157
- RIP command: distance <1-255>
158
- RIP command: no distance <1-255>
159
Set default RIP distance to specified value.
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.
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
173
File: quagga.info, Node: RIP route-map, Next: RIP Authentication, Prev: RIP distance, Up: RIP
178
Usage of `ripd''s route-map support.
180
Optional argument route-map MAP_NAME can be added to each
181
`redistribute' statement.
183
redistribute static [route-map MAP_NAME]
184
redistribute connected [route-map MAP_NAME]
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
194
Route-map statement (*note Route Map::) is needed to use route-map
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
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.
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
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.
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
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.
234
File: quagga.info, Node: RIP Authentication, Next: RIP Timers, Prev: RIP route-map, Up: RIP
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.
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.
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
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.
263
ip rip authentication mode md5
264
ip rip authentication key-chain test
268
File: quagga.info, Node: RIP Timers, Next: Show RIP Information, Prev: RIP Authentication, Up: RIP
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.
277
The default settings for the timers are as follows:
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.
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.
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.
294
The `timers basic' command allows the the default values of the
295
timers listed above to be changed.
297
- RIP command: no timers basic
298
The `no timers basic' command will reset the timers to the default
299
settings listed above.
302
File: quagga.info, Node: Show RIP Information, Next: RIP Debug Commands, Prev: RIP Timers, Up: RIP
307
To display RIP routes.
309
- Command: show ip rip
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.
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.
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
331
Routing for Networks:
336
Routing Information Sources:
337
Gateway BadPackets BadRoutes Distance Last Update
340
File: quagga.info, Node: RIP Debug Commands, Prev: Show RIP Information, Up: RIP
345
Debug for RIP protocol.
347
- Command: debug rip events
350
`debug rip' will show RIP events. Sending and receiving packets,
351
timers, and changes in interfaces are events shown with `ripd'.
353
- Command: debug rip packet
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
360
- Command: debug rip zebra
361
Debug rip between zebra communication.
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.
367
- Command: show debugging rip
368
Display `ripd''s debugging option.
370
`show debugging rip' will show all information currently set for ripd
374
File: quagga.info, Node: RIPng, Next: OSPFv2, Prev: RIP, Up: Top
379
`ripngd' supports the RIPng protocol as described in RFC2080. It's
380
an IPv6 reincarnation of the RIP protocol.
385
* ripngd Configuration::
386
* ripngd Terminal Mode Commands::
387
* ripngd Filtering Commands::
390
File: quagga.info, Node: Invoking ripngd, Next: ripngd Configuration, Prev: RIPng, Up: RIPng
395
There are no `ripngd' specific invocation options. Common options
396
can be specified (*note Common Invocation Options::).
399
File: quagga.info, Node: ripngd Configuration, Next: ripngd Terminal Mode Commands, Prev: Invoking ripngd, Up: RIPng
404
Currently ripngd supports the following commands:
406
- Command: router ripng
409
- RIPng Command: flush_timer TIME
412
- RIPng Command: network NETWORK
413
Set RIPng enabled interface by NETWORK
415
- RIPng Command: network IFNAME
416
Set RIPng enabled interface by IFNAME
418
- RIPng Command: route NETWORK
419
Set RIPng static routing announcement of NETWORK.
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
427
File: quagga.info, Node: ripngd Terminal Mode Commands, Next: ripngd Filtering Commands, Prev: ripngd Configuration, Up: RIPng
429
ripngd Terminal Mode Commands
430
=============================
432
- Command: show ip ripng
434
- Command: show debugging ripng
436
- Command: debug ripng events
438
- Command: debug ripng packet
440
- Command: debug ripng zebra
443
File: quagga.info, Node: ripngd Filtering Commands, Prev: ripngd Terminal Mode Commands, Up: RIPng
445
ripngd Filtering Commands
446
=========================
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.
454
distribute-list local-only out sit1
457
File: quagga.info, Node: OSPFv2, Next: OSPFv3, Prev: RIPng, Up: Top
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.
470
* Configuring ospfd::
474
* Redistribute routes to OSPF::
475
* Showing OSPF information::
479
File: quagga.info, Node: Configuring ospfd, Next: OSPF router, Prev: OSPFv2, Up: OSPFv2
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'.
489
Like other daemons, `ospfd' configuration is done in OSPF specific
490
configuration file `ospfd.conf'.
493
File: quagga.info, Node: OSPF router, Next: OSPF area, Prev: Configuring ospfd, Up: OSPFv2
498
To start OSPF process you have to specify the OSPF router. As of
499
this writing, `ospfd' does not support multiple OSPF processes.
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
507
- OSPF Command: ospf router-id A.B.C.D
508
- OSPF Command: no ospf router-id
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
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.
534
- OSPF Command: passive interface INTERFACE
535
- OSPF Command: no passive interface INTERFACE
537
- OSPF Command: timers spf <0-4294967295> <0-4294967295>
538
- OSPF Command: no timers spf
540
- OSPF Command: refresh group-limit <0-10000>
541
- OSPF Command: refresh per-slice <0-10000>
542
- OSPF Command: refresh age-diff <0-10000>
544
- OSPF Command: auto-cost refrence-bandwidth <1-4294967>
545
- OSPF Command: no auto-cost refrence-bandwidth
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.
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
564
File: quagga.info, Node: OSPF area, Next: OSPF interface, Prev: OSPF router, Up: OSPFv2
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.
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.
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.
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
597
Substitute summarized prefix with another prefix.
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
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
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
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
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
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>
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.
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
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.
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.
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.
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
673
- OSPF Command: area A.B.C.D authentication message-digest
674
- OSPF Command: area <0-4294967295> authentication message-digest
677
File: quagga.info, Node: OSPF interface, Next: Redistribute routes to OSPF, Prev: OSPF area, Up: OSPFv2
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
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
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.
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
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.
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.
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.
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.
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
739
File: quagga.info, Node: Redistribute routes to OSPF, Next: Showing OSPF information, Prev: OSPF interface, Up: OSPFv2
741
Redistribute routes to OSPF
742
===========================
744
- OSPF Command: redistribute (kernel|connected|static|rip|bgp)
745
- OSPF Command: redistribute (kernel|connected|static|rip|bgp)
747
- OSPF Command: redistribute (kernel|connected|static|rip|bgp)
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
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)
761
- OSPF Command: default-information originate
762
- OSPF Command: default-information originate metric <0-16777214>
763
- OSPF Command: default-information originate metric <0-16777214>
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
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
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
781
- OSPF Command: default-metric <0-16777214>
782
- OSPF Command: no default-metric
784
- OSPF Command: distance <1-255>
785
- OSPF Command: no distance <1-255>
787
- OSPF Command: distance ospf (intra-area|inter-area|external) <1-255>
788
- OSPF Command: no distance ospf
790
- Command: router zebra
791
- Command: no router zebra
794
File: quagga.info, Node: Showing OSPF information, Next: Debugging OSPF, Prev: Redistribute routes to OSPF, Up: OSPFv2
796
Showing OSPF information
797
========================
799
- Command: show ip ospf
801
- Command: show ip ospf interface [INTERFACE]
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
808
- Command: show ip ospf database
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
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
822
- Command: show ip ospf database
823
(asbr-summary|external|network|router|summary) self-originate
825
- Command: show ip ospf database max-age
827
- Command: show ip ospf database self-originate
829
- Command: show ip ospf refresher
831
- Command: show ip ospf route
834
File: quagga.info, Node: Debugging OSPF, Prev: Showing OSPF information, Up: OSPFv2
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]
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)
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)
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)
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)
864
- Command: show debugging ospf
867
File: quagga.info, Node: OSPFv3, Next: BGP, Prev: OSPFv2, Up: Top
872
`ospf6d' is a daemon support OSPF version 3 for IPv6 network. OSPF
873
for IPv6 is described in RFC2740.
880
* Redistribute routes to OSPF6::
881
* Showing OSPF6 information::
884
File: quagga.info, Node: OSPF6 router, Next: OSPF6 area, Prev: OSPFv3, Up: OSPFv3
889
- Command: router ospf6
891
- OSPF6 Command: router-id A.B.C.D
892
Set router's Router-ID.
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.
899
File: quagga.info, Node: OSPF6 area, Next: OSPF6 interface, Prev: OSPF6 router, Up: OSPFv3
904
Area support for OSPFv3 is not yet implemented.
907
File: quagga.info, Node: OSPF6 interface, Next: Redistribute routes to OSPF6, Prev: OSPF6 area, Up: OSPFv3
912
- Interface Command: ipv6 ospf6 cost COST
913
Sets interface's output cost. Default value is 1.
915
- Interface Command: ipv6 ospf6 hello-interval HELLOINTERVAL
916
Sets interface's Hello Interval. Default 40
918
- Interface Command: ipv6 ospf6 dead-interval DEADINTERVAL
919
Sets interface's Router Dead Interval. Default value is 40.
921
- Interface Command: ipv6 ospf6 retransmit-interval RETRANSMITINTERVAL
922
Sets interface's Rxmt Interval. Default value is 5.
924
- Interface Command: ipv6 ospf6 priority PRIORITY
925
Sets interface's Router Priority. Default value is 1.
927
- Interface Command: ipv6 ospf6 transmit-delay TRANSMITDELAY
928
Sets interface's Inf-Trans-Delay. Default value is 1.
931
File: quagga.info, Node: Redistribute routes to OSPF6, Next: Showing OSPF6 information, Prev: OSPF6 interface, Up: OSPFv3
933
Redistribute routes to OSPF6
934
============================
936
- OSPF6 Command: redistribute static
937
- OSPF6 Command: redistribute connected
938
- OSPF6 Command: redistribute ripng
941
File: quagga.info, Node: Showing OSPF6 information, Prev: Redistribute routes to OSPF6, Up: OSPFv3
943
Showing OSPF6 information
944
=========================
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>".
950
- Command: show ipv6 ospf6 database
951
This command shows LSA database summary. You can specify the type
954
- Command: show ipv6 ospf6 interface
955
To see OSPF interface configuration like costs.
957
- Command: show ipv6 ospf6 neighbor
958
Shows state and chosen (Backup) DR of neighbor.
960
- Command: show ipv6 ospf6 request-list A.B.C.D
961
Shows requestlist of neighbor.
963
- Command: show ipv6 route ospf6
964
This command shows internal routing table.
967
File: quagga.info, Node: BGP, Next: VTY shell, Prev: OSPFv3, Up: Top
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)'.
977
Many extentions are added to `RFC1771'. `RFC2858' - `Multiprotocol
978
Extensions for BGP-4' provide multiprotocol support to BGP-4.
987
* BGP Address Family::
988
* Autonomous System::
989
* BGP Communities Attribute::
990
* BGP Extended Communities Attribute::
991
* Displaying BGP routes::
992
* Capability Negotiation::
995
* How to set up a 6-Bone connection::
996
* Dump BGP packets and table::
999
File: quagga.info, Node: Starting BGP, Next: BGP router, Prev: BGP, Up: BGP
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'.
1008
`bgpd' specific invocation options are described below. Common
1009
options may also be specified (*note Common Invocation Options::).
1013
Set the bgp protocol's port number.
1017
When program terminates, retain BGP routes added by zebra.
1020
File: quagga.info, Node: BGP router, Next: BGP network, Prev: Starting BGP, Up: BGP
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
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::).
1037
- Command: no router bgp ASN
1038
Destroy a BGP protocol process with the specified ASN.
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.
1051
* BGP decision process::
1054
File: quagga.info, Node: BGP distance, Next: BGP decision process, Prev: BGP router, Up: BGP router
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
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
1069
File: quagga.info, Node: BGP decision process, Prev: BGP distance, Up: BGP router
1071
BGP decision process
1072
--------------------
1076
2. Local preference check.
1078
3. Local route check.
1080
4. AS path length check.
1087
File: quagga.info, Node: BGP network, Next: BGP Peer, Prev: BGP router, Up: BGP
1095
* Route Aggregation::
1096
* Redistribute to BGP::
1099
File: quagga.info, Node: BGP route, Next: Route Aggregation, Prev: BGP network, Up: BGP network
1104
- BGP: network A.B.C.D/M
1105
This command adds the announcement network.
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
1114
- BGP: no network A.B.C.D/M
1117
File: quagga.info, Node: Route Aggregation, Next: Redistribute to BGP, Prev: BGP route, Up: BGP network
1122
- BGP: aggregate-address A.B.C.D/M
1123
This command specifies an aggregate address.
1125
- BGP: aggregate-address A.B.C.D/M as-set
1126
This command specifies an aggregate address. Resulting routes
1129
- BGP: aggregate-address A.B.C.D/M summary-only
1130
This command specifies an aggregate address. Aggreated routes will
1133
- BGP: no aggregate-address A.B.C.D/M
1136
File: quagga.info, Node: Redistribute to BGP, Prev: Route Aggregation, Up: BGP network
1141
- BGP: redistribute kernel
1142
Redistribute kernel route to BGP process.
1144
- BGP: redistribute static
1145
Redistribute static route to BGP process.
1147
- BGP: redistribute connected
1148
Redistribute connected route to BGP process.
1150
- BGP: redistribute rip
1151
Redistribute RIP route to BGP process.
1153
- BGP: redistribute ospf
1154
Redistribute OSPF route to BGP process.
1157
File: quagga.info, Node: BGP Peer, Next: BGP Peer Group, Prev: BGP network, Up: BGP
1165
* BGP Peer commands::
1169
File: quagga.info, Node: Defining Peer, Next: BGP Peer commands, Prev: BGP Peer, Up: BGP Peer
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.
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
1182
This command must be the first command used when configuring a
1183
neighbor. If the remote-as is not specified, `bgpd' will complain
1185
can't find neighbor 10.0.0.1
1188
File: quagga.info, Node: BGP Peer commands, Next: Peer filtering, Prev: Defining Peer, Up: BGP Peer
1193
In a `router bgp' clause there are neighbor specific configurations
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.
1203
- BGP: neighbor PEER ebgp-multihop
1204
- BGP: no neighbor PEER ebgp-multihop
1206
- BGP: neighbor PEER description ...
1207
- BGP: no neighbor PEER description ...
1208
Set description of the peer.
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
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
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.
1230
- BGP: neighbor PEER update-source
1231
- BGP: no neighbor PEER update-source
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.
1239
- BGP: neighbor PEER port PORT
1240
- BGP: neighbor PEER port PORT
1242
- BGP: neighbor PEER send-community
1243
- BGP: neighbor PEER send-community
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
1250
- BGP: neighbor PEER maximum-prefix NUMBER
1251
- BGP: no neighbor PEER maximum-prefix NUMBER
1254
File: quagga.info, Node: Peer filtering, Prev: BGP Peer commands, Up: BGP Peer
1259
- BGP: neighbor PEER distribute-list NAME [in|out]
1260
This command specifies a distribute-list for the peer. DIRECT is
1263
- BGP command: neighbor PEER prefix-list NAME [in|out]
1265
- BGP command: neighbor PEER filter-list NAME [in|out]
1267
- BGP: neighbor PEER route-map NAME [in|out]
1268
Apply a route-map on the neighbor. DIRECT must be `in' or `out'.
1271
File: quagga.info, Node: BGP Peer Group, Next: BGP Address Family, Prev: BGP Peer, Up: BGP
1276
- BGP: neighbor WORD peer-group
1277
This command defines a new peer group.
1279
- BGP: neighbor PEER peer-group WORD
1280
This command bind specific peer to peer group WORD.
1283
File: quagga.info, Node: BGP Address Family, Next: Autonomous System, Prev: BGP Peer Group, Up: BGP
1289
File: quagga.info, Node: Autonomous System, Next: BGP Communities Attribute, Prev: BGP Address Family, Up: BGP
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.
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
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::
1314
File: quagga.info, Node: AS Path Regular Expression, Next: Display BGP Routes by AS Path, Prev: Autonomous System, Up: Autonomous System
1316
AS Path Regular Expression
1317
--------------------------
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
1327
Matches any single character.
1330
Matches 0 or more occurrences of pattern.
1333
Matches 1 or more occurrences of pattern.
1336
Match 0 or 1 occurrences of pattern.
1339
Matches the beginning of the line.
1342
Matches the end of the line.
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.
1353
File: quagga.info, Node: Display BGP Routes by AS Path, Next: AS Path Access List, Prev: AS Path Regular Expression, Up: Autonomous System
1355
Display BGP Routes by AS Path
1356
-----------------------------
1358
To show BGP routes which has specific AS path information `show ip
1359
bgp' command can be used.
1361
- Command: show ip bgp regexp LINE
1362
This commands display BGP routes that matches AS path regular
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
1371
AS path access list is user defined AS path.
1373
- Command: ip as-path access-list WORD {permit|deny} LINE
1374
This command defines a new AS path access list.
1376
- Command: no ip as-path access-list WORD
1377
- Command: no ip as-path access-list WORD {permit|deny} LINE
1380
File: quagga.info, Node: Using AS Path in Route Map, Next: Private AS Numbers, Prev: AS Path Access List, Up: Autonomous System
1382
Using AS Path in Route Map
1383
--------------------------
1385
- Route Map: match as-path WORD
1387
- Route Map: set as-path prepend AS-PATH
1390
File: quagga.info, Node: Private AS Numbers, Prev: Using AS Path in Route Map, Up: Autonomous System
1396
File: quagga.info, Node: BGP Communities Attribute, Next: BGP Extended Communities Attribute, Prev: Autonomous System, Up: BGP
1398
BGP Communities Attribute
1399
=========================
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.
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.
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.
1421
`internet' represents well-known communities value 0.
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
1432
`no-advertise' represents well-known communities value
1434
(0xFFFFFF02). All routes carry this value must not be advertise
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.
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.
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::