May
10

There was an interesting post on IEOC yesterday in regards to an OSPF virtual link. Below is the original post and questions to win at the bottom of this post.

Okay, I have never came across anything like this before. On R2 and R3 connected via serial with HDLC. OSPF network type default to P2P. I configured VL using the OSPF RIDs of both routers. R3 VL comes up and R2 VL is down. I changed just about every option which makes logical sense and nothing works. I reboot and clear process and still nothing. Out of shear desperation I changed the network-types to P2MP on both sides and voila it works. I tried testing broadcast and that doesn’t work. Only difference I can find is the mask changed from /24 to /32 in the LSA…as it should. But I am not sure why this has any bearing on the VL coming up.

Rack1R2#show ip ospf vir

Virtual Link OSPF_VL8 to router 222.255.255.255 is down

Rack1R3#show ip ospf vir
Virtual Link OSPF_VL0 to router 150.1.2.2 is up

Rack1R2(config)#int s0/1/0
Rack1R2(config-if)#ip ospf network p
Rack1R2(config-if)#ip ospf network point-to-m
*May 9 15:28:40.599: %OSPF-5-ADJCHG: Process 1, Nbr 222.255.255.255 on Serial0/1/0 from FULL to DOWN, Neighbor Down: Interface down or detached
*May 9 15:28:41.007: %OSPF-5-ADJCHG: Process 1, Nbr 222.255.255.255 on Serial0/1/0 from LOADING to FULL, Loading Done
Rack1R2(config-if)#
*May 9 15:28:46.815: %OSPF-5-ADJCHG: Process 1, Nbr 222.255.255.255 on OSPF_VL8 from LOADING to FULL, Loading Done
Any thoughts??

Here are the relevant show commands and the configurations.

Rack1R2#show ip route
Codes: C - connected, S - static, R - RIP, M - mobile, B - BGP
       D - EIGRP, EX - EIGRP external, O - OSPF, IA - OSPF inter area
       N1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2
       E1 - OSPF external type 1, E2 - OSPF external type 2
       i - IS-IS, su - IS-IS summary, L1 - IS-IS level-1, L2 - IS-IS level-2
       ia - IS-IS inter area, * - candidate default, U - per-user static route
       o - ODR, P - periodic downloaded static route
Gateway of last resort is not set
     51.0.0.0/32 is subnetted, 1 subnets
O E2    51.51.51.51 [110/20] via 192.10.1.254, 00:02:11, FastEthernet0/0
     155.1.0.0/16 is variably subnetted, 18 subnets, 2 masks
O IA    155.1.146.0/24 [110/58793] via 155.1.0.5, 00:02:11, Serial0/0/0
C       155.1.23.0/24 is directly connected, Serial0/1/0
O IA    155.1.10.0/24 [110/19910] via 155.1.0.5, 00:02:11, Serial0/0/0
O IA    155.1.8.0/24 [110/19760] via 155.1.0.5, 00:02:11, Serial0/0/0
O IA    155.1.9.0/24 [110/39220] via 155.1.0.5, 00:00:06, Serial0/0/0
O IA    155.1.13.0/24 [110/97454] via 155.1.0.5, 00:00:07, Serial0/0/0
O       155.1.0.3/32 [110/38860] via 155.1.0.5, 00:00:07, Serial0/0/0
C       155.1.0.0/24 is directly connected, Serial0/0/0
O       155.1.0.1/32 [110/78024] via 155.1.0.5, 00:02:12, Serial0/0/0
O IA    155.1.7.0/24 [110/39190] via 155.1.0.5, 00:00:07, Serial0/0/0
O       155.1.0.4/32 [110/58493] via 155.1.0.5, 00:02:13, Serial0/0/0
O IA    155.1.5.0/24 [110/19730] via 155.1.0.5, 00:02:13, Serial0/0/0
O       155.1.0.5/32 [110/19430] via 155.1.0.5, 00:02:13, Serial0/0/0
O IA    155.1.58.0/24 [110/19730] via 155.1.0.5, 00:02:13, Serial0/0/0
O IA    155.1.37.0/24 [110/39160] via 155.1.0.5, 00:00:08, Serial0/0/0
O IA    155.1.79.0/24 [110/39190] via 155.1.0.5, 00:00:08, Serial0/0/0
O IA    155.1.67.0/24 [110/39190] via 155.1.0.5, 00:00:08, Serial0/0/0
O IA    155.1.108.0/24 [110/19880] via 155.1.0.5, 00:02:13, Serial0/0/0
C    192.10.1.0/24 is directly connected, FastEthernet0/0
     150.1.0.0/24 is subnetted, 10 subnets
O IA    150.1.7.0 [110/39161] via 155.1.0.5, 00:00:08, Serial0/0/0
O IA    150.1.6.0 [110/58794] via 155.1.0.5, 00:02:13, Serial0/0/0
O IA    150.1.5.0 [110/19431] via 155.1.0.5, 00:02:13, Serial0/0/0
O       150.1.4.0 [110/58494] via 155.1.0.5, 00:02:13, Serial0/0/0
O       150.1.3.0 [110/38861] via 155.1.0.5, 00:00:08, Serial0/0/0
C       150.1.2.0 is directly connected, Loopback0
O       150.1.1.0 [110/78025] via 155.1.0.5, 00:02:15, Serial0/0/0
O IA    150.1.10.0 [110/19881] via 155.1.0.5, 00:02:15, Serial0/0/0
O IA    150.1.9.0 [110/39191] via 155.1.0.5, 00:00:09, Serial0/0/0
O IA    150.1.8.0 [110/19731] via 155.1.0.5, 00:02:15, Serial0/0/0
Rack1R2#show ip ospf ne
Neighbor ID     Pri   State           Dead Time   Address         Interface
150.1.5.5         0   FULL/  -        00:01:41    155.1.0.5       Serial0/0/0
222.255.255.255   0   FULL/  -        00:00:30    155.1.23.3      Serial0/1/0
192.10.1.254      1   FULL/DR         00:00:34    192.10.1.254    FastEthernet0/0
Rack1R2#show ip ospf int br
Interface    PID   Area            IP Address/Mask    Cost  State Nbrs F/C
Lo0          1     0               150.1.2.2/24       1     P2P   0/0
Se0/0/0      1     0               155.1.0.2/24       19430 P2MP  1/1
VL8          1     0               0.0.0.0/0          65535 DOWN  0/0
Se0/1/0      1     5               155.1.23.2/24      19430 P2P   1/1
Fa0/0        1     51              192.10.1.2/24      300   BDR   1/1
Rack1R2#show ip ospf int
Loopback0 is up, line protocol is up
  Internet Address 150.1.2.2/24, Area 0
  Process ID 1, Router ID 150.1.2.2, Network Type POINT_TO_POINT, Cost: 1
  Enabled by interface config, including secondary ip addresses
  Transmit Delay is 1 sec, State POINT_TO_POINT
  Timer intervals configured, Hello 10, Dead 40, Wait 40, Retransmit 5
    oob-resync timeout 40
  Supports Link-local Signaling (LLS)
  Cisco NSF helper support enabled
  IETF NSF helper support enabled
  Index 2/1, flood queue length 0
  Next 0x0(0)/0x0(0)
  Last flood scan length is 0, maximum is 0
  Last flood scan time is 0 msec, maximum is 0 msec
  Neighbor Count is 0, Adjacent neighbor count is 0
  Suppress hello for 0 neighbor(s)
