Re: Net-SNMP Python bindings
Bill Fenner <[email protected]>
| Newsgroups | gmane.network.net-snmp.user |
|---|---|
| Message-ID | <CAF4SogbLWP2hU5yj10K=xtwWvsq8uHTr+0bncnb6iYN6xUndBw@mail.gmail.com> |
On Mon, Oct 13, 2014 at 5:53 PM, Eduardo Bragatto <[email protected]> wrote: > Hi, > > I just started experimenting with the Python bindings and I noticed a > behaviour that looks like a bug when I’m using snmpwalk(). > > This is under Net-SNMP 5.5.2 on CentOS 6, 64 bits and python 2.7. > > First I’ll show an example of everything working as expected: > > > If I “walk” through an index, for example: IF-MIB::ifIndex > > — begins — > import netsnmp > > oid = netsnmp.VarList(netsnmp.Varbind('IF-MIB::ifIndex')) > s = netsnmp.Session(DestHost=‘myhost', Community=‘mycommunity', Version=2) > s.walk(oid) > — ends — > > I get the following output (debug enabled): > > $ python2.7 test.py > netsnmp_walk: filling request: IF-MIB::ifIndex::10:0 > netsnmp_walk: filling response: ifIndex:1 > netsnmp_walk: filling response: ifIndex:2 > netsnmp_walk: filling response: ifIndex:3 > netsnmp_walk: filling response: ifIndex:4 > netsnmp_walk: filling response: ifIndex:5 > > In that case, I get “tag” is the same for all returned OIDs, and “iid” is > incrementing. The same behaviour happens if I use “UseNumeric” and > “UseLongNames”: > > — begins — > import netsnmp > > oid = netsnmp.VarList(netsnmp.Varbind('IF-MIB::ifIndex')) > s = netsnmp.Session(DestHost=‘myhost', Community=‘mycommunity', Version=2) > s.UseLongNames = 1 > s.UseNumeric = 1 > s.walk(oid) > — ends — > > The output is: > > $ python2.7 test.py > netsnmp_walk: filling request: IF-MIB::ifIndex::10:0 > netsnmp_walk: filling response: .1.3.6.1.2.1.2.2.1.1:1 > netsnmp_walk: filling response: .1.3.6.1.2.1.2.2.1.1:2 > netsnmp_walk: filling response: .1.3.6.1.2.1.2.2.1.1:3 > netsnmp_walk: filling response: .1.3.6.1.2.1.2.2.1.1:4 > netsnmp_walk: filling response: .1.3.6.1.2.1.2.2.1.1:5 > > > > However, if instead of IF-MIB, I use Dell’s "MIB-Dell-10892” (without the > MIB actually being installed, using numeric OID), here’s what I get: > > First, without “UseLongNames” and “UseNumeric”: > > — begins — > import netsnmp > > oid = > netsnmp.VarList(netsnmp.Varbind('.1.3.6.1.4.1.674.10892.1.1100.30.1.1.1')) > s = netsnmp.Session(DestHost=‘myhost', Community=‘mycommunity', Version=2) > s.walk(oid) > — ends — > > Output: > > $ python2.7 test.py > netsnmp_walk: filling request: .1.3.6.1.4.1.674.10892.1.1100.30.1.1.1::14:0 > __get_type_str:FAILURE(0) > __get_type_str:FAILURE(0) > netsnmp_walk: filling response: enterprises.674.10892.1.1100.30.1.1.1.1: > __get_type_str:FAILURE(0) > __get_type_str:FAILURE(0) > netsnmp_walk: filling response: enterprises.674.10892.1.1100.30.1.1.1.2: > > Note that in this case, “tag” was merged with “iid” and “iid” was left > blank, however, if I use “UseNumeric” and “UseLongNames”, it works as > expected: > > — begins — > import netsnmp > > oid = > netsnmp.VarList(netsnmp.Varbind('.1.3.6.1.4.1.674.10892.1.1100.30.1.1.1')) > s = netsnmp.Session(DestHost=‘myhost', Community=‘mycommunity', Version=2) > s.UseLongNames = 1 > s.UseNumeric = 1 > s.walk(oid) > — ends — > > $ python2.7 test.py > netsnmp_walk: filling request: .1.3.6.1.4.1.674.10892.1.1100.30.1.1.1::14:0 > __get_type_str:FAILURE(0) > __get_type_str:FAILURE(0) > netsnmp_walk: filling response: .1.3.6.1.4.1.674.10892.1.1100.30.1.1.1:1 > __get_type_str:FAILURE(0) > __get_type_str:FAILURE(0) > netsnmp_walk: filling response: .1.3.6.1.4.1.674.10892.1.1100.30.1.1.1:2 > > > Has anyone else encountered this kind of behaviour? I’m willing to go > through the “client_intf.c” and try to fix this, but I’d like to hear from > people with a similar setup and/or more experience with the python bindings. > Without the MIB being loaded, how can you expect the manager to know what is the object and what is the iid? If anything, it sounds like it's a bug that the iid is filled in in any scenario without a MIB to support it. Bill ------------------------------------------------------------------------------ Comprehensive Server Monitoring with Site24x7. Monitor 10 servers for $9/Month. Get alerted through email, SMS, voice calls or mobile push notifications. Take corrective actions from your mobile device. http://p.sf.net/sfu/Zoho _______________________________________________ Net-snmp-users mailing list [email protected] Please see the following page to unsubscribe or change other options: https://lists.sourceforge.net/lists/listinfo/net-snmp-users