Tracing IS-IS Protocol Traffic

Problem

You are setting up IS-IS on your network and want to keep a running log of IS-IS protocol packets that the router is sending to help you track any problems that might occur during the configuration process.

Solution

Set up a tracing file that captures information about IS-IS protocol operations:

[edit protocols isis] aviva@RouterJ# set traceoptions file isis-logs aviva@RouterJ# set traceoptions flag error aviva@RouterJ# set traceoptions flag general aviva@RouterJ# set traceoptions flag normal

To stop the tracing, remove the traceoptions statement from the configuration:

[edit protocols isis] aviva@RouterJ# delete traceoptions

Discussion

To debug IS-IS operations, use the JUNOS tracing facility to track the packets that IS-IS is sending and receiving. You specify the name of the file to which you want to collect the information and the type of information you want to trace. In this example, we set three flags to track normal operations and errors in the file isis-logs, which is on the routers hard disk in the directory /var/log (on M-series and T-series routers) and /cf/var/log (on J-series routers).

When you are first bringing up an IS-IS network, you may find that an adjacency is not establishing between two Level 1 routers:

aviva@RouterJ> show isis adjacency Interface System L State Hold (secs) SNPA fe-0/0/1.0 RouterF 1 Down 0 0:5:85:c1:86:31 fe-1/0/0.0 RouterH 2 Up 22 0:5:85:c1:d1:f4 fe-1/0/1.0 RouterG 2 Up 24 0:5:85:c2:2e:f5

The logfile shows where the problem is:

aviva@RouterJ> show log isis-logs | last Jun 25 12:47:15 ERROR: IIH from RouterG with no matching areas, interface fe-1/0/1.0 Jun 25 12:47:15 local area 49.0050 Jun 25 12:47:15 remote area 49.0020 (3 bytes) Jun 25 12:47:15 ERROR: IIH from RouterF with no matching areas, interface fe-0/0/1.0 Jun 25 12:47:15 local area 49.0050 Jun 25 12:47:15 remote area 49.0051 (3 bytes)

The second error shows that the adjacency to the Level 1 router RouterF is down because RouterJ is in Area 50, while RouterF has been accidentally misconfigured to be in Area 51. You might wonder why we are not concerned with the first error in the file, which also reports an area mismatch. We don care about this because RouterG is another Level 2 router and is in a different area (Area 20), so its fine for it to have a different area number.

Over time, the IS-IS logfiles can become very large and fill up the routers hard disk. To save the logfile for future analysis, you can copy the file to a server:

aviva@RouterJ> file copy /cf/var/log/isis-logs server1:isis-logs-20050625

If you no longer need the information in the file, you can delete the contents:

aviva@RouterJ> clear log isis-logs

Deleting the files contents does not turn off tracing.

To stop the tracing altogether, you can remove the traceoptions statement from the configuration with the delete traceoptions command or you can leave the statements in the configuration and simply deactivate them so that they do not take effect when you commit the configuration:

[edit protocols isis] aviva@RouterJ# deactivate traceoptions

To delete the logfiles and the rolled-over version of the file, use the file delete command:

aviva@RouterJ> file delete isis-logs*

When debugging IS-IS, you can set one or more of the following trace flags to capture IS-IS information:

[edit protocols isis traceoptions] aviva@RouterA# set flag ? Possible completions: all Trace everything csn Trace complete sequence number (CSN) packets error Trace errored packets general Trace general events graceful-restart Trace graceful restart events hello Trace hello packets lsp Trace link-state packets lsp-generation Trace LSP generation normal Trace normal events packets Trace IS-IS packets policy Trace policy processing psn Trace partial sequence number (PSN) packets route Trace routing information spf Trace SPF events state Trace state transitions task Trace routing protocol task processing timer Trace routing protocol timer processing

Using some of the other flags, you can see IS-IS protocol packet exchanges:

Jun 25 13:06:31 Sending L2 CSN on interface fe-1/0/0.0 Jun 25 13:06:31 LSP range 0000.0000.0000.00-00 to ffff.ffff.ffff.ff-ff Jun 25 13:06:31 packet length 131 Jun 25 13:06:31 Received L1 LAN IIH, source id RouterH on fe-1/0/0.0 Jun 25 13:06:31 ERROR: IIH from RouterH with no matching areas, interface fe-1/0/0.0 Jun 25 13:06:31 local area 49.0050 Jun 25 13:06:31 remote area 49.0030 (3 bytes) Jun 25 13:06:31 ISIS L2 periodic xmit to 01:80:c2:00:00:15 interface fe-1/0/1.0 Jun 25 13:06:31 ISIS L2 periodic xmit to 01:80:c2:00:00:15 interface fe-1/0/0.0 Jun 25 13:06:31 ISIS L2 hello from RouterH interface fe-1/0/0.0 absorbed Jun 25 13:06:32 Sending L2 CSN on interface fe-1/0/1.0 Jun 25 13:06:32 LSP range 0000.0000.0000.00-00 to ffff.ffff.ffff.ff-ff Jun 25 13:06:32 packet length 131 Jun 25 13:06:32 Sending L1 CSN on interface fe-0/0/1.0 Jun 25 13:06:32 LSP range 0000.0000.0000.00-00 to ffff.ffff.ffff.ff-ff Jun 25 13:06:32 packet length 83 Jun 25 13:06:32 Received L1 LAN IIH, source id RouterG on fe-1/0/1.0 Jun 25 13:06:32 ERROR: IIH from RouterG with no matching areas, interface fe-1/0/1.0 Jun 25 13:06:32 local area 49.0050 Jun 25 13:06:32 remote area 49.0020 (3 bytes) Jun 25 13:06:33 ISIS L1 hello from RouterF interface fe-0/0/1.0 absorbed Jun 25 13:06:33 ISIS L1 periodic xmit to 01:80:c2:00:00:14 interface fe-0/0/1.0 Jun 25 13:06:33 ISIS L2 hello from RouterG interface fe-1/0/1.0 absorbed

This logfile snippet shows that IS-IS exchanges complete sequence number (CSN) LSPs with one of its Level 2 and one of its Level 1 neighbors. You also see the periodic transmission of IS-IS Hello packets.

See Also

Recipe 5.10

Категории