[j-nsp] Interface Index(ifIndex) changes when router is rebooted

Adam Armstrong lists at memetic.org
Sun Aug 15 13:41:36 EDT 2010


I'm pretty sure this was available almost 10 years ago, as i recall
looking at it ~2002 :)

The issue with polling devices by ifDescr/ifName is that some vendors
have a habit of putting software versions or other silly things into them.

I see relatively few issues with polling most devices directly via
ifIndex these days on most network devices.

Though, I do see issues with IF-MIB, HOST-RESOURCES and UCD-MIB indexes
changing on unix hosts between reboots. This mostly happens when
mountpounts have been moved around, or when interfaces are detected in a
different order because of kernel changes.

We consider ifIndex to be the 'true' identifier of the interface, as
that's what other MIBs generally uses to reference an interface. If we
were to handle ifIndex changing per ifDescr, it would be a
discovery-time thing rather than a polling-time thing, which would take
quite a while to notice.

In our 4 years of existance we've not seen enough instances of ifIndex
changing to justify the logic overhead on handling it. It's already slow
enough to poll 5000 interfaces!

Most vendors seem to handle it quite well today, even vendors as
SNMP-challenged as Cisco can handle persistant (or predictable, as the
case may be) indexes for their sensors and ports.

(We're http://www.observium.org, a GNU-licensed NMS application.)

adam.


On 14/08/2010 17:01, David Ball wrote:
>    MRTG has been able to monitor targets such as
> #ge-7/1/3.1003:community at host:::::2 for a while now.  Not saying it's the
> best tool for monitoring, but the functionality is there and it's been
> adequate for me in certain situations.  I suspect it wasn't able to do this
> 10+ years ago, however.  :)
>
> David
>
>
> On 14 August 2010 07:59, Chris Adams<cmadams at hiwaay.net>  wrote:
>
>> Once upon a time, Paul Stewart<paul at paulstewart.org>  said:
>>> I have to agree here - having the monitoring software "rediscover" where
>> the
>>> ifindex for an interface is after a reboot isn't ideal in my opinion.....
>>
>> It is a case you have to handle anyway.  What if you upgrade REs, or you
>> have REs die and you have to replace them?  The index values will change
>> then anyway.  How do you handle that?  Do you manually update your
>> monitoring configs?
>>
>> All the information is provided in SNMP, you just need to use it.  My
>> monitoring and management scripts walk and cache ifDescr to find the
>> desired interface and then use the ifIndex.  Every time they fetch
>> something for an interface, they include the ifDescr.  If the ifDescr
>> still matches, that's all it takes.  If it is different, the scripts
>> discards the ifDescr cache and re-walks the ifDescr tree.
>>
>> This is one of the reasons I switched from MRTG to Cricket 10+ years
>> ago; I configure Cricket to graph "so-0/2/1", not "17".  Who knows what
>> "17" is; "so-0/2/1" is pretty obvious.
>>
>> --
>> Chris Adams<cmadams at hiwaay.net>
>> Systems and Network Administrator - HiWAAY Internet Services
>> I don't speak for anybody but myself - that's enough trouble.
>> _______________________________________________
>> juniper-nsp mailing list juniper-nsp at puck.nether.net
>> https://puck.nether.net/mailman/listinfo/juniper-nsp
>>
> _______________________________________________
> juniper-nsp mailing list juniper-nsp at puck.nether.net
> https://puck.nether.net/mailman/listinfo/juniper-nsp



More information about the juniper-nsp mailing list