Serial0/0/0 is up, line protocol is up
  Internet Address 155.1.0.2/24, Area 0
  Process ID 1, Router ID 150.1.2.2, Network Type POINT_TO_MULTIPOINT, Cost: 19430
  Enabled by interface config, including secondary ip addresses
  Transmit Delay is 1 sec, State POINT_TO_MULTIPOINT
  Timer intervals configured, Hello 30, Dead 120, Wait 120, Retransmit 5
    oob-resync timeout 120
    Hello due in 00:00:24
  Supports Link-local Signaling (LLS)
  Cisco NSF helper support enabled
  IETF NSF helper support enabled
  Index 1/3, flood queue length 0
  Next 0x0(0)/0x0(0)
  Last flood scan length is 1, maximum is 2
  Last flood scan time is 0 msec, maximum is 4 msec
  Neighbor Count is 1, Adjacent neighbor count is 1
    Adjacent with neighbor 150.1.5.5
  Suppress hello for 0 neighbor(s)
OSPF_VL8 is down, line protocol is down
  Internet Address 0.0.0.0/0, Area 0
  Process ID 1, Router ID 150.1.2.2, Network Type VIRTUAL_LINK, Cost: 65535
  Configured as demand circuit.
  Run as demand circuit.
  DoNotAge LSA allowed.
  Transmit Delay is 1 sec, State DOWN
  Timer intervals configured, Hello 10, Dead 40, Wait 40, Retransmit 5
    oob-resync timeout 40
Serial0/1/0 is up, line protocol is up
  Internet Address 155.1.23.2/24, Area 5
  Process ID 1, Router ID 150.1.2.2, Network Type POINT_TO_POINT, Cost: 19430
  Enabled by interface config, including secondary ip addresses
  Transmit Delay is 1 sec, State POINT_TO_POINT
  Timer intervals configured, Hello 10, Dead 40, Wait 40, Retransmit 5
    oob-resync timeout 40
    Hello due in 00:00:05
  Supports Link-local Signaling (LLS)
  Cisco NSF helper support enabled
  IETF NSF helper support enabled
  Index 1/4, flood queue length 0
  Next 0x0(0)/0x0(0)
  Last flood scan length is 9, maximum is 26
  Last flood scan time is 0 msec, maximum is 4 msec
  Neighbor Count is 1, Adjacent neighbor count is 1
    Adjacent with neighbor 222.255.255.255
  Suppress hello for 0 neighbor(s)
FastEthernet0/0 is up, line protocol is up
  Internet Address 192.10.1.2/24, Area 51
  Process ID 1, Router ID 150.1.2.2, Network Type BROADCAST, Cost: 300
  Enabled by interface config, including secondary ip addresses
  Transmit Delay is 1 sec, State BDR, Priority 1
  Designated Router (ID) 192.10.1.254, Interface address 192.10.1.254
  Backup Designated router (ID) 150.1.2.2, Interface address 192.10.1.2
  Timer intervals configured, Hello 10, Dead 40, Wait 40, Retransmit 5
    oob-resync timeout 40
    Hello due in 00:00:07
  Supports Link-local Signaling (LLS)
  Cisco NSF helper support enabled
  IETF NSF helper support enabled
  Index 1/2, flood queue length 0
  Next 0x0(0)/0x0(0)
  Last flood scan length is 9, maximum is 27
  Last flood scan time is 0 msec, maximum is 4 msec
  Neighbor Count is 1, Adjacent neighbor count is 1
    Adjacent with neighbor 192.10.1.254  (Designated Router)
  Suppress hello for 0 neighbor(s)
Rack1R2#show run
Building configuration...
Current configuration : 1681 bytes
!
version 12.4
service timestamps debug datetime msec
service timestamps log datetime msec
no service password-encryption
!
hostname Rack1R2
!
boot-start-marker
boot-end-marker
!
logging message-counter syslog
enable password cisco
!
no aaa new-model
memory-size iomem 15
!
dot11 syslog
ip source-route
no ip icmp rate-limit unreachable
!
!
ip cef
!
!
no ip domain lookup
no ipv6 cef
!
multilink bundle-name authenticated
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
voice-card 0
!
!
!
!
!
archive
 log config
  hidekeys
!
!
!
!
!
!
!
!
!
interface Loopback0
 ip address 150.1.2.2 255.255.255.0
 ip ospf network point-to-point
 ip ospf 1 area 0
!
interface FastEthernet0/0
 ip address 192.10.1.2 255.255.255.0
 ip ospf 1 area 51
 duplex auto
 speed auto
!
interface FastEthernet0/1
 no ip address
 shutdown
 duplex auto
 speed auto
!
interface Serial0/0/0
 ip address 155.1.0.2 255.255.255.0
 encapsulation frame-relay
 ip ospf network point-to-multipoint non-broadcast
 ip ospf priority 0
 ip ospf 1 area 0
 frame-relay map ip 155.1.0.5 205
 no frame-relay inverse-arp
 frame-relay lmi-type cisco
!
interface Serial0/1/0
 ip address 155.1.23.2 255.255.255.0
 ip ospf 1 area 5
!
router ospf 1
 router-id 150.1.2.2
 log-adjacency-changes
 auto-cost reference-bandwidth 30000
 area 5 virtual-link 222.255.255.255
 neighbor 155.1.0.5
!
ip forward-protocol nd
no ip http server
no ip http secure-server
!
!
!
access-list 100 permit ospf any any
!
!
!
!
!
!
control-plane
!
!
!
!
!
!
!
!
!
!
line con 0
 exec-timeout 0 0
 privilege level 15
 logging synchronous
line aux 0
 exec-timeout 0 0
 privilege level 15
line vty 0 4
 password cisco
 login
!
scheduler allocate 20000 1000
end
Rack1R2#

Rack1R3#show ip route
Codes: C - connected, S - static, R - RIP, M - mobile, B - BGP
       D - EIGRP, EX - EIGRP external, O - OSPF, IA - OSPF inter area
       N1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2
       E1 - OSPF external type 1, E2 - OSPF external type 2
       i - IS-IS, su - IS-IS summary, L1 - IS-IS level-1, L2 - IS-IS level-2
       ia - IS-IS inter area, * - candidate default, U - per-user static route
       o - ODR, P - periodic downloaded static route
Gateway of last resort is not set
     51.0.0.0/32 is subnetted, 1 subnets
O E2    51.51.51.51 [110/20] via 155.1.0.5, 00:03:23, Serial1/0
     155.1.0.0/16 is variably subnetted, 18 subnets, 2 masks
O IA    155.1.146.0/24 [110/104898] via 155.1.0.5, 01:37:37, Serial1/0
C       155.1.23.0/24 is directly connected, Serial1/3
O IA    155.1.10.0/24 [110/66015] via 155.1.0.5, 01:37:04, Serial1/0
O IA    155.1.8.0/24 [110/65865] via 155.1.0.5, 01:37:04, Serial1/0
O       155.1.9.0/24 [110/360] via 155.1.37.7, 01:56:21, FastEthernet0/0
C       155.1.13.0/24 is directly connected, Serial1/2
O       155.1.0.2/32 [110/84965] via 155.1.0.5, 00:03:24, Serial1/0
C       155.1.0.0/24 is directly connected, Serial1/0
O       155.1.0.1/32 [110/124129] via 155.1.0.5, 01:37:39, Serial1/0
O       155.1.7.0/24 [110/330] via 155.1.37.7, 01:56:22, FastEthernet0/0
O       155.1.0.4/32 [110/104598] via 155.1.0.5, 01:37:40, Serial1/0
O IA    155.1.5.0/24 [110/65835] via 155.1.0.5, 01:37:40, Serial1/0
O       155.1.0.5/32 [110/65535] via 155.1.0.5, 01:37:40, Serial1/0
O IA    155.1.58.0/24 [110/65835] via 155.1.0.5, 01:37:40, Serial1/0
C       155.1.37.0/24 is directly connected, FastEthernet0/0
O       155.1.79.0/24 [110/330] via 155.1.37.7, 01:56:23, FastEthernet0/0
O       155.1.67.0/24 [110/330] via 155.1.37.7, 01:56:23, FastEthernet0/0
O IA    155.1.108.0/24 [110/65985] via 155.1.0.5, 01:37:06, Serial1/0
     222.255.255.0/32 is subnetted, 1 subnets
