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

1
Physical Layer Verification

Check interface status, cable connections, and link-level connectivity

show interfaces
2
IS-IS Configuration Review

Verify IS-IS process, NET addresses, and interface configuration

show running-config | section isis
3
Adjacency Analysis

Check neighbor relationships and adjacency states

show isis neighbors detail
4
Database Examination

Verify LSP database consistency and content

show isis database detail
5
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

IS-IS: Adjacency to [neighbor] Down, DIS change

Cause: DIS election change due to priority or router failure

Action: Verify DIS priorities and interface status

IS-IS: Authentication failed for [interface]

Cause: Authentication key mismatch between neighbors

Action: Verify authentication configuration on both sides

IS-IS: LSP too large, fragmentation required

Cause: LSP size exceeds MTU, requiring fragmentation

Action: Check interface MTU settings or reduce LSP content

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

DOWN
Initial state, no Hello received
INIT
Hello received, but not acknowledged
UP
Bidirectional communication established

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

Are interfaces UP?
NO → Check physical layer
YES ↓
Is IS-IS enabled on interface?
NO → Add 'ip router isis'
YES ↓
Do area addresses overlap?
NO → Fix area configuration
YES ↓
Are IS types compatible?
NO → Adjust is-type settings
YES ↓
Check authentication, MTU, timers

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