OSPF virtual links are relatively simple to configure and you normally do not run into too many problem getting them up and working but an odd issue you could run into is when trying to run the virtual link over an interface who’s OSPF cost is maximized (65535 or 0xffff).  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.  For those of you who have not read RFC 2328 I will quote part of section 15 for you below ;)

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).

Now you may say why would you ever set the cost to 65535 to begin with?  You may not directly set the cost but you may be asked to use the auto-cost reference-bandwidth command for a task and indirectly set the cost of a transit interface for a virtual-link you created earlier to 65535.  So by solving the auto-cost reference-bandwidth task you broke the virtual-link you created earlier and in turn broke a big portion of your OSPF domain.  In fact now that I think about this issue I am going to write it into version 5 of the R&S material ;)

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.

7 Responses to “OSPF Virtual Links and Max Cost”

  1. Atif says:

    Thanks! i have faced this problem! i was doing a lab and wanted to create a virtual-link but it was not coming up and i totaly screwed and i end up making a tunnel! After reading ur article , now i realize i configured the aut-cost reference-bandwidth previously. But in my case i don’t have any interface with maximum cost, because i can ping the loopback interfaces of both routers from both routers and both routers only had one path to reach each other! Please clarify if i misunderstood ur article ! Thanks again for this information! Atleast , now i know that there was some technical mistake done by me at that time which is kind-a-relief!

    Best regards!

  2. Sesano says:


    The section of RFC 2328 you quoted above says virtual link will be inoperational IF underlying path has cost GREATER THANN hexadecimal 0xffff .

    So my question is then is that if cost is set to 0xffff, then at that value, virtual link should still work !

    Or am I missing something here ?

    Thanks for the post

  3. Mahmoud says:

    Thanks man!! I was already stuck in this issue in Lab 1 in Vol II. Google gifted me this link as 1st returned result.

    Can’t wait for rest of labs in v5.

  4. manu says:

    I came across this on one of the mock labs. I decided to go with a GRE tunnel instead of a virtual link. It seemed to do the trick … we’ll see what the proctor thought ;-)

  5. Sagar says:

    Gosh , I wasted more than 1 hour trying to find out what was the problem..I had increased the cost earlier and was finding virtual link not working..Nw its done :)

  6. esoiba says:

    This one took me over 2hrs to figure out. Tried everyting including reloading the router to no avail. Found this url and voila it works!
    Thanks Brian for sharing.

  7. Deva says:

    Hi Brian

    i have encountered the same problem but i didnt configured the auto bandwidth command but still my VL cost changes to 65535

    R9 >>> Broadcast >>>>> R5


Leave a Reply


CCIE Bloggers