HI,

On the below...

THe SNMP protocol definitions are quite clear that the order of
variables in the varbind list cannot be used for determining
semantics. Different agent implementations are free to evaluate
the varbinds in any order and, if there is more than more error,
to return the error index to of any one.

As to the behavior when the same variable is specified more than
once in the varbind list, the SNMP protocol definition allows
an agent to decide what to do. (For me personally, I would have
failed the operation with a new error code. But it's too late
now to change the protocol definitions.)

Take a look at RFC 3416. It's the latest definiton of SNMP
protocol operations. And it provides insight for SNMPv1.

On Wed, 20 Aug 2003 Vdibona@aol.com wrote:
> Hello,
>
> Thanks so much for responding. If you had to design an agent, which of the
> example PDUs would you allow to succeed. I am currently designing a version 1,
> 2c, and 3 agent. I am currently allowing example 1 to succeed but failing
> example 2. I thought it would invite unpredictability if example 2 were to succeed.
> Example 3 (I just added) would succeed on my agent. I couldn't see how an
> agent that ignored the position in the varBindList could handle example 3. It
> would seem to be unpredictable to the user if example 2 were allowed. I would
> really appreciate your opinion on the examples you would allow to succeed if you
> had the choice.
>
> Example 1 PDU:
> rowstatus set to notInServie (varBind index 1)
> object A set (varBind index 2)
>
> Example 2 PDU:
> object A set (varBind index 1)
> rowstatus set to notInServie (varBind index 2)
>
> Example 3 PDU:
> rowstatus set to notInServie (varBind index 1)
> object A set (varBind index 2)
> rowstatus set to active (varBind index 3)
>
>
>
>
> In a message dated 8/20/03 3:06:05 PM Eastern Daylight Time,
> dperkins@snmpinfo.com writes:
>
> > HI,
> >
> > On the following...
> >
> > On Wed, 20 Aug 2003 Vdibona@aol.com wrote:
> > >I have a columnar object
> > >(A) that is not writeable while rowstatus is active. The rowstatus object

> > must
> > >be taken out of service before object A can be written. The question is,

> > does
> > >the order of the varBinds in the varBindList count? An example is that

> > object A
> > >is to be set in one PDU.
> > >
> > >Example 1 PDU:
> > >rowstatus set to notInServie (varBind index 1)
> > >object A set (varBind index 2)
> > >
> > >Example 2 PDU:
> > >object A set (varBind index 1)
> > >rowstatus set to notInServie (varBind index 2)
> > >
> > >Will both of these PDUs return noError if rowstatus was active initially?
> > >Does the order of the processing of the varBind list prevent Example 2 from

> > being
> > >set because rowstatus being set to notInService occurs at a later index
> > >position?
> > >
> > >Thanks,
> > >Victor

> >
> > For the greatest interoperability, I would use two SET requests.
> >
> > That is because:
> > 1) some agents may fail both ex 1 and ex 2
> > 2) some agents may suceed both ex 1 and ex 2
> > 3) some agents may suceed ex 1 and fail ex 2
> >
> > One follows a standard because they are concerned about
> > interoperability.
> >

Regards,
/david t. perkins