Code Monkey home page Code Monkey logo

Comments (15)

etingof avatar etingof commented on May 18, 2024 3

You do not need to prepare MIBs anyhow to let pysnmp consuming them.

Do you get all the compiled MIBs in ~/.pysnmp/mibs/ ?

Do you have MIB compiler piece uncommented?

Have you set up MIB search path properly with all the dependent MIBs present there?

I'd suggest setting up http://mibs.snmplabs.com/asn1/ as one of your MIB sources to make sure the dependencies would be satisfied.

To see what is happenning under the hood I'd enable pysmi debugging and watch its output:

from pysmi import debug
debug.setLogger(debug.Debug('searcher', 'reader', 'compiler'))

from pysnmp.

etingof avatar etingof commented on May 18, 2024 1

The exact same code runs for me with the latest pysnmp and its dependencies.

I've a couple of MIBs lended in ~/.pysnmp/mibs/*.py once I run your script.

Can you make sure you are running the latest released pysnmp (which should also pull in its dependencies)?

However, it doesn't like the from arg or the import options provided so I copied some from here

Can you please elaborate on this? What is the exact error message? Is it that MIB compiler (pysmi) is not installed on your system?

from pysnmp.

etingof avatar etingof commented on May 18, 2024 1

Do you have your MIB (RS-COMMON-MIB.my) specified in .loadModules()?

mibBuilder.loadModules('SNMPv2-MIB', 'SNMP-FRAMEWORK-MIB', 'SNMP-COMMUNITY-MIB', 'IP-MIB')

from pysnmp.

etingof avatar etingof commented on May 18, 2024 1

Are their ways to pull DESCRIPTION or STATUS as well?

Sure, you should be able to get everything from MIB definitions. These methods are not yet documented -- this is something to be done in the nearest future.

Meanwhile, I can refer you to the code.

Make sure to pass genTexts=True to the MIB compiler if you want all the text (e.g. DESCRIPTION) to be put into .py files. You may need to wipe out everything from ~/.pysnmp/mibs/ for this change to take effect.

compiler.addMibCompiler(mibBuilder, sources=['/users/admin/desktop/mib/mibfiles/', 
                                             'http://mibs.snmplabs.com/asn1/'], genTexts=True)

from pysnmp.

etingof avatar etingof commented on May 18, 2024 1

The MIBs and the objects defined in MIBs are maintained by the MibBuilder by the MIB module name + MIB object name pair:

mibName, objName = 'SNMP-FRAMEWORK-MIB', 'snmpEngineID'
mibObj, = mibBuilder.importSymbols(mibName, objName)

Once you have the MIB object you can get all the information it has:

print(mibObj.getDescription())

Additionally, the MibViewController maintains its own independent index by OID (as well as other helpful indices). So if you have an OID and want the description of associated object, you first need to ask MibViewController what's the name of the MIB object having this OID:

    mibName, objName, restOfOid = mibView.getNodeLocation(oid)

Then look up the MIB object:

mibObj, = mibBuilder.importSymbols(mibName, objName)

And inspect it.

If you give it a longer OID (most commonly, the tail of the OID would refer to MIB object instance in SNMP terms), then that tail part would be returned as-is.

from pysnmp.

BusbyActual avatar BusbyActual commented on May 18, 2024

Below is the script template I'm working off of.

  1. Do you get all the compiled MIBs in ~/.pysnmp/mibs/ ?

I'm unable to locate this directory so no.

  1. Do you have MIB compiler piece uncommented?

I didn't initially however I tried logging it and the same result.

  1. Have you set up MIB search path properly with all the dependent MIBs present there?

Not sure here. Trying to find documentation on this one. I'm just sourcing the directory with all the MIBs and they work fine in a MIB browsing app.

  1. Debugging

I can see the steps it's taking to do things more clearly. However, it doesn't like the from arg or the import options provided so I copied some from here
.

from pysnmp.smi import builder, view, compiler, error
from pysnmp import debug

debug.setLogger(debug.Debug('dsp'))

# Create MIB loader/builder
mibBuilder = builder.MibBuilder()

# Optionally attach PySMI MIB compiler (if installed)
print('Attaching MIB compiler...'),
compiler.addMibCompiler(mibBuilder, sources=['/users/admin/desktop/mib/mibfiles/', 'http://mibs.snmplabs.com/asn1/'])
print('done')

# Optionally set an alternative path to compiled MIBs
print('Setting MIB sources...')
mibBuilder.addMibSources(builder.DirMibSource('/users/admin/desktop/mib/mibfiles/'))
print(mibBuilder.getMibSources())
print('done')

print('Loading MIB modules...'),
mibBuilder.loadModules('SNMPv2-MIB', 'SNMP-FRAMEWORK-MIB', 'SNMP-COMMUNITY-MIB', 'IP-MIB')
print('done')

print('Indexing MIB objects...'),
mibView = view.MibViewController(mibBuilder)
print('done')

print('MIB symbol name lookup by OID: '),
oid, label, suffix = mibView.getNodeName((1,3,6,1,4,1))
print(oid, label, suffix)

print('MIB symbol name lookup by label: '),
oid, label, suffix = mibView.getNodeName((1,3,6,1,4,1,'mib-2',1,'sysDescr'))
print(oid, label, suffix)

print('MIB symbol name lookup by symbol description: '),
oid, label, suffix = mibView.getNodeName(('sysDescr',))
oid, label, suffix = mibView.getNodeName(('snmpEngineID',), 'SNMP-FRAMEWORK-MIB')
print(oid, label, suffix)

print('MIB object value pretty print: '),
mibNode, = mibBuilder.importSymbols('SNMP-FRAMEWORK-MIB', 'snmpEngineID')
print(mibNode.syntax.prettyPrint())

print('MIB symbol location lookup by name: '),
modName, symName, suffix = mibView.getNodeLocation(('snmpCommunityEntry',))
print(symName, modName)

print('MIB node lookup by location: '),
rowNode, = mibBuilder.importSymbols(modName, symName)
print(rowNode)

print('Conceptual table index value to oid convertion: '),
oid = rowNode.getInstIdFromIndices('router')
print(oid)
print('Conceptual table index oid to value convertion: '),
print(rowNode.getIndicesFromInstId(oid))

print('MIB tree traversal')
oid, label, suffix = mibView.getFirstNodeName()
while 1:
    try:
        modName, nodeDesc, suffix = mibView.getNodeLocation(oid)
        print('%s::%s == %s' % (modName, nodeDesc, oid))
        oid, label, suffix = mibView.getNextNodeName(oid)
    except error.NoSuchObjectError:
        break

print('Modules traversal')
modName = mibView.getFirstModuleName()
while 1:
    if modName: print(modName)
    try:
        modName = mibView.getNextModuleName(modName)
    except error.SmiError:
        break

from pysnmp.

BusbyActual avatar BusbyActual commented on May 18, 2024

When I tried to check the version / install of pysmi and pysnmp it said the requirements were met. I uninstalled and reinstalled and it works now. Before it was giving an error that it couldn't find debug. I still have the same issue of the Oids not being populated in the output. I'm adding an example MIB

