It seems that it only occurs when checking a mib instance of type "Ip Address". Is it because i'm using SNMPv1 maybe ?

Begin forwarded message:

From: Alef Veld <[EMAIL PROTECTED]>
Date: December 10, 2006 10:53:25 PM GMT+01:00
To: Net-Snmp- Subagent <net-snmp-coders@lists.sourceforge.net>
Subject: followup: snmpget: Error building ASN.1 representation

Strange phenomena. I checked if it might work with the OID instead, so i did:
 root# snmpwalk -On -v 2c -c public localhost ipAdEntNetMask
.1.3.6.1.2.1.4.20.1.3.10.0.0.151 = IpAddress: 255.255.255.0
.1.3.6.1.2.1.4.20.1.3.127.0.0.1 = IpAddress: 255.0.0.0

So i got the OID alright. I put that in the oid string instead, and what do i get as output?
IP-MIB::ipForwarding.0 = INTEGER: notForwarding(2)
IP-MIB::ipForwarding.0 = INTEGER: notForwarding(2)

Instead of getting the .1.3.6.1.2.1.4.20.1.3 OID, it gets the ipforwarding OID again, which, as you can see below, is really different. I can only guess that it 'autocompletes' the OID and gets the nearest OID that matches. After all both ipforwarding and ipAdEntNetMask belong to the same IP-MIB. I can do a snmpwalk with just ipFor as value as well, works just as good.

In any case, i find it strange that it does not work for the string (ipAdEntNetMask) although a full snmpwalk does tell me it's there, and that it does respond to the OID but doesn't get the right value (which hints at me that the ipAdEntNetMask isn't there?)

I hope i'm still making sense :-)

root# snmpwalk -On -v 2c -c public localhost ipForwarding . 1.3.6.1.2.1.4.1.0 = INTEGER: notForwarding(2)


Begin forwarded message:

From: Alef Veld <[EMAIL PROTECTED]>
Date: December 10, 2006 3:45:39 PM GMT+01:00
To: Net-Snmp- Subagent <net-snmp-coders@lists.sourceforge.net>
Subject: snmpget: Error building ASN.1 representation

Can anyone tell me why i get :
snmpget: Error building ASN.1 representation

upon running the following code? I just added an extra OID to query by using snprintf to fill a variable with the OID and the ipaddress. Is the buffer to big ? MAX_MSG=256

GLvoid snmp_walk(char *ip_addr)
{
    struct snmp_session session, *ss;
    struct snmp_pdu *pdu;
    struct snmp_pdu *response;
        struct hostent *he;

    oid anOID[MAX_OID_LEN];
    size_t anOID_len = MAX_OID_LEN;

    struct variable_list *vars;
    int status;
    int count=1;
        
        char *oids[OIDS];
        /* For variable OID instances */
        char varbla_buffer[MAX_MSG];
        database *data;
        int i;
        
        /* SNMPv2-MIB */
        oids[0]="sysDescr.0";
        oids[1]="sysUpTime.0";
        oids[2]="sysContact.0";
        oids[3]="sysName.0";
        oids[4]="sysLocation.0";
        /* IP-MIB */
        oids[5]="ipForwarding.0";
snprintf(varbla_buffer,sizeof(varbla_buffer),"ipAdEntNetMask.% s",ip_addr); fprintf(stderr,"varbuffer: %s lenght: %d\n",varbla_buffer,strlen (varbla_buffer));
        oids[6]=varbla_buffer;
        /* IF-MIB */
        oids[7]="ifNumber.0";
        



-------------------------------------------------------------------------
Take Surveys. Earn Cash. Influence the Future of IT
Join SourceForge.net's Techsay panel and you'll get the chance to share your
opinions on IT & business topics through brief surveys - and earn cash
http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV
_______________________________________________
Net-snmp-coders mailing list
Net-snmp-coders@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/net-snmp-coders

Reply via email to