smilint output for ./PW-ENET-STD-MIB


Message Severities
SeverityCount
error2
Message Types
TypeCount
bad-identifier-case (error)1
object-identifier-not-prefix (error)1

Messages:

PW-ENET-STD-MIB

   1: -- extracted from draft-ietf-pwe3-enet-mib-11.txt
   2: -- at Fri May 25 06:08:23 2007
   3: 
   4: PW-ENET-STD-MIB DEFINITIONS ::= BEGIN
   5: 
   6: IMPORTS
   7:    OBJECT-TYPE, MODULE-IDENTITY, Unsigned32, transmission
   8:        FROM SNMPv2-SMI                    -- [RFC2578]
   9: 
  10:    MODULE-COMPLIANCE, OBJECT-GROUP
  11:        FROM SNMPv2-CONF                   -- [RFC2580]
  12: 
  13:    StorageType, RowStatus
  14:        FROM SNMPv2-TC                     -- [RFC2579]
  15: 
  16:    InterfaceIndexOrZero
  17:        FROM IF-MIB                        -- [RFC2863]
  18: 
  19:    ZeroBasedCounter32
  20:        FROM RMON2-MIB                     -- [RFC4502]
  21: 
  22:    pwIndex
  23:        FROM PW-STD-MIB                    -- [PWMIB]
  24:                                  -- RFC Editor: Please replace
  25:                                  -- PWMIB with correct RFC #
  26: 
  27:    PwVlanCfg
  28:        FROM PW-TC-STD-MIB;                -- [PWTC]
  29:                               -- RFC Editor: Please replace
  30:                               -- PWTC with correct RFC #
  31: 
  32: pwEnetStdMIB MODULE-IDENTITY
  33:     LAST-UPDATED "200705201200Z"  -- 20 May 2007 12:00:00 GMT
  34:     ORGANIZATION "IETF PWE3 Working group"
  35:     CONTACT-INFO
  36:          "David Zelig
  37:           E-mail: davidz@corrigent.com
  38: 
  39:           Thomas D. Nadeau
  40:           Email:  tnadeau@cisco.com
  41: 
  42:         "
  43:     DESCRIPTION
  44:         "This MIB module describes a model for managing Ethernet
  45:         point-to-point pseudo-wire services over a Packet
  46:         Switched Network (PSN).
  47: 
  48:         Copyright (C) The IETF Trust (2007).  This version
  49:         of this MIB module is part of RFC yyyy;  see the RFC
  50:         itself for full legal notices.
  51: -- RFC Editor: replace yyyy with the actual RFC number and remove
  52: -- this note
  53:         "
  54: 
  55:    -- Revision history.
  56:    REVISION "200705201200Z"  -- 20 May 2007 12:00:00 GMT
  57:    DESCRIPTION "Initial version published as part of RFC XXXX."
  58: -- RFC Editor: Please replace XXXX with the actual RFC number and
  59: -- remove this note
  60: 
  61: 
  62:       ::= { transmission XXXX }  -- RFC Editor: Please replace
  62: error - `XXXX' should start with a lower case letter
  62: error - Object identifier element `XXXX' name only allowed as first element
  63:                           -- XXXX with IANA assigned value.
  64:                           -- See IANA considerations section.
  65: 
  66: pwEnetObjects        OBJECT IDENTIFIER ::= { pwEnetStdMIB 1 }
  67: pwEnetConformance    OBJECT IDENTIFIER ::= { pwEnetStdMIB 2 }
  68: 
  69: --
  70: -- Ethernet PW table
  71: --
  72: 
  73: pwEnetTable  OBJECT-TYPE
  74:     SYNTAX SEQUENCE OF PwEnetEntry
  75:     MAX-ACCESS  not-accessible
  76:     STATUS     current
  77:     DESCRIPTION
  78:         "This table contains the index to the Ethernet tables
  79:         associated with this ETH PW, the VLAN configuration and
  80:         VLAN mode."
  81:     ::= { pwEnetObjects 1 }
  82: 
  83: pwEnetEntry  OBJECT-TYPE
  84:     SYNTAX     PwEnetEntry
  85:     MAX-ACCESS  not-accessible
  86:     STATUS     current
  87:     DESCRIPTION
  88:         "This table is indexed by the same index that was created
  89:         for the associated entry in the PW generic table in the
  90:         PW-STD-MIB module.
  91:         The pwIndex and the pwEnetPwInstance are used as indexes
  92:         to allow multiple VLANs to exist on the same PW.
  93: 
  94:         An entry is created in this table by the agent for every
  95:         entry in the pwTable with a pwType of 'ethernetTagged'
  96:         or 'ethernet'. Additional rows may be created by the
  97:         operator or the agent if multiple entries are required for
  98:         the same PW.
  99: 
 100:         The value of pwEnetPwInstance can be arbitrary selected
 101:         to make the row unique, however implementations that know
 102:         the VLAN field value when the row is created MAY use the
 103:         value of the VLAN itself for better readability and
 104:         backward compatibility with older versions of this MIB
 105:         module.
 106: 
 107:         This table provides Ethernet port mapping and VLAN
 108:         configuration for each Ethernet PW.
 109: 
 110:         All read-create object in this table MAY be changed at any
 111:         time, however change of some objects (for example
 112:         pwEnetVlanMode) during PW forwarding state MAY cause traffic
 113:         disruption.
 114: 
 115:         Manual entries in this table SHOULD be preserved after a
 116:         re-boot, the agent MUST ensure the integrity of those
 117:         entries. If the set of entires of a specific row are found to
 118:         be non consistent after reboot, the PW pwOperStatus MUST be
 119:         declared as notPresent(5).
 120:         "
 121: 
 122:     INDEX { pwIndex, pwEnetPwInstance }
 123:     ::= { pwEnetTable 1 }
 124: 
 125: 
 126: PwEnetEntry ::= SEQUENCE {
 127:        pwEnetPwInstance    Unsigned32,
 128:        pwEnetPwVlan        PwVlanCfg,
 129:        pwEnetVlanMode      INTEGER,
 130:        pwEnetPortVlan      PwVlanCfg,
 131: 
 132:        pwEnetPortIfIndex   InterfaceIndexOrZero,
 133:        pwEnetPwIfIndex     InterfaceIndexOrZero,
 134: 
 135:        pwEnetRowStatus     RowStatus,
 136:        pwEnetStorageType   StorageType
 137:    }
 138: 
 139: pwEnetPwInstance  OBJECT-TYPE
 140:     SYNTAX      Unsigned32
 141:     MAX-ACCESS  not-accessible
 142:     STATUS      current
 143:     DESCRIPTION
 144:         "If multiple rows are mapped to the same PW, this index is
 145:          used to uniquely identify the individual row.
 146:          If the value of the VLAN field is known at the time of
 147:          of row creation, the value of pwEnetPwVlan MAY be used
 148:          for better readability and backward compatibility with
 149:          older versions of this MIB module. Otherwise the value
 150:          '1' SHOULD be set to the first row for each pwIndex
 151:          for better readability and in order that the management
 152:          application will know in advance how to access the
 153:          first row when it was created by the agent.
 154:         "
 155:     ::= { pwEnetEntry 1 }
 156: 
 157: pwEnetPwVlan  OBJECT-TYPE
 158:     SYNTAX      PwVlanCfg
 159:     MAX-ACCESS  read-create
 160:     STATUS      current
 161:     DESCRIPTION
 162:         "This Object defines the (service delimiting) VLAN field
 163:         value on the PW. The value of 4097 MUST be used if the
 164:         object is not applicable, for example when mapping all
 165:         packets from an Ethernet port to this PW (raw mode).
 166:         The value 4096 MUST be set to indicate untagged frames
 167:         (from the PW point of view), i.e. when pwEnetVlanMode
 168:         equals 'noChange' and pwEnetPortVlan equals 4096."
 169:     ::= { pwEnetEntry 2 }
 170: 
 171: pwEnetVlanMode  OBJECT-TYPE
 172:     SYNTAX     INTEGER {
 173:              other(0),
 174:              portBased(1),
 175:              noChange(2),
 176:              changeVlan(3),
 177:              addVlan(4),
 178:              removeVlan(5)
 179:     }
 180:     MAX-ACCESS  read-create
 181:     STATUS     current
 182:     DESCRIPTION
 183:         "This object indicates the mode of VLAN handling between the
 184:          port or the virtual port associated with the PW and the
 185:          PW encapsulation.
 186: 
 187:         - 'other' indicates an operation that is not defined by
 188:           this MIB module.
 189: 
 190:         - 'portBased' indicates that the forwarder will forward
 191:           packets between the port and the PW independent of their
 192:           structure (i.e. there is no service delimiting VLAN tags
 193:           from the PE standpoint).
 194: 
 195:         - 'noChange' indicates that the PW contains the original
 196:            user VLAN, as specified in pwEnetPortVlan, i.e. the
 197:            VLAN on the PE-CE link is the service delimiting tag
 198:            and is kept 'as is' on the PW.
 199: 
 200:         - 'changeVlan' indicates that the VLAN field on the PW
 201:           may be different than the VLAN field on the user's
 202:           port. The VLAN on the PE-CE link is the service delimiting
 203:           tag but has a different value on the PW.
 204: 
 205:         - 'removeVlan' indicates that the encapsulation on the
 206:           PW does not include the service delimiting VLAN field.
 207:           Note that PRI bits transparency is lost in this case.
 208: 
 209:         - 'addVlan' indicates that a VLAN field will be added
 210:           on the PSN bound direction (i.e. on the PW). pwEnetPwVlan
 211:           indicates the value that will be added.
 212: 
 213:         - Implementation of 'portsbased', 'removeVlan', 'addVlan'
 214:           'other' and 'changeVlan' is OPTIONAL.
 215:         "
 216:     DEFVAL { noChange }
 217:     ::= { pwEnetEntry 3 }
 218: 
 219: pwEnetPortVlan  OBJECT-TYPE
 220:     SYNTAX     PwVlanCfg
 221:     MAX-ACCESS read-create
 222:     STATUS     current
 223:     DESCRIPTION
 224:         "This object defines if the mapping between the original port
 225:         (physical port or VPLS virtual port) to the PW is VLAN based
 226:         or not. In case of VLAN mapping, this object indicates the
 227:         the VLAN value on the original port.
 228: 
 229:         The value of '4097' MUST be used if the whole original port
 230:         traffic is mapped to the same PW. Note that a pwType of
 231:         'ethernetTagged' can still be used if service delimiting tag
 232:         is added on the PW (pwEnetVlanMode equals 'addVlan').
 233: 
 234:         This object MUST be equal to pwEnetPwVlan if pwEnetVlanMode
 235:         equals 'noChange'.
 236: 
 237:         The value 4096 indicates packets without VLAN field
 238:         (i.e. untagged frames) on the port are associated to this
 239:         PW. This allows the same behavior as assigning 'Default
 240:         VLAN' to untagged frames.
 241:         "
 242:     DEFVAL  { 4097 }
 243:     ::= { pwEnetEntry 4 }
 244: 
 245: pwEnetPortIfIndex  OBJECT-TYPE
 246:     SYNTAX      InterfaceIndexOrZero
 247:     MAX-ACCESS  read-create
 248:     STATUS      current
 249:     DESCRIPTION
 250:         "This object is used to specify the ifIndex of the Ethernet
 251:          port associated with this PW for point-to-point Ethernet
 252:          service, or the ifIndex of the virtual interface of the
 253:          VPLS instance associated with the PW if the service is
 254:          VPLS. Two rows in this table can point to the same ifIndex
 255:          only if there is no overlap of VLAN values specified in
 256:          pwEnetPortVlan that are associated with this port.
 257: 
 258:          A value of zero indicates that association to an ifIndex is
 259:          not yet known."
 260: 
 261:     ::= { pwEnetEntry 5 }
 262: 
 263: pwEnetPwIfIndex  OBJECT-TYPE
 264:     SYNTAX     InterfaceIndexOrZero
 265:     MAX-ACCESS read-create
 266:     STATUS     current
 267:     DESCRIPTION
 268:         "If the PW is modeled as an ifIndex in the ifTable, this
 269:          object indicates the value of the ifIndex representing the
 270:          Ethernet PW on the PSN side in the Etherlike-MIB. Note that
 271:          this value may be different from the value of pwIfIndex
 272:          that represents the ifIndex of the PW for ifType 'pw'."
 273: 
 274:      DEFVAL { 0 }
 275:     ::= { pwEnetEntry 6 }
 276: 
 277: pwEnetRowStatus  OBJECT-TYPE
 278:     SYNTAX      RowStatus
 279:     MAX-ACCESS  read-create
 280:     STATUS      current
 281:     DESCRIPTION
 282:         "This object enables creating, deleting and modifying this row."
 283:     ::= { pwEnetEntry 7 }
 284: 
 285: pwEnetStorageType  OBJECT-TYPE
 286:     SYNTAX      StorageType
 287:     MAX-ACCESS  read-create
 288:     STATUS      current
 289:     DESCRIPTION
 290:         "This object indicates the storage type of this row."
 291:     DEFVAL { nonVolatile }
 292:     ::= { pwEnetEntry 8 }
 293: 
 294: --
 295: -- Ethernet PW Statistics Table
 296: --
 297: 
 298: pwEnetStatsTable  OBJECT-TYPE
 299:     SYNTAX SEQUENCE OF PwEnetStatsEntry
 300:     MAX-ACCESS  not-accessible
 301:     STATUS      current
 302:     DESCRIPTION
 303:         "This table contains statistical counters specific for
 304:          Ethernet PW."
 305:     ::= { pwEnetObjects 2 }
 306: 
 307: pwEnetStatsEntry  OBJECT-TYPE
 308:     SYNTAX      PwEnetStatsEntry
 309:     MAX-ACCESS  not-accessible
 310:     STATUS      current
 311:     DESCRIPTION
 312:         "Each entry represents the statistics gathered for the
 313:          PW carrying the Ethernet."
 314:     INDEX { pwIndex }
 315:     ::= { pwEnetStatsTable 1 }
 316: 
 317: 
 318: PwEnetStatsEntry ::= SEQUENCE {
 319:     pwEnetStatsIllegalVlan        ZeroBasedCounter32,
 320:     pwEnetStatsIllegalLength      ZeroBasedCounter32
 321: }
 322: 
 323: pwEnetStatsIllegalVlan  OBJECT-TYPE
 324:     SYNTAX     ZeroBasedCounter32
 325:     MAX-ACCESS  read-only
 326:     STATUS     current
 327:     DESCRIPTION
 328:         "The number of packets received (from the PSN) on this PW
 329:          with either an illegal VLAN field, a missing VLAN field
 330:          when one was expected, or an excessive VLAN field when
 331:          it was not expected. This counter may not be applicable
 332:          in some cases, and MUST return the value of zero in
 333:          such a case."
 334:     ::= { pwEnetStatsEntry 1 }
 335: 
 336: pwEnetStatsIllegalLength  OBJECT-TYPE
 337:     SYNTAX     ZeroBasedCounter32
 338:     MAX-ACCESS  read-only
 339:     STATUS     current
 340:     DESCRIPTION
 341:         "The number of packets that were received with an illegal
 342:          Ethernet packet length on this PW. An illegal length is
 343:          defined as being greater than the value in the advertised
 344:          MTU supported, or shorter than the allowed Ethernet packet
 345:          size."
 346:     ::= { pwEnetStatsEntry 2 }
 347: 
 348: ---
 349: --- Conformance description
 350: ---
 351: 
 352: pwEnetGroups      OBJECT IDENTIFIER ::= { pwEnetConformance 1 }
 353: pwEnetCompliances OBJECT IDENTIFIER ::= { pwEnetConformance 2 }
 354: 
 355: -- Compliance requirement for fully compliant implementations.
 356: 
 357: pwEnetModuleFullCompliance MODULE-COMPLIANCE
 358:     STATUS  current
 359:     DESCRIPTION
 360:             "The compliance statement for agents that provide full
 361:              support for the PW-ENET-STD-MIB Module. Such devices
 362:              can then be monitored and also be configured using
 363:              this MIB module."
 364:     MODULE  -- this module
 365:       MANDATORY-GROUPS {
 366:                          pwEnetGroup,
 367:                          pwEnetStatsGroup
 368:                         }
 369: 
 370:    OBJECT       pwEnetVlanMode
 371:    DESCRIPTION "An implementation MUST support at least the value
 372:                 noChange(2)."
 373: 
 374:    OBJECT       pwEnetPwIfIndex
 375:    MIN-ACCESS   read-only
 376:    DESCRIPTION "Write access and values other than zero are
 377:                 required only for implementations that support
 378:                 modeling the Ethernet PW in the Etherlike-MIB."
 379: 
 380:    OBJECT       pwEnetRowStatus
 381:    SYNTAX       RowStatus { active(1), notInService(2),
 382:                             notReady(3) }
 383:    WRITE-SYNTAX RowStatus { active(1), notInService(2),
 384:                             createAndGo(4), destroy(6)
 385:                           }
 386:    MIN-ACCESS   read-only
 387:    DESCRIPTION "Support for createAndWait is not required. Support
 388:                 of notReady is not required for implementations that
 389:                 do not support signaling.
 390:                 Support of read-write is not required for
 391:                 implementations that do not support more than one
 392:                 VLAN mapping to the same PW."
 393: 
 394:     ::= { pwEnetCompliances 1 }
 395: 
 396: -- Compliance requirement for read-only compliant implementations.
 397: 
 398: 
 399: pwEnetModuleReadOnlyCompliance MODULE-COMPLIANCE
 400:     STATUS  current
 401:     DESCRIPTION
 402:             "The compliance statement for agents that provide read-
 403:              only support for the PW-ENET-STD-MIB Module. Such
 404:              devices can then be monitored but cannot be configured
 405:              using this MIB module."
 406: 
 407:     MODULE  -- this module
 408:       MANDATORY-GROUPS { pwEnetGroup,
 409:                          pwEnetStatsGroup
 410:                          }
 411: 
 412:    OBJECT       pwEnetPwVlan
 413:    MIN-ACCESS   read-only
 414:    DESCRIPTION "Write access is not required."
 415: 
 416:    OBJECT       pwEnetVlanMode
 417:    MIN-ACCESS   read-only
 418:    DESCRIPTION "Write access is not required. An implementation
 419:                 MUST support at least the value noChange(2)."
 420: 
 421:    OBJECT       pwEnetPortVlan
 422:    MIN-ACCESS   read-only
 423:    DESCRIPTION "Write access is not required."
 424: 
 425:    OBJECT       pwEnetPortIfIndex
 426:    MIN-ACCESS   read-only
 427:    DESCRIPTION "Write access is not required."
 428:    OBJECT       pwEnetPwIfIndex
 429:    MIN-ACCESS   read-only
 430:    DESCRIPTION "Write access is not required. Values other than
 431:                 zero are required only for implementations that
 432:                 support modeling the Ethernet PW in the
 433:                 Etherlike-MIB."
 434: 
 435:    OBJECT       pwEnetRowStatus
 436:    SYNTAX       RowStatus { active(1), notInService(2),
 437:                             notReady(3) }
 438:    MIN-ACCESS   read-only
 439:    DESCRIPTION "Write access is not required. Support
 440:                 of notReady is not required for implementations that
 441:                 do not support signaling."
 442: 
 443:    OBJECT       pwEnetStorageType
 444:    MIN-ACCESS   read-only
 445:    DESCRIPTION "Write access is not required."
 446: 
 447:     ::= { pwEnetCompliances 2 }
 448: 
 449: -- Units of conformance.
 450: 
 451: pwEnetGroup OBJECT-GROUP
 452:    OBJECTS {
 453:             pwEnetPwVlan,
 454:             pwEnetVlanMode,
 455:             pwEnetPortVlan,
 456:             pwEnetPortIfIndex,
 457:             pwEnetPwIfIndex,
 458:             pwEnetRowStatus,
 459:             pwEnetStorageType
 460:    }
 461:    STATUS  current
 462:    DESCRIPTION
 463:        "Collection of objects for basic Ethernet PW configuration."
 464:    ::= { pwEnetGroups 1 }
 465: 
 466: pwEnetStatsGroup OBJECT-GROUP
 467:    OBJECTS {
 468:             pwEnetStatsIllegalVlan,
 469:             pwEnetStatsIllegalLength
 470:    }
 471:    STATUS  current
 472:    DESCRIPTION
 473:        "Collection of objects counting various PW level errors."
 474:    ::= { pwEnetGroups 2 }
 475: 
 476: END
 477: 
 478: -- 
 479: --    Copyright (C) The IETF Trust (2007).
 480: -- 
 481: --    This document is subject to the rights, licenses and restrictions
 482: --    contained in BCP 78, and except as set forth therein, the authors
 483: --    retain all their rights.
 484: -- 
 485: --    This document and the information contained herein are provided on an
 486: --    "AS IS" basis and THE CONTRIBUTOR, THE ORGANIZATION HE/SHE REPRESENTS
 487: --    OR IS SPONSORED BY (IF ANY), THE INTERNET SOCIETY, THE IETF TRUST AND
 488: --    THE INTERNET ENGINEERING TASK FORCE DISCLAIM ALL WARRANTIES, EXPRESS
 489: --    OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF
 490: --    THE INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED
 491: --    WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
 492: -- 
 493: -- 
 494: -- Intellectual Property
 495: -- 
 496: --    The IETF takes no position regarding the validity or scope of any
 497: --    Intellectual Property Rights or other rights that might be claimed to
 498: --    pertain to the implementation or use of the technology described in
 499: --    this document or the extent to which any license under such rights
 500: --    might or might not be available; nor does it represent that it has
 501: --    made any independent effort to identify any such rights.  Information
 502: --    on the procedures with respect to rights in RFC documents can be
 503: --    found in BCP 78 and BCP 79.
 504: -- 
 505: --    Copies of IPR disclosures made to the IETF Secretariat and any
 506: --    assurances of licenses to be made available, or the result of an
 507: --    attempt made to obtain a general license or permission for the use of
 508: --    such proprietary rights by implementers or users of this
 509: --    specification can be obtained from the IETF on-line IPR repository at
 510: --    http://www.ietf.org/ipr.
 511: -- 
 512: --    The IETF invites any interested party to bring to its attention any
 513: --    copyrights, patents or patent applications, or other proprietary
 514: --    rights that may cover technology that may be required to implement
 515: --    this standard.  Please address the information to the IETF at
 516: --    ietf-ipr@ietf.org.
 517: -- 
 518: -- 
 519: -- Acknowledgment
 520: -- 
 521: --    Funding for the RFC Editor function is provided by the IETF
 522: --    Administrative Support Activity (IASA).
 523: