Configuring OSPF¶
Basic elements for configuration¶
Enable OSPF:
vrf main
routing ospf
router-id 10.125.0.1
network 10.125.0.0/30 area 0
..
..
Above example shows an OSPF instance configured on main VRF. The configuration of the router-id is not mandatory, since an election process takes place inside OSPF: the router-id is first based on the IP given by manual configuration, followed by the highest IP available on loopback interface, then followed by the highest IP available on non loopback interface.
Network command permits enabling OSPF on the network interface whose address and network mask is included into this prefix, and will announce a link connected to a stub or transit network defined by the interface address and prefix. As the 10.100.0.0/24 network belongs to eth1 interface, then OSPF will establish adjacencies over that interface. The network entry passed as parameter will be passed in the Type 3 LSA.
The area identifier is a 32 bit id by which an area is identified. Note that area value is 0, usually reserved for backbone operations. Having multiple areas in a complex IGP topology permits simplifying the route calculation of OSPF. Only ABR routers will know both areas defined.
It is possible to use an alternative OSPF configuration by defining networks based
on interface and area configurations. Below configuration relies on interface eth0_0
where the 10.125.0.0/30
network is configured. The below configuration assumes that
there is only one IPv4 address under eth0_0
so that both configurations are the same.
vrf main
routing
ospf
router-id 10.125.0.1
..
interface eth0_0
ip ospf area 0
..
..
interface physical eth0_0
ipv4 address 10.125.0.1/30
Using above configuration can simplify network deployments, since the address configuration is tightly linked with the IP provisioning done on the interfaces.
You can also disable OSPF, without having to remove the configuration, by using following command:
vrf main
routing ospf
enabled false
Nonetheless, it is always possible to supress OSPF configuration:
vrf main
routing ospf
del network 10.125.0.0/24
..
..
del routing ospf
..
Verifying OSPF configuration¶
The following commands can be used to verify OSPF operation.
Display the global OSPF parameters (timers, area, router-id, etc.):
vrouter> show ospf
OSPF Routing Process, Router ID: 10.125.0.1
Supports only single TOS (TOS0) routes
This implementation conforms to RFC2328
RFC1583Compatibility flag is disabled
OpaqueCapability flag is disabled
Initial SPF scheduling delay 0 millisec(s)
Minimum hold time between consecutive SPFs 50 millisec(s)
Maximum hold time between consecutive SPFs 5000 millisec(s)
Hold time multiplier is currently 1
SPF algorithm last executed 55.670s ago
Last SPF duration 62 usecs
SPF timer is inactive
LSA minimum interval 5000 msecs
LSA minimum arrival 1000 msecs
Write Multiplier set to 20
Refresh timer 10 secs
Number of external LSA 0. Checksum Sum 0x00000000
Number of opaque AS LSA 0. Checksum Sum 0x00000000
Number of areas attached to this router: 1
Area ID: 0.0.0.0 (Backbone)
Number of interfaces in this area: Total: 1, Active: 1
Number of fully adjacent neighbors in this area: 1
Area has no authentication
SPF algorithm executed 4 times
Number of LSA 3
Number of router LSA 2. Checksum Sum 0x0001701c
Number of network LSA 1. Checksum Sum 0x00005dd4
Number of summary LSA 0. Checksum Sum 0x00000000
Number of ASBR summary LSA 0. Checksum Sum 0x00000000
Number of NSSA LSA 0. Checksum Sum 0x00000000
Number of opaque link LSA 0. Checksum Sum 0x00000000
Number of opaque area LSA 0. Checksum Sum 0x00000000
Display the OSPF v2 RIB:
vrouter> show ospf route
============ OSPF network routing table ============
N 10.125.0.0/24 [100] area: 0.0.0.0
directly attached to eth1
============ OSPF router routing table =============
============ OSPF external routing table ===========
Display the OSPF configuration for the specified interface:
vrouter> show ospf interface eth2
eth2 is up
ifindex 4, MTU 1500 bytes, BW 1000 Mbit <UP,BROADCAST,RUNNING,MULTICAST>
Internet Address 10.125.0.1/24, Area 0.0.0.0
MTU mismatch detection: enabled
Router ID 10.125.0.1, Network Type BROADCAST, Cost: 100
Transmit Delay is 1 sec, State DR, Priority 1
No backup designated router on this network
Saved Network-LSA sequence number 0x80000002
Multicast group memberships: OSPFAllRouters OSPFDesignatedRouters
Timer intervals configured, Hello 10s, Dead 40s, Wait 40s, Retransmit 5
Hello due in 5.118s
Neighbor Count is 1, Adjacent neighbor count is 1
Display the state of the relations with the neighbors:
vrouter> show ospf neighbor
Neighbor ID Pri State Dead Time Address Interface RXmtL RqstL DBsmL
10.125.0.3 1 Full/DR 30.833s 10.125.0.3 eth1:10.125.0.1 0 0 0
Display the OSPF v2 Link-State databases and information about LSAs (Link State Advertisements)
vrouter> show ospf database default
OSPF Router with ID (10.125.0.1)
Router Link States (Area 0.0.0.0)
Link ID ADV Router Age Seq# CkSum Link count
10.125.0.1 10.125.0.1 1171 0x80000007 0xb213 1
10.125.0.3 10.125.0.3 1134 0x80000007 0xae11 1
Net Link States (Area 0.0.0.0)
Link ID ADV Router Age Seq# CkSum
10.125.0.3 10.125.0.3 1174 0x80000004 0x57d7
OSPF configuration in single area example¶
rt1
vrf main
routing ospf
network 10.1.1.0/28 area 0
..
..
interface
physical eth1_0
ipv4 address 192.168.1.0/24
..
physical eth0_0
ipv4 address 10.1.1.1/28
..
..
rt2
vrf main
routing ospf
network 10.1.2.0/28 area 0
..
..
interface
physical eth1_0
ipv4 address 192.168.2.0/24
..
physical eth0_0
ipv4 address 10.1.1.2/28
..
..
rt3
vrf main
routing ospf
network 10.1.3.0/28 area 0
..
..
interface
physical eth1_0
ipv4 address 192.168.3.0/24
..
physical eth0_0
ipv4 address 10.1.1.3/28
..
..
The verification of the operation can be done with following command:
rt1> show ospf neighbor
Neighbor ID Pri State Dead Time Address Interface RXmtL RqstL DBsmL
192.168.2.0 1 Full/Backup 33.553s 10.1.1.2 eth0_0:10.1.1.1 0 0 0
192.168.3.0 1 Full/DROther 37.951s 10.1.1.3 eth0_0:10.1.1.1 0 0 0
Note
The state must be Full. In this state, routers are fully adjacent with each other. All the router and network LSAs are exchanged and the routers’ databases are fully synchronized.
When you get used with the semantic of the OSPF v2 database, it can be displayed with the following command. The details about these entries are out of the scope of this document.
rt1> show ospf database default
OSPF Router with ID (192.168.2.0)
Router Link States (Area 0.0.0.0)
Link ID ADV Router Age Seq# CkSum Link count
192.168.1.0 192.168.1.0 214 0x80000004 0xeb12 1
192.168.2.0 192.168.2.0 213 0x80000004 0xe713 1
192.168.3.0 192.168.3.0 214 0x80000004 0xe314 1
Net Link States (Area 0.0.0.0)
Link ID ADV Router Age Seq# CkSum
10.1.1.1 192.168.1.0 214 0x80000002 0x5d4d
OSPF configuration with BGP redistribution¶
Following example illustrates how OSPF can be used to redistribute routes to BGP. The above drawing is reused, with some changes on rt1 and rt2.
rt1
vrf main
routing bgp
router-id 10.1.1.1
address-family
ipv4-unicast
redistribute ospf
..
..
as 55
neighbor 192.168.1.10
remote-as 55
..
..
..
routing ospf
network 10.100.0.0/24 area 0
router-id 10.175.0.1
..
..
interface
physical eth1_0
ipv4 address 192.168.1.0/24
..
physical eth0_0
ipv4 address 10.1.1.1/28
..
..
rt2
vrf main
routing ospf
network 10.1.2.0/28 area 0
network 192.168.2.0/28 area 0
..
..
interface
physical eth1_0
ipv4 address 192.168.2.0/24
..
physical eth0_0
ipv4 address 10.1.1.2/28
..
..
The BGP routing table of rt1 is updated with the information from rt2.
rt1> show bgp ipv4 unicast
BGP table version is 4, local router ID is 10.1.1.1, vrf id 0
Status codes: s suppressed, d damped, h history, * valid, > best, = multipath,
i internal, r RIB-failure, S Stale, R Removed
Nexthop codes: @NNN nexthop's vrf id, < announce-nh-self
Origin codes: i - IGP, e - EGP, ? - incomplete
Network Next Hop Metric LocPrf Weight Path
*> 192.168.2.0 10.1.1.2 200 32768 ?
OSPF per interface configuration¶
There is a wide variety of per-interface OSPF configuration items. Using same
parameters between 2 OSPF instances is mandatory, and it is often useful to rely
on that.
Below example shows it is possible to change the network type of an interface.
The OSPF network of interface eth0_0
is defined as a non broadcast type.
Adding to that configuration, the retransmit interval timer has been changed.
vrf main
routing ospf
router-id 10.125.0.1
..
..
routing interface eth1_0
ip ospf network non-broadcast
ip ospf area 0
ip ospf retransmit-interval 6
..
..