[SNMP4J] SNMP4J

Frank Fock fock at agentpp.com
Sat Apr 22 13:38:10 CEST 2006


Hi Tejo, hi Eduardo,

I have a few small corrections/clarifications on this subject:

Tejo Prayaga wrote:
> Hi Eduardo,
>
> I think there are couple of options to deal with these issues:
>
> 1)
> As SNMPv1 operations are atomic, the agent will not send partial results.
> If your device supports SNMPv2, then you should be able to get the partial
> results too.
>
>   
All SNMP versions PDU's are atomic - this is particularly true for SET 
requests
(if one fails all other subrequests fail too). The difference between 
SNMPv1 and
SNMPv2c/SNMPv3 on the other side is that for GET type requests not existent
objects do not result in an error but return an exception. An SNMP protocol
errors are always reported per PDU and are atomic (only one error can be
reported per PDU and no VB is processed when an error is reported).
In SNMPv2c and SNMPv3 a VB can represent one of three exceptions
which can be returned individually per VB.
> 2)
> Make your management application MIB-aware and let the users enter MIB variable 
> names, instead of OIDs. The application will have knowledge of all the supported
> MIBs by the device and the application can at least partly validate the OID 
> (leaving the instance part).
>   
I think the OID value is not the problem, but the instance sub-identifiers.
The object class OIDs can be normally hard coded in a mgmt application,
but the index part not.
> 3)
> If the application has to use SNMPv1 only, then the application should take care 
> of re-sending GET requests with the corrected varbind list. The response sent by
> the agent indicates the first problem causing OID in the list, and this OID
> should be removed from the list and then a request should be sent back again.
> But even this request is not guaranteed to work, because there might be other
> incorrect OIDs too. The SNMP mechanism only indicates the first incorrec OID,
> and there is no information about OIDs beyond the first incorrect OID.
>
>   
When resending a request (like NET-SNMP does) you should take care of
making the processes transparent to the user. One possible option, would
be to use SNMPv2c/SNMPv3 exceptions on the user side and emulating
this behavior over SNMPv1 retries with modified PDUs.
> I think there might be some other options too. Let us see if others suggest any
> other additions/corrections to this list.
>
>   
There wasn't much to add ;-)

Best regards,
Frank

> Regards,
> Tejo
>
>
> Eduardo Cardone <ecardone at hynet.com.ar> wrote: OK, I don't argue that, but in my case, it's most likely that the users
> do a bad typing. So how can I do for solving this issue. More even, this
> OIDs are for disk partitions, if the server administrator drop a
> partition, that OID will no longer exists. So, I can't loose all the
> OIDs for one that is missing. 
>
> May be there is another aproach for handling this kind of queries.
>
> Regards, Eduardo.- 
>
>   





More information about the SNMP4J mailing list