AS Boundary Links in IGP?

Lately I’ve been focusing on honing my BGP skills to prepare for the ENSLD exam. While this isn’t a configuration focused exam, I’ve been spending some lab time on it to reinforce design concepts. I built out a 29-node lab in Cisco modeling labs featuring eBGP, iBGP, route reflectors, BGP confederations, and eBGP third party next hop. Some ASes represent transit / ISP networks, and some represent edge autonomous systems. AS1 utilizes route reflectors and OSPF for the IGP. AS5 uses confederations and IS-IS IGP.

Disclaimer! I usually constrain my labs to using nonpublic IP addresses and private BGP autonomous system numbers. I made an exception for this lab to make RFC1918 route leaks and confederation sub AS numbers easily identifiable. This lab is running in a virtual environment with no external connectivity. The addressing and autonomous system numbers in this article and lab are for demonstration end educational purposes only.

AS1 is the focus of this article. AS1 represents an ISP that provides transit between edge ASes and other transit providers. AS1 is using iBGP internally with two route reflectors in the same cluster. All AS1 routers are RR clients except for the 3 within the lighter colored box near the top of the topology.

AS1 has 5 links that connect to other ASes. Remember that a BGP learned route is only valid if the next hop is resolvable in the routing table and that by default, iBGP does not modify the next hop.

Let’s focus on the link and routing between AS1_PE1 and AS111_RTR1. The subnet of this link is 12.245.0.0/30, .1 is the PE and .2 is AS 111 CE router. AS111_RTR1 is advertising 79.79.0.0/16 to AS1 via eBGP. AS 111 is not conforming to best practice and is advertising prefixes learned from its other transit provider to AS 1, but we can ignore that for now.

As expected, AS1_PE1 has a next hop for 79.79.0.0/16 of 12.245.0.2, AS111_RTR1’s directly connected interface.

AS1_PE1#show bgp ipv4 unicast neighbors 12.245.0.2 received-routes 
BGP table version is 56, local router ID is 12.0.255.3
Status codes: s suppressed, d damped, h history, * valid, > best, i - internal, 
              r RIB-failure, S Stale, m multipath, b backup-path, f RT-Filter, 
              x best-external, a additional-path, c RIB-compressed, 
              t secondary path, 
Origin codes: i - IGP, e - EGP, ? - incomplete
RPKI validation codes: V valid, I invalid, N Not found

     Network          Next Hop            Metric LocPrf Weight Path
 *>   79.79.0.0/16     12.245.0.2               0             0 111 i
 *    100.100.0.0/23   12.245.0.2                             0 111 5 156 i
 *    166.174.0.0      12.245.0.2                             0 111 5 i

Total number of prefixes 3 

AS1_PE1 has iBGP peering to both AS1 route reflectors sourced from its loopback interface. When AS1_PE1 advertises 79.79.0.0/16 to the RRs, the next hop will still be 12.245.0.2. The RR will only consider this to be a valid route to advertise to clients and nonclients if the RR has a route to 12.245.0.2 in its routing table. Routers that receive the route from the RRs must also have a route to 12.245.0.2 for the route to be valid. To solve this reachability requirement, the link between AS1_PE1 and AS111_RTR1 is included in AS1’s IGP, OSPF.

AS1_PE1#show run | section bgp
router bgp 1
 bgp log-neighbor-changes
 neighbor 12.0.255.254 remote-as 1
 neighbor 12.0.255.254 update-source Loopback1
 neighbor 12.0.255.255 remote-as 1
 neighbor 12.0.255.255 update-source Loopback1
 neighbor 12.245.0.2 remote-as 111
 neighbor 12.245.0.2 soft-reconfiguration inbound
 neighbor 12.245.0.2 route-map AS111_IN_RM in
AS1_PE1#

Let’s confirm this by checking the BGP table and routing table on AS1_RR1. The output below confirms that the RR received 79.79.0.0/16 with next hop 12.245.0.2. The RR and all other AS1 routers have an OSPF learned route to 12.245.0.0/30 to satisfy the next hop reachability requirement.

