This is a discussion on Re: GetNext - SNMP ; HI, The simple answer is that instances the don't exist are never returned by GETs, and are skipped by GETNEXTs and GETBULKs. A concern... Just because a OBJECT-TYPE definition does not specify a DEFVAL clause, does not imply that an ...
The simple answer is that instances the don't exist are never
returned by GETs, and are skipped by GETNEXTs and GETBULKs.
Just because a OBJECT-TYPE definition does not specify a DEFVAL
clause, does not imply that an instance of the object is not
created when the row is created. For example, consider row,
myEntry, with columns c1, c2, c3, and c4, where c1 is the
not-accessible index, c2 is the RowStatus column, c3 is
an Integer32 with DEFVAL of 1, and c4 is an Integer32 with
no DEFVAL clause specified.
A successful creation (a SET of, say, c2.1 to 'createAndGo'),
could result in either the creation of instance c4.1 or no
instance creation of c4.1. It all depends on the semantics
as specified in the DESCRIPTION clause for objects c2 and
c4. (For c2, because when the RowStatus TC is used, the
DESCRIPTION clause for the object *MUST* specify which
objects must have instances created for the value to
be active.) For c4, because otherwise the semantics are
incompletely specified for a read-create object with
no DEFVAL clause. In many cases a DEFVAL clause can not
be written because the DEFVAL clause is limited in its
expresiveness. For example, the semantics for c4 could be
that if no value is specified when the row is created, then
the value is "(valueOf(c3) < 100) ? 4*valueOf(c3) : 100".
This does not imply that the values of c3 and c4 are
mathematically linked. It only means that on creation of
the row, that if no value is specified for c4, then
an "initial" value can be determined from the value of c3.
(Note, if this is confusing to anyone, send questions to
the newsgroup, and I'll answer them.)
On 20 Aug 2003, Vdibona wrote:
> Could you tell me if while doing a walk of a MIB with getNext if non-defaulted
> objects should be skipped or some value should be returned. Non-defaulted
> objects from a row that have not been set are returned as noSuchInstance when
> they are retrieved by a Get operation but I was wondering how to handle it on a
> getNext if the instance was never set. Skipped or some value returned? If some
> value is returned during a getNext what value should be returned if no instance
> exist? After creating a row, some columnar objects have no default value.
/david t. perkins