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
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.