smilint output for ./RFC1229-MIB


Message Severities
SeverityCount
error3
minor error1
warning1
Message Types
TypeCount
index-element-no-range (error)3
index-element-no-size (minor error)1
index-exceeds-too-large (warning)1

Messages:

RFC1229-MIB

   1: -- extracted from rfc1229.txt
   2: -- at Mon Nov 15 17:12:01 1999
   3: 
   4:           RFC1229-MIB DEFINITIONS ::= BEGIN
   5: 
   6: 
   7:           --        Extensions to MIB-II's Generic Interface Table
   8: 
   9:           IMPORTS
  10:                   experimental, Counter         FROM RFC1155-SMI
  11:                   DisplayString, PhysAddress    FROM RFC1213-MIB
  12:                   OBJECT-TYPE                   FROM RFC-1212;
  13: 
  14: 
  15: 
  16:           ifExtensions  OBJECT IDENTIFIER ::= { experimental 6 }
  17: 
  18: 
  19:           --   Generic Interface Extension Table
  20:           --
  21:           --  This group of objects is mandatory for all types of
  22:           --  subnetwork interface.
  23: 
  24:           ifExtnsTable  OBJECT-TYPE
  25:                   SYNTAX SEQUENCE OF IfExtnsEntry
  26:                   ACCESS not-accessible
  27:                   STATUS mandatory
  28:                   DESCRIPTION
  29:                          "A list of interfaces extension entries.
  30:                           The number of entries is given by the value
  31:                           of ifNumber, defined in [4,6]."
  32:                   ::= { ifExtensions 1 }
  33: 
  34:           ifExtnsEntry  OBJECT-TYPE
  35:                   SYNTAX IfExtnsEntry
  36:                   ACCESS not-accessible
  37:                   STATUS mandatory
  38:                   DESCRIPTION
  39:                          "An extension to the interfaces entry,
  40:                           defined in [4,6], containing additional
  41:                           objects at the subnetwork layer and below
  42:                           for a particular interface."
  43:                   INDEX  { ifExtnsIfIndex }
  44:                   ::= { ifExtnsTable 1 }
  45: 
  46:           IfExtnsEntry ::=
  47:                   SEQUENCE {
  48:                       ifExtnsIfIndex
  49:                           INTEGER,
  50:                       ifExtnsChipSet
  51:                           OBJECT IDENTIFIER,
  52:                       ifExtnsRevWare
  53:                           DisplayString,
  54:                       ifExtnsMulticastsTransmittedOks
  55:                           Counter,
  56:                       ifExtnsBroadcastsTransmittedOks
  57:                           Counter,
  58:                       ifExtnsMulticastsReceivedOks
  59:                           Counter,
  60:                       ifExtnsBroadcastsReceivedOks
  61:                           Counter,
  62:                       ifExtnsPromiscuous
  63:                           INTEGER
  64:                   }
  65: 
  66:           ifExtnsIfIndex  OBJECT-TYPE
  66: error - index element `ifExtnsIfIndex' of row `ifExtnsEntry' must have a range restriction
  67:                   SYNTAX INTEGER
  68:                   ACCESS read-only
  69:                   STATUS mandatory
  70:                   DESCRIPTION
  71:                          "The value of this object identifies the
  72:                           interface for which this entry contains
  73:                           extended management information.  The value
  74:                           of this object for a particular interface
  75:                           has the same value as the ifIndex object,
  76:                           defined in [4,6], for the same interface."
  77:                   ::= { ifExtnsEntry 1 }
  78: 
  79:           ifExtnsChipSet  OBJECT-TYPE
  80:                   SYNTAX OBJECT IDENTIFIER
  81:                   ACCESS read-only
  82:                   STATUS mandatory
  83:                   DESCRIPTION
  84:                          "This object identifies the hardware chip
  85:                           set being used in the interface.  The
  86:                           assignment of OBJECT IDENTIFIERs to various
  87:                           types of hardware chip sets is managed
  88:                           by the IANA.  If the hardware chip set is
  89:                           unknown, the object identifier
  90: 
  91:                           unknownChipSet OBJECT IDENTIFIER ::= { 0 0 }
  92: 
  93:                           is returned.  Note that unknownChipSet is a
  94:                           syntactically valid object identifier, and
  95:                           any conformant implementation of ASN.1 and
  96:                           the BER must be able to generate and
  97:                           recognize this value."
  98:                   ::= { ifExtnsEntry 2 }
  99: 
 100:           ifExtnsRevWare  OBJECT-TYPE
 101:                   SYNTAX DisplayString (SIZE (0..255))
 102:                   ACCESS read-only
 103:                   STATUS mandatory
 104:                   DESCRIPTION
 105:                          "An arbitrary octet string that describes
 106:                           the firmware version of this interface.
 107:                           It is intended that this should be human
 108:                           readable.  It must only contain ASCII
 109:                           printable characters.  Typically this
 110:                           will be the firmware version of the main
 111:                           interface software."
 112:                   ::= { ifExtnsEntry 3 }
 113: 
 114:           ifExtnsMulticastsTransmittedOks OBJECT-TYPE
 115:                   SYNTAX Counter
 116:                   ACCESS read-only
 117:                   STATUS mandatory
 118:                   DESCRIPTION
 119:                          "The count of frames successfully
 120:                           transmitted to a subnetwork or link-layer
 121:                           multicast destination address other than a
 122:                           broadcast address.  For a MAC layer protocol,
 123:                           this includes both Group and Functional
 124:                           addresses."
 125:                   ::= { ifExtnsEntry 4 }
 126: 
 127:           ifExtnsBroadcastsTransmittedOks OBJECT-TYPE
 128:                   SYNTAX Counter
 129:                   ACCESS read-only
 130:                   STATUS mandatory
 131:                   DESCRIPTION
 132:                          "The count of frames successfully
 133:                           transmitted to a subnetwork or link-layer
 134:                           broadcast addresses.  It does not include
 135:                           frames sent to a multicast address."
 136:                   ::= { ifExtnsEntry 5 }
 137: 
 138:           ifExtnsMulticastsReceivedOks OBJECT-TYPE
 139:                   SYNTAX Counter
 140:                   ACCESS read-only
 141:                   STATUS mandatory
 142:                   DESCRIPTION
 143:                          "The count of frames successfully received
 144:                           that are directed to an active subnetwork
 145:                           or link-layer multicast address (for a MAC
 146:                           layer protocol, this includes both Group and
 147:                           Functional addresses). This does not include
 148:                           frames directed to a broadcast address, nor
 149:                           frames received with errors."
 150:                   ::= { ifExtnsEntry 6 }
 151: 
 152:           ifExtnsBroadcastsReceivedOks OBJECT-TYPE
 153:                   SYNTAX Counter
 154:                   ACCESS read-only
 155:                   STATUS mandatory
 156:                   DESCRIPTION
 157:                          "The count of frames successfully received
 158:                           that are directed to a subnetwork or
 159:                           link-layer broadcast address.  This does not
 160:                           include frames received with errors."
 161:                   ::= { ifExtnsEntry 7 }
 162: 
 163:           ifExtnsPromiscuous  OBJECT-TYPE
 164:                   SYNTAX INTEGER {
 165:                               true(1),
 166:                               false(2)
 167:                          }
 168:                   ACCESS read-only  -- Note: agent implementors are
 169:                                     -- encouraged to extend this
 170:                                     -- access to read-write if that
 171:                                     -- makes sense in their agent.
 172:                   STATUS mandatory
 173:                   DESCRIPTION
 174:                          "This object has a value of false(2) if
 175:                           this interface only accepts packets/frames
 176:                           that are addressed to this station. This
 177:                           object has a value of true(1) when the
 178:                           station accepts all packets/frames
 179:                           transmitted on the media.  The value
 180:                           true(1) is only legal on certain types of
 181:                           media.  If legal, setting this object to a
 182:                           value of true(1) may require the interface
 183:                           to be reset before becoming effective."
 184:                   ::= { ifExtnsEntry 8 }
 185: 
 186:           --
 187:           --    Generic Interface Test Table
 188:           --
 189:           -- This group of objects is optional, but if the table is
 190:           -- implemented, all objects in the table must be implemented.
 191:           ifExtnsTestTable   OBJECT-TYPE
 192: 
 193:                   SYNTAX  SEQUENCE OF IfExtnsTestEntry
 194:                   ACCESS  not-accessible
 195:                   STATUS  mandatory
 196:                   DESCRIPTION
 197:                           "This table contains one entry per interface."
 198:                   ::= { ifExtensions 2 }
 199: 
 200:           ifExtnsTestEntry OBJECT-TYPE
 201:                   SYNTAX  IfExtnsTestEntry
 202:                   ACCESS  not-accessible
 203:                   STATUS  mandatory
 204:                   DESCRIPTION
 205:                           "An entry containing objects for invoking
 206:                            tests on an interface."
 207:                   INDEX   { ifExtnsTestIfIndex }
 208:                   ::= { ifExtnsTestTable 1 }
 209: 
 210:           IfExtnsTestEntry ::=
 211:                   SEQUENCE {
 212:                       ifExtnsTestIfIndex
 213:                           INTEGER,
 214:                       ifExtnsTestCommunity
 215:                           OCTET STRING,
 216:                       ifExtnsTestRequestId
 217:                           INTEGER,
 218:                       ifExtnsTestType
 219:                           OBJECT IDENTIFIER,
 220:                       ifExtnsTestResult
 221:                           INTEGER,
 222:                       ifExtnsTestCode
 223:                           OBJECT IDENTIFIER
 224:                   }
 225: 
 226:           ifExtnsTestIfIndex  OBJECT-TYPE
 226: error - index element `ifExtnsTestIfIndex' of row `ifExtnsTestEntry' must have a range restriction
 227:                   SYNTAX  INTEGER
 228:                   ACCESS  read-only
 229:                   STATUS  mandatory
 230:                   DESCRIPTION
 231:                          "The value of this object identifies the
 232:                           interface for which this entry contains
 233:                           information on interface tests.  The value
 234:                           of this object for a particular interface
 235:                           has the same value as the ifIndex object,
 236:                           defined in [4,6], for the same interface."
 237:                   ::= { ifExtnsTestEntry 1 }
 238: 
 239:           ifExtnsTestCommunity  OBJECT-TYPE
 240:                   SYNTAX  OCTET STRING
 241:                   ACCESS  read-only
 242:                   STATUS  mandatory
 243:                   DESCRIPTION
 244:                          "This object contains the name of the SNMP
 245:                           authentication community [5] which was used
 246:                           to authenticate the SNMP Message which invoked
 247:                           the current or most recent test on this
 248:                           interface.  If the authentication community
 249:                           is unknown or undefined, this value contains
 250:                           the zero-length string."
 251:                   ::= { ifExtnsTestEntry 2 }
 252: 
 253:           ifExtnsTestRequestId  OBJECT-TYPE
 254:                   SYNTAX  INTEGER
 255:                   ACCESS  read-only
 256:                   STATUS  mandatory
 257:                   DESCRIPTION
 258:                          "This object contains the value of the
 259:                           request-id field in the SNMP PDU [5] which
 260:                           invoked the current or most recent test on
 261:                           this interface.  If the request-id is
 262:                           unknown or undefined, this value contains
 263:                           the value zero."
 264:                   ::= { ifExtnsTestEntry 3 }
 265: 
 266:           ifExtnsTestType  OBJECT-TYPE
 267:                   SYNTAX  OBJECT IDENTIFIER
 268:                   ACCESS  read-write
 269:                   STATUS  mandatory
 270:                   DESCRIPTION
 271:                          "A control variable used to start and stop
 272:                           operator-initiated interface tests.
 273:                               Most OBJECT IDENTIFIER values assigned
 274:                           to tests are defined elsewhere, in associ-
 275:                           ation with specific types of interface.
 276:                           However, this document assigns a value for
 277:                           a full-duplex loopback test, and defines the
 278:                           special meanings of the subject identifier:
 279: 
 280:                             noTest  OBJECT IDENTIFIER ::= { 0 0 }
 281: 
 282:                           When the value noTest is written to this
 283:                           object, no action is taken unless a test is
 284:                           in progress, in which case the test is
 285:                           aborted.  Writing any other value to this
 286:                           object is only valid when no test is
 287:                           currently in progress, in which case the
 288:                           indicated test is initiated.
 289:                               Note that noTest is a syntactically valid
 290:                           object identifier, and any conformant
 291:                           implementation of ASN.1 and BER must be able
 292:                           to generate and recognize this value.
 293:                               When read, this object always returns
 294:                           the most recent value that ifExtnsTestType
 295:                           was set to.  If it has not been set since
 296:                           the last initialization of the network
 297:                           management subsystem on the agent, a value
 298:                           of noTest is returned."
 299:                   ::= { ifExtnsTestEntry 4 }
 300: 
 301:           wellKnownTests OBJECT IDENTIFIER ::= { ifExtensions 4 }
 302: 
 303:           --  full-duplex loopback test
 304:           testFullDuplexLoopBack OBJECT IDENTIFIER ::=
 305:                                                   { wellKnownTests 1 }
 306: 
 307:           ifExtnsTestResult  OBJECT-TYPE
 308:                   SYNTAX  INTEGER {
 309:                               none(1),        -- no test yet requested
 310:                               success(2),
 311:                               inProgress(3),
 312:                               notSupported(4),
 313:                               unAbleToRun(5), -- due to state of system
 314:                               aborted(6),
 315:                               failed(7)
 316:                           }
 317:                   ACCESS  read-only
 318:                   STATUS  mandatory
 319:                   DESCRIPTION
 320:                          "This object contains the result of the most
 321:                           recently requested test, or the value
 322:                           none(1) if no tests have been requested since
 323:                           the last reset.  Note that this facility
 324:                           provides no provision for saving the results
 325:                           of one test when starting another, as could
 326:                           be required if used by multiple managers
 327:                           concurrently."
 328:                   ::= { ifExtnsTestEntry 5 }
 329: 
 330:           ifExtnsTestCode  OBJECT-TYPE
 331:                   SYNTAX  OBJECT IDENTIFIER
 332:                   ACCESS  read-only
 333:                   STATUS  mandatory
 334:                   DESCRIPTION
 335:                          "This object contains a code which contains
 336:                           more specific information on the test result,
 337:                           for example an error-code after a failed
 338:                           test.  Error codes and other values this
 339:                           object may take are specific to the type of
 340:                           interface and/or test.  However, one subject
 341:                           identifier:
 342: 
 343:                           testCodeUnknown  OBJECT IDENTIFIER ::= { 0 0 }
 344: 
 345:                           for use if no additional result code is
 346:                           available.
 347:                               Note that testCodeUnknown is a
 348:                           syntactically valid object identifier, and
 349:                           any conformant implementation of ASN.1 and
 350:                           the BER must be able to generate and
 351:                           recognize this value."
 352:                   ::= { ifExtnsTestEntry 6 }
 353: 
 354: 
 355:           --   Generic Receive Address Table
 356:           --
 357:           -- This group of objects is mandatory for all types of
 358:           -- interfaces which can receive packets/frames addressed to
 359:           -- more than one address.
 360: 
 361:           ifExtnsRcvAddrTable  OBJECT-TYPE
 362:                   SYNTAX SEQUENCE OF IfExtnsRcvAddrEntry
 363:                   ACCESS not-accessible
 364:                   STATUS mandatory
 365:                   DESCRIPTION
 366:                          "This table contains an entry for each
 367:                           address (broadcast, multicast, or uni-cast)
 368:                           for which the system will receive packets/
 369:                           frames on a particular interface.  When an
 370:                           interface is operating in promiscuous mode,
 371:                           entries are only required for those addresses
 372:                           for which the system would receive frames
 373:                           were it not operating in promiscuous mode."
 374:                   ::= { ifExtensions 3 }
 375: 
 376:           ifExtnsRcvAddrEntry  OBJECT-TYPE
 376: warning - warning: index of row `ifExtnsRcvAddrEntry' can exceed OID size limit by 65418 subidentifier(s)
 377:                   SYNTAX IfExtnsRcvAddrEntry
 378:                   ACCESS not-accessible
 379:                   STATUS mandatory
 380:                   DESCRIPTION
 381:                          "A list of objects identifying an address
 382:                           for which the system will accept packets/
 383:                           frames on a particular interface."
 384:                   INDEX  { ifExtnsRcvAddrIfIndex, ifExtnsRcvAddress }
 385:                   ::= { ifExtnsRcvAddrTable 1 }
 386: 
 387:           IfExtnsRcvAddrEntry ::=
 388:                   SEQUENCE {
 389:                       ifExtnsRcvAddrIfIndex
 390:                           INTEGER,
 391:                       ifExtnsRcvAddress
 392:                           PhysAddress,
 393:                       ifExtnsRcvAddrStatus
 394:                           INTEGER
 395:                   }
 396: 
 397:           ifExtnsRcvAddrIfIndex  OBJECT-TYPE
 397: error - index element `ifExtnsRcvAddrIfIndex' of row `ifExtnsRcvAddrEntry' must have a range restriction
 398:                   SYNTAX INTEGER
 399:                   ACCESS read-only
 400:                   STATUS mandatory
 401:                   DESCRIPTION
 402:                          "The value of ifIndex, defined in [4,6], of an
 403:                           interface which recognizes this entry's
 404:                           address."
 405:                   ::= { ifExtnsRcvAddrEntry 1 }
 406: 
 407:           ifExtnsRcvAddress OBJECT-TYPE
 407: minor error - index element `ifExtnsRcvAddress' of row `ifExtnsRcvAddrEntry' must have a size restriction
 408:                   SYNTAX PhysAddress
 409:                   ACCESS read-only
 410:                   STATUS mandatory
 411:                   DESCRIPTION
 412:                          "An address for which the system will accept
 413:                           packets/frames on this entry's interface."
 414:                   ::= { ifExtnsRcvAddrEntry 2 }
 415: 
 416:           ifExtnsRcvAddrStatus OBJECT-TYPE
 417:                   SYNTAX INTEGER {
 418:                              other(1),
 419:                              invalid(2),
 420:                              volatile(3),
 421:                              nonVolatile(4)
 422:                          }
 423:                   ACCESS read-write
 424:                   STATUS mandatory
 425:                   DESCRIPTION
 426:                          "This object has the value nonVolatile(4)
 427:                           for those entries in the table which are
 428:                           valid and will not be deleted by the next
 429:                           restart of the managed system.  Entries
 430:                           having the value volatile(3) are valid
 431:                           and exist, but have not been saved, so
 432:                           that will not exist after the next
 433:                           restart of the managed system.  Entries
 434:                           having the value other(1) are valid and
 435:                           exist but are not classified as to whether
 436:                           they will continue to exist after the next
 437:                           restart.  Entries having the value invalid(2)
 438:                           are invalid and do not represent an address
 439:                           for which an interface accepts frames.
 440:                               Setting an object instance to one of
 441:                           the values other(1), volatile(3), or
 442:                           nonVolatile(4) causes the corresponding
 443:                           entry to exist or continue to exist, and
 444:                           to take on the respective status as regards
 445:                           the next restart of the managed system.
 446:                               Setting an object instance to the value
 447:                           invalid(2) causes the corresponding entry
 448:                           to become invalid or cease to exist.
 449:                               It is an implementation-specific matter
 450:                           as to whether the agent removes an
 451:                           invalidated entry from the table.
 452:                           Accordingly, management stations must be
 453:                           prepared to receive tabular information
 454:                           from agents that corresponds to entries not
 455:                           currently in use.  Proper interpretation of
 456:                           such entries requires examination of the
 457:                           relevant ifExtnsRcvAddrStatus object
 458:                           instance."
 459:                   DEFVAL  { volatile }
 460:                   ::= { ifExtnsRcvAddrEntry 3 }
 461: 
 462:           END