If a router detects a topology change and finds that a new shortest path is provided but does not pass the FC, the router cannot use the neighbor right away because it could potentially cause a routing loop.
The router then commences its diffusing computation by performing the following steps:
- The entry in the routing table is locked, it must not be removed or hop changed until the diffusing computation has completed and the route has been moved to the passive state again.
- The FD is set to the current CD through the unchanged successor. If the router has to advertise the distance to the network while in Active state, it will also use the value of the current CD through the Successor.
- The network is put into the Active state and the router sends out a Query packet to all neighbors. the Query contains the Active network’s prefix and the routers current CD to it.
Once the Query is sent out to the neighbors, neighbors process the Query and begin evaluating their Successors and Feasible Successor routes to the destination prefix. At this point either they still have a FS or Successor or they don’t.
When the neighbor still has a successor route it will simply Reply back indicating the neighbors current distance to the destination. Diffusing computation did not start on this neighbor.
If the neighbor does not have a successor or FS then the neighbor will join the diffusing computation and send out it’s own Query packet for the destination prefix.
Once a router becomes Active for a destination network it must wait for a Reply packet back from the neighbor. Only after all Reply packets have been received the router can put the route back into the Passive state to reinstall the route and update the new FD.