ISIS – Adjacency Requirements
1. Intro
Often times, troubleshooting an ISIS adjacency between two routers is not a smooth process. Well, it can be if you don’t clearly know all requirements. In this post we will see all ISIS adjacency requirements and how to troubleshoot when the neighbors are not UP.
As a network engineer we must know all these requirements and quickly be able to fix any mismatch that can prevent the ISIS adjacencies from happening. This can also be part of the JNCIE exam where fixing the ISIS adjacencies with speed is essential.
2. ISIS Adjacency Requirements
First, let’s list all ISIS adjacency requirements:
- NET Addressing must be configured
- Area must match (for L1 Adjacencies)
- ISIS Level must be correctly configured (works in conjunction with the previous step)
- Include lo0 as an IS-IS Interface
- Configure iso family on the interface
- Interfaces must support minimum MTU of 1492
- Interface type must match
- Authentication type and key must match
3. ISIS Show commands
With some practice, you will easily spot the ISIS adjacency issues with the following commands:
show configuration protocol isis
show interfaces
show isis neighbors
show isis interfaces
show isis authentication
show isis statistics
show isis database
show log isis.log
3. ISIS Traceoptions
To configure ISIS traceoptions use the commands presented bellow. Remember that you can use different flag options to filter and limit the number of generated logs, this will make it easier to spot the issues.
set protocols isis traceoptions file isis.log
set protocols isis traceoptions flag error detail
To view the content of the configured trace options file you can use the commands presented bellow. You can search for specific words in the log file (e.g.: | match mismatch ) to make it easier to pinpoint the issue. Be creative when and use different keywords when checking the log file, use keywords like: matching, mismatch, ignored, fail/failure, error, NBRDOWN, down, MTU, etc.
show log isis.log
show log isis.log | match mismatch
Find bellow different traceoptions logs as examples:
root@R1# set protocols isis traceoptions file isis.log
root@R1# set protocols isis traceoptions flag error detail
[edit]
root@R1# show |compare
[edit protocols isis]
+ traceoptions {
+ file isis.log;
+ flag error detail;
+ }
[edit]
root@R1# commit
commit complete
### Run the 'show log isis.log' command and observe the logs:
### No matching area:
Jun 19 07:28:20.776707 ERROR: IIH from R3 with no matching areas, interface ge-0/0/2.0
### No matching level:
Jun 19 07:34:44.042435 ERROR: IIH from R3 with no matching level, interface ge-0/0/2.0, circuit type 1
### No matching interface (if not added to isis):
Jun 19 07:39:16.812934 ISIS packet ignored: no matching interface
### No matching authentication:
Jun 19 07:49:21.631455 ERROR: IIH from R3 on ge-0/0/2.0 without authentication
### No matching addresses:
Jun 19 07:59:46.736483 ERROR: IIH from R3 without matching addresses, interface ge-0/0/2.0
### Run the 'show log messages | last | match isis' command and observe the logs:
Jun 19 07:49:21 R1 rpd[19418]: RPD_ISIS_ADJDOWN: IS-IS lost L1 adjacency to R3 on ge-0/0/2.0, reason: Bad Hello
Jun 19 07:27:44 R1 rpd[19418]: RPD_ISIS_ADJDOWN: IS-IS lost L1 adjacency to R3 on ge-0/0/2.0, reason: ISO Area Mismatch
External Resources: