HI,

I have implemented an AgentX subagent.

The mib is standard Q-BRIDGE_MIB, node is

dot1qVlanVersionNumber OBJECT-TYPE

SYNTAX INTEGER {

version1(1)

}

MAX-ACCESS read-only

STATUS current

DESCRIPTION

"The version number of IEEE 802.1Q that this device

supports."

REFERENCE

"IEEE 802.1Q/D11 Section 12.10.1.1"

::= { dot1qBase 1 }



I have generated the code using mib2c dot1qVlanVersionNumber

1.net-snmp style

2. Both ways scalar and tied integer.

code generated and modified from mib2c.scalar.conf is

long dot1qVlanVersionNumber = 1; /* XXX: set default value */

/*

* Our initialization routine, called automatically by the agent

* (Note that the function name must match init_FILENAME())

*/

void

init_dot1qVlanVersionNumber(void)

{

static oid dot1qVlanVersionNumber_oid[] = { 1,3,6,1,2,1,17,7,1,1,1 };

DEBUGMSGTL(("dot1qVlanVersionNumber", "Initializing\n"));

netsnmp_register_scalar(

netsnmp_create_handler_registration("dot1qVlanVersionNumber",
handle_dot1qVlanVersionNumber,

dot1qVlanVersionNumber_oid, OID_LENGTH(dot1qVlanVersionNumber_oid),

HANDLER_CAN_RONLY

));

}

int handle_dot1qVlanVersionNumber(netsnmp_mib_handler *handler,

netsnmp_handler_registration *reginfo,

netsnmp_agent_request_info *reqinfo,

netsnmp_request_info *requests)

{

switch(reqinfo->mode) {

case MODE_GET:

case MODE_GETNEXT:

snmp_set_var_typed_value(requests->requestvb, ASN_INTEGER,

(u_char *) &dot1qVlanVersionNumber/* XXX: a pointer to the scalar's data */,

sizeof(long)/* XXX: the length of the data in bytes */);

break;



default:

/* we should never get here, so this is a really bad error */

snmp_log(LOG_ERR, "unknown mode (%d) in handle_dot1qVlanVersionNumber\n",
reqinfo->mode );

return SNMP_ERR_GENERR;

}

return SNMP_ERR_NOERROR;

}





When I do snmpwalk I get

snmpwalk -v3 -u xyz -A 12345678 -X 12345678 -a MD5 -l authNoPriv localhost
Q-BRIDGE-MIB::dot1qVlanVersionNumber

Q-BRIDGE-MIB::dot1qVlanVersionNumber.0 = INTEGER: version1(1)

Q-BRIDGE-MIB::dot1qVlanVersionNumber.0 = Wrong Type (should be INTEGER):
NULL

Error: OID not increasing: Q-BRIDGE-MIB::dot1qVlanVersionNumber.0

>= Q-BRIDGE-MIB::dot1qVlanVersionNumber.0

snmpget is working fine

snmpget -v3 -u xyz -A 12345678 -X 12345678 -a MD5 -l authNoPriv localhost
Q-BRIDGE-MIB::dot1qVlanVersionNumber.0

Q-BRIDGE-MIB::dot1qVlanVersionNumber.0 = INTEGER: version1(1)

This behaviour is same when code is generated using tied integer.

Why I am getting Q-BRIDGE-MIB::dot1qVlanVersionNumber.0 = Wrong Type (should
be INTEGER): NULL

Error: OID not increasing: Q-BRIDGE-MIB::dot1qVlanVersionNumber.0

>= Q-BRIDGE-MIB::dot1qVlanVersionNumber.0

in snmpwalk output?

I searched for this in archive and found that this is probably due to my
agent is broken.
Can you please help me out in figuring Where is agent broken and how to fix
it?

Thanks in advance!
------------------------------------------------------------------------------
This SF.net email is sponsored by 

Make an app they can't live without
Enter the BlackBerry Developer Challenge
http://p.sf.net/sfu/RIM-dev2dev 
_______________________________________________
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

Reply via email to