Login  
Search All Forums
Dart Home | PowerSNMP for .NET | Custom Development Reply | PowerSNMP for .NET Topics | Forums   
AuthorForum: PowerSNMP for .NET
Topic: Timeout for multiple table requests
renu

From: Eschborn, Germany
Posts: 16
Member Since: 02/17/09
posted March 16, 2009 8:46 AM

When requesting tables from an agent I receive a timeout exception as soon as I ask for more than 2 tables - though Wireshark shows that responses were received allright. Is there any limit for the number of table requests? When requesting multiple single oid's everything works fine.

The code is like this:

RequestMessage request = new GetBulkMessage();
request.Variables.Add(<table-id>);
Manager.GetResponseAsync(request, <agentAddress>);
renu

From: Eschborn, Germany
Posts: 16
Member Since: 02/17/09
posted March 16, 2009 12:44 PM

some more information:

in Wireshark, I can see that the Internet Protocol checksum for getBulkRequest is wrong:
is 0x0000
should be 0x3e26.

And here again is the code, this time a little bit more elaborate:

RequestMessage dartRequest = null;
dartRequest = new GetBulkMessage();
int maxNumberOfRowValues = ((GetBulkMessage)dartRequest).Repetitions = 1500;
int nonRepeatingIIDs = ((GetBulkMessage)dartRequest).NonRepeaters = 0;
dartRequest.Community = "private";
dartRequest.Version = SnmpVersion.Two;
dartRequest.Variables.Add(new Variable("1.3.6.1.2.1.2.2.1.1"));
int bytesSent = DartManager.GetResponseAsync(dartRequest, AgentAddress);


Under which circumstances is the Internet Protocol checksum incorrect? Is that a possible reason for the timeouts?
K M Drake



From: Utica, NY USA
Posts: 3406
Member Since: 07/14/00
posted March 17, 2009 11:54 AM

Hi,
I'm not sure what would cause the differences in the checksum.
Are you saying you checked it on the manager machine and on the receiving agent machine, and they are different?

I just tried sending a couple of GetBulk requests to an agent, and it worked fine.

Are you sure the AgentAddress (address AND port) is the same for both requests?

Or maybe the Agent is having a difficult time responding to such large messages in succession?

It is a lot to ask of an agent to respond with a message containing 1500 variables.
There are many agents that limit the size of the responses that can be sent.

Hope it helps,
-ken
renu

From: Eschborn, Germany
Posts: 16
Member Since: 02/17/09
posted March 19, 2009 7:29 AM

Checksum:
the checksum error occurs on the manager machine in 'Internet protocol' of Wireshark. On the agent machine, everthing is correct.

AgentAddress/AgentPort:
same for all get_BulkRequests.

Repetitions:
I set it to 1500 for test reasons but obviously this is the cause of the trouble. Tried to request the same table (ifTable) from the same agent n times and continously decreased the repetitions value. I noticed that for a repetitions value > 70 I get multiple IPFragment frames (would this cause the timeout?) but only if I set it as low as 4 I don't get timeouts anymore and can send up to 100 requests.

This seems a little strange to me - after all, I use the bulk request to get a number of items with one request - is there a recommended/based on experience range for this value?

Thanks a lot for your help
renu

K M Drake



From: Utica, NY USA
Posts: 3406
Member Since: 07/14/00
posted March 20, 2009 8:55 AM

Hi Renu,
You should be ok if you keep the total size of the response to less than 65K.

As far as how many variables/repetitions this equates to - it depends on the size of the variable values retrieved.

GetBulk was designed to get table data, because for multiple repeaters, the response variables are organized by rows, not by columns.
So I would send a GetBulk with table column OIDS, then set max-reps to a certain number of rows.
The total operation could be broken into multiple requests by sending subsequent GetBulks using the OIDs of the last row retrieved.

For example, for a table with 3 columns A, B, C and max-reps = 3, the response variables would be in this order:
A1, B1, C1, A2, B2, C2, A3, B3, C3

I could then send another GetBulk using A3, B3, C3.

-ken
renu

From: Eschborn, Germany
Posts: 16
Member Since: 02/17/09
posted March 20, 2009 12:37 PM

Hi Ken,

I will try it out as you suggested - thanks a lot for your help and have a nice weekend!

renu
Reply | PowerSNMP for .NET Topics | Forums   
This site is powered by PowerTCP WebServer Tool PowerTCP WebServer for ActiveX