Common IS-IS Issues
Systematic Troubleshooting Approach
Effective IS-IS troubleshooting requires a systematic approach. Start with basic connectivity, verify configuration, check adjacencies, examine LSP database, and finally review routing tables. This methodical process helps identify root causes quickly.
IS-IS Troubleshooting Methodology
Physical Layer Verification
Check interface status, cable connections, and link-level connectivity
show interfaces
IS-IS Configuration Review
Verify IS-IS process, NET addresses, and interface configuration
show running-config | section isis
Adjacency Analysis
Check neighbor relationships and adjacency states
show isis neighbors detail
Database Examination
Verify LSP database consistency and content
show isis database detail
Routing Table Verification
Check final routing table entries and path selection
show ip route isis
Common Problem Categories
Adjacency Issues
- Neighbors not forming adjacencies
- Adjacencies flapping
- Authentication failures
- MTU mismatches
- Area ID mismatches
Routing Problems
- Missing routes in routing table
- Suboptimal path selection
- Routing loops
- Slow convergence
- Route filtering issues
Database Issues
- LSP database inconsistencies
- Corrupted LSPs
- LSP flooding problems
- Sequence number issues
- Database overload
Configuration Errors
- Incorrect NET addresses
- Wrong IS-IS levels
- Interface not enabled for IS-IS
- Metric configuration errors
- Passive interface mistakes
Quick Diagnostic Commands
Essential Troubleshooting Commands
# Quick status overview
show isis
show isis summary
# Interface and neighbor status
show isis interface brief
show isis neighbors
# Database and routing verification
show isis database
show ip route isis summary
# Check for common issues
show isis topology
show clns neighbors
show isis spf-log
Common Error Messages
Adjacency Problems
Adjacency Formation Requirements
IS-IS adjacencies require several parameters to match between neighbors. Understanding these requirements is crucial for troubleshooting adjacency issues.
Critical Adjacency Parameters
Parameter | Requirement | Level | Troubleshooting Command |
---|---|---|---|
Area Address | Must overlap (Level-1) | Level-1 only | show isis neighbors detail |
IS Type | Compatible levels | Both | show isis neighbors |
Authentication | Keys must match | Both | debug isis adj-packets |
MTU | Must be compatible | Both | show interfaces |
Hello Interval | Should be consistent | Both | show isis interface detail |
Adjacency States
Common Adjacency Issues
Adjacency Stuck in INIT State
Symptoms: Neighbor shows in INIT state, not progressing to UP
Common Causes:
- Unidirectional link failure
- Hello packet filtering
- Interface type mismatch
- Network type configuration error
Troubleshooting Steps:
# Check bidirectional connectivity
ping [neighbor-ip]
show isis neighbors detail
# Verify Hello packet exchange
debug isis hello-packets
debug isis adj-packets
# Check interface configuration
show isis interface detail
show running-config interface [interface]
Adjacency Flapping
Symptoms: Adjacency continuously goes UP and DOWN
Common Causes:
- Unstable physical link
- Hello/Hold timer mismatch
- High CPU utilization
- Authentication issues
- MTU problems
Troubleshooting Steps:
# Check interface stability
show interfaces [interface]
show interfaces [interface] counters errors
# Monitor adjacency changes
show isis neighbors
show logging | include ISIS
# Check timers and authentication
show isis interface [interface] detail
debug isis adj-packets
No Adjacency Formation
Symptoms: No neighbors detected, adjacency never forms
Common Causes:
- IS-IS not enabled on interface
- Interface in passive mode
- Area address mismatch (Level-1)
- Incompatible IS types
- Physical connectivity issues
Troubleshooting Steps:
# Verify IS-IS configuration
show isis interface
show running-config | section router isis
# Check area addresses and levels
show isis
show clns neighbors
# Test basic connectivity
ping [neighbor-ip]
show cdp neighbors
Adjacency Troubleshooting Flowchart
Routing Issues
IS-IS Routing Problem Diagnosis
Routing issues in IS-IS can manifest as missing routes, suboptimal paths, or routing loops. Systematic analysis of the LSP database and routing table helps identify the root cause.
Common Routing Problems
Missing Routes
Possible Causes:
- Route not in LSP database
- LSP not flooding properly
- SPF calculation issues
- Route filtering blocking advertisements
- Administrative distance conflicts
Diagnostic Approach:
# Check if route exists in LSP database
show isis database detail | include [prefix]
# Verify LSP contains the route
show isis database [lsp-id] detail
# Check routing table
show ip route [prefix]
show ip route isis
# Look for filtering
show ip protocols
show route-map [map-name]
Suboptimal Routing
Possible Causes:
- Incorrect metric configuration
- Missing link in SPF calculation
- Route leaking issues
- Load balancing not configured
- Area design problems
Diagnostic Approach:
# Check current path and metric
show ip route [prefix] detail
show isis topology [prefix]
# Verify all available paths
show isis database detail | include [destination]
# Check SPF calculation results
show isis spf-log
show isis topology summary
# Examine metrics
show isis interface detail
Routing Loops
Possible Causes:
- Route redistribution loops
- Area boundary configuration errors
- Route leaking misconfigurations
- Summary route issues
- Multiple routing protocol interactions
Diagnostic Approach:
# Trace route path
traceroute [destination]
# Check route sources
show ip route [prefix] detail
show ip protocols
# Examine redistribution
show route-map [redistribution-map]
show isis database detail
# Monitor routing updates
debug ip routing
debug isis rib
Convergence Issues
Slow Convergence Troubleshooting
Convergence Factors
- Hello/Dead timer settings
- SPF calculation delays
- LSP generation throttling
- Network size and topology
- CPU and memory resources
Optimization Techniques
- Tune SPF timers
- Implement BFD
- Use appropriate hello intervals
- Optimize area design
- Configure event dampening
Route Installation Issues
Route Installation Troubleshooting
# Check if route is in RIB
show ip route [prefix]
show ip route database
# Verify administrative distance
show ip protocols
show ip route summary
# Check for conflicts with other protocols
show ip route [prefix] detail
show ip route conflicts
# Monitor route installation
debug ip routing detail
debug isis rib
Performance Analysis
IS-IS Performance Monitoring
# Check SPF statistics
show isis spf-log
show isis spf-log detail
# Monitor memory usage
show isis database summary
show processes memory | include ISIS
# Check CPU utilization
show processes cpu | include ISIS
# Analyze LSP generation
show isis lsp-gen-interval
show isis database | count
Debug Commands
IS-IS Debug Commands
Debug Command Warning
Debug commands can significantly impact router performance. Use them judiciously in production environments and always disable debugging when troubleshooting is complete. Consider using conditional debugging to limit output.
Essential Debug Commands
Adjacency Debugging
# Debug Hello packet exchange
debug isis hello-packets
debug isis hello-packets detail
# Debug adjacency formation
debug isis adj-packets
debug isis adjacency-packets detail
# Debug DIS election
debug isis dis-election
# Conditional debugging for specific neighbor
debug isis adj-packets [neighbor-system-id]
LSP and Database Debugging
# Debug LSP generation
debug isis lsp-gen
debug isis lsp-gen detail
# Debug LSP flooding
debug isis update-packets
debug isis flooding
# Debug database operations
debug isis database-timer
debug isis checksum-errors
# Debug specific LSP
debug isis lsp-gen [lsp-id]
SPF and Routing Debugging
# Debug SPF calculations
debug isis spf-events
debug isis spf-statistics
debug isis spf-triggers
# Debug route installation
debug isis rib
debug isis route-events
# Debug route redistribution
debug isis redistribution-events
# Debug topology changes
debug isis topology-changes
General IS-IS Debugging
# Debug all IS-IS events (use with caution)
debug isis events
# Debug authentication
debug isis authentication
# Debug interface events
debug isis interface-events
# Debug packet processing
debug isis packet-errors
debug isis packet-dump
Conditional Debugging
Limiting Debug Output
# Debug specific interface only
debug condition interface GigabitEthernet0/0
debug isis hello-packets
# Debug specific neighbor
debug condition isis neighbor [system-id]
debug isis adj-packets
# Debug specific level
debug isis hello-packets level-1
debug isis hello-packets level-2
# Clear debug conditions
undebug condition all
no debug condition interface GigabitEthernet0/0
Debug Output Analysis
Interpreting Debug Messages
Hello Packet Debug Example:
ISIS-Adj: Sending L1 LAN IIH on GigabitEthernet0/0, length 1497
ISIS-Adj: Received L1 LAN IIH from 1921.6800.0002 (GigabitEthernet0/0), cir type L1L2, cir id 1921.6800.0002.01, length 1497
ISIS-Adj: Adjacency to 1921.6800.0002 (GigabitEthernet0/0) Up, new adjacency
ISIS-Adj: L1 adj 1921.6800.0002 (GigabitEthernet0/0) initializing: new adjacency
Analysis: This shows successful L1 Hello exchange and adjacency formation.
SPF Calculation Debug Example:
ISIS-Spf: Start L1 SPF 1921.6800.0001.00-00
ISIS-Spf: Add 1921.6800.0001.00-00 to TENT, metric 0
ISIS-Spf: Add 1921.6800.0002.00-00 to TENT, metric 10
ISIS-Spf: Next hop 1921.6800.0002 via GigabitEthernet0/0
ISIS-Spf: End L1 SPF: 15 nodes, 250 routes
Analysis: Shows SPF calculation progress and results.
Debug Best Practices
Time-Limited Debugging
Set a timer when enabling debug commands and disable them after troubleshooting.
terminal monitor | redirect flash:debug-output.txt
Selective Debugging
Use conditional debugging to focus on specific interfaces, neighbors, or events.
debug condition interface [interface]
Output Management
Redirect debug output to files or use logging facilities to manage large volumes of data.
debug isis adj-packets | redirect flash:adjacency-debug.log
Complete Cleanup
Always disable all debugging when finished to restore normal router performance.
undebug all
Debug Command Reference
Complete Debug Command List
# Enable debugging
debug isis adj-packets [detail] [interface] [neighbor]
debug isis hello-packets [detail] [level-1|level-2]
debug isis lsp-gen [detail] [level-1|level-2]
debug isis spf-events [level-1|level-2]
debug isis update-packets [detail]
# Disable specific debugging
no debug isis adj-packets
no debug isis hello-packets
# Disable all IS-IS debugging
undebug all isis
# Show active debug settings
show debug isis