Hi Dave,

Got your points, I appreciate your prompt and clear answers.

Best,
Yong Chen 

-----Original Message-----
From: Dave Shield [mailto:[EMAIL PROTECTED] 
Sent: Friday, October 21, 2005 1:50 AM
To: Yong Chen (yongche)
Cc: net-snmp-users@lists.sourceforge.net
Subject: RE: Multiple sets in one pdu

On Thu, 2005-10-20 at 13:49 -0700, Yong Chen (yongche) wrote:
> 1. The RFC says assignments within one SET is "as if simultaneous",  
> does it imply there's no sequence guaranteed?

Correct.

>                                    Further, does it imply "SET 
> redFish=xxx, blueFish=yyy" should have the same result as "SET 
> blueFish=yyy, redFish=xxx"?

That is my understanding - yes.
I'm not sure if there's any explicit text to this effect (and quite
honestly, I don't have the time to search).
But that is definitely the impression I have gained over the last ten
years working with SNMP.
   If you want a definitive answer, I suggest you raise this issue on
one of the IETF SNMP mailing lists.  It's the IETF that decide on what
the standards should say - not individual vendors.


> 2.  But how about if varbinds belong to 2 mibs?

Most of the time, if varbinds belong to two different MIBs, then there
typically won't be any interconnection between
them.   If there is, it's up to the MIB implementor(s) to
arrange some agreed form of coordination.



>  Will agent sort the varbinds first to form 2 SETs as following?
> 
>    (1)      SET fishTable.blueFish=xxx,
>                 fishTable.redFish=yyy
>    (2)      SET birdTable.yellowBird=aaa,
>                 birdTable.greenBird=bbb

Yes.


> Then send (1) to fishTable handler, wait for response, and send (2) to

> birdTable handler, wait for response, then combine both responses and 
> return?

Yes.

>  How do you determine which handler is to be called first, fishTable 
> handler or birdTable handler?

You don't.
Your code must be able to handle either case.


> In fishTable handler (and also birdTable handler), I can loop through 
> the varbind list to work around the sequence issue in case redFish has

> to be set before blueFish. But how about if birdTable.yellowBird has 
> to be set before fishTable.redFish? (as indicated in the originally 
> received SET pdu), how do you enforce such order?


One possibility would be to have the two table handlers set up an
internal data structure, containing all the relevant assignments.
This can clearly be done in any order (since it's purely an internal
thing), and at a relatively early stage.

Then once all updates have been applied, the next pass can activate this
internal structure, working in whatever order is necessary for the
underlying system.  This doesn't have to match the order of the incoming
varbinds.

Remember, you've got four passes to play with - that gives a fair bit of
flexibility for ensuring a particular ordering.

Dave


-------------------------------------------------------
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