Hi all,

I'm using net-snmp 5.2.1 on a MIPS blade running Montavista Linux, and I have a 
question about the behavior I observed when my net-snmp subagent is talking to 
a master agent using AgentX.
I have to implement an enterprise MIB with 50+ tables,  where my subagent is 
registering only for one row of each table. I'm using the table_dataset helper 
and the range_subid/range_ubound fields to identify the range for all columns 
of the row I want to support.

When I then try to walk my MIB,  the master agent (which is running on a 
different server) will try to send first an exact GET using the OID of the 
first column of the first table row I want to walk, and then ask for a GET_NEXT 
for each subsequent columns, until the table row is explored, then it moves to 
the next table, and again only sends my subagent all the OIDs for the single 
row I'm registered for.
This is all working fine when I have rows populated in all tables. But when 
there are no rows in a given table, even though the table_dataset handler 
returns NOSUCHINSTANCE, the master agent still keeps asking for all the next 
columns.

Is there a way I can send the master agent a special error code so that it will 
skip over my entire table row instead of keep asking for the next column 
anyway? I tried to come up with my handler returning various error, but only 
NOSUCHNAME seems to stop the master agent, but then it won't jump to the next 
table and keep the MIB walking anymore.

My problem is that in such cases I would like to improve the response time of 
the subagent. In fact let's assume for a moment I have no table rows populated 
at all for any table: the master agent will still send the GET for the first 
column of the first table row I'm registered for, the subagent handler returns 
NOSUCHINSTANCE, then the master agent sends a GET_NEXT which will cause the 
snmp subagent to call the handle_getnext_loop() function which in turn will 
call all 50+ handlers for my tables just to find out there is no next instance 
of anything. Then the master agent will come down for the same request for the 
next column which will trigger another huge getnext loop, and so on.
So for example if I'm walking an empty table with 30 columns and I have the 
next 50 tables empty as well, the master agent will  call the helper handlers 
more than 30*50 times just to find out there is no next OID available.

Thanks in advance for any suggestion you might have.
Regards.

Danilo Giulianelli
Lucent Technologies
Bell Labs Innovations
mailto:[EMAIL PROTECTED]



-------------------------------------------------------
This SF.Net email is sponsored by:
Power Architecture Resource Center: Free content, downloads, discussions,
and more. http://solutions.newsforge.com/ibmarch.tmpl
_______________________________________________
Net-snmp-users mailing list
Net-snmp-users@lists.sourceforge.net
Please see the following page to unsubscribe or change other options:
https://lists.sourceforge.net/lists/listinfo/net-snmp-users

Reply via email to