AS1_RR1#show bgp ipv4 unicast 79.79.0.0
BGP routing table entry for 79.79.0.0/16, version 42
Paths: (1 available, best #1, table default)
  Advertised to update-groups:
     1          2         
  Refresh Epoch 1
  111, (Received from a RR-client)
    12.245.0.2 (metric 3) from *12.0.255.3 (12.0.255.3)
      Origin IGP, metric 0, localpref 100, valid, internal, best
      rx pathid: 0, tx pathid: 0x0
AS1_RR1#

AS1_RR1#show ip route 12.245.0.2
Routing entry for 12.245.0.0/30
  Known via "ospf 1", distance 110, metric 3, type intra area
  Last update from 12.0.0.5 on GigabitEthernet0/0, 01:35:21 ago
  Routing Descriptor Blocks:
  * 12.0.0.5, from 12.0.255.3, 01:35:21 ago, via GigabitEthernet0/0
      Route metric is 3, traffic share count is 1
AS1_RR1#

What’s the Big Deal?

From a connectivity and reachability perspective, this design works fine. Routes are valid, destinations are reachable. The issue with this design is that AS1’s links to other autonomous systems are included in the AS1 IGP, OSPF. This leaves AS1 vulnerable to IGP stability issues caused by customer routers and physical link issues on customer premises. Any time a customer router goes down, reboots, or has a link flap, AS1’s OSPF instance will perform a full SPF run.

To demonstrate this, I enabled OSPF SPF debugging on AS1_CORE1 and then disabled the link between AS1_PE1 and AS111_RTR1. All AS1 OSPF interfaces are in area 0, so intra area SPF debugging captures all SPF events. Imagine if the link flapped over and over. This would cause AS1’s OSPF to go into exponential backoff, which could delay convergence around failed links within AS1’s core, impacting many customers.

AS1_CORE1#debug ip ospf spf intra 
OSPF SPF intra debugging is on
AS1_CORE1#
*Dec 14 13:53:54.394: OSPF-1 SPF  : Detect change in LSA type 1, LSID 12.0.255.3 from 12.0.255.3 area 0 
*Dec 14 13:53:59.395: OSPF-1 MON  : Begin SPF at 13798.156ms, process time 9457ms 
*Dec 14 13:53:59.395: OSPF-1 INTRA: Running SPF for area 0, SPF-type Full 
*Dec 14 13:53:59.395: OSPF-1 INTRA: Initializing to run spf 
*Dec 14 13:53:59.398: OSPF-1 INTRA: spf_intra() - rebuilding the tree 
*Dec 14 13:53:59.399: OSPF-1 INTRA:  It is a router LSA 12.0.255.1. Link Count 9 
*Dec 14 13:53:59.399: OSPF-1 INTRA:   Processing link 0, id 12.0.255.1, link data 255.255.255.255, type 3 
*Dec 14 13:53:59.399: OSPF-1 SPF  :    Add better path to LSA ID 12.0.255.1, gateway 12.0.255.1, dist 1
*Dec 14 13:53:59.399: OSPF-1 SPF  :    Add path: next-hop 12.0.255.1, interface Loopback1 
*Dec 14 13:53:59.400: OSPF-1 INTRA:   Processing link 1, id 12.0.0.2, link data 12.0.0.1, type 2 
*Dec 14 13:53:59.400: OSPF-1 SPF  :    Add better path to LSA ID 12.0.0.2, gateway 12.0.0.1, dist 1
*Dec 14 13:53:59.400: OSPF-1 INTRA:    Putting LSA on the clist LSID 12.0.0.2, Type 2, Adv Rtr. 12.0.255.2 
*Dec 14 13:53:59.401: OSPF-1 SPF  :    Add path: next-hop 12.0.0.1, interface GigabitEthernet0/7 
*Dec 14 13:53:59.401: OSPF-1 INTRA:   Processing link 2, id 12.0.0.41, link data 12.0.0.41, type 2 
*Dec 14 13:53:59.401: OSPF-1 SPF  :    Add better path to LSA ID 12.0.0.41, gateway 12.0.0.41, dist 1
*Dec 14 13:53:59.402: OSPF-1 INTRA:    Putting LSA on the clist LSID 12.0.0.41, Type 2, Adv Rtr. 12.0.255.1 
*Dec 14 13:53:59.402: OSPF-1 INTRA:      Upheap LSA ID 12.0.0.41, Type 2, Adv 12.0.255.1 on clist from index 2 to 2 
*Dec 14 13:53:59.403: OSPF-1 SPF  :    Add path: next-hop 12.0.0.41, interface GigabitEthernet0/6 
*Dec 14 13:53:59.403: OSPF-1 INTRA:   Processing link 3, id 12.0.0.49, link data 12.0.0.49, type 2 
*Dec 14 13:53:59.403: OSPF-1 SPF  :    Add better path to LSA ID 12.0.0.49, gateway 12.0.0.49, dist 1
*Dec 14 13:53:59.403: OSPF-1 INTRA:    Putting LSA on the clist LSID 12.0.0.49, Type 2, Adv Rtr. 12.0.255.1 
*Dec 14 13:53:59.404: OSPF-1 INTRA:      Upheap LSA ID 12.0.0.49, Type 2, Adv 12.0.255.1 on clist from index 3 to 3 
*Dec 14 13:53:59.404: OSPF-1 SPF  :    Add path: next-hop 12.0.0.49, interface GigabitEthernet0/5 
*Dec 14 13:53:59.404: OSPF-1 INTRA:   Processing link 4, id 12.0.0.21, link data 12.0.0.21, type 2 
*Dec 14 13:53:59.404: OSPF-1 SPF  :    Add better path to LSA ID 12.0.0.21, gateway 12.0.0.21, dist 1
*Dec 14 13:53:59.405: OSPF-1 INTRA:    Putting LSA on the clist LSID 12.0.0.21, Type 2, Adv Rtr. 12.0.255.1 
*Dec 14 13:53:59.405: OSPF-1 INTRA:      Upheap LSA ID 12.0.0.21, Type 2, Adv 12.0.255.1 on clist from index 4 to 4 
*Dec 14 13:53:59.405: OSPF-1 SPF  :    Add path: next-hop 12.0.0.21, interface GigabitEthernet0/4 
*Dec 14 13:53:59.406: OSPF-1 INTRA:   Processing link 5, id 12.0.0.29, link data 12.0.0.29, type 2 
*Dec 14 13:53:59.406: OSPF-1 SPF  :    Add better path to LSA ID 12.0.0.29, gateway 12.0.0.29, dist 1
*Dec 14 13:53:59.406: OSPF-1 INTRA:    Putting LSA on the clist LSID 12.0.0.29, Type 2, Adv Rtr. 12.0.255.1 
*Dec 14 13:53:59.407: OSPF-1 INTRA:      Upheap LSA ID 12.0.0.29, Type 2, Adv 12.0.255.1 on clist from index 5 to 5 
*Dec 14 13:53:59.407: OSPF-1 SPF  :    Add path: next-hop 12.0.0.29, interface GigabitEthernet0/3 
*Dec 14 13:53:59.407: OSPF-1 INTRA:   Processing link 6, id 12.0.0.34, link data 12.0.0.33, type 2 
*Dec 14 13:53:59.408: OSPF-1 SPF  :    Add better path to LSA ID 12.0.0.34, gateway 12.0.0.33, dist 1
*Dec 14 13:53:59.408: OSPF-1 INTRA:    Putting LSA on the clist LSID 12.0.0.34, Type 2, Adv Rtr. 12.0.255.5 
*Dec 14 13:53:59.408: OSPF-1 INTRA:      Upheap LSA ID 12.0.0.34, Type 2, Adv 12.0.255.5 on clist from index 6 to 6 
*Dec 14 13:53:59.408: OSPF-1 SPF  :    Add path: next-hop 12.0.0.33, interface GigabitEthernet0/2 
*Dec 14 13:53:59.408: OSPF-1 INTRA:   Processing link 7, id 12.0.0.9, link data 12.0.0.9, type 2 
*Dec 14 13:53:59.408: OSPF-1 SPF  :    Add better path to LSA ID 12.0.0.9, gateway 12.0.0.9, dist 1
*Dec 14 13:53:59.409: OSPF-1 INTRA:    Putting LSA on the clist LSID 12.0.0.9, Type 2, Adv Rtr. 12.0.255.1 
*Dec 14 13:53:59.409: OSPF-1 INTRA:      Upheap LSA ID 12.0.0.9, Type 2, Adv 12.0.255.1 on clist from index 7 to 7 
*Dec 14 13:53:59.409: OSPF-1 SPF  :    Add path: next-hop 12.0.0.9, interface GigabitEthernet0/1 
*Dec 14 13:53:59.410: OSPF-1 INTRA:   Processing link 8, id 12.0.0.5, link data 12.0.0.5, type 2 
*Dec 14 13:53:59.410: OSPF-1 SPF  :    Add better path to LSA ID 12.0.0.5, gateway 12.0.0.5, dist 1
*Dec 14 13:53:59.410: OSPF-1 INTRA:    Putting LSA on the clist LSID 12.0.0.5, Type 2, Adv Rtr. 12.0.255.1 
*Dec 14 13:53:59.411: OSPF-1 INTRA:      Upheap LSA ID 12.0.0.5, Type 2, Adv 12.0.255.1 on clist from index 8 to 8 
*Dec 14 13:53:59.411: OSPF-1 SPF  :    Add path: next-hop 12.0.0.5, interface GigabitEthernet0/0 
*Dec 14 13:53:59.411: OSPF-1 INTRA:      Downheap LSA ID 12.0.0.5, Type 2, Adv 12.0.255.1 on clist from index 1 to 4 
*Dec 14 13:53:59.412: OSPF-1 INTRA: Route update succeeded for 12.0.0.0/255.255.255.252, metric 1, Next Hop: GigabitEthernet0/7/12.0.0.1 area 0 
*Dec 14 13:53:59.412: OSPF-1 INTRA:  It is a network LSA 12.0.0.2. Router Count 2 
*Dec 14 13:53:59.412: OSPF-1 INTRA:   Processing router id 12.0.255.2 
*Dec 14 13:53:59.412: OSPF-1 SPF  :    Add better path to LSA ID 12.0.255.2, gateway 12.0.0.2, dist 1
*Dec 14 13:53:59.413: OSPF-1 INTRA:    Putting LSA on the clist LSID 12.0.255.2, Type 1, Adv Rtr. 12.0.255.2 
*Dec 14 13:53:59.413: OSPF-1 INTRA:      Upheap LSA ID 12.0.255.2, Type 1, Adv 12.0.255.2 on clist from index 8 to 8 
*Dec 14 13:53:59.413: OSPF-1 SPF  :    Add path: next-hop 12.0.0.2, interface GigabitEthernet0/7 
*Dec 14 13:53:59.413: OSPF-1 INTRA:   Processing router id 12.0.255.1 
*Dec 14 13:53:59.414: OSPF-1 INTRA:   New newdist 1 olddist 0 
*Dec 14 13:53:59.414: OSPF-1 INTRA:      Downheap LSA ID 12.0.255.2, Type 1, Adv 12.0.255.2 on clist from index 1 to 4 
*Dec 14 13:53:59.414: OSPF-1 INTRA: Route update succeeded for 12.0.0.40/255.255.255.252, metric 1, Next Hop: GigabitEthernet0/6/12.0.0.41 area 0 
*Dec 14 13:53:59.414: OSPF-1 INTRA:  It is a network LSA 12.0.0.41. Router Count 2 
*Dec 14 13:53:59.415: OSPF-1 INTRA:   Processing router id 12.0.255.1 
*Dec 14 13:53:59.415: OSPF-1 INTRA:   New newdist 1 olddist 0 
*Dec 14 13:53:59.415: OSPF-1 INTRA:   Processing router id 12.0.255.6 
*Dec 14 13:53:59.415: OSPF-1 SPF  :    Add better path to LSA ID 12.0.255.6, gateway 12.0.0.42, dist 1
*Dec 14 13:53:59.416: OSPF-1 INTRA:    Putting LSA on the clist LSID 12.0.255.6, Type 1, Adv Rtr. 12.0.255.6 
*Dec 14 13:53:59.416: OSPF-1 INTRA:      Upheap LSA ID 12.0.255.6, Type 1, Adv 12.0.255.6 on clist from index 8 to 4 
*Dec 14 13:53:59.416: OSPF-1 SPF  :    Add path: next-hop 12.0.0.42, interface GigabitEthernet0/6 
*Dec 14 13:53:59.416: OSPF-1 INTRA:      Downheap LSA ID 12.0.255.2, Type 1, Adv 12.0.255.2 on clist from index 1 to 5 
*Dec 14 13:53:59.416: OSPF-1 INTRA: Route update succeeded for 12.0.0.20/255.255.255.252, metric 1, Next Hop: GigabitEthernet0/4/12.0.0.21 area 0 
*Dec 14 13:53:59.416: OSPF-1 INTRA:  It is a network LSA 12.0.0.21. Router Count 2 
*Dec 14 13:53:59.417: OSPF-1 INTRA:   Processing router id 12.0.255.1 
*Dec 14 13:53:59.418: OSPF-1 INTRA:   New newdist 1 olddist 0 
*Dec 14 13:53:59.418: OSPF-1 INTRA:   Processing router id 12.0.255.3 
*Dec 14 13:53:59.418: OSPF-1 SPF  :    Add better path to LSA ID 12.0.255.3, gateway 12.0.0.22, dist 1
*Dec 14 13:53:59.418: OSPF-1 INTRA:    Putting LSA on the clist LSID 12.0.255.3, Type 1, Adv Rtr. 12.0.255.3 
*Dec 14 13:53:59.419: OSPF-1 INTRA:      Upheap LSA ID 12.0.255.3, Type 1, Adv 12.0.255.3 on clist from index 8 to 4 
*Dec 14 13:53:59.419: OSPF-1 SPF  :    Add path: next-hop 12.0.0.22, interface GigabitEthernet0/4 
*Dec 14 13:53:59.419: OSPF-1 INTRA:      Downheap LSA ID 12.0.255.6, Type 1, Adv 12.0.255.6 on clist from index 1 to 2 
*Dec 14 13:53:59.419: OSPF-1 INTRA: Route update succeeded for 12.0.0.4/255.255.255.252, metric 1, Next Hop: GigabitEthernet0/0/12.0.0.5 area 0 
*Dec 14 13:53:59.419: OSPF-1 INTRA:  It is a network LSA 12.0.0.5. Router Count 2 
*Dec 14 13:53:59.419: OSPF-1 INTRA:   Processing router id 12.0.255.1 
*Dec 14 13:53:59.420: OSPF-1 INTRA:   New newdist 1 olddist 0 
*Dec 14 13:53:59.420: OSPF-1 INTRA:   Processing router id 12.0.255.255 
*Dec 14 13:53:59.420: OSPF-1 SPF  :    Add better path to LSA ID 12.0.255.255, gateway 12.0.0.6, dist 1
*Dec 14 13:53:59.421: OSPF-1 INTRA:    Putting LSA on the clist LSID 12.0.255.255, Type 1, Adv Rtr. 12.0.255.255 
*Dec 14 13:53:59.421: OSPF-1 INTRA:      Upheap LSA ID 12.0.255.255, Type 1, Adv 12.0.255.255 on clist from index 8 to 2 
*Dec 14 13:53:59.421: OSPF-1 SPF  :    Add path: next-hop 12.0.0.6, interface GigabitEthernet0/0 
*Dec 14 13:53:59.421: OSPF-1 INTRA:      Downheap LSA ID 12.0.255.3, Type 1, Adv 12.0.255.3 on clist from index 1 to 6 
*Dec 14 13:53:59.422: OSPF-1 INTRA: Route update succeeded for 12.0.0.28/255.255.255.252, metric 1, Next Hop: GigabitEthernet0/3/12.0.0.29 area 0 
*Dec 14 13:53:59.422: OSPF-1 INTRA:  It is a network LSA 12.0.0.29. Router Count 2 
*Dec 14 13:53:59.422: OSPF-1 INTRA:   Processing router id 12.0.255.1 
*Dec 14 13:53:59.423: OSPF-1 INTRA:   New newdist 1 olddist 0 
*Dec 14 13:53:59.423: OSPF-1 INTRA:   Processing router id 12.0.255.4 
*Dec 14 13:53:59.424: OSPF-1 SPF  :    Add better path to LSA ID 12.0.255.4, gateway 12.0.0.30, dist 1
*Dec 14 13:53:59.424: OSPF-1 INTRA:    Putting LSA on the clist LSID 12.0.255.4, Type 1, Adv Rtr. 12.0.255.4 
*Dec 14 13:53:59.424: OSPF-1 INTRA:      Upheap LSA ID 12.0.255.4, Type 1, Adv 12.0.255.4 on clist from index 8 to 2 
*Dec 14 13:53:59.424: OSPF-1 SPF  :    Add path: next-hop 12.0.0.30, interface GigabitEthernet0/3 
*Dec 14 13:53:59.425: OSPF-1 INTRA:      Downheap LSA ID 12.0.255.6, Type 1, Adv 12.0.255.6 on clist from index 1 to 7 
*Dec 14 13:53:59.425: OSPF-1 INTRA: Route update succeeded for 12.0.0.48/255.255.255.252, metric 1, Next Hop: GigabitEthernet0/5/12.0.0.49 area 0 
*Dec 14 13:53:59.425: OSPF-1 INTRA:  It is a network LSA 12.0.0.49. Router Count 2 
*Dec 14 13:53:59.426: OSPF-1 INTRA:   Processing router id 12.0.255.1 
*Dec 14 13:53:59.426: OSPF-1 INTRA:   New newdist 1 olddist 0 
*Dec 14 13:53:59.426: OSPF-1 INTRA:   Processing router id 12.0.255.130 
*Dec 14 13:53:59.426: OSPF-1 SPF  :    Add better path to LSA ID 12.0.255.130, gateway 12.0.0.50, dist 1
*Dec 14 13:53:59.427: OSPF-1 INTRA:    Putting LSA on the clist LSID 12.0.255.130, Type 1, Adv Rtr. 12.0.255.130 
*Dec 14 13:53:59.427: OSPF-1 INTRA:      Upheap LSA ID 12.0.255.130, Type 1, Adv 12.0.255.130 on clist from index 8 to 2 
*Dec 14 13:53:59.427: OSPF-1 SPF  :    Add path: next-hop 12.0.0.50, interface GigabitEthernet0/5 
*Dec 14 13:53:59.427: OSPF-1 INTRA:      Downheap LSA ID 12.0.255.255, Type 1, Adv 12.0.255.255 on clist from index 1 to 3 
*Dec 14 13:53:59.427: OSPF-1 INTRA: Route update succeeded for 12.0.0.32/255.255.255.252, metric 1, Next Hop: GigabitEthernet0/2/12.0.0.33 area 0 
*Dec 14 13:53:59.427: OSPF-1 INTRA:  It is a network LSA 12.0.0.34. Router Count 2 
*Dec 14 13:53:59.428: OSPF-1 INTRA:   Processing router id 12.0.255.5 
*Dec 14 13:53:59.428: OSPF-1 SPF  :    Add better path to LSA ID 12.0.255.5, gateway 12.0.0.34, dist 1
*Dec 14 13:53:59.428: OSPF-1 INTRA:    Putting LSA on the clist LSID 12.0.255.5, Type 1, Adv Rtr. 12.0.255.5 
*Dec 14 13:53:59.428: OSPF-1 INTRA:      Upheap LSA ID 12.0.255.5, Type 1, Adv 12.0.255.5 on clist from index 8 to 2 
*Dec 14 13:53:59.428: OSPF-1 SPF  :    Add path: next-hop 12.0.0.34, interface GigabitEthernet0/2 
*Dec 14 13:53:59.428: OSPF-1 INTRA:   Processing router id 12.0.255.1 
*Dec 14 13:53:59.429: OSPF-1 INTRA:   New newdist 1 olddist 0 
*Dec 14 13:53:59.429: OSPF-1 INTRA:      Downheap LSA ID 12.0.255.4, Type 1, Adv 12.0.255.4 on clist from index 1 to 1 
*Dec 14 13:53:59.429: OSPF-1 INTRA: Route update succeeded for 12.0.0.8/255.255.255.252, metric 1, Next Hop: GigabitEthernet0/1/12.0.0.9 area 0 
*Dec 14 13:53:59.429: OSPF-1 INTRA:  It is a network LSA 12.0.0.9. Router Count 2 
*Dec 14 13:53:59.430: OSPF-1 INTRA:   Processing router id 12.0.255.1 
*Dec 14 13:53:59.431: OSPF-1 INTRA:   New newdist 1 olddist 0 
*Dec 14 13:53:59.432: OSPF-1 INTRA:   Processing router id 12.0.255.254 
*Dec 14 13:53:59.433: OSPF-1 SPF  :    Add better path to LSA ID 12.0.255.254, gateway 12.0.0.10, dist 1
*Dec 14 13:53:59.433: OSPF-1 INTRA:    Putting LSA on the clist LSID 12.0.255.254, Type 1, Adv Rtr. 12.0.255.254 
*Dec 14 13:53:59.433: OSPF-1 INTRA:      Upheap LSA ID 12.0.255.254, Type 1, Adv 12.0.255.254 on clist from index 8 to 1 
*Dec 14 13:53:59.433: OSPF-1 SPF  :    Add path: next-hop 12.0.0.10, interface GigabitEthernet0/1 
*Dec 14 13:53:59.433: OSPF-1 INTRA:      Downheap LSA ID 12.0.255.130, Type 1, Adv 12.0.255.130 on clist from index 1 to 1 
*Dec 14 13:53:59.434: OSPF-1 INTRA:  It is a router LSA 12.0.255.254. Link Count 3 
*Dec 14 13:53:59.434: OSPF-1 INTRA:   Processing link 0, id 12.0.255.254, link data 255.255.255.255, type 3 
*Dec 14 13:53:59.434: OSPF-1 SPF  :    Add better path to LSA ID 12.0.255.254, gateway 12.0.255.254, dist 2
*Dec 14 13:53:59.435: OSPF-1 SPF  :    Add path: next-hop 12.0.0.10, interface GigabitEthernet0/1 
*Dec 14 13:53:59.435: OSPF-1 INTRA:   Processing link 1, id 12.0.0.17, link data 12.0.0.18, type 2 
*Dec 14 13:53:59.435: OSPF-1 SPF  :    Add better path to LSA ID 12.0.0.17, gateway 12.0.0.18, dist 2
*Dec 14 13:53:59.435: OSPF-1 INTRA:    Putting LSA on the clist LSID 12.0.0.17, Type 2, Adv Rtr. 12.0.255.2 
*Dec 14 13:53:59.435: OSPF-1 INTRA:      Upheap LSA ID 12.0.0.17, Type 2, Adv 12.0.255.2 on clist from index 8 to 8 
*Dec 14 13:53:59.435: OSPF-1 SPF  :    Add path: next-hop 12.0.0.10, interface GigabitEthernet0/1 
*Dec 14 13:53:59.436: OSPF-1 INTRA:   Processing link 2, id 12.0.0.9, link data 12.0.0.10, type 2 
*Dec 14 13:53:59.436: OSPF-1 INTRA:   Ignore newdist 2 olddist 1 
*Dec 14 13:53:59.436: OSPF-1 INTRA:      Downheap LSA ID 12.0.0.17, Type 2, Adv 12.0.255.2 on clist from index 1 to 7 
*Dec 14 13:53:59.436: OSPF-1 INTRA:  It is a router LSA 12.0.255.130. Link Count 4 
*Dec 14 13:53:59.437: OSPF-1 INTRA:   Processing link 0, id 12.0.255.130, link data 255.255.255.255, type 3 
*Dec 14 13:53:59.437: OSPF-1 SPF  :    Add better path to LSA ID 12.0.255.130, gateway 12.0.255.130, dist 2
*Dec 14 13:53:59.437: OSPF-1 SPF  :    Add path: next-hop 12.0.0.50, interface GigabitEthernet0/5 
*Dec 14 13:53:59.437: OSPF-1 INTRA:   Processing link 1, id 12.0.0.49, link data 12.0.0.50, type 2 
*Dec 14 13:53:59.438: OSPF-1 INTRA:   Ignore newdist 2 olddist 1 
*Dec 14 13:53:59.438: OSPF-1 INTRA:   Processing link 2, id 12.0.0.54, link data 12.0.0.54, type 2 
*Dec 14 13:53:59.438: OSPF-1 SPF  :    Add better path to LSA ID 12.0.0.54, gateway 12.0.0.54, dist 2
*Dec 14 13:53:59.438: OSPF-1 INTRA:    Putting LSA on the clist LSID 12.0.0.54, Type 2, Adv Rtr. 12.0.255.130 
*Dec 14 13:53:59.438: OSPF-1 INTRA:      Upheap LSA ID 12.0.0.54, Type 2, Adv 12.0.255.130 on clist from index 8 to 8 
*Dec 14 13:53:59.438: OSPF-1 SPF  :    Add path: next-hop 12.0.0.50, interface GigabitEthernet0/5 
*Dec 14 13:53:59.439: OSPF-1 INTRA:   Processing link 3, id 12.0.0.62, link data 12.0.0.61, type 2 
*Dec 14 13:53:59.439: OSPF-1 SPF  :    Add better path to LSA ID 12.0.0.62, gateway 12.0.0.61, dist 2
*Dec 14 13:53:59.439: OSPF-1 INTRA:    Putting LSA on the clist LSID 12.0.0.62, Type 2, Adv Rtr. 12.0.255.131 
*Dec 14 13:53:59.440: OSPF-1 INTRA:      Upheap LSA ID 12.0.0.62, Type 2, Adv 12.0.255.131 on clist from index 9 to 9 
*Dec 14 13:53:59.440: OSPF-1 SPF  :    Add path: next-hop 12.0.0.50, interface GigabitEthernet0/5 
*Dec 14 13:53:59.440: OSPF-1 INTRA:      Downheap LSA ID 12.0.0.62, Type 2, Adv 12.0.255.131 on clist from index 1 to 6 
*Dec 14 13:53:59.440: OSPF-1 INTRA:  It is a router LSA 12.0.255.255. Link Count 3 
*Dec 14 13:53:59.441: OSPF-1 INTRA:   Processing link 0, id 12.0.255.255, link data 255.255.255.255, type 3 
*Dec 14 13:53:59.441: OSPF-1 SPF  :    Add better path to LSA ID 12.0.255.255, gateway 12.0.255.255, dist 2
*Dec 14 13:53:59.441: OSPF-1 SPF  :    Add path: next-hop 12.0.0.6, interface GigabitEthernet0/0 
*Dec 14 13:53:59.443: OSPF-1 INTRA:   Processing link 1, id 12.0.0.13, link data 12.0.0.14, type 2 
*Dec 14 13:53:59.443: OSPF-1 SPF  :    Add better path to LSA ID 12.0.0.13, gateway 12.0.0.14, dist 2
*Dec 14 13:53:59.443: OSPF-1 INTRA:    Putting LSA on the clist LSID 12.0.0.13, Type 2, Adv Rtr. 12.0.255.2 
*Dec 14 13:53:59.444: OSPF-1 INTRA:      Upheap LSA ID 12.0.0.13, Type 2, Adv 12.0.255.2 on clist from index 9 to 9 
*Dec 14 13:53:59.444: OSPF-1 SPF  :    Add path: next-hop 12.0.0.6, interface GigabitEthernet0/0 
*Dec 14 13:53:59.444: OSPF-1 INTRA:   Processing link 2, id 12.0.0.5, link data 12.0.0.6, type 2 
*Dec 14 13:53:59.444: OSPF-1 INTRA:   Ignore newdist 2 olddist 1 
*Dec 14 13:53:59.444: OSPF-1 INTRA:      Downheap LSA ID 12.0.0.13, Type 2, Adv 12.0.255.2 on clist from index 1 to 6 
*Dec 14 13:53:59.445: OSPF-1 INTRA:  It is a router LSA 12.0.255.6. Link Count 2 
*Dec 14 13:53:59.445: OSPF-1 INTRA:   Processing link 0, id 12.0.255.6, link data 255.255.255.255, type 3 
*Dec 14 13:53:59.445: OSPF-1 SPF  :    Add better path to LSA ID 12.0.255.6, gateway 12.0.255.6, dist 2
*Dec 14 13:53:59.445: OSPF-1 SPF  :    Add path: next-hop 12.0.0.42, interface GigabitEthernet0/6 
*Dec 14 13:53:59.445: OSPF-1 INTRA:   Processing link 1, id 12.0.0.41, link data 12.0.0.42, type 2 
*Dec 14 13:53:59.445: OSPF-1 INTRA:   Ignore newdist 2 olddist 1 
*Dec 14 13:53:59.445: OSPF-1 INTRA:      Downheap LSA ID 12.0.0.54, Type 2, Adv 12.0.255.130 on clist from index 1 to 5 
*Dec 14 13:53:59.445: OSPF-1 INTRA:  It is a router LSA 12.0.255.3. Link Count 3 
*Dec 14 13:53:59.445: OSPF-1 INTRA:   Processing link 0, id 12.0.255.3, link data 255.255.255.255, type 3 
*Dec 14 13:53:59.445: OSPF-1 SPF  :    Add better path to LSA ID 12.0.255.3, gateway 12.0.255.3, dist 2
*Dec 14 13:53:59.445: OSPF-1 SPF  :    Add path: next-hop 12.0.0.22, interface GigabitEthernet0/4 
*Dec 14 13:53:59.445: OSPF-1 INTRA:   Processing link 1, id 12.0.0.24, link data 255.255.255.252, type 3 
*Dec 14 13:53:59.446: OSPF-1 SPF  :    Add better path to LSA ID 12.0.0.27, gateway 12.0.0.24, dist 2
*Dec 14 13:53:59.446: OSPF-1 SPF  :    Add path: next-hop 12.0.0.22, interface GigabitEthernet0/4 
*Dec 14 13:53:59.446: OSPF-1 INTRA:   Processing link 2, id 12.0.0.21, link data 12.0.0.22, type 2 
*Dec 14 13:53:59.446: OSPF-1 INTRA:   Ignore newdist 2 olddist 1 
*Dec 14 13:53:59.446: OSPF-1 INTRA:      Downheap LSA ID 12.0.0.17, Type 2, Adv 12.0.255.2 on clist from index 1 to 4 
*Dec 14 13:53:59.446: OSPF-1 INTRA:  It is a router LSA 12.0.255.4. Link Count 3 
*Dec 14 13:53:59.446: OSPF-1 INTRA:   Processing link 0, id 12.0.255.4, link data 255.255.255.255, type 3 
*Dec 14 13:53:59.446: OSPF-1 SPF  :    Add better path to LSA ID 12.0.255.4, gateway 12.0.255.4, dist 2
*Dec 14 13:53:59.447: OSPF-1 SPF  :    Add path: next-hop 12.0.0.30, interface GigabitEthernet0/3 
*Dec 14 13:53:59.447: OSPF-1 INTRA:   Processing link 1, id 12.0.0.29, link data 12.0.0.30, type 2 
*Dec 14 13:53:59.447: OSPF-1 INTRA:   Ignore newdist 2 olddist 1 
*Dec 14 13:53:59.447: OSPF-1 INTRA:   Processing link 2, id 12.245.0.4, link data 255.255.255.252, type 3 
*Dec 14 13:53:59.448: OSPF-1 SPF  :    Add better path to LSA ID 12.245.0.7, gateway 12.245.0.4, dist 2
*Dec 14 13:53:59.448: OSPF-1 SPF  :    Add path: next-hop 12.0.0.30, interface GigabitEthernet0/3 
*Dec 14 13:53:59.448: OSPF-1 INTRA:      Downheap LSA ID 12.0.0.13, Type 2, Adv 12.0.255.2 on clist from index 1 to 4 
*Dec 14 13:53:59.448: OSPF-1 INTRA:  It is a router LSA 12.0.255.2. Link Count 6 
*Dec 14 13:53:59.448: OSPF-1 INTRA:   Processing link 0, id 12.0.255.2, link data 255.255.255.255, type 3 
*Dec 14 13:53:59.448: OSPF-1 SPF  :    Add better path to LSA ID 12.0.255.2, gateway 12.0.255.2, dist 2
*Dec 14 13:53:59.448: OSPF-1 SPF  :    Add path: next-hop 12.0.0.2, interface GigabitEthernet0/7 
*Dec 14 13:53:59.448: OSPF-1 INTRA:   Processing link 1, id 12.0.0.2, link data 12.0.0.2, type 2 
*Dec 14 13:53:59.448: OSPF-1 INTRA:   Ignore newdist 2 olddist 1 
*Dec 14 13:53:59.448: OSPF-1 INTRA:   Processing link 2, id 12.0.0.45, link data 12.0.0.45, type 2 
*Dec 14 13:53:59.448: OSPF-1 SPF  :    Add better path to LSA ID 12.0.0.45, gateway 12.0.0.45, dist 2
*Dec 14 13:53:59.449: OSPF-1 INTRA:    Putting LSA on the clist LSID 12.0.0.45, Type 2, Adv Rtr. 12.0.255.2 
*Dec 14 13:53:59.449: OSPF-1 INTRA:      Upheap LSA ID 12.0.0.45, Type 2, Adv 12.0.255.2 on clist from index 6 to 6 
*Dec 14 13:53:59.449: OSPF-1 SPF  :    Add path: next-hop 12.0.0.2, interface GigabitEthernet0/7 
*Dec 14 13:53:59.449: OSPF-1 INTRA:   Processing link 3, id 12.0.0.38, link data 12.0.0.37, type 2 
*Dec 14 13:53:59.449: OSPF-1 SPF  :    Add better path to LSA ID 12.0.0.38, gateway 12.0.0.37, dist 2
*Dec 14 13:53:59.449: OSPF-1 INTRA:    Putting LSA on the clist LSID 12.0.0.38, Type 2, Adv Rtr. 12.0.255.5 
*Dec 14 13:53:59.449: OSPF-1 INTRA:      Upheap LSA ID 12.0.0.38, Type 2, Adv 12.0.255.5 on clist from index 7 to 7 
*Dec 14 13:53:59.449: OSPF-1 SPF  :    Add path: next-hop 12.0.0.2, interface GigabitEthernet0/7 
*Dec 14 13:53:59.449: OSPF-1 INTRA:   Processing link 4, id 12.0.0.17, link data 12.0.0.17, type 2 
*Dec 14 13:53:59.449: OSPF-1 INTRA:   Add equal-length path to 12.0.0.17, dist 2 
*Dec 14 13:53:59.450: OSPF-1 INTRA:    LSA already on the clist LSID 12.0.0.17, Type 2, Adv Rtr. 12.0.255.2 
*Dec 14 13:53:59.450: OSPF-1 SPF  :    Add path: next-hop 12.0.0.2, interface GigabitEthernet0/7 
*Dec 14 13:53:59.450: OSPF-1 INTRA:   Processing link 5, id 12.0.0.13, link data 12.0.0.13, type 2 
*Dec 14 13:53:59.450: OSPF-1 INTRA:   Add equal-length path to 12.0.0.13, dist 2 
*Dec 14 13:53:59.450: OSPF-1 INTRA:    LSA already on the clist LSID 12.0.0.13, Type 2, Adv Rtr. 12.0.255.2 
*Dec 14 13:53:59.451: OSPF-1 SPF  :    Add path: next-hop 12.0.0.2, interface GigabitEthernet0/7 
*Dec 14 13:53:59.451: OSPF-1 INTRA:      Downheap LSA ID 12.0.0.38, Type 2, Adv 12.0.255.5 on clist from index 1 to 4 
*Dec 14 13:53:59.451: OSPF-1 INTRA:  It is a router LSA 12.0.255.5. Link Count 4 
*Dec 14 13:53:59.452: OSPF-1 INTRA:   Processing link 0, id 12.0.255.5, link data 255.255.255.255, type 3 
*Dec 14 13:53:59.452: OSPF-1 SPF  :    Add better path to LSA ID 12.0.255.5, gateway 12.0.255.5, dist 2
*Dec 14 13:53:59.452: OSPF-1 SPF  :    Add path: next-hop 12.0.0.34, interface GigabitEthernet0/2 
*Dec 14 13:53:59.452: OSPF-1 INTRA:   Processing link 1, id 12.0.0.38, link data 12.0.0.38, type 2 
*Dec 14 13:53:59.452: OSPF-1 INTRA:   Add equal-length path to 12.0.0.38, dist 2 
*Dec 14 13:53:59.452: OSPF-1 INTRA:    LSA already on the clist LSID 12.0.0.38, Type 2, Adv Rtr. 12.0.255.5 
*Dec 14 13:53:59.452: OSPF-1 SPF  :    Add path: next-hop 12.0.0.34, interface GigabitEthernet0/2 
*Dec 14 13:53:59.452: OSPF-1 INTRA:   Processing link 2, id 12.0.0.34, link data 12.0.0.34, type 2 
*Dec 14 13:53:59.452: OSPF-1 INTRA:   Ignore newdist 2 olddist 1 
*Dec 14 13:53:59.452: OSPF-1 INTRA:   Processing link 3, id 12.245.0.12, link data 255.255.255.252, type 3 
*Dec 14 13:53:59.453: OSPF-1 SPF  :    Add better path to LSA ID 12.245.0.15, gateway 12.245.0.12, dist 2
*Dec 14 13:53:59.453: OSPF-1 SPF  :    Add path: next-hop 12.0.0.34, interface GigabitEthernet0/2 
*Dec 14 13:53:59.453: OSPF-1 INTRA:      Downheap LSA ID 12.0.0.45, Type 2, Adv 12.0.255.2 on clist from index 1 to 4 
*Dec 14 13:53:59.453: OSPF-1 INTRA: Route update succeeded for 12.0.0.16/255.255.255.252, metric 2, Next Hop: GigabitEthernet0/7/12.0.0.2 area 0 
*Dec 14 13:53:59.453: OSPF-1 INTRA: Route update succeeded for 12.0.0.16/255.255.255.252, metric 2, Next Hop: GigabitEthernet0/1/12.0.0.10 area 0 
*Dec 14 13:53:59.453: OSPF-1 INTRA:  It is a network LSA 12.0.0.17. Router Count 2 
*Dec 14 13:53:59.454: OSPF-1 INTRA:   Processing router id 12.0.255.2 
*Dec 14 13:53:59.454: OSPF-1 INTRA:   New newdist 2 olddist 1 
*Dec 14 13:53:59.455: OSPF-1 INTRA:   Processing router id 12.0.255.254 
*Dec 14 13:53:59.455: OSPF-1 INTRA:   New newdist 2 olddist 1 
*Dec 14 13:53:59.455: OSPF-1 INTRA:      Downheap LSA ID 12.0.0.54, Type 2, Adv 12.0.255.130 on clist from index 1 to 4 
*Dec 14 13:53:59.455: OSPF-1 INTRA: Route update succeeded for 12.0.0.12/255.255.255.252, metric 2, Next Hop: GigabitEthernet0/7/12.0.0.2 area 0 
*Dec 14 13:53:59.456: OSPF-1 INTRA: Route update succeeded for 12.0.0.12/255.255.255.252, metric 2, Next Hop: GigabitEthernet0/0/12.0.0.6 area 0 
*Dec 14 13:53:59.456: OSPF-1 INTRA:  It is a network LSA 12.0.0.13. Router Count 2 
*Dec 14 13:53:59.456: OSPF-1 INTRA:   Processing router id 12.0.255.2 
*Dec 14 13:53:59.456: OSPF-1 INTRA:   New newdist 2 olddist 1 
*Dec 14 13:53:59.456: OSPF-1 INTRA:   Processing router id 12.0.255.255 
*Dec 14 13:53:59.457: OSPF-1 INTRA:   New newdist 2 olddist 1 
*Dec 14 13:53:59.457: OSPF-1 INTRA:      Downheap LSA ID 12.0.0.54, Type 2, Adv 12.0.255.130 on clist from index 1 to 2 
*Dec 14 13:53:59.457: OSPF-1 INTRA: Route update succeeded for 12.0.0.36/255.255.255.252, metric 2, Next Hop: GigabitEthernet0/2/12.0.0.34 area 0 
*Dec 14 13:53:59.457: OSPF-1 INTRA: Route update succeeded for 12.0.0.36/255.255.255.252, metric 2, Next Hop: GigabitEthernet0/7/12.0.0.2 area 0 
*Dec 14 13:53:59.457: OSPF-1 INTRA:  It is a network LSA 12.0.0.38. Router Count 2 
*Dec 14 13:53:59.458: OSPF-1 INTRA:   Processing router id 12.0.255.5 
*Dec 14 13:53:59.458: OSPF-1 INTRA:   New newdist 2 olddist 1 
*Dec 14 13:53:59.458: OSPF-1 INTRA:   Processing router id 12.0.255.2 
*Dec 14 13:53:59.458: OSPF-1 INTRA:   New newdist 2 olddist 1 
*Dec 14 13:53:59.458: OSPF-1 INTRA:      Downheap LSA ID 12.0.0.62, Type 2, Adv 12.0.255.131 on clist from index 1 to 2 
*Dec 14 13:53:59.459: OSPF-1 INTRA: Route update succeeded for 12.0.0.44/255.255.255.252, metric 2, Next Hop: GigabitEthernet0/7/12.0.0.2 area 0 
*Dec 14 13:53:59.459: OSPF-1 INTRA:  It is a network LSA 12.0.0.45. Router Count 2 
*Dec 14 13:53:59.459: OSPF-1 INTRA:   Processing router id 12.0.255.2 
*Dec 14 13:53:59.459: OSPF-1 INTRA:   New newdist 2 olddist 1 
*Dec 14 13:53:59.459: OSPF-1 INTRA:   Processing router id 12.0.255.129 
*Dec 14 13:53:59.460: OSPF-1 SPF  :    Add better path to LSA ID 12.0.255.129, gateway 12.0.0.46, dist 2
*Dec 14 13:53:59.460: OSPF-1 INTRA:    Putting LSA on the clist LSID 12.0.255.129, Type 1, Adv Rtr. 12.0.255.129 
*Dec 14 13:53:59.460: OSPF-1 INTRA:      Upheap LSA ID 12.0.255.129, Type 1, Adv 12.0.255.129 on clist from index 3 to 3 
*Dec 14 13:53:59.460: OSPF-1 SPF  :    Add path: next-hop 12.0.0.2, interface GigabitEthernet0/7 
*Dec 14 13:53:59.461: OSPF-1 INTRA:      Downheap LSA ID 12.0.255.129, Type 1, Adv 12.0.255.129 on clist from index 1 to 2 
*Dec 14 13:53:59.461: OSPF-1 INTRA: Route update succeeded for 12.0.0.52/255.255.255.252, metric 2, Next Hop: GigabitEthernet0/5/12.0.0.50 area 0 
*Dec 14 13:53:59.461: OSPF-1 INTRA:  It is a network LSA 12.0.0.54. Router Count 2 
*Dec 14 13:53:59.461: OSPF-1 INTRA:   Processing router id 12.0.255.130 
*Dec 14 13:53:59.461: OSPF-1 INTRA:   New newdist 2 olddist 1 
*Dec 14 13:53:59.462: OSPF-1 INTRA:   Processing router id 12.0.255.129 
*Dec 14 13:53:59.462: OSPF-1 INTRA:    LSA already on the clist LSID 12.0.255.129, Type 1, Adv Rtr. 12.0.255.129 
*Dec 14 13:53:59.462: OSPF-1 SPF  :    Add path: next-hop 12.0.0.50, interface GigabitEthernet0/5 
*Dec 14 13:53:59.462: OSPF-1 INTRA:      Downheap LSA ID 12.0.255.129, Type 1, Adv 12.0.255.129 on clist from index 1 to 1 
*Dec 14 13:53:59.463: OSPF-1 INTRA: Route update succeeded for 12.0.0.60/255.255.255.252, metric 2, Next Hop: GigabitEthernet0/5/12.0.0.50 area 0 
*Dec 14 13:53:59.463: OSPF-1 INTRA:  It is a network LSA 12.0.0.62. Router Count 2 
*Dec 14 13:53:59.463: OSPF-1 INTRA:   Processing router id 12.0.255.131 
*Dec 14 13:53:59.463: OSPF-1 SPF  :    Add better path to LSA ID 12.0.255.131, gateway 12.0.0.62, dist 2
*Dec 14 13:53:59.463: OSPF-1 INTRA:    Putting LSA on the clist LSID 12.0.255.131, Type 1, Adv Rtr. 12.0.255.131 
*Dec 14 13:53:59.463: OSPF-1 INTRA:      Upheap LSA ID 12.0.255.131, Type 1, Adv 12.0.255.131 on clist from index 2 to 1 
*Dec 14 13:53:59.463: OSPF-1 SPF  :    Add path: next-hop 12.0.0.50, interface GigabitEthernet0/5 
*Dec 14 13:53:59.464: OSPF-1 INTRA:   Processing router id 12.0.255.130 
*Dec 14 13:53:59.464: OSPF-1 INTRA:   New newdist 2 olddist 1 
*Dec 14 13:53:59.464: OSPF-1 INTRA:      Downheap LSA ID 12.0.255.129, Type 1, Adv 12.0.255.129 on clist from index 1 to 1 
*Dec 14 13:53:59.464: OSPF-1 INTRA:  It is a router LSA 12.0.255.131. Link Count 4 
*Dec 14 13:53:59.464: OSPF-1 INTRA:   Processing link 0, id 12.0.255.131, link data 255.255.255.255, type 3 
*Dec 14 13:53:59.465: OSPF-1 SPF  :    Add better path to LSA ID 12.0.255.131, gateway 12.0.255.131, dist 3
*Dec 14 13:53:59.465: OSPF-1 SPF  :    Add path: next-hop 12.0.0.50, interface GigabitEthernet0/5 
*Dec 14 13:53:59.466: OSPF-1 INTRA:   Processing link 1, id 12.245.0.8, link data 255.255.255.252, type 3 
*Dec 14 13:53:59.466: OSPF-1 SPF  :    Add better path to LSA ID 12.245.0.11, gateway 12.245.0.8, dist 3
*Dec 14 13:53:59.466: OSPF-1 SPF  :    Add path: next-hop 12.0.0.50, interface GigabitEthernet0/5 
*Dec 14 13:53:59.466: OSPF-1 INTRA:   Processing link 2, id 12.0.0.58, link data 12.0.0.58, type 2 
*Dec 14 13:53:59.467: OSPF-1 SPF  :    Add better path to LSA ID 12.0.0.58, gateway 12.0.0.58, dist 3
*Dec 14 13:53:59.467: OSPF-1 INTRA:    Putting LSA on the clist LSID 12.0.0.58, Type 2, Adv Rtr. 12.0.255.131 
*Dec 14 13:53:59.467: OSPF-1 INTRA:      Upheap LSA ID 12.0.0.58, Type 2, Adv 12.0.255.131 on clist from index 2 to 2 
*Dec 14 13:53:59.467: OSPF-1 SPF  :    Add path: next-hop 12.0.0.50, interface GigabitEthernet0/5 
*Dec 14 13:53:59.467: OSPF-1 INTRA:   Processing link 3, id 12.0.0.62, link data 12.0.0.62, type 2 
*Dec 14 13:53:59.467: OSPF-1 INTRA:   Ignore newdist 3 olddist 2 
*Dec 14 13:53:59.468: OSPF-1 INTRA:      Downheap LSA ID 12.0.0.58, Type 2, Adv 12.0.255.131 on clist from index 1 to 1 
*Dec 14 13:53:59.468: OSPF-1 INTRA:  It is a router LSA 12.0.255.129. Link Count 4 
*Dec 14 13:53:59.468: OSPF-1 INTRA:   Processing link 0, id 12.0.255.129, link data 255.255.255.255, type 3 
*Dec 14 13:53:59.468: OSPF-1 SPF  :    Add better path to LSA ID 12.0.255.129, gateway 12.0.255.129, dist 3
*Dec 14 13:53:59.468: OSPF-1 SPF  :    Add path: next-hop 12.0.0.50, interface GigabitEthernet0/5 
*Dec 14 13:53:59.468: OSPF-1 SPF  :    Add path: next-hop 12.0.0.2, interface GigabitEthernet0/7 
*Dec 14 13:53:59.468: OSPF-1 INTRA:   Processing link 1, id 12.0.0.45, link data 12.0.0.46, type 2 
*Dec 14 13:53:59.469: OSPF-1 INTRA:   Ignore newdist 3 olddist 2 
*Dec 14 13:53:59.469: OSPF-1 INTRA:   Processing link 2, id 12.0.0.54, link data 12.0.0.53, type 2 
*Dec 14 13:53:59.469: OSPF-1 INTRA:   Ignore newdist 3 olddist 2 
*Dec 14 13:53:59.469: OSPF-1 INTRA:   Processing link 3, id 12.0.0.58, link data 12.0.0.57, type 2 
*Dec 14 13:53:59.469: OSPF-1 INTRA:   Add equal-length path to 12.0.0.58, dist 3 
*Dec 14 13:53:59.470: OSPF-1 INTRA:    LSA already on the clist LSID 12.0.0.58, Type 2, Adv Rtr. 12.0.255.131 
*Dec 14 13:53:59.470: OSPF-1 SPF  : Exist path: next-hop 12.0.0.50, interface GigabitEthernet0/5 
*Dec 14 13:53:59.470: OSPF-1 SPF  :    Add path: next-hop 12.0.0.2, interface GigabitEthernet0/7 
*Dec 14 13:53:59.470: OSPF-1 INTRA:      Downheap LSA ID 12.0.0.58, Type 2, Adv 12.0.255.131 on clist from index 1 to 1 
*Dec 14 13:53:59.475: OSPF-1 INTRA: Entered intra-area route sync for area 0 
*Dec 14 13:53:59.477: OSPF-1 MON  : End SPF at 13798.238ms, Total elapsed time 82ms 

Solution?

The preferred design that solves this problem is to set next-hop-self on the PE router’s iBGP sessions and remove the PE-CE link from IGP. In this example, AS1_PE1 will advertise 79.79.0.0/16 to the route reflectors with next hop 12.0.255.3, AS1_PE1’s loopback address. After next-hop-self is enabled to the RRs, we can remove the PE-CE link from OSPF so that customer link events will not trigger SPF runs within AS1.

AS1_PE1 BGP and OSPF configuration before making changes:

AS1_PE1#show run | sec bgp
router bgp 1
 bgp log-neighbor-changes
 neighbor 12.0.255.254 remote-as 1
 neighbor 12.0.255.254 update-source Loopback1
 neighbor 12.0.255.255 remote-as 1
 neighbor 12.0.255.255 update-source Loopback1
 neighbor 12.245.0.2 remote-as 111
 neighbor 12.245.0.2 soft-reconfiguration inbound
 neighbor 12.245.0.2 route-map AS111_IN_RM in


AS1_PE1#show run | sec ospf
router ospf 1
 passive-interface GigabitEthernet0/0
 network 12.0.0.0 0.255.255.255 area 0

Changes applied:

AS1_PE1#configure terminal
Enter configuration commands, one per line. End with CNTL/Z.
AS1_PE1(config)#router bgp 1
AS1_PE1(config-router)#neighbor 12.0.255.254 next-hop-self
AS1_PE1(config-router)#neighbor 12.0.255.255 next-hop-self

AS1_PE1(config-router)#router ospf 1
AS1_PE1(config-router)#network 12.0.0.20 0.0.0.3 area 0
AS1_PE1(config-router)#network 12.0.0.24 0.0.0.3 area 0
AS1_PE1(config-router)#network 12.0.255.3 0.0.0.0 area 0
AS1_PE1(config-router)#no network 12.0.0.0 0.255.255.255 area 0

OSPF interface confirmation after changes:

AS1_PE1(config-router)#do show ip ospf interface brief
Interface    PID   Area            IP Address/Mask    Cost  State Nbrs F/C
Lo1          1     0               12.0.255.3/32      1     LOOP  0/0
Gi0/2        1     0               12.0.0.26/30       1     DR    0/0
Gi0/1        1     0               12.0.0.22/30       1     BDR   1/1

With the changes in place, we can jump back to AS1_RR1 to confirm. The route reflectors are now learning AS111’s prefix with the next hop pointing to AS1_PE1’s loopback address.

AS1_RR1#show bgp ipv4 unicast 79.79.0.0
BGP routing table entry for 79.79.0.0/16, version 46
Paths: (1 available, best #1, table default)
Flag: 0x100
  Advertised to update-groups:
     1          2         
  Refresh Epoch 2
  111, (Received from a RR-client)
    12.0.255.3 (metric 3) from *12.0.255.3 (12.0.255.3)
      Origin IGP, metric 0, localpref 100, valid, internal, best
      rx pathid: 0, tx pathid: 0x0
	  

The RR and all other AS1 routers no longer have a route to 12.0.245.0/30, they’re only able to resolve the route via a BGP summary I injected on the AS1 core so that inter-AS traceroutes work.

AS1_RR1#show ip route 12.245.0.2
Routing entry for 12.0.0.0/8
Known via “bgp 1”, distance 200, metric 0, type internal
Last update from 12.0.255.1 03:53:06 ago
Routing Descriptor Blocks:

  • 12.0.255.1, from 12.0.255.1, 03:53:06 ago
    Route metric is 0, traffic share count is 1
    AS Hops 0
    MPLS label: none

To prove that using next-hop-self resolves the IGP stability concern, I enabled OSPF SPF debugging and BGP inbound update debugging on AS1_CORE1. I then disabled the AS1_PE1 to AS111_RTR1 link once more. The debug output confirms that BGP re converged for 79.79.0.0/16 with no SPF run for AS1’s IGP.

AS1_CORE1#show debug
IP routing:
  BGP updates debugging is on (inbound) for address family: IPv4 Unicast 
OSPF:
  OSPF SPF intra debugging is on

AS1_CORE1#
*Dec 14 14:18:19.013: BGP(0): 12.0.255.254 rcv UPDATE about 79.79.0.0/16 -- withdrawn
*Dec 14 14:18:19.013: BGP(0): 12.0.255.255 rcv UPDATE about 79.79.0.0/16 -- withdrawn
*Dec 14 14:18:19.013: BGP(0): no valid path for 79.79.0.0/16
*Dec 14 14:18:19.013: BGP: topo global:IPv4 Unicast:base Remove_fwdroute for 79.79.0.0/16
*Dec 14 14:18:19.055: BGP(0): 12.0.255.254 rcvd UPDATE w/ attr: nexthop 12.245.0.10, origin i, localpref 100, metric 0, originator 12.0.255.131, clusterlist 12.0.0.0, merged path 5 111, AS_PATH 
*Dec 14 14:18:19.057: BGP(0): 12.0.255.254 rcvd 79.79.0.0/16
*Dec 14 14:18:19.058: BGP(0): 12.0.255.255 rcvd UPDATE w/ attr: nexthop 12.245.0.10, origin i, localpref 100, metric 0, originator 12.0.255.131, clusterlist 12.0.0.0, merged path 5 111, AS_PATH 
*Dec 14 14:18:19.060: BGP(0): 12.0.255.255 rcvd 79.79.0.0/16
*Dec 14 14:18:19.060: BGP(0): Revise route installing 1 of 1 routes for 79.79.0.0/16 -> 12.245.0.10(global) to main IP table
AS1_CORE1#

Leave Comment

Your email address will not be published. Required fields are marked *

Time limit exceeded. Please complete the captcha once again.