SNMP ifDescription.1 different than ifIndex.1

Running RB1000 and RB1000 AHx2

We use SNMP to read and record ifInOctects and ifOutOctets across all interfaces every 5 minutes.

The ifIndexes run from 1 to 15 which corresponds to the ethernet names of the physical ports.

But the ifDescriptions are scrambled, for example IfDescriptiion.9 = ether1.

Thus ifInOctets.9 actually shows the data for ethernet 1.

This scrambling of names seems to be random and varies from one box to the next, for example one of our
routers doesn’t have any scrambling at all, index and description match perfectly.

Where is this set? How can I change it?

snmpwalk -c public chmik if

interfaces.ifTable.ifEntry.ifIndex.1 = 1
interfaces.ifTable.ifEntry.ifIndex.2 = 2
interfaces.ifTable.ifEntry.ifIndex.3 = 3
interfaces.ifTable.ifEntry.ifIndex.4 = 4
interfaces.ifTable.ifEntry.ifIndex.5 = 5
interfaces.ifTable.ifEntry.ifIndex.6 = 6
interfaces.ifTable.ifEntry.ifIndex.7 = 7
interfaces.ifTable.ifEntry.ifIndex.8 = 8
interfaces.ifTable.ifEntry.ifIndex.9 = 9
interfaces.ifTable.ifEntry.ifIndex.10 = 10
interfaces.ifTable.ifEntry.ifIndex.11 = 11
interfaces.ifTable.ifEntry.ifIndex.12 = 12
interfaces.ifTable.ifEntry.ifIndex.13 = 13
interfaces.ifTable.ifEntry.ifIndex.15 = 15

interfaces.ifTable.ifEntry.ifDescr.1 = ether12
interfaces.ifTable.ifEntry.ifDescr.2 = ether13
interfaces.ifTable.ifEntry.ifDescr.3 = ether11
interfaces.ifTable.ifEntry.ifDescr.4 = ether6
interfaces.ifTable.ifEntry.ifDescr.5 = ether7
interfaces.ifTable.ifEntry.ifDescr.6 = ether8
interfaces.ifTable.ifEntry.ifDescr.7 = ether9
interfaces.ifTable.ifEntry.ifDescr.8 = ether10
interfaces.ifTable.ifEntry.ifDescr.9 = ether1
interfaces.ifTable.ifEntry.ifDescr.10 = ether2
interfaces.ifTable.ifEntry.ifDescr.11 = ether3
interfaces.ifTable.ifEntry.ifDescr.12 = ether4
interfaces.ifTable.ifEntry.ifDescr.13 = ether5
interfaces.ifTable.ifEntry.ifDescr.15 = bridge1

I’m unaware of anyway to statically define those values.

Your NMS (SNMP Network Management Station - possibly a homebrew script in your case from the sounds of it) likely needs to be built to parse the table and correctly match the values the way you’d like them to be.

If you’re in need of something that can handle SNMP based interface monitoring I strongly recommend LibreNMS. It’s extremely easy to get started with. The developers provide an OVA that can be installed on common hypervisors or you can install it manually on a server. It can be setup to update itself nightly. It has a clean and fast UI while clearly graphing data like interface statistics among many other values reliably all for the gorgeous price of $0.

Thank you for your reply. Yes all of our snmp is home brew, but I appreciate the pointer.

Parsing the table is no big deal, I just have never had to do it before and all our software assumes a non
scrambled association between description and interface.

Homer