SNMP exposes different info for same device/firmware
I have a number of routers, all of which behave generally the same wrt SNMP polling under LibreNMS, except one:
As you can see, one ER605 exposes more than twice the port-based metrics. I have used 'snmpwalk' to verify that it's not something local in the LibreNMS config. As far as I know this is bog standard, latest firmware, and is controlled by a 5.13 software controller (not that the controller should matter, as there don't seem to be any 'detail' level config options for SNMP in the controller).
For instance, most routers display the following type detail for the ports:
IF-MIB::ifDescr.1025 = STRING: default/lo
IF-MIB::ifDescr.1026 = STRING: default/eth0
IF-MIB::ifDescr.1027 = STRING: default/eth1
IF-MIB::ifDescr.1028 = STRING: default/tunl0
IF-MIB::ifDescr.1029 = STRING: default/ip6_vti0
IF-MIB::ifDescr.1030 = STRING: default/sit0
IF-MIB::ifDescr.1031 = STRING: default/ip6tnl0
IF-MIB::ifDescr.1032 = STRING: default/gre0
IF-MIB::ifDescr.1033 = STRING: default/gretap0
IF-MIB::ifDescr.1034 = STRING: default/erspan0
IF-MIB::ifDescr.1035 = STRING: default/bond0
IF-MIB::ifDescr.1036 = STRING: default/inf
IF-MIB::ifDescr.1037 = STRING: default/veth0
IF-MIB::ifDescr.1038 = STRING: default/veth1
IF-MIB::ifDescr.1040 = STRING: default/br-lan
IF-MIB::ifDescr.1041 = STRING: default/inf.0
IF-MIB::ifDescr.1043 = STRING: default/inf.1
IF-MIB::ifDescr.1046 = STRING: default/inf.32
IF-MIB::ifDescr.1049 = STRING: default/inf.4093
IF-MIB::ifDescr.1053 = STRING: default/ppp0
But my rogue ER605v1 display that plus more
IF-MIB::ifDescr.1025 = STRING: default/lo
IF-MIB::ifDescr.1026 = STRING: default/eth0
IF-MIB::ifDescr.1027 = STRING: default/ip6tnl0
IF-MIB::ifDescr.1028 = STRING: default/sit0
IF-MIB::ifDescr.1029 = STRING: default/gre0
IF-MIB::ifDescr.1030 = STRING: default/gretap0
IF-MIB::ifDescr.1031 = STRING: default/bond0
IF-MIB::ifDescr.1032 = STRING: default/veth0
IF-MIB::ifDescr.1034 = STRING: default/eth1
IF-MIB::ifDescr.1040 = STRING: default/eth1.35
IF-MIB::ifDescr.1041 = STRING: default/eth1.4093
IF-MIB::ifDescr.1042 = STRING: default/br-lan
IF-MIB::ifDescr.1043 = STRING: default/pppoe-wan1_poe
IF-MIB::ifDescr.1044 = STRING: default/lt-lc52240128
IF-MIB::ifDescr.1045 = STRING: default/lt-lc52240128
IF-MIB::ifDescr.1046 = STRING: default/lt-lc52240128
IF-MIB::ifDescr.1047 = STRING: default/lt-lc52240128
IF-MIB::ifDescr.1048 = STRING: default/lt-lc52240128
IF-MIB::ifDescr.1049 = STRING: default/lt-lc52240128
IF-MIB::ifDescr.1050 = STRING: default/lt-lc52240128
IF-MIB::ifDescr.1051 = STRING: default/lt-lc52240128
IF-MIB::ifDescr.1052 = STRING: default/lt-lc52240128
IF-MIB::ifDescr.1053 = STRING: default/lt-lc52240128
IF-MIB::ifDescr.1054 = STRING: default/lt-lc52240128
IF-MIB::ifDescr.1055 = STRING: default/lt-lc52240128
IF-MIB::ifDescr.1056 = STRING: default/eth1.40
IF-MIB::ifDescr.1058 = STRING: default/eth1.40
IF-MIB::ifDescr.1059 = STRING: default/eth1.40
IF-MIB::ifDescr.1060 = STRING: default/pppoe-wan2_poe
IF-MIB::ifDescr.1061 = STRING: default/eth1.35
IF-MIB::ifDescr.1064 = STRING: default/eth1.44
IF-MIB::ifDescr.1067 = STRING: default/eth1.40
IF-MIB::ifDescr.1068 = STRING: default/pppoe-wan1_poe
IF-MIB::ifDescr.1069 = STRING: default/eth1.40
IF-MIB::ifDescr.1070 = STRING: default/pppoe-wan1_poe
IF-MIB::ifDescr.1071 = STRING: default/lt-lc52240128
IF-MIB::ifDescr.1072 = STRING: default/lt-lc52240128
IF-MIB::ifDescr.1073 = STRING: default/pppoe-wan1_poe
IF-MIB::ifDescr.1074 = STRING: default/lt-lc52240128
IF-MIB::ifDescr.1075 = STRING: default/lt-lc52240128
IF-MIB::ifDescr.1076 = STRING: default/lt-lc52240128
IF-MIB::ifDescr.1077 = STRING: default/lt-lc52240128
IF-MIB::ifDescr.1078 = STRING: default/lt-lc52240128
IF-MIB::ifDescr.1079 = STRING: default/lt-lc52240128
IF-MIB::ifDescr.1080 = STRING: default/lt-lc52240128
IF-MIB::ifDescr.2049 = STRING: vnet/lo
IF-MIB::ifDescr.2050 = STRING: vnet/ip6tnl0
IF-MIB::ifDescr.2051 = STRING: vnet/sit0
IF-MIB::ifDescr.2052 = STRING: vnet/gre0
IF-MIB::ifDescr.2053 = STRING: vnet/gretap0
IF-MIB::ifDescr.2057 = STRING: vnet/veth1
IF-MIB::ifDescr.2059 = STRING: vnet/eth0.1
IF-MIB::ifDescr.2060 = STRING: vnet/eth0.12
IF-MIB::ifDescr.2061 = STRING: vnet/eth0.10
IF-MIB::ifDescr.2062 = STRING: vnet/eth0.11
IF-MIB::ifDescr.2063 = STRING: vnet/eth0.20
Why the discrepancy, and if I prefer the second set of data, how do I get all my devices to spit it out?