| Author | Forum: 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 for ActiveX
|