I do that too, but I’m referring to XR when you use different speed optics in a 
multi-speed port; if you have a SFP+ port and 10gig SFP, you’ll get one 
ifindex.  New use case requires swapping to a gigE SFP and you’ll get a new 
ifindex.  Take the port out of service, remove the GigE SFP and the related 
config, yet both ifindexes remain; until the device is reloaded.  At that the 
gigE ifindex goes away leaving just the native-speed ifindex.

It’s a pain for management because we’re forced to make exclusions in our NMS 
for ifindex’s that may disappear at some point, because they show as down with 
no way to make that not the case.  Worse, if that port is put to use again at 
the non-native speed, and has such an exclusion in place, we don’t auto learn 
the new usage because of the exclusion.

I tried to argue with TAC that if the gigE SFP has been removed from the SFP+ 
port, and its config has been deleted, the corresponding ifindex and related 
counters should be gone; it no longer exists in any form.  If you reload, it 
will disappear, but that’s the only way.

From: Mel Beckman <[email protected]>
Date: Saturday, October 13, 2018 at 4:46 PM
To: David Hubbard <[email protected]>
Cc: "[email protected]" <[email protected]>
Subject: Re: ifIndex

David,

All you have to do is turn on IFindex persistence:

https://www.cisco.com/c/en/us/td/docs/routers/crs/software/crs_r4-2/system_management/command/reference/b_sysman_cr42crs/b_sysman_cr42crs_chapter_01101.html#wp2192797756

We do this on our XRs and it works perfectly.

-mel via cell

On Oct 13, 2018, at 9:20 AM, David Hubbard 
<[email protected]<mailto:[email protected]>> wrote:
Cisco tries very hard to make such useless data occur in XR.  If you have a 
gigE SFP in an SFP+ port, a new ifindex will appear for the resulting 
GigabitEthernetX port, then it remains even if both the config and SFP have 
been removed.  Automated systems will keep querying it as if it were a downed 
port, but wait, reboot, and suddenly it vanishes.  I went back and forth with 
TAC for weeks explaining that SNMP interfaces should not disappear as a result 
of a reboot, I should either be able to remove it, or it's stuck there forever, 
but a reboot should not cause a change.  They didn't care; it is 'by design'.

On 10/13/18, 8:47 AM, "NANOG on behalf of Mel Beckman" 
<[email protected]<mailto:[email protected]> on behalf of 
[email protected]<mailto:[email protected]>> wrote:

   Saku,

   The issue isn't that ifindexes change during operation. That would truly 
make SNMP useless. The issue is that they change across reboots. That's where 
features such as Cisco's Interface Index Persistence helps out.

   -mel via cell


On Oct 13, 2018, at 2:59 AM, Saku Ytti <[email protected]<mailto:[email protected]>> 
wrote:

On Fri, 12 Oct 2018 at 21:40, Chris Adams 
<[email protected]<mailto:[email protected]>> wrote:

Is there any good excuse that SNMP client software can't handle a basic
design of SNMP - indexed tables?  ifIndex is far from the only index in
SNMP, and many of them still change today at various times.

It isn't that hard to fetch the indexed field in a bulk get, rewalking
the table if you don't get what you expected.  Cricket did this in 1999.

It's never going to be provably correct, depending on what stability means.

You fetch relation at t0, then at t1 you fetch data. Was the relation
same at t0 and t1? You can gain some confidence by fetching relation
again at t2 and disregard data if t0 != t2. But this becomes polling
expensive quite fast, and still not provably correct. This may be
nitpicking, but I've always felt uneasy about the lack of guarantee.

I wonder if those who have stable indeces, have them for all cases,
all logical interfaces and virtual interfaces?

--
++ytti

Reply via email to