IP SLA Configuration & Tracking
A router's routing table reflects the state of directly connected interfaces — but it has no visibility into what happens beyond the next hop. A static default route pointing to an ISP gateway stays in the routing table even after the ISP's upstream circuit fails, because the local interface is still up. Traffic silently blackholes. IP SLA (Service Level Agreement) solves this: it sends continuous active probes — ICMP echoes, TCP connections, HTTP requests, DNS queries — to any reachable target and reports whether that target responds within acceptable parameters.
Object Tracking is the bridge between IP SLA measurements and network actions. It watches an IP SLA operation and exposes its state — Up or Down — to other IOS features. When IP SLA declares a target unreachable, the tracked object transitions to Down, which can automatically remove a static route from the routing table, reduce an HSRP router's priority to trigger a failover, or trigger an EEM script. When the target recovers, the object returns to Up and the route or priority is restored — all without any administrative intervention.
Before starting, ensure you understand static routing from Static Route Configuration and HSRP from HSRP (First Hop Redundancy). For reading the routing table after tracked routes are installed or removed, see show ip route. IP SLA with syslog alerting (EEM integration) builds on the concepts here and is covered in IP SLA Syslog Alerting. For the broader context of route sources and administrative distance, see Administrative Distance and Route Sources.
1. IP SLA & Object Tracking — Core Concepts
How IP SLA Works
IP SLA Architecture — Three Layers:
┌──────────────────────────────────────────────────────────────────┐
│ Layer 1: IP SLA Operation │
│ Sends probes at a configured interval to a target │
│ ip sla 1 │
│ icmp-echo 8.8.8.8 source-interface GigabitEthernet0/0 │
│ frequency 10 │
│ ip sla schedule 1 life forever start-time now │
│ │ │
│ Probe every 10s │
│ ↓ 8.8.8.8 responds? │
│ YES → Operation state: Over Threshold (OK) │
│ NO → Operation state: Under Threshold (FAIL) │
└──────────────────────────────────────────────────────────────────┘
│
▼
┌──────────────────────────────────────────────────────────────────┐
│ Layer 2: Object Tracking │
│ Watches the IP SLA operation state and exposes Up/Down │
│ track 1 ip sla 1 reachability │
│ │
│ SLA OK → Track state: Up │
│ SLA FAIL → Track state: Down │
└──────────────────────────────────────────────────────────────────┘
│
▼
┌──────────────────────────────────────────────────────────────────┐
│ Layer 3: Tracked Action │
│ IOS feature reacts to the tracked object state │
│ │
│ Option A — Floating static route: │
│ ip route 0.0.0.0 0.0.0.0 203.0.113.1 track 1 │
│ Track Up → route is in the routing table │
│ Track Down → route is REMOVED from the routing table │
│ │
│ Option B — HSRP priority decrement: │
│ standby 1 track 1 decrement 20 │
│ Track Up → HSRP priority = configured value (e.g., 110) │
│ Track Down → HSRP priority = 110 - 20 = 90 (triggers failover) │
└──────────────────────────────────────────────────────────────────┘
IP SLA Probe Types
| Probe Type | IOS Command | What It Tests | Common Use |
|---|---|---|---|
| ICMP Echo | icmp-echo [target-IP] |
Round-trip reachability to any IP — like a continuous automated ping | Most common — tests ISP gateway, WAN endpoint, or any critical host |
| TCP Connect | tcp-connect [IP] [port] |
Full TCP three-way handshake to a specific port — tests application layer availability | Verify a web server (port 80/443) or SMTP relay (port 25) is accepting connections |
| UDP Jitter | udp-jitter [IP] [port] |
Sends UDP packets and measures jitter, latency, and packet loss — requires a Responder on the target | Voice/video quality monitoring — detect jitter before it impacts calls |
| HTTP | http get [url] |
Full HTTP GET transaction — tests DNS, TCP, and HTTP response time | End-to-end web application monitoring from the router's perspective |
| DNS | dns [hostname] name-server [IP] |
DNS resolution test — measures query response time | Verify DNS server availability and response time |
| Path Echo | path-echo [target-IP] |
Like ICMP echo but discovers and tests each hop along the path — similar to traceroute | WAN path monitoring — detect which hop in the path is failing |
IP SLA Key Parameters
| Parameter | Command | Default | Description |
|---|---|---|---|
| Frequency | frequency [seconds] |
60 seconds | How often the probe is sent. Lower = faster failure detection but more overhead |
| Timeout | timeout [milliseconds] |
5000 ms | How long to wait for a response before marking the probe as failed |
| Threshold | threshold [milliseconds] |
5000 ms | RTT threshold — probes over this value are counted as "over threshold" violations |
| Delay Down | delay down [seconds] (on track) |
0 seconds | How long the SLA must be failing before the tracked object transitions to Down — prevents flapping |
| Delay Up | delay up [seconds] (on track) |
0 seconds | How long the SLA must be succeeding before the tracked object returns to Up — prevents premature recovery |
Object Tracking — What Can Be Tracked
| Track Type | Syntax | Transitions Down When |
|---|---|---|
| IP SLA reachability | track [id] ip sla [sla-id] reachability |
IP SLA probe does not receive a response (target unreachable) |
| IP SLA state | track [id] ip sla [sla-id] state |
IP SLA operation result transitions from OK to Over Threshold |
| Interface line-protocol | track [id] interface [int] line-protocol |
The tracked interface goes down at Layer 1 or Layer 2. See show interfaces. |
| Interface IP routing | track [id] interface [int] ip routing |
IPv4 routing is disabled on the interface or the interface is down |
| Route reachability | track [id] ip route [prefix/mask] reachability |
The specified prefix disappears from the routing table |
2. Lab Topology & Scenario
This lab covers two real-world IP SLA use cases on a dual-ISP enterprise edge router. NetsTuts_R1 has two WAN connections — a primary ISP (ISP-A) and a backup ISP (ISP-B). IP SLA probes monitor reachability through each ISP. Object tracking ties the probe results to floating static routes and HSRP priority, enabling fully automatic failover without any manual intervention or dynamic routing protocol on the WAN.
NetsTuts_R1
┌──────────────────────────────────────────────┐
│ │
[LAN]───────┤ Gi0/0 Gi0/1 (Primary WAN) ├─── ISP-A
10.0.0.0/24 │ 10.0.0.1/24 203.0.113.1/30 │ 203.0.113.2
│ GW: 203.0.113.2 │ Probes 8.8.8.8
│ │
│ Gi0/2 (Backup WAN) ─────────┤─── ISP-B
│ 198.51.100.1/30 │ 198.51.100.2
│ GW: 198.51.100.2 │ Probes 8.8.4.4
└──────────────────────────────────────────────┘
│
│ Gi0/3 (LAN — HSRP active)
│ 10.0.0.1/24
─────┴─────
│
[NetsTuts_R2] (HSRP standby)
10.0.0.2/24
IP SLA Operations:
SLA 1 → icmp-echo 8.8.8.8 via Gi0/1 (probes through ISP-A)
SLA 2 → icmp-echo 8.8.4.4 via Gi0/2 (probes through ISP-B)
Object Tracking:
Track 1 → watches SLA 1 (ISP-A reachability)
Track 2 → watches SLA 2 (ISP-B reachability)
Tracked Actions:
A: Floating static routes — primary via ISP-A (AD 1), backup via ISP-B (AD 5)
Track 1 Down → primary route removed → backup route takes over
B: HSRP tracking — R1 priority decrement on ISP-A failure
Track 1 Down → R1 HSRP priority drops → R2 becomes active gateway
| Element | Detail | Purpose |
|---|---|---|
| IP SLA 1 | ICMP echo to 8.8.8.8 via Gi0/1, every 10s | Monitors reachability through ISP-A primary WAN |
| IP SLA 2 | ICMP echo to 8.8.4.4 via Gi0/2, every 10s | Monitors reachability through ISP-B backup WAN |
| Track 1 | Monitors SLA 1 reachability, delay down 15s | Provides stable Up/Down state for ISP-A |
| Track 2 | Monitors SLA 2 reachability, delay down 15s | Provides stable Up/Down state for ISP-B |
| Primary default route | 0.0.0.0/0 via 203.0.113.2, AD 1, track 1 | Active when ISP-A is reachable |
| Backup floating static route | 0.0.0.0/0 via 198.51.100.2, AD 5, track 2 | Active only when ISP-A fails and ISP-B is reachable |
3. Step 1 — Configure Interfaces
All interfaces must be up and IP reachable before IP SLA probes can be started. IP SLA uses the routing table to source its probe packets — the interface and next-hop must be reachable. See Basic Interface Configuration for interface setup fundamentals:
NetsTuts_R1>en NetsTuts_R1#conf t Enter configuration commands, one per line. End with CNTL/Z. ! ── LAN interface ──────────────────────────────────────── NetsTuts_R1(config)#interface GigabitEthernet0/0 NetsTuts_R1(config-if)#description LAN-Segment NetsTuts_R1(config-if)#ip address 10.0.0.1 255.255.255.0 NetsTuts_R1(config-if)#no shutdown NetsTuts_R1(config-if)#exit ! ── Primary WAN — ISP-A ────────────────────────────────── NetsTuts_R1(config)#interface GigabitEthernet0/1 NetsTuts_R1(config-if)#description Primary-WAN-ISP-A NetsTuts_R1(config-if)#ip address 203.0.113.1 255.255.255.252 NetsTuts_R1(config-if)#no shutdown NetsTuts_R1(config-if)#exit ! ── Backup WAN — ISP-B ─────────────────────────────────── NetsTuts_R1(config)#interface GigabitEthernet0/2 NetsTuts_R1(config-if)#description Backup-WAN-ISP-B NetsTuts_R1(config-if)#ip address 198.51.100.1 255.255.255.252 NetsTuts_R1(config-if)#no shutdown NetsTuts_R1(config-if)#exit
Verify Connectivity to Both ISP Gateways
NetsTuts_R1#ping 203.0.113.2 !!!!! Success rate is 100 percent (5/5) NetsTuts_R1#ping 198.51.100.2 !!!!! Success rate is 100 percent (5/5)
show ip interface brief.
4. Step 2 — Configure IP SLA Operations
Each IP SLA operation is a numbered instance — the number is local to the router and used to reference the operation in tracking and scheduling commands. Configuration is in two parts: define the probe parameters, then schedule it to start:
SLA 1 — Monitor ISP-A Reachability
! ── IP SLA operation 1 — probe through ISP-A ───────────── NetsTuts_R1(config)#ip sla 1 NetsTuts_R1(config-ip-sla)#icmp-echo 8.8.8.8 source-interface GigabitEthernet0/1 NetsTuts_R1(config-ip-sla-echo)#frequency 10 NetsTuts_R1(config-ip-sla-echo)#timeout 3000 NetsTuts_R1(config-ip-sla-echo)#threshold 2000 NetsTuts_R1(config-ip-sla-echo)#exit NetsTuts_R1(config)#exit ! ── Schedule SLA 1 — start immediately, run forever ────── NetsTuts_R1(config)#ip sla schedule 1 life forever start-time now
icmp-echo 8.8.8.8 source-interface GigabitEthernet0/1
— sends ICMP echo probes to 8.8.8.8, always sourced from Gi0/1
(the ISP-A interface). The source-interface is critical —
without it, the probe sources from the best-path outgoing interface,
which defeats the purpose when testing a specific WAN link.
frequency 10 — probe every 10 seconds
(default is 60). Faster probing means faster failure detection at the
cost of slightly more traffic.
timeout 3000 — wait 3 seconds for a
response before counting the probe as failed.
threshold 2000 — RTTs above 2000ms are
counted as threshold violations even if the probe technically succeeds.
ip sla schedule 1 life forever start-time now
— starts the operation immediately and keeps it running indefinitely.
Without the schedule command, the SLA operation is defined but
never runs.
SLA 2 — Monitor ISP-B Reachability
! ── IP SLA operation 2 — probe through ISP-B ───────────── NetsTuts_R1(config)#ip sla 2 NetsTuts_R1(config-ip-sla)#icmp-echo 8.8.4.4 source-interface GigabitEthernet0/2 NetsTuts_R1(config-ip-sla-echo)#frequency 10 NetsTuts_R1(config-ip-sla-echo)#timeout 3000 NetsTuts_R1(config-ip-sla-echo)#threshold 2000 NetsTuts_R1(config-ip-sla-echo)#exit NetsTuts_R1(config)#ip sla schedule 2 life forever start-time now
Optional: TCP Connect Probe (Application-Layer Testing)
! ── SLA 10 — verify a web server is accepting HTTP ─────── NetsTuts_R1(config)#ip sla 10 NetsTuts_R1(config-ip-sla)#tcp-connect 203.0.113.10 80 source-interface GigabitEthernet0/1 NetsTuts_R1(config-ip-sla-tcp)#frequency 30 NetsTuts_R1(config-ip-sla-tcp)#timeout 5000 NetsTuts_R1(config-ip-sla-tcp)#exit NetsTuts_R1(config)#ip sla schedule 10 life forever start-time now
5. Step 3 — Configure Object Tracking
Object tracking converts the numeric IP SLA result into a named Up/Down state that IOS features can react to. The delay parameters prevent route or HSRP flapping during brief probe failures — a single missed probe does not immediately trigger a route change:
! ── Track 1 — watches SLA 1 (ISP-A) reachability ───────── NetsTuts_R1(config)#track 1 ip sla 1 reachability NetsTuts_R1(config-track)#delay down 15 up 10 NetsTuts_R1(config-track)#exit ! ── Track 2 — watches SLA 2 (ISP-B) reachability ───────── NetsTuts_R1(config)#track 2 ip sla 2 reachability NetsTuts_R1(config-track)#delay down 15 up 10 NetsTuts_R1(config-track)#exit
track 1 ip sla 1 reachability creates
tracked object 1 that mirrors the reachability state of SLA operation
1. When SLA 1 receives responses, Track 1 is Up. When SLA 1 stops
receiving responses, Track 1 transitions to Down.
delay down 15 up 10 introduces damping:
the SLA must fail continuously for 15 seconds before Track 1 goes Down
(preventing a single dropped probe from triggering failover), and
must succeed for 10 seconds before Track 1 returns to Up (preventing
premature recovery on a flapping link). Choosing appropriate delay
values depends on the SLA frequency — with a 10-second frequency,
a 15-second down delay means approximately 1–2 missed probes
before failover triggers.
Track Interface Line-Protocol (Alternative Tracking)
! ── Track 10: watches the physical state of Gi0/1 ──────── ! ── Simpler than IP SLA but only detects local interface ! ── failure — cannot detect upstream ISP circuit failure NetsTuts_R1(config)#track 10 interface GigabitEthernet0/1 line-protocol NetsTuts_R1(config-track)#delay down 5 up 5 NetsTuts_R1(config-track)#exit
show interfaces to see current interface states.
IP SLA probing to a far-end target is the only way to detect
end-to-end path failures — which is why it is the preferred method
for WAN failover.
6. Step 4 — Tracked Floating Static Routes
A floating static route is a static route with a higher administrative distance than the primary route, so it remains hidden in the routing table until the primary route is removed. Combining floating static routes with object tracking creates fully automatic WAN failover: the primary route is only installed when Track 1 is Up, and the backup route activates when the primary is removed. See Static Route Configuration for static routing fundamentals:
! ── PRIMARY default route — ISP-A ──────────────────────── ! ── AD 1 (default for static) — installed when Track 1 is Up ! ── Removed from routing table when Track 1 goes Down ──── NetsTuts_R1(config)#ip route 0.0.0.0 0.0.0.0 203.0.113.2 track 1 ! ── BACKUP default route — ISP-B ───────────────────────── ! ── AD 5 — only visible when primary route is gone ─────── ! ── Installed when Track 2 is Up and primary is Down ───── NetsTuts_R1(config)#ip route 0.0.0.0 0.0.0.0 198.51.100.2 5 track 2 NetsTuts_R1(config)#end NetsTuts_R1#wr Building configuration... [OK]
track 1 keyword at the end of the
primary static route tells IOS: "only install this route in the routing
table while Track 1 is Up. Remove it when Track 1 goes Down."
The backup route uses administrative distance 5
(higher than the primary's default of 1) so it is never preferred
while the primary exists, but becomes the active default route
the moment the primary is removed. The track 2 on the
backup adds an additional condition — the backup route is only
installed if ISP-B itself is reachable. This prevents the backup from
activating if ISP-B is also down.
Verify Routing Table — Normal Operation (Both ISPs Up)
NetsTuts_R1#show ip route
Codes: C - connected, S - static ...
Gateway of last resort is 203.0.113.2 to network 0.0.0.0
S* 0.0.0.0/0 [1/0] via 203.0.113.2
10.0.0.0/24 is variably subnetted, 2 subnets, 2 masks
C 10.0.0.0/24 is directly connected, GigabitEthernet0/0
C 203.0.113.0/30 is directly connected, GigabitEthernet0/1
C 198.51.100.0/30 is directly connected, GigabitEthernet0/2
Verify Routing Table — ISP-A Failure (Primary Route Removed)
! ── Simulate ISP-A failure — Track 1 transitions to Down ─
! ── (In production this happens automatically via SLA probes)
! ── After ~15 seconds (delay down timer), routing changes:
NetsTuts_R1#show ip route
Codes: C - connected, S - static ...
Gateway of last resort is 198.51.100.2 to network 0.0.0.0
S* 0.0.0.0/0 [5/0] via 198.51.100.2
10.0.0.0/24 is variably subnetted, 2 subnets, 2 masks
C 10.0.0.0/24 is directly connected, GigabitEthernet0/0
C 203.0.113.0/30 is directly connected, GigabitEthernet0/1
C 198.51.100.0/30 is directly connected, GigabitEthernet0/2
7. Step 5 — HSRP Priority Tracking
HSRP tracking links gateway redundancy to WAN health. Without it, R1 could remain the HSRP active gateway even after its ISP-A link fails — LAN hosts keep sending traffic to R1, which then blackholes it because the primary WAN is down. With HSRP tracking, R1 reduces its priority when ISP-A fails, causing R2 (which may have a working WAN connection) to take over as the active gateway. See FHRP — HSRP, VRRP & GLBP Lab for the complete HSRP setup:
! ── Configure HSRP on R1's LAN interface ───────────────── NetsTuts_R1(config)#interface GigabitEthernet0/0 NetsTuts_R1(config-if)#standby version 2 NetsTuts_R1(config-if)#standby 1 ip 10.0.0.254 NetsTuts_R1(config-if)#standby 1 priority 110 NetsTuts_R1(config-if)#standby 1 preempt ! ── Link Track 1 to HSRP — decrement priority on failure ─ NetsTuts_R1(config-if)#standby 1 track 1 decrement 20 NetsTuts_R1(config-if)#exit ! ── R2 HSRP config (default priority 100) ───────────────── ! ── Configured on NetsTuts_R2 ──────────────────────────── ! NetsTuts_R2(config)#interface GigabitEthernet0/0 ! NetsTuts_R2(config-if)#standby version 2 ! NetsTuts_R2(config-if)#standby 1 ip 10.0.0.254 ! NetsTuts_R2(config-if)#standby 1 priority 100 ! NetsTuts_R2(config-if)#standby 1 preempt NetsTuts_R1(config)#end NetsTuts_R1#wr Building configuration... [OK]
preempt enabled on R2, R2 takes over as Active.
LAN hosts' traffic now flows through R2.
ISP-A recovery: Track 1 returns to Up. R1's priority
returns to 110. With preempt on R1, R1 reclaims Active.
The decrement value (20) must be large enough to push R1 below R2's
priority — always verify: R1_priority - decrement < R2_priority.
Verify HSRP Tracking — Normal State
NetsTuts_R1#show standby GigabitEthernet0/0
GigabitEthernet0/0 - Group 1 (version 2)
State is Active
3 state changes, last state change 00:08:14
Virtual IP address is 10.0.0.254
Active virtual MAC address is 0000.0c9f.f001
Local virtual MAC address is 0000.0c9f.f001 (v2 default)
Hello time 3 sec, hold time 10 sec
Next hello sent in 1.984 secs
Preemption enabled
Active router is local
Standby router is 10.0.0.2
Priority 110 (configured 110)
Track object 1 state Up decrement 20
IP redundancy name is "hsrp-Gi0/0-1" (default)
Verify HSRP During ISP-A Failure
! ── After Track 1 goes Down (ISP-A failure simulated) ────
NetsTuts_R1#show standby GigabitEthernet0/0
GigabitEthernet0/0 - Group 1 (version 2)
State is Standby
4 state changes, last state change 00:00:18
Virtual IP address is 10.0.0.254
Active virtual MAC address is 0000.0c9f.f001
Local virtual MAC address is 0000.0c9f.f001 (v2 default)
Preemption enabled
Active router is 10.0.0.2, priority 100 (expires in 8.192 sec)
Standby router is local
Priority 90 (configured 110, track 1 decrement 20)
Track object 1 state Down decrement 20
8. Step 6 — Verifying IP SLA Statistics
show ip sla statistics — Current Results
NetsTuts_R1#show ip sla statistics
IPSLAs Latest Operation Statistics
IPSLA operation id: 1
Latest RTT: 14 milliseconds
Latest operation start time: 08:42:30 UTC Sun Mar 08 2026
Latest operation return code: OK
Number of successes: 87
Number of failures: 0
Operation time to live: Forever
IPSLA operation id: 2
Latest RTT: 18 milliseconds
Latest operation start time: 08:42:33 UTC Sun Mar 08 2026
Latest operation return code: OK
Number of successes: 85
Number of failures: 0
Operation time to live: Forever
life forever — the operation runs indefinitely
and does not expire.
show ip sla statistics — After ISP-A Failure
NetsTuts_R1#show ip sla statistics
IPSLAs Latest Operation Statistics
IPSLA operation id: 1
Latest RTT: NoConnection/Busy/Timeout
Latest operation start time: 08:55:20 UTC Sun Mar 08 2026
Latest operation return code: Timeout
Number of successes: 87
Number of failures: 9
Operation time to live: Forever
IPSLA operation id: 2
Latest RTT: 18 milliseconds
Latest operation start time: 08:55:23 UTC Sun Mar 08 2026
Latest operation return code: OK
Number of successes: 97
Number of failures: 0
Operation time to live: Forever
show ip sla statistics detail
NetsTuts_R1#show ip sla statistics 1 detail
IPSLAs Latest Operation Statistics
IPSLA operation id: 1
Type of operation: icmp-echo
Latest RTT: 14 milliseconds
Source Address: GigabitEthernet0/1 (203.0.113.1)
Destination Address: 8.8.8.8
Latest operation start time: 08:42:30 UTC Sun Mar 08 2026
Latest operation return code: OK
Threshold: 2000 ms
Threshold count: 0
Number of successes: 87
Number of failures: 0
Operation time to live: Forever
Operational state of entry: Active
Last time this entry was reset: Never
show track — Object Tracking State
NetsTuts_R1#show track
Track 1
IP SLA 1 Reachability
Reachability is Up
1 change, last change 00:14:22
Delay up 10 secs, down 15 secs
Latest operation return code: OK
Latest RTT (millisecs) 14
Tracked by:
Static IP Routing 0
HSRP GigabitEthernet0/0 1
Track 2
IP SLA 2 Reachability
Reachability is Up
0 changes, last change never
Delay up 10 secs, down 15 secs
Latest operation return code: OK
Latest RTT (millisecs) 18
Tracked by:
Static IP Routing 0
show track is the central status dashboard for all
tracked objects. Reachability is Up — both ISP
paths are healthy. 1 change, last change 00:14:22
on Track 1 — confirms there was a previous failover and recovery
event 14 minutes ago, providing an audit trail. Tracked
by: — shows exactly which features are listening to this
track object: Track 1 is used by both a static route
(Static IP Routing 0) and HSRP Group 1 on Gi0/0. This cross-reference
is invaluable for impact analysis — before removing a track object,
confirm everything that depends on it.
show ip sla configuration — Verify SLA Definition
NetsTuts_R1#show ip sla configuration 1 IP SLAs Infrastructure Engine-II Entry number: 1 Owner: Tag: Type of operation to perform: icmp-echo Target address/Source address: 8.8.8.8/203.0.113.1 Source Interface: GigabitEthernet0/1 Type Of Service parameters: 0x0 Request size (ARR data portion): 28 Operation timeout (milliseconds): 3000 Frequency (seconds): 10 Next Scheduled Start Time: Start Time already passed Group Scheduled : FALSE Randomly Scheduled : FALSE Life (seconds): Forever Entry Ageout (seconds): never Recurring (Starting Everyday): FALSE Status of entry (SNMP RowStatus): Active Threshold (milliseconds): 2000 Distribution Statistics: Number of statistic hours kept: 2 Number of statistic distribution buckets kept: 1 Statistic distribution interval (milliseconds): 20 Enhanced History:
Verification Command Summary
| Command | What It Shows | Primary Use |
|---|---|---|
show ip sla statistics |
All SLA operations — latest RTT, return code, success/failure counts, time to live | Primary health check — instantly see if any probe is failing and how many times |
show ip sla statistics [id] detail |
Full detail for one SLA — source/destination, threshold, state, reset history | Deep-dive a specific probe — confirm source interface, timeout, threshold violations |
show ip sla configuration [id] |
Complete configuration of one SLA — all parameters as configured | Verify SLA is defined correctly before troubleshooting statistics |
show ip sla summary |
Brief one-line-per-operation summary — state, RTT, return code | Quick overview when many SLA operations are configured |
show track |
All track objects — state (Up/Down), change count, last change time, what is using each track | Central tracking dashboard — see current state and what features depend on each track object |
show track [id] |
Detail for one tracked object — SLA association, delays, tracked-by list | Confirm a specific track is tied to the right SLA and feature |
show track brief |
Concise one-line per tracked object — ID, type, state, change count | Quick state check across all track objects simultaneously |
show ip route |
Routing table — confirms tracked static routes are installed or removed | Verify failover worked — primary route should be absent when Track is Down |
show standby [int] |
HSRP group detail — state, priority (actual vs configured), track state | Confirm HSRP tracking is active and priority decrement is or is not applied |
show ip route [prefix] |
Detail on a specific route — AD, metric, age, next-hop | Confirm the correct default route is installed during normal and failover states |
9. Troubleshooting IP SLA & Tracking Issues
| Problem | Symptom | Cause | Fix |
|---|---|---|---|
| SLA always shows Timeout / failures | show ip sla statistics shows return code Timeout and rising failure count from the moment it starts |
Most common causes: (1) no route to the probe target — the SLA operation cannot reach 8.8.8.8 because no default or specific route exists yet, (2) wrong source-interface — probes are sourced from an interface that cannot reach the target, (3) an ACL blocking ICMP on the path | Manually ping the target from the correct source: ping 8.8.8.8 source GigabitEthernet0/1. If this fails, fix the routing issue first. If ping works but SLA still fails, check ACLs on the path. Verify source-interface in show ip sla configuration [id] |
| SLA probe never starts | show ip sla statistics shows the entry but Latest RTT shows "—" and success count is 0 |
The ip sla schedule command was not entered, or was entered with a future start time that has not arrived yet |
Check with show ip sla configuration [id] — look at "Next Scheduled Start Time". If missing schedule, add ip sla schedule [id] life forever start-time now. The schedule command is separate from the SLA definition and is mandatory for probes to run |
| Tracked route not removed on failure | SLA shows failures and Track shows Down, but show ip route still shows the primary static route |
The track keyword is missing from the static route command — the route was configured without tracking and is a plain static route unaffected by the track state |
Check with show run | include ip route. If the route lacks the track [id] keyword, remove it and re-add with tracking: no ip route 0.0.0.0 0.0.0.0 203.0.113.2 then ip route 0.0.0.0 0.0.0.0 203.0.113.2 track 1 |
| Route flapping during intermittent ISP issues | The routing table alternates rapidly between primary and backup routes every few minutes — logs show constant track state changes | The delay timers on the track object are too short (or zero) — a single probe failure immediately triggers a Down transition, and a single success triggers Up again | Increase the delay timers: track [id] → delay down 30 up 20. Also consider increasing the SLA frequency (less frequent probing = slower reaction to transient failures). The down delay should be at least 2–3× the SLA frequency to absorb intermittent failures |
| HSRP not failing over despite Track going Down | show track confirms Track 1 is Down but R1 remains HSRP Active and R2 does not take over |
Either (1) the standby 1 track 1 decrement 20 command is missing on R1, or (2) the decrement is too small — R1's priority after decrement is still higher than R2's priority, or (3) R2 does not have standby 1 preempt configured |
Verify the decrement math: R1 configured priority (110) minus decrement (20) = 90, which must be LESS than R2's priority (100). Confirm R2 has preempt. Check R1 with show standby to see both the configured and effective priority. Add the track command if missing. See FHRP Lab for HSRP troubleshooting. |
| Both routes disappear when primary ISP fails | Track 1 goes Down, primary route removed — but backup route also does not appear in routing table | Track 2 (ISP-B) is also Down — the backup route has track 2 applied and ISP-B is also unreachable, or the backup route was configured without the correct AD value and was never a floating backup |
Check show ip sla statistics 2 and show track 2. If ISP-B probe is also failing, the backup WAN has an issue. If ISP-B is fine, check the track 2 configuration. Also verify the backup route has a higher AD than the primary: show run | include ip route 0.0.0.0 |
Key Points & Exam Tips
- IP SLA sends continuous active probes — ICMP echo, TCP connect, UDP jitter, HTTP, DNS — to measure reachability and performance. Unlike interface tracking, IP SLA can detect remote path failures even when the local interface stays up, making it essential for WAN failover.
- IP SLA configuration requires two separate commands: (1) define the operation with
ip sla [id]and its parameters, and (2) schedule it withip sla schedule [id] life forever start-time now. Without the schedule command, the probe is defined but never runs — the most common IP SLA configuration mistake. source-interfacein the SLA probe is critical for WAN path testing. Without it, the probe uses the best-path outgoing interface — which may not be the WAN link you intend to test. Always specify the source interface when monitoring a specific WAN path.- Object tracking bridges IP SLA measurements to IOS actions.
track [id] ip sla [sla-id] reachabilityexposes the SLA state as a simple Up/Down that static routes, HSRP, and EEM can react to. Usedelay down [s] up [s]on the track object to prevent flapping — a minimum of 2–3× the SLA frequency is recommended. - A tracked static route uses the
track [id]keyword at the end of theip routecommand. The route is installed when the track is Up and automatically removed when the track goes Down. The backup floating route (higher AD) then becomes active. See Administrative Distance. - For HSRP tracking, the decrement value must push the tracked router's effective priority below the standby router's priority. Formula: active_priority - decrement < standby_priority. Also ensure the standby router has
preemptconfigured or it will not take over even when it becomes highest priority. See FHRP Lab. show ip sla statisticsis the primary verification command. A return code of OK means the probe succeeded. Timeout means no response was received within the timeout window. Rising failure count with no successes indicates a persistent path failure.show trackshows the current Up/Down state of every track object, the number of state changes, when the last change occurred, and critically — which features (static routes, HSRP) are currently listening to each track. This cross-reference is essential for impact analysis before making changes.- Interface line-protocol tracking (
track [id] interface [int] line-protocol) only detects local interface failure — it cannot detect upstream ISP failures. IP SLA probing to a remote target is the only method that provides true end-to-end path verification. Verify interface states withshow interfaces. - On the CCNA exam: know the two-step IP SLA configuration (define + schedule), the purpose of the
trackkeyword on a static route (route removed when track is Down), the HSRP tracking decrement arithmetic, and how to readshow ip sla statisticsoutput (return code OK vs Timeout, success/failure counts).