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 ![]()

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!