[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
RE: comment on draft-ietf-ops-mib-review-guidelines-03.txt (fwd)
>>>>> On Mon, 10 Jan 2005, Wijnen, Bert (Bert) wrote:
Bert>[David Perkins wrote:]
Bert> > More importantly is that if application A is created
Bert> > to access table T, such as to create and delete rows
Bert> > in T. Then adding support for augmentation table T1
Bert> > MUST NOT cause A to stop working or to work differently.
Bert> > This means that a MIB designer is quite constrained
Bert> > in the design of augmentation tables!
Bert> >
Bert> > This should be obvious.
Bert>
Bert> I guess you are right that it should be obvious. However, I
Bert> suspect I never took it that restricted when reviewing new MIB
Bert> modules. It restricts it very very seriously. For example, all
Bert> the columns in the augemented table should have DEFVALs to
Bert> allow the row to become active based on DEFVALs.
>>>>> On Mon, 10 Jan 2005, David B Harrington wrote:
dbh> I think the point about DEFVALs is good, and not obvious. It
dbh> would be good to provide an explicit guideline on this point.
Well, one thing we can't do is to say that DEFVALs are required.
According to RFC 2578, DEFVALs are optional hints to implementors.
They are not required to be present and can be changed in future
revision. They also are not binding on the agent. Cf.:
7.9. Mapping of the DEFVAL clause
The DEFVAL clause, which need not be present, defines an
acceptable default value which may be used at the discretion of
an agent when an object instance is created. That is, the value
is a "hint" to implementors.
10.2. Object Definitions
An object definition may be revised in any of the following ways:
[ ... ]
(4) A DEFVAL clause may be added or updated.
Further, RFC 2580 allows an agent-caps statement to override the
DEFVAL given in an object definition:
6.5.2.5. Mapping of the DEFVAL clause
The DEFVAL clause, which need not be present, is used to provide
[an] alternate DEFVAL value for the object named in the
correspondent VARIATION clause. The semantics of this value are
identical to those of the OBJECT-TYPE macro's DEFVAL clause.
Finally, note that a sensible default value does not always exist.
What IS required is that the agent needs to be able to create a row
even if values for the augmenting columns are not specified. One
way to do that is to provide default values for the augmenting
columns. Another way is to "fall back" and operate like it is
implementing the un-AUGMENTed table.
//cmh