smilint output for ./GET-SUBTREE-MIB


Message Severities
SeverityCount
error2
minor error1
warning1
Message Types
TypeCount
bad-identifier-case (error)1
date-value (error)1
date-year-2digits (warning)1
revision-missing (minor error)1

Messages:

GET-SUBTREE-MIB

   1: -- extracted from draft-irtf-nmrg-get-subtree-mib-01.txt
   2: -- at Tue Dec  5 10:05:24 2000
   3: 
   4: GET-SUBTREE-MIB DEFINITIONS ::= BEGIN
   5: 
   6: IMPORTS
   7:     MODULE-IDENTITY, OBJECT-TYPE,
   8:     NOTIFICATION-TYPE, Unsigned32,
   9:     Counter32                 FROM SNMPv2-SMI
  10:     RowStatus, TruthValue               FROM SNMPv2-TC
  11:     MODULE-COMPLIANCE, OBJECT-GROUP,
  12:     NOTIFICATION-GROUP                  FROM SNMPv2-CONF
  13:     SnmpAdminString                     FROM SNMP-FRAMEWORK-MIB;
  14: 
  15: 
  16: getSubtreeMIB MODULE-IDENTITY
  17:     LAST-UPDATED "0010201200Z"
  17: warning - warning: date specification `0010201200Z' contains a two-digit year representing `1900'
  17: error -