C       222.255.255.255 is directly connected, Loopback222
O IA 192.10.1.0/24 [110/85265] via 155.1.0.5, 00:03:25, Serial1/0
     150.1.0.0/24 is subnetted, 10 subnets
O       150.1.7.0 [110/301] via 155.1.37.7, 01:56:23, FastEthernet0/0
O IA    150.1.6.0 [110/104899] via 155.1.0.5, 01:37:40, Serial1/0
O IA    150.1.5.0 [110/65536] via 155.1.0.5, 01:37:40, Serial1/0
O       150.1.4.0 [110/104599] via 155.1.0.5, 01:37:41, Serial1/0
C       150.1.3.0 is directly connected, Loopback0
O       150.1.2.0 [110/84966] via 155.1.0.5, 00:03:26, Serial1/0
O       150.1.1.0 [110/124130] via 155.1.0.5, 01:37:41, Serial1/0
O IA    150.1.10.0 [110/65986] via 155.1.0.5, 01:37:08, Serial1/0
O       150.1.9.0 [110/331] via 155.1.37.7, 01:56:24, FastEthernet0/0
O IA    150.1.8.0 [110/65836] via 155.1.0.5, 01:37:08, Serial1/0
Rack1R3#show ip ospf ne
Neighbor ID     Pri   State           Dead Time   Address         Interface
150.1.5.5         0   FULL/  -        00:01:51    155.1.0.5       Serial1/0
150.1.7.7         1   FULL/DR         00:00:39    155.1.37.7      FastEthernet0/0
150.1.1.1         0   FULL/  -        00:00:39    155.1.13.1      Serial1/2
150.1.2.2         0   FULL/  -        00:00:39    155.1.23.2      Serial1/3
Rack1R3#show ip ospf int br
Interface    PID   Area            IP Address/Mask    Cost  State Nbrs F/C
VL0          1     0               155.1.23.3/24      65535 P2P   0/0
Lo0          1     0               150.1.3.3/24       1     P2P   0/0
Se1/0        1     0               155.1.0.3/24       65535 P2MP  1/1
Fa0/0        1     2               155.1.37.3/24      300   BDR   1/1
Se1/2        1     4               155.1.13.3/24      65535 P2P   1/1
Se1/3        1     5               155.1.23.3/24      65535 P2P   1/1
Rack1R3#show ip ospf int
OSPF_VL0 is up, line protocol is up
  Internet Address 155.1.23.3/24, Area 0
  Process ID 1, Router ID 222.255.255.255, Network Type VIRTUAL_LINK, Cost: 65535
  Configured as demand circuit.
  Run as demand circuit.
  DoNotAge LSA allowed.
  Transmit Delay is 1 sec, State POINT_TO_POINT
  Timer intervals configured, Hello 10, Dead 40, Wait 40, Retransmit 5
    oob-resync timeout 40
    Hello due in 00:00:01
  Supports Link-local Signaling (LLS)
  Cisco NSF helper support enabled
  IETF NSF helper support enabled
  Index 3/6, flood queue length 0
  Next 0x0(0)/0x0(0)
  Last flood scan length is 2, maximum is 7
  Last flood scan time is 0 msec, maximum is 4 msec
  Neighbor Count is 0, Adjacent neighbor count is 0
  Suppress hello for 0 neighbor(s)
Loopback0 is up, line protocol is up
  Internet Address 150.1.3.3/24, Area 0
  Process ID 1, Router ID 222.255.255.255, Network Type POINT_TO_POINT, Cost: 1
  Enabled by interface config, including secondary ip addresses
  Transmit Delay is 1 sec, State POINT_TO_POINT
  Timer intervals configured, Hello 10, Dead 40, Wait 40, Retransmit 5
    oob-resync timeout 40
  Supports Link-local Signaling (LLS)
  Cisco NSF helper support enabled
  IETF NSF helper support enabled
  Index 2/5, flood queue length 0
  Next 0x0(0)/0x0(0)
  Last flood scan length is 0, maximum is 0
  Last flood scan time is 0 msec, maximum is 0 msec
  Neighbor Count is 0, Adjacent neighbor count is 0
  Suppress hello for 0 neighbor(s)
Serial1/0 is up, line protocol is up
  Internet Address 155.1.0.3/24, Area 0
  Process ID 1, Router ID 222.255.255.255, Network Type POINT_TO_MULTIPOINT, Cost: 65535
  Enabled by interface config, including secondary ip addresses
  Transmit Delay is 1 sec, State POINT_TO_MULTIPOINT
  Timer intervals configured, Hello 30, Dead 120, Wait 120, Retransmit 5
    oob-resync timeout 120
    Hello due in 00:00:18
  Supports Link-local Signaling (LLS)
  Cisco NSF helper support enabled
  IETF NSF helper support enabled
  Index 1/2, flood queue length 0
  Next 0x0(0)/0x0(0)
  Last flood scan length is 1, maximum is 16
  Last flood scan time is 0 msec, maximum is 4 msec
  Neighbor Count is 1, Adjacent neighbor count is 1
    Adjacent with neighbor 150.1.5.5
  Suppress hello for 0 neighbor(s)
FastEthernet0/0 is up, line protocol is up
  Internet Address 155.1.37.3/24, Area 2
  Process ID 1, Router ID 222.255.255.255, Network Type BROADCAST, Cost: 300
  Enabled by interface config, including secondary ip addresses
  Transmit Delay is 1 sec, State BDR, Priority 1
  Designated Router (ID) 150.1.7.7, Interface address 155.1.37.7
  Backup Designated router (ID) 222.255.255.255, Interface address 155.1.37.3
  Timer intervals configured, Hello 10, Dead 40, Wait 40, Retransmit 5
    oob-resync timeout 40
    Hello due in 00:00:08
  Supports Link-local Signaling (LLS)
  Cisco NSF helper support enabled
  IETF NSF helper support enabled
  Index 1/1, flood queue length 0
  Next 0x0(0)/0x0(0)
  Last flood scan length is 6, maximum is 27
  Last flood scan time is 0 msec, maximum is 4 msec
  Neighbor Count is 1, Adjacent neighbor count is 1
    Adjacent with neighbor 150.1.7.7  (Designated Router)
  Suppress hello for 0 neighbor(s)
Serial1/2 is up, line protocol is up
  Internet Address 155.1.13.3/24, Area 4
  Process ID 1, Router ID 222.255.255.255, Network Type POINT_TO_POINT, Cost: 65535
  Enabled by interface config, including secondary ip addresses
  Transmit Delay is 1 sec, State POINT_TO_POINT
  Timer intervals configured, Hello 10, Dead 40, Wait 40, Retransmit 5
    oob-resync timeout 40
    Hello due in 00:00:08
  Supports Link-local Signaling (LLS)
  Cisco NSF helper support enabled
  IETF NSF helper support enabled
  Index 1/3, flood queue length 0
  Next 0x0(0)/0x0(0)
  Last flood scan length is 6, maximum is 28
  Last flood scan time is 0 msec, maximum is 4 msec
  Neighbor Count is 1, Adjacent neighbor count is 1
    Adjacent with neighbor 150.1.1.1
  Suppress hello for 0 neighbor(s)
Serial1/3 is up, line protocol is up
  Internet Address 155.1.23.3/24, Area 5
  Process ID 1, Router ID 222.255.255.255, Network Type POINT_TO_POINT, Cost: 65535
  Enabled by interface config, including secondary ip addresses
  Transmit Delay is 1 sec, State POINT_TO_POINT
  Timer intervals configured, Hello 10, Dead 40, Wait 40, Retransmit 5
    oob-resync timeout 40
    Hello due in 00:00:01
  Supports Link-local Signaling (LLS)
  Cisco NSF helper support enabled
  IETF NSF helper support enabled
  Index 1/4, flood queue length 0
  Next 0x0(0)/0x0(0)
  Last flood scan length is 1, maximum is 28
  Last flood scan time is 0 msec, maximum is 4 msec
  Neighbor Count is 1, Adjacent neighbor count is 1
    Adjacent with neighbor 150.1.2.2
  Suppress hello for 0 neighbor(s)
Rack1R3#show run
Building configuration...
Current configuration : 1817 bytes
!
version 12.4
service timestamps debug datetime msec
service timestamps log datetime msec
no service password-encryption
!
hostname Rack1R3
!
boot-start-marker
boot-end-marker
!
logging message-counter syslog
enable password cisco
!
no aaa new-model
memory-size iomem 10
!
dot11 syslog
ip source-route
!
!
ip cef
!
!
no ip domain lookup
no ipv6 cef
!
multilink bundle-name authenticated
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
voice-card 0
!
!
!
!
!
archive
 log config
  hidekeys
!
!
!
!
!
!
!
!
!
interface Loopback0
 ip address 150.1.3.3 255.255.255.0
 ip ospf network point-to-point
 ip ospf 1 area 0
!
interface Loopback222
 ip address 222.255.255.255 255.255.255.255
!
interface FastEthernet0/0
 mtu 1504
 ip address 155.1.37.3 255.255.255.0
 ip ospf 1 area 2
 duplex auto
 speed auto
!
interface FastEthernet0/1
 no ip address
 shutdown
 duplex auto
 speed auto
!
interface Serial1/0
 ip address 155.1.0.3 255.255.255.0
 encapsulation frame-relay
 ip ospf network point-to-multipoint non-broadcast
 ip ospf priority 0
 ip ospf 1 area 0
 frame-relay map ip 155.1.0.5 305
 no frame-relay inverse-arp
 frame-relay lmi-type cisco
!
interface Serial1/1
 no ip address
 shutdown
!
interface Serial1/2
 ip address 155.1.13.3 255.255.255.0
 ip ospf 1 area 4
 clock rate 64000
!
interface Serial1/3
 ip address 155.1.23.3 255.255.255.0
 ip ospf 1 area 5
 clock rate 64000
!
router ospf 1
 log-adjacency-changes
 auto-cost reference-bandwidth 30000
 area 5 virtual-link 150.1.2.2
 neighbor 155.1.0.5
!
ip forward-protocol nd
no ip http server
no ip http secure-server
!
!
!
!
!
!
!
!
!
control-plane
!
!
!
!
!
!
!
!
!
!
line con 0
 exec-timeout 0 0
 privilege level 15
 logging synchronous
line aux 0
 exec-timeout 0 0
 privilege level 15
line vty 0 4
 password cisco
 login
!
scheduler allocate 20000 1000
end
Rack1R3#

So to win the iPad Mini you need to answer what is causing the OSPF virtual link not to come up to begin with and why.

Technically I already won but I’m not eligible to win prizes.

About Brian Dennis, CCIE #2210:

Brian Dennis has been in the networking industry for more than 22 years, with a focus on Cisco networking for the past 16 years. Brian achieved his first CCIE in Routing & Switching in 1996, and is currently the only ten year CCIE that holds five CCIE certifications. Prior to working with INE, Brian taught and developed CCIE preparation courses for various well known training organizations. Brian not only brings his years of teaching experience to the classroom, but also years of real world enterprise and service provider experience.

Find all posts by Brian Dennis, CCIE #2210 | Visit Website


You can leave a response, or trackback from your own site.

73 Responses to “OSPF Virtual Link Issue – First to answer wins iPad Mini”

 
  1. Charles Galler says:

    There is no route to 222.255.255.255 in the routing table of R2.

  2. Kenneth George says:

    OSPF requires the netmask to match when forming neighbor adjacencies.

  3. Matt Oswalt says:

    Rack1R2 cannot communicate directly with Rack1R3. The OSPF configuration is such that the virtual link should be set up between the Router ID of Rack1R2 and Rack1R3 – however, the only frame relay map statements allow both routers to communicate with a third router at address 155.1.0.5:

    frame-relay map ip 155.1.0.5 305

    Since Inverse-ARP has been disabled, there’s no way for these two routers to communicate directly with each other, so the virtual link will not work.

  4. forem says:

    there is no route 222.255.255.255 on R2′s routing table because ospf is not enabled on loopback222 interface on R3 and there is no network command on ospf proccess that include this network.

  5. Paul says:

    Is it because the cost of the VL exceeds 65535 and therefore isn’t allowed up per RFC2328 due to the auto-cost reference bandwidth value used combined with the underlying speed of the interface?

  6. Matt Oswalt says:

    Strike that – the problem is that the virtual link is showing that it’s running over area 0. Virtual links only run on routers in a *transit area*, or a non backbone area.

    Rack1R2 is configured to use neighbor ID 222.255.255.255 as the other end of the virtual link, but the OSPF neighbor table shows that this neighbor is being learned over area 0.

  7. Diogo says:

    The OSPF configuration should be in the int interface Loopback222 not in the interface Loopback0 of router 3.

  8. Nathan says:

    Loopback222 not advertised in OSPF?

  9. Rich Mallory says:

    This is my shot at it.

    The “ip ospf 1 area 0″ command is missing from the interface Loopback222 on R3 so there is not host route on R2 for this address. The route is not being advertised by the OSPF process on R3. This means the virtual link will have a cost of 65535 and will never come up. By changing the network type to P2MP the host route will be added and advertised – bringing up the link.

    Rich

  10. Jared says:

    I’ll take a stab at it. I believe it’s due to the cost on R3′s s1/3 interface already being at the max of 65535. If this interface already has the max cost, a Virtual Link out that interface will not come up since S1/3 is the only interface which R3 can establish a Virtual link with neighbor 150.1.2.2. While the configuration didn’t specifically set the cost on this interface, adjusting the auto-cost reference-bandwidth probably caused this unexpected result. Changing the interface to a multipoint allows for the cost to be per neighbor and not necessarily consider the interface cost. May be way off, but I gotta try when an iPad is involved.

  11. Ryan Newell says:

    Hello Brian,

    The problem is the OSPF cost on R3s interface. It is at the max OSPF cost. When the network type is changed to OSPF P2MP the OSPF cost for 155.1.23.3 is now 0 whereas before it was 65535 before. The interface cost is so high because of the auto cost command.

    LSA with P2MP network type
    Link connected to: a Stub Network
    (Link ID) Network/subnet number: 155.1.23.3
    (Link Data) Network Mask: 255.255.255.255
    Number of TOS metrics: 0
    TOS 0 Metrics: 0

    LSA with P2P network type
    Link connected to: a Stub Network
    (Link ID) Network/subnet number: 155.1.23.0
    (Link Data) Network Mask: 255.255.255.0
    Number of TOS metrics: 0
    TOS 0 Metrics: 65535

    • Ryan Newell says:

      From the RFC 2383

      In each endpoint router, the cost and viability of the virtual link is discovered by examining the routing table entry for the other endpoint router. (The entry’s associated area must be the configured Transit area). This is called the virtual link’s corresponding routing table entry. The InterfaceUp event occurs for a virtual link when its corresponding routing table entry becomes reachable. Conversely, the InterfaceDown event occurs when its routing table entry becomes unreachable. In other words, the virtual link’s viability is determined by the existence of an intra-area path, through the Transit area, between the two endpoints. Note that a virtual link whose underlying path has cost greater than hexadecimal 0xffff (the maximum size of an interface cost in a router-LSA) should be considered inoperational (i.e., treated the same as if the path did not exist).

  12. Steven says:

    The loopback is using a broadcast address.

  13. Blake says:

    Isn’t this just run of the mill frame relay w/o broadcast coupled with the 2nd router-id’s corresponding loopback not being inside the OSPF process?

  14. Nathan says:

    i guess i should expand on that a little bit my previous statement:

    Loopback222 not advertised in OSPF.

    R2 does not have a route to R3′s Loopback222 because of this which means that the tunnel will not establish and come fully up.

  15. Kenneth George says:

    to clarify, the loopback0 on R2 has a /24 mask with network point-to-point type. The point-to-multipoint network type supports the expanded mask.

  16. DrC says:

    When the link layer protocol is PPP or HDLC, OSPF considers the network type as P2P. On P2P networks, packets are sent via multicast address 224.0.0.5. Also, P2P network is not a “new” broadcast domain, this type is only intended to be used between 2 directly connected routers.

    On P2MP links packets are sent via unicast. That is why it works.

  17. Argennis Ramirez says:

    the auto cost is very high, the serial on router 3 in area 5 has a cost of 65535 to reach router R2 and virtual link can not be configured with a cost 65535.

  18. Sergey says:

    Maybe the problem is that what we have the maximum cost of interface se1/3 on R3 (65535)? I believe it’s not valid option for establishing valid virtual link connection according to OSPF RFC.

  19. Ken says:

    I believe the problem is a result of the result of “auto-cost reference-bandwidth 30000” command and the low speed serial bandwidth of s1/3 on R3. The result of 128 Kbps interface with an auto-cost ref BW that high, will cause the resulting cost of the VL to be current metric (which is current interface cost = 65535) + Cost … OSPF MAX cost.
    When the network type is P2MP, there is no additional OSPF Cost to the neighbour so the link will come up.

  20. Ken says:

    To further explain why it worked with the P2MP, per the RFC (2328)

    With Point-Multipoint Interfaces;

    A single Type 3 link (stub network) is added with Link ID set to the router’s own IP interface address, Link Data set to the mask 0xffffffff (indicating a host route), and cost set to 0 <–That's the Magic.

  21. Michael Tai says:

    On R3:
    Interface Loopback222 didn’t advertise to the OSPF as which is the RID and used as the Virtual-link peer to the R2.

    R2 didn’t know how to reach to R3′s RID, thus the virtual link is down.

  22. Adam Jannetta says:

    I believe the issue is due to the cost of the virtual link, it is 65535. The ospf reference bandwidth of 30000 is causing this. The bandwidth on the interfaces could also be changed to compensate.

  23. Donnovan Richardson says:

    Remove auto-cost reference bandwidth, clear ospf process, then add the command back, clear again and it worked for me.

    Rack1R2(config-router)#do sh ip os vir
    Virtual Link OSPF_VL0 to router 222.255.255.255 is up
    Run as demand circuit
    DoNotAge LSA allowed.
    Transit area 5, via interface Serial0/1, Cost of using 64
    Transmit Delay is 1 sec, State POINT_TO_POINT,
    Timer intervals configured, Hello 10, Dead 40, Wait 40, Retransmit 5
    Hello due in 00:00:07
    Adjacency State FULL (Hello suppressed)
    Index 2/3, retransmission queue length 0, number of retransmission 0
    First 0×0(0)/0×0(0) Next 0×0(0)/0×0(0)
    Last retransmission scan length is 0, maximum is 0
    Last retransmission scan time is 0 msec, maximum is 0 msec

    Rack1R3(config-router)#do sh ip os vir
    Virtual Link OSPF_VL0 to router 150.1.2.2 is up
    Run as demand circuit
    DoNotAge LSA allowed.
    Transit area 5, via interface Serial0/3, Cost of using 65535
    Transmit Delay is 1 sec, State POINT_TO_POINT,
    Timer intervals configured, Hello 10, Dead 40, Wait 40, Retransmit 5
    Hello due in 00:00:06
    Adjacency State FULL (Hello suppressed)
    Index 2/3, retransmission queue length 0, number of retransmission 0
    First 0×0(0)/0×0(0) Next 0×0(0)/0×0(0)
    Last retransmission scan length is 0, maximum is 0
    Last retransmission scan time is 0 msec, maximum is 0 msec

  24. kenyonej says:

    Because p2mp is broadcast, and p2p is nonbroadcast

  25. hk717 says:

    I see that the cost of R3′s Se1/3 is set to 65535.
    A virtual link whose underlying path has cost greater than 65535 will not come up.
    Changing the network type to point-to-multipoint will change R2′s metric cost to reach 155.1.23.3 to the cost of R2′s Se0/1 which is 19430.
    Since the underlying path no longer has cost greater than 65535, virtual link will come up.

  26. Gustavo Novais says:

    Hi Brian,
    Let me take a shot at it.

    We can see that in Rack1R2, there’s no routing table entry for 225.255.255.255 network. (R3 does not announce this Loopback in OSPF).
    The opposite is true in R3 (it does have a route for 150.1.2.2)
    As such the virtual link cannot come up.
    RFC2328 states:
    In each endpoint router, the cost and viability of the virtual link
    is discovered by examining the routing table entry for the other
    endpoint router. (The entry’s associated area must be the
    configured Transit area). This is called the virtual link’s
    corresponding routing table entry. The InterfaceUp event occurs for
    a virtual link when its corresponding routing table entry becomes
    reachable.

    For the P2MP entry enabling the virtual link to come up, as it is a collection of point to point links, for each neighbor a link description is added to this router LSA containing information regarding the router, namely the router ID. This will enable the R2 to reach R3 and establish the VLINK.

  27. daniel loughlin says:

    p2mp uses unicast hellos and he has neighbor statements defined so it comes up. p2p uses multicast hellos, and the serial interfaces won’t propogate those as they are currently configured.

  28. Jeff says:

    The loopback 222 (222.255.255.255) on R3 isn’t being advertised into OSPF. R2 can’t get to it.

  29. Charles Galler says:

    The advertising router 222.255.255.255 is not reachable from R2 because the loop222 on R3 is not advertised into OSPF.

    R2#sho ip ospf data router 222.255.255.255

    Router Link States (Area 5)

    Adv Router is not-reachable
    LS age: 1253
    Options: (No TOS-capability, DC)
    LS Type: Router Links
    Link State ID: 222.255.255.255
    Advertising Router: 222.255.255.255
    LS Seq Number: 8000000B
    Checksum: 0xCA43
    Length: 48
    Area Border Router
    Number of Links: 2

    Link connected to: another Router (point-to-point)
    (Link ID) Neighboring Router ID: 150.1.2.2
    (Link Data) Router Interface address: 155.1.23.3
    Number of TOS metrics: 0
    TOS 0 Metrics: 65

    Link connected to: a Stub Network
    (Link ID) Network/subnet number: 155.1.23.3
    (Link Data) Network Mask: 255.255.255.255
    Number of TOS metrics: 0
    TOS 0 Metrics: 0

    When P2MP on the interface the router 222.255.255.255 is now reachable from R2

    R2#sho ip ospf data router 222.255.255.255

    Router Link States (Area 5)

    Routing Bit Set on this LSA
    LS age: 22
    Options: (No TOS-capability, DC)
    LS Type: Router Links
    Link State ID: 222.255.255.255
    Advertising Router: 222.255.255.255
    LS Seq Number: 8000000E
    Checksum: 0xB856
    Length: 48
    Area Border Router
    Number of Links: 2

    Link connected to: another Router (point-to-point)
    (Link ID) Neighboring Router ID: 150.1.2.2
    (Link Data) Router Interface address: 155.1.23.3
    Number of TOS metrics: 0
    TOS 0 Metrics: 65

    Link connected to: a Stub Network
    (Link ID) Network/subnet number: 155.1.23.3
    (Link Data) Network Mask: 255.255.255.255
    Number of TOS metrics: 0
    TOS 0 Metrics: 0

  30. Dennis Day says:

    R3 not advertising Loopback 222.

    I would guess that R3 is therefore originating it’s hellos from and area 5 interface. R2 can answer hellos because that address is resolvable. I could not find anything documented on that.

    R3
    OSPF_VL0 is up, line protocol is up
    Internet Address 155.1.23.3/24, Area 0

    RFC 2328, section 15:

    “Just as the virtual link’s cost and viability are determined by
    the routing table build process (through construction of the
    routing table entry for the other endpoint), so are the IP
    interface address for the virtual interface and the virtual
    neighbor’s IP address. These are used when sending OSPF
    protocol packets over the virtual link.”

    R2 has no route to 222.255.255.255.255. to establish/validate virtual link.

  31. JDH says:

    The command “auto-cost reference-bandwidth 30000″ has maxed out the cost of the serial interface that the VL needs to use to reach the other side. A VL will not work when the interface it uses is at max cost (65535).

  32. Charles Galler says:

    P2MP make the /32 route from R2 to R3 an intra-area route vs it being a inter-area route as a P2P link.

    P2P network type:
    R2#sho ip route

    155.1.0.0/16 is variably subnetted, 6 subnets, 2 masks
    C 155.1.23.0/24 is directly connected, Serial0/1
    O IA 155.1.23.3/32 [110/19430] via 155.1.23.3, 00:00:06, Serial0/1
    O 155.1.0.3/32 [110/19430] via 155.1.23.3, 00:00:06, Serial0/1
    C 155.1.0.0/24 is directly connected, Serial0/0
    O 155.1.0.5/32 [110/19430] via 155.1.0.5, 00:00:06, Serial0/0
    O IA 155.1.37.0/24 [110/19431] via 155.1.23.3, 00:00:06, Serial0/1
    C 192.10.1.0/24 is directly connected, Ethernet0/0
    150.1.0.0/24 is subnetted, 2 subnets
    O 150.1.3.0 [110/19431] via 155.1.23.3, 00:00:07, Serial0/1
    C 150.1.2.0 is directly connected, Loopback0
    R2#


    After P2MP network type:
    R2#sho ip route

    155.1.0.0/16 is variably subnetted, 6 subnets, 2 masks
    C 155.1.23.0/24 is directly connected, Serial0/1
    O 155.1.23.3/32 [110/19430] via 155.1.23.3, 00:00:02, Serial0/1
    O 155.1.0.3/32 [110/19494] via 155.1.0.5, 00:00:02, Serial0/0
    C 155.1.0.0/24 is directly connected, Serial0/0
    O 155.1.0.5/32 [110/19430] via 155.1.0.5, 00:00:02, Serial0/0
    O IA 155.1.37.0/24 [110/19495] via 155.1.0.5, 00:00:02, Serial0/0
    C 192.10.1.0/24 is directly connected, Ethernet0/0
    150.1.0.0/24 is subnetted, 2 subnets
    O 150.1.3.0 [110/19495] via 155.1.0.5, 00:00:03, Serial0/0
    C 150.1.2.0 is directly connected, Loopback0
    R2#

  33. zub says:

    R2 has VL configured with 222.255.255.255 but it does not have a route to it, in fact R3 doesn’t have it in ospf since ospf is not enabled on lo222
    Good question is why it comes up when the link is p2mp. It shouldn’t be the case that it causes 222.255.255.255 to get somehow into lsdb, so apparently it uses the /32 host route to build VL.. Unfortunately don’t have a lab now to check…

  34. Oleg K says:

    There are few problems here. With given reference-bandwidth (30000) and clock-rate (64000) the ospf cost of p2p link between R3-R2 is at its max value of 65535 on R3 side. This is the reason why VL is not coming up at default configuration. When we change link type to P2MP, OSPF changes the metric int the LSA for this link from 65565 to 0, and this allows router to bring VL up.

    LSA with p2p:
    Router Link States (Area 5)

    LS age: 6
    Options: (No TOS-capability, DC)
    LS Type: Router Links
    Link State ID: 222.255.255.255
    Advertising Router: 222.255.255.255
    LS Seq Number: 80000012
    Checksum: 0xE367
    Length: 48
    Area Border Router
    Virtual Link Endpoint
    Number of Links: 2

    Link connected to: another Router (point-to-point)
    (Link ID) Neighboring Router ID: 150.1.2.2
    (Link Data) Router Interface address: 155.1.23.3
    Number of MTID metrics: 0
    TOS 0 Metrics: 65535

    Link connected to: a Stub Network
    (Link ID) Network/subnet number: 155.1.23.0
    (Link Data) Network Mask: 255.255.255.0
    Number of MTID metrics: 0
    TOS 0 Metrics: 65535

    LSA with P2MP:

    LS age: 6
    Options: (No TOS-capability, DC)
    LS Type: Router Links
    Link State ID: 222.255.255.255
    Advertising Router: 222.255.255.255
    LS Seq Number: 80000015
    Checksum: 0×1435
    Length: 48
    Area Border Router
    Number of Links: 2

    Link connected to: another Router (point-to-point)
    (Link ID) Neighboring Router ID: 150.1.2.2
    (Link Data) Router Interface address: 155.1.23.3
    Number of MTID metrics: 0
    TOS 0 Metrics: 65535

    Link connected to: a Stub Network
    (Link ID) Network/subnet number: 155.1.23.3
    (Link Data) Network Mask: 255.255.255.255
    Number of MTID metrics: 0
    TOS 0 Metrics: 0

  35. Kieran Hartnett says:

    R2 has no route to R3′s loopback. I guess the VL is up at R3 because it’s coming from the serial interface facing R2… is it related to the use of a x.255.255.255 address on a non-broadcast link? I may be clutching at straws…

  36. Roger Perkin says:

    Is the reason the fact that Virtual Links are basically unnumbered point-to-point links. And a Virtual link is considered to be in the state Point-to-Point if an intra-area path exists. Otherwise it will be considered down.

    Virtual links are always treated as demand circuits and the router will always negotiate to suppress the sending of hellos

    The OSPF point-to-multipoint interface essentially consists of multiple point-to-point links The router will try to negotiate hello suppression separately on each of the the point-to-point links. On the links were negotiation fails Hellos will always be sent, this is the reason the Virtual link comes up?

  37. Steve Occhiogrosso says:

    The virtual link did not come up because the router-id of the virtual link termination points need to exist in the OSPF database, when the network type was changed it was then advertised with a /32 (host address) allowing the virtual link to form. The /24 just doesn’t do it for virtual links. Remember virtual links use unicast not multicast.

  38. Robert Crowther says:

    The reason why the virtual link didnt work is because the virtual link ip is a broadcast address. As Broadcasts are not sent over ptp links, the virtual link was not coming up on one side. Changing to point to multi point resolved this as as broadcast packets can be sent between the peers.

  39. Daniel Dib says:

    Hi Brian,

    The issue is that auto-cost reference bandwidth 30000 has been configured. Because R3 serial interface to R2 has been configured with clock rate 64000 (64 kbit) this means that the cost of using the interface is 30000000/64 = 468750 but this is larger than the maximum metric which is 65535 (0xffff).

    This can be seen from this output:

    Serial1/3 is up, line protocol is up
    Internet Address 155.1.23.3/24, Area 5
    Process ID 1, Router ID 222.255.255.255, Network Type POINT_TO_POINT, Cost: 65535

    When the network type is point to point the routers exchange LSAs according to the RFC:

    o If the neighboring router is fully adjacent, add a
    Type 1 link (point-to-point). The Link ID should be
    set to the Router ID of the neighboring router. For
    numbered point-to-point networks, the Link Data
    should specify the IP interface address. For
    unnumbered point-to-point networks, the Link Data
    field should specify the interface’s MIB-II [Ref8]
    ifIndex value. The cost should be set to the output
    cost of the point-to-point interface.
    Option 2
    If a subnet has been assigned to the point-to-
    point link, set the Link ID of the Type 3 link
    to the subnet’s IP address, the Link Data to the
    subnet’s mask, and the cost to the interface’s
    configured output cost.[16]

    The key here is that it says the interface’s configured output cost.

    When router 2 tries to setup the virtual link to R3 it checks the router LSA but the cost of setting up the virtual link is too high.

    “Note that a virtual link whose underlying path has cost
    greater than hexadecimal 0xffff (the maximum size of an interface
    cost in a router-LSA) should be considered inoperational (i.e.,
    treated the same as if the path did not exist).”

    Debugging of OSPF events will show:

    OSPF: OSPF: Rcv pkt from OSPF_VL0 src 155.1.23.3 dst 155.1.23.2 id 222.255.255.255 type 4 if_state 0 : ignored due to unknown neighbor
    OSPF: OSPF: Rcv pkt from OSPF_VL0 src 155.1.23.3 dst 155.1.23.2 id 222.255.255.255 type 4 if_state 0 : ignored due to unknown neighbor

    It’s ignoring it because R2 doesn’t know how to reach R3 via area 5 without exceeding the max cost.

    When the network type is changed to point to multipoint, this is where it gets interesting. According to the RFC the link is described like this:

    12.4.1.4. Describing Point-to-MultiPoint interfaces

    For operational Point-to-MultiPoint interfaces, one or
    more link descriptions are added to the router-LSA as
    follows:

    o A single Type 3 link (stub network) is added with
    Link ID set to the router’s own IP interface
    address, Link Data set to the mask 0xffffffff
    (indicating a host route), and cost set to 0.

    o For each fully adjacent neighbor associated with the
    interface, add an additional Type 1 link (point-to-
    point) with Link ID set to the Router ID of the
    neighboring router, Link Data set to the IP
    interface address and cost equal to the interface’s
    configured output cost.

    There will be a /32 installed but the key is in this text:

    Link Data set to the mask 0xffffffff
    (indicating a host route), and cost set to 0.

    The cost to the stub network is set to 0. This means that R3 is now reachable via area 5 and the virtual link can come up.

    So the difference here is how the stub network is described and that P2MP sets the cost to 0 instead of the outgoing interface cost.

  40. PC Drew says:

    The virtual link fails to establish because the bandwidth is different on the point-to-point link between routers 2 and 3. Router 2 has an interface bandwidth of 1.544Mbps but router 3 has an interface bandwidth of 457Kbps. Because of the reference bandwidth change to 30000, this means that router 3 has an OSPF cost that is maximized (65535). The virtual link fails to establish because that end has a cost that violates RFC 2328.

    A solution is to change the interface bandwidth calculation on router 3, interface s1/3 to the same value as interface s0/1/0 on router 2: 1.544Mbps. Doing this will make the OSPF cost 19430 and the virtual link will establish with no issues.

  41. Narayan Neupane says:

    After looking into show ip ospf int brief output:
    I think here we have issue of Virtual Link over Maximum cost.

    According to RFC 2328:

    Note that a virtual link whose underlying path has cost greater than hexadecimal 0xffff (the maximum size of an interface cost in a router-LSA) should be considered inoperational (i.e.treated the same as if the path did not exist).

  42. PC Drew says:

    As a side note, I do not know the scenario that the poster started with, so I built a GNS3 lab based on the two router configurations that were provided and added a third router as the frame relay hub just to simulate the above scenario. There may be other limitations on the scenario that the original poster started with that I’m unaware of. Changing the bandwidth statements (and therefore the OSPF costs), however, allowed me to replicate both the error and the fix.

  43. Rob Riker says:

    I just passed CCNA last month, studying CCNP. Taking a stab at this. I only see a route in R3′s routing table, source from lo222. I don’t see a route in R2′s routing table. I’m not sure, what I do know is the VL must connect to Area 0, which it does, I think here. I own a iPad mini, can someone tell me what’s wrong, I’m confused.

  44. Dan says:

    R2 doesn’t have the route to 222.255.255.255
    R3 has a route to R2 through R5
    So when you change to P2MP R3 then advertises it’s 222.255.255.255 as a host route and R2 can then hop directly to R3 to make the vlink establishment
    ?

  45. Dan says:

    Also…

    the REASON R2 doesnt have the route to 222.255.255.255 is because lo222 on R3 isn’t in an area

  46. Wayne Downing says:

    Auto-Cost is setting the underlying transit path cost above the maximum of 0xFFFF so the virtual-link sees this as an in-operational path.

    • Wayne Downing says:

      almost forgot – as for the mask issues, P2M do not describe the network, they interfaces are described as host routes so the /24 network is NOT actually described like they would be if network type were ptp.

  47. junyi says:

    On R2 there are no route to 222.255.255.255.

  48. Vignesh Sathiamoorthy says:

    Following configuration is present under OSPF routing
    router ospf 1
    router-id 150.1.2.2
    log-adjacency-changes
    auto-cost reference-bandwidth 30000
    area 5 virtual-link 222.255.255.255
    neighbor 155.1.0.5
    !

    Auto-cost reference-bandwidth ” 30000 ” is the culprit here. It has set the cost of the interface over which virtual link is run to 65535.

    Virtual-link is hence down since it considers the underlying path as inoperational.

  49. Leonardo says:

    Very interesting issue, here is what I was able to find out:

    The issue is due to the fact that the Serial1/0 interface on R3 has a cost of 65535. So, when running point-to-point network type, R2 will ignore the LSAs received as it doesn’t know the neighbor and the ID of the number which is the loopback that is not advertised on OSPF (222.255.255.255). These packets will be sourced with the IP Address of 155.1.23.3 and will have an ID of 222.255.255.255:

    *Mar 1 00:38:20.155: OSPF: OSPF: Rcv pkt from OSPF_VL0 src 155.1.23.3 dst 155.1 .23.2 id 222.255.255.255 type 4 if_state 0 : ignored due to unknown neighbor

    The fixes are to either:
    - change the network to P2MP
    - advertise the loopback with IP 222.255.255.255 under OSPF (area 5)

  50. Jon Major says:

    Looks like the virtual link will not come up because of the cost it sees on the serial link (R3′s serial 1/3). From my brief scan (since I’m trying to win right lol), looks this this is due to auto-cost on the OSPF proc. Adjust R3′s cost on serial 1/3 interfaces to be less and your virtual link will come up.

  51. Peter Mawad says:

    Dear Brian,

    I think the answer is because the router-id of R3 (Loopback 222) is not advertised in OSPF to R2 which is clear from the output of the commands, as R2 routing table doesn’t contain the router-id of R3. but on the other hand, R3 knows how to reach to the router-id of R2 as it is seen in its routing table thats why the virtual link is up in this direction from R3 to R2.
    Also I think that for Cisco, the router-ids of both routers forming the virtual link must be seen as Intra-area ospf routes in each others’ routing tables.

  52. Pat B says:

    As a P-to-MP OSPF sends multicasts allowing R2 and R3 to form the VL. As a P-to-P OSPF sends unicast, the path between R2 and R3 is through R5 which is in area 0. A VL can’t be built in area 0

  53. Charles Gagnon says:

    On R3 int s1/3, the cost of ip ospf interface is max (65535).

    The virtual link over an interface who’s OSPF cost is maximized (65535 or 0xffff) will not come up. The virtual link will not come up if the only interface to reach the other end of the virtual link has a cost that is maximized.

    The reason of the max cost is auto-cost reference-bandwidth under router ospf 1 of R3.

    That’s why the virtual won’t come up

  54. roger perkins says:

    Your frame relay config…..would type more but busy.

  55. mark gardner says:

    Interesting…

    I believe this is due to the auto reference bandwidth command being set to 30000 which is bumping up the ospf cost of the underlying serial links to 65535, virtual links consider links with a cost of 65535 as unusable, hence the virtual link does not come up

    Thanks
    Mark

  56. Pablo Lucena says:

    Each router will do a type 1 LSA lookup when calculating the cost to reach the other router. The virtual link process is “automatic” in the sense that the router will figure out the tunnel endpoints based on the links it has to traverse (discovered through intra area SPF).

    The “stub network” field in the LSA type 1 uses the configured netmask when using point-to-point, in this case it uses /24. It also shows an added cost to reach the stub network:

    Link connected to: another Router (point-to-point)
    (Link ID) Neighboring Router ID: 150.1.2.2
    (Link Data) Router Interface address: 155.1.23.3
    Number of MTID metrics: 0
    TOS 0 Metrics: 65535

    Link connected to: a Stub Network
    (Link ID) Network/subnet number: 155.1.23.0
    (Link Data) Network Mask: 255.255.255.0
    Number of MTID metrics: 0
    TOS 0 Metrics: 65535

    When we use point-to-multipoint, the stub network is treated as a /32 and the cost of the stub network is 0:

    Link connected to: another Router (point-to-point)
    (Link ID) Neighboring Router ID: 150.1.2.2
    (Link Data) Router Interface address: 155.1.23.3
    Number of MTID metrics: 0
    TOS 0 Metrics: 65535

    Link connected to: a Stub Network
    (Link ID) Network/subnet number: 155.1.23.3
    (Link Data) Network Mask: 255.255.255.255
    Number of MTID metrics: 0
    TOS 0 Metrics: 0

    The virtual link cannot have a metric of more than 65535. Using point-to-multipoint makes the metric to reach the endpoint not go OVER 65535.

    O 155.1.23.2/32 [110/65535] via 155.1.23.2

    This is why the VL comes up when we switch to point-to-multipoint.

  57. Scott says:

    R2 doesn’t have a route to 222.255.255.255. Changing to point to multipoint automatically creates a /32 route for the neighbor.

  58. Amit says:

    Loopback222 of R3 is not reachable from R2.

  59. Marcio Costa says:

    R2 doesn’t have connection to the R3 router id (222.255.255.255) and the reason for R2 doesn’t have this route is because the OSPF is not enable on R3 loopback222.

    Since the R2 s0/1/0 connected to R3 s1/3 is HDLC the router id of these routers are on the different subnet they don’t establish adjacent to each other. Change them from ospf point-to-point to point-to-multipoint R2 accepted this mismatch subnet on router Id of both routers

  60. Also granted the ospf virtual link cost is 65535 the max metric for OSPFs designated by the rfc.

  61. dominik says:

    So, R2 doesn’t have route to network 222.255.255.255/32, because this network is not advertised to OSPF at router R3. So neighbourship is correct because highest IP at R3 gives only Router ID, but virtual-link cannot be established – R2 doesn’t know where tail-end of virtual tunnel is.

  62. Mahdi says:

    In the first case which we have P2P between R2 and R3:
    since we don’t advertise R3′s loopback 222 in OSPF , R2 cannot reach R3′s loopback 222 to make virtual link.
    the solution would be using:

    R3:
    interface lo222
    ip ospf 1 area 0

    In the second case the reason that enables virtual link is:
    since OSPF treats virtual links as demand circuits it will not send periodic hellos over it and once the virtual link is up no hellos are exchanged.

    Diagram:
    http://farm8.staticflickr.com/7455/8728078196_44a74c9b3e_b.jpg

  63. kenyonej says:

    gosh i was so wrong i’m embarrassed lol. However, that was a great question!

  64. Robel(Robecho) says:

    In the first look, the problem seems in the “path cost” having the maximum value (LSinfinity) as stated in the RFC 2328. But on a closer look, there are some things which are odd.

    In OSPF, a network is represented as a “graph” and the Path calculation(SPF) is always done representing the router as the root of the tree, as such the “path calculation” always concerns itself about the “outgoing link”. If one looks carefully, it is R2 that can’t set up the neighbourship not R3 even though R2 has a valid outgoing interface cost. According to RFC 2328, R3 shouldn’t send the unicast hellos in the first place because it’s path cost to R2 has passed the maximum.

    So the following are the summarized events that happens in Cisco IOS when the virtual is configured between R2&R3:

    1. Each router first consults their “router routing table” where to send the unicast Hello packet. This table holds all the necessary information regarding the Shortest-Path to the ABR&ASBR and it is maintained whenever an OSPF topology converges.

    2. R3 finds the shortest link to R2 is valid and sends a “unicast hello”. The IP address is found from info in the router-LSA and network-LSA for NBMA/LAN network while in router-LSA for P2P/P2MP.

    3. R2 finds the shortest path to R3 and the path is valid but the router-LSA has infinite cost which it won’t consider it. Since R3 don’t have any other link information in area 5, R2 concludes R3 is unreachable. BTW, any LSA if it also has an LSinfinte metric it won’t be considered in any selection process.

    So if R3 have another link with a valid cost on area 3, R2 can send a unicast traffic to that destination. The reason why the virual-link works when P2MP is enabled is also because R3 now have other link information in its router-LSA with a valid cost which R2 can select!!!

    The RFC 2328 rule comes into play when calculating a path to a “determined” destination while the problem to this specific scenario is that the destination address cannot be “selected” in the first place. The reason behind both situation is actually the same.

  65. Jerome Borsboom says:

    Although the explanations above, in particular the one from Daniel Dib, are correct, there an interesting twist in the way that Cisco interprets the RFC.

    First, I was able to to make the VL path cost wrap around from 65535 to 0 and up by using a VL over two routers with one router in between (R1—R2—R3) without the VL going down. This was on dynamips with IOS 12.2(33)SRE1.

    Another interesting point that can be seen from the point-to-multipoint links is that Cisco derives the VL cost from the type-1 links in the LSAs, i.e. it adds the costs of the outgoing interfaces, but does not include the cost to the type-3 stub network on the VL terminating router. This can be been from the fact that the VL cost does not change when switching between a point-to-point link to a point-to-multipoint link on the terminating router. The type-3 cost does change from some value to 0 in that case.

    However, the viability of the VL seems to be dependent on the cost of the type-3 stub network or the type-2 transit link on the VL terminating router. When that cost is equal to 65535 the router on the other side of the VL shuts down the VL. It does so, when the network type is point-to-point but also when the network type is broadcast, and independent of the total VL path cost (also see my first point). For a point-to-multipoint link the type-3 cost is always zero and therefore the VL is not shut down in this case.

    The RFC states that the VL cost is based on the VL’s routing table entry. The same is said for the VL’s viability. Cisco, however, seems to interpret the cost routing table entry different from the viability routing table entry. Although it does not seem to hurt, it is not clear if this behaviour is as described in the RFC. The wrapping around of the VL cost seems to plainly contradict the RFC.

 

Leave a Reply

Categories

CCIE Bloggers