maximum-paths [n]
Configures the maximum number of equal-cost paths that EIGRP can use for load balancing to a destination network.
Definition: maximum-paths [n] is a Cisco IOS router config command. Configures the maximum number of equal-cost paths that EIGRP can use for load balancing to a destination network.
Overview
The `maximum-paths [n]` command in EIGRP router configuration mode controls the maximum number of equal-cost paths that EIGRP can install in the routing table for load balancing to a destination network. This command is critical for optimizing traffic distribution across multiple links, improving bandwidth utilization, and providing redundancy. In EIGRP, equal-cost paths are routes with the same composite metric (calculated from bandwidth, delay, reliability, load, and MTU).
By default, EIGRP supports up to 4 equal-cost paths, but the `maximum-paths` command can increase this to up to 16 (or 32 in some IOS versions) or reduce it to 1 to disable load balancing. This command is typically used when you have multiple parallel links between routers (e.g., two GigabitEthernet connections) and want to leverage both for forwarding traffic. Alternatives include using variance-based load balancing with the `variance` command, which allows unequal-cost paths, or using policy-based routing for more granular control.
The `maximum-paths` command fits into the broader configuration workflow after EIGRP is enabled on interfaces and the network is advertised; it is often combined with `variance` to fine-tune load balancing. Important IOS behaviors: the command takes effect immediately without requiring a router reload or clear ip eigrp neighbors; it affects only new routes learned after the change (existing routes may need to be cleared or re-advertised); the maximum value is platform-dependent (e.g., 16 on most Cisco routers, 32 on high-end platforms); the command is stored in the running configuration and can be saved to startup-config. Privilege level 15 (enable) is required to enter router config mode.
The command does not generate buffered output; verification is done via `show ip route` or `show ip eigrp topology`.
maximum-paths [n]When to Use This Command
- Enable load balancing across multiple equal-cost EIGRP routes to increase available bandwidth.
- Limit the number of paths to prevent excessive routing table size in large networks.
- Override the default maximum of 4 paths to allow up to 32 paths for high-availability designs.
- Reduce the number of paths to 1 to force single-path routing for troubleshooting or policy reasons.
Parameters
| Parameter | Syntax | Description |
|---|---|---|
| n | <1-16> or <1-32> depending on platform | Specifies the maximum number of equal-cost paths EIGRP can use for load balancing. Valid values range from 1 to 16 (or up to 32 on some platforms). Setting it to 1 disables load balancing. Common mistake: setting a value higher than the number of available equal-cost paths has no effect; also, forgetting that the value applies globally to all EIGRP-learned routes. |
Command Examples
Set maximum paths to 2 for load balancing
maximum-paths 2Router(config-router)# maximum-paths 2 Router(config-router)#
The command is entered in router configuration mode. No output is shown; the router accepts the command silently. This sets EIGRP to use up to 2 equal-cost paths for load balancing.
Verify maximum paths configuration
show ip protocols | include maximum Maximum path: 2
Routing for Networks:
192.168.1.0
10.0.0.0The 'show ip protocols' command displays the current EIGRP configuration. The 'Maximum path' field shows the configured value (2 in this case). This confirms the setting is active.
Understanding the Output
The 'maximum-paths' command itself produces no output when entered. To verify the setting, use 'show ip protocols' and look for the 'Maximum path' line under the EIGRP process. The value shown is the number of equal-cost paths EIGRP will install in the routing table.
A value of 1 means no load balancing; higher values (up to 32) enable load balancing. In 'show ip route eigrp', you may see multiple next-hop IP addresses for the same destination network if load balancing is active. For example, 'D 10.1.1.0/24 [90/2172416] via 192.168.1.1, 00:00:12, GigabitEthernet0/0, via 192.168.1.2, 00:00:12, GigabitEthernet0/1' indicates two paths.
The number of paths displayed should not exceed the configured maximum-paths value.
Configuration Scenarios
Configure EIGRP load balancing across two parallel links between branch routers
Two branch routers (R1 and R2) are connected via two separate GigabitEthernet links. The goal is to use both links for load balancing to maximize throughput and provide redundancy.
Topology
R1(Gi0/0)---10.0.12.0/30---(Gi0/0)R2
R1(Gi0/1)---10.0.12.4/30---(Gi0/1)R2Steps
- 1.Step 1: Enter global configuration mode: R1# configure terminal
- 2.Step 2: Enter EIGRP router configuration mode: R1(config)# router eigrp 100
- 3.Step 3: Set maximum paths to 2: R1(config-router)# maximum-paths 2
- 4.Step 4: Exit and verify: R1(config-router)# end
! R1 configuration router eigrp 100 network 10.0.0.0 maximum-paths 2 ! R2 configuration (similar) router eigrp 100 network 10.0.0.0 maximum-paths 2
Verify: Use 'show ip route eigrp' on R1. Expected output shows two equal-cost routes to a destination behind R2, e.g., 'D 192.168.1.0/24 [90/...] via 10.0.12.2, 00:00:10, GigabitEthernet0/0 and via 10.0.12.6, 00:00:10, GigabitEthernet0/1'.
Watch out: Both links must have identical EIGRP metrics (bandwidth, delay, etc.) for equal-cost load balancing. If one link is slower, use 'variance' to allow unequal-cost paths.
Disable EIGRP load balancing to force single-path routing
A network administrator wants to disable load balancing for EIGRP routes to simplify troubleshooting or because of asymmetric routing issues. The goal is to use only one path per destination.
Topology
R1(Gi0/0)---10.0.12.0/30---(Gi0/0)R2
R1(Gi0/1)---10.0.12.4/30---(Gi0/1)R2Steps
- 1.Step 1: Enter global configuration mode: R1# configure terminal
- 2.Step 2: Enter EIGRP router configuration mode: R1(config)# router eigrp 100
- 3.Step 3: Set maximum paths to 1: R1(config-router)# maximum-paths 1
- 4.Step 4: Exit and verify: R1(config-router)# end
! R1 configuration router eigrp 100 network 10.0.0.0 maximum-paths 1
Verify: Use 'show ip route eigrp' on R1. Expected output shows only one route per destination, e.g., 'D 192.168.1.0/24 [90/...] via 10.0.12.2, 00:00:10, GigabitEthernet0/0'.
Watch out: After reducing maximum-paths, existing load-balanced routes may still appear until they are refreshed. Use 'clear ip route *' or wait for route timers to expire.
Troubleshooting with This Command
When troubleshooting EIGRP load balancing with the `maximum-paths` command, the primary verification tool is `show ip route` to see how many paths are installed for a given destination. A healthy output shows multiple equal-cost routes (e.g., two routes with identical metrics) when maximum-paths is set appropriately. Problem indicators include: only one path installed despite multiple equal-cost paths being available; routes missing entirely; or routes with unequal metrics that are not being used even with variance configured.
Focus on the 'via' lines and the metric values. Common symptoms: if `maximum-paths` is set too low, you may see only a subset of available paths; if set too high but no equal-cost paths exist, no change occurs. A step-by-step diagnostic flow: 1) Verify EIGRP neighbors are up with `show ip eigrp neighbors`. 2) Check the EIGRP topology table with `show ip eigrp topology` to see all feasible successors. 3) Look for routes with multiple successors (indicated by multiple entries for the same prefix). 4) Use `show ip route` to confirm installation. 5) If routes are missing, check if the metrics are truly equal by examining the composite metric components (bandwidth, delay) with `show ip eigrp topology all-links`. 6) Correlate with `debug eigrp packets` or `debug ip routing` to see route installation decisions.
The `maximum-paths` command itself does not generate errors; misconfiguration is usually silent. Also, remember that EIGRP's default maximum-paths is 4; if you need more, you must explicitly configure it. On some platforms, the maximum is 16, but on others (e.g., Catalyst 6500 with certain hardware) it may be 32.
Always check platform documentation.
CCNA Exam Tips
The default maximum paths for EIGRP is 4; the range is 1 to 32.
CCNA exam may ask: 'Which command enables load balancing across 3 equal-cost EIGRP routes?' Answer: 'maximum-paths 3'.
Remember that EIGRP supports unequal-cost load balancing via 'variance', but 'maximum-paths' only controls equal-cost paths.
The command is configured under router eigrp configuration mode, not interface mode.
Common Mistakes
Setting maximum-paths to a value higher than the number of actual equal-cost paths; no error occurs but no additional load balancing is achieved.
Forgetting that 'maximum-paths' applies to all routes learned by EIGRP, not per-destination.
Confusing 'maximum-paths' with 'variance'; variance enables unequal-cost load balancing, while maximum-paths limits the total number of paths used.
maximum-paths [n] vs show ip route
These commands are commonly considered together because one controls load-balancing behavior (maximum-paths) while the other displays the resulting routing table (show ip route). Understanding both is essential for troubleshooting and designing EIGRP load balancing.
| Aspect | maximum-paths [n] | show ip route |
|---|---|---|
| Scope | Configures maximum number of equal-cost paths for EIGRP | Displays entire IP routing table |
| Configuration mode | Router configuration (config-router) | Privileged EXEC (#) |
| Persistence | Persistent; saved in running/config | Transient; shows current state |
| Impact on routing | Directly affects EIGRP load balancing | Read-only; no impact |
| Typical use | Adjusting load balancing to maximize bandwidth | Verifying routes and next-hops |
Use maximum-paths [n] when you want to control the number of parallel EIGRP routes for load sharing.
Use show ip route when you need to inspect the current routing table to verify or troubleshoot route selection.
Platform Notes
In IOS-XE (e.g., Catalyst 9000 switches), the `maximum-paths` command syntax is identical to classic IOS, but the maximum value may be 32 on some models. The output of `show ip route` is similar but may include additional fields like 'last updated' in newer versions. For NX-OS (e.g., Nexus switches), the equivalent command is `maximum-paths <1-64>` under `router eigrp` configuration mode, but note that NX-OS uses a different EIGRP implementation (named mode by default).
The command works similarly, but the default maximum is 8. On ASA firewalls, EIGRP is not supported; instead, use OSPF or static routes. For IOS-XR (e.g., ASR 9000), the command is `maximum-paths <1-32>` under `router eigrp` configuration, but IOS-XR uses a different configuration hierarchy (e.g., `router eigrp ASN` then `address-family ipv4 unicast`).
Behavior differences between IOS versions: in IOS 12.x, the maximum was 6; in 15.x, it increased to 16; in 16.x (IOS-XE), it can be 32. The command is not present in IOS 12.0 or earlier. Always verify the maximum supported value with `?` after typing `maximum-paths`.
Related Commands
show ip protocols
Displays the current state of all IP routing protocols running on the router, including timers, filters, and network advertisements.
show ip route
Displays the IP routing table showing all known routes, their source protocols, administrative distances, metrics, next-hops, and outgoing interfaces.
Practice for the CCNA 200-301
Test your knowledge with practice questions covering all CCNA 200-301 exam domains.
Practice CCNA 200-301 Questions