1
@node OSPFv2, OSPFv3, RIPng, Top
2
@comment node-name, next, previous, up
5
OSPF version 2 is a routing protocol which described in
6
@asis{RFC2328} - @cite{OSPF Version 2}. OSPF is IGP (Interior Gateway
7
Protocols). Compared with RIP, OSPF can provide scalable network
8
support and faster convergence time. OSPF is widely used in large
9
networks such as ISP backbone and enterprise networks.
16
* Redistribute routes to OSPF::
17
* Showing OSPF information::
21
@node Configuring ospfd, OSPF router, OSPFv2, OSPFv2
22
@comment node-name, next, previous, up
23
@section Configuring ospfd
25
There is no @command{ospfd} specific options. Common options can be
26
specified (@pxref{Common Invocation Options}) to @command{ospfd}.
27
@command{ospfd} needs interface information from @command{zebra}. So
28
please make it sure @command{zebra} is running before invoking
31
Like other daemons, @command{ospfd} configuration is done in OSPF
32
specific configuration file @file{ospfd.conf}.
34
@node OSPF router, OSPF area, Configuring ospfd, OSPFv2
35
@comment node-name, next, previous, up
38
To start OSPF process you have to specify the OSPF router. As of this
39
writing, @command{ospfd} does not support multiple OSPF processes.
41
@deffn Command {router ospf} {}
42
@deffnx Command {no router ospf} {}
43
Enable or disable the OSPF process. @command{ospfd} does not yet
44
support multiple OSPF processes. So you can not specify an OSPF process
48
@deffn {OSPF Command} {ospf router-id @var{a.b.c.d}} {}
49
@deffnx {OSPF Command} {no ospf router-id} {}
52
@deffn {OSPF Command} {ospf abr-type @var{type}} {}
53
@deffnx {OSPF Command} {no ospf abr-type @var{type}} {}
54
@var{type} can be cisco|ibm|shortcut|standard
55
More information regarding the behaviour controlled by this command can
56
be found in draft-ietf-ospf-abr-alt-05.txt and
57
draft-ietf-ospf-shortcut-abr-02.txt
58
Quote: "Though the definition of the Area Border Router (ABR)
59
in the OSPF specification does not require a router with multiple
60
attached areas to have a backbone connection, it is actually
61
necessary to provide successful routing to the inter-area and
62
external destinations. If this requirement is not met, all traffic
63
destined for the areas not connected to such an ABR or out of the
64
OSPF domain, is dropped. This document describes alternative ABR
65
behaviors implemented in Cisco and IBM routers."
68
@deffn {OSPF Command} {ospf rfc1583compatibility} {}
69
@deffnx {OSPF Command} {no ospf rfc1583compatibility} {}
70
This rfc2328, the sucessor to rfc1583, suggests according to section
71
G.2 (changes) in section 16.4 a change to the path preference
72
algorithm that prevents possible routing loops that were possible in
73
the old version of OSPFv2. More specifically it demands that inter-area
74
paths and intra-area path are now of equal preference but still both
75
preferred to external paths.
78
@deffn {OSPF Command} {passive interface @var{interface}} {}
79
@deffnx {OSPF Command} {no passive interface @var{interface}} {}
82
@deffn {OSPF Command} {timers spf <0-4294967295> <0-4294967295>} {}
83
@deffnx {OSPF Command} {no timers spf} {}
86
@deffn {OSPF Command} {refresh group-limit <0-10000>} {}
87
@deffnx {OSPF Command} {refresh per-slice <0-10000>} {}
88
@deffnx {OSPF Command} {refresh age-diff <0-10000>} {}
91
@deffn {OSPF Command} {auto-cost refrence-bandwidth <1-4294967>} {}
92
@deffnx {OSPF Command} {no auto-cost refrence-bandwidth} {}
95
@deffn {OSPF Command} {network @var{a.b.c.d/m} area @var{a.b.c.d}} {}
96
@deffnx {OSPF Command} {network @var{a.b.c.d/m} area @var{<0-4294967295>}} {}
97
@deffnx {OSPF Command} {no network @var{a.b.c.d/m} area @var{a.b.c.d}} {}
98
@deffnx {OSPF Command} {no network @var{a.b.c.d/m} area @var{<0-4294967295>}} {}
99
This command specifies the OSPF enabled interface(s). If the interface has
100
an address from range 192.168.1.0/24 then the command below enables ospf
101
on this interface so router can provide network information to the other
102
ospf routers via this interface.
106
network 192.168.1.0/24 area 0.0.0.0
109
Prefix length in interface must be equal or bigger (ie. smaller network) than
110
prefix length in network statement. For example statement above doesn't enable
111
ospf on interface with address 192.168.1.1/23, but it does on interface with
112
address 192.168.1.129/25.
115
@node OSPF area, OSPF interface, OSPF router, OSPFv2
116
@comment node-name, next, previous, up
119
@deffn {OSPF Command} {area @var{a.b.c.d} range @var{a.b.c.d/m}} {}
120
@deffnx {OSPF Command} {area <0-4294967295> range @var{a.b.c.d/m}} {}
121
@deffnx {OSPF Command} {no area @var{a.b.c.d} range @var{a.b.c.d/m}} {}
122
@deffnx {OSPF Command} {no area <0-4294967295> range @var{a.b.c.d/m}} {}
123
Summarize intra area paths from specified area into one Type-3 summary-LSA
124
announced to other areas. This command can be used only in ABR and ONLY
125
router-LSAs (Type-1) and network-LSAs (Type-2) (ie. LSAs with scope area) can
126
be summarized. Type-5 AS-external-LSAs can't be summarized - their scope is AS.
127
Summarizing Type-7 AS-external-LSAs isn't supported yet by Quagga.
131
network 192.168.1.0/24 area 0.0.0.0
132
network 10.0.0.0/8 area 0.0.0.10
133
area 0.0.0.10 range 10.0.0.0/8
136
With configuration above one Type-3 Summary-LSA with routing info 10.0.0.0/8 is
137
announced into backbone area if area 0.0.0.10 contains at least one intra-area
138
network (ie. described with router or network LSA) from this range.
141
@deffn {OSPF Command} {area @var{a.b.c.d} range IPV4_PREFIX not-advertise} {}
142
@deffnx {OSPF Command} {no area @var{a.b.c.d} range IPV4_PREFIX not-advertise} {}
143
Instead of summarizing intra area paths filter them - ie. intra area paths from this
144
range are not advertised into other areas.
145
This command makes sense in ABR only.
148
@deffn {OSPF Command} {area @var{a.b.c.d} range IPV4_PREFIX substitute IPV4_PREFIX} {}
149
@deffnx {OSPF Command} {no area @var{a.b.c.d} range IPV4_PREFIX substitute IPV4_PREFIX} {}
150
Substitute summarized prefix with another prefix.
154
network 192.168.1.0/24 area 0.0.0.0
155
network 10.0.0.0/8 area 0.0.0.10
156
area 0.0.0.10 range 10.0.0.0/8 substitute 11.0.0.0/8
159
One Type-3 summary-LSA with routing info 11.0.0.0/8 is announced into backbone area if
160
area 0.0.0.10 contains at least one intra-area network (ie. described with router-LSA or
161
network-LSA) from range 10.0.0.0/8.
162
This command makes sense in ABR only.
165
@deffn {OSPF Command} {area @var{a.b.c.d} virtual-link @var{a.b.c.d}} {}
166
@deffnx {OSPF Command} {area <0-4294967295> virtual-link @var{a.b.c.d}} {}
167
@deffnx {OSPF Command} {no area @var{a.b.c.d} virtual-link @var{a.b.c.d}} {}
168
@deffnx {OSPF Command} {no area <0-4294967295> virtual-link @var{a.b.c.d}} {}
171
@deffn {OSPF Command} {area @var{a.b.c.d} shortcut} {}
172
@deffnx {OSPF Command} {area <0-4294967295> shortcut} {}
173
@deffnx {OSPF Command} {no area @var{a.b.c.d} shortcut} {}
174
@deffnx {OSPF Command} {no area <0-4294967295> shortcut} {}
177
@deffn {OSPF Command} {area @var{a.b.c.d} stub} {}
178
@deffnx {OSPF Command} {area <0-4294967295> stub} {}
179
@deffnx {OSPF Command} {no area @var{a.b.c.d} stub} {}
180
@deffnx {OSPF Command} {no area <0-4294967295> stub} {}
183
@deffn {OSPF Command} {area @var{a.b.c.d} stub no-summary} {}
184
@deffnx {OSPF Command} {area <0-4294967295> stub no-summary} {}
185
@deffnx {OSPF Command} {no area @var{a.b.c.d} stub no-summary} {}
186
@deffnx {OSPF Command} {no area <0-4294967295> stub no-summary} {}
189
@deffn {OSPF Command} {area @var{a.b.c.d} default-cost <0-16777215>} {}
190
@deffnx {OSPF Command} {no area @var{a.b.c.d} default-cost <0-16777215>} {}
193
@deffn {OSPF Command} {area @var{a.b.c.d} export-list NAME} {}
194
@deffnx {OSPF Command} {area <0-4294967295> export-list NAME} {}
195
@deffnx {OSPF Command} {no area @var{a.b.c.d} export-list NAME} {}
196
@deffnx {OSPF Command} {no area <0-4294967295> export-list NAME} {}
197
Filter Type-3 summary-LSAs announced to other areas originated from intra-
198
area paths from specified area.
202
network 192.168.1.0/24 area 0.0.0.0
203
network 10.0.0.0/8 area 0.0.0.10
204
area 0.0.0.10 export-list foo
206
access-list foo permit 10.10.0.0/16
207
access-list foo deny any
210
With example above any intra-area paths from area 0.0.0.10 and from range
211
10.10.0.0/16 (for example 10.10.1.0/24 and 10.10.2.128/30) are announced into
212
other areas as Type-3 summary-LSA's, but any others (for example 10.11.0.0/16
213
or 10.128.30.16/30) aren't.
214
This command makes sense in ABR only.
217
@deffn {OSPF Command} {area @var{a.b.c.d} import-list NAME} {}
218
@deffnx {OSPF Command} {area <0-4294967295> import-list NAME} {}
219
@deffnx {OSPF Command} {no area @var{a.b.c.d} import-list NAME} {}
220
@deffnx {OSPF Command} {no area <0-4294967295> import-list NAME} {}
221
Same as export-list, but it applies to paths announced into specified area as
225
@deffn {OSPF Command} {area @var{a.b.c.d} filter-list prefix NAME in} {}
226
@deffnx {OSPF Command} {area @var{a.b.c.d} filter-list prefix NAME out} {}
227
@deffnx {OSPF Command} {area <0-4294967295> filter-list prefix NAME in} {}
228
@deffnx {OSPF Command} {area <0-4294967295> filter-list prefix NAME out} {}
229
@deffnx {OSPF Command} {no area @var{a.b.c.d} filter-list prefix NAME in} {}
230
@deffnx {OSPF Command} {no area @var{a.b.c.d} filter-list prefix NAME out} {}
231
@deffnx {OSPF Command} {no area <0-4294967295> filter-list prefix NAME in} {}
232
@deffnx {OSPF Command} {no area <0-4294967295> filter-list prefix NAME out} {}
233
Filtering Type-3 summary-LSAs to/from area using prefix lists. This command
234
makes sense in ABR only.
237
@deffn {OSPF Command} {area @var{a.b.c.d} authentication} {}
238
@deffnx {OSPF Command} {area <0-4294967295> authentication} {}
239
@deffnx {OSPF Command} {no area @var{a.b.c.d} authentication} {}
240
@deffnx {OSPF Command} {no area <0-4294967295> authentication} {}
243
@deffn {OSPF Command} {area @var{a.b.c.d} authentication message-digest} {}
244
@deffnx {OSPF Command} {area <0-4294967295> authentication message-digest} {}
247
@node OSPF interface, Redistribute routes to OSPF, OSPF area, OSPFv2
248
@comment node-name, next, previous, up
249
@section OSPF interface
251
@deffn {Interface Command} {ip ospf authentication-key AUTH_KEY} {}
252
@deffnx {Interface Command} {no ip ospf authentication-key} {}
253
Set OSPF authentication key to a simple password. After setting @var{AUTH_KEY},
254
all OSPF packets are authenticated. @var{AUTH_KEY} has length up to 8 chars.
257
@deffn {Interface Command} {ip ospf message-digest-key KEYID md5 KEY} {}
258
@deffnx {Interface Command} {no ip ospf message-digest-key} {}
259
Set OSPF authentication key to a cryptographic password. The cryptographic
260
algorithm is MD5. KEYID identifies secret key used to create the message
261
digest. KEY is the actual message digest key up to 16 chars.
264
@deffn {Interface Command} {ip ospf cost <1-65535>} {}
265
@deffnx {Interface Command} {no ip ospf cost} {}
266
Set link cost for the specified interface. The cost value is set to router-LSA's
267
metric field and used for SPF calculation.
270
@deffn {Interface Command} {ip ospf dead-interval <1-65535>} {}
271
@deffnx {Interface Command} {no ip ospf dead-interval} {}
272
Set number of seconds for RouterDeadInterval timer value used for Wait Timer
273
and Inactivity Timer. This value must be the same for all routers attached
274
to a common network. The default value is 40 seconds.
277
@deffn {Interface Command} {ip ospf hello-interval <1-65535>} {}
278
@deffnx {Interface Command} {no ip ospf hello-interval} {}
279
Set number of seconds for HelloInterval timer value. Setting this value,
280
Hello packet will be sent every timer value seconds on the specified interface.
281
This value must be the same for all routers attached to a common network.
282
The default value is 10 seconds.
285
@deffn {Interface Command} {ip ospf network (broadcast|non-broadcast|point-to-multipoint|point-to-point)} {}
286
@deffnx {Interface Command} {no ip ospf network} {}
287
Set explicitly network type for specifed interface.
290
@deffn {Interface Command} {ip ospf priority <0-255>} {}
291
@deffnx {Interface Command} {no ip ospf priority} {}
292
Set RouterPriority integer value. Setting higher value, router will be more
293
eligible to become Designated Router. Setting the value to 0, router is no
294
longer eligible to Designated Router.
295
The default value is 1.
298
@deffn {Interface Command} {ip ospf retransmit-interval <1-65535>} {}
299
@deffnx {Interface Command} {no ip ospf retransmit interval} {}
300
Set number of seconds for RxmtInterval timer value. This value is used
301
when retransmitting Database Description and Link State Request packets.
302
The default value is 5 seconds.
305
@deffn {Interface Command} {ip ospf transmit-delay} {}
306
@deffnx {Interface Command} {no ip ospf transmit-delay} {}
307
Set number of seconds for InfTransDelay value. LSAs' age should be
308
incremented by this value when transmitting.
309
The default value is 1 seconds.
312
@node Redistribute routes to OSPF, Showing OSPF information, OSPF interface, OSPFv2
313
@comment node-name, next, previous, up
314
@section Redistribute routes to OSPF
316
@deffn {OSPF Command} {redistribute (kernel|connected|static|rip|bgp)} {}
317
@deffnx {OSPF Command} {redistribute (kernel|connected|static|rip|bgp) @var{route-map}} {}
318
@deffnx {OSPF Command} {redistribute (kernel|connected|static|rip|bgp) metric-type (1|2)} {}
319
@deffnx {OSPF Command} {redistribute (kernel|connected|static|rip|bgp) metric-type (1|2) route-map @var{word}} {}
320
@deffnx {OSPF Command} {redistribute (kernel|connected|static|rip|bgp) metric <0-16777214>} {}
321
@deffnx {OSPF Command} {redistribute (kernel|connected|static|rip|bgp) metric <0-16777214> route-map @var{word}} {}
322
@deffnx {OSPF Command} {redistribute (kernel|connected|static|rip|bgp) metric-type (1|2) metric <0-16777214>} {}
323
@deffnx {OSPF Command} {redistribute (kernel|connected|static|rip|bgp) metric-type (1|2) metric <0-16777214> route-map @var{word}} {}
324
@deffnx {OSPF Command} {no redistribute (kernel|connected|static|rip|bgp)} {}
327
@deffn {OSPF Command} {default-information originate} {}
328
@deffnx {OSPF Command} {default-information originate metric <0-16777214>} {}
329
@deffnx {OSPF Command} {default-information originate metric <0-16777214> metric-type (1|2)} {}
330
@deffnx {OSPF Command} {default-information originate metric <0-16777214> metric-type (1|2) route-map @var{word}} {}
331
@deffnx {OSPF Command} {default-information originate always} {}
332
@deffnx {OSPF Command} {default-information originate always metric <0-16777214>} {}
333
@deffnx {OSPF Command} {default-information originate always metric <0-16777214> metric-type (1|2)} {}
334
@deffnx {OSPF Command} {default-information originate always metric <0-16777214> metric-type (1|2) route-map @var{word}} {}
335
@deffnx {OSPF Command} {no default-information originate} {}
338
@deffn {OSPF Command} {distribute-list NAME out (kernel|connected|static|rip|ospf} {}
339
@deffnx {OSPF Command} {no distribute-list NAME out (kernel|connected|static|rip|ospf} {}
342
@deffn {OSPF Command} {default-metric <0-16777214>} {}
343
@deffnx {OSPF Command} {no default-metric} {}
346
@deffn {OSPF Command} {distance <1-255>} {}
347
@deffnx {OSPF Command} {no distance <1-255>} {}
350
@deffn {OSPF Command} {distance ospf (intra-area|inter-area|external) <1-255>} {}
351
@deffnx {OSPF Command} {no distance ospf} {}
354
@deffn {Command} {router zebra} {}
355
@deffnx {Command} {no router zebra} {}
358
@node Showing OSPF information, Debugging OSPF, Redistribute routes to OSPF, OSPFv2
359
@comment node-name, next, previous, up
360
@section Showing OSPF information
362
@deffn {Command} {show ip ospf} {}
365
@deffn {Command} {show ip ospf interface [INTERFACE]} {}
368
@deffn {Command} {show ip ospf neighbor} {}
369
@deffnx {Command} {show ip ospf neighbor INTERFACE} {}
370
@deffnx {Command} {show ip ospf neighbor detail} {}
371
@deffnx {Command} {show ip ospf neighbor INTERFACE detail} {}
374
@deffn {Command} {show ip ospf database} {}
377
@deffn {Command} {show ip ospf database (asbr-summary|external|network|router|summary)} {}
378
@deffnx {Command} {show ip ospf database (asbr-summary|external|network|router|summary) @var{link-state-id}} {}
379
@deffnx {Command} {show ip ospf database (asbr-summary|external|network|router|summary) @var{link-state-id} adv-router @var{adv-router}} {}
380
@deffnx {Command} {show ip ospf database (asbr-summary|external|network|router|summary) adv-router @var{adv-router}} {}
381
@deffnx {Command} {show ip ospf database (asbr-summary|external|network|router|summary) @var{link-state-id} self-originate} {}
382
@deffnx {Command} {show ip ospf database (asbr-summary|external|network|router|summary) self-originate} {}
385
@deffn {Command} {show ip ospf database max-age} {}
388
@deffn {Command} {show ip ospf database self-originate} {}
391
@deffn {Command} {show ip ospf refresher} {}
394
@deffn {Command} {show ip ospf route} {}
397
@node Debugging OSPF, , Showing OSPF information, OSPFv2
398
@comment node-name, next, previous, up
399
@section Debugging OSPF
401
@deffn {Command} {debug ospf packet (hello|dd|ls-request|ls-update|ls-ack|all) (send|recv) [detail]} {}
402
@deffnx {Command} {no debug ospf packet (hello|dd|ls-request|ls-update|ls-ack|all) (send|recv) [detail]} {}
405
@deffn {Command} {debug ospf ism} {}
406
@deffnx {Command} {debug ospf ism (status|events|timers)} {}
407
@deffnx {Command} {no debug ospf ism} {}
408
@deffnx {Command} {no debug ospf ism (status|events|timers)} {}
411
@deffn {Command} {debug ospf nsm} {}
412
@deffnx {Command} {debug ospf nsm (status|events|timers)} {}
413
@deffnx {Command} {no debug ospf nsm} {}
414
@deffnx {Command} {no debug ospf nsm (status|events|timers)} {}
417
@deffn {Command} {debug ospf lsa} {}
418
@deffnx {Command} {debug ospf lsa (generate|flooding|refresh)} {}
419
@deffnx {Command} {no debug ospf lsa} {}
420
@deffnx {Command} {no debug ospf lsa (generate|flooding|refresh)} {}
423
@deffn {Command} {debug ospf zebra} {}
424
@deffnx {Command} {debug ospf zebra (interface|redistribute)} {}
425
@deffnx {Command} {no debug ospf zebra} {}
426
@deffnx {Command} {no debug ospf zebra (interface|redistribute)} {}
429
@deffn {Command} {show debugging ospf} {}