|
@@ -1,11 +1,13 @@
|
|
|
@node OSPFv2
|
|
|
@chapter OSPFv2
|
|
|
|
|
|
- OSPF version 2 is a routing protocol which described in
|
|
|
-@asis{RFC2328} - @cite{OSPF Version 2}. OSPF is IGP (Interior Gateway
|
|
|
-Protocols). Compared with RIP, OSPF can provide scalable network
|
|
|
-support and faster convergence time. OSPF is widely used in large
|
|
|
-networks such as ISP backbone and enterprise networks.
|
|
|
+@acronym{OSPF,Open Shortest Path First} version 2 is a routing protocol
|
|
|
+which is described in @cite{RFC2328, OSPF Version 2}. OSPF is an
|
|
|
+@acronym{IGP,Interior Gateway Protocol}@.. Compared with @acronym{RIP},
|
|
|
+@acronym{OSPF} can provide scalable network support and faster
|
|
|
+convergence times. OSPF is widely used in large networks such as
|
|
|
+@acronym{ISP,Internet Service Provider} backbone and enterprise
|
|
|
+networks.
|
|
|
|
|
|
@menu
|
|
|
* Configuring ospfd::
|
|
@@ -15,18 +17,20 @@ networks such as ISP backbone and enterprise networks.
|
|
|
* Redistribute routes to OSPF::
|
|
|
* Showing OSPF information::
|
|
|
* Debugging OSPF::
|
|
|
+* OSPF Configuration Examples::
|
|
|
@end menu
|
|
|
|
|
|
@node Configuring ospfd
|
|
|
@section Configuring ospfd
|
|
|
|
|
|
-There is no @command{ospfd} specific options. Common options can be
|
|
|
+There are no @command{ospfd} specific options. Common options can be
|
|
|
specified (@pxref{Common Invocation Options}) to @command{ospfd}.
|
|
|
-@command{ospfd} needs interface information from @command{zebra}. So
|
|
|
-please make it sure @command{zebra} is running before invoking
|
|
|
-@command{ospfd}.
|
|
|
+@command{ospfd} needs to acquire interface information from
|
|
|
+@command{zebra} in order to function. Therefore @command{zebra} must be
|
|
|
+running before invoking @command{ospfd}. Also, if @command{zebra} is
|
|
|
+restarted then @command{ospfd} must be too.
|
|
|
|
|
|
-Like other daemons, @command{ospfd} configuration is done in OSPF
|
|
|
+Like other daemons, @command{ospfd} configuration is done in @acronym{OSPF}
|
|
|
specific configuration file @file{ospfd.conf}.
|
|
|
|
|
|
@node OSPF router
|
|
@@ -44,15 +48,23 @@ number.
|
|
|
|
|
|
@deffn {OSPF Command} {ospf router-id @var{a.b.c.d}} {}
|
|
|
@deffnx {OSPF Command} {no ospf router-id} {}
|
|
|
+This sets the router-ID of the OSPF process. The router-ID may be an IP
|
|
|
+address of the router, but need not be - it can be any arbitrary 32bit
|
|
|
+number. However it MUST be unique within the entire OSPF domain to the
|
|
|
+OSPF speaker - bad things will happen if multiple OSPF speakers are
|
|
|
+configured with the same router-ID! If one is not specified then
|
|
|
+@command{ospfd} will obtain a router-ID automatically from @command{zebra}.
|
|
|
@end deffn
|
|
|
|
|
|
@deffn {OSPF Command} {ospf abr-type @var{type}} {}
|
|
|
@deffnx {OSPF Command} {no ospf abr-type @var{type}} {}
|
|
|
-@var{type} can be cisco|ibm|shortcut|standard
|
|
|
+@var{type} can be cisco|ibm|shortcut|standard.
|
|
|
+
|
|
|
More information regarding the behaviour controlled by this command can
|
|
|
-be found in draft-ietf-ospf-abr-alt-05.txt and
|
|
|
-draft-ietf-ospf-shortcut-abr-02.txt
|
|
|
-Quote: "Though the definition of the Area Border Router (ABR)
|
|
|
+be found in @cite{RFC 3509, Alternative Implementations of OSPF Area
|
|
|
+Border Routers}, and @cite{draft-ietf-ospf-shortcut-abr-02.txt}.
|
|
|
+
|
|
|
+Quote: "Though the definition of the @acronym{ABR,Area Border Router}
|
|
|
in the OSPF specification does not require a router with multiple
|
|
|
attached areas to have a backbone connection, it is actually
|
|
|
necessary to provide successful routing to the inter-area and
|
|
@@ -60,33 +72,122 @@ external destinations. If this requirement is not met, all traffic
|
|
|
destined for the areas not connected to such an ABR or out of the
|
|
|
OSPF domain, is dropped. This document describes alternative ABR
|
|
|
behaviors implemented in Cisco and IBM routers."
|
|
|
+
|
|
|
+The default ABR type is 'Cisco', allowing an ABR to consider summaries
|
|
|
+from non-backbone areas if, and only if, it has lost its link(s) to the
|
|
|
+backbone area.
|
|
|
@end deffn
|
|
|
|
|
|
@deffn {OSPF Command} {ospf rfc1583compatibility} {}
|
|
|
@deffnx {OSPF Command} {no ospf rfc1583compatibility} {}
|
|
|
-This rfc2328, the sucessor to rfc1583, suggests according to section
|
|
|
-G.2 (changes) in section 16.4 a change to the path preference
|
|
|
-algorithm that prevents possible routing loops that were possible in
|
|
|
-the old version of OSPFv2. More specifically it demands that inter-area
|
|
|
-paths and intra-area path are now of equal preference but still both
|
|
|
-preferred to external paths.
|
|
|
+This @cite{RFC2328}, the sucessor to @cite{RFC1583}, suggests according
|
|
|
+to section G.2 (changes) in section 16.4 a change to the path
|
|
|
+preference algorithm that prevents possible routing loops that were
|
|
|
+possible in the old version of OSPFv2. More specifically it demands
|
|
|
+that inter-area paths and intra-area path are now of equal preference
|
|
|
+but still both preferred to external paths.
|
|
|
+
|
|
|
+This command should NOT be set normally.
|
|
|
@end deffn
|
|
|
|
|
|
@deffn {OSPF Command} {passive interface @var{interface}} {}
|
|
|
@deffnx {OSPF Command} {no passive interface @var{interface}} {}
|
|
|
-@end deffn
|
|
|
|
|
|
-@deffn {OSPF Command} {timers spf <0-4294967295> <0-4294967295>} {}
|
|
|
-@deffnx {OSPF Command} {no timers spf} {}
|
|
|
-@end deffn
|
|
|
+Do not speak OSPF interface on the given interface, but do advertise
|
|
|
+the interface as a stub link in the router-@acronym{LSA,Link State
|
|
|
+Advertisement} for this router. This allows one to advertise addresses
|
|
|
+on such connected interfaces without having to originate
|
|
|
+AS-External/Type-5 LSAs (which have global flooding scope) - as would
|
|
|
+occur if connected addresses were redistributed into OSPF,
|
|
|
+@xref{Redistribute routes to OSPF}.
|
|
|
+
|
|
|
+@end deffn
|
|
|
+
|
|
|
+@deffn {OSPF Command} {timers throttle spf @var{delay} @var{initial-holdtime} @var{max-holdtime}} {}
|
|
|
+@deffnx {OSPF Command} {no timers throttle spf} {}
|
|
|
+This command sets the initial @var{delay}, the @var{initial-holdtime}
|
|
|
+and the @var{maximum-holdtime} between when SPF is calculated and the
|
|
|
+event which triggered the calculation. The times are specified in
|
|
|
+milliseconds and must be in the range of 0 to 600000 milliseconds.
|
|
|
+
|
|
|
+The @var{delay} specifies the minimum amount of time to delay SPF
|
|
|
+calculation (hence it affects how long SPF calculation is delayed after
|
|
|
+an event which occurs outside of the holdtime of any previous SPF
|
|
|
+calculation, and also serves as a minimum holdtime).
|
|
|
+
|
|
|
+Consecutive SPF calculations will always be seperated by at least
|
|
|
+'hold-time' milliseconds. The hold-time is adaptive and initially is
|
|
|
+set to the @var{initial-holdtime} configured with the above command.
|
|
|
+Events which occur within the holdtime of the previous SPF calculation
|
|
|
+will cause the holdtime to be increased by @var{initial-holdtime}, bounded
|
|
|
+by the @var{maximum-holdtime} configured with this command. If the adaptive
|
|
|
+hold-time elapses without any SPF-triggering event occuring then
|
|
|
+the current holdtime is reset to the @var{initial-holdtime}. The current
|
|
|
+holdtime can be viewed with @ref{show ip ospf}, where it is expressed as
|
|
|
+a multiplier of the @var{initial-holdtime}.
|
|
|
|
|
|
-@deffn {OSPF Command} {refresh group-limit <0-10000>} {}
|
|
|
-@deffnx {OSPF Command} {refresh per-slice <0-10000>} {}
|
|
|
-@deffnx {OSPF Command} {refresh age-diff <0-10000>} {}
|
|
|
-@end deffn
|
|
|
+@example
|
|
|
+@group
|
|
|
+router ospf
|
|
|
+ timers throttle spf 200 400 10000
|
|
|
+@end group
|
|
|
+@end example
|
|
|
|
|
|
-@deffn {OSPF Command} {auto-cost refrence-bandwidth <1-4294967>} {}
|
|
|
-@deffnx {OSPF Command} {no auto-cost refrence-bandwidth} {}
|
|
|
+In this example, the @var{delay} is set to 200ms, the @var{initial
|
|
|
+holdtime} is set to 400ms and the @var{maximum holdtime} to 10s. Hence
|
|
|
+there will always be at least 200ms between an event which requires SPF
|
|
|
+calculation and the actual SPF calculation. Further consecutive SPF
|
|
|
+calculations will always be seperated by between 400ms to 10s, the
|
|
|
+hold-time increasing by 400ms each time an SPF-triggering event occurs
|
|
|
+within the hold-time of the previous SPF calculation.
|
|
|
+
|
|
|
+This command supercedes the @command{timers spf} command in previous Quagga
|
|
|
+releases.
|
|
|
+@end deffn
|
|
|
+
|
|
|
+@deffn {OSPF Command} {max-metric router-lsa [on-startup|on-shutdown] <5-86400>} {}
|
|
|
+@deffnx {OSPF Command} {max-metric router-lsa administrative} {}
|
|
|
+@deffnx {OSPF Command} {no max-metric router-lsa [on-startup|on-shutdown|administrative]} {}
|
|
|
+This enables @cite{RFC3137, OSPF Stub Router Advertisement} support,
|
|
|
+where the OSPF process describes its transit links in its router-LSA as
|
|
|
+having infinite distance so that other routers will avoid calculating
|
|
|
+transit paths through the router while still being able to reach
|
|
|
+networks through the router.
|
|
|
+
|
|
|
+This support may be enabled administratively (and indefinitely) or
|
|
|
+conditionally. Conditional enabling of max-metric router-lsas can be
|
|
|
+for a period of seconds after startup and/or for a period of seconds
|
|
|
+prior to shutdown.
|
|
|
+
|
|
|
+Enabling this for a period after startup allows OSPF to converge fully
|
|
|
+first without affecting any existing routes used by other routers,
|
|
|
+while still allowing any connected stub links and/or redistributed
|
|
|
+routes to be reachable. Enabling this for a period of time in advance
|
|
|
+of shutdown allows the router to gracefully excuse itself from the OSPF
|
|
|
+domain.
|
|
|
+
|
|
|
+Enabling this feature administratively allows for administrative
|
|
|
+intervention for whatever reason, for an indefinite period of time.
|
|
|
+Note that if the configuration is written to file, this administrative
|
|
|
+form of the stub-router command will also be written to file. If
|
|
|
+@command{ospfd} is restarted later, the command will then take effect
|
|
|
+until manually deconfigured.
|
|
|
+
|
|
|
+Configured state of this feature as well as current status, such as the
|
|
|
+number of second remaining till on-startup or on-shutdown ends, can be
|
|
|
+viewed with the @ref{show ip ospf} command.
|
|
|
+@end deffn
|
|
|
+
|
|
|
+@deffn {OSPF Command} {auto-cost reference-bandwidth <1-4294967>} {}
|
|
|
+@deffnx {OSPF Command} {no auto-cost reference-bandwidth} {}
|
|
|
+This sets the reference bandwidth for cost calculations, where this
|
|
|
+bandwidth is considered equivalent to an OSPF cost of 1, specified in
|
|
|
+Mbits/s. The default is 100Mbit/s (i.e. a link of bandwidth 100Mbit/s
|
|
|
+or higher will have a cost of 1. Cost of lower bandwidth links will be
|
|
|
+scaled with reference to this cost).
|
|
|
+
|
|
|
+This configuration setting MUST be consistent across all routers within the
|
|
|
+OSPF domain.
|
|
|
@end deffn
|
|
|
|
|
|
@deffn {OSPF Command} {network @var{a.b.c.d/m} area @var{a.b.c.d}} {}
|
|
@@ -97,12 +198,14 @@ This command specifies the OSPF enabled interface(s). If the interface has
|
|
|
an address from range 192.168.1.0/24 then the command below enables ospf
|
|
|
on this interface so router can provide network information to the other
|
|
|
ospf routers via this interface.
|
|
|
+
|
|
|
@example
|
|
|
@group
|
|
|
router ospf
|
|
|
network 192.168.1.0/24 area 0.0.0.0
|
|
|
@end group
|
|
|
@end example
|
|
|
+
|
|
|
Prefix length in interface must be equal or bigger (ie. smaller network) than
|
|
|
prefix length in network statement. For example statement above doesn't enable
|
|
|
ospf on interface with address 192.168.1.1/23, but it does on interface with
|
|
@@ -121,6 +224,7 @@ announced to other areas. This command can be used only in ABR and ONLY
|
|
|
router-LSAs (Type-1) and network-LSAs (Type-2) (ie. LSAs with scope area) can
|
|
|
be summarized. Type-5 AS-external-LSAs can't be summarized - their scope is AS.
|
|
|
Summarizing Type-7 AS-external-LSAs isn't supported yet by Quagga.
|
|
|
+
|
|
|
@example
|
|
|
@group
|
|
|
router ospf
|
|
@@ -129,6 +233,7 @@ router ospf
|
|
|
area 0.0.0.10 range 10.0.0.0/8
|
|
|
@end group
|
|
|
@end example
|
|
|
+
|
|
|
With configuration above one Type-3 Summary-LSA with routing info 10.0.0.0/8 is
|
|
|
announced into backbone area if area 0.0.0.10 contains at least one intra-area
|
|
|
network (ie. described with router or network LSA) from this range.
|
|
@@ -144,6 +249,7 @@ This command makes sense in ABR only.
|
|
|
@deffn {OSPF Command} {area @var{a.b.c.d} range IPV4_PREFIX substitute IPV4_PREFIX} {}
|
|
|
@deffnx {OSPF Command} {no area @var{a.b.c.d} range IPV4_PREFIX substitute IPV4_PREFIX} {}
|
|
|
Substitute summarized prefix with another prefix.
|
|
|
+
|
|
|
@example
|
|
|
@group
|
|
|
router ospf
|
|
@@ -152,6 +258,7 @@ router ospf
|
|
|
area 0.0.0.10 range 10.0.0.0/8 substitute 11.0.0.0/8
|
|
|
@end group
|
|
|
@end example
|
|
|
+
|
|
|
One Type-3 summary-LSA with routing info 11.0.0.0/8 is announced into backbone area if
|
|
|
area 0.0.0.10 contains at least one intra-area network (ie. described with router-LSA or
|
|
|
network-LSA) from range 10.0.0.0/8.
|
|
@@ -168,22 +275,33 @@ This command makes sense in ABR only.
|
|
|
@deffnx {OSPF Command} {area <0-4294967295> shortcut} {}
|
|
|
@deffnx {OSPF Command} {no area @var{a.b.c.d} shortcut} {}
|
|
|
@deffnx {OSPF Command} {no area <0-4294967295> shortcut} {}
|
|
|
+Configure th area as Shortcut capable. See @cite{RFC3509}. This requires
|
|
|
+that the 'abr-type' be set to 'shortcut'.
|
|
|
@end deffn
|
|
|
|
|
|
@deffn {OSPF Command} {area @var{a.b.c.d} stub} {}
|
|
|
@deffnx {OSPF Command} {area <0-4294967295> stub} {}
|
|
|
@deffnx {OSPF Command} {no area @var{a.b.c.d} stub} {}
|
|
|
@deffnx {OSPF Command} {no area <0-4294967295> stub} {}
|
|
|
+Configure the area to be a stub area. That is, an area where no router
|
|
|
+originates routes external to OSPF and hence an area where all external
|
|
|
+routes are via the ABR(s). Hence, ABRs for such an area do not need
|
|
|
+to pass AS-External LSAs (type-5s) or ASBR-Summary LSAs (type-4) into the
|
|
|
+area. They need only pass Network-Summary (type-3) LSAs into such an area,
|
|
|
+just a default summary.
|
|
|
@end deffn
|
|
|
|
|
|
@deffn {OSPF Command} {area @var{a.b.c.d} stub no-summary} {}
|
|
|
@deffnx {OSPF Command} {area <0-4294967295> stub no-summary} {}
|
|
|
@deffnx {OSPF Command} {no area @var{a.b.c.d} stub no-summary} {}
|
|
|
@deffnx {OSPF Command} {no area <0-4294967295> stub no-summary} {}
|
|
|
+Prevents an @command{ospfd} ABR from injecting inter-area
|
|
|
+summaries into the specified stub area.
|
|
|
@end deffn
|
|
|
|
|
|
@deffn {OSPF Command} {area @var{a.b.c.d} default-cost <0-16777215>} {}
|
|
|
@deffnx {OSPF Command} {no area @var{a.b.c.d} default-cost <0-16777215>} {}
|
|
|
+Set the cost of default-summary LSAs announced to stubby areas.
|
|
|
@end deffn
|
|
|
|
|
|
@deffn {OSPF Command} {area @var{a.b.c.d} export-list NAME} {}
|
|
@@ -192,6 +310,7 @@ This command makes sense in ABR only.
|
|
|
@deffnx {OSPF Command} {no area <0-4294967295> export-list NAME} {}
|
|
|
Filter Type-3 summary-LSAs announced to other areas originated from intra-
|
|
|
area paths from specified area.
|
|
|
+
|
|
|
@example
|
|
|
@group
|
|
|
router ospf
|
|
@@ -203,11 +322,14 @@ access-list foo permit 10.10.0.0/16
|
|
|
access-list foo deny any
|
|
|
@end group
|
|
|
@end example
|
|
|
+
|
|
|
With example above any intra-area paths from area 0.0.0.10 and from range
|
|
|
10.10.0.0/16 (for example 10.10.1.0/24 and 10.10.2.128/30) are announced into
|
|
|
other areas as Type-3 summary-LSA's, but any others (for example 10.11.0.0/16
|
|
|
or 10.128.30.16/30) aren't.
|
|
|
-This command makes sense in ABR only.
|
|
|
+
|
|
|
+This command is only relevant if the router is an ABR for the specified
|
|
|
+area.
|
|
|
@end deffn
|
|
|
|
|
|
@deffn {OSPF Command} {area @var{a.b.c.d} import-list NAME} {}
|
|
@@ -234,16 +356,20 @@ makes sense in ABR only.
|
|
|
@deffnx {OSPF Command} {area <0-4294967295> authentication} {}
|
|
|
@deffnx {OSPF Command} {no area @var{a.b.c.d} authentication} {}
|
|
|
@deffnx {OSPF Command} {no area <0-4294967295> authentication} {}
|
|
|
+Specify that simple password authentication should be used for the given
|
|
|
+area.
|
|
|
@end deffn
|
|
|
|
|
|
@deffn {OSPF Command} {area @var{a.b.c.d} authentication message-digest} {}
|
|
|
@deffnx {OSPF Command} {area <0-4294967295> authentication message-digest} {}
|
|
|
+Specify that OSPF packets should be authenticated with MD5 HMACs for the given
|
|
|
+area.
|
|
|
@end deffn
|
|
|
|
|
|
@node OSPF interface
|
|
|
@section OSPF interface
|
|
|
|
|
|
-@deffn {Interface Command} {ip ospf authentication-key AUTH_KEY} {}
|
|
|
+@deffn {Interface Command} {ip ospf authentication-key @var{AUTH_KEY}} {}
|
|
|
@deffnx {Interface Command} {no ip ospf authentication-key} {}
|
|
|
Set OSPF authentication key to a simple password. After setting @var{AUTH_KEY},
|
|
|
all OSPF packets are authenticated. @var{AUTH_KEY} has length up to 8 chars.
|
|
@@ -256,7 +382,7 @@ algorithm is MD5. KEYID identifies secret key used to create the message
|
|
|
digest. KEY is the actual message digest key up to 16 chars.
|
|
|
|
|
|
Note that OSPF MD5 authentication requires that time never go backwards
|
|
|
-(correct time is not important, only that it never goes backwards), even
|
|
|
+(correct time is NOT important, only that it never goes backwards), even
|
|
|
across resets, if ospfd is to be able to promptly reestabish adjacencies
|
|
|
with its neighbours after restarts/reboots. The host should have system
|
|
|
time be set at boot from an external source (eg battery backed clock, NTP,
|
|
@@ -271,11 +397,22 @@ Set link cost for the specified interface. The cost value is set to router-LSA'
|
|
|
metric field and used for SPF calculation.
|
|
|
@end deffn
|
|
|
|
|
|
+@anchor{ip ospf dead-interval minimal}
|
|
|
@deffn {Interface Command} {ip ospf dead-interval <1-65535>} {}
|
|
|
+@deffnx {Interface Command} {ip ospf dead-interval minimal hello-multiplier <2-20>} {}
|
|
|
@deffnx {Interface Command} {no ip ospf dead-interval} {}
|
|
|
Set number of seconds for RouterDeadInterval timer value used for Wait Timer
|
|
|
and Inactivity Timer. This value must be the same for all routers attached
|
|
|
to a common network. The default value is 40 seconds.
|
|
|
+
|
|
|
+If 'minimal' is specified instead, then the dead-interval is set to 1
|
|
|
+second and one must specify a hello-multiplier. The hello-multiplier
|
|
|
+specifies how many Hellos to send per second, from 2 (every 500ms) to
|
|
|
+20 (every 50ms). Thus one can have 1s convergence time for OSPF. If this form
|
|
|
+is specified, then the hello-interval advertised in Hello packets is set to
|
|
|
+0 and the hello-interval on received Hello packets is not checked, thus
|
|
|
+the hello-multiplier need NOT be the same across multiple routers on a common
|
|
|
+link.
|
|
|
@end deffn
|
|
|
|
|
|
@deffn {Interface Command} {ip ospf hello-interval <1-65535>} {}
|
|
@@ -284,6 +421,9 @@ Set number of seconds for HelloInterval timer value. Setting this value,
|
|
|
Hello packet will be sent every timer value seconds on the specified interface.
|
|
|
This value must be the same for all routers attached to a common network.
|
|
|
The default value is 10 seconds.
|
|
|
+
|
|
|
+This command has no effect if @ref{ip ospf dead-interval minimal} is also
|
|
|
+specified for the interface.
|
|
|
@end deffn
|
|
|
|
|
|
@deffn {Interface Command} {ip ospf network (broadcast|non-broadcast|point-to-multipoint|point-to-point)} {}
|
|
@@ -325,6 +465,9 @@ The default value is 1 seconds.
|
|
|
@deffnx {OSPF Command} {redistribute (kernel|connected|static|rip|bgp) metric-type (1|2) metric <0-16777214>} {}
|
|
|
@deffnx {OSPF Command} {redistribute (kernel|connected|static|rip|bgp) metric-type (1|2) metric <0-16777214> route-map @var{word}} {}
|
|
|
@deffnx {OSPF Command} {no redistribute (kernel|connected|static|rip|bgp)} {}
|
|
|
+Redistribute routes of the specified protocol or kind into OSPF, with the
|
|
|
+metric type and metric set if specified, filtering the routes using the given
|
|
|
+route-map if specified.
|
|
|
@end deffn
|
|
|
|
|
|
@deffn {OSPF Command} {default-information originate} {}
|
|
@@ -336,6 +479,10 @@ The default value is 1 seconds.
|
|
|
@deffnx {OSPF Command} {default-information originate always metric <0-16777214> metric-type (1|2)} {}
|
|
|
@deffnx {OSPF Command} {default-information originate always metric <0-16777214> metric-type (1|2) route-map @var{word}} {}
|
|
|
@deffnx {OSPF Command} {no default-information originate} {}
|
|
|
+Originate an AS-External (type-5) LSA describing a default route into
|
|
|
+all external-routing capable areas, of the specified metric and metric
|
|
|
+type. If the 'always' keyword is given then the default is always
|
|
|
+advertised, even when there is no default present in the routing table.
|
|
|
@end deffn
|
|
|
|
|
|
@deffn {OSPF Command} {distribute-list NAME out (kernel|connected|static|rip|ospf} {}
|
|
@@ -361,10 +508,15 @@ The default value is 1 seconds.
|
|
|
@node Showing OSPF information
|
|
|
@section Showing OSPF information
|
|
|
|
|
|
+@anchor{show ip ospf}
|
|
|
@deffn {Command} {show ip ospf} {}
|
|
|
+Show information on a variety of general OSPF and area state and configuration
|
|
|
+information.
|
|
|
@end deffn
|
|
|
|
|
|
@deffn {Command} {show ip ospf interface [INTERFACE]} {}
|
|
|
+Show state and configuration of OSPF the specified interface, or all
|
|
|
+interfaces if no interface is given.
|
|
|
@end deffn
|
|
|
|
|
|
@deffn {Command} {show ip ospf neighbor} {}
|
|
@@ -390,10 +542,8 @@ The default value is 1 seconds.
|
|
|
@deffn {Command} {show ip ospf database self-originate} {}
|
|
|
@end deffn
|
|
|
|
|
|
-@deffn {Command} {show ip ospf refresher} {}
|
|
|
-@end deffn
|
|
|
-
|
|
|
@deffn {Command} {show ip ospf route} {}
|
|
|
+Show the OSPF routing table, as determined by the most recent SPF calculation.
|
|
|
@end deffn
|
|
|
|
|
|
@node Debugging OSPF
|
|
@@ -430,3 +580,55 @@ The default value is 1 seconds.
|
|
|
@deffn {Command} {show debugging ospf} {}
|
|
|
@end deffn
|
|
|
|
|
|
+@node OSPF Configuration Examples
|
|
|
+@section OSPF Configuration Examples
|
|
|
+A simple example, with MD5 authentication enabled:
|
|
|
+
|
|
|
+@example
|
|
|
+@group
|
|
|
+!
|
|
|
+interface bge0
|
|
|
+ ip ospf authentication message-digest
|
|
|
+ ip ospf message-digest-key 1 md5 ABCDEFGHIJK
|
|
|
+!
|
|
|
+router ospf
|
|
|
+ network 192.168.0.0/16 area 0.0.0.1
|
|
|
+ area 0.0.0.1 authentication message-digest
|
|
|
+@end group
|
|
|
+@end example
|
|
|
+
|
|
|
+An @acronym{ABR} router, with MD5 authentication and performing summarisation
|
|
|
+of networks between the areas:
|
|
|
+
|
|
|
+@example
|
|
|
+@group
|
|
|
+!
|
|
|
+password ABCDEF
|
|
|
+log file /var/log/quagga/ospfd.log
|
|
|
+service advanced-vty
|
|
|
+!
|
|
|
+interface eth0
|
|
|
+ ip ospf authentication message-digest
|
|
|
+ ip ospf message-digest-key 1 md5 ABCDEFGHIJK
|
|
|
+!
|
|
|
+interface ppp0
|
|
|
+!
|
|
|
+interface br0
|
|
|
+ ip ospf authentication message-digest
|
|
|
+ ip ospf message-digest-key 2 md5 XYZ12345
|
|
|
+!
|
|
|
+router ospf
|
|
|
+ ospf router-id 192.168.0.1
|
|
|
+ redistribute connected
|
|
|
+ passive interface ppp0
|
|
|
+ network 192.168.0.0/24 area 0.0.0.0
|
|
|
+ network 10.0.0.0/16 area 0.0.0.0
|
|
|
+ network 192.168.1.0/24 area 0.0.0.1
|
|
|
+ area 0.0.0.0 authentication message-digest
|
|
|
+ area 0.0.0.0 range 10.0.0.0/16
|
|
|
+ area 0.0.0.0 range 192.168.0.0/24
|
|
|
+ area 0.0.0.1 authentication message-digest
|
|
|
+ area 0.0.0.1 range 10.2.0.0/16
|
|
|
+!
|
|
|
+@end group
|
|
|
+@end example
|