I now have files at ~/.pysnmp/mibs/*.py:

IANAifType-MIB.py IP-MIB.py pycache
IF-MIB.py SNMPv2-MIB.py


python3 test.py
2017-07-19 08:01:32,926 pysmi: running pysmi version 0.1.3
2017-07-19 08:01:32,927 pysmi: debug category 'searcher' enabled
2017-07-19 08:01:32,927 pysmi: debug category 'reader' enabled
2017-07-19 08:01:32,927 pysmi: debug category 'compiler' enabled
Attaching MIB compiler...
2017-07-19 08:01:33,091 pysmi: current MIB source(s): FileReader{"/users/admin/desktop/mib/mibfiles"}, HttpReader{"http://mibs.snmplabs.com:80/asn1/"}
2017-07-19 08:01:33,091 pysmi: current compiled MIBs location(s): StubSearcher
2017-07-19 08:01:33,091 pysmi: current compiled MIBs location(s): StubSearcher, PyPackageSearcher{"/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages/pysnmp/smi/mibs"}, PyPackageSearcher{"/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages/pysnmp/smi/mibs/instances"}, PyPackageSearcher{"pysnmp_mibs"}
2017-07-19 08:01:33,091 pysmi: current MIB borrower(s):
done
Setting MIB sources...
(DirMibSource('/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages/pysnmp/smi/mibs'), DirMibSource('/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages/pysnmp/smi/mibs/instances'), DirMibSource('pysnmp_mibs'), DirMibSource('/Users/admin/.pysnmp/mibs'), DirMibSource('/users/admin/desktop/mib/mibfiles'))
done
Loading MIB modules...
done
Indexing MIB objects...
done
MIB symbol name lookup by OID:
(1, 3, 6, 1, 4, 1) ('iso', 'org', 'dod', 'internet', 'private', 'enterprises') ()
MIB symbol name lookup by label:
(1, 3, 6, 1, 4, 1) ('iso', 'org', 'dod', 'internet', 'private', 'enterprises') ('mib-2', 1, 'sysDescr')
MIB symbol name lookup by symbol description:
(1, 3, 6, 1, 6, 3, 10, 2, 1, 1) ('iso', 'org', 'dod', 'internet', 'snmpV2', 'snmpModules', 'snmpFrameworkMIB', 'snmpFrameworkMIBObjects', 'snmpEngine', 'snmpEngineID') ()
MIB object value pretty print:
0x80004fb80542757362792e6c6f63616cfcd13208
MIB symbol location lookup by name:
snmpCommunityEntry SNMP-COMMUNITY-MIB
MIB node lookup by location:
MibTableRow((1, 3, 6, 1, 6, 3, 18, 1, 1, 1), None)
Conceptual table index value to oid convertion:
(114, 111, 117, 116, 101, 114)
Conceptual table index oid to value convertion:
(SnmpAdminString(b'router', subtypeSpec=ConstraintsIntersection(ConstraintsIntersection(ConstraintsIntersection(ConstraintsIntersection(), ValueSizeConstraint(0, 65535)), ValueSizeConstraint(0, 255)), ValueSizeConstraint(1, 32))),)
MIB tree traversal
SNMPv2-SMI::itu-t == (0,)
SNMPv2-SMI::zeroDotZero == (0, 0)
SNMPv2-SMI::iso == (1,)
SNMPv2-SMI::org == (1, 3)
SNMPv2-SMI::dod == (1, 3, 6)
SNMPv2-SMI::internet == (1, 3, 6, 1)
SNMPv2-SMI::directory == (1, 3, 6, 1, 1)
SNMPv2-SMI::mgmt == (1, 3, 6, 1, 2)
SNMPv2-SMI::mib-2 == (1, 3, 6, 1, 2, 1)
SNMPv2-MIB::system == (1, 3, 6, 1, 2, 1, 1)
SNMPv2-MIB::sysDescr == (1, 3, 6, 1, 2, 1, 1, 1)
SNMPv2-MIB::sysObjectID == (1, 3, 6, 1, 2, 1, 1, 2)
SNMPv2-MIB::sysUpTime == (1, 3, 6, 1, 2, 1, 1, 3)
SNMPv2-MIB::sysContact == (1, 3, 6, 1, 2, 1, 1, 4)
SNMPv2-MIB::sysName == (1, 3, 6, 1, 2, 1, 1, 5)
SNMPv2-MIB::sysLocation == (1, 3, 6, 1, 2, 1, 1, 6)
SNMPv2-MIB::sysServices == (1, 3, 6, 1, 2, 1, 1, 7)
SNMPv2-MIB::sysORLastChange == (1, 3, 6, 1, 2, 1, 1, 8)
SNMPv2-MIB::sysORTable == (1, 3, 6, 1, 2, 1, 1, 9)
SNMPv2-MIB::sysOREntry == (1, 3, 6, 1, 2, 1, 1, 9, 1)
SNMPv2-MIB::sysORIndex == (1, 3, 6, 1, 2, 1, 1, 9, 1, 1)
SNMPv2-MIB::sysORID == (1, 3, 6, 1, 2, 1, 1, 9, 1, 2)
SNMPv2-MIB::sysORDescr == (1, 3, 6, 1, 2, 1, 1, 9, 1, 3)
SNMPv2-MIB::sysORUpTime == (1, 3, 6, 1, 2, 1, 1, 9, 1, 4)
IF-MIB::interfaces == (1, 3, 6, 1, 2, 1, 2)
IF-MIB::ifNumber == (1, 3, 6, 1, 2, 1, 2, 1)
IF-MIB::ifTable == (1, 3, 6, 1, 2, 1, 2, 2)
IF-MIB::ifEntry == (1, 3, 6, 1, 2, 1, 2, 2, 1)
IF-MIB::ifIndex == (1, 3, 6, 1, 2, 1, 2, 2, 1, 1)
IF-MIB::ifDescr == (1, 3, 6, 1, 2, 1, 2, 2, 1, 2)
IF-MIB::ifType == (1, 3, 6, 1, 2, 1, 2, 2, 1, 3)
IF-MIB::ifMtu == (1, 3, 6, 1, 2, 1, 2, 2, 1, 4)
IF-MIB::ifSpeed == (1, 3, 6, 1, 2, 1, 2, 2, 1, 5)
IF-MIB::ifPhysAddress == (1, 3, 6, 1, 2, 1, 2, 2, 1, 6)
IF-MIB::ifAdminStatus == (1, 3, 6, 1, 2, 1, 2, 2, 1, 7)
IF-MIB::ifOperStatus == (1, 3, 6, 1, 2, 1, 2, 2, 1, 8)
IF-MIB::ifLastChange == (1, 3, 6, 1, 2, 1, 2, 2, 1, 9)
IF-MIB::ifInOctets == (1, 3, 6, 1, 2, 1, 2, 2, 1, 10)
IF-MIB::ifInUcastPkts == (1, 3, 6, 1, 2, 1, 2, 2, 1, 11)
IF-MIB::ifInNUcastPkts == (1, 3, 6, 1, 2, 1, 2, 2, 1, 12)
IF-MIB::ifInDiscards == (1, 3, 6, 1, 2, 1, 2, 2, 1, 13)
IF-MIB::ifInErrors == (1, 3, 6, 1, 2, 1, 2, 2, 1, 14)
IF-MIB::ifInUnknownProtos == (1, 3, 6, 1, 2, 1, 2, 2, 1, 15)
IF-MIB::ifOutOctets == (1, 3, 6, 1, 2, 1, 2, 2, 1, 16)
IF-MIB::ifOutUcastPkts == (1, 3, 6, 1, 2, 1, 2, 2, 1, 17)
IF-MIB::ifOutNUcastPkts == (1, 3, 6, 1, 2, 1, 2, 2, 1, 18)
IF-MIB::ifOutDiscards == (1, 3, 6, 1, 2, 1, 2, 2, 1, 19)
IF-MIB::ifOutErrors == (1, 3, 6, 1, 2, 1, 2, 2, 1, 20)
IF-MIB::ifOutQLen == (1, 3, 6, 1, 2, 1, 2, 2, 1, 21)
IF-MIB::ifSpecific == (1, 3, 6, 1, 2, 1, 2, 2, 1, 22)
IP-MIB::ip == (1, 3, 6, 1, 2, 1, 4)
IP-MIB::ipForwarding == (1, 3, 6, 1, 2, 1, 4, 1)
IP-MIB::ipDefaultTTL == (1, 3, 6, 1, 2, 1, 4, 2)
IP-MIB::ipInReceives == (1, 3, 6, 1, 2, 1, 4, 3)
IP-MIB::ipInHdrErrors == (1, 3, 6, 1, 2, 1, 4, 4)
IP-MIB::ipInAddrErrors == (1, 3, 6, 1, 2, 1, 4, 5)
IP-MIB::ipForwDatagrams == (1, 3, 6, 1, 2, 1, 4, 6)
IP-MIB::ipInUnknownProtos == (1, 3, 6, 1, 2, 1, 4, 7)
IP-MIB::ipInDiscards == (1, 3, 6, 1, 2, 1, 4, 8)
IP-MIB::ipInDelivers == (1, 3, 6, 1, 2, 1, 4, 9)
IP-MIB::ipOutRequests == (1, 3, 6, 1, 2, 1, 4, 10)
IP-MIB::ipOutDiscards == (1, 3, 6, 1, 2, 1, 4, 11)
IP-MIB::ipOutNoRoutes == (1, 3, 6, 1, 2, 1, 4, 12)
IP-MIB::ipReasmTimeout == (1, 3, 6, 1, 2, 1, 4, 13)
IP-MIB::ipReasmReqds == (1, 3, 6, 1, 2, 1, 4, 14)
IP-MIB::ipReasmOKs == (1, 3, 6, 1, 2, 1, 4, 15)
IP-MIB::ipReasmFails == (1, 3, 6, 1, 2, 1, 4, 16)
IP-MIB::ipFragOKs == (1, 3, 6, 1, 2, 1, 4, 17)
IP-MIB::ipFragFails == (1, 3, 6, 1, 2, 1, 4, 18)
IP-MIB::ipFragCreates == (1, 3, 6, 1, 2, 1, 4, 19)
IP-MIB::ipAddrTable == (1, 3, 6, 1, 2, 1, 4, 20)
IP-MIB::ipAddrEntry == (1, 3, 6, 1, 2, 1, 4, 20, 1)
IP-MIB::ipAdEntAddr == (1, 3, 6, 1, 2, 1, 4, 20, 1, 1)
IP-MIB::ipAdEntIfIndex == (1, 3, 6, 1, 2, 1, 4, 20, 1, 2)
IP-MIB::ipAdEntNetMask == (1, 3, 6, 1, 2, 1, 4, 20, 1, 3)
IP-MIB::ipAdEntBcastAddr == (1, 3, 6, 1, 2, 1, 4, 20, 1, 4)
IP-MIB::ipAdEntReasmMaxSize == (1, 3, 6, 1, 2, 1, 4, 20, 1, 5)
IP-MIB::ipNetToMediaTable == (1, 3, 6, 1, 2, 1, 4, 22)
IP-MIB::ipNetToMediaEntry == (1, 3, 6, 1, 2, 1, 4, 22, 1)
IP-MIB::ipNetToMediaIfIndex == (1, 3, 6, 1, 2, 1, 4, 22, 1, 1)
IP-MIB::ipNetToMediaPhysAddress == (1, 3, 6, 1, 2, 1, 4, 22, 1, 2)
IP-MIB::ipNetToMediaNetAddress == (1, 3, 6, 1, 2, 1, 4, 22, 1, 3)
IP-MIB::ipNetToMediaType == (1, 3, 6, 1, 2, 1, 4, 22, 1, 4)
IP-MIB::ipRoutingDiscards == (1, 3, 6, 1, 2, 1, 4, 23)
IP-MIB::ipv6IpForwarding == (1, 3, 6, 1, 2, 1, 4, 25)
IP-MIB::ipv6IpDefaultHopLimit == (1, 3, 6, 1, 2, 1, 4, 26)
IP-MIB::ipv4InterfaceTableLastChange == (1, 3, 6, 1, 2, 1, 4, 27)
IP-MIB::ipv4InterfaceTable == (1, 3, 6, 1, 2, 1, 4, 28)
IP-MIB::ipv4InterfaceEntry == (1, 3, 6, 1, 2, 1, 4, 28, 1)
IP-MIB::ipv4InterfaceIfIndex == (1, 3, 6, 1, 2, 1, 4, 28, 1, 1)
IP-MIB::ipv4InterfaceReasmMaxSize == (1, 3, 6, 1, 2, 1, 4, 28, 1, 2)
IP-MIB::ipv4InterfaceEnableStatus == (1, 3, 6, 1, 2, 1, 4, 28, 1, 3)
IP-MIB::ipv4InterfaceRetransmitTime == (1, 3, 6, 1, 2, 1, 4, 28, 1, 4)
IP-MIB::ipv6InterfaceTableLastChange == (1, 3, 6, 1, 2, 1, 4, 29)
IP-MIB::ipv6InterfaceTable == (1, 3, 6, 1, 2, 1, 4, 30)
IP-MIB::ipv6InterfaceEntry == (1, 3, 6, 1, 2, 1, 4, 30, 1)
IP-MIB::ipv6InterfaceIfIndex == (1, 3, 6, 1, 2, 1, 4, 30, 1, 1)
IP-MIB::ipv6InterfaceReasmMaxSize == (1, 3, 6, 1, 2, 1, 4, 30, 1, 2)
IP-MIB::ipv6InterfaceIdentifier == (1, 3, 6, 1, 2, 1, 4, 30, 1, 3)
IP-MIB::ipv6InterfaceEnableStatus == (1, 3, 6, 1, 2, 1, 4, 30, 1, 5)
IP-MIB::ipv6InterfaceReachableTime == (1, 3, 6, 1, 2, 1, 4, 30, 1, 6)
IP-MIB::ipv6InterfaceRetransmitTime == (1, 3, 6, 1, 2, 1, 4, 30, 1, 7)
IP-MIB::ipv6InterfaceForwarding == (1, 3, 6, 1, 2, 1, 4, 30, 1, 8)
IP-MIB::ipTrafficStats == (1, 3, 6, 1, 2, 1, 4, 31)
IP-MIB::ipSystemStatsTable == (1, 3, 6, 1, 2, 1, 4, 31, 1)
IP-MIB::ipSystemStatsEntry == (1, 3, 6, 1, 2, 1, 4, 31, 1, 1)
IP-MIB::ipSystemStatsIPVersion == (1, 3, 6, 1, 2, 1, 4, 31, 1, 1, 1)
IP-MIB::ipSystemStatsInReceives == (1, 3, 6, 1, 2, 1, 4, 31, 1, 1, 3)
IP-MIB::ipSystemStatsHCInReceives == (1, 3, 6, 1, 2, 1, 4, 31, 1, 1, 4)
IP-MIB::ipSystemStatsInOctets == (1, 3, 6, 1, 2, 1, 4, 31, 1, 1, 5)
IP-MIB::ipSystemStatsHCInOctets == (1, 3, 6, 1, 2, 1, 4, 31, 1, 1, 6)
IP-MIB::ipSystemStatsInHdrErrors == (1, 3, 6, 1, 2, 1, 4, 31, 1, 1, 7)
IP-MIB::ipSystemStatsInNoRoutes == (1, 3, 6, 1, 2, 1, 4, 31, 1, 1, 8)
IP-MIB::ipSystemStatsInAddrErrors == (1, 3, 6, 1, 2, 1, 4, 31, 1, 1, 9)
IP-MIB::ipSystemStatsInUnknownProtos == (1, 3, 6, 1, 2, 1, 4, 31, 1, 1, 10)
IP-MIB::ipSystemStatsInTruncatedPkts == (1, 3, 6, 1, 2, 1, 4, 31, 1, 1, 11)
IP-MIB::ipSystemStatsInForwDatagrams == (1, 3, 6, 1, 2, 1, 4, 31, 1, 1, 12)
IP-MIB::ipSystemStatsHCInForwDatagrams == (1, 3, 6, 1, 2, 1, 4, 31, 1, 1, 13)
IP-MIB::ipSystemStatsReasmReqds == (1, 3, 6, 1, 2, 1, 4, 31, 1, 1, 14)
IP-MIB::ipSystemStatsReasmOKs == (1, 3, 6, 1, 2, 1, 4, 31, 1, 1, 15)
IP-MIB::ipSystemStatsReasmFails == (1, 3, 6, 1, 2, 1, 4, 31, 1, 1, 16)
IP-MIB::ipSystemStatsInDiscards == (1, 3, 6, 1, 2, 1, 4, 31, 1, 1, 17)
IP-MIB::ipSystemStatsInDelivers == (1, 3, 6, 1, 2, 1, 4, 31, 1, 1, 18)
IP-MIB::ipSystemStatsHCInDelivers == (1, 3, 6, 1, 2, 1, 4, 31, 1, 1, 19)
IP-MIB::ipSystemStatsOutRequests == (1, 3, 6, 1, 2, 1, 4, 31, 1, 1, 20)
IP-MIB::ipSystemStatsHCOutRequests == (1, 3, 6, 1, 2, 1, 4, 31, 1, 1, 21)
IP-MIB::ipSystemStatsOutNoRoutes == (1, 3, 6, 1, 2, 1, 4, 31, 1, 1, 22)
IP-MIB::ipSystemStatsOutForwDatagrams == (1, 3, 6, 1, 2, 1, 4, 31, 1, 1, 23)
IP-MIB::ipSystemStatsHCOutForwDatagrams == (1, 3, 6, 1, 2, 1, 4, 31, 1, 1, 24)
IP-MIB::ipSystemStatsOutDiscards == (1, 3, 6, 1, 2, 1, 4, 31, 1, 1, 25)
IP-MIB::ipSystemStatsOutFragReqds == (1, 3, 6, 1, 2, 1, 4, 31, 1, 1, 26)
IP-MIB::ipSystemStatsOutFragOKs == (1, 3, 6, 1, 2, 1, 4, 31, 1, 1, 27)
IP-MIB::ipSystemStatsOutFragFails == (1, 3, 6, 1, 2, 1, 4, 31, 1, 1, 28)
IP-MIB::ipSystemStatsOutFragCreates == (1, 3, 6, 1, 2, 1, 4, 31, 1, 1, 29)
IP-MIB::ipSystemStatsOutTransmits == (1, 3, 6, 1, 2, 1, 4, 31, 1, 1, 30)
IP-MIB::ipSystemStatsHCOutTransmits == (1, 3, 6, 1, 2, 1, 4, 31, 1, 1, 31)
IP-MIB::ipSystemStatsOutOctets == (1, 3, 6, 1, 2, 1, 4, 31, 1, 1, 32)
IP-MIB::ipSystemStatsHCOutOctets == (1, 3, 6, 1, 2, 1, 4, 31, 1, 1, 33)
IP-MIB::ipSystemStatsInMcastPkts == (1, 3, 6, 1, 2, 1, 4, 31, 1, 1, 34)
IP-MIB::ipSystemStatsHCInMcastPkts == (1, 3, 6, 1, 2, 1, 4, 31, 1, 1, 35)
IP-MIB::ipSystemStatsInMcastOctets == (1, 3, 6, 1, 2, 1, 4, 31, 1, 1, 36)
IP-MIB::ipSystemStatsHCInMcastOctets == (1, 3, 6, 1, 2, 1, 4, 31, 1, 1, 37)
IP-MIB::ipSystemStatsOutMcastPkts == (1, 3, 6, 1, 2, 1, 4, 31, 1, 1, 38)
IP-MIB::ipSystemStatsHCOutMcastPkts == (1, 3, 6, 1, 2, 1, 4, 31, 1, 1, 39)
IP-MIB::ipSystemStatsOutMcastOctets == (1, 3, 6, 1, 2, 1, 4, 31, 1, 1, 40)
IP-MIB::ipSystemStatsHCOutMcastOctets == (1, 3, 6, 1, 2, 1, 4, 31, 1, 1, 41)
IP-MIB::ipSystemStatsInBcastPkts == (1, 3, 6, 1, 2, 1, 4, 31, 1, 1, 42)
IP-MIB::ipSystemStatsHCInBcastPkts == (1, 3, 6, 1, 2, 1, 4, 31, 1, 1, 43)
IP-MIB::ipSystemStatsOutBcastPkts == (1, 3, 6, 1, 2, 1, 4, 31, 1, 1, 44)
IP-MIB::ipSystemStatsHCOutBcastPkts == (1, 3, 6, 1, 2, 1, 4, 31, 1, 1, 45)
IP-MIB::ipSystemStatsDiscontinuityTime == (1, 3, 6, 1, 2, 1, 4, 31, 1, 1, 46)
IP-MIB::ipSystemStatsRefreshRate == (1, 3, 6, 1, 2, 1, 4, 31, 1, 1, 47)
IP-MIB::ipIfStatsTableLastChange == (1, 3, 6, 1, 2, 1, 4, 31, 2)
IP-MIB::ipIfStatsTable == (1, 3, 6, 1, 2, 1, 4, 31, 3)
IP-MIB::ipIfStatsEntry == (1, 3, 6, 1, 2, 1, 4, 31, 3, 1)
IP-MIB::ipIfStatsIPVersion == (1, 3, 6, 1, 2, 1, 4, 31, 3, 1, 1)
IP-MIB::ipIfStatsIfIndex == (1, 3, 6, 1, 2, 1, 4, 31, 3, 1, 2)
IP-MIB::ipIfStatsInReceives == (1, 3, 6, 1, 2, 1, 4, 31, 3, 1, 3)
IP-MIB::ipIfStatsHCInReceives == (1, 3, 6, 1, 2, 1, 4, 31, 3, 1, 4)
IP-MIB::ipIfStatsInOctets == (1, 3, 6, 1, 2, 1, 4, 31, 3, 1, 5)
IP-MIB::ipIfStatsHCInOctets == (1, 3, 6, 1, 2, 1, 4, 31, 3, 1, 6)
IP-MIB::ipIfStatsInHdrErrors == (1, 3, 6, 1, 2, 1, 4, 31, 3, 1, 7)
IP-MIB::ipIfStatsInNoRoutes == (1, 3, 6, 1, 2, 1, 4, 31, 3, 1, 8)
IP-MIB::ipIfStatsInAddrErrors == (1, 3, 6, 1, 2, 1, 4, 31, 3, 1, 9)
IP-MIB::ipIfStatsInUnknownProtos == (1, 3, 6, 1, 2, 1, 4, 31, 3, 1, 10)
IP-MIB::ipIfStatsInTruncatedPkts == (1, 3, 6, 1, 2, 1, 4, 31, 3, 1, 11)
IP-MIB::ipIfStatsInForwDatagrams == (1, 3, 6, 1, 2, 1, 4, 31, 3, 1, 12)
IP-MIB::ipIfStatsHCInForwDatagrams == (1, 3, 6, 1, 2, 1, 4, 31, 3, 1, 13)
IP-MIB::ipIfStatsReasmReqds == (1, 3, 6, 1, 2, 1, 4, 31, 3, 1, 14)
IP-MIB::ipIfStatsReasmOKs == (1, 3, 6, 1, 2, 1, 4, 31, 3, 1, 15)
IP-MIB::ipIfStatsReasmFails == (1, 3, 6, 1, 2, 1, 4, 31, 3, 1, 16)
IP-MIB::ipIfStatsInDiscards == (1, 3, 6, 1, 2, 1, 4, 31, 3, 1, 17)
IP-MIB::ipIfStatsInDelivers == (1, 3, 6, 1, 2, 1, 4, 31, 3, 1, 18)
IP-MIB::ipIfStatsHCInDelivers == (1, 3, 6, 1, 2, 1, 4, 31, 3, 1, 19)
IP-MIB::ipIfStatsOutRequests == (1, 3, 6, 1, 2, 1, 4, 31, 3, 1, 20)
IP-MIB::ipIfStatsHCOutRequests == (1, 3, 6, 1, 2, 1, 4, 31, 3, 1, 21)
IP-MIB::ipIfStatsOutForwDatagrams == (1, 3, 6, 1, 2, 1, 4, 31, 3, 1, 23)
IP-MIB::ipIfStatsHCOutForwDatagrams == (1, 3, 6, 1, 2, 1, 4, 31, 3, 1, 24)
IP-MIB::ipIfStatsOutDiscards == (1, 3, 6, 1, 2, 1, 4, 31, 3, 1, 25)
IP-MIB::ipIfStatsOutFragReqds == (1, 3, 6, 1, 2, 1, 4, 31, 3, 1, 26)
IP-MIB::ipIfStatsOutFragOKs == (1, 3, 6, 1, 2, 1, 4, 31, 3, 1, 27)
IP-MIB::ipIfStatsOutFragFails == (1, 3, 6, 1, 2, 1, 4, 31, 3, 1, 28)
IP-MIB::ipIfStatsOutFragCreates == (1, 3, 6, 1, 2, 1, 4, 31, 3, 1, 29)
IP-MIB::ipIfStatsOutTransmits == (1, 3, 6, 1, 2, 1, 4, 31, 3, 1, 30)
IP-MIB::ipIfStatsHCOutTransmits == (1, 3, 6, 1, 2, 1, 4, 31, 3, 1, 31)
IP-MIB::ipIfStatsOutOctets == (1, 3, 6, 1, 2, 1, 4, 31, 3, 1, 32)
IP-MIB::ipIfStatsHCOutOctets == (1, 3, 6, 1, 2, 1, 4, 31, 3, 1, 33)
IP-MIB::ipIfStatsInMcastPkts == (1, 3, 6, 1, 2, 1, 4, 31, 3, 1, 34)
IP-MIB::ipIfStatsHCInMcastPkts == (1, 3, 6, 1, 2, 1, 4, 31, 3, 1, 35)
IP-MIB::ipIfStatsInMcastOctets == (1, 3, 6, 1, 2, 1, 4, 31, 3, 1, 36)
IP-MIB::ipIfStatsHCInMcastOctets == (1, 3, 6, 1, 2, 1, 4, 31, 3, 1, 37)
IP-MIB::ipIfStatsOutMcastPkts == (1, 3, 6, 1, 2, 1, 4, 31, 3, 1, 38)
IP-MIB::ipIfStatsHCOutMcastPkts == (1, 3, 6, 1, 2, 1, 4, 31, 3, 1, 39)
IP-MIB::ipIfStatsOutMcastOctets == (1, 3, 6, 1, 2, 1, 4, 31, 3, 1, 40)
IP-MIB::ipIfStatsHCOutMcastOctets == (1, 3, 6, 1, 2, 1, 4, 31, 3, 1, 41)
IP-MIB::ipIfStatsInBcastPkts == (1, 3, 6, 1, 2, 1, 4, 31, 3, 1, 42)
IP-MIB::ipIfStatsHCInBcastPkts == (1, 3, 6, 1, 2, 1, 4, 31, 3, 1, 43)
IP-MIB::ipIfStatsOutBcastPkts == (1, 3, 6, 1, 2, 1, 4, 31, 3, 1, 44)
IP-MIB::ipIfStatsHCOutBcastPkts == (1, 3, 6, 1, 2, 1, 4, 31, 3, 1, 45)
IP-MIB::ipIfStatsDiscontinuityTime == (1, 3, 6, 1, 2, 1, 4, 31, 3, 1, 46)
IP-MIB::ipIfStatsRefreshRate == (1, 3, 6, 1, 2, 1, 4, 31, 3, 1, 47)
IP-MIB::ipAddressPrefixTable == (1, 3, 6, 1, 2, 1, 4, 32)
IP-MIB::ipAddressPrefixEntry == (1, 3, 6, 1, 2, 1, 4, 32, 1)
IP-MIB::ipAddressPrefixIfIndex == (1, 3, 6, 1, 2, 1, 4, 32, 1, 1)
IP-MIB::ipAddressPrefixType == (1, 3, 6, 1, 2, 1, 4, 32, 1, 2)
IP-MIB::ipAddressPrefixPrefix == (1, 3, 6, 1, 2, 1, 4, 32, 1, 3)
IP-MIB::ipAddressPrefixLength == (1, 3, 6, 1, 2, 1, 4, 32, 1, 4)
IP-MIB::ipAddressPrefixOrigin == (1, 3, 6, 1, 2, 1, 4, 32, 1, 5)
IP-MIB::ipAddressPrefixOnLinkFlag == (1, 3, 6, 1, 2, 1, 4, 32, 1, 6)
IP-MIB::ipAddressPrefixAutonomousFlag == (1, 3, 6, 1, 2, 1, 4, 32, 1, 7)
IP-MIB::ipAddressPrefixAdvPreferredLifetime == (1, 3, 6, 1, 2, 1, 4, 32, 1, 8)
IP-MIB::ipAddressPrefixAdvValidLifetime == (1, 3, 6, 1, 2, 1, 4, 32, 1, 9)
IP-MIB::ipAddressSpinLock == (1, 3, 6, 1, 2, 1, 4, 33)
IP-MIB::ipAddressTable == (1, 3, 6, 1, 2, 1, 4, 34)
IP-MIB::ipAddressEntry == (1, 3, 6, 1, 2, 1, 4, 34, 1)
IP-MIB::ipAddressAddrType == (1, 3, 6, 1, 2, 1, 4, 34, 1, 1)
IP-MIB::ipAddressAddr == (1, 3, 6, 1, 2, 1, 4, 34, 1, 2)
IP-MIB::ipAddressIfIndex == (1, 3, 6, 1, 2, 1, 4, 34, 1, 3)
IP-MIB::ipAddressType == (1, 3, 6, 1, 2, 1, 4, 34, 1, 4)
IP-MIB::ipAddressPrefix == (1, 3, 6, 1, 2, 1, 4, 34, 1, 5)
IP-MIB::ipAddressOrigin == (1, 3, 6, 1, 2, 1, 4, 34, 1, 6)
IP-MIB::ipAddressStatus == (1, 3, 6, 1, 2, 1, 4, 34, 1, 7)
IP-MIB::ipAddressCreated == (1, 3, 6, 1, 2, 1, 4, 34, 1, 8)
IP-MIB::ipAddressLastChanged == (1, 3, 6, 1, 2, 1, 4, 34, 1, 9)
IP-MIB::ipAddressRowStatus == (1, 3, 6, 1, 2, 1, 4, 34, 1, 10)
IP-MIB::ipAddressStorageType == (1, 3, 6, 1, 2, 1, 4, 34, 1, 11)
IP-MIB::ipNetToPhysicalTable == (1, 3, 6, 1, 2, 1, 4, 35)
IP-MIB::ipNetToPhysicalEntry == (1, 3, 6, 1, 2, 1, 4, 35, 1)
IP-MIB::ipNetToPhysicalIfIndex == (1, 3, 6, 1, 2, 1, 4, 35, 1, 1)
IP-MIB::ipNetToPhysicalNetAddressType == (1, 3, 6, 1, 2, 1, 4, 35, 1, 2)
IP-MIB::ipNetToPhysicalNetAddress == (1, 3, 6, 1, 2, 1, 4, 35, 1, 3)
IP-MIB::ipNetToPhysicalPhysAddress == (1, 3, 6, 1, 2, 1, 4, 35, 1, 4)
IP-MIB::ipNetToPhysicalLastUpdated == (1, 3, 6, 1, 2, 1, 4, 35, 1, 5)
IP-MIB::ipNetToPhysicalType == (1, 3, 6, 1, 2, 1, 4, 35, 1, 6)
IP-MIB::ipNetToPhysicalState == (1, 3, 6, 1, 2, 1, 4, 35, 1, 7)
IP-MIB::ipNetToPhysicalRowStatus == (1, 3, 6, 1, 2, 1, 4, 35, 1, 8)
IP-MIB::ipv6ScopeZoneIndexTable == (1, 3, 6, 1, 2, 1, 4, 36)
IP-MIB::ipv6ScopeZoneIndexEntry == (1, 3, 6, 1, 2, 1, 4, 36, 1)
IP-MIB::ipv6ScopeZoneIndexIfIndex == (1, 3, 6, 1, 2, 1, 4, 36, 1, 1)
IP-MIB::ipv6ScopeZoneIndexLinkLocal == (1, 3, 6, 1, 2, 1, 4, 36, 1, 2)
IP-MIB::ipv6ScopeZoneIndex3 == (1, 3, 6, 1, 2, 1, 4, 36, 1, 3)
IP-MIB::ipv6ScopeZoneIndexAdminLocal == (1, 3, 6, 1, 2, 1, 4, 36, 1, 4)
IP-MIB::ipv6ScopeZoneIndexSiteLocal == (1, 3, 6, 1, 2, 1, 4, 36, 1, 5)
IP-MIB::ipv6ScopeZoneIndex6 == (1, 3, 6, 1, 2, 1, 4, 36, 1, 6)
IP-MIB::ipv6ScopeZoneIndex7 == (1, 3, 6, 1, 2, 1, 4, 36, 1, 7)
IP-MIB::ipv6ScopeZoneIndexOrganizationLocal == (1, 3, 6, 1, 2, 1, 4, 36, 1, 8)
IP-MIB::ipv6ScopeZoneIndex9 == (1, 3, 6, 1, 2, 1, 4, 36, 1, 9)
IP-MIB::ipv6ScopeZoneIndexA == (1, 3, 6, 1, 2, 1, 4, 36, 1, 10)
IP-MIB::ipv6ScopeZoneIndexB == (1, 3, 6, 1, 2, 1, 4, 36, 1, 11)
IP-MIB::ipv6ScopeZoneIndexC == (1, 3, 6, 1, 2, 1, 4, 36, 1, 12)
IP-MIB::ipv6ScopeZoneIndexD == (1, 3, 6, 1, 2, 1, 4, 36, 1, 13)
IP-MIB::ipDefaultRouterTable == (1, 3, 6, 1, 2, 1, 4, 37)
IP-MIB::ipDefaultRouterEntry == (1, 3, 6, 1, 2, 1, 4, 37, 1)
IP-MIB::ipDefaultRouterAddressType == (1, 3, 6, 1, 2, 1, 4, 37, 1, 1)
IP-MIB::ipDefaultRouterAddress == (1, 3, 6, 1, 2, 1, 4, 37, 1, 2)
IP-MIB::ipDefaultRouterIfIndex == (1, 3, 6, 1, 2, 1, 4, 37, 1, 3)
IP-MIB::ipDefaultRouterLifetime == (1, 3, 6, 1, 2, 1, 4, 37, 1, 4)
IP-MIB::ipDefaultRouterPreference == (1, 3, 6, 1, 2, 1, 4, 37, 1, 5)
IP-MIB::ipv6RouterAdvertSpinLock == (1, 3, 6, 1, 2, 1, 4, 38)
IP-MIB::ipv6RouterAdvertTable == (1, 3, 6, 1, 2, 1, 4, 39)
IP-MIB::ipv6RouterAdvertEntry == (1, 3, 6, 1, 2, 1, 4, 39, 1)
IP-MIB::ipv6RouterAdvertIfIndex == (1, 3, 6, 1, 2, 1, 4, 39, 1, 1)
IP-MIB::ipv6RouterAdvertSendAdverts == (1, 3, 6, 1, 2, 1, 4, 39, 1, 2)
IP-MIB::ipv6RouterAdvertMaxInterval == (1, 3, 6, 1, 2, 1, 4, 39, 1, 3)
IP-MIB::ipv6RouterAdvertMinInterval == (1, 3, 6, 1, 2, 1, 4, 39, 1, 4)
IP-MIB::ipv6RouterAdvertManagedFlag == (1, 3, 6, 1, 2, 1, 4, 39, 1, 5)
IP-MIB::ipv6RouterAdvertOtherConfigFlag == (1, 3, 6, 1, 2, 1, 4, 39, 1, 6)
IP-MIB::ipv6RouterAdvertLinkMTU == (1, 3, 6, 1, 2, 1, 4, 39, 1, 7)
IP-MIB::ipv6RouterAdvertReachableTime == (1, 3, 6, 1, 2, 1, 4, 39, 1, 8)
IP-MIB::ipv6RouterAdvertRetransmitTime == (1, 3, 6, 1, 2, 1, 4, 39, 1, 9)
IP-MIB::ipv6RouterAdvertCurHopLimit == (1, 3, 6, 1, 2, 1, 4, 39, 1, 10)
IP-MIB::ipv6RouterAdvertDefaultLifetime == (1, 3, 6, 1, 2, 1, 4, 39, 1, 11)
IP-MIB::ipv6RouterAdvertRowStatus == (1, 3, 6, 1, 2, 1, 4, 39, 1, 12)
IP-MIB::icmp == (1, 3, 6, 1, 2, 1, 5)
IP-MIB::icmpInMsgs == (1, 3, 6, 1, 2, 1, 5, 1)
IP-MIB::icmpInErrors == (1, 3, 6, 1, 2, 1, 5, 2)
IP-MIB::icmpInDestUnreachs == (1, 3, 6, 1, 2, 1, 5, 3)
IP-MIB::icmpInTimeExcds == (1, 3, 6, 1, 2, 1, 5, 4)
IP-MIB::icmpInParmProbs == (1, 3, 6, 1, 2, 1, 5, 5)
IP-MIB::icmpInSrcQuenchs == (1, 3, 6, 1, 2, 1, 5, 6)
IP-MIB::icmpInRedirects == (1, 3, 6, 1, 2, 1, 5, 7)
IP-MIB::icmpInEchos == (1, 3, 6, 1, 2, 1, 5, 8)
IP-MIB::icmpInEchoReps == (1, 3, 6, 1, 2, 1, 5, 9)
IP-MIB::icmpInTimestamps == (1, 3, 6, 1, 2, 1, 5, 10)
IP-MIB::icmpInTimestampReps == (1, 3, 6, 1, 2, 1, 5, 11)
IP-MIB::icmpInAddrMasks == (1, 3, 6, 1, 2, 1, 5, 12)
IP-MIB::icmpInAddrMaskReps == (1, 3, 6, 1, 2, 1, 5, 13)
IP-MIB::icmpOutMsgs == (1, 3, 6, 1, 2, 1, 5, 14)
IP-MIB::icmpOutErrors == (1, 3, 6, 1, 2, 1, 5, 15)
IP-MIB::icmpOutDestUnreachs == (1, 3, 6, 1, 2, 1, 5, 16)
IP-MIB::icmpOutTimeExcds == (1, 3, 6, 1, 2, 1, 5, 17)
IP-MIB::icmpOutParmProbs == (1, 3, 6, 1, 2, 1, 5, 18)
IP-MIB::icmpOutSrcQuenchs == (1, 3, 6, 1, 2, 1, 5, 19)
IP-MIB::icmpOutRedirects == (1, 3, 6, 1, 2, 1, 5, 20)
IP-MIB::icmpOutEchos == (1, 3, 6, 1, 2, 1, 5, 21)
IP-MIB::icmpOutEchoReps == (1, 3, 6, 1, 2, 1, 5, 22)
IP-MIB::icmpOutTimestamps == (1, 3, 6, 1, 2, 1, 5, 23)
IP-MIB::icmpOutTimestampReps == (1, 3, 6, 1, 2, 1, 5, 24)
IP-MIB::icmpOutAddrMasks == (1, 3, 6, 1, 2, 1, 5, 25)
IP-MIB::icmpOutAddrMaskReps == (1, 3, 6, 1, 2, 1, 5, 26)
IP-MIB::icmpStatsTable == (1, 3, 6, 1, 2, 1, 5, 29)
IP-MIB::icmpStatsEntry == (1, 3, 6, 1, 2, 1, 5, 29, 1)
IP-MIB::icmpStatsIPVersion == (1, 3, 6, 1, 2, 1, 5, 29, 1, 1)
IP-MIB::icmpStatsInMsgs == (1, 3, 6, 1, 2, 1, 5, 29, 1, 2)
IP-MIB::icmpStatsInErrors == (1, 3, 6, 1, 2, 1, 5, 29, 1, 3)
IP-MIB::icmpStatsOutMsgs == (1, 3, 6, 1, 2, 1, 5, 29, 1, 4)
IP-MIB::icmpStatsOutErrors == (1, 3, 6, 1, 2, 1, 5, 29, 1, 5)
IP-MIB::icmpMsgStatsTable == (1, 3, 6, 1, 2, 1, 5, 30)
IP-MIB::icmpMsgStatsEntry == (1, 3, 6, 1, 2, 1, 5, 30, 1)
IP-MIB::icmpMsgStatsIPVersion == (1, 3, 6, 1, 2, 1, 5, 30, 1, 1)
IP-MIB::icmpMsgStatsType == (1, 3, 6, 1, 2, 1, 5, 30, 1, 2)
IP-MIB::icmpMsgStatsInPkts == (1, 3, 6, 1, 2, 1, 5, 30, 1, 3)
IP-MIB::icmpMsgStatsOutPkts == (1, 3, 6, 1, 2, 1, 5, 30, 1, 4)
SNMPv2-SMI::transmission == (1, 3, 6, 1, 2, 1, 10)
SNMPv2-MIB::snmp == (1, 3, 6, 1, 2, 1, 11)
SNMPv2-MIB::snmpInPkts == (1, 3, 6, 1, 2, 1, 11, 1)
SNMPv2-MIB::snmpOutPkts == (1, 3, 6, 1, 2, 1, 11, 2)
SNMPv2-MIB::snmpInBadVersions == (1, 3, 6, 1, 2, 1, 11, 3)
SNMPv2-MIB::snmpInBadCommunityNames == (1, 3, 6, 1, 2, 1, 11, 4)
SNMPv2-MIB::snmpInBadCommunityUses == (1, 3, 6, 1, 2, 1, 11, 5)
SNMPv2-MIB::snmpInASNParseErrs == (1, 3, 6, 1, 2, 1, 11, 6)
SNMPv2-MIB::snmpInTooBigs == (1, 3, 6, 1, 2, 1, 11, 8)
SNMPv2-MIB::snmpInNoSuchNames == (1, 3, 6, 1, 2, 1, 11, 9)
SNMPv2-MIB::snmpInBadValues == (1, 3, 6, 1, 2, 1, 11, 10)
SNMPv2-MIB::snmpInReadOnlys == (1, 3, 6, 1, 2, 1, 11, 11)
SNMPv2-MIB::snmpInGenErrs == (1, 3, 6, 1, 2, 1, 11, 12)
SNMPv2-MIB::snmpInTotalReqVars == (1, 3, 6, 1, 2, 1, 11, 13)
SNMPv2-MIB::snmpInTotalSetVars == (1, 3, 6, 1, 2, 1, 11, 14)
SNMPv2-MIB::snmpInGetRequests == (1, 3, 6, 1, 2, 1, 11, 15)
SNMPv2-MIB::snmpInGetNexts == (1, 3, 6, 1, 2, 1, 11, 16)
SNMPv2-MIB::snmpInSetRequests == (1, 3, 6, 1, 2, 1, 11, 17)
SNMPv2-MIB::snmpInGetResponses == (1, 3, 6, 1, 2, 1, 11, 18)
SNMPv2-MIB::snmpInTraps == (1, 3, 6, 1, 2, 1, 11, 19)
SNMPv2-MIB::snmpOutTooBigs == (1, 3, 6, 1, 2, 1, 11, 20)
SNMPv2-MIB::snmpOutNoSuchNames == (1, 3, 6, 1, 2, 1, 11, 21)
SNMPv2-MIB::snmpOutBadValues == (1, 3, 6, 1, 2, 1, 11, 22)
SNMPv2-MIB::snmpOutGenErrs == (1, 3, 6, 1, 2, 1, 11, 24)
SNMPv2-MIB::snmpOutGetRequests == (1, 3, 6, 1, 2, 1, 11, 25)
SNMPv2-MIB::snmpOutGetNexts == (1, 3, 6, 1, 2, 1, 11, 26)
SNMPv2-MIB::snmpOutSetRequests == (1, 3, 6, 1, 2, 1, 11, 27)
SNMPv2-MIB::snmpOutGetResponses == (1, 3, 6, 1, 2, 1, 11, 28)
SNMPv2-MIB::snmpOutTraps == (1, 3, 6, 1, 2, 1, 11, 29)
SNMPv2-MIB::snmpEnableAuthenTraps == (1, 3, 6, 1, 2, 1, 11, 30)
SNMPv2-MIB::snmpSilentDrops == (1, 3, 6, 1, 2, 1, 11, 31)
SNMPv2-MIB::snmpProxyDrops == (1, 3, 6, 1, 2, 1, 11, 32)
IANAifType-MIB::ianaifType == (1, 3, 6, 1, 2, 1, 30)
IF-MIB::ifMIB == (1, 3, 6, 1, 2, 1, 31)
IF-MIB::ifMIBObjects == (1, 3, 6, 1, 2, 1, 31, 1)
IF-MIB::ifXTable == (1, 3, 6, 1, 2, 1, 31, 1, 1)
IF-MIB::ifXEntry == (1, 3, 6, 1, 2, 1, 31, 1, 1, 1)
IF-MIB::ifName == (1, 3, 6, 1, 2, 1, 31, 1, 1, 1, 1)
IF-MIB::ifInMulticastPkts == (1, 3, 6, 1, 2, 1, 31, 1, 1, 1, 2)
IF-MIB::ifInBroadcastPkts == (1, 3, 6, 1, 2, 1, 31, 1, 1, 1, 3)
IF-MIB::ifOutMulticastPkts == (1, 3, 6, 1, 2, 1, 31, 1, 1, 1, 4)
IF-MIB::ifOutBroadcastPkts == (1, 3, 6, 1, 2, 1, 31, 1, 1, 1, 5)
IF-MIB::ifHCInOctets == (1, 3, 6, 1, 2, 1, 31, 1, 1, 1, 6)
IF-MIB::ifHCInUcastPkts == (1, 3, 6, 1, 2, 1, 31, 1, 1, 1, 7)
IF-MIB::ifHCInMulticastPkts == (1, 3, 6, 1, 2, 1, 31, 1, 1, 1, 8)
IF-MIB::ifHCInBroadcastPkts == (1, 3, 6, 1, 2, 1, 31, 1, 1, 1, 9)
IF-MIB::ifHCOutOctets == (1, 3, 6, 1, 2, 1, 31, 1, 1, 1, 10)
IF-MIB::ifHCOutUcastPkts == (1, 3, 6, 1, 2, 1, 31, 1, 1, 1, 11)
IF-MIB::ifHCOutMulticastPkts == (1, 3, 6, 1, 2, 1, 31, 1, 1, 1, 12)
IF-MIB::ifHCOutBroadcastPkts == (1, 3, 6, 1, 2, 1, 31, 1, 1, 1, 13)
IF-MIB::ifLinkUpDownTrapEnable == (1, 3, 6, 1, 2, 1, 31, 1, 1, 1, 14)
IF-MIB::ifHighSpeed == (1, 3, 6, 1, 2, 1, 31, 1, 1, 1, 15)
IF-MIB::ifPromiscuousMode == (1, 3, 6, 1, 2, 1, 31, 1, 1, 1, 16)
IF-MIB::ifConnectorPresent == (1, 3, 6, 1, 2, 1, 31, 1, 1, 1, 17)
IF-MIB::ifAlias == (1, 3, 6, 1, 2, 1, 31, 1, 1, 1, 18)
IF-MIB::ifCounterDiscontinuityTime == (1, 3, 6, 1, 2, 1, 31, 1, 1, 1, 19)
IF-MIB::ifStackTable == (1, 3, 6, 1, 2, 1, 31, 1, 2)
IF-MIB::ifStackEntry == (1, 3, 6, 1, 2, 1, 31, 1, 2, 1)
IF-MIB::ifStackHigherLayer == (1, 3, 6, 1, 2, 1, 31, 1, 2, 1, 1)
IF-MIB::ifStackLowerLayer == (1, 3, 6, 1, 2, 1, 31, 1, 2, 1, 2)
IF-MIB::ifStackStatus == (1, 3, 6, 1, 2, 1, 31, 1, 2, 1, 3)
IF-MIB::ifTestTable == (1, 3, 6, 1, 2, 1, 31, 1, 3)
IF-MIB::ifTestEntry == (1, 3, 6, 1, 2, 1, 31, 1, 3, 1)
IF-MIB::ifTestId == (1, 3, 6, 1, 2, 1, 31, 1, 3, 1, 1)
IF-MIB::ifTestStatus == (1, 3, 6, 1, 2, 1, 31, 1, 3, 1, 2)
IF-MIB::ifTestType == (1, 3, 6, 1, 2, 1, 31, 1, 3, 1, 3)
IF-MIB::ifTestResult == (1, 3, 6, 1, 2, 1, 31, 1, 3, 1, 4)
IF-MIB::ifTestCode == (1, 3, 6, 1, 2, 1, 31, 1, 3, 1, 5)
IF-MIB::ifTestOwner == (1, 3, 6, 1, 2, 1, 31, 1, 3, 1, 6)
IF-MIB::ifRcvAddressTable == (1, 3, 6, 1, 2, 1, 31, 1, 4)
IF-MIB::ifRcvAddressEntry == (1, 3, 6, 1, 2, 1, 31, 1, 4, 1)
IF-MIB::ifRcvAddressAddress == (1, 3, 6, 1, 2, 1, 31, 1, 4, 1, 1)
IF-MIB::ifRcvAddressStatus == (1, 3, 6, 1, 2, 1, 31, 1, 4, 1, 2)
IF-MIB::ifRcvAddressType == (1, 3, 6, 1, 2, 1, 31, 1, 4, 1, 3)
IF-MIB::ifTableLastChange == (1, 3, 6, 1, 2, 1, 31, 1, 5)
IF-MIB::ifStackLastChange == (1, 3, 6, 1, 2, 1, 31, 1, 6)
IF-MIB::ifConformance == (1, 3, 6, 1, 2, 1, 31, 2)
IF-MIB::ifGroups == (1, 3, 6, 1, 2, 1, 31, 2, 1)
IF-MIB::ifGeneralGroup == (1, 3, 6, 1, 2, 1, 31, 2, 1, 1)
IF-MIB::ifFixedLengthGroup == (1, 3, 6, 1, 2, 1, 31, 2, 1, 2)
IF-MIB::ifHCFixedLengthGroup == (1, 3, 6, 1, 2, 1, 31, 2, 1, 3)
IF-MIB::ifPacketGroup == (1, 3, 6, 1, 2, 1, 31, 2, 1, 4)
IF-MIB::ifHCPacketGroup == (1, 3, 6, 1, 2, 1, 31, 2, 1, 5)
IF-MIB::ifVHCPacketGroup == (1, 3, 6, 1, 2, 1, 31, 2, 1, 6)
IF-MIB::ifRcvAddressGroup == (1, 3, 6, 1, 2, 1, 31, 2, 1, 7)
IF-MIB::ifTestGroup == (1, 3, 6, 1, 2, 1, 31, 2, 1, 8)
IF-MIB::ifStackGroup == (1, 3, 6, 1, 2, 1, 31, 2, 1, 9)
IF-MIB::ifGeneralInformationGroup == (1, 3, 6, 1, 2, 1, 31, 2, 1, 10)
IF-MIB::ifStackGroup2 == (1, 3, 6, 1, 2, 1, 31, 2, 1, 11)
IF-MIB::ifOldObjectsGroup == (1, 3, 6, 1, 2, 1, 31, 2, 1, 12)
IF-MIB::ifCounterDiscontinuityGroup == (1, 3, 6, 1, 2, 1, 31, 2, 1, 13)
IF-MIB::ifCompliances == (1, 3, 6, 1, 2, 1, 31, 2, 2)
IF-MIB::ifCompliance == (1, 3, 6, 1, 2, 1, 31, 2, 2, 1)
IF-MIB::ifCompliance2 == (1, 3, 6, 1, 2, 1, 31, 2, 2, 2)
IP-MIB::ipMIB == (1, 3, 6, 1, 2, 1, 48)
IP-MIB::ipMIBConformance == (1, 3, 6, 1, 2, 1, 48, 2)
IP-MIB::ipMIBCompliances == (1, 3, 6, 1, 2, 1, 48, 2, 1)
IP-MIB::ipMIBCompliance == (1, 3, 6, 1, 2, 1, 48, 2, 1, 1)
IP-MIB::ipMIBCompliance2 == (1, 3, 6, 1, 2, 1, 48, 2, 1, 2)
IP-MIB::ipMIBGroups == (1, 3, 6, 1, 2, 1, 48, 2, 2)
IP-MIB::ipGroup == (1, 3, 6, 1, 2, 1, 48, 2, 2, 1)
IP-MIB::icmpGroup == (1, 3, 6, 1, 2, 1, 48, 2, 2, 2)
IP-MIB::ipv4GeneralGroup == (1, 3, 6, 1, 2, 1, 48, 2, 2, 3)
IP-MIB::ipv4IfGroup == (1, 3, 6, 1, 2, 1, 48, 2, 2, 4)
IP-MIB::ipv6GeneralGroup2 == (1, 3, 6, 1, 2, 1, 48, 2, 2, 5)
IP-MIB::ipv6IfGroup == (1, 3, 6, 1, 2, 1, 48, 2, 2, 6)
IP-MIB::ipLastChangeGroup == (1, 3, 6, 1, 2, 1, 48, 2, 2, 7)
IP-MIB::ipSystemStatsGroup == (1, 3, 6, 1, 2, 1, 48, 2, 2, 8)
IP-MIB::ipv4SystemStatsGroup == (1, 3, 6, 1, 2, 1, 48, 2, 2, 9)
IP-MIB::ipSystemStatsHCOctetGroup == (1, 3, 6, 1, 2, 1, 48, 2, 2, 10)
IP-MIB::ipSystemStatsHCPacketGroup == (1, 3, 6, 1, 2, 1, 48, 2, 2, 11)
IP-MIB::ipv4SystemStatsHCPacketGroup == (1, 3, 6, 1, 2, 1, 48, 2, 2, 12)
IP-MIB::ipIfStatsGroup == (1, 3, 6, 1, 2, 1, 48, 2, 2, 13)
IP-MIB::ipv4IfStatsGroup == (1, 3, 6, 1, 2, 1, 48, 2, 2, 14)
IP-MIB::ipIfStatsHCOctetGroup == (1, 3, 6, 1, 2, 1, 48, 2, 2, 15)
IP-MIB::ipIfStatsHCPacketGroup == (1, 3, 6, 1, 2, 1, 48, 2, 2, 16)
IP-MIB::ipv4IfStatsHCPacketGroup == (1, 3, 6, 1, 2, 1, 48, 2, 2, 17)
IP-MIB::ipAddressPrefixGroup == (1, 3, 6, 1, 2, 1, 48, 2, 2, 18)
IP-MIB::ipAddressGroup == (1, 3, 6, 1, 2, 1, 48, 2, 2, 19)
IP-MIB::ipNetToPhysicalGroup == (1, 3, 6, 1, 2, 1, 48, 2, 2, 20)
IP-MIB::ipv6ScopeGroup == (1, 3, 6, 1, 2, 1, 48, 2, 2, 21)
IP-MIB::ipDefaultRouterGroup == (1, 3, 6, 1, 2, 1, 48, 2, 2, 22)
IP-MIB::ipv6RouterAdvertGroup == (1, 3, 6, 1, 2, 1, 48, 2, 2, 23)
IP-MIB::icmpStatsGroup == (1, 3, 6, 1, 2, 1, 48, 2, 2, 24)
INET-ADDRESS-MIB::inetAddressMIB == (1, 3, 6, 1, 2, 1, 76)
SNMPv2-SMI::experimental == (1, 3, 6, 1, 3)
SNMPv2-SMI::private == (1, 3, 6, 1, 4)
SNMPv2-SMI::enterprises == (1, 3, 6, 1, 4, 1)
SNMPv2-SMI::security == (1, 3, 6, 1, 5)
SNMPv2-SMI::snmpV2 == (1, 3, 6, 1, 6)
SNMPv2-SMI::snmpDomains == (1, 3, 6, 1, 6, 1)
SNMPv2-SMI::snmpProxys == (1, 3, 6, 1, 6, 2)
SNMPv2-SMI::snmpModules == (1, 3, 6, 1, 6, 3)
SNMPv2-MIB::snmpMIB == (1, 3, 6, 1, 6, 3, 1)
SNMPv2-MIB::snmpMIBObjects == (1, 3, 6, 1, 6, 3, 1, 1)
SNMPv2-MIB::snmpTrap == (1, 3, 6, 1, 6, 3, 1, 1, 4)
SNMPv2-MIB::snmpTrapOID == (1, 3, 6, 1, 6, 3, 1, 1, 4, 1)
SNMPv2-MIB::snmpTrapEnterprise == (1, 3, 6, 1, 6, 3, 1, 1, 4, 3)
SNMPv2-MIB::snmpTraps == (1, 3, 6, 1, 6, 3, 1, 1, 5)
SNMPv2-MIB::coldStart == (1, 3, 6, 1, 6, 3, 1, 1, 5, 1)
SNMPv2-MIB::warmStart == (1, 3, 6, 1, 6, 3, 1, 1, 5, 2)
IF-MIB::linkDown == (1, 3, 6, 1, 6, 3, 1, 1, 5, 3)
IF-MIB::linkUp == (1, 3, 6, 1, 6, 3, 1, 1, 5, 4)
SNMPv2-MIB::authenticationFailure == (1, 3, 6, 1, 6, 3, 1, 1, 5, 5)
SNMPv2-MIB::snmpSet == (1, 3, 6, 1, 6, 3, 1, 1, 6)
SNMPv2-MIB::snmpSetSerialNo == (1, 3, 6, 1, 6, 3, 1, 1, 6, 1)
SNMPv2-MIB::snmpMIBConformance == (1, 3, 6, 1, 6, 3, 1, 2)
SNMPv2-MIB::snmpMIBCompliances == (1, 3, 6, 1, 6, 3, 1, 2, 1)
SNMPv2-MIB::snmpBasicCompliance == (1, 3, 6, 1, 6, 3, 1, 2, 1, 2)
SNMPv2-MIB::snmpBasicComplianceRev2 == (1, 3, 6, 1, 6, 3, 1, 2, 1, 3)
SNMPv2-MIB::snmpMIBGroups == (1, 3, 6, 1, 6, 3, 1, 2, 2)
SNMPv2-MIB::snmpSetGroup == (1, 3, 6, 1, 6, 3, 1, 2, 2, 5)
SNMPv2-MIB::systemGroup == (1, 3, 6, 1, 6, 3, 1, 2, 2, 6)
SNMPv2-MIB::snmpBasicNotificationsGroup == (1, 3, 6, 1, 6, 3, 1, 2, 2, 7)
SNMPv2-MIB::snmpGroup == (1, 3, 6, 1, 6, 3, 1, 2, 2, 8)
SNMPv2-MIB::snmpCommunityGroup == (1, 3, 6, 1, 6, 3, 1, 2, 2, 9)
SNMPv2-MIB::snmpObsoleteGroup == (1, 3, 6, 1, 6, 3, 1, 2, 2, 10)
SNMPv2-MIB::snmpWarmStartNotificationGroup == (1, 3, 6, 1, 6, 3, 1, 2, 2, 11)
SNMPv2-MIB::snmpNotificationGroup == (1, 3, 6, 1, 6, 3, 1, 2, 2, 12)
SNMP-FRAMEWORK-MIB::snmpFrameworkMIB == (1, 3, 6, 1, 6, 3, 10)
SNMP-FRAMEWORK-MIB::snmpFrameworkAdmin == (1, 3, 6, 1, 6, 3, 10, 1)
SNMP-FRAMEWORK-MIB::snmpAuthProtocols == (1, 3, 6, 1, 6, 3, 10, 1, 1)
SNMP-FRAMEWORK-MIB::snmpPrivProtocols == (1, 3, 6, 1, 6, 3, 10, 1, 2)
SNMP-FRAMEWORK-MIB::snmpFrameworkMIBObjects == (1, 3, 6, 1, 6, 3, 10, 2)
SNMP-FRAMEWORK-MIB::snmpEngine == (1, 3, 6, 1, 6, 3, 10, 2, 1)
SNMP-FRAMEWORK-MIB::snmpEngineID == (1, 3, 6, 1, 6, 3, 10, 2, 1, 1)
SNMP-FRAMEWORK-MIB::snmpEngineBoots == (1, 3, 6, 1, 6, 3, 10, 2, 1, 2)
SNMP-FRAMEWORK-MIB::snmpEngineTime == (1, 3, 6, 1, 6, 3, 10, 2, 1, 3)
SNMP-FRAMEWORK-MIB::snmpEngineMaxMessageSize == (1, 3, 6, 1, 6, 3, 10, 2, 1, 4)
SNMP-FRAMEWORK-MIB::snmpFrameworkMIBConformance == (1, 3, 6, 1, 6, 3, 10, 3)
SNMP-FRAMEWORK-MIB::snmpFrameworkMIBCompliances == (1, 3, 6, 1, 6, 3, 10, 3, 1)
SNMP-FRAMEWORK-MIB::snmpFrameworkMIBCompliance == (1, 3, 6, 1, 6, 3, 10, 3, 1, 1)
SNMP-FRAMEWORK-MIB::snmpFrameworkMIBGroups == (1, 3, 6, 1, 6, 3, 10, 3, 2)
SNMP-FRAMEWORK-MIB::snmpEngineGroup == (1, 3, 6, 1, 6, 3, 10, 3, 2, 1)
SNMP-TARGET-MIB::snmpTargetMIB == (1, 3, 6, 1, 6, 3, 12)
SNMP-TARGET-MIB::snmpTargetObjects == (1, 3, 6, 1, 6, 3, 12, 1)
SNMP-TARGET-MIB::snmpTargetSpinLock == (1, 3, 6, 1, 6, 3, 12, 1, 1)
SNMP-TARGET-MIB::snmpTargetAddrTable == (1, 3, 6, 1, 6, 3, 12, 1, 2)
SNMP-TARGET-MIB::snmpTargetAddrEntry == (1, 3, 6, 1, 6, 3, 12, 1, 2, 1)
SNMP-TARGET-MIB::snmpTargetAddrName == (1, 3, 6, 1, 6, 3, 12, 1, 2, 1, 1)
SNMP-TARGET-MIB::snmpTargetAddrTDomain == (1, 3, 6, 1, 6, 3, 12, 1, 2, 1, 2)
SNMP-TARGET-MIB::snmpTargetAddrTAddress == (1, 3, 6, 1, 6, 3, 12, 1, 2, 1, 3)
SNMP-TARGET-MIB::snmpTargetAddrTimeout == (1, 3, 6, 1, 6, 3, 12, 1, 2, 1, 4)
SNMP-TARGET-MIB::snmpTargetAddrRetryCount == (1, 3, 6, 1, 6, 3, 12, 1, 2, 1, 5)
SNMP-TARGET-MIB::snmpTargetAddrTagList == (1, 3, 6, 1, 6, 3, 12, 1, 2, 1, 6)
SNMP-TARGET-MIB::snmpTargetAddrParams == (1, 3, 6, 1, 6, 3, 12, 1, 2, 1, 7)
SNMP-TARGET-MIB::snmpTargetAddrStorageType == (1, 3, 6, 1, 6, 3, 12, 1, 2, 1, 8)
SNMP-TARGET-MIB::snmpTargetAddrRowStatus == (1, 3, 6, 1, 6, 3, 12, 1, 2, 1, 9)
SNMP-TARGET-MIB::snmpTargetParamsTable == (1, 3, 6, 1, 6, 3, 12, 1, 3)
SNMP-TARGET-MIB::snmpTargetParamsEntry == (1, 3, 6, 1, 6, 3, 12, 1, 3, 1)
SNMP-TARGET-MIB::snmpTargetParamsName == (1, 3, 6, 1, 6, 3, 12, 1, 3, 1, 1)
SNMP-TARGET-MIB::snmpTargetParamsMPModel == (1, 3, 6, 1, 6, 3, 12, 1, 3, 1, 2)
SNMP-TARGET-MIB::snmpTargetParamsSecurityModel == (1, 3, 6, 1, 6, 3, 12, 1, 3, 1, 3)
SNMP-TARGET-MIB::snmpTargetParamsSecurityName == (1, 3, 6, 1, 6, 3, 12, 1, 3, 1, 4)
SNMP-TARGET-MIB::snmpTargetParamsSecurityLevel == (1, 3, 6, 1, 6, 3, 12, 1, 3, 1, 5)
SNMP-TARGET-MIB::snmpTargetParamsStorageType == (1, 3, 6, 1, 6, 3, 12, 1, 3, 1, 6)
SNMP-TARGET-MIB::snmpTargetParamsRowStatus == (1, 3, 6, 1, 6, 3, 12, 1, 3, 1, 7)
SNMP-TARGET-MIB::snmpUnavailableContexts == (1, 3, 6, 1, 6, 3, 12, 1, 4)
SNMP-TARGET-MIB::snmpUnknownContexts == (1, 3, 6, 1, 6, 3, 12, 1, 5)
SNMP-TARGET-MIB::snmpTargetConformance == (1, 3, 6, 1, 6, 3, 12, 3)
SNMP-TARGET-MIB::snmpTargetCompliances == (1, 3, 6, 1, 6, 3, 12, 3, 1)
SNMP-TARGET-MIB::snmpTargetCommandResponderCompliance == (1, 3, 6, 1, 6, 3, 12, 3, 1, 1)
SNMP-TARGET-MIB::snmpTargetGroups == (1, 3, 6, 1, 6, 3, 12, 3, 2)
SNMP-TARGET-MIB::snmpTargetBasicGroup == (1, 3, 6, 1, 6, 3, 12, 3, 2, 1)
SNMP-TARGET-MIB::snmpTargetResponseGroup == (1, 3, 6, 1, 6, 3, 12, 3, 2, 2)
SNMP-TARGET-MIB::snmpTargetCommandResponderGroup == (1, 3, 6, 1, 6, 3, 12, 3, 2, 3)
SNMP-COMMUNITY-MIB::snmpCommunityMIB == (1, 3, 6, 1, 6, 3, 18)
SNMP-COMMUNITY-MIB::snmpCommunityMIBObjects == (1, 3, 6, 1, 6, 3, 18, 1)
SNMP-COMMUNITY-MIB::snmpCommunityTable == (1, 3, 6, 1, 6, 3, 18, 1, 1)
SNMP-COMMUNITY-MIB::snmpCommunityEntry == (1, 3, 6, 1, 6, 3, 18, 1, 1, 1)
SNMP-COMMUNITY-MIB::snmpCommunityIndex == (1, 3, 6, 1, 6, 3, 18, 1, 1, 1, 1)
SNMP-COMMUNITY-MIB::snmpCommunityName == (1, 3, 6, 1, 6, 3, 18, 1, 1, 1, 2)
SNMP-COMMUNITY-MIB::snmpCommunitySecurityName == (1, 3, 6, 1, 6, 3, 18, 1, 1, 1, 3)
SNMP-COMMUNITY-MIB::snmpCommunityContextEngineID == (1, 3, 6, 1, 6, 3, 18, 1, 1, 1, 4)
SNMP-COMMUNITY-MIB::snmpCommunityContextName == (1, 3, 6, 1, 6, 3, 18, 1, 1, 1, 5)
SNMP-COMMUNITY-MIB::snmpCommunityTransportTag == (1, 3, 6, 1, 6, 3, 18, 1, 1, 1, 6)
SNMP-COMMUNITY-MIB::snmpCommunityStorageType == (1, 3, 6, 1, 6, 3, 18, 1, 1, 1, 7)
SNMP-COMMUNITY-MIB::snmpCommunityStatus == (1, 3, 6, 1, 6, 3, 18, 1, 1, 1, 8)
SNMP-COMMUNITY-MIB::snmpTargetAddrExtTable == (1, 3, 6, 1, 6, 3, 18, 1, 2)
SNMP-COMMUNITY-MIB::snmpTargetAddrExtEntry == (1, 3, 6, 1, 6, 3, 18, 1, 2, 1)
SNMP-COMMUNITY-MIB::snmpTargetAddrTMask == (1, 3, 6, 1, 6, 3, 18, 1, 2, 1, 1)
SNMP-COMMUNITY-MIB::snmpTargetAddrMMS == (1, 3, 6, 1, 6, 3, 18, 1, 2, 1, 2)
SNMP-COMMUNITY-MIB::snmpTrapAddress == (1, 3, 6, 1, 6, 3, 18, 1, 3)
SNMP-COMMUNITY-MIB::snmpTrapCommunity == (1, 3, 6, 1, 6, 3, 18, 1, 4)
SNMP-COMMUNITY-MIB::snmpCommunityMIBConformance == (1, 3, 6, 1, 6, 3, 18, 2)
SNMP-COMMUNITY-MIB::snmpCommunityMIBCompliances == (1, 3, 6, 1, 6, 3, 18, 2, 1)
SNMP-COMMUNITY-MIB::snmpCommunityMIBCompliance == (1, 3, 6, 1, 6, 3, 18, 2, 1, 1)
SNMP-COMMUNITY-MIB::snmpProxyTrapForwardCompliance == (1, 3, 6, 1, 6, 3, 18, 2, 1, 2)
SNMP-COMMUNITY-MIB::snmpCommunityMIBFullCompliance == (1, 3, 6, 1, 6, 3, 18, 2, 1, 3)
SNMP-COMMUNITY-MIB::snmpCommunityMIBGroups == (1, 3, 6, 1, 6, 3, 18, 2, 2)
SNMP-COMMUNITY-MIB::snmpCommunityTableGroup == (1, 3, 6, 1, 6, 3, 18, 2, 2, 1)
SNMP-COMMUNITY-MIB::snmpProxyTrapForwardGroup == (1, 3, 6, 1, 6, 3, 18, 2, 2, 3)
SNMPv2-SMI::joint-iso-itu-t == (2,)
Modules traversal
ASN1
ASN1-ENUMERATION
ASN1-REFINEMENT
IANAifType-MIB
IF-MIB
INET-ADDRESS-MIB
IP-MIB
SNMP-COMMUNITY-MIB
SNMP-FRAMEWORK-MIB
SNMP-TARGET-MIB
SNMPv2-CONF
SNMPv2-MIB
SNMPv2-SMI
SNMPv2-TC

-- **********************************************************************
-- **********************************************************************
-- **
-- **  COPYRIGHT      (c) 2006 Rohde & Schwarz GmbH & Co. KG
-- **                          Muehldorfstrasse 15
-- **    R & S                 81671 Muenchen
-- **
-- ** - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-- **
-- **  MODULE         RS-COMMON-MIB.my
-- **  
-- **  DESCRIPTION    Rohde & Schwarz common SNMP mib
-- **
-- **  HISTORY        2010-08-09 Christian Hoelzl
-- **                 rsProdRadioCommEquipment added
-- **
-- **                 05/27/2008 Christian Hoelzl
-- **                 rsProdBroadcastHeadend added
-- **
-- **                 05/07/2008 Christian Hoelzl
-- **                 rsProdRadioCommSystems added
-- **
-- **                 10/31/2007 Christian Hoelzl
-- **                 rsProdRadioCommunications added
-- **                 rsProdRadioCommCommon added
-- **                 rsProdRadioCommSeries4200 added
-- **
-- **                 09/05/2006 Christian Hoelzl
-- **                 rsCrypto added
-- **
-- **                 06/24/2005 Christian Hoelzl
-- **                 first version
-- **
-- ** +-iso(1)
-- **   +-org(3)
-- **     +-dod(6)
-- **       +-internet(1)
-- **         +-private(4)
-- **           +-enterprises(1)
-- **             +-rsRoot(2566)
-- **               +-rsCommon(123)
-- **               +-rsProduct(127)
-- **               | +-rsProdBroadcast(1)
-- **               | | +-rsProdBroadcastMeasurement(1)
-- **               | | +-rsProdBroadcastTransmitter(2)
-- **               | | +-rsProdBroadcastHeadend(3)
-- **               | |
-- **               | +-rsProdRadioCommunications(2)
-- **               |   +-rsProdRadioCommCommon(1)
-- **               |   +-rsProdRadioCommSeries4200(2)
-- **               |   +-rsProdRadioCommSystems(3)
-- **               |   +-rsPrdoRadioCommEquipment(4)
-- **               |
-- **               +-rsRequirements(131)
-- **               +-rsExperimental(137)
-- **               +-rsCapabilities(139)
-- **               +-rsRegistration(149)
-- **               | +-rsRegModules(1)
-- **               | +-rsRegBroadcast(2)
-- **               |   +-rsRegBroadcastMeasurement(1)
-- **               |   +-rsRegBroadcastTransmitter(2)
-- **               |
-- **               +-rsCrypto(151)
-- ** 
-- **
-- **********************************************************************
-- **********************************************************************

  RS-COMMON-MIB DEFINITIONS ::= BEGIN
 
    IMPORTS enterprises, OBJECT-IDENTITY, MODULE-IDENTITY FROM SNMPv2-SMI;

    rsRoot MODULE-IDENTITY
        LAST-UPDATED "201008090803Z" -- August 9th 2010 at 08:03 GMT
        ORGANIZATION 
		        "Rohde&Schwarz GmbH & Co.KG"
        CONTACT-INFO 
		        "Rohde & Schwarz GmbH & Co. KG
		         Muehldorfstrasse 15
		         81671 Munich
		         Germany"
	      DESCRIPTION 
            "The root OID of Rohde&Schwarz GmbH & Co.KG"
        REVISION "201008090803Z" -- August 9th 2010 at 08:03 GMT
	      DESCRIPTION 
            "MODULE-IDENTITY added to RS-COMMON-MIB"
        ::= { enterprises 2566 }

    rsCommon OBJECT-IDENTITY
        STATUS current
        DESCRIPTION 
            "Sub-tree for common object and event definitions"
        ::= { rsRoot 113 }

    rsProducts OBJECT-IDENTITY
        STATUS current
        DESCRIPTION 
            "Sub-tree for products."
        ::= { rsRoot 127 }

    rsProdBroadcast OBJECT-IDENTITY
        STATUS current
        DESCRIPTION 
            "Sub-tree for broadcast products."
        ::= { rsProducts 1 }

    rsProdBroadcastMeasurement OBJECT-IDENTITY
        STATUS current
        DESCRIPTION 
            "Sub-tree for broadcast measurement products."
        ::= { rsProdBroadcast 1 }

    rsProdBroadcastTransmitter OBJECT-IDENTITY
        STATUS current
        DESCRIPTION 
            "Sub-tree for broadcast transmitter products."
        ::= { rsProdBroadcast 2 }

    rsProdBroadcastHeadend OBJECT-IDENTITY
        STATUS current
        DESCRIPTION 
            "Sub-tree for broadcast headend products."
        ::= { rsProdBroadcast 3 }

    rsProdRadioCommunications OBJECT-IDENTITY
        STATUS current
        DESCRIPTION 
            "Sub-tree for radio communication products."
        ::= { rsProducts 2 }

    rsProdRadioCommCommon OBJECT-IDENTITY
        STATUS current
        DESCRIPTION 
            "Sub-tree for radio communication product common features."
        ::= { rsProdRadioCommunications 1 }

    rsProdRadioCommSeries4200 OBJECT-IDENTITY
        STATUS current
        DESCRIPTION 
            "Sub-tree for radio communication series 4200."
        ::= { rsProdRadioCommunications 2 }

    rsProdRadioCommSystems OBJECT-IDENTITY
        STATUS current
        DESCRIPTION 
            "Sub-tree for radio communication systems."
        ::= { rsProdRadioCommunications 3 }

    rsProdRadioCommEquipment OBJECT-IDENTITY
        STATUS current
        DESCRIPTION 
            "Sub-tree for radio communication equipment."
        ::= { rsProdRadioCommunications 4 }

    rsRequirements OBJECT-IDENTITY
        STATUS current
        DESCRIPTION 
            "Sub-tree for management application requirements"
        ::= { rsRoot 131 }

    rsExperimental OBJECT-IDENTITY
        STATUS current
        DESCRIPTION 
            "Sub-tree for experimental definitions"
        ::= { rsRoot 137 }

    rsCapabilities OBJECT-IDENTITY
        STATUS current
        DESCRIPTION 
            "Sub-tree for agent capabilities"
        ::= { rsRoot 139 }

    rsRegistration OBJECT-IDENTITY
        STATUS current
        DESCRIPTION 
            "Sub-tree for registrations"
        ::= { rsRoot 149 }

    rsRegModules OBJECT-IDENTITY
        STATUS current
        DESCRIPTION 
            "Sub-tree for modules registrations"
        ::= { rsRegistration 1 }
    
    rsRegBroadcast OBJECT-IDENTITY
        STATUS current
        DESCRIPTION 
            "Description."
        ::= { rsRegistration 2 }

    rsRegBroadcastMeasurement OBJECT-IDENTITY
        STATUS current
        DESCRIPTION 
            "Description."
        ::= { rsRegBroadcast 1 }

    rsRegBroadcastTransmitter OBJECT-IDENTITY
        STATUS current
        DESCRIPTION 
            "Description."
        ::= { rsRegBroadcast 2 }

    rsCrypto OBJECT-IDENTITY
        STATUS current
        DESCRIPTION 
            "Sub-tree for crypto algorithms"
        ::= { rsRoot 151 }

    END

--
-- RS-COMMON-MIB.my
--

from pysnmp.

BusbyActual avatar BusbyActual commented on May 18, 2024

I sure didn't. I see what you mean by the MIB order in the loadingModules method. I have it working as expected now. The code for output to the console has a plug for nodeDesc. Are their ways to pull DESCRIPTION or STATUS as well? I've been looking at the docs and can't find much on the mibView.getNodeLocation method.

 rsRoot MODULE-IDENTITY
        LAST-UPDATED "201008090803Z" -- August 9th 2010 at 08:03 GMT
        ORGANIZATION 
		        "Rohde&Schwarz GmbH & Co.KG"
        CONTACT-INFO 
		        "Rohde & Schwarz GmbH & Co. KG
		         Muehldorfstrasse 15
		         81671 Munich
		         Germany"
	      DESCRIPTION 
            "The root OID of Rohde&Schwarz GmbH & Co.KG"
        REVISION "201008090803Z" -- August 9th 2010 at 08:03 GMT
	      DESCRIPTION 
            "MODULE-IDENTITY added to RS-COMMON-MIB"
        ::= { enterprises 2566 }

print('MIB tree traversal')
oid, label, suffix = mibView.getFirstNodeName()
while 1:
    try:
        modName, nodeDesc, suffix = mibView.getNodeLocation(oid)
        print('%s::%s == %s' % (modName, nodeDesc, oid))
        oid, label, suffix = mibView.getNextNodeName(oid)
    except error.NoSuchObjectError:
        break

from pysnmp.

BusbyActual avatar BusbyActual commented on May 18, 2024

Hmm I'm not too familiar with Python. JavaScript is my bread and butter. I'm trying to figure out where to invoke the method my guess is mibBuilder.ObjectIdentity.getDescription because ObjectIdentity is exported from mibBuilder.exportSymbols however that doesn't work. Could you provide an example? Also, I'm looking at the mibBuilder methods addMibCompiler and addMibSources is their support for passing a MIB as JSON as opposed to a flat file?

from pysnmp.

BusbyActual avatar BusbyActual commented on May 18, 2024

I think I understand how the methods interact with each other from your explanation. When I follow the example with using the custom MIB and object name I get errors. When I use the samples in the loop it doesn't provide the correct description. Maybe I'm missing something?

Error

Traceback (most recent call last):
  File "test.py", line 87, in <module>
    mibObj, = mibBuilder.importSymbols(mibName, objName)
  File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages/pysnmp/smi/builder.py", line 407, in importSymbols
    'No symbol %s::%s at %s' % (modName, symName, self)
pysnmp.smi.error.SmiError: No symbol RS-COMMON-MIB::snmpEngineID at <pysnmp.smi.builder.MibBuilder object at 0x1014a3dd8>

Code

print('MIB tree traversal')
oid, label, suffix = mibView.getFirstNodeName()
while 1:
    try:
        mibName, objName = 'SNMP-FRAMEWORK-MIB', 'snmpEngineID'
        mibObj, = mibBuilder.importSymbols(mibName, objName)
        modName, nodeDesc, suffix = mibView.getNodeLocation(oid)
        # mibObj, = mibBuilder.importSymbols(modName, nodeDesc)
        print(mibObj.getDescription())

        print('%s::%s == %s && %s' % (modName, nodeDesc, oid, mibObj))
        oid, label, suffix = mibView.getNextNodeName(oid)


    except error.NoSuchObjectError:
        break

Output


RS-XX9-SMI-MIB::rsXx9DvbT == (1, 3, 6, 1, 4, 1, 2566, 127, 1, 2, 216, 6) && MibScalar((1, 3, 6, 1, 6, 3, 10, 2, 1, 1), SnmpEngineID())

from pysnmp.

BusbyActual avatar BusbyActual commented on May 18, 2024

I checked my .py mibs that are generated and they also don't have the description. I can see STATUS and MAXACCESS are converted in the .py files. So I'm assuming if it was to be processed properly the data would reside there as well?

RS-COMMON-MIB.py

#
# PySNMP MIB module RS-COMMON-MIB (http://pysnmp.sf.net)
# ASN.1 source file:///users/admin/desktop/mib/mibFiles/RS-COMMON-MIB.mib
# Produced by pysmi-0.1.3 at Fri Jul 21 11:27:16 2017
# On host Busby.local platform Darwin version 15.6.0 by user admin
# Using Python version 3.6.1 (v3.6.1:69c0db5050, Mar 21 2017, 01:21:04) 
#
Integer, ObjectIdentifier, OctetString = mibBuilder.importSymbols("ASN1", "Integer", "ObjectIdentifier", "OctetString")
NamedValues, = mibBuilder.importSymbols("ASN1-ENUMERATION", "NamedValues")
ValueRangeConstraint, SingleValueConstraint, ConstraintsUnion, ConstraintsIntersection, ValueSizeConstraint = mibBuilder.importSymbols("ASN1-REFINEMENT", "ValueRangeConstraint", "SingleValueConstraint", "ConstraintsUnion", "ConstraintsIntersection", "ValueSizeConstraint")
ModuleCompliance, NotificationGroup = mibBuilder.importSymbols("SNMPv2-CONF", "ModuleCompliance", "NotificationGroup")
MibIdentifier, NotificationType, ModuleIdentity, Gauge32, IpAddress, enterprises, Bits, Integer32, Counter64, TimeTicks, MibScalar, MibTable, MibTableRow, MibTableColumn, Counter32, Unsigned32, iso, ObjectIdentity = mibBuilder.importSymbols("SNMPv2-SMI", "MibIdentifier", "NotificationType", "ModuleIdentity", "Gauge32", "IpAddress", "enterprises", "Bits", "Integer32", "Counter64", "TimeTicks", "MibScalar", "MibTable", "MibTableRow", "MibTableColumn", "Counter32", "Unsigned32", "iso", "ObjectIdentity")
TextualConvention, DisplayString = mibBuilder.importSymbols("SNMPv2-TC", "TextualConvention", "DisplayString")
rsRoot = ModuleIdentity((1, 3, 6, 1, 4, 1, 2566))
if mibBuilder.loadTexts: rsRoot.setRevisions(('2010-08-09 08:03',))
if mibBuilder.loadTexts: rsRoot.setLastUpdated('201008090803Z')
rsCommon = ObjectIdentity((1, 3, 6, 1, 4, 1, 2566, 113))
if mibBuilder.loadTexts: rsCommon.setStatus('current')
rsProducts = ObjectIdentity((1, 3, 6, 1, 4, 1, 2566, 127))
if mibBuilder.loadTexts: rsProducts.setStatus('current')
rsProdBroadcast = ObjectIdentity((1, 3, 6, 1, 4, 1, 2566, 127, 1))
if mibBuilder.loadTexts: rsProdBroadcast.setStatus('current')
rsProdBroadcastMeasurement = ObjectIdentity((1, 3, 6, 1, 4, 1, 2566, 127, 1, 1))
if mibBuilder.loadTexts: rsProdBroadcastMeasurement.setStatus('current')
rsProdBroadcastTransmitter = ObjectIdentity((1, 3, 6, 1, 4, 1, 2566, 127, 1, 2))
if mibBuilder.loadTexts: rsProdBroadcastTransmitter.setStatus('current')
rsProdBroadcastHeadend = ObjectIdentity((1, 3, 6, 1, 4, 1, 2566, 127, 1, 3))
if mibBuilder.loadTexts: rsProdBroadcastHeadend.setStatus('current')
rsProdRadioCommunications = ObjectIdentity((1, 3, 6, 1, 4, 1, 2566, 127, 2))
if mibBuilder.loadTexts: rsProdRadioCommunications.setStatus('current')
rsProdRadioCommCommon = ObjectIdentity((1, 3, 6, 1, 4, 1, 2566, 127, 2, 1))
if mibBuilder.loadTexts: rsProdRadioCommCommon.setStatus('current')
rsProdRadioCommSeries4200 = ObjectIdentity((1, 3, 6, 1, 4, 1, 2566, 127, 2, 2))
if mibBuilder.loadTexts: rsProdRadioCommSeries4200.setStatus('current')
rsProdRadioCommSystems = ObjectIdentity((1, 3, 6, 1, 4, 1, 2566, 127, 2, 3))
if mibBuilder.loadTexts: rsProdRadioCommSystems.setStatus('current')
rsProdRadioCommEquipment = ObjectIdentity((1, 3, 6, 1, 4, 1, 2566, 127, 2, 4))
if mibBuilder.loadTexts: rsProdRadioCommEquipment.setStatus('current')
rsRequirements = ObjectIdentity((1, 3, 6, 1, 4, 1, 2566, 131))
if mibBuilder.loadTexts: rsRequirements.setStatus('current')
rsExperimental = ObjectIdentity((1, 3, 6, 1, 4, 1, 2566, 137))
if mibBuilder.loadTexts: rsExperimental.setStatus('current')
rsCapabilities = ObjectIdentity((1, 3, 6, 1, 4, 1, 2566, 139))
if mibBuilder.loadTexts: rsCapabilities.setStatus('current')
rsRegistration = ObjectIdentity((1, 3, 6, 1, 4, 1, 2566, 149))
if mibBuilder.loadTexts: rsRegistration.setStatus('current')
rsRegModules = ObjectIdentity((1, 3, 6, 1, 4, 1, 2566, 149, 1))
if mibBuilder.loadTexts: rsRegModules.setStatus('current')
rsRegBroadcast = ObjectIdentity((1, 3, 6, 1, 4, 1, 2566, 149, 2))
if mibBuilder.loadTexts: rsRegBroadcast.setStatus('current')
rsRegBroadcastMeasurement = ObjectIdentity((1, 3, 6, 1, 4, 1, 2566, 149, 2, 1))
if mibBuilder.loadTexts: rsRegBroadcastMeasurement.setStatus('current')
rsRegBroadcastTransmitter = ObjectIdentity((1, 3, 6, 1, 4, 1, 2566, 149, 2, 2))
if mibBuilder.loadTexts: rsRegBroadcastTransmitter.setStatus('current')
rsCrypto = ObjectIdentity((1, 3, 6, 1, 4, 1, 2566, 151))
if mibBuilder.loadTexts: rsCrypto.setStatus('current')
mibBuilder.exportSymbols("RS-COMMON-MIB", rsRegBroadcast=rsRegBroadcast, rsProdBroadcastHeadend=rsProdBroadcastHeadend, rsProdRadioCommunications=rsProdRadioCommunications, rsProdBroadcastMeasurement=rsProdBroadcastMeasurement, rsRegModules=rsRegModules, rsProducts=rsProducts, rsProdRadioCommEquipment=rsProdRadioCommEquipment, rsRegistration=rsRegistration, rsRequirements=rsRequirements, PYSNMP_MODULE_ID=rsRoot, rsExperimental=rsExperimental, rsProdBroadcastTransmitter=rsProdBroadcastTransmitter, rsProdRadioCommSeries4200=rsProdRadioCommSeries4200, rsProdRadioCommSystems=rsProdRadioCommSystems, rsRegBroadcastTransmitter=rsRegBroadcastTransmitter, rsCommon=rsCommon, rsRoot=rsRoot, rsRegBroadcastMeasurement=rsRegBroadcastMeasurement, rsProdBroadcast=rsProdBroadcast, rsCrypto=rsCrypto, rsProdRadioCommCommon=rsProdRadioCommCommon, rsCapabilities=rsCapabilities)

RS-COMMON-MIB.mib

-- **********************************************************************
-- **********************************************************************
-- **
-- **  COPYRIGHT      (c) 2006 Rohde & Schwarz GmbH & Co. KG
-- **                          Muehldorfstrasse 15
-- **    R & S                 81671 Muenchen
-- **
-- ** - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-- **
-- **  MODULE         RS-COMMON-MIB.my
-- **  
-- **  DESCRIPTION    Rohde & Schwarz common SNMP mib
-- **
-- **  HISTORY        2010-08-09 Christian Hoelzl
-- **                 rsProdRadioCommEquipment added
-- **
-- **                 05/27/2008 Christian Hoelzl
-- **                 rsProdBroadcastHeadend added
-- **
-- **                 05/07/2008 Christian Hoelzl
-- **                 rsProdRadioCommSystems added
-- **
-- **                 10/31/2007 Christian Hoelzl
-- **                 rsProdRadioCommunications added
-- **                 rsProdRadioCommCommon added
-- **                 rsProdRadioCommSeries4200 added
-- **
-- **                 09/05/2006 Christian Hoelzl
-- **                 rsCrypto added
-- **
-- **                 06/24/2005 Christian Hoelzl
-- **                 first version
-- **
-- ** +-iso(1)
-- **   +-org(3)
-- **     +-dod(6)
-- **       +-internet(1)
-- **         +-private(4)
-- **           +-enterprises(1)
-- **             +-rsRoot(2566)
-- **               +-rsCommon(123)
-- **               +-rsProduct(127)
-- **               | +-rsProdBroadcast(1)
-- **               | | +-rsProdBroadcastMeasurement(1)
-- **               | | +-rsProdBroadcastTransmitter(2)
-- **               | | +-rsProdBroadcastHeadend(3)
-- **               | |
-- **               | +-rsProdRadioCommunications(2)
-- **               |   +-rsProdRadioCommCommon(1)
-- **               |   +-rsProdRadioCommSeries4200(2)
-- **               |   +-rsProdRadioCommSystems(3)
-- **               |   +-rsPrdoRadioCommEquipment(4)
-- **               |
-- **               +-rsRequirements(131)
-- **               +-rsExperimental(137)
-- **               +-rsCapabilities(139)
-- **               +-rsRegistration(149)
-- **               | +-rsRegModules(1)
-- **               | +-rsRegBroadcast(2)
-- **               |   +-rsRegBroadcastMeasurement(1)
-- **               |   +-rsRegBroadcastTransmitter(2)
-- **               |
-- **               +-rsCrypto(151)
-- ** 
-- **
-- **********************************************************************
-- **********************************************************************

  RS-COMMON-MIB DEFINITIONS ::= BEGIN
 
    IMPORTS enterprises, OBJECT-IDENTITY, MODULE-IDENTITY FROM SNMPv2-SMI;

    rsRoot MODULE-IDENTITY
        LAST-UPDATED "201008090803Z" -- August 9th 2010 at 08:03 GMT
        ORGANIZATION 
		        "Rohde&Schwarz GmbH & Co.KG"
        CONTACT-INFO 
		        "Rohde & Schwarz GmbH & Co. KG
		         Muehldorfstrasse 15
		         81671 Munich
		         Germany"
	      DESCRIPTION 
            "The root OID of Rohde&Schwarz GmbH & Co.KG"
        REVISION "201008090803Z" -- August 9th 2010 at 08:03 GMT
	      DESCRIPTION 
            "MODULE-IDENTITY added to RS-COMMON-MIB"
        ::= { enterprises 2566 }

    rsCommon OBJECT-IDENTITY
        STATUS current
        DESCRIPTION 
            "Sub-tree for common object and event definitions"
        ::= { rsRoot 113 }

    rsProducts OBJECT-IDENTITY
        STATUS current
        DESCRIPTION 
            "Sub-tree for products."
        ::= { rsRoot 127 }

    rsProdBroadcast OBJECT-IDENTITY
        STATUS current
        DESCRIPTION 
            "Sub-tree for broadcast products."
        ::= { rsProducts 1 }

    rsProdBroadcastMeasurement OBJECT-IDENTITY
        STATUS current
        DESCRIPTION 
            "Sub-tree for broadcast measurement products."
        ::= { rsProdBroadcast 1 }

    rsProdBroadcastTransmitter OBJECT-IDENTITY
        STATUS current
        DESCRIPTION 
            "Sub-tree for broadcast transmitter products."
        ::= { rsProdBroadcast 2 }

    rsProdBroadcastHeadend OBJECT-IDENTITY
        STATUS current
        DESCRIPTION 
            "Sub-tree for broadcast headend products."
        ::= { rsProdBroadcast 3 }

    rsProdRadioCommunications OBJECT-IDENTITY
        STATUS current
        DESCRIPTION 
            "Sub-tree for radio communication products."
        ::= { rsProducts 2 }

    rsProdRadioCommCommon OBJECT-IDENTITY
        STATUS current
        DESCRIPTION 
            "Sub-tree for radio communication product common features."
        ::= { rsProdRadioCommunications 1 }

    rsProdRadioCommSeries4200 OBJECT-IDENTITY
        STATUS current
        DESCRIPTION 
            "Sub-tree for radio communication series 4200."
        ::= { rsProdRadioCommunications 2 }

    rsProdRadioCommSystems OBJECT-IDENTITY
        STATUS current
        DESCRIPTION 
            "Sub-tree for radio communication systems."
        ::= { rsProdRadioCommunications 3 }

    rsProdRadioCommEquipment OBJECT-IDENTITY
        STATUS current
        DESCRIPTION 
            "Sub-tree for radio communication equipment."
        ::= { rsProdRadioCommunications 4 }

    rsRequirements OBJECT-IDENTITY
        STATUS current
        DESCRIPTION 
            "Sub-tree for management application requirements"
        ::= { rsRoot 131 }

    rsExperimental OBJECT-IDENTITY
        STATUS current
        DESCRIPTION 
            "Sub-tree for experimental definitions"
        ::= { rsRoot 137 }

    rsCapabilities OBJECT-IDENTITY
        STATUS current
        DESCRIPTION 
            "Sub-tree for agent capabilities"
        ::= { rsRoot 139 }

    rsRegistration OBJECT-IDENTITY
        STATUS current
        DESCRIPTION 
            "Sub-tree for registrations"
        ::= { rsRoot 149 }

    rsRegModules OBJECT-IDENTITY
        STATUS current
        DESCRIPTION 
            "Sub-tree for modules registrations"
        ::= { rsRegistration 1 }
    
    rsRegBroadcast OBJECT-IDENTITY
        STATUS current
        DESCRIPTION 
            "Description."
        ::= { rsRegistration 2 }

    rsRegBroadcastMeasurement OBJECT-IDENTITY
        STATUS current
        DESCRIPTION 
            "Description."
        ::= { rsRegBroadcast 1 }

    rsRegBroadcastTransmitter OBJECT-IDENTITY
        STATUS current
        DESCRIPTION 
            "Description."
        ::= { rsRegBroadcast 2 }

    rsCrypto OBJECT-IDENTITY
        STATUS current
        DESCRIPTION 
            "Sub-tree for crypto algorithms"
        ::= { rsRoot 151 }

    END

--
-- RS-COMMON-MIB.my
--

from pysnmp.

etingof avatar etingof commented on May 18, 2024

The texts should be there... Can you remove everything from ~/.pysnmp/mibs/* then add the genText option to your script:

compiler.addMibCompiler(mibBuilder, sources=['/users/admin/desktop/mib/mibfiles/', 
                                         'http://mibs.snmplabs.com/asn1/'], genTexts=True)

Re-run the script and check the MIB files afterwards?

That's to make sure those are not stale files generated before you added the genTexts flag.

from pysnmp.

BusbyActual avatar BusbyActual commented on May 18, 2024

I ran rm -rf * in the ~/.psnmp/mibs directory and confirmed nothing was there. After I re-ran the scripts the directory had pretty much the same output.

Script

from pysnmp.smi import builder, view, compiler, error, instrum, exval

from pysmi import debug
debug.setLogger(debug.Debug('searcher', 'reader', 'compiler'))

# Create MIB loader/builder
mibBuilder = builder.MibBuilder()

# Optionally attach PySMI MIB compiler (if installed)
print('Attaching MIB compiler...'),
compiler.addMibCompiler(mibBuilder, sources=['/users/admin/desktop/mib/mibFiles/', 'http://mibs.snmplabs.com/asn1/'], genTexts=True)
print('done')

# Optionally set an alternative path to compiled MIBs
print('Setting MIB sources...')
mibBuilder.addMibSources(builder.DirMibSource('/users/admin/desktop/mib/mibfiles/'))
print(mibBuilder.getMibSources())
print('done')

print('Loading MIB modules...'),
mibBuilder.loadModules('SNMPv2-MIB', 'SNMP-FRAMEWORK-MIB', 'SNMP-COMMUNITY-MIB', 'RS-COMMON-MIB', 'RS-XX9-SMI-MIB' , 'RS-XX9-TC-MIB', 'RS-XX9-COMMON-MIB')

# RS-XX9-ATSC-MIB', 'RS-XX9-ATV-MIB', 'RS-XX9-AIR-COOLING-MIB');
# mibBuilder.loadModules('SNMPv2-MIB', 'SNMP-FRAMEWORK-MIB', 'SNMP-COMMUNITY-MIB', 'RS-COMMON-MIB', 'RS-XX9-AIR-COOLING-MIB', 'RS-XX9-ATSC-MIB', 'RS-XX9-ATV-MIB', 'RS-XX9-COMMON-MIB', 'RS-XX9-DAB-MIB', 'RS-XX9-DTMB-MIB', 'RS-XX9-DVBT-MIB', 'RS-XX9-DVBT2-MIB', 'RS-XX9-FM-MIB', 'RS-XX9-ISDBT-MIB', 'RS-XX9-LIQUID-COOLING-MIB', 'RS-XX9-MTX-MIB', 'RS-XX9-SMI-MIB', 'RS-XX9-TC-MIB', 'RS-XX9-TX-MIB');
 # RS-COMMON-MIB         - mandatory for this MIB
 #                - RS-XX9-SMI-MIB        - mandatory for this MIB
 #                - RS-XX9-TC-MIB         - mandatory for this MIB
 #                - RS-XX9-COMMON-MIB
# print('done')

print('Indexing MIB objects...'),
mibView = view.MibViewController(mibBuilder)
print('done')

# print('MIB symbol name lookup by OID: '),
# oid, label, suffix = mibView.getNodeName((1, 3, 6, 1, 4, 1))
# print(oid, label, suffix)

# print('MIB symbol name lookup by label: '),
# oid, label, suffix = mibView.getNodeName((1, 3, 6, 1, 4, 1, 'mib-2', 1, 'sysDescr'))
# print(oid, label, suffix)

print('MIB symbol name lookup by symbol description: '),
oid, label, suffix = mibView.getNodeName(('sysDescr',))
oid, label, suffix = mibView.getNodeName(('snmpEngineID',), 'SNMP-FRAMEWORK-MIB')
print(oid, label, suffix)

print('MIB 1: '),
mibName, objName = 'SNMP-FRAMEWORK-MIB', 'snmpEngineID'
mibObj, = mibBuilder.importSymbols(mibName, objName)
print(mibObj.getDescription())

mibName, objName, restOfOid = mibView.getNodeLocation(oid)
mibObj, = mibBuilder.importSymbols(mibName, objName)
print(mibObj.getDescription())

print('MIB 2: '),
mibName, objName = 'SNMP-FRAMEWORK-MIB', 'snmpEngineID'
mibObj, = mibBuilder.importSymbols(mibName, objName)
print(mibObj.getDescription())

mibName, objName, restOfOid = mibView.getNodeLocation(oid)
mibObj, = mibBuilder.importSymbols(mibName, objName)
print(mibObj.getDescription())

print('MIB object value pretty print: '),
mibNode, = mibBuilder.importSymbols('SNMP-FRAMEWORK-MIB', 'snmpEngineID')
print(mibNode.syntax.prettyPrint())

print('MIB symbol location lookup by name: '),
modName, symName, suffix = mibView.getNodeLocation(('snmpCommunityEntry',))
print(symName, modName)

print('MIB node lookup by location: '),
rowNode, = mibBuilder.importSymbols(modName, symName)
print(rowNode)

print('Conceptual table index value to oid convertion: '),
oid = rowNode.getInstIdFromIndices('router')
print(oid)

print('Conceptual table index oid to value convertion: '),
print(rowNode.getIndicesFromInstId(oid))

print('MIB tree traversal')
oid, label, suffix = mibView.getFirstNodeName()
while 1:
    try:
        mibName, objName, mibName2 = 'SNMP-FRAMEWORK-MIB', 'snmpEngineID', 'RS-COMMON-MIB'
        mibObj, = mibBuilder.importSymbols(mibName, objName)
        # mibObj2, = mibBuilder.importSymbols(mibName2);
        # print(mibBuilder['RS-COMMON-MIB'])

        modName, nodeDesc, suffix = mibView.getNodeLocation(oid)
        # mibObj, = mibBuilder.importSymbols(modName, nodeDesc)
        print(mibObj.getDescription())


        print('%s::%s == %s && %s' % (modName, nodeDesc, oid, mibObj))
        oid, label, suffix = mibView.getNextNodeName(oid)


    except error.NoSuchObjectError:
        break


print('Building MIB tree...'),
mibInstrum = instrum.MibInstrumController(mibBuilder)
print('done')

print('Building table entry index from human-friendly representation...'),
snmpCommunityEntry, = mibBuilder.importSymbols(
    'SNMP-COMMUNITY-MIB', 'snmpCommunityEntry'
)
instanceId = snmpCommunityEntry.getInstIdFromIndices('my-router')
print('done')

# print('Create/update SNMP-COMMUNITY-MIB::snmpCommunityEntry table row: ')
# varBinds = mibInstrum.writeVars(
#     ((snmpCommunityEntry.name + (2,) + instanceId, 'mycomm'),
#      (snmpCommunityEntry.name + (3,) + instanceId, 'mynmsname'),
#      (snmpCommunityEntry.name + (7,) + instanceId, 'volatile'))
# )
# for oid, val in varBinds:
#     print('%s = %s' % ('.'.join([str(x) for x in oid]), val.prettyPrint()))
# print('done')

print('Read whole MIB (table walk)')
oid, val = (), None
while 1:
    oid, val = mibInstrum.readNextVars(((oid, val),))[0]
    if exval.endOfMib.isSameTypeWith(val):
        break
    print('%s = %s' % ('.'.join([str(x) for x in oid]), val.prettyPrint()))
print('done')

print('Unloading MIB modules...'),
mibBuilder.unloadModules()
print('done')

# print('Modules traversal')
# modName = mibView.getFirstModuleName()
# while 1:
#     if modName: print(modName)
#     try:
#         modName = mibView.getNextModuleName(modName)
#     except error.SmiError:
#         break

RS-COMMON-MIB.py

#
# PySNMP MIB module RS-COMMON-MIB (http://pysnmp.sf.net)
# ASN.1 source file:///users/admin/desktop/mib/mibFiles/RS-COMMON-MIB.mib
# Produced by pysmi-0.1.3 at Tue Aug  1 14:05:37 2017
# On host Busby.local platform Darwin version 15.6.0 by user admin
# Using Python version 3.6.1 (v3.6.1:69c0db5050, Mar 21 2017, 01:21:04) 
#
ObjectIdentifier, OctetString, Integer = mibBuilder.importSymbols("ASN1", "ObjectIdentifier", "OctetString", "Integer")
NamedValues, = mibBuilder.importSymbols("ASN1-ENUMERATION", "NamedValues")
ValueRangeConstraint, ConstraintsIntersection, SingleValueConstraint, ValueSizeConstraint, ConstraintsUnion = mibBuilder.importSymbols("ASN1-REFINEMENT", "ValueRangeConstraint", "ConstraintsIntersection", "SingleValueConstraint", "ValueSizeConstraint", "ConstraintsUnion")
ModuleCompliance, NotificationGroup = mibBuilder.importSymbols("SNMPv2-CONF", "ModuleCompliance", "NotificationGroup")
Unsigned32, TimeTicks, Bits, ObjectIdentity, Counter64, ModuleIdentity, iso, Counter32, IpAddress, MibIdentifier, NotificationType, Gauge32, Integer32, enterprises, MibScalar, MibTable, MibTableRow, MibTableColumn = mibBuilder.importSymbols("SNMPv2-SMI", "Unsigned32", "TimeTicks", "Bits", "ObjectIdentity", "Counter64", "ModuleIdentity", "iso", "Counter32", "IpAddress", "MibIdentifier", "NotificationType", "Gauge32", "Integer32", "enterprises", "MibScalar", "MibTable", "MibTableRow", "MibTableColumn")
DisplayString, TextualConvention = mibBuilder.importSymbols("SNMPv2-TC", "DisplayString", "TextualConvention")
rsRoot = ModuleIdentity((1, 3, 6, 1, 4, 1, 2566))
if mibBuilder.loadTexts: rsRoot.setRevisions(('2010-08-09 08:03',))
if mibBuilder.loadTexts: rsRoot.setLastUpdated('201008090803Z')
rsCommon = ObjectIdentity((1, 3, 6, 1, 4, 1, 2566, 113))
if mibBuilder.loadTexts: rsCommon.setStatus('current')
rsProducts = ObjectIdentity((1, 3, 6, 1, 4, 1, 2566, 127))
if mibBuilder.loadTexts: rsProducts.setStatus('current')
rsProdBroadcast = ObjectIdentity((1, 3, 6, 1, 4, 1, 2566, 127, 1))
if mibBuilder.loadTexts: rsProdBroadcast.setStatus('current')
rsProdBroadcastMeasurement = ObjectIdentity((1, 3, 6, 1, 4, 1, 2566, 127, 1, 1))
if mibBuilder.loadTexts: rsProdBroadcastMeasurement.setStatus('current')
rsProdBroadcastTransmitter = ObjectIdentity((1, 3, 6, 1, 4, 1, 2566, 127, 1, 2))
if mibBuilder.loadTexts: rsProdBroadcastTransmitter.setStatus('current')
rsProdBroadcastHeadend = ObjectIdentity((1, 3, 6, 1, 4, 1, 2566, 127, 1, 3))
if mibBuilder.loadTexts: rsProdBroadcastHeadend.setStatus('current')
rsProdRadioCommunications = ObjectIdentity((1, 3, 6, 1, 4, 1, 2566, 127, 2))
if mibBuilder.loadTexts: rsProdRadioCommunications.setStatus('current')
rsProdRadioCommCommon = ObjectIdentity((1, 3, 6, 1, 4, 1, 2566, 127, 2, 1))
if mibBuilder.loadTexts: rsProdRadioCommCommon.setStatus('current')
rsProdRadioCommSeries4200 = ObjectIdentity((1, 3, 6, 1, 4, 1, 2566, 127, 2, 2))
if mibBuilder.loadTexts: rsProdRadioCommSeries4200.setStatus('current')
rsProdRadioCommSystems = ObjectIdentity((1, 3, 6, 1, 4, 1, 2566, 127, 2, 3))
if mibBuilder.loadTexts: rsProdRadioCommSystems.setStatus('current')
rsProdRadioCommEquipment = ObjectIdentity((1, 3, 6, 1, 4, 1, 2566, 127, 2, 4))
if mibBuilder.loadTexts: rsProdRadioCommEquipment.setStatus('current')
rsRequirements = ObjectIdentity((1, 3, 6, 1, 4, 1, 2566, 131))
if mibBuilder.loadTexts: rsRequirements.setStatus('current')
rsExperimental = ObjectIdentity((1, 3, 6, 1, 4, 1, 2566, 137))
if mibBuilder.loadTexts: rsExperimental.setStatus('current')
rsCapabilities = ObjectIdentity((1, 3, 6, 1, 4, 1, 2566, 139))
if mibBuilder.loadTexts: rsCapabilities.setStatus('current')
rsRegistration = ObjectIdentity((1, 3, 6, 1, 4, 1, 2566, 149))
if mibBuilder.loadTexts: rsRegistration.setStatus('current')
rsRegModules = ObjectIdentity((1, 3, 6, 1, 4, 1, 2566, 149, 1))
if mibBuilder.loadTexts: rsRegModules.setStatus('current')
rsRegBroadcast = ObjectIdentity((1, 3, 6, 1, 4, 1, 2566, 149, 2))
if mibBuilder.loadTexts: rsRegBroadcast.setStatus('current')
rsRegBroadcastMeasurement = ObjectIdentity((1, 3, 6, 1, 4, 1, 2566, 149, 2, 1))
if mibBuilder.loadTexts: rsRegBroadcastMeasurement.setStatus('current')
rsRegBroadcastTransmitter = ObjectIdentity((1, 3, 6, 1, 4, 1, 2566, 149, 2, 2))
if mibBuilder.loadTexts: rsRegBroadcastTransmitter.setStatus('current')
rsCrypto = ObjectIdentity((1, 3, 6, 1, 4, 1, 2566, 151))
if mibBuilder.loadTexts: rsCrypto.setStatus('current')
mibBuilder.exportSymbols("RS-COMMON-MIB", rsProdRadioCommSeries4200=rsProdRadioCommSeries4200, rsCommon=rsCommon, rsRegistration=rsRegistration, rsProdBroadcastMeasurement=rsProdBroadcastMeasurement, rsRegBroadcast=rsRegBroadcast, rsCrypto=rsCrypto, rsRegBroadcastMeasurement=rsRegBroadcastMeasurement, rsProdBroadcast=rsProdBroadcast, rsRoot=rsRoot, rsProdRadioCommSystems=rsProdRadioCommSystems, rsProdRadioCommCommon=rsProdRadioCommCommon, rsProdBroadcastHeadend=rsProdBroadcastHeadend, rsExperimental=rsExperimental, rsRegModules=rsRegModules, rsProdRadioCommunications=rsProdRadioCommunications, rsProdRadioCommEquipment=rsProdRadioCommEquipment, rsProdBroadcastTransmitter=rsProdBroadcastTransmitter, PYSNMP_MODULE_ID=rsRoot, rsRegBroadcastTransmitter=rsRegBroadcastTransmitter, rsCapabilities=rsCapabilities, rsProducts=rsProducts, rsRequirements=rsRequirements)

from pysnmp.

thom-nic avatar thom-nic commented on May 18, 2024

I believe I'm seeing the same behavior as @BusbyActual - deleted ~/.pysnmp folder, called addMibCompiler(... genTexts=True)) but when I look at the converted .py file, no description text to be found...

Edit: this appears to work:

    mibBuilder = builder.MibBuilder()
    mibBuilder.loadTexts = True

from pysnmp.

rodrigo-aznar avatar rodrigo-aznar commented on May 18, 2024

Hi all,

I've been studying these issues, the old discussions on sourceforge, and the faqs (.rsts) for some weeks, but now I ask your help.

I believe I am facing same issue here as @BusbyActual and @thom-nic. I have a new custom .MIB which I added in the directory seen by script (very similar to the posted here). And I have:

modName and modName + ".py[co]", ', '.join([str(x) for x in self.__mibSources]))

pysnmp.smi.error.MibNotFoundError: MIB file "1206v0122.py[co]" not found in search path

One thing that I dont understand is that I cannot found the ~./pysnmp folder on my machine. Dumb question: Is this folder expected to be created right after I did "pip install pysnmp"? Or should it be created after run the script itself?

python: 3.6.9
pysnmp: /usr/local/lib/python3.6/dist-packages/pysnmp-4.4.12.dist-info
pysmi (0.3.4)

Many thanks

from pysnmp.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.