Re: Multiple MibWalks

Juergen Schoenwaelder (schoenw@cs.utwente.nl)
Wed, 13 Nov 1996 13:12:43 +0100

Thorsten Geelhaar <tgeelhaa@funghi.Materna.DE> said:

Thorsten> Yes, it is a 1-to-n relationship. With completely
Thorsten> asynchron you mean something like this ?

Thorsten> while not all records table 1 {

Thorsten> $s getnext table 1 ...
Thorsten> $s wait

Thorsten> while not all records table 2 {

Thorsten> $s getnext table 2 ...
Thorsten> $s wait
Thorsten> }
Thorsten> show_line_with_data_of_Tab1_2
Thorsten> }

Well, the second wait should not be inside of the while loop because
you can retrieve all records in an asynchronous way. You would write
something like the following code fragment:

proc Table2Callback {...} {
check the response and save values
if not all records of table 2 {
$s getnext table 2 ... Table2Callback
}
}

proc Table1Callback {} {
$s getnext table 2 ... Table2Callback ...
$s wait
show_line_with_data_of_Tab1_2
$s getnext table 1 ... Table1Callback ...
}

$s getnext table 1 ... Table1Callback ...

Thorsten> Perhaps you can give me an anwser on following question,too :

Thorsten> If i make an synchron reqeust like "walk" can i get
Thorsten> X-event meanwhile. Normaly not i think, but i want to
Thorsten> be sure .

Usually, no events are processed during a synchronous walk. However,
you can call "update" to process events. But this should be done with
care because update might also process asynchronous SNMP requests that
are still active (which may lead to side effects if you mix
synchronous and asynchronous requests).

What is needed is an asynchronous version of the walk command. This is
on my TODO list but I never found the time to write the code.

Thorsten> And my second question is what in the hell is a tooBig
Thorsten> error ( perhaps the restriction on 255 byte per paket
Thorsten> ? ) ?

There was a discussion about it in one of the previous messages. SNMP
messages can receive the max. message size supported by an agent. The
agent will send a tooBig error in this case (see RFC 1157). The limit
is usually not 255 bytes. RFC 1906 states that the minimum size
accepted by an agent should be 484 bytes.
Juergen