The user reported they were unable to fetch ISIS adjacency status on the ISIS enable interface.
Earlier, the user was polling OID: 1.3.6.1.2.1.138.1.6.1.1.2 which would give equivalent information of "show isis adjacency" but this is not the correct way to poll ISIS interface status.
"show isis adjacency" holds information about the adjacency formed between the neighbor. If ISIS is up on both routers and they accept the hello messages for adjacency, this entry gets populated in this table.
If, due to some problem between the links, ISIS interface goes down on the remote router, then ISIS adjacency will also go down. It will reflect in the "show isis adjacency" table as being down until the hold timer expires and will return the value "down(1)" if the user is polling. Once the timer is expired, the entry will be deleted, and if the user is still polling the down interface, it will return the value as "nan" (not a number).
The user wanted another mib to fetch number of adjacency on the ISIS enabled interface.So using the above OID for polling ISIS adjacency on the interface is not reliable.
I have found a MIB that fulfils the user requirement of reporting the number of adjacencies on the interface. This MIB can also be used to track point-to-point adjacency status.
The below example covers both point-to-point and broadcast, or either of these network types.
Return Value as number of session:
(1) ------->> One session for Point-to-point (n) ------->> "n" can be any number greater than "1" for Broadcast (0) ------->> Zero session || down
******************* Below is an example: *********************
++++++++++++ Topology +++++++++++++++
++++++++++++ ISIS adjacency UP on R2 +++++++++++++++
>> ISIS adjacency and interface both are UP.
>> ge-0/0/1 is point-to-point and ge-0/0/2 is broadcast.
>> SNMP ID for ge-0/0/1: 575 and ge-0/0/2: 576
regress@R2_RE> show interfaces extensive | match 0/0/1.0 Logical interface ge-0/0/1.0 (Index 357) (SNMP ifIndex 575) (Generation 166) regress@R2_RE> show interfaces extensive | match 0/0/2.0 Logical interface ge-0/0/2.0 (Index 358) (SNMP ifIndex 576) (Generation 167) regress@R2_RE> show isis adjacency Interface System L State Hold (secs) SNPA ge-0/0/1.0 R1_RE 2 Up 4 ge-0/0/2.0 R5_RE 2 Up 4 56:4:d:0:1d:e0 ge-0/0/2.0 R3_RE 2 Up 4 56:4:d:0:27:84 ge-0/0/2.0 R4_RE 2 Up 4 56:4:d:0:6e:f4 regress@R2_RE> show snmp mib walk 1.3.6.1.2.1.138.1.5.2.1.3 isisCircNumAdj.575.3 = 1 isisCircNumAdj.576.2 = 3
++++++++++++ Deactivate "protocols isis interface" on remote routers R1 and R3 +++++++++++++++
>> Deactivating protocol ISIS on R1 and R3, it does not bring the interface down, but it does bring down the adjacency.
>> ISIS interface will be "UP" on all the routers.
>> MIB is returning value "(0)" for interface: ge-0/0/1 and value "2" for ge-0/0/2. The value is reported even after the entry in the adjacency table is deleted.
+++++++ On R2
regress@R2_RE> show isis adjacency Interface System L State Hold (secs) SNPA ge-0/0/1.0 R1_RE 2 Down 0 ge-0/0/2.0 R5_RE 2 Up 4 56:4:d:0:1d:e0 ge-0/0/2.0 R3_RE 2 Down 0 56:4:d:0:27:84 ge-0/0/2.0 R4_RE 2 Up 4 56:4:d:0:6e:f4 regress@R2_RE> show isis adjacency Interface System L State Hold (secs) SNPA ge-0/0/2.0 R5_RE 2 Up 4 56:4:d:0:1d:e0 ge-0/0/2.0 R4_RE 2 Up 4 56:4:d:0:6e:f4 regress@R2_RE> show arp no-resolve | match 0/0 56:04:0d:00:62:35 100.0.0.1 ge-0/0/1.0 none 56:04:0d:00:27:84 200.0.0.3 ge-0/0/2.0 none 56:04:0d:00:6e:f4 200.0.0.4 ge-0/0/2.0 none 56:04:0d:00:1d:e0 200.0.0.5 ge-0/0/2.0 none regress@R2_RE> show snmp mib walk 1.3.6.1.2.1.138.1.5.2.1.3 isisCircNumAdj.575.3 = 0 ----------------> Point-to-point adjacency (R1 isis is down) isisCircNumAdj.576.2 = 2 ----------------> Broadcast adjacency (R3 isis is down)