gdt: Kangaroo road sign (Default)
Glen Turner ([personal profile] gdt) wrote2007-11-12 09:53 am
Entry tags:

Value of Router ID on Cisco IOS

Many routing protocols use a Router Identifier, a 32-bit field which uniquely identifies the advertising router. It's traditionally printed as an IPv4 address.

Cisco's IOS is maddeningly inconsistent in its default for Router ID. Some routing processes use the highest address on a configured interface, some use the highest numbered loopback interface, and so on. There is no harm in having a differing Router ID between differing routing processes.

The harm appears because the routing process must reset if its Router ID changes. You add an additional loopback interface to be a Rendevous Point and, bang, routing resets. Or you move an customer's interface to be on another router and, bang, bang, both routers lose connectivity, interrupting services to other customers too.

So you must always explicitly code the Router ID. Set it to be the IPv4 address of Loopback0.

interface Loopback0
 description adl-a-ro1
 ip address 10.1.255.1 255.255.255.255

router ospf 64000
 router-id 10.255.255.1
 network 10.1.255.1 0.0.0.0

ipv6 router ospf 64000
 router-id 10.1.255.1

router bgp 64000
 router-id 10.1.255.1

You'll see how we used the top part of our address range for the loopback addresses, so that the default is usually right should we misconfigure.