draft-ietf-ipcdn-pktc-mtamib-05 - SMI question for pktcMtaDevErrorsTooManyErrors
"Jean-Francois Mule" <[email protected]>
| Newsgroups | gmane.ietf.ipcdn |
|---|---|
| Message-ID | <[email protected]> |
I like Bert's proposal to create an OID to deal with the internationalization issue raised by Dave and Randy. See below, a quick SMI question.
Eugene integrated the comments and proposed the following text:
pktcMtaDevErrorOid OBJECT-TYPE
SYNTAX SnmpAdminString
MAX-ACCESS read-only
STATUS current
DESCRIPTION
" This object contains a human readable representation
(character string) of the OID corresponding to the
configuration file parameter that caused the particular
error.
For example, if the value of the pktcMtaDevEnabled object
in the configuration file caused an error, then this
object instance will contain the human readable string of
'1.3.6.1.2.1.XXX.1.1.6.0'.
-- ************************************************************
-- * NOTES TO RFC Editor (to be removed prior to publication) *
-- * *
-- * Please replace XXX with the IANA-assigned number under *
-- * mib-2. *
-- ************************************************************
If the MTA generated an error because it was not able
to recognize a particular OID, then this object
instance would contain an empty value (zero-length
string).
For example, if the value of an OID in the configuration
file was interpreted by the MTA as being .1.2.3.4.5, and
the MTA was not able to recognize this OID as a valid one,
this object instance will contain a zero-length string.
| If the numbers of errors in the configuration file exceeds
| 1024, then for all subsequent errors, the
| pktcMtaDevErrorOid of 1024th table's entry MUST contain
| a human readable representation of the
| pktcMtaDevErrorsTooManyErrors object, i.e. the string
| '1.3.6.1.2.1.XXX.1.1.4.1.0'.
-- ************************************************************
-- * NOTES TO RFC Editor (to be removed prior to publication) *
-- * *
-- * Please replace XXX with the IANA-assigned number under *
-- * mib-2. *
-- ************************************************************
Note that the syntax of this object is SnmpAdminString
rather OBJECT IDENTIFIER because the object value may
not be a valid OID due to human or configuration tool
encoding errors."
::= {pktcMtaDevErrorOidsEntry 2}
pktcMtaDevErrorValue OBJECT-TYPE
SYNTAX SnmpAdminString
MAX-ACCESS read-only
STATUS current
DESCRIPTION
" This object contains the value of the OID corresponding to
the configuration file parameter that caused the error.
If the MTA cannot recognize the OID of the
configuration parameter causing the error, then this
object instance contains the OID itself as interpreted
by the MTA in human readable representation.
If the MTA can recognize the OID but generate an error due
to a wrong value of the parameter, then the object
instance contains the erroneous value of the parameter as
read from the configuration file.
In both cases, the value of this object must be
represented in human readable form as a character string.
For example, if the value of the pktcMtaDevEnabled object
in the configuration file was 3 (invalid value), then the
pktcMtaDevErrorValue object instance will contain the
human readable (string) representation of value '3'.
Similarly, if the OID in the configuration file has been
interpreted by the MTA as being 1.2.3.4.5, and the MTA
cannot recognize this OID as a valid one, then this
pktcMtaDevErrorValue object instance will contain human
readable (string) representation of value '1.2.3.4.5'.
| If the numbers of errors in the configuration file exceeds
| 1024, then for all subsequent errors, the
| pktcMtaDevErrorValue of 1024th table's entry MUST contain
| a human readable representation of the
| pktcMtaDevErrorsTooManyErrors object, i.e. the string
| '1.3.6.1.2.1.XXX.1.1.4.1.0'."
-- ************************************************************
-- * NOTES TO RFC Editor (to be removed prior to publication) *
-- * *
-- * Please replace XXX with the IANA-assigned number under *
-- * mib-2. *
-- ************************************************************
::= {pktcMtaDevErrorOidsEntry 3}
pktcMtaDevErrorReason OBJECT-TYPE
SYNTAX SnmpAdminString
MAX-ACCESS read-only
STATUS current
DESCRIPTION
" This object indicates the reason for the error or warning,
as per the MTA's interpretation, in human readable form,
for example:
'VALUE NOT IN RANGE', 'VALUE DOES NOT MATCH TYPE',
'UNSUPPORTED VALUE', 'LAST 4 BITS MUST BE SET TO ZERO',
'OUT OF MEMORY - CANNOT STORE', etc.
This object may also contain vendor specific errors for
private vendor OIDs and any proprietary error codes or
messages which can help diagnose configuration errors.
| If the number of errors in the configuration file exceeds
| 1024, then for all subsequent errors, the
| pktcMtaDevErrorReason of 1024th table's entry must contain
| a human readable string indicating the reason for an
| error, for example, 'Too many errors in the configuration
| file.'."
::= {pktcMtaDevErrorOidsEntry 4}
||| and
| pktcMtaDevErrorsTooManyErrors OBJECT-IDENTITY
-- ^^^^^^^^^^^^^^^
STATUS current
DESCRIPTION
"This object defines the OID corresponding to the error
condition when too many errors are encountered in the
MTA configuration file during provisioning."
::= { pktcMtaDevErrors 1 }
Question:
Since this definition uses OBJECT-IDENTITY instead of OBJECT-TYPE, we cannot use it in the MODULE-COMPLIANCE, hence cannot formerly mandate that vendors support it (other than in the DESCRIPTION clause of pktcMtaDevErrorOid. Is this the best way we can do this in SMI? Should we use something else?
We'd like to release draft05 tomorrow. Any help & comments are appreciated.
Jean-François