I am a little confused on the process OSPF uses to select the Router ID. Is following correct for the selection of the router ID in OSPF?
- Manual configuration
- Highest IP address on a loopback interface
- Highest IP address on a non-loopback interface
Amazingly enough, for something so important to OSPF, the RFC doesn't define the Router ID selection process. A Router ID is simply a 32-bit number, and the implementation of it may vary from vendor to vendor. What you describe is how Cisco does it, but other vendors are free to do it any way they want. In fact, the example in RFC 2328, OSPF Version 2 is using the smallest IP address (see below), not the largest as Cisco does.
The Router ID is not an IPv4 address, and you can use a Router ID that is any 32-bit number, even if it looks like a bad IPv4 address.
A 32-bit number that uniquely identifies this router in the AS. One possible implementation strategy would be to use the smallest IP interface address belonging to the router. If a router's OSPF Router ID is changed, the router's OSPF software should be restarted before the new Router ID takes effect. In this case the router should flush its self-originated LSAs from the routing domain (see Section 14.1) before restarting, or they will persist for up to MaxAge minutes.