A detailed description of the interface state changes follows. Each state change is invoked by an event (Section 9.2). This event may produce different effects, depending on the current state of the interface. For this reason, the state machine below is organized by current interface state and received event. Each entry in the state machine describes the resulting new interface state and the required set of additional actions.
When an interface's state changes, it may be necessary to originate a new router links advertisement. See Section 12.4 for more details.
Some of the required actions below involve generating events for the neighbor state machine. For example, when an interface becomes inoperative, all neighbor connections associated with the interface must be destroyed. For more information on the neighbor state machine, see Section 10.3.
State(s): Down
Event: InterfaceUp
New state: Depends upon action routine
Action: Start the interval Hello Timer, enabling the
periodic sending of Hello packets out the interface.
If the attached network is a physical point-to-point
network or virtual link, the interface state
transitions to Point-to-Point. Else, if the router
is not eligible to become Designated Router the
interface state transitions to DR Other.
Otherwise, the attached network is multi-access and
the router is eligible to become Designated Router.
In this case, in an attempt to discover the attached
network's Designated Router the interface state is
set to Waiting and the single shot Wait Timer is
started. If in addition the attached network is
non-broadcast, examine the configured list of
neighbors for this interface and generate the
neighbor event Start for each neighbor that is also
eligible to become Designated Router.
State(s): Waiting
Event: BackupSeen
New state: Depends upon action routine.
Action: Calculate the attached network's Backup Designated
Router and Designated Router, as shown in Section
9.4. As a result of this calculation, the new state
of the interface will be either DR Other, Backup or
DR.
State(s): Waiting
Event: WaitTimer
New state: Depends upon action routine.
Action: Calculate the attached network's Backup Designated
Router and Designated Router, as shown in Section
9.4. As a result of this calculation, the new state
of the interface will be either DR Other, Backup or
DR.
State(s): DR Other, Backup or DR
Event: NeighborChange
New state: Depends upon action routine.
Action: Recalculate the attached network's Backup Designated
Router and Designated Router, as shown in Section
9.4. As a result of this calculation, the new state
of the interface will be either DR Other, Backup or
DR.
State(s): Any State
Event: InterfaceDown
New state: Down
Action: All interface variables are reset, and interface
timers disabled. Also, all neighbor connections
associated with the interface are destroyed. This
is done by generating the event KillNbr on all
associated neighbors (see Section 10.2).
State(s): Any State
Event: LoopInd
New state: Loopback
Action: Since this interface is no longer connected to the
attached network the actions associated with the
above InterfaceDown event are executed.
State(s): Loopback
Event: UnloopInd
New state: Down
Action: No actions are necessary. For example, the
interface variables have already been reset upon
entering the Loopback state. Note that reception of
an InterfaceUp event is necessary before the
interface again becomes fully functional.