date specification `0010201200Z' contains an illegal value
  18:     ORGANIZATION "IRTF Network Management Research Group"
  19:     CONTACT-INFO
  20:             "Dave Thaler
  21:              Microsoft Corporation
  22:              One Microsoft Way
  23:              Redmond, WA 98052-6399
  24:              EMail: dthaler@microsoft.com
  25: 
  26:              Satyen Chandragiri
  27:              Lucent Technologies, Inc.
  28:              101 Crawfords Corner Road
  29:              Holmdel, NJ 07733-3030
  30:              EMail: satyen@lucent.com"
  31:     DESCRIPTION
  32:             "This MIB module provides the ability to retrieve
  33:             arbitrary subtrees of OIDs (in parallel) by receiving
  34:             traps."
  35:     ::= { XXX }
  35: minor error - revision for last update is missing
  35: error -
`XXX' should start with a lower case letter
  36: 
  37: getSubtreeMIBObjects OBJECT IDENTIFIER ::= { getSubtreeMIB 1 }
  38: 
  39: getSubtree       OBJECT IDENTIFIER ::= { getSubtreeMIBObjects 1 }
  40: getSubtreeTraps      OBJECT IDENTIFIER ::= { getSubtreeMIBObjects 2 }
  41: 
  42: --
  43: -- GetSubtree Root Table
  44: --
  45: 
  46: getSubtreeRootTable OBJECT-TYPE
  47:     SYNTAX     SEQUENCE OF GetSubtreeRootEntry
  48:     MAX-ACCESS not-accessible
  49:     STATUS     current
  50:     DESCRIPTION
  51:             "The (conceptual) table containing the root OID(s) of
  52:             the MIB subtree(s) to be retrieved. Multiple rows with
  53:             different values for getSubtreeRootOID may be created
  54:             if the manager wishes to retrieve several subtrees
  55:             simultaneously"
  56:     ::= { getSubtree 1 }
  57: 
  58: getSubtreeRootEntry OBJECT-TYPE
  59:     SYNTAX     GetSubtreeRootEntry
  60:     MAX-ACCESS not-accessible
  61:     STATUS     current
  62:     DESCRIPTION
  63:             "An entry (conceptual row) specifying the root OID of
  64:             the MIB subtree to be retrieved"
  65:     INDEX { getSubtreeRootOperationID, getSubtreeRootOIDIndex }
  66:     ::=   { getSubtreeRootTable 1 }
  67: 
  68: GetSubtreeRootEntry ::= SEQUENCE {
  69:     getSubtreeRootOperationID Unsigned32,
  70:     getSubtreeRootOIDIndex    Unsigned32,
  71:     getSubtreeRootOID         OBJECT IDENTIFIER,
  72:     getSubtreeRootStatus RowStatus
  73: }
  74: 
  75: getSubtreeRootOperationID OBJECT-TYPE
  76:     SYNTAX          Unsigned32
  77:     MAX-ACCESS      not-accessible
  78:     STATUS          current
  79:     DESCRIPTION
  80:             "An integer uniquely identifying the GetSubtree
  81:             operation in progress. This value should be randomly
  82:             generated by a manager before attempting to create the
  83:             row."
  84:     ::= { getSubtreeRootEntry 1 }
  85: 
  86: getSubtreeRootOIDIndex OBJECT-TYPE
  87:     SYNTAX          Unsigned32
  88:     MAX-ACCESS      not-accessible
  89:     STATUS          current
  90:     DESCRIPTION
  91:             "An index value used to associate various root OIDs
  92:             with the same GetSubtree operation. This value should
  93:             be one for the first entry associated with a
  94:             particular retrieval operation and should be
  95:             sequentially incremented for each additional entry."
  96:     ::= { getSubtreeRootEntry 2 }
  97: 
  98: getSubtreeRootOID OBJECT-TYPE
  99:     SYNTAX          OBJECT IDENTIFIER
 100:     MAX-ACCESS      read-create
 101:     STATUS          current
 102:     DESCRIPTION
 103:             "The root OID of the subtree to be retrieved."
 104:     ::= { getSubtreeRootEntry 3 }
 105: 
 106: getSubtreeRootStatus OBJECT-TYPE
 107:     SYNTAX     RowStatus
 108:     MAX-ACCESS read-create
 109:     STATUS     current
 110:     DESCRIPTION
 111:             "The status of this row. The manager should create one
 112:             row for each subtree to be retrieved. After the entire
 113:             subtree retrieval operation is completed (or if the
 114:             operation is aborted by the user) all rows in this
 115:             table corresponding to that operation are
 116:             automatically deleted by the agent.
 117: 
 118:             Objects in this table cannot be modified while a
 119:             GetSubtree retrieval operation is in progress."
 120:     ::= { getSubtreeRootEntry 4 }
 121: 
 122: 
 123: --
 124: -- GetSubtree Control Table
 125: --
 126: 
 127: getSubtreeControlTable OBJECT-TYPE
 128:     SYNTAX          SEQUENCE OF GetSubtreeControlEntry
 129:     MAX-ACCESS      not-accessible
 130:     STATUS          current
 131:     DESCRIPTION
 132:             "The (conceptual) table used to control GetSubtree
 133:             operations in progress. This table is used in
 134:             conjunction with getSubtreeRootTable.
 135: 
 136:             A manager interested in retrieving a subtree of MIB
 137:             objects must first create an entry in the
 138:             getSubtreeRootTable specifying the root OID (s) of the
 139:             subtree(s) to be retrieved. It must then make a
 140:             corresponding entry in this table using the same
 141:             getSubtreeRootOperationID value and identifying itself
 142:             (via getSubtreeControlTarget) as the recipient of the
 143:             traps.
 144: 
 145:             When the agent completes retrieval of all MIB
 146:             instances within the specified subtree(s) this
 147:             conceptual row will be automatically deleted."
 148:     ::= { getSubtree 2 }
 149: 
 150: getSubtreeControlEntry OBJECT-TYPE
 151:     SYNTAX          GetSubtreeControlEntry
 152:     MAX-ACCESS      not-accessible
 153:     STATUS          current
 154:     DESCRIPTION
 155:             "An entry (conceptual row) containing the information
 156:             on a particular GetSubtree operation in progress."
 157:     INDEX           { getSubtreeRootOperationID }
 158:     ::= { getSubtreeControlTable 1 }
 159: 
 160: GetSubtreeControlEntry ::= SEQUENCE {
 161:     getSubtreeControlTarget    SnmpAdminString,
 162:     getSubtreeControlSeqNumber Counter32,
 163:     getSubtreeControlCount     Counter32,
 164:     getSubtreeControlDone      TruthValue,
 165:     getSubtreeControlStatus    RowStatus
 166: }
 167: 
 168: getSubtreeControlTarget OBJECT-TYPE
 169:     SYNTAX          SnmpAdminString
 170:     MAX-ACCESS      read-create
 171:     STATUS          current
 172:     DESCRIPTION
 173:             "This object selects a management target defined in
 174:             the snmpTargetAddrTable (in the SNMP-TARGET-MIB).  The
 175:             selected target is defined by an entry in the
 176:             snmpTargetAddrTable whose index value
 177:             (snmpTargetAddrName) is equal to this object."
 178:     ::= { getSubtreeControlEntry 2 }
 179: 
 180: getSubtreeControlSeqNumber OBJECT-TYPE
 181:     SYNTAX          Counter32
 182:     MAX-ACCESS      read-only
 183:     STATUS          current
 184:     DESCRIPTION
 185:             "The number of trap responses previously sent for this
 186:             GetSubtree request."
 187:     ::= { getSubtreeControlEntry 3 }
 188: 
 189: getSubtreeControlCount OBJECT-TYPE
 190:     SYNTAX          Counter32
 191:     MAX-ACCESS      read-only
 192:     STATUS          current
 193:     DESCRIPTION
 194:             "The number of repetitions transmitted thus far (up to
 195:             and including those sent in the current trap)"
 196:     ::= { getSubtreeControlEntry 4 }
 197: 
 198: getSubtreeControlDone OBJECT-TYPE
 199:     SYNTAX          TruthValue
 200:     MAX-ACCESS      read-only
 201:     STATUS     current
 202:     DESCRIPTION
 203:             "This is set to true in the last trap sent, and is set
 204:             to false otherwise."
 205:     ::= { getSubtreeControlEntry 5 }
 206: 
 207: getSubtreeControlStatus OBJECT-TYPE
 208:     SYNTAX          RowStatus
 209:     MAX-ACCESS      read-create
 210:     STATUS          current
 211:     DESCRIPTION
 212:             "The status of this row, by which new entries may be
 213:             created, or old entries deleted from this table.  Once
 214:             created, the row may be deleted, but other objects in
 215:             the row may not be modified.  A row (and corresponding
 216:             rows in the getSubtreeRootTable) will be deleted
 217:             automatically by the agent once the operation has
 218:             completed. A row may be created using an instance
 219:             value for getSubtreeRootOperationID even if no entries
 220:             exist in getSubtreeRootTable indexed by that value.
 221: 
 222:             Creating a row will cause the subtree retrieval
 223:             operation to commence if there are entries in the
 224:             getSubtreeRootTable indexed by the same value of
 225:             getSubtreeRootOperationID as this row. If the agent
 226:             allows aborting operations in progress, deleting a row
 227:             will cause the operation to halt. If the operation is
 228:             successfully aborted, the rows in the
 229:             getSubtreeRootTable corresponding to this request will
 230:             also be automatically deleted by the agent."
 231:     ::= { getSubtreeControlEntry 6 }
 232: 
 233: 
 234: -- traps
 235: 
 236: getSubtreeTrapPrefix OBJECT IDENTIFIER ::= { getSubtreeTraps 0 }
 237: 
 238: getSubtreeResponse NOTIFICATION-TYPE
 239:     OBJECTS     {
 240:                   getSubtreeControlSeqNumber,
 241:                   getSubtreeControlCount,
 242:                   getSubtreeControlDone
 243:                 }
 244:     STATUS current
 245:     DESCRIPTION
 246:             "In addition to the three objects above, this trap
 247:             also contains a series of varbinds containing the next
 248:             chunk of the subtree.  The generating entity will
 249:             append, in order, as many variables to the variable-
 250:             bindings field as it can without exceeding the maximum
 251:             message size, and without going beyond the subtree of
 252:             OIDs requested.  A series of such traps will be
 253:             generated until the end of the subtree is reached."
 254:     ::= { getSubtreeTrapPrefix 1 }
 255: 
 256: -- conformance information
 257: 
 258: getSubtreeMIBConformance
 259:                   OBJECT IDENTIFIER ::= { getSubtreeMIB 2 }
 260: getSubtreeMIBCompliances
 261:                   OBJECT IDENTIFIER ::= { getSubtreeMIBConformance 1 }
 262: getSubtreeMIBGroups  OBJECT IDENTIFIER ::= { getSubtreeMIBConformance 2 }
 263: 
 264: -- compliance statements
 265: 
 266: getSubtreeMIBCompliance MODULE-COMPLIANCE
 267:     STATUS  current
 268:     DESCRIPTION
 269:             "The compliance statement for the GetSubtree MIB."
 270:     MODULE  -- this module
 271:     MANDATORY-GROUPS {
 272:             getSubtreeObjectGroup,
 273:             getSubtreeNotificationGroup
 274:                      }
 275:    ::= { getSubtreeMIBCompliances 1 }
 276: 
 277: -- units of conformance
 278: 
 279: getSubtreeObjectGroup OBJECT-GROUP
 280:     OBJECTS     {
 281:                   getSubtreeRootOID,
 282:                   getSubtreeRootStatus,
 283:                   getSubtreeControlTarget,
 284:                   getSubtreeControlSeqNumber,
 285:                   getSubtreeControlCount,
 286:                   getSubtreeControlDone,
 287:                   getSubtreeControlStatus
 288:                 }
 289:     STATUS  current
 290:     DESCRIPTION
 291:             "A collection of objects to support requests for
 292:             subtree retrieval operations."
 293:     ::= { getSubtreeMIBGroups 1 }
 294: 
 295: getSubtreeNotificationGroup NOTIFICATION-GROUP
 296:     NOTIFICATIONS { getSubtreeResponse }
 297:     STATUS  current
 298:     DESCRIPTION
 299:             "The notification which an entity is required to
 300:             implement."
 301:     ::= { getSubtreeMIBGroups 2 }
 302: 
 303: END
 304: 
 305: -- 
 306: -- Copyright (C) The Internet Society (2000). All Rights Reserved.
 307: -- 
 308: -- This document and translations of it may be copied and furnished
 309: -- to others, and derivative works that comment on or otherwise
 310: -- explain it or assist in its implmentation may be prepared, copied,
 311: -- published and distributed, in whole or in part, without
 312: -- restriction of any kind, provided that the above copyright notice
 313: -- and this paragraph are included on all such copies and derivative
 314: -- works. However, this document itself may not be modified in any
 315: -- way, such as by removing the copyright notice or references to the
 316: -- Internet Society or other Internet organizations, except as needed
 317: -- for the purpose of developing Internet standards in which case the
 318: -- procedures for copyrights defined in the Internet Standards
 319: -- process must be followed, or as required to translate it into
 320: -- languages other than English.
 321: -- 
 322: -- The limited permissions granted above are perpetual and will not
 323: -- be revoked by the Internet Society or its successors or assigns.
 324: -- 
 325: -- This document and the information contained herein is provided on
 326: -- an "AS IS" basis and THE INTERNET SOCIETY AND THE INTERNET
 327: -- ENGINEERING TASK FORCE DISCLAIMS ALL WARRANTIES, EXPRESS OR
 328: -- IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF
 329: -- THE INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED
 330: -- WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
 331: