EIGRP Diffusing Update Algorithm (DUAL)
Learn how EIGRP DUAL selects successors and feasible successors, prevents routing loops, handles failures, uses queries and replies, and avoids Stuck in Active conditions.
The Diffusing Update Algorithm (DUAL) is EIGRP's route-calculation and convergence mechanism. It uses the reachability and metric information learned from EIGRP neighbors to select loop-free paths, keep qualified backup paths, and recompute routes when the topology changes.
DUAL is not the EIGRP composite metric calculation itself. EIGRP calculates metrics from values such as bandwidth and delay, while DUAL uses those metrics to make routing-state decisions: which path is the successor, which alternates qualify as feasible successors, and whether a route must enter an active query process.
What DUAL Does
- Rapid convergence: A qualified backup can be used immediately after the primary path fails.
- Loop-free routing: The feasibility condition prevents a router from selecting an alternate that could lead traffic back toward itself.
- Efficient backup use: Feasible successors remain available in the topology table.
- Controlled recomputation: Queries are sent only when an immediate, prequalified replacement is unavailable.
DUAL is part of EIGRP's advanced distance-vector behavior. For background on routing concepts and protocol roles, review computer network fundamentals.
EIGRP Topology Information
EIGRP maintains a topology table, which is the database of routes learned from EIGRP neighbors. Entries include destination prefixes, neighbors that advertised them, metric information, successor information, and DUAL route state.
The routing table is different. It contains the routes selected for forwarding. The topology table can retain several paths, including paths that are eligible backups and paths that are valid but do not currently meet the feasibility condition.
| Item | Stored Location | Purpose | Typical Verification Command |
|---|---|---|---|
| EIGRP neighbor relationship | Neighbor table | Tracks adjacent EIGRP routers and adjacency status | show ip eigrp neighbors |
| Learned paths and DUAL data | Topology table | Stores candidates, metrics, state, successors, and feasible successors | show ip eigrp topology |
| Forwarding decisions | Routing table | Stores selected routes used to forward packets | show ip route eigrp |
EIGRP neighbor updates supply reachability and metric information. EIGRP updates are generally partial and triggered by topology changes rather than periodic full-table advertisements.
Successors, Feasible Distance, and Reported Distance
Successor
A successor is the best loop-free next hop selected by DUAL for a destination. Its route is normally installed in the routing table. Selection is based on the lowest feasible distance.
EIGRP can install multiple equal-cost successors when the configured maximum-paths limit permits. Equal-cost successors provide multipath forwarding without requiring unequal-cost variance.
Feasible Distance
Feasible distance (FD) is the local router's calculated metric to a destination through a particular path. The lowest known eligible value becomes the current best FD for the destination and is used in feasibility comparisons.
Reported Distance
Reported distance (RD), also called advertised distance (AD), is the metric a neighboring router reports for reaching the destination from itself. The local router adds its own path cost to that reported value when calculating its FD through that neighbor.
These values are EIGRP composite metrics, not necessarily hop counts. Depending on the EIGRP K values, the metric can reflect bandwidth, delay, reliability, and load. In common default operation, bandwidth and delay are the principal metric components.
Feasible Successors and the Feasibility Condition
A feasible successor is a prequalified, loop-free backup next hop. It is stored in the topology table and is not normally installed as an active routing-table route when another successor is already available.
The feasibility condition (FC) is:
Neighbor RD < Current Successor FD
The neighbor's RD must be strictly lower than the local router's FD for the current successor. This means the neighbor claims to be closer to the destination than the local router's current best distance. That ordering provides a sufficient guarantee that the alternate path cannot immediately return traffic through the local router and create a loop.
| Candidate Path | Local Feasible Distance | Neighbor Reported Distance | Feasibility Condition Met | DUAL Role |
|---|---|---|---|---|
| Path A | 100 | Not applicable as the selected path | Selected by lowest feasible distance | Successor |
| Path B | 130 | 80 | Yes: 80 < 100 | Feasible successor |
| Path C | 150 | 120 | No: 120 is not less than 100 | Valid alternate, but not a feasible successor |
In the first example, Path A has an FD of 100 and becomes the successor. Path B's neighbor reports an RD of 80, so Path B qualifies as a feasible successor. If Path A fails, DUAL can promote Path B immediately without sending queries for that destination.
Path C may still be a usable route in a broader sense, but it does not satisfy the feasibility condition. If the successor fails and only Path C remains, DUAL must perform a diffusing computation. The feasibility condition is sufficient for loop freedom, but it does not identify every possible loop-free alternate path.
DUAL Route States
DUAL tracks a route as passive or active. These are DUAL route-calculation states, not interface states and not administrative states such as an EIGRP process being enabled or disabled.
| State | Meaning | Successor Available | Queries Sent | Operational Result |
|---|---|---|---|---|
| Passive | Stable state; no route recomputation is underway | Usually yes, although a destination can also be passively unreachable | No | Route is stable, installed, or confirmed unreachable |
| Active | DUAL is searching for a replacement route | No usable successor or feasible successor | Yes, to relevant neighbors | Replies are collected before a new decision is made |
Active is a normal temporary convergence state. A route that remains active too long, however, indicates a query or neighbor communication problem and may lead to a Stuck in Active condition.
What Happens When a Route Is Lost?
Immediate Switchover
- The current successor becomes unavailable.
- DUAL examines the topology table for a feasible successor.
- If one exists, DUAL promotes it immediately.
- The replacement route is installed in the routing table and the route returns to passive state.
This process is fast because the alternate was already proven safe by the feasibility condition.
Diffusing Computation
If no feasible successor exists, DUAL cannot safely choose an alternate immediately. The route enters active state and begins a distributed diffusing computation:
- The router sends EIGRP query packets to relevant neighbors, asking whether they have a route to the destination.
- Neighbors examine their own topology information. They may reply with an alternate route or propagate queries farther into the topology.
- The original router collects the required reply packets.
- DUAL selects a new successor if reachability is found, or withdraws the destination if no route exists.
- The route returns to passive state after the calculation completes.
Queries can travel through multiple routers until the network finds alternate reachability or reports that the destination is unavailable. Route summarization, hierarchical design, and bounded failure domains reduce how far queries can propagate.
Queries, Replies, and Stub Routing
A query asks a neighbor for information about an unreachable destination. A reply reports either a usable route or the absence of one. During a calculation, a router must receive the necessary replies before it can complete the decision.
An EIGRP stub identifies an edge router that should not be treated as a transit path for arbitrary EIGRP queries. Stub routing can limit the route categories advertised by the edge router and prevent unsuitable query propagation.
router eigrp <autonomous-system>
eigrp stub
eigrp stub connected summary
Use a stub role only when the router's topology and routing role justify it. A stub router should not be expected to provide transit connectivity through unrelated branches.
Stuck in Active (SIA)
Stuck in Active (SIA) occurs when a route remains active because required query replies are not received before the active timer expires. The operational effect can include resetting the neighbor associated with the missing reply.
| Symptom | Likely Cause | Verification Focus | Corrective Action |
|---|---|---|---|
| Route remains active | Lost successor and missing feasible successor | Topology state and successor information | Find the missing reply and restore the path or adjacency |
| Neighbor resets during calculation | Congestion, high CPU, unstable link, ACL, or one-way communication | Neighbor detail, logs, interfaces, and Layer 2 connectivity | Fix transport, resource, filtering, or physical problems |
| Queries spread widely | Broad or flat query domain | Topology design and query propagation | Use summaries, hierarchy, and correctly placed stubs |
| Replies arrive too slowly | Overloaded device or long query chain | CPU, memory, interface errors, and neighbor status | Reduce query scope and address resource constraints |
Modern EIGRP implementations can use SIA-Query and SIA-Reply messages to verify that a neighbor is still progressing during a lengthy calculation. These messages help distinguish a slow but functioning neighbor from an unreachable or failed neighbor.
Verification with Cisco IOS Commands
Use the following commands in a lab or during a controlled maintenance investigation:
show ip eigrp neighbors
show ip eigrp neighbors detail
show ip eigrp topology
show ip eigrp topology <network> <mask>
show ip route eigrp
show ip route <destination-network> <mask>
show ip protocols
show running-config | section router eigrp
When reading topology output, look for the destination's passive or active state, feasible distance, successor count, neighbor entries, and reported distances. A successor is normally identified as the selected path; other entries may show feasible successors or candidates that do not meet the feasibility condition.
Use debugging carefully and only in a controlled lab or a tightly scoped maintenance window:
debug eigrp packets
undebug all
Debug output can be extensive and can increase CPU load. Prefer filtered, platform-appropriate diagnostics when available.
Useful EIGRP Lab Configuration
Classic EIGRP Mode
router eigrp <autonomous-system>
network <network-address> <wildcard-mask>
no auto-summary
Named-Mode EIGRP
router eigrp <name>
address-family ipv4 autonomous-system <autonomous-system>
network <network-address> <wildcard-mask>
Exact command availability can vary with IOS release and EIGRP mode. Verify the resulting neighbor relationships and topology entries rather than assuming that a configuration line alone created an adjacency.
Route-Loss Outcomes
| Condition After Successor Failure | DUAL Behavior | Expected Convergence Speed | Potential Risk |
|---|---|---|---|
| Feasible successor exists | Promotes the prequalified alternate | Fast | Alternate may not be installed if only backup behavior is configured |
| No feasible successor, neighbors reachable | Enters active state and sends queries | Depends on query scope and reply time | SIA if required replies do not arrive |
| No replacement route | Receives negative replies or determines the prefix is unreachable | After the diffusing computation completes | Destination is withdrawn |
Design Implications
- Redundant links improve convergence only when their metrics and topology allow a backup to qualify as a feasible successor.
- A physical backup path is not automatically a feasible successor. Always compare its RD with the current successor's FD.
- Summarization creates query boundaries and reduces the number of routers involved in a failure calculation.
- EIGRP stub routing prevents unsuitable edge routers from becoming transit or query-propagation points.
- Hierarchical designs and bounded failure domains make active computations smaller and easier to troubleshoot.
- Unequal-cost load balancing can install qualifying feasible successors when the configured
variancepermits their FD values andmaximum-pathsallows the number of paths.
router eigrp <autonomous-system>
variance <multiplier>
maximum-paths <number>
Variance does not bypass the feasibility condition. An alternate must first be a valid feasible successor; variance then determines whether an eligible unequal-cost path may be installed for forwarding.
Troubleshooting Patterns
A Route Remains Active
- Confirm that the successor was lost and that no feasible successor was available.
- Inspect neighbor status and physical or Layer 2 connectivity.
- Identify which neighbor has not returned a reply.
- Check whether summaries, hierarchy, or stub routing could constrain an overly broad query domain.
An Expected Backup Is Not Used Immediately
- Compare the alternate neighbor's RD with the current successor's FD.
- Confirm that the alternate appears in the topology table.
- Check for metric changes, maximum-path settings, and variance requirements.
- Do not treat variance as a way to bypass the feasibility condition.
A Neighbor Resets After a Calculation
- Look for SIA-related messages.
- Check congestion, CPU load, unstable links, filtering, and unidirectional communication.
- Review the size and structure of the query domain.
- Fix adjacency or resource problems and reduce query propagation with appropriate summaries and stubs.
Exam Notes
- Successor: best selected next hop, normally installed in the routing table.
- Feasible successor: prequalified backup stored in the topology table.
- Feasibility condition: neighbor RD must be less than the current successor FD.
- Passive: stable route state with no recomputation in progress.
- Active: DUAL is querying neighbors for a replacement route.
- SIA: required replies were not received before the active timer expired.
- FD and RD: EIGRP composite metric values, not simple hop counts.