librenms/librenms

View on GitHub
mibs/mrv/NBS-CMMC-MIB

Summary

Maintainability
Test Coverage

NBS-CMMC-MIB  DEFINITIONS ::= BEGIN

IMPORTS
    Unsigned32, Counter32, TimeTicks, IpAddress,
    OBJECT-TYPE, MODULE-IDENTITY, OBJECT-IDENTITY, NOTIFICATION-TYPE
        FROM SNMPv2-SMI
    DisplayString
        FROM SNMPv2-TC
    InterfaceIndex
        FROM IF-MIB
    nbs
        FROM NBS-MIB
    InetAddress, InetAddressType
        FROM INET-ADDRESS-MIB

    NbsCmmcEnumChassisType, NbsCmmcEnumSlotOperationType,
    NbsCmmcEnumSlotType, NbsCmmcEnumPortConnector
        FROM NBS-CMMCENUM-MIB
    ;

nbsCmmcMib  MODULE-IDENTITY
    LAST-UPDATED  "201707120000Z"  -- July 12, 2017
    ORGANIZATION  "NBS"
    CONTACT-INFO
      "For technical support, please contact your service channel"

    DESCRIPTION
      "MIB for representing NBS CMMC information"

    ::= { nbs 200 }

-- *******************************************************************
-- NBS-CMMC-MIB Objects Identifier Definition
-- *******************************************************************
nbsCmmcObjects  OBJECT-IDENTITY
    STATUS      current
    DESCRIPTION
      "all MIB objects in nbsCmmc MIB."
    ::= { nbsCmmcMib 1 }

-- *******************************************************************
-- Groups in NBS-CMMC-MIB - all under nbsCmmcObjects
-- *******************************************************************
-- nbsCmmcProducts OBJECT-IDENTITY
--  STATUS      current
--  DESCRIPTION "MRV product line"
--  ::= { nbsCmmcMib 1 }

nbsCmmcSystemGrp OBJECT-IDENTITY
    STATUS      current
    DESCRIPTION "Objects systemic in scope"
    ::= { nbsCmmcMib 2 }

nbsCmmcIpSnmpGrp OBJECT-IDENTITY
    STATUS      current
    DESCRIPTION "IP and SNMP configuration objects"
    ::= { nbsCmmcMib 3 }

nbsCmmcTftpGrp  OBJECT-IDENTITY
    STATUS      current
    DESCRIPTION "TFTP objects"
    ::= { nbsCmmcMib 4 }

--nbsCmmcIpAccessGrp OBJECT-IDENTITY
--    STATUS      current
--    DESCRIPTION "IP Access objects"
--    ::= { nbsCmmcMib 5 }

nbsCmmcChassisGrp OBJECT-IDENTITY
    STATUS      current
    DESCRIPTION "Chassis objects"
    ::= { nbsCmmcMib 6 }

nbsCmmcSlotGrp  OBJECT-IDENTITY
    STATUS      current
    DESCRIPTION "Slot/Card/Blade objects"
    ::= { nbsCmmcMib 7 }

nbsCmmcPortGrp  OBJECT-IDENTITY
    STATUS      current
    DESCRIPTION "Port objects"
    ::= { nbsCmmcMib 8 }

nbsCmmcNtpGrp   OBJECT-IDENTITY
    STATUS      current
    DESCRIPTION "NTP objects"
    ::= { nbsCmmcMib 9 }

nbsCmmcSmtpGrp  OBJECT-IDENTITY
    STATUS      current
    DESCRIPTION "SMTP objects"
    ::= { nbsCmmcMib 10 }

nbsCmmcSysLogGrp OBJECT-IDENTITY
    STATUS      current
    DESCRIPTION "SysLog objects"
    ::= { nbsCmmcMib 11 }

nbsCmmcTrapGrp  OBJECT-IDENTITY
    STATUS      current
    DESCRIPTION "Trap objects"
    ::= { nbsCmmcMib 12 }

nbsCmmcTraps    OBJECT-IDENTITY
    STATUS      current
    DESCRIPTION "SNMP Traps"
    ::= { nbsCmmcMib 13 }

nbsCmmcTraps0  OBJECT-IDENTITY
    STATUS      current
    DESCRIPTION "SNMP Traps"
    ::= { nbsCmmcTraps 0 }

-- ********************************************************************
-- Products Group
-- ********************************************************************
-- nbsCmmcNetMgmt OBJECT-IDENTITY
--  STATUS      current
--  DESCRIPTION "NBS Network Managed product"
--  ::= { nbsCmmcProducts 1 }

-- ********************************************************************
-- System Group
-- ********************************************************************
nbsCmmcSysFwDescr   OBJECT-TYPE
        SYNTAX      DisplayString(SIZE(0..255))
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
                "The description of the System Control Firmware."

        ::= { nbsCmmcSystemGrp 1 }

nbsCmmcSysFwVers    OBJECT-TYPE
        SYNTAX      DisplayString(SIZE(0..16))
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
                "The System Control Firmware version in the form
                 Vmajor.minor."

        ::= { nbsCmmcSystemGrp 2 }

nbsCmmcSysRestart       OBJECT-TYPE
        SYNTAX      INTEGER {
                running    (1),    -- system is running
                coldRestart(2),    -- execute a cold/hardware restart
                warmRestart(3),    -- execute a warm/software restart
                upgrRestart(4)     -- execute a firmware upgrade restart
        }
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION
                "This object is used to reset the system.
                 Writing a coldRestart(2), causes the SNMP Agent CPU
                 to be hardware reset, similar to a power-on cycle.

                 Writing a warmRestart(3), causes only a restart of
                 the System Control CPU operative software.

                 Writing a upgrRestart(4), causes a total restart of
                 the system software, but attempts to leave the hardware
                 alone."

        ::= { nbsCmmcSystemGrp 3 }

nbsCmmcSysNumRestarts    OBJECT-TYPE
        SYNTAX      Counter32
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
                "Number of warmRestarts executed by the system, since
                 the last coldRestart or power-on cycle.
                 A warmRestart may be initiated by:
                 - writing a warmRestart value in nbsCmmcSysRestart
                 - a warmRestart command from the Command Line.
                 - the SNMP Agent Firmware due to certain conditions."

        ::= { nbsCmmcSystemGrp 4 }

nbsCmmcSysErrUptime    OBJECT-TYPE
        SYNTAX      TimeTicks
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
                "The time (in hundredths of a second) since the last
                 cold reset/power cycle when a fatal error occurred.
                 This variable shows the system uptime from the last
                 cold reset/power on cycle, unless a fatal error oc-
                 curred."

        ::= { nbsCmmcSystemGrp 5 }

nbsCmmcSysSetNvramDefaults    OBJECT-TYPE
        SYNTAX      INTEGER {
                setDefaults (1)
        }
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION
                "Writing the value setDefaults to this objects will re-
                 store the defaults in the NVRAM data base. These
                 values will take effect after a system reset.

                 For the Linux-based NM family, after restoring defaults,
                 take care not to commit running changes with the
                 nbsCmmcSysWriteConfig object.  Doing so would undo the
                 defaults, overwriting them with the running
                 configuration."

        ::= { nbsCmmcSystemGrp 6 }

nbsCmmcSysSelftestLevel    OBJECT-TYPE
        SYNTAX      INTEGER {
                ststNone(1),
                ststShort(2),
                ststLong(3),
                ststDiagnostics(4)
        }
        MAX-ACCESS  read-write
        STATUS      deprecated
        DESCRIPTION
                "NVRAM based level of the system selftest.
                 The values are :
                   ststNone - meaning that no selftest will be executed
                              upon boot-up
                   ststShort- meaning that a short  selftest, of approx
                              10-20 seconds will be executed upon boot-
                              up
                   ststLong - meaning that a long/extensive self-test
                              will be executed upon boot-up
                   ststDiagnostics - meaning that upon boot-up the di-
                              agnostics mode is entered. In this mode
                              it is possible to interactively select
                              the test or the group of tests that will
                              be executed. This value may not be set
                              through a SNMP SET command.

                 This object is deprecated."

        ::= { nbsCmmcSystemGrp 7 }

nbsCmmcSysCurrentTime    OBJECT-TYPE
        SYNTAX      Unsigned32 (2208988800..4294967295)
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION
                "The current time, expressed as the number of seconds
                 since 00:00 (midnight) 1 January 1900 GMT.  Obtained
                 via Time Protocol (RFC 868) or set by user.

                 Not supported value: 0"

        ::= { nbsCmmcSystemGrp 8 }

nbsCmmcSysCurrentDateTime    OBJECT-TYPE
        SYNTAX      DisplayString(SIZE(0..24))
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
                "The current time, derived from nbsCmmcSysCurrentTime,
                 adjusted to Agent's local time (nbsCmmcSysTimeZone),
                 expressed in the format 'www mm dd hh:mm:ss yyyy'.
                 If nbsCmmcSysCurrentTime is 0, this value should be
                 'unknown'."
        ::= { nbsCmmcSystemGrp 9 }


--
-- the NVRAM settings table
--

nbsCmmcSysNvramTable OBJECT-TYPE
        SYNTAX      SEQUENCE OF NbsCmmcSysNvramEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
            "Copy of Non-Volatile RAM kept in Agent, including
             all settings, configurations, and names for all cards
             managed by this Agent."
        ::= { nbsCmmcSystemGrp 10 }

nbsCmmcSysNvramEntry      OBJECT-TYPE
        SYNTAX      NbsCmmcSysNvramEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
            "Represents a block of NVRAM"
        INDEX { nbsCmmcSysNvramIndex }
        ::= { nbsCmmcSysNvramTable 1 }

NbsCmmcSysNvramEntry ::= SEQUENCE {
        nbsCmmcSysNvramIndex         INTEGER,
        nbsCmmcSysNvramBlock         OCTET STRING
}


nbsCmmcSysNvramIndex OBJECT-TYPE
        SYNTAX      INTEGER
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "NVRAM Block number, starting with 1."
        ::= { nbsCmmcSysNvramEntry 1 }

nbsCmmcSysNvramBlock OBJECT-TYPE
        SYNTAX      OCTET STRING (SIZE(0..250))
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION
            "Bytes contained in this block of NVRAM."
        ::= { nbsCmmcSysNvramEntry 2 }

nbsCmmcSysWriteConfig       OBJECT-TYPE
        SYNTAX      INTEGER {
                notSupported(1), -- Write Config is not supported
                supported(2),    -- Configuration is not saved until write
                write(3),        -- Write configuration file
                copyTempFile(4)  -- Copy temp file to startup-config
        }
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION
                "This object is used to write the configuration file. If
                 this returns supported, the SNMP Agent requires you to
                 specifically write the configuration file. Any changes
                 that are not written out will be lost on next reboot.

                 Setting copyTempFile(4) will copy the file uploaded via
                 nbsCmmcSysNvramTable into the non-volatile startup area."

        DEFVAL { supported }
        ::= { nbsCmmcSystemGrp 11 }

nbsCmmcSysUpgrade     OBJECT-TYPE
        SYNTAX      DisplayString
        MAX-ACCESS  read-write
        STATUS      deprecated
        DESCRIPTION
                "This object allows user to initiate a transfer
                 of firmware from the NM file system to the cards
                 in selected slots.  Before using, user should ensure
                 the proper files have been loaded (TFTP'd) onto
                 the NM.

                 This object has read-write access so it will be more
                 universally compilable, but is intended only for
                 writing.  For reading, the contents are undefined.

                 The string should contain a comma-separated list of
                 slots to be reprogrammed, in the format chassis.slot,
                 or chassis.* to load all cards.

                 While the NM is reprogramming the line card, SNMP
                 communication may be temporarily suspended."
        ::= { nbsCmmcSystemGrp 12 }

nbsCmmcSysLoginIdleTimeout  OBJECT-TYPE
        SYNTAX      INTEGER (0..400000)
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION
                "This object is used to control the idle logout timer.
                 This timer is in minutes. If a user logged into the CLI
                 has not typed anything for this number of minutes,
                 the session is automatically closed. Zero means
                 no automatic timeout."
        DEFVAL { 15 }
        ::= { nbsCmmcSystemGrp 13 }

nbsCmmcSysDiscoveryAdmin OBJECT-TYPE
        SYNTAX      INTEGER {
                notSupported (1),
                disabled     (2),
                enabled      (3)
        }
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION
            "The Discovery protocol allows Linux NM cards
             to find each other on a single layer 2 network
             segment. By default it is enabled."
        DEFVAL { enabled }
        ::= { nbsCmmcSystemGrp 14 }

nbsCmmcSysDiscoveryOper OBJECT-TYPE
        SYNTAX      INTEGER {
                notSupported (1),
                disabled     (2),
                enabled      (3)
        }
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "The current operational status of the Discovery
             protocol."
        ::= { nbsCmmcSystemGrp 50 }

--
-- the Discovery host table
--

nbsCmmcSysDiscoveryHostTable OBJECT-TYPE
        SYNTAX      SEQUENCE OF NbsCmmcSysDiscoveryHostEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
            "Table that contains host information found using the L2
             Discovery protocol"
        ::= { nbsCmmcSystemGrp 15 }

nbsCmmcSysDiscoveryHostEntry      OBJECT-TYPE
        SYNTAX      NbsCmmcSysDiscoveryHostEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
            "Represents a single host found using the L2 Discovery protocol"
        INDEX { nbsCmmcSysDiscoveryHostMACAddress }
        ::= { nbsCmmcSysDiscoveryHostTable 1 }

NbsCmmcSysDiscoveryHostEntry ::= SEQUENCE {
        nbsCmmcSysDiscoveryHostMACAddress    OCTET STRING,
        nbsCmmcSysDiscoveryHostDistance      INTEGER,
        nbsCmmcSysDiscoveryHostIPAddress     IpAddress,
        nbsCmmcSysDiscoveryHostAddressType   InetAddressType,
        nbsCmmcSysDiscoveryHostAddress       InetAddress,
        nbsCmmcSysDiscoveryHostSourceIfIndex InterfaceIndex
}

nbsCmmcSysDiscoveryHostMACAddress OBJECT-TYPE
        SYNTAX      OCTET STRING(SIZE(6))
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "MAC address of discovered host"
        ::= { nbsCmmcSysDiscoveryHostEntry 1 }

nbsCmmcSysDiscoveryHostDistance OBJECT-TYPE
        SYNTAX      INTEGER
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "How many hops from me is this host?"
        DEFVAL { 0 }
        ::= { nbsCmmcSysDiscoveryHostEntry 2 }

nbsCmmcSysDiscoveryHostIPAddress OBJECT-TYPE
        SYNTAX      IpAddress
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "IP address of discovered host"
        DEFVAL { '00000000'h }
        ::= { nbsCmmcSysDiscoveryHostEntry 3 }

nbsCmmcSysDiscoveryHostAddressType OBJECT-TYPE
        SYNTAX      InetAddressType
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "IP address type, select IPv4 or IPv6"
        ::= { nbsCmmcSysDiscoveryHostEntry 4 }

nbsCmmcSysDiscoveryHostAddress OBJECT-TYPE
        SYNTAX      InetAddress
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "IPv4 or IPv6 IP address of discovered host, this replaces nbsCmmcSysDiscoveryHostIPAddress"
        ::= { nbsCmmcSysDiscoveryHostEntry 5 }

nbsCmmcSysDiscoveryHostSourceIfIndex OBJECT-TYPE
        SYNTAX      InterfaceIndex
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "Interface index that the discovered host was found by.

             0 for the local host."

        ::= { nbsCmmcSysDiscoveryHostEntry 6 }

nbsCmmcSysLastSetFailure  OBJECT-TYPE
        SYNTAX      DisplayString(SIZE(0..255))
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "If the last SNMP SET was rejected, for example with
             SNMP Error: BadValue (SNMP Error 3), this object
             should explain why the SET failed.

             This string may be empty (size 0) if no explanation
             is available.

             If there have been no SET requests since boot-up, this
             string should be empty (size 0).

             In addition to this object, SET errors may also be found
             in the nbsCmmcSysRunningLogMessageTable."

        ::= { nbsCmmcSystemGrp 16 }

nbsCmmcSysTimeProtocol   OBJECT-TYPE
        SYNTAX      INTEGER {
                notSupported (1),
                disabled     (2),
                enabled      (3)
        }
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION
            "Time Protocol (RFC 868) allows the managed device to
             synchronize its clock with a Time Server.

             When read, the agent will report notSupported(1) if this
             object is not supported.

             When set to enabled(3), it will cause the agent to contact
             the nbsCmmcSysTimeServer (if valid) via rdate to obtain
             the current time.

             disabled(2) is a deprecated, legacy value. Setting this
             value will cause a SET error."
        DEFVAL { disabled }
        ::= { nbsCmmcSystemGrp 17 }

nbsCmmcSysTimeServer    OBJECT-TYPE
        SYNTAX      IpAddress
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION
                "The IP Address of the Time Server."
        ::= { nbsCmmcSystemGrp 18 }

nbsCmmcSysTimeServAddressType    OBJECT-TYPE
        SYNTAX      InetAddressType
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION
                "The Address Type of the Time Server."
        DEFVAL { unknown }
        ::= { nbsCmmcSystemGrp 33 }

nbsCmmcSysTimeServAddress    OBJECT-TYPE
        SYNTAX      InetAddress
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION
                "The IPv4 or IPv6 Address of the Time Server. This entry replaces nbsCmmcSysTimeServer"
        ::= { nbsCmmcSystemGrp 34 }

--
-- the Firmware table
--

nbsCmmcSysFirmwareTable OBJECT-TYPE
        SYNTAX      SEQUENCE OF NbsCmmcSysFirmwareEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
            "Table that lists firmware images loaded on NM."
        ::= { nbsCmmcSystemGrp 19 }

nbsCmmcSysFirmwareEntry      OBJECT-TYPE
        SYNTAX      NbsCmmcSysFirmwareEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
            "Description of a firmware image"
        INDEX { nbsCmmcSysFirmwareIndex }
        ::= { nbsCmmcSysFirmwareTable 1 }

NbsCmmcSysFirmwareEntry ::= SEQUENCE {
        nbsCmmcSysFirmwareIndex       INTEGER,
        nbsCmmcSysFirmwareDescr       DisplayString,
        nbsCmmcSysFirmwareFilename    DisplayString,
        nbsCmmcSysFirmwareSize        INTEGER,
        nbsCmmcSysFirmwareMTime       INTEGER,
        nbsCmmcSysFirmwareVersion     DisplayString,
        nbsCmmcSysFirmwareDate        DisplayString,
        nbsCmmcSysFirmwareType        INTEGER,
        nbsCmmcSysFirmwareIDCs        DisplayString,
        nbsCmmcSysFirmwareCksum       Unsigned32,
        nbsCmmcSysFirmwareMd5         OCTET STRING
}

nbsCmmcSysFirmwareIndex OBJECT-TYPE
        SYNTAX      INTEGER
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "Unique Id for this row"
        ::= { nbsCmmcSysFirmwareEntry 1 }

nbsCmmcSysFirmwareDescr OBJECT-TYPE
        SYNTAX      DisplayString(SIZE(0..255))
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "Description of firmware image"
        ::= { nbsCmmcSysFirmwareEntry 2 }

nbsCmmcSysFirmwareFilename  OBJECT-TYPE
        SYNTAX      DisplayString(SIZE(0..255))
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "The filename of the firmware package. If it is in the
             format scheme://host/path, it refers to
             nbsCmmcSysFirmwareURL."
        ::= { nbsCmmcSysFirmwareEntry 3 }

nbsCmmcSysFirmwareSize  OBJECT-TYPE
        SYNTAX      INTEGER
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "The size (in bytes) of the firmware package file"
        ::= { nbsCmmcSysFirmwareEntry 4 }

nbsCmmcSysFirmwareMTime  OBJECT-TYPE
        SYNTAX      INTEGER
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "The last modified time of the firmware package file itself."
        ::= { nbsCmmcSysFirmwareEntry 5 }

nbsCmmcSysFirmwareVersion  OBJECT-TYPE
        SYNTAX      DisplayString(SIZE(0..255))
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "The version of the firmware package"
        ::= { nbsCmmcSysFirmwareEntry 6 }

nbsCmmcSysFirmwareDate  OBJECT-TYPE
        SYNTAX      DisplayString(SIZE(0..32))
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "The date of release of the firmware package in RFC 2822 format"
        ::= { nbsCmmcSysFirmwareEntry 7 }

nbsCmmcSysFirmwareType  OBJECT-TYPE
        SYNTAX      INTEGER {
                invalid (1),
                chassis (2),
                slot    (3),
                port    (4),
                deleted (5)
        }
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION
            "What kind of entity this package is for. Valid rev files
             have type chassis(2), slot(3), or port(4).

             invalid(1) indicates this entry is not a valid rev file.

             deleted(5) indicates this entry refers to a file that was deleted
             and is no longer in the management card storage area. This entry
             may be re-enabled if the identical file is again put on the
             management card. This way, indexes do not move around if files are
             deleted and subsequently restored. However, deleted slots may be
             reused by the system for new files at the system's descretion.

             Setting deleted(5) will delete this file permanently from the
             management card storage area.

             No values other than deleted(5) can be set."
        ::= { nbsCmmcSysFirmwareEntry 8 }

nbsCmmcSysFirmwareIDCs  OBJECT-TYPE
        SYNTAX      DisplayString(SIZE(0..255))
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "A comma separated list of module versions supported by this
             firmware package"
        ::= { nbsCmmcSysFirmwareEntry 9 }

nbsCmmcSysFirmwareCksum  OBJECT-TYPE
        SYNTAX      Unsigned32 (0..4294967295)
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "The checksum of the metadata. Used to uniquely
             identify this package file. Invalid package files
             have a zero Cksum.

             Not supported value: 0"
        ::= { nbsCmmcSysFirmwareEntry 10 }

nbsCmmcSysFirmwareMd5  OBJECT-TYPE
        SYNTAX      OCTET STRING(SIZE(16))
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "The MD5 checksum of this firmware image. Used to verify
             the integrity of this package file."
        ::= { nbsCmmcSysFirmwareEntry 11 }

--
-- end Firmware table
--



nbsCmmcSysTimeZone   OBJECT-TYPE
        SYNTAX      INTEGER {
                notSupported  (1),
                gmtMinus1200  (2),
                gmtMinus1100  (3),
                gmtMinus1000  (4),
                gmtMinus0900  (5),
                gmtMinus0800  (6),
                gmtMinus0700  (7),
                gmtMinus0600  (8),
                gmtMinus0500  (9),
                gmtMinus0400 (10),
                gmtMinus0300 (11),
                gmtMinus0200 (12),
                gmtMinus0100 (13),
                gmt          (14),
                gmtPlus0100  (15),
                gmtPlus0200  (16),
                gmtPlus0300  (17),
                gmtPlus0400  (18),
                gmtPlus0500  (19),
                gmtPlus0600  (20),
                gmtPlus0700  (21),
                gmtPlus0800  (22),
                gmtPlus0900  (23),
                gmtPlus1000  (24),
                gmtPlus1100  (25),
                gmtPlus1200  (26)
        }
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION
            "User-configurable TimeZone or offset from GMT.  Should be
             used to indicate the time local to the managed device.

             If the system supports nbsCmmcSysTimeZoneTableSize and it
             is non-zero, this object is the nbsCmmcSysTimeZoneIndex
             of nbsCmmcSysTimeZoneTable, which enumerates all the time
             zones that this system supports."
        DEFVAL { gmt }
        ::= { nbsCmmcSystemGrp 20 }

nbsCmmcSysSnmpV1  OBJECT-TYPE
        SYNTAX      INTEGER  {
                notSupported(1),
                disabled(2),  -- SNMPv1 is disabled
                enabled (3)   -- SNMPv1 is enabled
        }
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION
                "This object enables or disables SNMPv1 protocol handling."
        DEFVAL { enabled }
        ::= { nbsCmmcSystemGrp 21 }

nbsCmmcSysSnmpV2c  OBJECT-TYPE
        SYNTAX      INTEGER  {
                notSupported(1),
                disabled(2),  -- SNMPv2c is disabled
                enabled (3)   -- SNMPv2c is enabled
        }
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION
                "This object enables or disables SNMPv2c protocol handling."
        DEFVAL { enabled }
        ::= { nbsCmmcSystemGrp 22 }

nbsCmmcSysSnmpV3  OBJECT-TYPE
        SYNTAX      INTEGER  {
                notSupported(1),
                disabled(2),  -- SNMPv3 is disabled
                enabled (3)   -- SNMPv3 is enabled
        }
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION
                "This object enables or disables SNMPv3 protocol handling."
        DEFVAL { enabled }
        ::= { nbsCmmcSystemGrp 23 }

nbsCmmcSysStpAdmin  OBJECT-TYPE
        SYNTAX      INTEGER  {
                notSupported(1),
                disabled(2),  -- STP is disabled
                enabled (3)   -- STP is enabled
        }
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION
                "This object enables or disables STP protocol handling."
        DEFVAL { enabled }
        ::= { nbsCmmcSystemGrp 24 }

nbsCmmcSysStpOper  OBJECT-TYPE
        SYNTAX      INTEGER  {
                notSupported(1),
                disabled(2),
                enabled (3)
        }
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
                "The current operational status of the STP protocol."
        DEFVAL { enabled }
        ::= { nbsCmmcSystemGrp 60 }

nbsCmmcSysLockTypes OBJECT-TYPE
        SYNTAX      INTEGER {
                notSupported (1),
                disabled     (2),
                enabled      (3)
        }
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION
         "If enabled, forces the system only to allow writes to slots/ports
          that are detected as the same type as the configured type.
          Use nbsCmmcSlotClearType to clear the configured type.

          When this object is enabled(3) and a module is inserted that
          is incompatible with the configured type, Agent should issue
          the notification nbsCmmcTrapSlotModuleLocked instead of
          nbsCmmcTrapSlotModuleIn.

          The notfication nbsCmmcTrapSlotModuleIn should be issued once
          the lock has been cleared (see nbsCmmcSlotClearType)."
        DEFVAL { disabled }
        ::= { nbsCmmcSystemGrp 25 }

nbsCmmcSysSerialTerminalType OBJECT-TYPE
        SYNTAX      DisplayString(SIZE(0..255))
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION
         "Name of terminal to use for the serial port, e.g. vt100,
         xterm, ansi."
        DEFVAL { "vt102" }
        ::= { nbsCmmcSystemGrp 26 }

nbsCmmcSysCrossConnect OBJECT-TYPE
        SYNTAX      INTEGER {
                notSupported (1),
                operating    (2),
                clearing     (3)
        }
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION
         "For systems which have chassis/slots supporting cross-connect
          functionality, this object is used to reflect the operating
          state and clear the entire cross-connect map, including any
          independent maps of subordinate chassis and slots.

          If there are currently no cross-connect chassis or slots in
          this system, the Agent must report notSupported(1).

          If the cross-connect mappings can not be cleared via this
          object, and/or can only be cleared via the Chassis, Slot, or
          PortCrossConnect, the Agent must also report notSupported(1).

          Additionally, if this object reports notSupported(1), any
          SNMP SET to this object should return SNMP Error 3 (bad
          value).

          If this object reports operating(2), SNMP Managers are
          allowed to set this object to clearing (3), which instructs
          the Agent to erase the cross-connect maps of all subordinate
          chassis and slots, so no circuits exist in the system."

        DEFVAL { operating }
        ::= { nbsCmmcSystemGrp 27 }

nbsCmmcSysCountersState   OBJECT-TYPE
        SYNTAX      INTEGER {
                notSupported  (1),
                counting      (2),
                clearing      (3)
        }
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION
            "This object is used to reset all counters in this device.

             If agent does not have this feature, this object should
             be notSupported(1).

             In order to reset all counters to zero, set this object
             to clearing(3).

             If this feature is supported, the Agent may return the
             status clearing (3) during the interval in which it is
             resetting the counters, but otherwise should return the
             status counting(2)."
        DEFVAL { counting }
        ::= { nbsCmmcSystemGrp 28 }

nbsCmmcSysSerialBaudRateAdmin     OBJECT-TYPE
        SYNTAX      INTEGER{
                b9600   (1),     -- baud rate is   9600
                b19200  (2),     -- baud rate is  19200
                b38400  (3),     -- baud rate is  38400
                b115200 (4)      -- baud rate is 115200
        }
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION
             "The Serial Console Baud Rate when not in SLIP Mode.
              Setting this object will change the serial console baud
              rate in the BootROM configuration. It will not take
              effect until cold or upgrade restart. Setting this object
              has no effect on startup-config or the running
              configuration."

        DEFVAL { b38400 }
        ::= { nbsCmmcSystemGrp 31 }

nbsCmmcSysSerialBaudRateOper     OBJECT-TYPE
        SYNTAX      INTEGER{
                b9600   (1),     -- baud rate is   9600
                b19200  (2),     -- baud rate is  19200
                b38400  (3),     -- baud rate is  38400
                b115200 (4)      -- baud rate is 115200
        }
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
             "The current operational Serial Console Baud Rate when not
              in SLIP Mode."

        DEFVAL { b38400 }
        ::= { nbsCmmcSystemGrp 32 }

--
-- Out of order objects:
--

-- Addons to Time Serv (see above)
-- nbsCmmcSysTimeServAddressType ::= { nbsCmmcSystemGrp 33 }
-- nbsCmmcSysTimeServAddress     ::= { nbsCmmcSystemGrp 34 }

-- Addons to Discovery (see above)
-- nbsCmmcSysDiscoveryOper       ::= { nbsCmmcSystemGrp 50 }

-- Addons to Stp (see above)
-- nbsCmmcSysStpOper             ::= { nbsCmmcSystemGrp 60 }


--
-- The Proto table (SystemGrp 1001-1002)
--

nbsCmmcSysProtoTableSize OBJECT-TYPE
        SYNTAX      Unsigned32
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
                "The number of entries in nbsCmmcSysProtoTable."
        ::= { nbsCmmcSystemGrp 1001 }

nbsCmmcSysProtoTable OBJECT-TYPE
        SYNTAX      SEQUENCE OF NbsCmmcSysProtoEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
                "A table to report supportable data transmission protocols."

        ::= { nbsCmmcSystemGrp 1002 }

nbsCmmcSysProtoEntry      OBJECT-TYPE
        SYNTAX      NbsCmmcSysProtoEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
                "Describes a particular protocol or line rate."
        INDEX { nbsCmmcSysProtoIndex }

        ::= { nbsCmmcSysProtoTable 1 }

NbsCmmcSysProtoEntry ::= SEQUENCE {
        nbsCmmcSysProtoIndex  Unsigned32,
        nbsCmmcSysProtoFamily DisplayString,
        nbsCmmcSysProtoRate   DisplayString
}

nbsCmmcSysProtoIndex OBJECT-TYPE
        SYNTAX      Unsigned32
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
                "Protocol number."
        ::= { nbsCmmcSysProtoEntry 1 }

nbsCmmcSysProtoFamily OBJECT-TYPE
        SYNTAX      DisplayString(SIZE(2..16))
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
                "Family of this protocol.

                 The following family names must be used exactly
                 for machine-readability:

                     SONET
                     T-Carrier
                     E-Carrier
                     Ethernet
                     FibreChannel
                     DigitalVideo

                 Other family names may be added as necessary. "
        ::= { nbsCmmcSysProtoEntry 2 }

nbsCmmcSysProtoRate OBJECT-TYPE
        SYNTAX      DisplayString(SIZE(2..60))
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
                "Speeds or rates associated with this protocol."
        ::= { nbsCmmcSysProtoEntry 3 }

--
-- the TimeZone table (SystemGrp 1003-1004)
--

nbsCmmcSysTimeZoneTableSize OBJECT-TYPE
        SYNTAX      Unsigned32
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
                "The number of entries in nbsCmmcSysTimeZoneTable."
        ::= { nbsCmmcSystemGrp 1003 }

nbsCmmcSysTimeZoneTable OBJECT-TYPE
        SYNTAX      SEQUENCE OF NbsCmmcSysTimeZoneEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
                "A table to report supportable timezones."

        ::= { nbsCmmcSystemGrp 1004 }

nbsCmmcSysTimeZoneEntry      OBJECT-TYPE
        SYNTAX      NbsCmmcSysTimeZoneEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
                "Describes a timezone."
        INDEX { nbsCmmcSysTimeZoneIndex }

        ::= { nbsCmmcSysTimeZoneTable 1 }

NbsCmmcSysTimeZoneEntry ::= SEQUENCE {
        nbsCmmcSysTimeZoneIndex  Unsigned32,
        nbsCmmcSysTimeZoneName   DisplayString
}

nbsCmmcSysTimeZoneIndex OBJECT-TYPE
        SYNTAX      Unsigned32
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
                "TimeZone index corresponding to a
                 nbsCmmcSysTimeZone setting.

                 The first entry is reserved for 'notSupported'.

                 The next 25 entries are reserved for GMT-12
                 (gmtMinus1200) through GMT+12 (gmtPlus1200) for
                 compatibility with the older nbsCmmcSysTimeZone
                 enumeration.

                 Entries 27 and up are specific to the system."
        ::= { nbsCmmcSysTimeZoneEntry 1 }

nbsCmmcSysTimeZoneName OBJECT-TYPE
        SYNTAX      DisplayString(SIZE(2..30))
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
                "Name of this timezone."
        ::= { nbsCmmcSysTimeZoneEntry 2 }


--
-- the Loader table (SystemGrp 1010-1011)
--

nbsCmmcSysLoaderTableSize OBJECT-TYPE
        SYNTAX      INTEGER
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
          "The maximum number of concurrent loader sessions."
        ::= { nbsCmmcSystemGrp 1010 }

nbsCmmcSysLoaderTable OBJECT-TYPE
        SYNTAX      SEQUENCE OF NbsCmmcSysLoaderEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
          "A table to manage multiple loader (transfer from NM to blade
           or line card) sessions."

        ::= { nbsCmmcSystemGrp 1011 }

nbsCmmcSysLoaderEntry      OBJECT-TYPE
        SYNTAX      NbsCmmcSysLoaderEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
          "Describes a particular loader session."
        INDEX { nbsCmmcSysLoaderIndex }

        ::= { nbsCmmcSysLoaderTable 1 }

NbsCmmcSysLoaderEntry ::= SEQUENCE {
        nbsCmmcSysLoaderIndex       INTEGER,
        nbsCmmcSysLoaderFileId      INTEGER,
        nbsCmmcSysLoaderProgress    INTEGER,
        nbsCmmcSysLoaderStatus      INTEGER,
        nbsCmmcSysLoaderAbort       INTEGER,
        nbsCmmcSysLoaderAck         INTEGER,
        nbsCmmcSysLoaderFilename    DisplayString
}

nbsCmmcSysLoaderIndex OBJECT-TYPE
        SYNTAX      INTEGER
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
          "Agent-determined session number."
        ::= { nbsCmmcSysLoaderEntry 1 }

nbsCmmcSysLoaderFileId   OBJECT-TYPE
        SYNTAX      INTEGER
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
          "The nbsCmmcSysFirmwareIndex value corresponding to the file
           being loaded."
        ::= { nbsCmmcSysLoaderEntry 2 }

nbsCmmcSysLoaderProgress OBJECT-TYPE
        SYNTAX      INTEGER
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
          "Percentage of file transferred so far."
        ::= { nbsCmmcSysLoaderEntry 3 }

nbsCmmcSysLoaderStatus OBJECT-TYPE
        SYNTAX      INTEGER {
            idle         (1),
            transferring (2),
            completed    (3),
            aborted      (4)
        }
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
          "Status of this file transfer.

           The value idle (1) indicates this loader session is unused.

           The value transferring (2) indicates this transfer is
           underway.

           The value completed (3) indicates this transfer finished
           successfully.

           The value aborted (4) indicates the transfer was stopped
           before completion."

        ::= { nbsCmmcSysLoaderEntry 4 }

nbsCmmcSysLoaderAbort   OBJECT-TYPE
        SYNTAX      INTEGER {
            notSupported (1),
            supported    (2),
            abort        (3)
        }
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION
          "This object allows users to prematurely halt this loader
           session.

           If this loader session can not be aborted, the agent
           will report notSupported(1).

           If nbsCmmcSysLoaderStatus is transferring(2) and this
           feature is supported, the agent will report supported(2).

           When a GET on this object returns supported(2), a user may
           set this object to abort(3).  Doing so will cause the agent
           to stop the transfer and change nbsCmmcSysLoaderStatus to
           aborted(4).  The agent should report the values of
           nbsCmmcSysLoaderFileId and nbsCmmcSysLoaderProgress as the
           state they were in at the time of the abort.

           Please note that aborting a loader session will leave the
           destination memory bank with a corrupted, unusable firmware
           image.  It is important for users to correct this promptly,
           by (re)transferring a good and complete firmware image."

        DEFVAL { notSupported }
        ::= { nbsCmmcSysLoaderEntry 5 }

nbsCmmcSysLoaderAck   OBJECT-TYPE
        SYNTAX      INTEGER {
            notSupported (1),
            supported    (2),
            acknowledge  (3)
        }
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION
          "This object allows users to ACKnowledge the termination of
           this loader session.

           If nbsCmmcSysLoaderStatus is idle(1) or transferring(2), the
           agent will report this object as notSupported(1).

           If nbsCmmcSysLoaderStatus is completed(3) or aborted(4), the
           agent should report supported(2).

           When a GET on this object returns supported(2), a user may
           set this object to acknowledge(3).  Doing so will cause the
           agent to either:
            - delete this entire row of the nbsCmmcSysLoaderTable, or
            - reset this row to its idle state by clearing both
              nbsCmmcSysLoaderFileId and nbsCmmcSysLoaderProgress to
              zero, and changing nbsCmmcSysLoaderStatus to idle(1)."

        DEFVAL { notSupported }
        ::= { nbsCmmcSysLoaderEntry 6 }

nbsCmmcSysLoaderFilename   OBJECT-TYPE
        SYNTAX      DisplayString
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
          "A copy of nbsCmmcSysFirmwareFilename, for display."
        ::= { nbsCmmcSysLoaderEntry 7 }

--
-- FirmwareURL objects (SystemGrp 1020-1021)
-- belongs with FirmwareTable, but thats by itself at SystemGrp 19
--

nbsCmmcSysFirmwareURL OBJECT-TYPE
        SYNTAX      DisplayString(SIZE(0..255))
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION
          "Remote URL in the form:

           scheme://[username[:password]@]IP[:port][/path/]filename

           to use for the remote entry in FirmwareTable. When set, the
           remote URL will be retrieved and checked for compatability.
           If it is a valid firmware file, a row in FirmwareTable will
           be instantiated to represent this file. The corresponding
           FirmwareFilename will be set to the URL, and FirmwareType
           set accordingly.

           The file may or not be cached locally if this row is chosen
           for a Chassis or SlotFirmwareLoad. If the user has changed
           the remote file after FirmwareURL is set, but before a
           Chassis or SlotFirmwareLoad is initiated, the results are
           undefined.

           If the remote file has changed, setting this object again
           will 'refresh' its FirmwareTable entry.

           If a zero length string is set, the corresponding
           FirmwareType in the FirmwareTable row will be changed to
           'deleted', and any local cache of the file deleted.

           If an invalid URL is set, or the remote file is invalid or
           does not exist, the corresponding FirmwareTable row will be
           changed to 'deleted'.

           If port is omitted, an appropriate port according to the
           scheme will be automatically selected

           Note that only numeric IPs are supported; there is no
           resolver.

           If a remote file fetch is in progress, or any Chassis or
           SlotFirmwareLoad involving a remote URL is in progress, sets
           to this object will be rejected.

           This object is not stored in the running configuration. It
           is an 'impulse' object."

        ::= { nbsCmmcSystemGrp 1020 }

nbsCmmcSysFirmwareURLStatus OBJECT-TYPE
        SYNTAX      INTEGER {
            notSupported (1),
            idle         (2),
            transferring (3),
            completed    (4),
            failed       (5)
        }
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
          "The state of the URL fetch process initiated by
           a write to SysFirmwareURL. Setting the Chassis or
           SlotFirmwareLoad object to the URL index will be rejected
           unless this object returns completed(4)."

        ::= { nbsCmmcSystemGrp 1021 }


--
-- the NVArea table (SystemGrp 3000-3001)
--

nbsCmmcSysNVAreaTableSize OBJECT-TYPE
        SYNTAX      INTEGER
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
          "The number of non-volatile firmware flash image areas system wide"

        ::= { nbsCmmcSystemGrp 3000 }

nbsCmmcSysNVAreaTable OBJECT-TYPE
        SYNTAX      SEQUENCE OF NbsCmmcSysNVAreaEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
          "Table that lists firmware images loaded on a chassis, slot, or
           port."

        ::= { nbsCmmcSystemGrp 3001 }

nbsCmmcSysNVAreaEntry      OBJECT-TYPE
        SYNTAX      NbsCmmcSysNVAreaEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
          "Description of a firmware image"

        INDEX { nbsCmmcSysNVAreaIfIndex, nbsCmmcSysNVAreaBank }
        ::= { nbsCmmcSysNVAreaTable 1 }

NbsCmmcSysNVAreaEntry ::= SEQUENCE {
        nbsCmmcSysNVAreaIfIndex        InterfaceIndex,
        nbsCmmcSysNVAreaBank           INTEGER,
        nbsCmmcSysNVAreaStatus         INTEGER,
        nbsCmmcSysNVAreaDescr          DisplayString,
        nbsCmmcSysNVAreaVersion        DisplayString,
        nbsCmmcSysNVAreaCksum          Unsigned32
}

nbsCmmcSysNVAreaIfIndex OBJECT-TYPE
        SYNTAX      InterfaceIndex (100000..9999999)
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
          "Interface index in the form CCSSPPP"

        ::= { nbsCmmcSysNVAreaEntry 1 }

nbsCmmcSysNVAreaBank  OBJECT-TYPE
        SYNTAX      INTEGER
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
          "Number of this memory bank / storage area.  Numbering must
           start from one, and bank numbers must be contiguous."
        ::= { nbsCmmcSysNVAreaEntry 2 }

nbsCmmcSysNVAreaStatus OBJECT-TYPE
        SYNTAX      INTEGER {
                invalid (1),
                primary (2),
                backup  (3),
                erased  (4),
                busy    (5)
        }
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
          "invalid(1) indicates this entry is not a valid NV area.

           primary(2) indicates this entry is the primary NV area. The
           next time the hardware is reset, this image will be loaded.
           This setting may be changed via nbsCmmcChassisNVAreaAdmin
           or nbsCmmcSlotNVAreaAdmin.

           backup(3) indicates this entry is the backup NV area. The next time
           the hardware is reset, this image will be loaded if the primary
           image fails to load.  This image is subject to being overwritten if
           a new image is downloaded and there are no other banks available.

           erased(4) indicates this entry refers to an area that was erased and
           is no longer in the NV storage area.

           busy(5) indicates this NV area is busy."

        ::= { nbsCmmcSysNVAreaEntry 3 }

nbsCmmcSysNVAreaDescr OBJECT-TYPE
        SYNTAX      DisplayString(SIZE(0..255))
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
          "Description of firmware image"

        ::= { nbsCmmcSysNVAreaEntry 4 }

nbsCmmcSysNVAreaVersion OBJECT-TYPE
        SYNTAX      DisplayString(SIZE(0..255))
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
          "The version of the firmware package"

        ::= { nbsCmmcSysNVAreaEntry 5 }

nbsCmmcSysNVAreaCksum OBJECT-TYPE
        SYNTAX      Unsigned32 (0..4294967295)
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
          "The checksum of the metadata. Used to uniquely identify this NV
           area. Invalid NV areas have a zero Cksum.

           Not supported value: 0"

        ::= { nbsCmmcSysNVAreaEntry 6 }


-- ********************************************************************
-- IpSnmp Group
-- ********************************************************************
nbsCmmcIpCfg               OBJECT IDENTIFIER ::= { nbsCmmcIpSnmpGrp 1 }
nbsCmmcSnmpCfg             OBJECT IDENTIFIER ::= { nbsCmmcIpSnmpGrp 2 }

nbsCmmcPrvIpAddr    OBJECT-TYPE
        SYNTAX      IpAddress
        MAX-ACCESS  read-write
        STATUS      deprecated
        DESCRIPTION
                "The SNMP Agent Administrative value of the IP Address
                 for the private in-band access.

                 This value is stored in the system NVRAM.
                 The current operational IP Address may be obtained by
                 accessing the ipAdEntAddr entry in the ipAddrTable,
                 for ipAdEntIfIndex equal to the private interface
                 value.

                 If the system has no current operational IP Address,
                 meaning that, the access is done out-of-band, then
                 this value takes effect immediately. In this case the
                 NetMask and the BcastAddr will be automatically built.
                 Otherwise it will take effect after a system reset."

        ::= { nbsCmmcIpCfg 1 }

nbsCmmcPrvNetMask    OBJECT-TYPE
        SYNTAX      IpAddress
        MAX-ACCESS  read-write
        STATUS      deprecated
        DESCRIPTION
                "The SNMP Agent Administrative value of the subnet mask
                 for the private in-band access.

                 This value is stored in the system NVRAM.
                 The current operational IP Adress may be obtained by
                 accessing the ipAdEntNetMask entry in the ipAddrTable,
                 for ipAdEntIfIndex equal to the private interface
                 value.

                 If the system has no current operational IP Address,
                 meaning that the access is done out-of-band, then this
                 value takes effect immediately.
                 Otherwise it will take effect after a system reset"

        ::= { nbsCmmcIpCfg 2 }

nbsCmmcPrvBcastAddr    OBJECT-TYPE
        SYNTAX      IpAddress
        MAX-ACCESS  read-write
        STATUS      deprecated
        DESCRIPTION
                "The SNMP Agent Administrative value of the IP Broad-
                 cast Address for the private in-band access.

                 This value is stored in the system NVRAM.
                 The current operational IP Adress may be obtained via
                 the ipAdEntBcastAddr entry in the ipAddrTable for
                 ipAdEntIfIndex equal to the private interface value.

                 If the system has no current operational IP Address,
                 meaning that the access is done out-of-band, then this
                 value takes effect immediately.
                 Otherwise it will take effect after a system reset"

        ::= { nbsCmmcIpCfg 3 }


nbsCmmcSysIpAddr    OBJECT-TYPE
        SYNTAX      IpAddress
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION
                "The SNMP Agent Administrative value of the IP Address
                 for the system.

                 This value is stored in the system NVRAM.
                 The current operational IP Adress may be obtained by
                 accessing the ipAdEntAddr entry in the ipAddrTable for
                 ipAdEntIfIndex equal to the system interface value.

                 If the system has no current operational IP Address,
                 meaning that the access is done out-of-band, then this
                 value takes effect immediately. In this case the
                 NetMask and the BcastAddr will be automatically built.
                 Otherwise it will take effect after a system reset."

        ::= { nbsCmmcIpCfg 4 }

nbsCmmcSysNetMask    OBJECT-TYPE
        SYNTAX      IpAddress
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION
                "The SNMP Agent Administrative value of the subnet mask
                 for the system.

                 This value is stored in the system NVRAM.
                 The current operational IP Adress may be obtained by
                 accessing the ipAdEntNetMask entry in the ipAddrTable
                 for ipAdEntIfIndex equal to the system interface value

                 If the system has no current operational IP Address,
                 meaning that the access is done out-of-band, then this
                 value takes effect immediately.
                 Otherwise it will take effect after a system reset"

        ::= { nbsCmmcIpCfg 5 }

nbsCmmcSysBcastAddr    OBJECT-TYPE
        SYNTAX      IpAddress
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION
              "The SNMP Agent Administrative value of the IP Broadcast
               Address for the system.

               This value is stored in the system NVRAM.
               The current operational IP Adress may be obtained by
               accessing the ipAdEntBcastAddr entry in the ipAddrTable
               for ipAdEntIfIndex equal to the system interface value.

               If the system has no current operational IP Address,
               meaning that the access is done out-of-band, then this
               value takes effect immediately.
               Otherwise it will take effect after a system reset"

        ::= { nbsCmmcIpCfg 6 }

nbsCmmcSysObIpAddr    OBJECT-TYPE
        SYNTAX      IpAddress
        MAX-ACCESS  read-write
        STATUS      deprecated
        DESCRIPTION
                "The SNMP Agent Administrative value of the IP Address
                 for the out-band access.

                 This value is stored in the system NVRAM.
                 The current operational IP Adress may be obtained by
                 accessing the ipAdEntAddr entry in the ipAddrTable,
                 for ipAdEntIfIndex equal to the SLIP interface value.

                 If the system has no current operational Out-Band IP
                 Address, meaning that, the access is done in-band,
                 then this value takes effect immediately. In this
                 case the NetMask and the  BcastAddr will be automa-
                 tically built.
                 Otherwise it will take effect after a system reset"

        ::= { nbsCmmcIpCfg 7 }

nbsCmmcSysObNetMask    OBJECT-TYPE
        SYNTAX      IpAddress
        MAX-ACCESS  read-write
        STATUS      deprecated
        DESCRIPTION
                "The SNMP Agent Administrative value of the subnet mask
                 for the out-band access.

                 This value is stored in the system NVRAM.
                 The current operational IP Adress may be obtained by
                 accessing the ipAdEntNetMask entry in the ipAddrTable,
                 for ipAdEntIfIndex equal to the SLIP interface value.

                 If the system has no current operational Out-Band IP
                 Address, meaning that, the access is done in-band,
                 then this value  takes effect immediately.
                 Otherwise it will take effect after a system reset"

        ::= { nbsCmmcIpCfg 8 }

nbsCmmcSysObBcastAddr           OBJECT-TYPE
        SYNTAX      IpAddress
        MAX-ACCESS  read-write
        STATUS      deprecated
        DESCRIPTION
             "The SNMP Agent Administrative value of the IP Broadcast
              Address for the in-band access.

              This value is stored in the system NVRAM.
              The current operational IP Adress may be obtained by
              accessing the ipAdEntBcastAddr entry in the ipAddrTable,
              for ipAdEntIfIndex equal to the SLIP interface value.

              If the system has no current operational Out-Band IP
              Address, meaning that, the access is done in-band, then
              this value takes effect immediately.
              Otherwise it will take effect after a system reset"

        ::= { nbsCmmcIpCfg 9 }

nbsCmmcSysDefaultGateway        OBJECT-TYPE
        SYNTAX      IpAddress
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION
           "The SNMP Agent Administrative value of the Default Gateway.

            This value is stored in the system NVRAM.
            The current operational Default Gateway IP Adress may be
            obtained by accessing ipRouteNextHop object of the 0.0.0.0
            entry in the ipRouteTable.

            If the system has no current operational Default Gateway
            IP Address, then this value takes effect immediately.
            Otherwise it will take effect after a system reset."

        ::= { nbsCmmcIpCfg 10 }

nbsCmmcSysAdminBootpState   OBJECT-TYPE
        SYNTAX      INTEGER {
                disabled(1),
                enabled (2)
        }
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION
                "This object indicates whether the NM should
                 automatically retrieve its IP settings from its local
                 network using BootP or DHCP.

                 This setting will be stored in persistent memory, and
                 thus preserved over system resets and power cycles."

        ::= { nbsCmmcIpCfg 11 }

nbsCmmcSysRunBootpState   OBJECT-TYPE
        SYNTAX      INTEGER {
                disabled(1),
                enabled (2)
        }
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
              "This object indicates whether BootP or DHCP was enabled
               when the NM last booted."

        ::= { nbsCmmcIpCfg 12 }

nbsCmmcSysSerialLineMode    OBJECT-TYPE
        SYNTAX      INTEGER{
           adminIf(1),-- serial line is in Terminal Administrative Mode
           slipIf (2) -- serial line is in SLIP mode
        }
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION
            "The mode in which the serial line is used:
             by the local Administrative Interface, or as a SLIP line.
             Note that setting this object to adminIf(1) value while
             in SLIP mode will abort the serial connection between the
             SNMP Manager and the device.
             Setting this object to slipIf(2) while in Administrative
             Interface Mode will abort the local terminal connection."

        ::= { nbsCmmcIpCfg 13 }

nbsCmmcSysSerialSlipBaudRate     OBJECT-TYPE
        SYNTAX      INTEGER{
                b9600  (1),     -- baud rate is  9600
                b19200 (2),     -- baud rate is 19200
                b38400 (3)      -- baud rate is 38400
        }
        MAX-ACCESS  read-write
        STATUS      deprecated
        DESCRIPTION
             "The Serial Line Baud Rate when in SLIP Mode.
              This value is stored in the system NVRAM as well as in
              the SNMP Agent current configuration."

        ::= { nbsCmmcIpCfg 14 }

nbsCmmcSysArpAgingTime  OBJECT-TYPE
        SYNTAX      INTEGER (0..1000000)
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
                "The aging time for the ARP table."

        ::= { nbsCmmcIpCfg 15 }

--
-- Telnet Sessions Description
--

nbsCmmcSysMaxTelnetSessions  OBJECT-TYPE
        SYNTAX      INTEGER
        MAX-ACCESS  read-only
        STATUS      deprecated
        DESCRIPTION
             "The maximum number of entries in nbsCmmcSysTelnetTable."

        ::= { nbsCmmcIpCfg 16 }

nbsCmmcSysTelnetTable  OBJECT-TYPE
        SYNTAX      SEQUENCE OF NbsCmmcSysTelnetEntry
        MAX-ACCESS  not-accessible
        STATUS      deprecated
        DESCRIPTION
                "A table describing the Telnet Sessions"

        ::= { nbsCmmcIpCfg 17 }

nbsCmmcSysTelnetEntry  OBJECT-TYPE
        SYNTAX      NbsCmmcSysTelnetEntry
        MAX-ACCESS  not-accessible
        STATUS      deprecated
        DESCRIPTION
                "Contains the information describing a
                 Telnet Session"
        INDEX { nbsCmmcSysTelnetSessionIndex }

        ::= { nbsCmmcSysTelnetTable 1 }

NbsCmmcSysTelnetEntry ::= SEQUENCE {

        nbsCmmcSysTelnetSessionIndex        INTEGER,
        nbsCmmcSysTelnetSessionStat         INTEGER,
        nbsCmmcSysTelnetHost                IpAddress,
        nbsCmmcSysTelnetHostPort            INTEGER,
        nbsCmmcSysTelnetLocal               IpAddress,
        nbsCmmcSysTelnetLocalPort           INTEGER,
        nbsCmmcSysTelnetSessionId           INTEGER,
        nbsCmmcSysTelnetConnectTime         DisplayString,
        nbsCmmcSysTelnetHostAddressType     InetAddressType,
        nbsCmmcSysTelnetHostAddress         InetAddress,
        nbsCmmcSysTelnetLocalAddressType    InetAddressType,
        nbsCmmcSysTelnetLocalAddress        InetAddress
}

nbsCmmcSysTelnetSessionIndex     OBJECT-TYPE
        SYNTAX      INTEGER
        MAX-ACCESS  read-only
        STATUS      deprecated
        DESCRIPTION
                "The index in the Telnet Table for this entry."

        ::= { nbsCmmcSysTelnetEntry 1 }

nbsCmmcSysTelnetSessionStat     OBJECT-TYPE
        SYNTAX      INTEGER{
                connected   (1),-- a  TELNET session is in process
                disconnect  (2) -- no TELNET session is in process
        }
        MAX-ACCESS  read-only
        STATUS      deprecated
        DESCRIPTION
              "This object indicates if there is any TELNET session in
               progress."

        ::= { nbsCmmcSysTelnetEntry 2 }

nbsCmmcSysTelnetHost    OBJECT-TYPE
        SYNTAX      IpAddress
        MAX-ACCESS  read-only
        STATUS      deprecated
        DESCRIPTION
             "This object indicates the remote IP host that connected
              to the local device. It is 0.0.0.0 if there is no active
              Telnet session"

        ::= { nbsCmmcSysTelnetEntry 3 }

nbsCmmcSysTelnetHostPort    OBJECT-TYPE
        SYNTAX      INTEGER
        MAX-ACCESS  read-only
        STATUS      deprecated
        DESCRIPTION
                "This object indicates the port number of the remote IP
                 host."

        ::= { nbsCmmcSysTelnetEntry 4 }

nbsCmmcSysTelnetLocal    OBJECT-TYPE
        SYNTAX      IpAddress
        MAX-ACCESS  read-only
        STATUS      deprecated
        DESCRIPTION
             "This object indicates the IP address of the local device.
              It is 0.0.0.0 if there is no active Telnet session"

        ::= { nbsCmmcSysTelnetEntry 5 }

nbsCmmcSysTelnetLocalPort    OBJECT-TYPE
        SYNTAX      INTEGER
        MAX-ACCESS  read-only
        STATUS      deprecated
        DESCRIPTION
                "This object indicates the local port number."

        ::= { nbsCmmcSysTelnetEntry 6 }

nbsCmmcSysTelnetSessionId     OBJECT-TYPE
        SYNTAX      INTEGER
        MAX-ACCESS  read-only
        STATUS      deprecated
        DESCRIPTION
                "The internal session identifier for this entry."

        ::= { nbsCmmcSysTelnetEntry 7 }

nbsCmmcSysTelnetConnectTime    OBJECT-TYPE
        SYNTAX      DisplayString(SIZE(0..255))
        MAX-ACCESS  read-only
        STATUS      deprecated
        DESCRIPTION
                "This object indicates the length of time connected."

        ::= { nbsCmmcSysTelnetEntry 8 }

nbsCmmcSysTelnetHostAddressType    OBJECT-TYPE
        SYNTAX      InetAddressType
        MAX-ACCESS  read-only
        STATUS      deprecated
        DESCRIPTION
                "This object indicates the remote host address type."
        ::= { nbsCmmcSysTelnetEntry 9 }

nbsCmmcSysTelnetHostAddress    OBJECT-TYPE
        SYNTAX      InetAddress
        MAX-ACCESS  read-only
        STATUS      deprecated
        DESCRIPTION
                "This object indicates the remote host address, IPv4
                or IPv6. This field supercedes nbsCmmcSysTelnetHost"
        ::= { nbsCmmcSysTelnetEntry 10 }

nbsCmmcSysTelnetLocalAddressType    OBJECT-TYPE
        SYNTAX      InetAddressType
        MAX-ACCESS  read-only
        STATUS      deprecated
        DESCRIPTION
                "This object indicates the local host address type."
        ::= { nbsCmmcSysTelnetEntry 11 }

nbsCmmcSysTelnetLocalAddress    OBJECT-TYPE
        SYNTAX      InetAddress
        MAX-ACCESS  read-only
        STATUS      deprecated
        DESCRIPTION
                "This object indicates the local host address, IPv4
                or IPv6. This field supercedes nbsCmmcSysTelnetLocal"
        ::= { nbsCmmcSysTelnetEntry 12 }

--
-- Ping Sessions Description
--

nbsCmmcSysMaxPingSessions  OBJECT-TYPE
        SYNTAX      INTEGER
        MAX-ACCESS  read-only
        STATUS      deprecated
        DESCRIPTION
                "The maximum number of Ping Sessions allowed in this
                 system."

        ::= { nbsCmmcIpCfg 18 }

nbsCmmcSysPingTable  OBJECT-TYPE
        SYNTAX      SEQUENCE OF NbsCmmcSysPingEntry
        MAX-ACCESS  not-accessible
        STATUS      deprecated
        DESCRIPTION
                "A table describing the Ping Sessions"

        ::= { nbsCmmcIpCfg 19 }

nbsCmmcSysPingEntry  OBJECT-TYPE
        SYNTAX      NbsCmmcSysPingEntry
        MAX-ACCESS  not-accessible
        STATUS      deprecated
        DESCRIPTION
                "Contains the information describing a Ping Session"

        INDEX { nbsCmmcSysPingSessionIndex }

        ::= { nbsCmmcSysPingTable 1 }

NbsCmmcSysPingEntry ::= SEQUENCE {
        nbsCmmcSysPingSessionIndex  INTEGER,
        nbsCmmcSysPingSessionStat   INTEGER,
        nbsCmmcSysPingAddr          IpAddress,
        nbsCmmcSysPingNumber        Counter32,
        nbsCmmcSysPingOwner         INTEGER,
        nbsCmmcSysPingRequests      Counter32,
        nbsCmmcSysPingResponses     Counter32,
        nbsCmmcSysPingAddressType   InetAddressType,
        nbsCmmcSysPingAddress       InetAddress
}

nbsCmmcSysPingSessionIndex  OBJECT-TYPE
        SYNTAX      INTEGER
        MAX-ACCESS  read-only
        STATUS      deprecated
        DESCRIPTION
                "Index in the Ping Session Table."

         ::= { nbsCmmcSysPingEntry 1 }

nbsCmmcSysPingSessionStat       OBJECT-TYPE
        SYNTAX      INTEGER{
                idlePing   (1),
                runPing    (2)
        }
        MAX-ACCESS  read-write
        STATUS      deprecated
        DESCRIPTION
                "This object controls the activity of the PING process
                 progress.
                 If GET idlePing(1) shows that the ping process is idle
                 If SET idlePing(1) stops an active ping process, if
                 any.

                 If GET runPing(2) shows  an active ping process.
                 If SET runPing(2) starts an active ping process, if
                 none active.
                 This has to be the last SET in order to activate the
                 PING process"

         ::= { nbsCmmcSysPingEntry 2 }

nbsCmmcSysPingAddr OBJECT-TYPE
        SYNTAX      IpAddress
        MAX-ACCESS  read-write
        STATUS      deprecated
        DESCRIPTION
                "The IP Address to which the NM device will ping.
                 Setting this variable initiates the ping sequence.
                 The default value is the loopback address 127.0.0.1."
        DEFVAL { '7F000001'h }
        ::= { nbsCmmcSysPingEntry 3 }

nbsCmmcSysPingNumber OBJECT-TYPE
        SYNTAX      Counter32
        MAX-ACCESS  read-write
        STATUS      deprecated
        DESCRIPTION
                "The number of ICMP echo packets (pings) to be sent.
                The default value is 1."

        ::= { nbsCmmcSysPingEntry 4 }

nbsCmmcSysPingOwner OBJECT-TYPE
        SYNTAX      INTEGER {
                none          (1),
                adminInterface(2),
                snmpAgent     (3),
                webManager    (4)
        }
        MAX-ACCESS  read-only
        STATUS      deprecated
        DESCRIPTION
                "If a Ping Process is active, then the value of this
                 object shows who activated it: the Administrative
                 Interface, the SNMP Agent or a Web Based Manager."

        ::= { nbsCmmcSysPingEntry 5 }

nbsCmmcSysPingRequests OBJECT-TYPE
        SYNTAX      Counter32
        MAX-ACCESS  read-only
        STATUS      deprecated
        DESCRIPTION
                "The number of ICMP echo request (pings) sent."

        ::= { nbsCmmcSysPingEntry 6 }

nbsCmmcSysPingResponses OBJECT-TYPE
        SYNTAX      Counter32
        MAX-ACCESS  read-only
        STATUS      deprecated
        DESCRIPTION
                "The number of ICMP echo response packets received."

        ::= { nbsCmmcSysPingEntry 7 }

nbsCmmcSysPingAddressType OBJECT-TYPE
        SYNTAX      InetAddressType
        MAX-ACCESS  read-write
        STATUS      deprecated
        DESCRIPTION
                "The IP Address to which the NM device will ping.
                 Setting this variable initiates the ping sequence.
                 The default value is the loopback address 127.0.0.1."
        DEFVAL { unknown }
        ::= { nbsCmmcSysPingEntry 8 }

nbsCmmcSysPingAddress OBJECT-TYPE
        SYNTAX      InetAddress
        MAX-ACCESS  read-write
        STATUS      deprecated
        DESCRIPTION
                "The IP Address to which the NM device will ping.
                 Setting this variable initiates the ping sequence.
                 The default value is the loopback address 127.0.0.1.
                 Supercedes the field nbsCmmcSysPingAddr"
        ::= { nbsCmmcSysPingEntry 9 }

nbsCmmcSysTelnetServer OBJECT-TYPE
        SYNTAX      INTEGER {
                notSupported (1),
                disabled     (2),
                enabled      (3)
        }
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION
            "The telnet server ships disabled by default on the NM2.
             Not supported means that the telnet server status cannot
             be changed from SNMP."
        DEFVAL { disabled }
        ::= { nbsCmmcIpCfg 20 }

nbsCmmcSysSshServer OBJECT-TYPE
        SYNTAX      INTEGER {
                notSupported (1),
                disabled     (2),
                enabled      (3)
        }
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION
            "The ssh server ships enabled by default on the NM2.
             Not supported means that the ssh server status cannot
             be changed from SNMP."
        DEFVAL { enabled }
        ::= { nbsCmmcIpCfg 21 }

nbsCmmcSysIpAddrOper    OBJECT-TYPE
        SYNTAX      IpAddress
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
                "The IP address actually being used by the Agent.

                 The Agent's IP address may be assigned automatically
                 by a bootp or DHCP server, or a static IP may be
                 assigned via the nbsCmmcSysIpAddr object."
        ::= { nbsCmmcIpCfg 22 }

nbsCmmcSysNetMaskOper    OBJECT-TYPE
        SYNTAX      IpAddress
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
                "The subnet mask actually being used by the Agent.

                 The Agent's subnet mask may be assigned automatically
                 by a bootp or DHCP server, or may be
                 assigned via the nbsCmmcSysNetMask object."
        ::= { nbsCmmcIpCfg 23 }

nbsCmmcSysBcastAddrOper    OBJECT-TYPE
        SYNTAX      IpAddress
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
                "The IP Broadcast address actually being used by the Agent.

                 The Agent's IP Broadcast address may be assigned automatically
                 by a bootp or DHCP server, or may be
                 assigned via the nbsCmmcSysBcastAddr object."
        ::= { nbsCmmcIpCfg 24 }

nbsCmmcSysDefaultGatewayOper  OBJECT-TYPE
        SYNTAX      IpAddress
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
                "The Default Gateway actually being used by the Agent.

                 The Agent's Default Gateway may be assigned automatically
                 by a bootp or DHCP server, or may be
                 assigned via the nbsCmmcSysBcastAddr object."
        ::= { nbsCmmcIpCfg 25 }


nbsCmmcSysWebServer OBJECT-TYPE
        SYNTAX      INTEGER {
                notSupported (1),
                disabled     (2),
                enabled      (3)
        }
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION
            "The web server ships enabled by default on the NM2.
             Not supported means that the web server status cannot
             be changed from SNMP."
        DEFVAL { disabled }
        ::= { nbsCmmcIpCfg 26 }

nbsCmmcSysWebPort    OBJECT-TYPE
        SYNTAX      INTEGER (1..65535)
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION
            "The TCP/UDP/IP port the Agent will listen on for web
            (HTTP) traffic when nbsCmmcSysWebServer is enabled(3).

            Not supported value: -1"
        DEFVAL { 80 }
        ::= { nbsCmmcIpCfg 27 }

nbsCmmcSysTelnetPort    OBJECT-TYPE
        SYNTAX      INTEGER (1..65535)
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION
            "The TCP/IP port the Agent will listen on for Telnet
             traffic when nbsCmmcSysTelnetServer is enabled(3).

             Not supported value: -1"
        DEFVAL { 23 }
        ::= { nbsCmmcIpCfg 28 }

nbsCmmcSysSshPort    OBJECT-TYPE
        SYNTAX      INTEGER (1..65535)
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION
            "The TCP/UDP/IP port the Agent will listen on for Secure
             Shell (SSH) traffic if nbsCmmcSysSshServer is enabled(3).

             Not supported value: -1"
        DEFVAL { 22 }
        ::= { nbsCmmcIpCfg 29 }

nbsCmmcSysScpServer OBJECT-TYPE
        SYNTAX      INTEGER {
                notSupported (1),
                disabled     (2),
                enabled      (3)
        }
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION
            "The Secure Copy Protocol (SCP) server ships disabled by
             default on the NM2.  This feature shares nbsCmmcSysSshPort
             with SSH, and will not work unless nbsCmmcSysSshServer is
             enabled(3).

             Not supported means that the scp server status cannot
             be changed from SNMP."
        DEFVAL { disabled }
        ::= { nbsCmmcIpCfg 30 }


--
-- SNMP Configuration Parameters
--

nbsCmmcSysWriteCommunity   OBJECT-TYPE
        SYNTAX      DisplayString (SIZE (0..255))
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION
            "The SNMP Agent Administrative value of the write community
             string. This value is stored in the system NVRAM.
             It will take effect after a system reset.
             The object may not be read for obvious security reasons.
             A GET request will be answered by a zero length string."
        DEFVAL { "private" }

        ::= { nbsCmmcSnmpCfg 1 }

nbsCmmcSysReadCommunity    OBJECT-TYPE
        SYNTAX      DisplayString (SIZE (0..255))
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION
            "The SNMP Agent Administrative value of the read community
             string. This value is stored in the system NVRAM.
             It will take effect after a system reset"
        DEFVAL { "public" }

        ::= { nbsCmmcSnmpCfg 2 }


--
-- Trap receiver table
--

nbsCmmcSysTrapTblMaxSize    OBJECT-TYPE
        SYNTAX      INTEGER
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
          "The maximum size (number of rows) allowed in the trap table"

        ::= { nbsCmmcSnmpCfg 3 }

nbsCmmcSysTrapTable OBJECT-TYPE
        SYNTAX      SEQUENCE OF NbsCmmcSysTrapEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
          "A table of managers to whom will the traps generated by the
           SNMP agent will be sent.
           It represents the current operational table as well as the
           NVRAM saved table. The entries in the table are saved over
           system resets and power up cycles"

        ::= { nbsCmmcSnmpCfg 4 }

nbsCmmcSysTrapEntry      OBJECT-TYPE
        SYNTAX      NbsCmmcSysTrapEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
           "Contains the information necessary to generate a trap to be
            sent to a particular manager.

            The object nbsCmmcSysTrapTblEntStatus, when written is used
            to create or delete an entry/row in nbsCmmcSysTrapTable. To
            create a new entry a SET PDU with the
            nbsCmmcSysTrapTblEntRecipient, nbsCmmcSysTrapTblEntComm and
            nbsCmmcSysTrapTblEntStatus objects is required."
        INDEX { nbsCmmcSysTrapTblEntIndex }

        ::= { nbsCmmcSysTrapTable 1 }

NbsCmmcSysTrapEntry ::= SEQUENCE {
        nbsCmmcSysTrapTblEntIndex       INTEGER,
        nbsCmmcSysTrapTblEntStatus      INTEGER,
        nbsCmmcSysTrapTblEntIpAddr      IpAddress,
        nbsCmmcSysTrapTblEntComm        DisplayString,
        nbsCmmcSysTrapTblEntLevel       INTEGER,
        nbsCmmcSysTrapTblEntPort        INTEGER,
        nbsCmmcSysTrapTblEntAddressType InetAddressType,
        nbsCmmcSysTrapTblEntRecipient   InetAddress
}

nbsCmmcSysTrapTblEntIndex   OBJECT-TYPE
        SYNTAX      INTEGER
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "The index of the entry/row in the trap table in the range
             1 to the value of nbsCmmcSysTrapTblMaxSize."

        ::= { nbsCmmcSysTrapEntry 1 }

nbsCmmcSysTrapTblEntStatus  OBJECT-TYPE
        SYNTAX      INTEGER {
                invalid(1),     -- an invalidated entry
                active (2)      -- an active entry describing a manager
        }
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION
          "This object is used to get/set the validity of the
           information contained by nbsCmmcSysTrapEntry row.

           Setting this object to the value invalid(1) has the effect
           of deleting the corresponding nbsCmmcSysTrapTable entry.
           Deleting and entry has the effect of initializing it to
           default values : IpAddr = 0.0.0.0 & Comm = null string.

           Setting this object to the value valid(2) entry has the
           effect of creating a new row in the nbsCmmcSysTrapTable
           object, if an entry with the same nbsCmmcSysTrapTblEntIpAddr
           does not exist. If such an entry exists, then a 'badValue'
           error will be returned.

           The GET operations will receive a value of valid(2) for
           existing entries. An invalid(1) value indicates an entry
           that was deleted by a previous SET operation."

        ::= { nbsCmmcSysTrapEntry 2 }

nbsCmmcSysTrapTblEntIpAddr  OBJECT-TYPE
        SYNTAX      IpAddress
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION
                "IPv4 Address of a manager that is to receive the SNMP
                 agent traps. This field is now read-only and is superseded
                 CmmcSysTrapTblEntRecipient"

        ::= { nbsCmmcSysTrapEntry 3 }

nbsCmmcSysTrapTblEntComm    OBJECT-TYPE
        SYNTAX      DisplayString(SIZE(0..255))
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION
                "Community string used by the SNMP agent in the traps
                 generated to this SNMP manager/receiver."
        DEFVAL { "public" }

        ::= { nbsCmmcSysTrapEntry 4 }

nbsCmmcSysTrapTblEntLevel    OBJECT-TYPE
        SYNTAX      INTEGER {
                disabled    (1),
                fatal       (2),
                error       (3),
                warning     (4),
                deprecated5 (5),
                deprecated6 (6),
                alarm       (7)
        }
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION
                "Event severity level threshold for this SNMP manager.
                 If the event severity level is at least
                 nbsCmmcSysTrapTblEntLevel, the SNMP agent will
                 generate a trap to this SNMP manager/receiver."
        DEFVAL { warning }

        ::= { nbsCmmcSysTrapEntry 5 }

nbsCmmcSysTrapTblEntPort    OBJECT-TYPE
        SYNTAX      INTEGER (1..65535)
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION
            "The UDP/IP port on the Manager to which the Agent will send
             SNMP traps/notifications.

             Not supported value: -1"
        DEFVAL { 162 }

        ::= { nbsCmmcSysTrapEntry 6 }

nbsCmmcSysTrapTblEntAddressType OBJECT-TYPE
        SYNTAX      InetAddressType
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION
                "The address type of nbsCmmcSysTrapTblEntRecipient.
                 Currently ipv4 and ipv6 are supported."
        DEFVAL { unknown }
        ::= { nbsCmmcSysTrapEntry 7 }

nbsCmmcSysTrapTblEntRecipient    OBJECT-TYPE
        SYNTAX      InetAddress
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION
                "IP Address (IPv4 or IPv6) or hostname of a manager that is to
                 receive the SNMP agent generated traps; supersedes
                 nbsCmmcSysTrapTblEntIpAddr"
        ::= { nbsCmmcSysTrapEntry 8 }

--
-- Specific traps configuration
--

nbsCmmcSysEnablePowerSupplyTraps OBJECT-TYPE
        SYNTAX      INTEGER {
           disabled(1),    -- power supply trap generation is disabled
           enabled (2)     -- power supply trap generation is enabled
        }
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION
                "Indicates whether powerSupplyAllarmOn
                 and powerSupplyAllarmOff traps in this MIB should be
                 generated."
        DEFVAL { enabled }

        ::= { nbsCmmcSnmpCfg 11 }

nbsCmmcSysEnableModuleTraps OBJECT-TYPE
        SYNTAX      INTEGER {
              disabled(1),      -- module trap generation is disabled
              enabled (2)       -- module trap generation is enabled
        }
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION
                "Indicates whether moduleUp and moduleDown
                 traps in this MIB should be generated."
        DEFVAL { enabled }

        ::= { nbsCmmcSnmpCfg 12 }

nbsCmmcSysEnableBridgeTraps OBJECT-TYPE
        SYNTAX      INTEGER {
              disabled(1),      -- bridge trap generation is disabled
              enabled (2)       -- bridge trap generation is enabled
        }
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION
                "Indicates whether newRoot and topologyChange
                 traps in the BRIDGE-MIB should be generated."
        DEFVAL { enabled }

        ::= { nbsCmmcSnmpCfg 13 }

nbsCmmcSysEnableIpAccessTraps OBJECT-TYPE
        SYNTAX      INTEGER {
              disabled(1),    -- IP Access trap generation is disabled
              enabled (2)     -- IP Access trap generation is enabled
        }
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION
                "Indicates whether IP access traps in this MIB should
                 be generated."
        DEFVAL { enabled }

        ::= { nbsCmmcSnmpCfg 14 }

nbsCmmcSysSnmpPortAdmin    OBJECT-TYPE
        SYNTAX      INTEGER (1..65535)
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION
            "The UDP/IP port the Agent will listen on for SNMP traffic
             after the next system restart.

             Not supported value: -1"
        DEFVAL { 161 }

        ::= { nbsCmmcSnmpCfg 15 }

nbsCmmcSysSnmpPortOper    OBJECT-TYPE
        SYNTAX      INTEGER (1..65535)
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "The UDP/IP port the Agent is listening on for SNMP traffic
             now.

             Not supported value: -1"
        DEFVAL { 161 }

        ::= { nbsCmmcSnmpCfg 16 }

-- ******************************************************************
--
-- Objects for the TFTP client/server configuration.
--
-- Implementation of the nbsCmmcTftpGrp is mandatory.
--
-- ********************************************************************

nbsCmmcSysTftpHostIP    OBJECT-TYPE
        SYNTAX      IpAddress
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION
          "This is the IP Address of the TFTP Server/Client serving
           the actual TFTP transfer. A TFTP transfer may mean a
           software/microcode/parameter/etc.. download/upload process,
           initiated by the SNMP agent, for one of the modules,
           including, but not only, the System Control Card.
           It is 0.0.0.0, if th TFTP host is undefined."
        DEFVAL { '00000000'h }

        ::= { nbsCmmcTftpGrp 1 }

--
-- the TFTP Session table
--

nbsCmmcTftpMaxSessionNum OBJECT-TYPE
        SYNTAX      INTEGER
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
                "Maximum number of parallel TFTP sessions that are
                 supported by the system"
        DEFVAL { 5 }

        ::= { nbsCmmcTftpGrp 2 }

nbsCmmcTftpSessTable OBJECT-TYPE
        SYNTAX      SEQUENCE OF NbsCmmcTftpSessEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
                "A table that describes the active TFTP sessions"

        ::= { nbsCmmcTftpGrp 3 }

nbsCmmcTftpSessEntry      OBJECT-TYPE
        SYNTAX      NbsCmmcTftpSessEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
                "Contains a description of a particular TFTP session"

        INDEX { nbsCmmcTftpSessIndex }

        ::= { nbsCmmcTftpSessTable 1 }

NbsCmmcTftpSessEntry ::= SEQUENCE {

        nbsCmmcTftpSessIndex        INTEGER,
        nbsCmmcTftpSessStatus       INTEGER,
        nbsCmmcTftpSessHostIp       IpAddress,
        nbsCmmcTftpSessModuleId     INTEGER,
        nbsCmmcTftpSessAction       INTEGER,
        nbsCmmcTftpSessFileName     DisplayString,
        nbsCmmcTftpSessFileSize     INTEGER,
        nbsCmmcTftpSessProgress     INTEGER,
        nbsCmmcTftpSessAddressType  InetAddressType,
        nbsCmmcTftpSessAddress      InetAddress
}

nbsCmmcTftpSessIndex OBJECT-TYPE
        SYNTAX      INTEGER
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
                 "The index of the TFTP session (1..nbsCmmcTftpMaxSessionNum)"
        ::= { nbsCmmcTftpSessEntry 1 }

nbsCmmcTftpSessStatus OBJECT-TYPE
        SYNTAX      INTEGER {
          inactive       (1), -- TFTP session is inactive
          create         (2), -- TFTP session is in creation/activation
          underCreation  (3), -- TFTP session is in creation/activation
          active         (4), -- TFTP session is active
          transferEnded  (5), -- TFTP session has ended - results ready
          failed         (6)  -- TFTP session failed
        }
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
                "The status of this TFTP session"

        ::= { nbsCmmcTftpSessEntry 2 }

nbsCmmcTftpSessHostIp  OBJECT-TYPE
        SYNTAX      IpAddress
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION
          "This is the IP Address of the TFTP Host (Server/Client)
           serving the TFTP session as a source/destination. An IP
           address of 0.0.0.0 signifies that no setup has been done.
           Setting the nbsCmmcTftpSessHostIp value will change also the
           the default of all the instances of nbsCmmcTftpSessHostIp that
           were not specifically initialized by a SET operation."

        DEFVAL { '00000000'h }

        ::= { nbsCmmcTftpSessEntry 3 }

nbsCmmcTftpSessModuleId OBJECT-TYPE
        SYNTAX      INTEGER
        MAX-ACCESS  read-write
        STATUS      deprecated
        DESCRIPTION
            "Deprecated.  Module Id that owns this TFTP session
             (whose firmware/microcode/parameters/etc. are transferred"

        ::= { nbsCmmcTftpSessEntry 4 }

nbsCmmcTftpSessAction   OBJECT-TYPE
        SYNTAX      INTEGER {
          inactive     (1), -- no transfer underway
          downloadNM   (2), -- download NM image from a host
          uploadNM     (3), -- upload NM image to a host
          downloadPar  (4), -- download configuration parameters from a host
          uploadPar    (5), -- upload configuration parameters to a host
          downloadFile (6), -- download a file from a host
          uploadFile   (7)  -- upload a file to a host
        }
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION
                "This object is used to initiate a TFTP file transfer.

                 If nbsCmmcTftpSessStatus is not active (4), the Agent
                 should report the value inactive (1).

                 The Manager may initiate a session between the Agent
                 and the host specified in nbsCmmcTftpSessHostIp by
                 changing the value of this object.

                 Setting the value downloadNM (2) tells the Agent to
                 transfer its firmware image from the host to itself.
                 Setting the value uploadNM (3) tells the Agent to
                 transfer its firmware image from itself to the host.

                 Setting the value downloadPar (4) tells the Agent to
                 transfer a previous backup of its configuration from
                 the host to itself.  Setting the value uploadPar (5)
                 tells the Agent to send a backup file of its current
                 configuration to the host.

                 For any other type of file, the Manager should set
                 this value to downloadFile (6) to send a file from the
                 host to the NM, and uploadFile (7) to transfer a file
                 from the NM to the host."

        ::= { nbsCmmcTftpSessEntry 5 }

nbsCmmcTftpSessFileName  OBJECT-TYPE
        SYNTAX      DisplayString(SIZE(0..50))
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION
                "The name of the file to be transferred by this TFTP
                 session."

        ::= { nbsCmmcTftpSessEntry 6 }

nbsCmmcTftpSessFileSize OBJECT-TYPE
        SYNTAX      INTEGER
        MAX-ACCESS  read-write
        STATUS      deprecated
        DESCRIPTION
                 "The number of bytes in the file.  Whichever side has
                  the file being sent may report the file size here.

                  Not supported value: -1"
        DEFVAL { -1 }
        ::= { nbsCmmcTftpSessEntry 7 }

nbsCmmcTftpSessProgress OBJECT-TYPE
        SYNTAX      INTEGER
        MAX-ACCESS  read-only
        STATUS      deprecated
        DESCRIPTION
                 "The number of bytes successfully transferred in this
                  session.

                  Not supported value: -1"
        DEFVAL { -1 }
        ::= { nbsCmmcTftpSessEntry 8 }

nbsCmmcTftpSessAddressType  OBJECT-TYPE
        SYNTAX      InetAddressType
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION
          "This is the IP Address Type of the TFTP Host (Server/Client)
           serving the TFTP session as a source/destination."
        DEFVAL { unknown }
        ::= { nbsCmmcTftpSessEntry 9 }

nbsCmmcTftpSessAddress  OBJECT-TYPE
        SYNTAX      InetAddress
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION
          "This is the IPv4 or IPv6 Address of the TFTP Host (Server/Client)
           serving the TFTP session as a source/destination. Setting the
           nbsCmmcTftpSessAddress value will change also the
           the default of all the instances of nbsCmmcTftpSessAddress that
           were not specifically initialized by a SET operation. This supercedes
           nbsCmmcTftpSessHostIp."
        ::= { nbsCmmcTftpSessEntry 10 }


nbsCmmcSysTftpHostAddressType    OBJECT-TYPE
        SYNTAX      InetAddressType
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION
          "Address type of nbsCmmcSysTftpHostAddress."
        DEFVAL { unknown }
        ::= { nbsCmmcTftpGrp 4 }


nbsCmmcSysTftpHostAddress    OBJECT-TYPE
        SYNTAX      InetAddress
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION
          "Supercedes the previous value of nbsCmmcSysTftpHostIP;
           this is the IP Address of the TFTP Server/Client serving
           the actual TFTP transfer. A TFTP transfer may mean a
           software/microcode/parameter/etc.. download/upload process,
           initiated by the SNMP agent, for one of the modules,
           including, but not only, the System Control Card.
           It is unknown, if the TFTP host is undefined."

        ::= { nbsCmmcTftpGrp 5 }
--
-- ******************************************************************
--
-- Objects for the IP Access Configuration have been deprecated
--
-- ********************************************************************



-- ********************************************************************
--
-- Objects for the Chassis group
--
-- ********************************************************************

nbsCmmcChassisTable OBJECT-TYPE
        SYNTAX      SEQUENCE OF NbsCmmcChassisEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
                "A table that describes the Chassis connected"

        ::= { nbsCmmcChassisGrp 1 }

nbsCmmcChassisEntry      OBJECT-TYPE
        SYNTAX      NbsCmmcChassisEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
                "Contains a description of a particular Chassis"

        INDEX { nbsCmmcChassisIndex }

        ::= { nbsCmmcChassisTable 1 }

NbsCmmcChassisEntry ::= SEQUENCE {
    nbsCmmcChassisIndex                 INTEGER,
    nbsCmmcChassisType                  NbsCmmcEnumChassisType,
    nbsCmmcChassisModel                 DisplayString,
    nbsCmmcChassisObjectId              OBJECT IDENTIFIER,
    nbsCmmcChassisNumberOfSlots         INTEGER,
    nbsCmmcChassisHardwareRevision      DisplayString,
    nbsCmmcChassisPS1Status             INTEGER,
    nbsCmmcChassisPS2Status             INTEGER,
    nbsCmmcChassisPS3Status             INTEGER,
    nbsCmmcChassisPS4Status             INTEGER,
    nbsCmmcChassisFan1Status            INTEGER,
    nbsCmmcChassisFan2Status            INTEGER,
    nbsCmmcChassisFan3Status            INTEGER,
    nbsCmmcChassisFan4Status            INTEGER,
    nbsCmmcChassisTemperature           INTEGER,
    nbsCmmcChassisTemperatureLimit      INTEGER,
    nbsCmmcChassisTemperatureMin        INTEGER,
    nbsCmmcChassisSignalStrength        INTEGER,
    nbsCmmcChassisSignalStrengthMinimum INTEGER,
    nbsCmmcChassisEnableAutoReset       INTEGER,
    nbsCmmcChassisEnableLinkTraps       INTEGER,
    nbsCmmcChassisEnableChassisTraps    INTEGER,
    nbsCmmcChassisEnableLoopbackTraps   INTEGER,
    nbsCmmcChassisEnableSlotChangeTraps INTEGER,
    nbsCmmcChassisEnablePortTraps       INTEGER,
    nbsCmmcChassisResetAllModules       INTEGER,
    nbsCmmcChassisEnableModuleSpecificTraps INTEGER,
    nbsCmmcChassisLoopbackTimeout       INTEGER,
    nbsCmmcChassisPortInfoBitMap        OCTET STRING,
    nbsCmmcChassisSlotListBitMap        OCTET STRING,
    nbsCmmcChassisNumberOfPortsBitMap   OCTET STRING,
    nbsCmmcChassisName                  DisplayString,
    nbsCmmcChassisEnableLINTraps        INTEGER,
    nbsCmmcChassisEnablePortChangeTraps INTEGER,
    nbsCmmcChassisEnablePortDiagsTraps  INTEGER,
    nbsCmmcChassisFan5Status            INTEGER,
    nbsCmmcChassisFan6Status            INTEGER,
    nbsCmmcChassisFan7Status            INTEGER,
    nbsCmmcChassisFan8Status            INTEGER,
    nbsCmmcChassisEnableSwitchoverTraps INTEGER,
    nbsCmmcChassisCrossConnect          INTEGER,
    nbsCmmcChassisNVAreaBanks           INTEGER,
    nbsCmmcChassisFirmwareCaps          OCTET STRING,
    nbsCmmcChassisFirmwareLoad          OCTET STRING,
    nbsCmmcChassisNVAreaAdmin           INTEGER,
    nbsCmmcChassisNVAreaOper            INTEGER,
    nbsCmmcChassisLoader                INTEGER,
    nbsCmmcChassisSerialNum             DisplayString,
    nbsCmmcChassisFace                  OCTET STRING,
    nbsCmmcChassisCountersState         INTEGER,
    nbsCmmcChassisPowerStatus           INTEGER,
    nbsCmmcChassisIfIndex               InterfaceIndex
}

nbsCmmcChassisIndex OBJECT-TYPE
    SYNTAX      INTEGER
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The index of the Chassis."
    ::= {nbsCmmcChassisEntry  1 }

nbsCmmcChassisType OBJECT-TYPE
    SYNTAX      NbsCmmcEnumChassisType
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The type of Chassis."
    ::= {nbsCmmcChassisEntry  2 }

nbsCmmcChassisModel OBJECT-TYPE
    SYNTAX      DisplayString(SIZE(0..50))
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The model name of the chassis."
    ::= {nbsCmmcChassisEntry  3 }

nbsCmmcChassisObjectId OBJECT-TYPE
    SYNTAX      OBJECT IDENTIFIER
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Object Id of chassis."
    ::= {nbsCmmcChassisEntry 4 }

nbsCmmcChassisNumberOfSlots  OBJECT-TYPE
    SYNTAX      INTEGER
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The number of slots in the Chassis."
    ::= {nbsCmmcChassisEntry  5 }

nbsCmmcChassisHardwareRevision OBJECT-TYPE
    SYNTAX      DisplayString(SIZE(0..100))
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The hardware revision of the chassis."
    ::= {nbsCmmcChassisEntry  6 }

nbsCmmcChassisPS1Status OBJECT-TYPE
    SYNTAX      INTEGER{
        notInstalled    (1),
        acBad           (2),
        dcBad           (3),
        acGood          (4),
        dcGood          (5),
        notSupported    (6),
        good            (7),
        bad             (8)
    }
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The status of Power Supply 1."
    ::= {nbsCmmcChassisEntry  7 }

nbsCmmcChassisPS2Status OBJECT-TYPE
    SYNTAX      INTEGER{
        notInstalled    (1),
        acBad           (2),
        dcBad           (3),
        acGood          (4),
        dcGood          (5),
        notSupported    (6),
        good            (7),
        bad             (8)
    }
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The status of Power Supply 2."
    ::= {nbsCmmcChassisEntry  8}

nbsCmmcChassisPS3Status OBJECT-TYPE
    SYNTAX      INTEGER{
        notInstalled    (1),
        acBad           (2),
        dcBad           (3),
        acGood          (4),
        dcGood          (5),
        notSupported    (6),
        good            (7),
        bad             (8)
    }
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The status of Power Supply 3."
    ::= {nbsCmmcChassisEntry  9}

nbsCmmcChassisPS4Status OBJECT-TYPE
    SYNTAX      INTEGER{
        notInstalled    (1),
        acBad           (2),
        dcBad           (3),
        acGood          (4),
        dcGood          (5),
        notSupported    (6),
        good            (7),
        bad             (8)
    }
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The status of Power Supply 4."
        ::= {nbsCmmcChassisEntry  10}

nbsCmmcChassisFan1Status OBJECT-TYPE
        SYNTAX      INTEGER{
          notSupported    (1),
          bad             (2),
          good            (3),
          notInstalled    (4)
    }
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
                "The status of Fan 1."
        ::= {nbsCmmcChassisEntry  11}

nbsCmmcChassisFan2Status OBJECT-TYPE
        SYNTAX      INTEGER{
          notSupported    (1),
          bad             (2),
          good            (3),
          notInstalled    (4)
    }
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
                "The status of Fan 2."
        ::= {nbsCmmcChassisEntry  12}

nbsCmmcChassisFan3Status OBJECT-TYPE
        SYNTAX      INTEGER{
          notSupported    (1),
          bad             (2),
          good            (3),
          notInstalled    (4)
    }
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
                "The status of Fan 3."
        ::= {nbsCmmcChassisEntry  13}

nbsCmmcChassisFan4Status OBJECT-TYPE
        SYNTAX      INTEGER{
          notSupported    (1),
          bad             (2),
          good            (3),
          notInstalled    (4)
    }
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
                "The status of Fan 4."
        ::= {nbsCmmcChassisEntry  14}

nbsCmmcChassisTemperature OBJECT-TYPE
        SYNTAX      INTEGER (-2147483648..2147483647)
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
                "The temperature (degrees Celsius) of the Chassis.

                 Not supported value: 0x80000000"
        DEFVAL { -2147483648 }

        ::= {nbsCmmcChassisEntry  15 }

nbsCmmcChassisTemperatureLimit OBJECT-TYPE
        SYNTAX      INTEGER ( -100..100)
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION
                "The maximum safe temperature (degrees Celsius) of the
                 Chassis.

                 Not supported value: 0x80000000"
        DEFVAL { 45 }
        ::= {nbsCmmcChassisEntry  16 }

nbsCmmcChassisTemperatureMin OBJECT-TYPE
        SYNTAX      INTEGER ( -100..100)
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION
                "The minimum safe temperature (degrees Celsius) of the
                 Chassis.

                 Not supported value: 0x80000000"
        DEFVAL { 5 }
        ::= {nbsCmmcChassisEntry  17 }

nbsCmmcChassisSignalStrength OBJECT-TYPE
        SYNTAX      INTEGER
        MAX-ACCESS  read-only
        STATUS      deprecated
        DESCRIPTION
                "The received signal strength."
        ::= {nbsCmmcChassisEntry  18 }

nbsCmmcChassisSignalStrengthMinimum OBJECT-TYPE
        SYNTAX      INTEGER
        MAX-ACCESS  read-write
        STATUS      deprecated
        DESCRIPTION
                "The minimum recommended operational received signal
                 strength."
        ::= {nbsCmmcChassisEntry  19 }

nbsCmmcChassisEnableAutoReset OBJECT-TYPE
        SYNTAX      INTEGER{
        notSupported    (1),
        deprecatedoff   (2),
        deprecatedon    (3)
    }
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION
           "Continuously monitor slots for module changes, and reset if
            new board installed.

            Deprecated.

            The response to any GET should be notSupported(1).
            Any SET attempt should be rejected with the SNMP error
            badValue(3)."
        ::= {nbsCmmcChassisEntry  20}

nbsCmmcChassisEnableLinkTraps OBJECT-TYPE
        SYNTAX      INTEGER{
        notSupported    (1),
        off     (2),
        on      (3)
    }
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION
                "When set, send trap to report change in link status,
                 up or down."
        DEFVAL { on }
        ::= {nbsCmmcChassisEntry  21}

nbsCmmcChassisEnableChassisTraps OBJECT-TYPE
        SYNTAX      INTEGER{
          notSupported    (1),
          off             (2),
          on              (3)
    }
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION
                "When set, send trap to report chassis related events."
        DEFVAL { on }
        ::= {nbsCmmcChassisEntry  22}

nbsCmmcChassisEnableLoopbackTraps OBJECT-TYPE
        SYNTAX      INTEGER{
        notSupported    (1),
        off     (2),
        on      (3)
    }
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION
                "When set, send trap to report change in loopback
                 configuration."
        DEFVAL { on }
        ::= {nbsCmmcChassisEntry  23}

nbsCmmcChassisEnableSlotChangeTraps OBJECT-TYPE
        SYNTAX      INTEGER{
                notSupported    (1),
                off             (2),
                on              (3)
        }
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION
                "When set, send trap to report slot change related events."
        DEFVAL { on }
        ::= {nbsCmmcChassisEntry  24}

nbsCmmcChassisEnablePortTraps OBJECT-TYPE
        SYNTAX      INTEGER{
                notSupported    (1),
                off     (2),
                on      (3)
        }
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION
                "When set, send trap to report port change related events."
        DEFVAL { on }
        ::= {nbsCmmcChassisEntry  25}

nbsCmmcChassisResetAllModules OBJECT-TYPE
        SYNTAX      INTEGER{
                notSupported          (1),
                deprecatedOperating   (2),
                deprecatedReset       (3)
        }
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION
           "Continuously monitor slots for module changes, and reset
            if new board installed.

            Deprecated.

            The response to any GET should be notSupported(1).
            Any SET attempt should be rejected with the SNMP error
            badValue(3)."
        ::= {nbsCmmcChassisEntry  26}

nbsCmmcChassisEnableModuleSpecificTraps OBJECT-TYPE
        SYNTAX      INTEGER{
        notSupported (1),
        off (2),
        on (3)
        }
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION
                "When set, send trap to report change in specific cards
                 conditions"
        DEFVAL { on }
        ::= {nbsCmmcChassisEntry  27}

nbsCmmcChassisLoopbackTimeout OBJECT-TYPE
        SYNTAX      INTEGER (0..2147483647)
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION
                "loopback timeout in minutes, zero indicates forever"
        DEFVAL { 0 }
        ::= {nbsCmmcChassisEntry  28}

nbsCmmcChassisPortInfoBitMap OBJECT-TYPE
        SYNTAX      OCTET STRING
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
                "Deprecated."
        ::= {nbsCmmcChassisEntry  29}

nbsCmmcChassisSlotListBitMap OBJECT-TYPE
        SYNTAX      OCTET STRING
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
                "Deprecated."
        ::= {nbsCmmcChassisEntry  30}

nbsCmmcChassisNumberOfPortsBitMap OBJECT-TYPE
        SYNTAX      OCTET STRING
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
                "Deprecated."
        ::= {nbsCmmcChassisEntry  31}

nbsCmmcChassisName OBJECT-TYPE
        SYNTAX      DisplayString(SIZE(0..50))
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION
                "The user assigned name for this chassis"
        ::= {nbsCmmcChassisEntry  32 }

nbsCmmcChassisEnableLINTraps OBJECT-TYPE
        SYNTAX      INTEGER{
                notSupported (1),
                off          (2),
                on           (3)
        }
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION
                "When off(2), suppresses any traps related to Link
                 Integrity Notification."
        DEFVAL { on }
        ::= {nbsCmmcChassisEntry  33}

nbsCmmcChassisEnablePortChangeTraps OBJECT-TYPE
        SYNTAX      INTEGER{
                notSupported (1),
                off          (2),
                on           (3)
        }
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION
                "When off(2), suppresses any traps related to removable
                 Ports being inserted or removed."
        DEFVAL { on }
        ::= {nbsCmmcChassisEntry  34}

nbsCmmcChassisEnablePortDiagsTraps OBJECT-TYPE
        SYNTAX      INTEGER{
                notSupported (1),
                off          (2),
                on           (3)
        }
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION
                "When off(2), suppresses any traps related to digital
                 diagnostics being outside of safe levels."
        DEFVAL { on }
        ::= {nbsCmmcChassisEntry  35}

nbsCmmcChassisFan5Status OBJECT-TYPE
        SYNTAX      INTEGER{
          notSupported    (1),
          bad             (2),
          good            (3),
          notInstalled    (4)
        }
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
                "The status of Fan 5."
        ::= {nbsCmmcChassisEntry  36}

nbsCmmcChassisFan6Status OBJECT-TYPE
        SYNTAX      INTEGER{
          notSupported    (1),
          bad             (2),
          good            (3),
          notInstalled    (4)
        }
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
                "The status of Fan 6."
        ::= {nbsCmmcChassisEntry  37}

nbsCmmcChassisFan7Status OBJECT-TYPE
        SYNTAX      INTEGER{
          notSupported    (1),
          bad             (2),
          good            (3),
          notInstalled    (4)
        }
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
                "The status of Fan 7."
        ::= {nbsCmmcChassisEntry  38}

nbsCmmcChassisFan8Status OBJECT-TYPE
        SYNTAX      INTEGER{
          notSupported    (1),
          bad             (2),
          good            (3),
          notInstalled    (4)
        }
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
                "The status of Fan 8."
        ::= {nbsCmmcChassisEntry  39}

nbsCmmcChassisEnableSwitchoverTraps OBJECT-TYPE
        SYNTAX      INTEGER{
          notSupported (1),
          off          (2),
          on           (3)
        }
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION
                "When on, NM can send notifications whenever a
                 self-healing card switches traffic from an active
                 port to its redundant standby port.

                 When off, NM will not send switchover notifications."
        DEFVAL { on }
        ::= {nbsCmmcChassisEntry  40}

nbsCmmcChassisCrossConnect OBJECT-TYPE
        SYNTAX      INTEGER {
                notSupported (1),
                operating    (2),
                clearing     (3)
        }
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION
         "For chassis housing cross-connect blades or slots, this
          object is used to reflect the operating state and to clear
          the entire cross-connect map, including any independent maps
          of subordinate slots.

          If there are currently no cross-connect blades or slots in
          this chassis, the Agent must report notSupported(1).
          Additionally, if this object reports notSupported(1), any
          SNMP SET to this object should return SNMP Error 3 (bad
          value).

          The Agent should report operating(2) under normal
          circumstances.

          If this object reports operating(2), SNMP Managers are allowed
          to set this object to clearing (3), which instructs the Agent
          to erase all this chassis' cross-connect maps, including any
          independent maps of subordinate slots."

        DEFVAL { operating }
        ::= { nbsCmmcChassisEntry 41 }

nbsCmmcChassisNVAreaBanks   OBJECT-TYPE
        SYNTAX      INTEGER
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "The maximum number of executable images that can be stored
             locally on this chassis.

             This number does not count any memory banks that are in
             a modular subcomponent of this chassis. Please refer to
             nbsPartProgNVAreaStart and nbsPartProgNVAreaBanks for that
             information.

             Not supported value: 0"
        DEFVAL { 0 }
        ::= { nbsCmmcChassisEntry 42 }

nbsCmmcChassisFirmwareCaps OBJECT-TYPE
        SYNTAX      OCTET STRING(SIZE(0..8))
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "This bitmask indicates which executable images this chassis can
             support.  This object is mandatory for all chassis.

             Bit 0 is reserved.

             Subsequent bits refer to the nbsCmmcSysFirmwareTable.  Bit 1
             corresponds to the first table entry, Bit 2 to the second entry,
             and so on.  A bit is set (1) if that image is appropriate for this
             chassis, cleared (0) otherwise.

             OCTET STRING bitmasks count the leftmost bit (MSB) as 0.

             A zero length OCTET STRING indicates that the
             nbsCmmcSysFirmwareTable is not supported by this agent."
        ::= { nbsCmmcChassisEntry 43 }

nbsCmmcChassisFirmwareLoad OBJECT-TYPE
        SYNTAX      OCTET STRING(SIZE(0..8))
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION
            "This bitmask indicates which executable images this chassis
             has stored in its own NV area.  This object is mandatory for
             all chassis.

             OCTET STRING bitmasks count the leftmost bit (MSB) as 0.  Bit 0
             indicates whether an executable image is loading.

             Subsequent bits refer to the nbsCmmcSysFirmwareTable.  Bit 1
             corresponds to the first table entry, Bit 2 to the second entry,
             and so on.  A bit is set (1) if that image is stored on this
             chassis, cleared (0) if not.

             Clearing bits has no effect. To erase an NV area, use the
             nbsCmmcSysNVAreaTable.

             Users may transfer a file to an NV area by setting the appropriate
             file's bit and the loading (MSB) bit to one (1).  Adding a file
             requires that the NM start a file transfer to this chassis, which
             is a lengthy operation. If a transfer session is already active
             (nbsCmmcChassisLoader is non-zero), writes to this object will
             be rejected.

             A zero length OCTET STRING indicates that the
             nbsCmmcSysFirmwareTable is not supported by this agent."
        ::= { nbsCmmcChassisEntry 44 }

nbsCmmcChassisNVAreaAdmin OBJECT-TYPE
        SYNTAX      INTEGER
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION
            "A SET on this object will force the corresponding
             nbsCmmcSysNvAreaStatus to primary, set this chassis' other
             memory banks to backup, and immediately load and execute
             the firmware image contained in the specified memory bank.

             A GET on this object will indicate the memory bank of this
             chassis that is currently designated as primary.

             Not supported value: -1"
        DEFVAL { 0 }
        ::= { nbsCmmcChassisEntry 45 }

nbsCmmcChassisNVAreaOper OBJECT-TYPE
        SYNTAX      INTEGER
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "The nbsCmmcSysNVAreaBank of nbsCmmcSysNVAreaTable corresponding
             to the current operationally active firmware image.

             0 indicates the current active image is NOT in the NVAreaTable.

             Not supported value: -1"
        DEFVAL { -1 }
        ::= { nbsCmmcChassisEntry 46 }

nbsCmmcChassisLoader OBJECT-TYPE
        SYNTAX      INTEGER
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "The nbsCmmcSysLoaderIndex of nbsCmmcSysLoaderTable
             corresponding to the current loading session.

             0 indicates no loading session is active."
        DEFVAL { 0 }
        ::= { nbsCmmcChassisEntry 47 }

nbsCmmcChassisSerialNum OBJECT-TYPE
        SYNTAX      DisplayString(SIZE(0..12))
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "SerialNumber of this chassis.

             If this object is not supported, this string should be empty."
        ::= { nbsCmmcChassisEntry 48 }

nbsCmmcChassisFace OBJECT-TYPE
        SYNTAX      OCTET STRING(SIZE(0..500))
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "ASCII string containing encoded summary of chassis front
             panel status.  The encoding uses keywords and associated
             allowed values.

             Keyword:value pairs delimited by the pipe '|' symbol, and
             within a pair, a keyword should be separated from its
             associated value by a colon ':' character.

             Agent should provide the following info if available.  If
             unknown, it should be omitted.

             Description      Keyword  Allowed Values
             ---------------------------------------------------------
             Protocol         prot     ether|slip
             Power Supply(X)  psx      [use nbsCmmcChassisPSxStatus]
             Temperature      temp     [use nbsCmmcChassisTemperature]
             Temperature Max  tmax     [use nbsCmmcChassisTemperatureLimit]
             Temperature Min  tmin     [use nbsCmmcChassisTemperatureMin]
             Type             type     [use nbsCmmcChassisType]
             RM/AH Peer Chas  rmch     [use nbsCmmcChassisIndex]

             An example string could be:
                |prot:ether|ps1:2|ps2:3|ps3:5|temp:20|


             If this object is not supported, this string should be
             empty."
        ::= { nbsCmmcChassisEntry 49 }

nbsCmmcChassisCountersState OBJECT-TYPE
        SYNTAX      INTEGER {
                    notSupported  (1),
                    counting      (2),
                    clearing      (3)
        }
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION
          "This object allows user to reset MAC counters on all ports in this
           Chassis."
        DEFVAL { counting }
        ::= { nbsCmmcChassisEntry 50 }

nbsCmmcChassisPowerStatus OBJECT-TYPE
    SYNTAX      INTEGER{
        notSupported    (1),
        sufficient      (2),
        insufficient    (3)
    }
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Indicates if the total power in the chassis is sufficient or insufficient.
         Insufficient means that the chassis won't work in a correct mode."
    ::= { nbsCmmcChassisEntry  51 }

nbsCmmcChassisIfIndex OBJECT-TYPE
    SYNTAX      InterfaceIndex
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Mib2-like ifIndex of this chassis"
    ::= { nbsCmmcChassisEntry  52 }


--
--
--  nbsCmmcChassisGrp Scalars
--
--

nbsCmmcChassisCount OBJECT-TYPE
        SYNTAX      INTEGER
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
                "The number of chassis currently plugged into the system."
        ::= { nbsCmmcChassisGrp 2 }



-- ********************************************************************
--
-- Objects for the Slots group
--
-- ********************************************************************

nbsCmmcSlotTable OBJECT-TYPE
        SYNTAX      SEQUENCE OF NbsCmmcSlotEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
                "A table that describes the Slot connected"

        ::= { nbsCmmcSlotGrp 1 }

nbsCmmcSlotEntry      OBJECT-TYPE
        SYNTAX      NbsCmmcSlotEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
                "Contains a description of a particular Slot"

        INDEX { nbsCmmcSlotChassisIndex, nbsCmmcSlotIndex }

        ::= { nbsCmmcSlotTable 1 }

NbsCmmcSlotEntry ::= SEQUENCE {
        nbsCmmcSlotChassisIndex     INTEGER,
        nbsCmmcSlotIndex            INTEGER,
        nbsCmmcSlotType             NbsCmmcEnumSlotType,
        nbsCmmcSlotModel            DisplayString,
        nbsCmmcSlotObjectId         OBJECT IDENTIFIER,
        nbsCmmcSlotNumberOfPorts    INTEGER,
        nbsCmmcSlotHardwareRevision DisplayString,
        nbsCmmcSlotOperationType    NbsCmmcEnumSlotOperationType,
        nbsCmmcSlotReset            INTEGER,
        nbsCmmcSlotName             DisplayString,
        nbsCmmcSlotModuleType       INTEGER,
        nbsCmmcSlotModuleSlot       INTEGER,
        nbsCmmcSlotSwConfigurable   INTEGER,
        nbsCmmcSlotConfiguration    OCTET STRING,
        nbsCmmcSlotMacAddress       OCTET STRING,
        nbsCmmcSlotIPAddress        IpAddress,
        nbsCmmcSlotSubnetMask       IpAddress,
        nbsCmmcSlotBroadcastAddr    IpAddress,
        nbsCmmcSlotDefGateway       IpAddress,
        nbsCmmcSlotHoming           INTEGER,
        nbsCmmcSlotRedundancyAdmin  INTEGER,
        nbsCmmcSlotDescr            DisplayString,
        nbsCmmcSlotUpgradable       INTEGER,
        nbsCmmcSlotCrossConnect     INTEGER,
        nbsCmmcSlotClearType        INTEGER,
        nbsCmmcSlotNVAreaBanks      INTEGER,
        nbsCmmcSlotFirmwareCaps     OCTET STRING,
        nbsCmmcSlotFirmwareLoad     OCTET STRING,
        nbsCmmcSlotNVAreaAdmin      INTEGER,
        nbsCmmcSlotNVAreaOper       INTEGER,
        nbsCmmcSlotLoader           INTEGER,
        nbsCmmcSlotSerialNum        DisplayString,
        nbsCmmcSlotToggleRate       INTEGER,
        nbsCmmcSlotTemperature      INTEGER,
        nbsCmmcSlotCountersState    INTEGER,
        nbsCmmcSlotRedundancyOper   INTEGER,
        nbsCmmcSlotIfIndex          InterfaceIndex,
        nbsCmmcSlotModuleStatus     INTEGER,
        nbsCmmcSlotManagementPort   INTEGER,
        nbsCmmcSlotTemperatureLimit INTEGER,
        nbsCmmcSlotTemperatureMin   INTEGER
}

nbsCmmcSlotChassisIndex OBJECT-TYPE
        SYNTAX      INTEGER
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
                "The index of the Chassis to the Slot is connected."
        ::= { nbsCmmcSlotEntry 1 }

nbsCmmcSlotIndex OBJECT-TYPE
        SYNTAX      INTEGER
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
                "The slot index."
        ::= { nbsCmmcSlotEntry 2 }

nbsCmmcSlotType OBJECT-TYPE
        SYNTAX      NbsCmmcEnumSlotType
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
                "The front panel of card in the slot."
        ::= { nbsCmmcSlotEntry 3 }

nbsCmmcSlotModel    OBJECT-TYPE
        SYNTAX      DisplayString(SIZE(0..50))
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
                "Describes the model of card that is currently in the slot."
    ::= { nbsCmmcSlotEntry 4 }

nbsCmmcSlotObjectId OBJECT-TYPE
        SYNTAX      OBJECT IDENTIFIER
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
                "The description of the type of card in the slot."
        ::= { nbsCmmcSlotEntry 5 }

nbsCmmcSlotNumberOfPorts  OBJECT-TYPE
        SYNTAX      INTEGER
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
        "Number of ports on the card."
        DEFVAL { 0 }
    ::= { nbsCmmcSlotEntry 6 }

nbsCmmcSlotHardwareRevision OBJECT-TYPE
        SYNTAX      DisplayString(SIZE(0..100))
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
        "This describes the hardware revision of the card"
    ::= { nbsCmmcSlotEntry 7 }

nbsCmmcSlotOperationType OBJECT-TYPE
        SYNTAX      NbsCmmcEnumSlotOperationType
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION
                "Operation of card.."
        DEFVAL { other }
        ::= { nbsCmmcSlotEntry 8 }

nbsCmmcSlotReset OBJECT-TYPE
        SYNTAX      INTEGER{
            notSupported    (1),
            operating       (2),
            deprecatedPhy   (3),
            deprecatedQueue (4),
            resetSlot       (5),
            initSlot        (6),
            resetWarm       (7)
        }
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION
            "Current reset condition, and possible reset types.
            notSupported [1] - reported if feature unavailable.
            operating [2] - indicates normal operating status.
            phy [3] and queue [4] are deprecated.
            resetSlot [5] - cold restart, may impact traffic.
            initSlot [6] reverts to default settings; init-module.
            resetWarm [7] - soft restart, won't hurt traffic.

            The value operating [2] is normally returned by GET,
            but during a reset operation, the appropriate reset
            value [5, 6, or 7] may be returned."
        ::= { nbsCmmcSlotEntry 9 }

nbsCmmcSlotName OBJECT-TYPE
        SYNTAX      DisplayString(SIZE(0..50))
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION
        "The user assigned name for this slot."
        ::= { nbsCmmcSlotEntry 10 }

nbsCmmcSlotModuleType OBJECT-TYPE
        SYNTAX      INTEGER
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
        "Equivalent to nbsCmmcSlotType, except for modules
         that occupy more than one slot in a chassis.  For such multi-
         slot modules, this ModuleType indicates the product this slot
         is a part of."
        ::= { nbsCmmcSlotEntry 11 }

nbsCmmcSlotModuleSlot OBJECT-TYPE
        SYNTAX      INTEGER
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
        "This indicates the position of this slot within its module.
         For one-slot modules this value is always one (1).  For
         multi-slot modules, this is a positive integer between 1
         and the number of slots spanned by this module.  The
         numbering always begins with the leftmost slot as 1."
        DEFVAL { 1 }
        ::= { nbsCmmcSlotEntry 12 }

nbsCmmcSlotSwConfigurable OBJECT-TYPE
        SYNTAX      INTEGER{
                  other  (1),
                  no     (2),
                  yes    (3)
        }
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
        "Indicates whether card is software configurable, usually
         based on hardware jumper/dip switch settings.  If any changes
         to the hardware configuration are allowed, this value will be
         yes(3).  If this is no(2), SNMP GETs will work but SETs will
         fail with an SNMP error.  According to RFC 1157, that error
         should be noSuchName(2)."
        ::= { nbsCmmcSlotEntry 13 }

nbsCmmcSlotConfiguration  OBJECT-TYPE
        SYNTAX      OCTET STRING (SIZE(0..250))
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION
        "Bit stream containing current configuration of slot."
    ::= { nbsCmmcSlotEntry 14 }

nbsCmmcSlotMacAddress  OBJECT-TYPE
        SYNTAX      OCTET STRING (SIZE(0..6))
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
        "MAC Address of this card.

         If this object is not supported, this string should be empty."
    ::= { nbsCmmcSlotEntry 15 }

nbsCmmcSlotIPAddress    OBJECT-TYPE
        SYNTAX      IpAddress
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION
            "For non-NM cards which feature independent IP
             stacks, this is the SNMP Agent Administrative value
             of the IP Address for the card in this slot."
    ::= { nbsCmmcSlotEntry 16 }

nbsCmmcSlotSubnetMask    OBJECT-TYPE
        SYNTAX      IpAddress
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION
            "For non-NM cards which feature independent IP
             stacks, this is the SNMP Agent Administrative value
             of the SubnetMask for the card in this slot."
    ::= { nbsCmmcSlotEntry 17 }

nbsCmmcSlotBroadcastAddr    OBJECT-TYPE
        SYNTAX      IpAddress
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION
            "For non-NM cards which feature independent IP
             stacks, this is the SNMP Agent Administrative value
             of the IP Broadcast Address for the card in this slot."
    ::= { nbsCmmcSlotEntry 18 }

nbsCmmcSlotDefGateway    OBJECT-TYPE
        SYNTAX      IpAddress
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION
            "For non-NM cards which feature independent IP
             stacks, this is the SNMP Agent Administrative value
             of the Default Gateway for the card in this slot."
    ::= { nbsCmmcSlotEntry 19 }

nbsCmmcSlotHoming    OBJECT-TYPE
        SYNTAX      INTEGER {
                notSupported  (1),
                singleCO      (2),
                dualCOs       (3)
        }
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION
                "This object describes the cabling topology of
                CO / CPE pairs.  It must be supported on the
                Customer Premises Equipment (CPE) slots.

                Any card that does not utilize this object
                should report notSupported(1).

                If one CO is redundantly cabled to one CPE, the
                pair is in singleCO(2) homing.

                If two separate CO cards are connected to the
                same CPE, the CPE is dually homed.  Because
                neither CO has contact with the other CO, each
                CO should be told the CPE is in a dualCOs(3)
                homing configuration.

                If the card has a dual homing feature but does
                not know its current status, it defaults to
                singleCO(2).  If that is incorrect, users should
                change the value to dualCOs(3) to inform the card
                of its network configuration."
        DEFVAL { singleCO }
        ::= { nbsCmmcSlotEntry 20 }

nbsCmmcSlotRedundancyAdmin OBJECT-TYPE
        SYNTAX      INTEGER {
                notSupported  (1),
                disabled      (2),
                enabled       (3)
        }
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION
          "This object is used to disable redundancy on certain cards
           that support the 802.3ah standard, but if supported, the
           preferred method is to use the object nbsCmmcPortEnableAdmin
           to administratively disable redundant ports that shouldn't
           become active.

           This object may also be used to change the operating mode of
           4 port crossbar cards that can be configured for redundancy.

           For cards that do not support this feature, any reads of
           this object should get the response notSupported (1). Writes
           to this object should be rejected with the SNMP error
           badValue (3)."
        DEFVAL { disabled }
        ::= { nbsCmmcSlotEntry 21 }

nbsCmmcSlotDescr OBJECT-TYPE
        SYNTAX      DisplayString(SIZE(0..100))
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "Agent description of this slot."
        ::= { nbsCmmcSlotEntry 22 }

nbsCmmcSlotUpgradable     OBJECT-TYPE
        SYNTAX      INTEGER {
                notSupported  (1),
                supported     (2)
        }
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
                "This object indicates whether the card in this slot
                 can now be reprogrammed.  It should be used together
                 with nbsCmmcSysUpgrade.

                 Cards without reprogrammable firmware should always
                 report notSupported (1).  Reprogrammable cards should
                 report supported(2) only if the NM has the appropriate
                 firmware image already loaded and ready to send to
                 the card."
        ::= { nbsCmmcSlotEntry 23 }

nbsCmmcSlotCrossConnect OBJECT-TYPE
        SYNTAX      INTEGER {
                notSupported (1),
                operating    (2),
                clearing     (3)
        }
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION
         "For slots supporting cross-connect functionality, this
          object is used to reflect the operating state and
          clear the entire cross-connect map for this slot.

          If the slot is not of cross-connect type, the Agent must
          report notSupported(1). Additionally, if this object reports
          notSupported(1), any SNMP SET to this object should return
          SNMP Error 3 (bad value).

          The Agent should report operating(2) under normal
          circumstances.

          If this object reports operating(2), SNMP Managers are allowed to
          set this object to clearing (3), which instructs the Agent
          to erase the cross-connect map for this slot."
        DEFVAL { operating }
        ::= { nbsCmmcSlotEntry 24 }

nbsCmmcSlotClearType OBJECT-TYPE
        SYNTAX      INTEGER {
                notSupported(1),
                idle        (2),
                clearType   (3)
        }
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION
                "When nbsCmmcSysLockTypes is enabled, use this object
                 to clear the configured slot type.  Issue a set command
                 with a value of clearType(3).  A read of this object
                 will always return idle(2), or notSupported(1) if this
                 feature is not supported."
        DEFVAL { idle }
        ::= { nbsCmmcSlotEntry 25 }

nbsCmmcSlotNVAreaBanks   OBJECT-TYPE
        SYNTAX      INTEGER
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "The maximum number of executable images that can be stored
             locally on this module.

             This number does not count any memory banks that are in
             a modular subcomponent of this card. Please refer to
             nbsPartProgNVAreaStart and nbsPartProgNVAreaBanks for that
             information.


             Not supported value: 0"
        DEFVAL { 0 }
        ::= { nbsCmmcSlotEntry 26 }

nbsCmmcSlotFirmwareCaps OBJECT-TYPE
        SYNTAX      OCTET STRING(SIZE(0..8))
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "This bitmask indicates which executable images this module can
             support.  This object is mandatory for all modules.

             Bit 0 is reserved.

             Subsequent bits refer to the nbsCmmcSysFirmwareTable.  Bit 1
             corresponds to the first table entry, Bit 2 to the second entry,
             and so on.  A bit is set (1) if that image is appropriate for this
             module, cleared (0) if unavailable.

             OCTET STRING bitmasks count the leftmost bit (MSB) as 0.

             A zero length OCTET STRING indicates that the
             nbsCmmcSysFirmwareTable is not supported by this agent."
        ::= { nbsCmmcSlotEntry 27 }

nbsCmmcSlotFirmwareLoad OBJECT-TYPE
        SYNTAX      OCTET STRING(SIZE(0..8))
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION
            "This bitmask indicates which executable images this module
             has stored in its own NV area.  This object is mandatory for
             all modules.

             OCTET STRING bitmasks count the leftmost bit (MSB) as 0.  Bit 0
             indicates whether an executable image is loading.

             Subsequent bits refer to the nbsCmmcSysFirmwareTable.  Bit 1
             corresponds to the first table entry, Bit 2 to the second entry,
             and so on.  A bit is set (1) if that image is stored on this
             module, cleared (0) if not.

             Clearing bits has no effect. To erase an NV area, use the
             nbsCmmcSysNVAreaTable.

             Users may transfer a file to an NV area by setting the appropriate
             file's bit and the loading (MSB) bit to one (1).  Adding a file
             requires that the NM start a file transfer to this module, which
             is a lengthy operation. If a transfer session is already active
             (nbsCmmcSlotLoader is non-zero), writes to this object will be
             rejected.

             A zero length OCTET STRING indicates that the
             nbsCmmcSysFirmwareTable is not supported by this agent."
        ::= { nbsCmmcSlotEntry 28 }

nbsCmmcSlotNVAreaAdmin OBJECT-TYPE
        SYNTAX      INTEGER
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION
            "A SET on this object will force the corresponding
             nbsCmmcSysNvAreaStatus to primary, set this module's other
             memory banks to backup, and immediately load and execute
             the firmware image contained in the specified memory bank.

             A GET on this object will indicate the memory bank of this
             module that is currently designated as primary.

             Not supported value: -1"
        DEFVAL { 0 }
        ::= { nbsCmmcSlotEntry 29 }

nbsCmmcSlotNVAreaOper OBJECT-TYPE
        SYNTAX      INTEGER
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "The nbsCmmcSysNVAreaBank of nbsCmmcSysNVAreaTable corresponding
             to the current operationally active firmware image.

             0 indicates the current active image is NOT in the NVAreaTable.

             Not supported value: -1"
        DEFVAL { -1 }
        ::= { nbsCmmcSlotEntry 30 }

nbsCmmcSlotLoader OBJECT-TYPE
        SYNTAX      INTEGER
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "The nbsCmmcSysLoaderIndex of nbsCmmcSysLoaderTable
             corresponding to the current loading session.

             0 indicates no loading session is active."
        DEFVAL { 0 }
        ::= { nbsCmmcSlotEntry 31 }

nbsCmmcSlotSerialNum OBJECT-TYPE
        SYNTAX      DisplayString(SIZE(0..12))
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "SerialNumber of this module.

             If this object is not supported, this string should be empty."
        ::= { nbsCmmcSlotEntry 32 }

nbsCmmcSlotToggleRate OBJECT-TYPE
        SYNTAX        INTEGER (0..2147483647)
        MAX-ACCESS    read-write
        STATUS        current
        DESCRIPTION
            "For crossbar products.  Used to indicate the approximate
             rate, in microseconds, at which this card should toggle
             its transmitters on and off.

             Not supported value: 0"
        DEFVAL { 0 }
        ::= { nbsCmmcSlotEntry 33 }

nbsCmmcSlotTemperature OBJECT-TYPE
        SYNTAX      INTEGER (-2147483648..2147483647)
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
                "The temperature (in degrees celsius) of this slot.

                 Not supported value: 0x80000000"

        DEFVAL { -2147483648 }
        ::= { nbsCmmcSlotEntry 34 }

nbsCmmcSlotCountersState OBJECT-TYPE
        SYNTAX      INTEGER {
                notSupported  (1),
                counting      (2),
                clearing      (3)
        }
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION
          "This object allows user to reset MAC counters on all ports."

        DEFVAL { counting }
        ::= { nbsCmmcSlotEntry 35 }

nbsCmmcSlotRedundancyOper    OBJECT-TYPE
        SYNTAX      INTEGER {
                notSupported  (1),
                disabled      (2),
                enabled       (3)
        }
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
          "This object reports the actual redundancy state of a card.

           For cards that do not support this feature, any reads of
           this object should get the response notSupported (1)."
        DEFVAL { disabled }
        ::= { nbsCmmcSlotEntry 36 }

nbsCmmcSlotIfIndex OBJECT-TYPE
        SYNTAX      InterfaceIndex
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
           "Mib2-like ifIndex of this slot"
        ::= { nbsCmmcSlotEntry  37 }

nbsCmmcSlotModuleStatus     OBJECT-TYPE
        SYNTAX      INTEGER {
                notSupported  (1),
                empty         (2),
                notReady      (3),
                ready         (4),
                standby       (5)
        }
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
           "Slots that have no card installed should be reported as
            empty(2).

            Slots where a card has been physically inserted should be
            reported as notReady(3) while the card is loading or
            warming up, and ready(4) once the card is fully
            operational.

            Slots that support redundant action may report standby(5)
            if they are not yet ready but waiting to go to ready(4) in
            case of failover.

            When this object is unavailable the Agent will report
            the status notSupported (1)."
        DEFVAL { empty }
        ::= { nbsCmmcSlotEntry 38 }

nbsCmmcSlotManagementPort OBJECT-TYPE
        SYNTAX      INTEGER (0..65535)
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
          "This object, if set, reports the direct slot management port number.
           For cards that do not support this feature the response will be 0."
        DEFVAL { 0 }
        ::= { nbsCmmcSlotEntry 39 }

nbsCmmcSlotTemperatureLimit OBJECT-TYPE
        SYNTAX      INTEGER ( -100..100)
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION
                "The maximum safe temperature (degrees Celsius) of the
                 Slot.

                 Not supported value: 0x80000000"
        DEFVAL { 85 }
        ::= {nbsCmmcSlotEntry  40 }

nbsCmmcSlotTemperatureMin OBJECT-TYPE
        SYNTAX      INTEGER ( -100..100)
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION
                "The minimum safe temperature (degrees Celsius) of the
                 Slot.

                 Not supported value: 0x80000000"
        DEFVAL { 0 }
        ::= {nbsCmmcSlotEntry  41 }

-- *******************************************************************

nbsCmmcLedTable OBJECT-TYPE
        SYNTAX      SEQUENCE OF NbsCmmcLedEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
                "A table to report status of front panel LEDs"

        ::= { nbsCmmcSlotGrp 2 }

nbsCmmcLedEntry      OBJECT-TYPE
        SYNTAX      NbsCmmcLedEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
                "Indicates status of a particular LED"

        INDEX { nbsCmmcLedChassisIndex, nbsCmmcLedSlotIndex, nbsCmmcLedIndex }

        ::= { nbsCmmcLedTable 1 }

NbsCmmcLedEntry ::= SEQUENCE {
        nbsCmmcLedChassisIndex  INTEGER,
        nbsCmmcLedSlotIndex     INTEGER,
        nbsCmmcLedIndex         INTEGER,
        nbsCmmcLedColor         INTEGER,
        nbsCmmcLedDescription   DisplayString
}

nbsCmmcLedChassisIndex OBJECT-TYPE
        SYNTAX      INTEGER
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
                "The index of the Chassis to the Slot is connected."
        ::= { nbsCmmcLedEntry 1 }

nbsCmmcLedSlotIndex OBJECT-TYPE
        SYNTAX      INTEGER
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
                "The slot index."
        ::= { nbsCmmcLedEntry 2 }

nbsCmmcLedIndex OBJECT-TYPE
        SYNTAX      INTEGER
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
                "The index of the led.  Index starts at 1."
        ::= { nbsCmmcLedEntry 3 }

nbsCmmcLedColor OBJECT-TYPE
        SYNTAX      INTEGER{
         off          (1),
         green        (2),
         amber        (3),
         other        (4)
        }

        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
                "Actual/current color of the LED."
        ::= { nbsCmmcLedEntry 4 }

nbsCmmcLedDescription OBJECT-TYPE
        SYNTAX      DisplayString(SIZE(0..50))
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
                "LED's label as on card and short description"
        ::= { nbsCmmcLedEntry 5 }

--
-- the SlotFace table
--


nbsCmmcSlotFaceTable OBJECT-TYPE
        SYNTAX      SEQUENCE OF NbsCmmcSlotFaceEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
                "A table that describes the front panel state of each slot"

        ::= { nbsCmmcSlotGrp 3 }

nbsCmmcSlotFaceEntry      OBJECT-TYPE
        SYNTAX      NbsCmmcSlotFaceEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
                "Contains a description of a particular Slot"

        INDEX { nbsCmmcSlotFaceChassisIndex, nbsCmmcSlotFaceSlotIndex, nbsCmmcSlotFaceRowIndex }

        ::= { nbsCmmcSlotFaceTable 1 }

NbsCmmcSlotFaceEntry ::= SEQUENCE {
        nbsCmmcSlotFaceChassisIndex     INTEGER,
        nbsCmmcSlotFaceSlotIndex        INTEGER,
        nbsCmmcSlotFaceRowIndex         INTEGER,
        nbsCmmcSlotFaceSummary          OCTET STRING
}

nbsCmmcSlotFaceChassisIndex OBJECT-TYPE
        SYNTAX      INTEGER
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
                "The index of the Chassis housing this slot."
        ::= { nbsCmmcSlotFaceEntry 1 }

nbsCmmcSlotFaceSlotIndex OBJECT-TYPE
        SYNTAX      INTEGER
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
                "The slot index."
        ::= { nbsCmmcSlotFaceEntry 2 }

nbsCmmcSlotFaceRowIndex OBJECT-TYPE
        SYNTAX      INTEGER
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
                "Row Number"
        ::= { nbsCmmcSlotFaceEntry 3 }

nbsCmmcSlotFaceSummary OBJECT-TYPE
        SYNTAX      OCTET STRING(SIZE(0..500))
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "ASCII string containing encoded summary of slot front
             panel status.  The encoding uses keywords and associated
             allowed values.

             Keyword:value pairs delimited by the pipe '|' symbol, and
             within a pair, a keyword should be separated from its
             associated value by a colon ':' character.

             Agent should provide the following info if available.  If
             unknown or inapplicable, it should be omitted.

             Description      Keyword  Allowed Values
             ---------------------------------------------------------
             Slot/SNMP Type   slid     [use nbsCmmcSlotType]
             LED              ledx     [use nbsCmmcLedColor]
             PortLink         plnkx    [use nbsCmmcPortLinked]
             PortOperational  popx     [use nbsCmmcPortOperational]
             PortSelectLink   pselx    actv|stdby
             PortConnector    pconx    [use nbsCmmcPortConnector]

             An example string could be:
                |slid:436|led1:2|plnk1:2|pop2:2|psel2:actv|pcon4:15|

             If this object is not supported, this string should be
             empty."
        ::= { nbsCmmcSlotFaceEntry 4 }


-- ******************************************************************
--
-- Objects for the Ports group
--
-- ********************************************************************

nbsCmmcPortTable OBJECT-TYPE
        SYNTAX      SEQUENCE OF NbsCmmcPortEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
                "A table that describes the Port connected"

        ::= { nbsCmmcPortGrp 1 }

nbsCmmcPortEntry      OBJECT-TYPE
        SYNTAX      NbsCmmcPortEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
                "Contains a description of a particular Port."

        INDEX { nbsCmmcPortChassisIndex ,nbsCmmcPortSlotIndex, nbsCmmcPortIndex }

        ::= { nbsCmmcPortTable 1 }

NbsCmmcPortEntry ::= SEQUENCE {
    nbsCmmcPortChassisIndex       INTEGER,
    nbsCmmcPortSlotIndex          INTEGER,
    nbsCmmcPortIndex              INTEGER,
    nbsCmmcPortType               INTEGER,
    nbsCmmcPortObjectId           OBJECT IDENTIFIER,
    nbsCmmcPortLink               INTEGER,
    nbsCmmcPortAutoNegotiation    INTEGER,
    nbsCmmcPortDuplex             INTEGER,
    nbsCmmcPortSpeed              INTEGER,
    nbsCmmcPortRxActivity         INTEGER,
    nbsCmmcPortTxActivity         INTEGER,
    nbsCmmcPortCollisionActivity  INTEGER,
    nbsCmmcPortLoopback           INTEGER,
    nbsCmmcPortEnableAdmin        INTEGER,
    nbsCmmcPortSelectLink         INTEGER,
    nbsCmmcPortLIN                INTEGER,
    nbsCmmcPortAging              INTEGER,
    nbsCmmcPortMaxPacketSize      INTEGER,
    nbsCmmcPortRemoteLoopback     INTEGER,
    nbsCmmcPortErrorActivity      INTEGER,
    nbsCmmcPortName               DisplayString,
    nbsCmmcPortValue              OCTET STRING,
    nbsCmmcPortThreshold          INTEGER,
    nbsCmmcPortThresholdAction    INTEGER,
    nbsCmmcPortRMChassis          INTEGER,
    nbsCmmcPortRMSlot             INTEGER,
    nbsCmmcPortRMPort             INTEGER,
    nbsCmmcPortSerialNumber       DisplayString,
    nbsCmmcPortVendorInfo         DisplayString,
    nbsCmmcPortTemperature        INTEGER,
    nbsCmmcPortTxPower            INTEGER,
    nbsCmmcPortRxPower            INTEGER,
    nbsCmmcPortBiasAmps           INTEGER,
    nbsCmmcPortSupplyVolts        INTEGER,
    nbsCmmcPortMedium             INTEGER,
    nbsCmmcPortConnector          NbsCmmcEnumPortConnector,
    nbsCmmcPortWavelength         INTEGER,
    nbsCmmcPortDigitalDiags       INTEGER,
    nbsCmmcPortZoneIdAdmin        INTEGER,
    nbsCmmcPortNominalBitRate     INTEGER,
    nbsCmmcPortModulePort         INTEGER,
    nbsCmmcPortPartRev            DisplayString,
    nbsCmmcPortIfIndex            INTEGER,
    nbsCmmcPortLinked             INTEGER,
    nbsCmmcPortOperational        INTEGER,
    nbsCmmcPortZoneChassisAdmin   INTEGER,
    nbsCmmcPortZoneSlotAdmin      INTEGER,
    nbsCmmcPortAlarmCause         DisplayString,
    nbsCmmcPortFlowControl        INTEGER,
    nbsCmmcPortAutoNegAd          OCTET STRING,
    nbsCmmcPortAutoNegEditable    OCTET STRING,
    nbsCmmcPortWavelengthX        DisplayString,
    nbsCmmcPortZoneIdOper         INTEGER,
    nbsCmmcPortZoneSlotOper       INTEGER,
    nbsCmmcPortZoneChassisOper    INTEGER,
    nbsCmmcPortLinkMatch          INTEGER,
    nbsCmmcPortMDIPinoutAdmin     INTEGER,
    nbsCmmcPortMDIPinoutOper      INTEGER,
    nbsCmmcPortFCRecvAdmin        INTEGER,
    nbsCmmcPortFCRecvOper         INTEGER,
    nbsCmmcPortFCSendAdmin        INTEGER,
    nbsCmmcPortFCSendOper         INTEGER,
    nbsCmmcPortAutoNegWait        INTEGER,
    nbsCmmcPortTemperatureLevel   INTEGER,
    nbsCmmcPortTxPowerLevel       INTEGER,
    nbsCmmcPortRxPowerLevel       INTEGER,
    nbsCmmcPortBiasAmpsLevel      INTEGER,
    nbsCmmcPortSupplyVoltsLevel   INTEGER,
    nbsCmmcPortAmpGainOper        INTEGER,
    nbsCmmcPortAmpGainAdmin       INTEGER,
    nbsCmmcPortAmpOutputPwrAdmin  INTEGER,
    nbsCmmcPortProtoCapabilities  OCTET STRING,
    nbsCmmcPortProtoAdmin         INTEGER,
    nbsCmmcPortProtoOper          INTEGER,
    nbsCmmcPortPreambleLen        INTEGER,
    nbsCmmcPortPreferred          INTEGER,
    nbsCmmcPortCableLen           INTEGER,
    nbsCmmcPortRedundantTxMode    INTEGER,
    nbsCmmcPortTermination        INTEGER,
    nbsCmmcPortDescription        DisplayString,
    nbsCmmcPortTransmitUnmapped   INTEGER,
    nbsCmmcPortToggleMode         INTEGER,
    nbsCmmcPortCrossConnect       INTEGER,
    nbsCmmcPortZoneIfIndexAdmin   INTEGER,
    nbsCmmcPortZoneIfIndexOper    INTEGER,
    nbsCmmcPortEnableOper         INTEGER,
    nbsCmmcPortMappingType        INTEGER,
    nbsCmmcPortCountersState      INTEGER,
    nbsCmmcPortAmpGainMinimum     INTEGER,
    nbsCmmcPortAmpGainMaximum     INTEGER,
    nbsCmmcPortAmpGainStepSize    INTEGER,
    nbsCmmcPortSniffer            INTEGER,
    nbsCmmcPortExternalLink1      InterfaceIndex,
    nbsCmmcPortExternalLink2      InterfaceIndex,
    nbsCmmcPortNVAreaBanks        INTEGER,
    nbsCmmcPortFirmwareCaps       OCTET STRING,
    nbsCmmcPortFirmwareLoad       OCTET STRING,
    nbsCmmcPortNVAreaAdmin        INTEGER,
    nbsCmmcPortNVAreaOper         INTEGER,
    nbsCmmcPortLoader             INTEGER
}

nbsCmmcPortChassisIndex OBJECT-TYPE
        SYNTAX      INTEGER
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
                "The index of the Chassis for the Slot to which this
                 port is connected."
        ::= { nbsCmmcPortEntry 1 }

nbsCmmcPortSlotIndex OBJECT-TYPE
        SYNTAX      INTEGER
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
          "The index of the Slot in the Chassis to which this port is
           connected."
        ::= { nbsCmmcPortEntry 2 }

nbsCmmcPortIndex OBJECT-TYPE
        SYNTAX      INTEGER
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
                "The index of the Port in the Slot in the Chassis to
                 which this port is connected."
        ::= { nbsCmmcPortEntry 3 }

nbsCmmcPortType OBJECT-TYPE
        SYNTAX      INTEGER
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
                "The physical type of port.  Valid port types are > 1.
                 The mib representation of pluggable port types are
                 documented in nbsSffMsaIdentifier from NBS-SFF-MIB,
                 and have the following PortTypes here:
                   sfp    125,
                   gbic   147,
                   xfp    197,
                   qsfp   219,
                   cxp    220,
                   cfp    221,
                   qspf28 223,
                   cfp2   224"
        ::= { nbsCmmcPortEntry 4 }

nbsCmmcPortObjectId  OBJECT-TYPE
        SYNTAX      OBJECT IDENTIFIER
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
                "Object Id of the port"
        ::= { nbsCmmcPortEntry 5 }

nbsCmmcPortLink OBJECT-TYPE
        SYNTAX      INTEGER {
        other         (1),
        noSignal      (2),
        signalDetect  (3),
        link          (4),
        lock          (5)
        }
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
                "The link status of the port."
        ::= { nbsCmmcPortEntry 6 }

nbsCmmcPortAutoNegotiation OBJECT-TYPE
        SYNTAX      INTEGER {
            notSupported (1),
            off          (2),
            on           (3),
            deprecated4  (4),
            deprecated5  (5)
        }
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION
            "The AutoNegotiation status of a port.  AutoNegotiation
            may affect the port's speed, duplex, and MDI/MDIX.

            If this port does not offer this feature, Agent should
            report the value notSupported(1).

            To disable this feature, set the value to off(2).

            To enable this feature, set the value to on(3).

            The value autoMDIXOnly(4) is deprecated.

            The value custom (5) is deprecated."
        DEFVAL { on }

        ::= { nbsCmmcPortEntry 7 }

nbsCmmcPortDuplex OBJECT-TYPE
        SYNTAX      INTEGER {
            notSupported    (1),
            half            (2),
            full            (3)
        }
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION
        "The duplex mode of the port."
        ::= { nbsCmmcPortEntry 8 }

nbsCmmcPortSpeed OBJECT-TYPE
        SYNTAX      INTEGER {
            other       (1),
            spd10Mbps   (2),
            spd100Mbps  (3),
            spdGigabit  (4),
            spd10Gbps   (5)
        }
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION
                "The line speed of the port.  This object is superseded
                 by nbsCmmcPortProtoAdmin and nbsCmmcPortProtoOper."
        ::= { nbsCmmcPortEntry 9 }

nbsCmmcPortRxActivity OBJECT-TYPE
        SYNTAX      INTEGER {
          notSupported    (1),
          off             (2),
          on              (3)
        }
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
                "The receive status of the port."
        ::= { nbsCmmcPortEntry 10 }

nbsCmmcPortTxActivity OBJECT-TYPE
        SYNTAX      INTEGER {
            notSupported    (1),
            off             (2),
            on              (3)
        }
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
                "The transmit status of the port."
        ::= { nbsCmmcPortEntry 11 }

nbsCmmcPortCollisionActivity OBJECT-TYPE
        SYNTAX      INTEGER {
            notSupported    (1),
            off             (2),
            on              (3)
        }
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
                "The collision status of the port."
        ::= { nbsCmmcPortEntry 12 }

nbsCmmcPortLoopback OBJECT-TYPE
        SYNTAX      INTEGER {
                notSupported (1),
                off          (2),
                on           (3)
        }
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION
                "The loopback status of the port."
        DEFVAL { off }
        ::= { nbsCmmcPortEntry 13 }

nbsCmmcPortEnableAdmin OBJECT-TYPE
        SYNTAX      INTEGER {
                notSupported    (1),
                disable         (2),
                enable          (3),
                deprecatedAuto  (4)
        }
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION
          "Administratively desired operational status of the port.  For the
           actual operational status, please see the related object
           nbsCmmcPortEnableOper.

           The value notSupported (1) indicates that the user has no ability to
           disable the transceiver.

           Users may set this value to disable (2) to turn off the port's
           transceiver so that no traffic will flow through this port.

           For traffic to be sent and received as normal, this object should be
           set to enable (3).

           The value auto (4) has been deprecated - older Agents might report
           it, and Managers may attempt to set it, but newer agents will
           neither report nor accept this value."
        DEFVAL { enable }
        ::= { nbsCmmcPortEntry 14 }

nbsCmmcPortSelectLink OBJECT-TYPE
        SYNTAX      INTEGER {
                notSupported     (1),
                standby          (2),
                active           (3),
                deprecatedAuto   (4),
                deprecatedStandbyPreferred(5),
                deprecatedActivePreferred(6)
        }
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION
                "For ports in self-healing redundant groups, this
                 object describes this port's redundant state.

                 The value notSupported(1) indicates this object is
                 unused for this port.

                 The value standby(2) indicates that traffic is not
                 currently routed through this port.

                 The value active(3) indicates that this port is the
                 selected channel for passing data traffic.

                 This object may be used to choose which port in a
                 redundant group is active.  That selection may be
                 overridden by the system as appropriate, such as
                 the link going down, or a preferred port coming up.

                 The values (4) through (6) are deprecated.  They will
                 no longer be reported by the Agent, and attempts to
                 set them should be rejected with the SNMP error
                 badValue(3)."
        DEFVAL { active }
        ::= { nbsCmmcPortEntry 15 }

nbsCmmcPortLIN OBJECT-TYPE
        SYNTAX      INTEGER {
                notSupported    (1),
                disable         (2),
                enable          (3)
        }
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION
                "Line integrity check on or off."
        DEFVAL { disable }
        ::= { nbsCmmcPortEntry 16 }

nbsCmmcPortAging OBJECT-TYPE
        SYNTAX      INTEGER {
                notSupported    (1),
                off             (2),
                on              (3)
        }
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION
                "Aging on or off."
        ::= { nbsCmmcPortEntry 17 }

nbsCmmcPortMaxPacketSize OBJECT-TYPE
        SYNTAX      INTEGER {
                notSupported (1),
                max1518      (2),
                max1536      (3),
                max6k        (4)
        }
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION
                "The Maximum Packet Size Allowed."
        ::= { nbsCmmcPortEntry 18 }

nbsCmmcPortRemoteLoopback OBJECT-TYPE
        SYNTAX      INTEGER {
                notSupported    (1),
                off             (2),
                on              (3)
        }
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION
                "Indicates whether port should perform Remote Loopback.

                 When on (3), outbound traffic is returned to the
                 ingress port. In other words, traffic comes from one
                 of the module's  other ports to get to this one, and
                 upon arriving here gets sent back to that other port,
                 from where it continues on back to the originator of
                 the traffic.

                 The related object nbsCmmcPortLoopback may be forced
                 off(2) whenever this object is set to on(3)."
        ::= { nbsCmmcPortEntry 19 }

nbsCmmcPortErrorActivity OBJECT-TYPE
        SYNTAX      INTEGER {
          notSupported    (1),
          off             (2),
          on              (3)
        }
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
                "The error activity of the port."
        ::= { nbsCmmcPortEntry 20 }

nbsCmmcPortName OBJECT-TYPE
        SYNTAX      DisplayString(SIZE(0..50))
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION
        "The user assigned name for this port.  This object is also
         used for the MIB2 object ifAlias."
        ::= { nbsCmmcPortEntry 21 }

nbsCmmcPortValue OBJECT-TYPE
        SYNTAX      OCTET STRING (SIZE(0..16))
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
        "Originally named nbsCmmcPortOpticalPower.  Now usage may vary
           by card.
         For card 162, PortValue measures the Optical Power, or
           signal strength.
         For card 197, PortValue is a text string displaying
           signal strength in decibels.
         For cards 211 and 212, PortValue measures the current
           bandwidth level.  Only one byte is used, and its value can
           be notSupported(1), under45Mbps(2), under155Mbps(3),
           under622Mbps(4), or under1Gbps(5)"
    ::= { nbsCmmcPortEntry 22 }

nbsCmmcPortThreshold OBJECT-TYPE
        SYNTAX      INTEGER (-2147483648..2147483647)
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION
        "Port Threshold - usage may be different for each card.
         For card 197, this indicates the minimum signal
            strength.  Value ranges from -5 to -40 decibels.
         For card 211, valid values are:
            notSupported(1), speed45Mbps(2), speed155Mbps(3),
            speed622Mbps(4), speed1Gbps(5)
         For card 375, this indicates the rate limit
            and is expressed in units of Mbps.
         For cards 376 and 379, this indicates the rate
            limit and is expressed in units of Kbps.

         Not supported value: 0x80000000"

        DEFVAL { -2147483648 }
    ::= { nbsCmmcPortEntry 23 }

nbsCmmcPortThresholdAction OBJECT-TYPE
        SYNTAX      INTEGER
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION
        "Action to perform if threshold is crossed. Usage may be
           different for each card.
         For card 197, the allowable Actions are:
           notSupported(1), noAction(2), sendTrap(3)
         For cards 211 and 212, valid values are:
           notSupported(1), noAction(2), sendTrap(3), disablePort(4),
           disablePortAndSendTrap(5),disablePortPeriodically(6),
           disablePeriodicallyAndSendTrap(7)

        Not supported value: 1"

        DEFVAL { 1 }
    ::= { nbsCmmcPortEntry 24 }

nbsCmmcPortRMChassis OBJECT-TYPE
        SYNTAX      INTEGER
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION
          "The nbsCmmcPortRMChassis, nbsCmmcPortRMSlot, and
           nbsCmmcPortRMPort objects indicate which remote port is
           externally cabled to this port.  This nbsCmmcPortRMChassis
           object indicates the remote port's nbsCmmcPortChassisIndex.

           If no remote port is known, the nbsCmmcPortRMChassis,
           nbsCmmcPortRMSlot, and nbsCmmcPortRMPort objects
           should each have the value 0.

           If a physical link is discovered by the agent, the
           nbsCmmcPortRMChassis, nbsCmmcPortRMSlot, and
           nbsCmmcPortRMPort objects are each set automatically.

           If the connection is not discovered automatically,
           users may enter the connection by manually setting the
           three nbsCmmcPortRM objects"
        DEFVAL { 0 }
        ::= { nbsCmmcPortEntry 25 }

nbsCmmcPortRMSlot OBJECT-TYPE
        SYNTAX      INTEGER
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION
          "The nbsCmmcPortRMChassis, nbsCmmcPortRMSlot, and
           nbsCmmcPortRMPort objects indicate which remote port is
           externally cabled to this port.  This nbsCmmcPortRMSlot
           object indicates the remote port's nbsCmmcPortSlotIndex.

           If no remote port is known, the nbsCmmcPortRMChassis,
           nbsCmmcPortRMSlot, and nbsCmmcPortRMPort objects
           should each have the value 0.

           If a physical link is discovered by the agent, the
           nbsCmmcPortRMChassis, nbsCmmcPortRMSlot, and
           nbsCmmcPortRMPort objects are each set automatically.

           If the connection is not discovered automatically,
           users may enter the connection by manually setting the
           three nbsCmmcPortRM objects"
        DEFVAL { 0 }
        ::= { nbsCmmcPortEntry 26 }

nbsCmmcPortRMPort OBJECT-TYPE
        SYNTAX      INTEGER
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION
          "The nbsCmmcPortRMChassis, nbsCmmcPortRMSlot, and
           nbsCmmcPortRMPort objects indicate which remote port is
           externally cabled to this port.  This nbsCmmcPortRMPort
           object indicates the remote port's nbsCmmcPortIndex.

           If no remote port is known, the nbsCmmcPortRMChassis,
           nbsCmmcPortRMSlot, and nbsCmmcPortRMPort objects
           should each have the value 0.

           If a physical link is discovered by the agent, the
           nbsCmmcPortRMChassis, nbsCmmcPortRMSlot, and
           nbsCmmcPortRMPort objects are each set automatically.

           If the connection is not discovered automatically,
           users may enter the connection by manually setting the
           three nbsCmmcPortRM objects"
        DEFVAL { 0 }
        ::= { nbsCmmcPortEntry 27 }

nbsCmmcPortSerialNumber OBJECT-TYPE
        SYNTAX      DisplayString(SIZE(0..50))
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
                "Part Serial Number as reported by the component.

                 Not supported value: 'N/A'"

        ::= { nbsCmmcPortEntry 28 }

nbsCmmcPortVendorInfo OBJECT-TYPE
        SYNTAX      DisplayString(SIZE(0..50))
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
                "Vendor name as reported by the component.

                 Not supported value: 'N/A'"

        ::= { nbsCmmcPortEntry 29 }

nbsCmmcPortTemperature OBJECT-TYPE
        SYNTAX      INTEGER (-2147483648..2147483647)
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
                "The temperature (in degrees celsius) of this trans-
                 ceiver.

                 Not supported value: 0x80000000"

        DEFVAL { -2147483648 }
        ::= { nbsCmmcPortEntry 30 }

nbsCmmcPortTxPower OBJECT-TYPE
        SYNTAX      INTEGER (-2147483648..2147483647)
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
                "The output power (in milli dBm) of this transmitter.

                 Not supported value: 0x80000000"

        DEFVAL { -2147483648 }
        ::= { nbsCmmcPortEntry 31 }

nbsCmmcPortRxPower OBJECT-TYPE
        SYNTAX      INTEGER (-2147483648..2147483647)
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
                "The received optical power (in milli dBm) of this
                 receiver.

                 Not supported value: 0x80000000"

        DEFVAL { -2147483648 }
        ::= { nbsCmmcPortEntry 32 }

nbsCmmcPortBiasAmps OBJECT-TYPE
        SYNTAX      INTEGER
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
                "The bias current (in microAmps) of this transmitter.
                 The reserved value -1 indicates that this object is
                 not supported."
        DEFVAL { -1 }
        ::= { nbsCmmcPortEntry 33 }

nbsCmmcPortSupplyVolts OBJECT-TYPE
        SYNTAX      INTEGER
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
                "The supply voltage (in milliVolts) of this transmitter.
                 The reserved value -1 indicates that this object is
                 not supported."
        DEFVAL { -1 }
        ::= { nbsCmmcPortEntry 34 }

nbsCmmcPortMedium OBJECT-TYPE
        SYNTAX      INTEGER {
          notSupported (1),
          coax         (2),
          twistedPair  (3),
          singleMode   (4),
          multiMode    (5)
        }
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
                "The type of physical communications medium."
        ::= { nbsCmmcPortEntry 35 }

nbsCmmcPortConnector OBJECT-TYPE
        SYNTAX      NbsCmmcEnumPortConnector
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
                "The type of physical connector or jack."
        ::= { nbsCmmcPortEntry 36 }

nbsCmmcPortWavelength OBJECT-TYPE
        SYNTAX      INTEGER
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
                "The output wavelength (in nanoMeters) of this
                 transmitter. The reserved value -1
                 indicates that this object is not supported.

                 This object has been superseded by
                 nbsCmmcPortWavelengthX, which supports floating
                 point wavelengths, and lists of wavelengths."
        DEFVAL { -1 }
        ::= { nbsCmmcPortEntry 37 }

nbsCmmcPortDigitalDiags OBJECT-TYPE
        SYNTAX      INTEGER {
          notSupported (1),
          diagsOk      (2),
          diagsWarning (3),
          diagsAlarm   (4)
        }
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
               "Indicates whether Digital Diagnostics are supported
                by this port.  If they are supported, this variable
                indicates the worst severity level among the measured
                diagnostic values."
        DEFVAL { diagsOk }
        ::= { nbsCmmcPortEntry 38 }

nbsCmmcPortZoneIdAdmin  OBJECT-TYPE
        SYNTAX      INTEGER
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION
         "For Fibre Channel products, this will be the Agent-assigned
          ZoneId of the zone this port belongs to.

          For products which allow dynamic configuration of converter
          circuits, this will be the Port number where data for this
          converter circuit will be received.  If the chassis or slot
          is changing, they should be SET first, so ZoneIdAdmin is SET
          last.  This signals the Agent to reconfigure the crossbar.

          The value 0 indicates that this port is not a part of any
          Fibre Channel Zone or converter circuit.

          In order for two ports to be in the same zone/circuit, each
          must be configured to the same PortSpeed or BitRate.  If the
          Agent receives a request to set CircuitRxPort to a port with
          a different bit rate, the Agent will return SNMP error-status
          badValue (3)."
        DEFVAL { 0 }
    ::= { nbsCmmcPortEntry 39 }

nbsCmmcPortNominalBitRate    OBJECT-TYPE
        SYNTAX      INTEGER
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION
         "This NominalBitRate variable exists for modules
          which support configurable speeds that may not be listed in
          PortSpeed.  Here can be specified the raw bit rate desired,
          measured in decimal Mbps.

          The Agent may use exactly that rate, or may substitute it with
          a compatible rate within an appropriate range of speeds.
          If the Agent receives a request  for a bitrate it cannot
          support, it should return the SNMP errorstatus badValue(3).

          For ports whose speed is unknown or not configurable, the
          Agent should report this value as -1.

          The reserved value 0 specifies that no speed is configured,
          and any clocking is bypassed.

          The following values are associated with specific protocols:
               44 - DS3
               51 - OC-1
               77 - Telco bus
              125 - Fast Ethernet (100 Mbps)
              126 - FDDI
              155 - OC-3
              200 - ESCON
              270 - SDI 270Mbps
              540 - SDI 540Mbps
              622 - OC-12
             1063 - 1 Gig FibreChannel
             1244 - OC-24
             1250 - Gigabit Ethernet
             1485 - HDTV
             2125 - 2 Gig FibreChannel
             2450 - OC-48
             2500 - Infiniband
             2666 - OC-48+FEC
             9953 - 10 Gig Ethernet/WAN
            10312 - 10 Gig Ethernet/LAN
            10625 - 10 Gig FibreChannel

          For ports that support ProtoAdmin 'userDefined', writing
          this object will automatically set the ProtoAdmin to
          'userDefined'."
        DEFVAL { -1 }
    ::= { nbsCmmcPortEntry 40 }

nbsCmmcPortModulePort OBJECT-TYPE
        SYNTAX      INTEGER
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
         "Similar to SlotModuleSlot.  Some modules occupy
          more than one slot of a chassis. For such products, this
          variable will report the port number from the Module
          perspective.  In contrast, the PortIndex reports the port
          number from an individual slot's perspective.  For modules
          that occupy only one slot, PortModulePort will be equivalent
          to PortIndex."
        ::= { nbsCmmcPortEntry 41 }

nbsCmmcPortPartRev OBJECT-TYPE
        SYNTAX      DisplayString(SIZE(0..50))
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
                "Part Number and Revision level as reported by the
                 component.

                 Not supported value: 'N/A'"

        ::= { nbsCmmcPortEntry 42 }

nbsCmmcPortIfIndex OBJECT-TYPE
        SYNTAX      INTEGER
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
                "The index to the MIB-II Interface table entry which
                 represents this port.  If there is no corresponding
                 MIB-II interface entry, this value should be 0."
        ::= { nbsCmmcPortEntry 43 }

nbsCmmcPortLinked OBJECT-TYPE
        SYNTAX      INTEGER {
          no  (1),
          yes (2)
        }
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
               "Simpler, one bit version of PortLink.  The value no(1)
                means there is no signal detected or that signal is of
                poor quality.  The value yes(2) indicates a good
                connection."
        ::= { nbsCmmcPortEntry 44 }

nbsCmmcPortOperational OBJECT-TYPE
        SYNTAX      INTEGER {
          no  (1),
          yes (2)
        }
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
               "Indicates whether the port is in a state appropriate
                for normal data communications. The value no(1) means
                that the port is disabled or in an abnormal state such
                as loopback.  The value yes(2) indicates that the port
                is enabled and usable."
        ::= { nbsCmmcPortEntry 45 }

nbsCmmcPortZoneChassisAdmin  OBJECT-TYPE
        SYNTAX      INTEGER
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION
         "For crossbar products, this is the Chassis housing the port
          shown in nbsCmmcPortZoneId."
        DEFVAL { 0 }
    ::= { nbsCmmcPortEntry 46 }

nbsCmmcPortZoneSlotAdmin  OBJECT-TYPE
        SYNTAX      INTEGER
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION
         "For crossbar products, this is the Slot housing the port
          shown in nbsCmmcPortZoneId."
        DEFVAL { 0 }
    ::= { nbsCmmcPortEntry 47 }

nbsCmmcPortAlarmCause OBJECT-TYPE
        SYNTAX      DisplayString(SIZE(0..50))
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
        "For Pluggable ports with Digital Diagnostics.  If there is
            currently no alarm condition, this string should be empty.
            Otherwise, this should display the most severe actual
            alarm condition."
        ::= { nbsCmmcPortEntry 48 }

nbsCmmcPortFlowControl  OBJECT-TYPE
        SYNTAX      INTEGER {
            notSupported (1),
            disabled     (2),
            enabled      (3)
        }
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION
        "This object determines whether FlowControl should be used.

         If disabled(2), no FlowControl will be initiated by this port.
         Any FlowControl requests received will be dropped.

         If enabled(3), this port will initiate and observe FlowControl
         requests as specified by the objects nbsCmmcPortFCRecvOper
         and nbsCmmcPortFCSendOper.  Those settings may be changed
         through the related nbsCmmcPortFCSendAdmin and
         nbsCmmcPortFCRecvAdmin objects.

         If notSupported(1), this object is not supported."
        DEFVAL { enabled }
    ::= { nbsCmmcPortEntry 49 }

nbsCmmcPortAutoNegAd   OBJECT-TYPE
        SYNTAX      OCTET STRING(SIZE(1))
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION
            "This object determines which capabilities will be advertised
             during auto negotiation.  Each capability is represented by
             one bit.  Set bit to 1 to advertise capability, 0 to deny it.

               Capability            Bit
             ----------------------  ---
                           reserved   0
                       Flow Control   1
              1000 Mbps Full Duplex   2
              1000 Mbps Half Duplex   3
               100 Mbps Full Duplex   4
               100 Mbps Half Duplex   5
                10 Mbps Full Duplex   6
                10 Mbps Half Duplex   7

             OCTET STRING bitmasks count the leftmost bit (MSB) as 0."

    ::= { nbsCmmcPortEntry 50 }

nbsCmmcPortAutoNegEditable  OBJECT-TYPE
        SYNTAX      OCTET STRING(SIZE(1))
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "This object determines which AutoNegAd bits may be changed by
             the user.  Bits set to 1 indicate user may choose whether to
             advertise the corresponding capability.  Bits are cleared if
             user is not allowed to change the corresponding AutoNegAd bit.

               Capability            Bit
             ----------------------  ---
                           reserved   0
                       Flow Control   1
              1000 Mbps Full Duplex   2
              1000 Mbps Half Duplex   3
               100 Mbps Full Duplex   4
               100 Mbps Half Duplex   5
                10 Mbps Full Duplex   6
                10 Mbps Half Duplex   7

             OCTET STRING bitmasks count the leftmost bit (MSB) as 0."

    ::= { nbsCmmcPortEntry 51 }

nbsCmmcPortWavelengthX   OBJECT-TYPE
        SYNTAX      DisplayString(SIZE(0..150))
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
        "This objects supersedes the nbsCmmcPortWavelength object.
         The string format allows both whole numbers as in CWDM, or
         floating-point numbers as in DWDM.

         If there is more than one wavelength, as with WDM trunks,
         each color should be listed, separated by commas.

         Not supported value: 'N/A'"

        ::= { nbsCmmcPortEntry 52 }

nbsCmmcPortZoneIdOper  OBJECT-TYPE
        SYNTAX      INTEGER
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
        "Operational version of nbsCmmcPortZoneIdAdmin"
        DEFVAL { 0 }
        ::= { nbsCmmcPortEntry 53 }

nbsCmmcPortZoneSlotOper  OBJECT-TYPE
        SYNTAX      INTEGER
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
        "Operational version of nbsCmmcPortZoneSlotAdmin"
        DEFVAL { 0 }
        ::= { nbsCmmcPortEntry 54 }

nbsCmmcPortZoneChassisOper  OBJECT-TYPE
        SYNTAX      INTEGER
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
        "Operational version of nbsCmmcPortZoneChassisAdmin"
        DEFVAL { 0 }
        ::= { nbsCmmcPortEntry 55 }

nbsCmmcPortLinkMatch  OBJECT-TYPE
        SYNTAX      INTEGER {
            notSupported (1),
            disabled     (2),
            enabled      (3)
        }
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION
        "Some converter ports that are capable of autonegotiation
         (ANEG) may sometimes be between two end ports that would like
         to autonegotiate with each other.  The Agent can ensure
         that both ports in the converter/circuit settle on the same
         autonegotiated settings.  This feature is called LinkMatch.

         ANEG with LinkMatch can sometimes be a lengthy process.
         In order to streamline the ANEG process, users may manually
         configure the parameters that supporting ports will advertise
         during their independent autonegotiations.  This involves two
         steps - first to change the nbsCmmcPortAutoNegAd object to
         reflect the outcome desired, then to set this
         nbsCmmcPortLinkMatch object to the value disabled(2).

         The default value for this object is enabled(3).

         Ports that do not support this feature should return the
         value notSupported(1)."
        DEFVAL { enabled }
        ::= { nbsCmmcPortEntry 56 }

nbsCmmcPortMDIPinoutAdmin  OBJECT-TYPE
        SYNTAX      INTEGER {
            notSupported (1),
            mdi          (2),
            mdix         (3),
            autoSense    (4)
        }
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION
        "Connecting twisted-pair ethernet ports originally required
         care in choosing either straight or crossover cables.  Later,
         many ethernet ports added the feature that they could be
         configured to accept either cable pinout.  Some ports are
         even smart enough to detect, or autosense, the pinout they
         should use.

         This Administrative object allows users to request the port
         adopt a specific pinout, or to have the port autosense it.

         The value notSupported(1) indicates that this port
         cannot dynamically alter its pinout through this object.

         The value mdi(2) is used to connect with a straight cable to
         mdix ports such as those found on hubs, switches and routers.

         The value mdix(3) is used to connect with a straight cable to
         mdi ports such as those found on workstations.

         The value autoSense(4) indicates this port should
         automatically detect and change to the necessary pinout.

         This object has a corresponding Operational value which
         reports the actual pinout state.  In certain situations, the
         Operational value might differ from the Administrative."
        DEFVAL { autoSense }
        ::= { nbsCmmcPortEntry 57 }

nbsCmmcPortMDIPinoutOper  OBJECT-TYPE
        SYNTAX      INTEGER {
            notSupported (1),
            mdi          (2),
            mdix         (3)
        }
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
        "This object reports the actual pinout state of an ethernet
         port."

        DEFVAL { mdi }
        ::= { nbsCmmcPortEntry 58 }

nbsCmmcPortFCRecvAdmin  OBJECT-TYPE
        SYNTAX      INTEGER {
            notSupported (1),
            drop         (2),
            comply       (3),
            passThru     (4)
        }
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION
        "This object allows user to specify what this port should do
         if it receives a flow control request.

         This object is ignored when nbsCmmcPortFlowControl is
         disabled.

         If this object reports notSupported(1), no changes to this
         object are allowed.

         Setting this object to drop(2) indicates that this port
         should ignore requests to control its flow.

         Setting this object to comply(3) means this port should
         grant flow control requests from the connected port, and
         buffer up traffic while the other side catches up.

         If this object is set to passthru(4), the port will not
         comply with the request, but will relay it along to the next
         port.

         The corresponding nbsCmmcPortFCRecvOper object indicates
         the setting that is actually in effect."
        DEFVAL { comply }
        ::= { nbsCmmcPortEntry 59 }

nbsCmmcPortFCRecvOper  OBJECT-TYPE
        SYNTAX      INTEGER {
            notSupported (1),
            drop         (2),
            comply       (3),
            passThru     (4)
        }
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
        "This object indicates what this port will do with flow
         control requests it receives."
        DEFVAL { comply }
        ::= { nbsCmmcPortEntry 60 }

nbsCmmcPortFCSendAdmin  OBJECT-TYPE
        SYNTAX      INTEGER {
            notSupported (1),
            disabled     (2),
            enabled      (3)
        }
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION
        "This object specifies whether this port will send flow control
         requests when its in danger of dropping incoming packets.

         This object is ignored when nbsCmmcPortFlowControl is
         disabled.

         Setting this object to enabled(3) means this port may send
         flow control requests to the other port.

         Setting this object to disabled(2) indicates that this port
         should drop packets instead of sending flow control requests.

         If this object is set to notSupported(1), this object cannot
         be changed for this port.

         The corresponding nbsCmmcPortFCSendOper object indicates
         the setting that is actually in effect."
        DEFVAL { enabled }
        ::= { nbsCmmcPortEntry 61 }

nbsCmmcPortFCSendOper  OBJECT-TYPE
        SYNTAX      INTEGER {
            notSupported (1),
            disabled     (2),
            enabled      (3)
        }
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
        "This object is ignored when nbsCmmcPortFlowControl is
         disabled.

         This object indicates whether or not this port will send flow
         control requests.  If it does, the value enabled(3) will be
         returned.  If it does not, it reports disabled(2).  If this
         object is not supported, device reports notSupported(1)."
        DEFVAL { enabled }
        ::= { nbsCmmcPortEntry 62 }

nbsCmmcPortAutoNegWait  OBJECT-TYPE
        SYNTAX      INTEGER (0..254)
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION
        "Sets the number of seconds a port should autonegotiate [ANEG]
         before deciding a link is down.

         This object is used by the NM when LIN and ANEG are both
         enabled.

         If the user knows that a particular end device needs extra
         time to complete autonegotiation, he should change this
         object to match the end device's needs.

         Not supported value: 0"

        DEFVAL { 0 }
        ::= { nbsCmmcPortEntry 63 }

nbsCmmcPortTemperatureLevel  OBJECT-TYPE
        SYNTAX      INTEGER {
            notSupported (1),
            lowAlarm     (2),
            lowWarning   (3),
            ok           (4),
            highWarning  (5),
            highAlarm    (6)
        }
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
        "This object indicates whether this port has a temperature
         problem.

         If this port does not support SFF-8472 Digital Diagnostics,
         this value should be notSupported(1).

         If Digital Diagnostics indicate temperature is below the
         low Alarm Threshold, this value should be lowAlarm(2).

         If Digital Diagnostics indicate temperature is above the
         low Alarm Threshold but below the low Warning threshold,
         this value should be lowWarning(3).

         If Digital Diagnostics indicate this port is within the
         recommended operating range, value is ok(4).

         If Digital Diagnostics indicate temperature is higher than
         the high Warning threshold, but has not crossed the Alarm
         threshold, this value should be highWarning (5),.

         If Digital Diagnostics indicate this port has crossed the
         high Alarm threshold, this value should be highAlarm(6).

         The related object nbsCmmcPortTemperature indicates what the
         current temperature is."

        DEFVAL { ok }
        ::= { nbsCmmcPortEntry 64 }

nbsCmmcPortTxPowerLevel  OBJECT-TYPE
        SYNTAX      INTEGER {
            notSupported (1),
            lowAlarm     (2),
            lowWarning   (3),
            ok           (4),
            highWarning  (5),
            highAlarm    (6)
        }
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
        "This object indicates whether this port has a problem
         with its transmitter power.

         If this port does not support SFF-8472 Digital Diagnostics,
         this value should be notSupported(1).

         If Digital Diagnostics indicate TxPower is below the
         low Alarm Threshold, this value should be lowAlarm(2).

         If Digital Diagnostics indicate TxPower is above the
         low Alarm Threshold but below the low Warning threshold,
         this value should be lowWarning(3).

         If Digital Diagnostics indicate this port is within the
         recommended operating range, value is ok(4).

         If Digital Diagnostics indicate TxPower is higher than
         the high Warning threshold, but has not crossed the Alarm
         threshold, this value should be highWarning (5),.

         If Digital Diagnostics indicate this port has crossed the
         high Alarm threshold, this value should be highAlarm(6).

         The related object nbsCmmcPortTxPower indicates what the
         current TxPower is."

        DEFVAL { ok }
        ::= { nbsCmmcPortEntry 65 }

nbsCmmcPortRxPowerLevel  OBJECT-TYPE
        SYNTAX      INTEGER {
            notSupported (1),
            lowAlarm     (2),
            lowWarning   (3),
            ok           (4),
            highWarning  (5),
            highAlarm    (6)
        }
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
        "This object indicates whether this port has a problem
         with the power of its received signal.

         If this port does not support SFF-8472 Digital Diagnostics,
         this value should be notSupported(1).

         If Digital Diagnostics indicate RxPower is below the
         low Alarm Threshold, this value should be lowAlarm(2).

         If Digital Diagnostics indicate RxPower is above the
         low Alarm Threshold but below the low Warning threshold,
         this value should be lowWarning(3).

         If Digital Diagnostics indicate this port is within the
         recommended operating range, value is ok(4).

         If Digital Diagnostics indicate RxPower is higher than
         the high Warning threshold, but has not crossed the Alarm
         threshold, this value should be highWarning (5),.

         If Digital Diagnostics indicate this port has crossed the
         high Alarm threshold, this value should be highAlarm(6).

         The related object nbsCmmcPortRxPower indicates what the
         current RxPower is."

        DEFVAL { ok }
        ::= { nbsCmmcPortEntry 66 }

nbsCmmcPortBiasAmpsLevel  OBJECT-TYPE
        SYNTAX      INTEGER {
            notSupported (1),
            lowAlarm     (2),
            lowWarning   (3),
            ok           (4),
            highWarning  (5),
            highAlarm    (6)
        }
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
        "This object indicates whether this port has a problem
         with the electric current going through the port.

         If this port does not support SFF-8472 Digital Diagnostics,
         this value should be notSupported(1).

         If Digital Diagnostics indicate BiasAmps is below the
         low Alarm Threshold, this value should be lowAlarm(2).

         If Digital Diagnostics indicate BiasAmps is above the
         low Alarm Threshold but below the low Warning threshold,
         this value should be lowWarning(3).

         If Digital Diagnostics indicate this port is within the
         recommended operating range, value is ok(4).

         If Digital Diagnostics indicate BiasAmps is higher than
         the high Warning threshold, but has not crossed the Alarm
         threshold, this value should be highWarning (5),.

         If Digital Diagnostics indicate this port has crossed the
         high Alarm threshold, this value should be highAlarm(6).

         The related object nbsCmmcPortBiasAmps indicates what the
         current amperage is."

        DEFVAL { ok }
        ::= { nbsCmmcPortEntry 67 }

nbsCmmcPortSupplyVoltsLevel  OBJECT-TYPE
        SYNTAX      INTEGER {
            notSupported (1),
            lowAlarm     (2),
            lowWarning   (3),
            ok           (4),
            highWarning  (5),
            highAlarm    (6)
        }
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
        "This object indicates whether this port has a problem
         with the electric voltage across the port.

         If this port does not support SFF-8472 Digital Diagnostics,
         this value should be notSupported(1).

         If Digital Diagnostics indicate SupplyVolts is below the
         low Alarm Threshold, this value should be lowAlarm(2).

         If Digital Diagnostics indicate SupplyVolts is above the
         low Alarm Threshold but below the low Warning threshold,
         this value should be lowWarning(3).

         If Digital Diagnostics indicate this port is within the
         recommended operating range, value is ok(4).

         If Digital Diagnostics indicate SupplyVolts is higher than
         the high Warning threshold, but has not crossed the Alarm
         threshold, this value should be highWarning (5),.

         If Digital Diagnostics indicate this port has crossed the
         high Alarm threshold, this value should be highAlarm(6).

         The related object nbsCmmcPortSupplyVolts indicates what the
         current supply voltage is."

        DEFVAL { ok }
        ::= { nbsCmmcPortEntry 68 }

nbsCmmcPortAmpGainOper OBJECT-TYPE
        SYNTAX      INTEGER
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "The current actual operational gain (in milli dB) of an
             optical amplifier.
             For nbsCmmcSlotType 503, this object only applies to AGC mode.
             The reserved value -1 indicates that this object is
             not supported."
        DEFVAL { -1 }

        ::= { nbsCmmcPortEntry 69}

nbsCmmcPortAmpGainAdmin OBJECT-TYPE
        SYNTAX      INTEGER
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION
            "The user configured administrative gain (in milli dB) of an
             optical amplifier.
             For nbsCmmcSlotType 503, this object only applies to AGC mode.
             The reserved value -1 indicates that this object is
             not supported."
        DEFVAL { -1 }

        ::= { nbsCmmcPortEntry 70 }

nbsCmmcPortAmpOutputPwrAdmin OBJECT-TYPE
        SYNTAX      INTEGER (-2147483648..2147483647)
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION
            "The user configured desired output power (in milli dBm) of
             an optical amplifier.
             For nbsCmmcSlotType 503, this object only applies to APC mode.

             Not supported value: 0x80000000"
        DEFVAL { -2147483648 }

        ::= { nbsCmmcPortEntry 71 }

nbsCmmcPortProtoCapabilities OBJECT-TYPE
        SYNTAX      OCTET STRING(SIZE(0..20))
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "This bitmask indicates which protocols this port can support.
             This object is mandatory for all ports in systems where the
             nbsCmmcSysProtoTable is supported.

             Bit 0 is reserved.

             Subsequent bits refer to the nbsCmmcSysProtoTable.  Bit 1
             corresponds to the first table entry, Bit 2 to the second entry,
             and so on.  A bit is set (1) if that protocol is available for
             this port, cleared (0) if unavailable.

             Bit 1 always indicates 'custom' aka 'userDefined' is supported.
             Bit 2 always indicates 'bypass' aka 'transparent' is supported.

             OCTET STRING bitmasks count the leftmost bit (MSB) as 0.

             A zero length OCTET STRING indicates that this object is not
             supported."

        ::= { nbsCmmcPortEntry 72 }

nbsCmmcPortProtoAdmin  OBJECT-TYPE
        SYNTAX      INTEGER
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION
            "The nbsCmmcSysProtoIndex of nbsCmmcSysProtoTable corresponding
             to the administratively desired family and rate of this port's
             protocol.

             The value 0 is reserved for 'notSupported'

             The value 1 is reserved for 'custom' aka 'userDefined'.
             If a PortNominalBitRate set is received, PortProtoAdmin
             will automatically change to 1.

             The value 2 is reserved for 'bypass' aka 'transparent'.

             Not supported value: 0"
        DEFVAL { 0 }
        ::= { nbsCmmcPortEntry 73 }

nbsCmmcPortProtoOper  OBJECT-TYPE
        SYNTAX      INTEGER
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "The nbsCmmcSysProtoIndex of nbsCmmcSysProtoTable corresponding
             to the current operational family and rate of this port's
             protocol.

             The value 1 is reserved for 'custom' aka 'userDefined'.
             If a PortNominalBitRate set is received, PortProtoAdmin
             will automatically change to 1.

             The value 2 is reserved for 'bypass' aka 'transparent'.

             Not supported value: 0"
        DEFVAL { 0 }
        ::= { nbsCmmcPortEntry 74 }

nbsCmmcPortPreambleLen    OBJECT-TYPE
        SYNTAX      INTEGER {
                notSupported  (1),
                standard      (2),
                variable      (3)
        }
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION
                "Defines the length of the transmitted ethernet preamble for
                 every frame on this port.

                 The value standard(2) indicates the standard 8 byte
                 ethernet preamble should always be sent.

                 The value variable(3) indicates longer preambles may
                 be sent.

                 The value notSupported(1) indicates preamble length is
                 not configurable or not applicable for this port."
        DEFVAL { standard }
        ::= { nbsCmmcPortEntry 75 }

nbsCmmcPortPreferred OBJECT-TYPE
        SYNTAX      INTEGER {
                notSupported (1),
                no           (2),
                yes          (3)
        }
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION
            "Among a group of ports this object per port says whether this
             ports is preferred or not. A preferred port in a redundant
             group (usually a pair of ports) will always be the active
             link if it has link, regardless of the link state of other
             ports in its group.

             Only one port in a redundant group may be preferred. If other
             ports in the same redundant group are already designated
             yes(1), the system should automatically set them to no(2).

             When a port is selected as preferred port, its redundant
             group is assumed to be in revertive mode.

             When no port is selected as preferred port, its redundant
             group is assumed to be in non-revertive (a.k.a. sticky) mode.

             Once selected, a port's actual active state be read via
             the SelectLink object.

             Use caution in designating Preferred ports, because on
             flaky/intermittent lines, this may result in excessive
             failovers.

             If read as notSupported(1), this port either does not belong
             to a redundant group, or its redundant group is always in
             non-revertive (a.k.a. sticky) mode."
        DEFVAL { notSupported }
        ::= { nbsCmmcPortEntry 76 }

nbsCmmcPortCableLen OBJECT-TYPE
        SYNTAX      INTEGER {
                notSupported     (1),
                len133           (2),  --   0 to 133 feet
                len266           (3),  -- 134 to 266 feet
                len399           (4),  -- 267 to 399 feet
                len533           (5),  -- 400 to 533 feet
                len655           (6),  -- 534 to 655 feet
                shortHaul        (7),
                longHaul         (8)
        }
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION
            "This object is used to specify the expected maximum
             cable length for copper DSX ports such as T1, E1, and T3.

             If a port does not use this feature, this object should
             be notSupported (1).

             T1 T-carrier ports should specify a max cable length between
             0 to 655 feet using values len133 (2) through len655 (6).

             T3 T-carrier, E1/E3 E-carrier and STS-1 SONET ports should use
             either the value shortHaul (7) or longHaul (8)."
        DEFVAL { notSupported }
        ::= { nbsCmmcPortEntry 77 }

nbsCmmcPortRedundantTxMode   OBJECT-TYPE
        SYNTAX      INTEGER {
                notSupported  (1),
                oneColonOne   (2),
                onePlusOne    (3)
        }
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION
            "This object determines whether or not a redundant port's
             transmitter should be shut down when that port is on
             standby.

             If both redundant ports are connected (via a Y cable) to
             the same remote port, use the setting oneColonOne (2).
             This 1:1 configuration will turn off the standby
             transmitter so it will not interfere with the active port.

             If each redundant port is connected to its own remote
             port, use the setting onePlusOne(3).  1+1 leaves both
             transmitters on, so the remote site can read its link
             status.

             Any changes to this object are automatically applied to
             this port's redundant pair."
        DEFVAL { oneColonOne }
        ::= { nbsCmmcPortEntry 78 }

nbsCmmcPortTermination   OBJECT-TYPE
        SYNTAX      INTEGER {
                notSupported  (1),
                disable       (2),
                ohm120        (3),
                ohm100        (4),
                ohm75         (5)
        }
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION
            "Administrative setting for the line termination impedance
             of the port.

             The value disable (2) indicates that the line is to be
             terminated elsewhere."
        DEFVAL { disable }
        ::= { nbsCmmcPortEntry 79 }

nbsCmmcPortDescription OBJECT-TYPE
        SYNTAX      DisplayString(SIZE(0..240))
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "A functional description of this port.  May include port's
             role in the module, connector type, and other relevant info."
        ::= { nbsCmmcPortEntry 80 }

nbsCmmcPortTransmitUnmapped OBJECT-TYPE
        SYNTAX      INTEGER {
                notSupported  (1),
                disabled      (2),
                enabled       (3)
        }
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION
          "This object is for crossbar products.  It allows the user
           to choose whether this port's transmitter should be enabled
           or disabled when this port is not mapped to another crossbar
           port.

           Setting the value disabled(2) will cause the transmitter to
           be disabled while the port is unmapped.

           Setting the value enabled(3) will cause this port to
           transmit even if unmappped, unless this entire port is
           disabled via the nbsCmmcPortEnableAdmin object.

           The agent will report this object as notSupported(1) if the
           feature is unavailable for this port."
        DEFVAL { disabled }
        ::= { nbsCmmcPortEntry 81 }

nbsCmmcPortToggleMode OBJECT-TYPE
        SYNTAX      INTEGER {
                notSupported  (1),
                disabled      (2),
                enabled       (3)
        }
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION
          "This object allows to the user to toggle the transmitter of
           this port.

           The value enabled(3) causes the transmitter to blink on and
           off at the rate specified in nbsCmmcSlotToggleRate.

           The value disabled(2) disables the toggle feature.

           The value notSupported(1) indicates that this port does not
           support the toggle feature."
        DEFVAL { disabled }
        ::= { nbsCmmcPortEntry 82 }

nbsCmmcPortCrossConnect OBJECT-TYPE
        SYNTAX      INTEGER {
                notSupported (1),
                operating    (2),
                clearing     (3)
        }
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION
          "For ports supporting cross-connect functionality, this
           object is used to reflect the operating state and clear this
           port from all cross-connect maps.

           If the port is not of cross-connect type, the Agent must
           report notSupported(1). Additionally, if this object reports
           notSupported(1), any SNMP SET to this object should return
           SNMP Error 3 (bad value).

           The Agent should report operating(2) under normal
           circumstances.

           If this object reports operating(2), SNMP Managers are allowed to
           set this object to clearing (3), which instructs the Agent
           to erase the cross-connect map for this port."
        DEFVAL { operating }
        ::= { nbsCmmcPortEntry 83 }

nbsCmmcPortZoneIfIndexAdmin OBJECT-TYPE
        SYNTAX      INTEGER
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION
          "Mib2 ifIndex of desired crossbar partner.  Zero (0) indicates
           this port should be unmapped."
        DEFVAL { 0 }
        ::= { nbsCmmcPortEntry 84 }

nbsCmmcPortZoneIfIndexOper OBJECT-TYPE
        SYNTAX      INTEGER
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
          "Mib2 ifIndex of actual crossbar partner.  Zero (0) indicates
           this port is currently unmapped."
        DEFVAL { 0 }
        ::= { nbsCmmcPortEntry 85 }

nbsCmmcPortEnableOper  OBJECT-TYPE
        SYNTAX      INTEGER {
                notSupported    (1),
                disable         (2),
                enable          (3)
        }
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
          "Actual current operational status of the port.  This object is
           related to the nbsCmmcPortEnableAdmin object, where users
           specify the administrative operational status desired.

           The value notSupported (1) indicates that the port has no ability to
           disable the transceiver.

           The value disable (2) indicates that this port's transceiver is not
           allowing traffic to flow through this port.

           The value enable (3) indicates that this port's transceiver allows
           traffic flow."
        DEFVAL { enable }
        ::= { nbsCmmcPortEntry 86 }

nbsCmmcPortMappingType  OBJECT-TYPE
        SYNTAX      INTEGER {
                notSupported    (1),
                unavailable     (2),
                open            (3),
                source          (4),
                destination     (5),
                sourceHelper    (6),
                interChasLink   (7)
        }
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION
          "Administrative crossbar mapping restrictions for this port.

           Non-crossbar ports must be reported as notSupported(1).
           If notSupported, any SET attempts will be rejected.  Users
           may not set this object to notSupported(1).

           Users may mark the port as unavailable(2).  If unavailable,
           the Agent will reject any attempts to map from or to this
           port.

           By default, each crossbar port is open(3).  Open ports have
           no mapping restrictions.

           Ports that are set to source(4) may be used as the input
           (nbsCmmcPortZoneIfIndexAdmin) port by any other crossbar
           port.  Their own input port may only be mapped to ports
           whose nbsCmmcPortMappingType is sourceHelper(6).

           Ports that are set to destination(5) may set their own input
           (nbsCmmcPortZoneIfIndexAdmin) port to any other crossbar
           port.  They may not be used as the input port for other
           ports.

           A sourceHelper(6) port is used to provide whatever sort of
           link indication is needed by external traffic sources that
           are connected to a source(4) port.

           Ports set to interChasLink(7) are physically cabled to
           another crossbar port in a separate chassis.  That
           connection should be entered by the user in the network
           topology objects nbsCmmcPortRMChassis, nbsCmmcPortRMSlot,
           and nbsCmmcPortRMPort for both those connected ports."
        DEFVAL { open }
        ::= { nbsCmmcPortEntry 87 }

nbsCmmcPortCountersState OBJECT-TYPE
        SYNTAX      INTEGER {
                    notSupported  (1),
                    counting      (2),
                    clearing      (3)
        }
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION
            "This object allows user to reset MAC counters for this port."
        DEFVAL { counting }
        ::= { nbsCmmcPortEntry 88 }

nbsCmmcPortAmpGainMinimum OBJECT-TYPE
        SYNTAX      INTEGER
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "This object indicates (in millidecibels) the smallest gain
             user can set."
        DEFVAL { 0 }
        ::= { nbsCmmcPortEntry 89 }


nbsCmmcPortAmpGainMaximum OBJECT-TYPE
        SYNTAX      INTEGER
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "This object indicates (in millidecibels) the largest gain
             user can set."
        DEFVAL { 0 }
        ::= { nbsCmmcPortEntry 90 }

nbsCmmcPortAmpGainStepSize OBJECT-TYPE
        SYNTAX      INTEGER
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "Resolution (in millidecibels) of amplifier.  Indicates the
             increment between amplifier gain settings."
        DEFVAL { 100 }
        ::= { nbsCmmcPortEntry 91 }

nbsCmmcPortSniffer OBJECT-TYPE
        SYNTAX      INTEGER {
                notSupported    (1),
                off             (2),
                on              (3)
        }
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION
                "Sniffing on or off."
        DEFVAL { off }
        ::= { nbsCmmcPortEntry 92 }

nbsCmmcPortExternalLink1 OBJECT-TYPE
        SYNTAX      InterfaceIndex
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION
          "Equivalent to the nbsCmmcPortRMChassis, nbsCmmcPortRMSlot,
           and nbsCmmcPortRMPort triplet.

           Set to 0 to indicate this port has no associated intra-node or inter-node
           endpoint."

        ::= { nbsCmmcPortEntry 93 }

nbsCmmcPortExternalLink2 OBJECT-TYPE
        SYNTAX      InterfaceIndex
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION
          "For y-cable implementations - set by the user to indicate
           the second intra-node endpoint of a y-cable.

           Set to 0 to indicate this port has no associated intra-node or inter-node
           y-cable endpoint."

        ::= { nbsCmmcPortEntry 94 }

nbsCmmcPortNVAreaBanks   OBJECT-TYPE
        SYNTAX      INTEGER
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "The maximum number of executable images that can be stored
             locally on this module.

             This number does not count any memory banks that are in
             a modular subcomponent of this card. Please refer to
             nbsPartProgNVAreaStart and nbsPartProgNVAreaBanks for that
             information.


             Not supported value: 0"
        DEFVAL { 0 }
        ::= { nbsCmmcPortEntry 95 }

nbsCmmcPortFirmwareCaps OBJECT-TYPE
        SYNTAX      OCTET STRING(SIZE(0..8))
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "This bitmask indicates which executable images this module can
             support.  This object is mandatory for all modules.

             Bit 0 is reserved.

             Subsequent bits refer to the nbsCmmcSysFirmwareTable.  Bit 1
             corresponds to the first table entry, Bit 2 to the second entry,
             and so on.  A bit is set (1) if that image is appropriate for this
             module, cleared (0) if unavailable.

             OCTET STRING bitmasks count the leftmost bit (MSB) as 0.

             A zero length OCTET STRING indicates that the
             nbsCmmcSysFirmwareTable is not supported by this agent."
        ::= { nbsCmmcPortEntry 96 }

nbsCmmcPortFirmwareLoad OBJECT-TYPE
        SYNTAX      OCTET STRING(SIZE(0..8))
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION
            "This bitmask indicates which executable images this module
             has stored in its own NV area.  This object is mandatory for
             all modules.

             OCTET STRING bitmasks count the leftmost bit (MSB) as 0.  Bit 0
             indicates whether an executable image is loading.

             Subsequent bits refer to the nbsCmmcSysFirmwareTable.  Bit 1
             corresponds to the first table entry, Bit 2 to the second entry,
             and so on.  A bit is set (1) if that image is stored on this
             module, cleared (0) if not.

             Clearing bits has no effect. To erase an NV area, use the
             nbsCmmcSysNVAreaTable.

             Users may transfer a file to an NV area by setting the appropriate
             file's bit and the loading (MSB) bit to one (1).  Adding a file
             requires that the NM start a file transfer to this module, which
             is a lengthy operation. If a transfer session is already active
             (nbsCmmcSlotLoader is non-zero), writes to this object will be
             rejected.

             A zero length OCTET STRING indicates that the
             nbsCmmcSysFirmwareTable is not supported by this agent."
        ::= { nbsCmmcPortEntry 97 }

nbsCmmcPortNVAreaAdmin OBJECT-TYPE
        SYNTAX      INTEGER
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION
            "A SET on this object will force the corresponding
             nbsCmmcSysNvAreaStatus to primary, set this module's other
             memory banks to backup, and immediately load and execute
             the firmware image contained in the specified memory bank.

             A GET on this object will indicate the memory bank of this
             module that is currently designated as primary.

             Not supported value: -1"
        DEFVAL { 0 }
        ::= { nbsCmmcPortEntry 98 }

nbsCmmcPortNVAreaOper OBJECT-TYPE
        SYNTAX      INTEGER
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "The nbsCmmcSysNVAreaBank of nbsCmmcSysNVAreaTable corresponding
             to the current operationally active firmware image.

             0 indicates the current active image is NOT in the NVAreaTable.

             Not supported value: -1"
        DEFVAL { -1 }
        ::= { nbsCmmcPortEntry 99 }

nbsCmmcPortLoader OBJECT-TYPE
        SYNTAX      INTEGER
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "The nbsCmmcSysLoaderIndex of nbsCmmcSysLoaderTable
             corresponding to the current loading session.

             0 indicates no loading session is active."
        DEFVAL { 0 }
        ::= { nbsCmmcPortEntry 100 }

-- ************************************************************
-- Objects in the SMTP (Simple Mail Transfer Protocol) group

-- Implementation of the SMTP group is optional, but within the group
-- all the elements are mandatory.  If the SMTP feature is implemented,
-- the entire group should be implemented.
-- ************************************************************
-- This group allows the setup of the mail sender paramters. It is
-- assummed that the device is directly connected to a e-mail server
-- or e-mail relay/forward capable device.
-- ************************************************************

nbsCmmcSmtpDomainName OBJECT-TYPE
        SYNTAX      DisplayString(SIZE(0..50))
        MAX-ACCESS  read-write
        STATUS      deprecated
        DESCRIPTION   "This entry contains the device's domain name.
                       For example myDomain.com. It is used to identify
                       the sender's domain."

        ::= { nbsCmmcSmtpGrp 1 }

nbsCmmcSmtpServerAddress OBJECT-TYPE
        SYNTAX      IpAddress
        MAX-ACCESS  read-write
        STATUS      deprecated
        DESCRIPTION   "Entry containing SMTP server's IP address."

        ::= { nbsCmmcSmtpGrp 2 }

nbsCmmcSmtpRcvrLevel OBJECT-TYPE
        SYNTAX      INTEGER
        MAX-ACCESS  read-only
        STATUS      deprecated
        DESCRIPTION
         "Event severity level threshold for this  SMTP receiver.
          If the event severity level is at least nbsCmmcSmtpRcvrLevel.
          the SNMP agent will generate an e-mail to this SMTP
          receiver."
        DEFVAL { 0 }

        ::= { nbsCmmcSmtpGrp 3 }

nbsCmmcSmtpRcvrNum  OBJECT-TYPE
        SYNTAX      INTEGER
        MAX-ACCESS  read-only
        STATUS      deprecated
        DESCRIPTION   "Maximum number of SMTP receivers in nbsCmmcSmtpRcvrTable."

        ::= { nbsCmmcSmtpGrp 4 }

nbsCmmcSmtpRcvrTable      OBJECT-TYPE
        SYNTAX      SEQUENCE OF NbsCmmcSmtpRcvrEntry
        MAX-ACCESS  not-accessible
        STATUS      deprecated
        DESCRIPTION   "A list of SMTP receivers entries."

        ::= { nbsCmmcSmtpGrp 5 }

nbsCmmcSmtpRcvrEntry OBJECT-TYPE
        SYNTAX      NbsCmmcSmtpRcvrEntry
        MAX-ACCESS  not-accessible
        STATUS      deprecated
        DESCRIPTION
             "Entry containing SMTP information for a particular
              receiver entry."
        INDEX         { nbsCmmcSmtpRcvrIndex }

        ::= { nbsCmmcSmtpRcvrTable 1 }

NbsCmmcSmtpRcvrEntry ::= SEQUENCE {
                nbsCmmcSmtpRcvrIndex        INTEGER,
                nbsCmmcSmtpRcvrEmailAddress DisplayString,
                nbsCmmcSmtpRcvrStatus       INTEGER
        }

nbsCmmcSmtpRcvrIndex  OBJECT-TYPE
        SYNTAX      INTEGER
        MAX-ACCESS  read-only
        STATUS      deprecated
        DESCRIPTION
                "The Email Recipient Index"

        ::= { nbsCmmcSmtpRcvrEntry 1 }

nbsCmmcSmtpRcvrEmailAddress OBJECT-TYPE
        SYNTAX      DisplayString(SIZE(0..50))
        MAX-ACCESS  read-write
        STATUS      deprecated
        DESCRIPTION
                 "Entry containing SMTP receiver's domain name (email address).
                  The default is the device's domain name, if set."

        ::= { nbsCmmcSmtpRcvrEntry 2 }

nbsCmmcSmtpRcvrStatus    OBJECT-TYPE
        SYNTAX      INTEGER{
                      invalid (1), -- entry is invalid (deleted)
                      valid   (2)    -- entry is valid   (add)
        }
        MAX-ACCESS  read-write
        STATUS      deprecated
        DESCRIPTION
             "To add a new entry to the nbsCmmcSmtpRcvrTable, set this
              object to valid(2) for an IP address which is not
              already in the table.  To remove an entry from the
              table, set this object to invalid(1)."

        ::= { nbsCmmcSmtpRcvrEntry 3 }

-- ************************************************************
-- Objects in the sysLog (System Log) group
--
-- Implementation of the sysLog group is mandatory.
--
-- ************************************************************

nbsCmmcSysLogRunningLevel OBJECT-TYPE
        SYNTAX      INTEGER {
                      disabled (1),
                      fatal    (2),
                      error    (3),
                      warning  (4),
                      info     (5),
                      memo     (6),
                      alarm    (7)
        }
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION
           "Indicates the level at which the system log message handler
            saves to a running message log.

            The level disabled(1) instructs the Agent to log nothing.
            This level may not be supported in some Agent versions.

            The level fatal(2) instructs Agent to log only events such
            as unplanned system shutdowns.

            The level error(3) includes fatal(2) events and events such
            as module failures.

            The level alarm(7) includes fatal(2), error(3), and other
            events that probably require immediate attention.

            The level warning(4) includes fatal(2), error(3), alarm(7),
            as well as events that probably need attention.

            The level info(5) includes all higher severities, plus
            events that indicate interesting but not necessarily
            problematic conditions.

            The level memo(6) includes all event notifications."

        DEFVAL { warning }

        ::= { nbsCmmcSysLogGrp 1 }


nbsCmmcSysLogNvLevel OBJECT-TYPE
        SYNTAX      INTEGER {
                      disabled (1),
                      fatal    (2),
                      error    (3),
                      warning  (4),
                      info     (5),
                      memo     (6),
                      alarm    (7)
        }
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION
          "Indicates the level at which the system log message handler
           saves in a non-volatile media(NVRAM,FLASH,etc.).

           For descriptions of each level, please see the DESCRIPTION
           for nbsCmmcSysLogRunningLevel."
        DEFVAL { disabled }

        ::= { nbsCmmcSysLogGrp 2 }

nbsCmmcSysLogTrapLevel OBJECT-TYPE
        SYNTAX      INTEGER {
                      disabled   (1),
                      fatal      (2),
                      error      (3),
                      warning    (4),
                      info       (5),
                      memo       (6),
                      alarm      (7)
        }
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION
           "Indicates the level at which the system log message handler
            should generate a trap or SNMP notification.

           For descriptions of each level, please see the DESCRIPTION
           for nbsCmmcSysLogRunningLevel."
        DEFVAL { warning }

        ::= { nbsCmmcSysLogGrp 3 }

nbsCmmcSysLogEmailLevel OBJECT-TYPE
        SYNTAX      INTEGER {
                      disabled     (1),
                      fatal        (2),
                      error        (3),
                      warning      (4),
                      deprecated5  (5),
                      deprecated6  (6),
                      alarm        (7),
                      notSupported (8)
        }
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION
           "Indicates the level at which the system log message handler
            should generate an email message.

           For descriptions of each level, please see the DESCRIPTION
           for nbsCmmcSysLogRunningLevel."
        DEFVAL { disabled }

        ::= { nbsCmmcSysLogGrp 4 }

--
-- the Log message table
--

nbsCmmcSysLogMessageTable OBJECT-TYPE
        SYNTAX      SEQUENCE OF NbsCmmcSysLogMessageEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
                "This table defines a severity level for each type
                 of message/event generated by the system."

        ::= { nbsCmmcSysLogGrp 5 }

nbsCmmcSysLogMessageEntry OBJECT-TYPE
        SYNTAX      NbsCmmcSysLogMessageEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION   "A system log message control table entry."
        INDEX         { nbsCmmcSysLogMessageType }

        ::= { nbsCmmcSysLogMessageTable 1 }

NbsCmmcSysLogMessageEntry ::= SEQUENCE {
                nbsCmmcSysLogMessageType      INTEGER,
                nbsCmmcSysLogMessageSeverity  INTEGER
        }

nbsCmmcSysLogMessageType  OBJECT-TYPE
        SYNTAX      INTEGER {
            sysReset     (1), -- system resets
            snmp         (2), -- snmp : authentication, etc..
            physTraps    (3), -- physical layer : link up/down, etc..
            dot1dBridge  (4), -- bridging : 802.1d , STP, etc..
            sysAuthentic (5)  -- system authentication (IP access, etc)
        }
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION   "System log message type."
        ::= { nbsCmmcSysLogMessageEntry 1 }


nbsCmmcSysLogMessageSeverity OBJECT-TYPE
        SYNTAX      INTEGER {
            informational(1),     -- informational messages
            warnings(10),         -- warnings
            errors(100),          -- errors
            emergencies(1000),    -- fatal errors
            debugging(10000)      -- debug information
        }
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION   "System log message severity."
        ::= { nbsCmmcSysLogMessageEntry 2 }


--
-- the Running log message table
--

nbsCmmcSysRunningLogMessageTotal  OBJECT-TYPE
        SYNTAX      INTEGER
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION   "Total number of messages in Running log table."
        ::= { nbsCmmcSysLogGrp 6 }

nbsCmmcSysRunningLogMessageTable OBJECT-TYPE
        SYNTAX      SEQUENCE OF NbsCmmcSysRunningLogMessageEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
                "A table that describes the logged messages"

        ::= { nbsCmmcSysLogGrp 7 }

nbsCmmcSysRunningLogMessageEntry      OBJECT-TYPE
        SYNTAX      NbsCmmcSysRunningLogMessageEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
                "Contains a description of a particular message entry"

        INDEX { nbsCmmcSysRunningLogMessageIndex }

        ::= { nbsCmmcSysRunningLogMessageTable 1 }

NbsCmmcSysRunningLogMessageEntry ::= SEQUENCE {

        nbsCmmcSysRunningLogMessageIndex        INTEGER,
        nbsCmmcSysRunningLogMessageSeverity     DisplayString,
        nbsCmmcSysRunningLogMessageErrorID      INTEGER,
        nbsCmmcSysRunningLogMessageSession      INTEGER,
        nbsCmmcSysRunningLogMessageTime         INTEGER,
        nbsCmmcSysRunningLogMessageModule       DisplayString,
        nbsCmmcSysRunningLogMessageString       DisplayString
}

nbsCmmcSysRunningLogMessageIndex OBJECT-TYPE
        SYNTAX      INTEGER
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
                 "The index of the message entry."

        ::= { nbsCmmcSysRunningLogMessageEntry 1 }

nbsCmmcSysRunningLogMessageSeverity  OBJECT-TYPE
        SYNTAX      DisplayString(SIZE(0..255))
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
                "The importance of this event."

        ::= { nbsCmmcSysRunningLogMessageEntry 2 }

nbsCmmcSysRunningLogMessageErrorID OBJECT-TYPE
        SYNTAX      INTEGER
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
                "Error code of the message."

        ::= { nbsCmmcSysRunningLogMessageEntry 3 }

nbsCmmcSysRunningLogMessageSession OBJECT-TYPE
        SYNTAX      INTEGER
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
                "Module Id of session causing the event."

        ::= { nbsCmmcSysRunningLogMessageEntry 4 }

nbsCmmcSysRunningLogMessageTime OBJECT-TYPE
        SYNTAX      INTEGER
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
                "Time of occurrence of the event."

        ::= { nbsCmmcSysRunningLogMessageEntry 5 }

nbsCmmcSysRunningLogMessageModule  OBJECT-TYPE
        SYNTAX      DisplayString(SIZE(0..255))
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
                "The name of the module causing the event."

        ::= { nbsCmmcSysRunningLogMessageEntry 6 }

nbsCmmcSysRunningLogMessageString  OBJECT-TYPE
        SYNTAX      DisplayString(SIZE(0..255))
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
                "The actual event message."

        ::= { nbsCmmcSysRunningLogMessageEntry 7 }


nbsCmmcSysNvramLogMessageTotal  OBJECT-TYPE
        SYNTAX      INTEGER
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION   "Total number of messages in Nvram log table."

        ::= { nbsCmmcSysLogGrp 8 }

--
-- the NVRAM log message table
--

nbsCmmcSysNvramLogMessageTable OBJECT-TYPE
        SYNTAX      SEQUENCE OF NbsCmmcSysNvramLogMessageEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
                "A table that describes the logged messages"

        ::= { nbsCmmcSysLogGrp 9 }

nbsCmmcSysNvramLogMessageEntry      OBJECT-TYPE
        SYNTAX      NbsCmmcSysNvramLogMessageEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
                "Contains a description of a particular message entry"

        INDEX { nbsCmmcSysNvramLogMessageIndex }

        ::= { nbsCmmcSysNvramLogMessageTable 1 }

NbsCmmcSysNvramLogMessageEntry ::= SEQUENCE {

        nbsCmmcSysNvramLogMessageIndex      INTEGER,
        nbsCmmcSysNvramLogMessageSeverity   DisplayString,
        nbsCmmcSysNvramLogMessageErrorID    INTEGER,
        nbsCmmcSysNvramLogMessageSession    INTEGER,
        nbsCmmcSysNvramLogMessageTime       INTEGER,
        nbsCmmcSysNvramLogMessageModule     DisplayString,
        nbsCmmcSysNvramLogMessageString     DisplayString,
        nbsCmmcSysNvramLogMessagePTime      INTEGER,
        nbsCmmcSysNvramLogMessageDateTime   DisplayString
}

nbsCmmcSysNvramLogMessageIndex OBJECT-TYPE
        SYNTAX      INTEGER
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
                 "The index of the message entry."

        ::= { nbsCmmcSysNvramLogMessageEntry 1 }

nbsCmmcSysNvramLogMessageSeverity  OBJECT-TYPE
        SYNTAX      DisplayString(SIZE(0..255))
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
                "Severity of the error."

        ::= { nbsCmmcSysNvramLogMessageEntry 2 }

nbsCmmcSysNvramLogMessageErrorID OBJECT-TYPE
        SYNTAX      INTEGER
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
                "Error code of the message."

        ::= { nbsCmmcSysNvramLogMessageEntry 3 }

nbsCmmcSysNvramLogMessageSession OBJECT-TYPE
        SYNTAX      INTEGER
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
                "Module Id of session causing the error."

        ::= { nbsCmmcSysNvramLogMessageEntry 4 }

nbsCmmcSysNvramLogMessageTime OBJECT-TYPE
        SYNTAX      INTEGER
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
                "Value of MIB-II sysUpTime (RFC 1213) at the time the
                 error occurred.  Note that sysUpTime resets to zero
                 each time the agent is restarted."
        ::= { nbsCmmcSysNvramLogMessageEntry 5 }

nbsCmmcSysNvramLogMessageModule  OBJECT-TYPE
        SYNTAX      DisplayString(SIZE(0..255))
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
                "The name of the module causing the error."

        ::= { nbsCmmcSysNvramLogMessageEntry 6 }

nbsCmmcSysNvramLogMessageString  OBJECT-TYPE
        SYNTAX      DisplayString(SIZE(0..255))
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
                "The actual error message."

        ::= { nbsCmmcSysNvramLogMessageEntry 7 }

nbsCmmcSysNvramLogMessagePTime OBJECT-TYPE
        SYNTAX      INTEGER
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
                "The nbsCmmcSysCurrentTime at the moment this entry
                 was made.  This timestamp is derived from the Time
                 Protocol (RFC 868), so it is independent of the
                 system's UpTime.  If the agent is unable to obtain
                 the current time from a Time Protocol server, this
                 value is 0.

                 Not supported value: 0"

        ::= { nbsCmmcSysNvramLogMessageEntry 8 }


nbsCmmcSysNvramLogMessageDateTime OBJECT-TYPE
        SYNTAX      DisplayString(SIZE(0..24))
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
                "The nbsCmmcSysCurrentDateTime at the moment this
                 entry was made.  This timestamp is derived from
                 nbsCmmcSysNvramLogMessagePTime, so it is independent
                 of the system's UpTime."

        ::= { nbsCmmcSysNvramLogMessageEntry 9 }

--
-- the Audit log table
--

nbsCmmcSysAuditLogTotal OBJECT-TYPE
        SYNTAX      INTEGER
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
                 "The number of entries in the audit log."
        ::= { nbsCmmcSysLogGrp 10 }

nbsCmmcSysAuditLogTable OBJECT-TYPE
        SYNTAX      SEQUENCE OF NbsCmmcSysAuditLogEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
                "User activity log."
        ::= { nbsCmmcSysLogGrp 11 }

nbsCmmcSysAuditLogEntry      OBJECT-TYPE
        SYNTAX      NbsCmmcSysAuditLogEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
                "Contains a description of a particular message entry"
        INDEX { nbsCmmcSysAuditLogIndex }
        ::= { nbsCmmcSysAuditLogTable 1 }


NbsCmmcSysAuditLogEntry ::= SEQUENCE {
        nbsCmmcSysAuditLogIndex      INTEGER,
        nbsCmmcSysAuditLogUpTime     INTEGER,
        nbsCmmcSysAuditLogDateTime   DisplayString,
        nbsCmmcSysAuditLogString     DisplayString
}

nbsCmmcSysAuditLogIndex OBJECT-TYPE
        SYNTAX      INTEGER
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
                 "The index of the message entry."

        ::= { nbsCmmcSysAuditLogEntry 1 }

nbsCmmcSysAuditLogUpTime OBJECT-TYPE
        SYNTAX      INTEGER
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
                "Value of MIB-II sysUpTime (RFC 1213) at the time the
                 error occurred.  Note that sysUpTime resets to zero
                 each time the agent is restarted."

        ::= { nbsCmmcSysAuditLogEntry 2 }

nbsCmmcSysAuditLogDateTime OBJECT-TYPE
        SYNTAX      DisplayString(SIZE(0..24))
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
                "The nbsCmmcSysCurrentDateTime at the moment this
                 entry was made.  This timestamp is independent
                 of the system's UpTime."

        ::= { nbsCmmcSysAuditLogEntry 3 }


nbsCmmcSysAuditLogString  OBJECT-TYPE
        SYNTAX      DisplayString(SIZE(0..250))
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
                "Log entry.  Usually username:login or username:logout"

        ::= { nbsCmmcSysAuditLogEntry 4 }

nbsCmmcSysLogRemoteServer  OBJECT-TYPE
        SYNTAX      IpAddress
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION
                "The IP address that rsyslog messages should be sent to."
        ::= { nbsCmmcSysLogGrp 12 }

nbsCmmcSysLogRemoteLevel OBJECT-TYPE
        SYNTAX      INTEGER {
                      disabled (1),
                      emerg    (2),
                      alert    (3),
                      crit     (4),
                      error    (5),
                      warning  (6),
                      notice   (7),
                      info     (8),
                      debug    (9)
        }
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION
          "Indicates the level at which the system log message handler
           sends to remote syslog server."
        DEFVAL { notice }
        ::= { nbsCmmcSysLogGrp 13 }

nbsCmmcSysRunningLogMessageClear OBJECT-TYPE
        SYNTAX      INTEGER {
                      notSupported (1),
                      operating    (2),
                      clearing     (3)
        }
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION
          "This object is used to erase all entries from the Agent's
           internal Running Log.

           If the Agent does not support this feature, it must return
           the value notSupported(1), and any SNMP SET to this object
           should get an SNMP error badValue(3) in response.

           If this object is supported, the Agent normally should
           report the value operating(2).  If it is actually deleting
           the log, it may report the value clearing(3).

           SNMP Managers may set this object to clearing(3), which
           indicates to the Agent that the log should be emptied."
        DEFVAL { operating }
        ::= { nbsCmmcSysLogGrp 14 }

nbsCmmcSysNvramLogMessageClear OBJECT-TYPE
        SYNTAX      INTEGER {
                      notSupported (1),
                      operating    (2),
                      clearing     (3)
        }
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION
          "This object is used to erase all entries from the Agent's
           internal NVRAM (Persistent Memory) Log.

           If the Agent does not support this feature, it must return
           the value notSupported(1), and any SNMP SET to this object
           should get an SNMP error badValue(3) in response.

           If this object is supported, the Agent normally should
           report the value operating(2).  If it is actually deleting
           the log, it may report the value clearing(3).

           SNMP Managers may set this object to clearing(3), which
           indicates to the Agent that the log should be emptied."
        DEFVAL { operating }
        ::= { nbsCmmcSysLogGrp 15 }

nbsCmmcSysAuditLogClear OBJECT-TYPE
        SYNTAX      INTEGER {
                      notSupported (1),
                      operating    (2),
                      clearing     (3)
        }
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION
          "This object is used to erase all entries from the Agent's
           internal Audit Log.

           If the Agent does not support this feature, it must return
           the value notSupported(1), and any SNMP SET to this object
           should get an SNMP error badValue(3) in response.

           If this object is supported, the Agent normally should
           report the value operating(2).  If it is actually deleting
           the log, it may report the value clearing(3).

           SNMP Managers may set this object to clearing(3), which
           indicates to the Agent that the log should be emptied."
        DEFVAL { operating }
        ::= { nbsCmmcSysLogGrp 16 }

nbsCmmcSysLogNvSize OBJECT-TYPE
        SYNTAX      INTEGER (4..65535)
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION
                 "How large the Nvram log is allowed to be (in kilobytes)."

        DEFVAL { 64 }
        ::= { nbsCmmcSysLogGrp 17 }



-- ******************************************************************
--
-- Objects for the TRAP message configuration.
--
-- Implementation of the nbsCmmcTrapGrp is mandatory.
--
-- ******************************************************************

nbsCmmcTrapLastMessage  OBJECT-TYPE
        SYNTAX      DisplayString(SIZE(0..255))
        MAX-ACCESS  accessible-for-notify
        STATUS      current
        DESCRIPTION
                "The last message sent by the system"

        ::= { nbsCmmcTrapGrp 1 }


nbsCmmcTrapPowerSupplyId  OBJECT-TYPE
        SYNTAX      INTEGER
        MAX-ACCESS  accessible-for-notify
        STATUS      current
        DESCRIPTION
                "ID of the power supply"

        ::= { nbsCmmcTrapGrp 2 }

nbsCmmcTrapFanId  OBJECT-TYPE
        SYNTAX      INTEGER
        MAX-ACCESS  accessible-for-notify
        STATUS      current
        DESCRIPTION
                "ID of the fan"

        ::= { nbsCmmcTrapGrp 3 }

nbsCmmcTrapPortIndex  OBJECT-TYPE
        SYNTAX      INTEGER
        MAX-ACCESS  accessible-for-notify
        STATUS      current
        DESCRIPTION
                "Index of the Port"

        ::= { nbsCmmcTrapGrp 4 }

nbsCmmcTrapPortName  OBJECT-TYPE
        SYNTAX      DisplayString(SIZE(0..50))
        MAX-ACCESS  accessible-for-notify
        STATUS      current
        DESCRIPTION
                "Name of the Port"

        ::= { nbsCmmcTrapGrp 5 }

nbsCmmcTrapShutdownReason  OBJECT-TYPE
        SYNTAX      DisplayString(SIZE(0..255))
        MAX-ACCESS  accessible-for-notify
        STATUS      current
        DESCRIPTION
                "The reason for the last system shutdown"

        ::= { nbsCmmcTrapGrp 6 }

nbsCmmcTrapErrorInfo  OBJECT-TYPE
        SYNTAX      DisplayString(SIZE(0..255))
        MAX-ACCESS  accessible-for-notify
        STATUS      current
        DESCRIPTION
                "Brief explanation of the cause or nature of errors
                 that triggered an nbsCmmcTrapPortErrorsDetected trap."
        DEFVAL { "Ethernet." }
        ::= { nbsCmmcTrapGrp 7 }

nbsCmmcSlotModelLocked  OBJECT-TYPE
        SYNTAX      DisplayString(SIZE(0..50))
        MAX-ACCESS  accessible-for-notify
        STATUS      current
        DESCRIPTION
                "The model of the slot's saved configuration."
        ::= { nbsCmmcTrapGrp 10 }

nbsCmmcSlotModelInserted  OBJECT-TYPE
        SYNTAX      DisplayString(SIZE(0..50))
        MAX-ACCESS  accessible-for-notify
        STATUS      current
        DESCRIPTION
                "The model of the newly inserted module."
        ::= { nbsCmmcTrapGrp 11 }



-- ********************************************************************
-- nbsCmmcTraps
-- ********************************************************************

nbsCmmcTrapGenericTrap  NOTIFICATION-TYPE
        OBJECTS   { nbsCmmcTrapLastMessage }
        STATUS      deprecated
        DESCRIPTION
                "The last message sent by the system."
        ::= { nbsCmmcTraps0 1}

nbsCmmcTrapSpecificTrap  NOTIFICATION-TYPE
        OBJECTS   { nbsCmmcTrapLastMessage }
        STATUS      deprecated
        DESCRIPTION
                "*********  DEPRECATED **********
                 As of Agent version 4.14, this trap will not be sent."
        ::= { nbsCmmcTraps0 2 }

nbsCmmcTrapDeviceRebooted  NOTIFICATION-TYPE
        OBJECTS   { nbsCmmcTrapLastMessage, nbsCmmcTrapShutdownReason }
        STATUS      current
        DESCRIPTION
                "Sent after device boots up.  The cause of the last
                 shutdown is indicated in nbsCmmcTrapShutdownReason.

                 This Notification should be of Severity FATAL."
        ::= { nbsCmmcTraps0 3 }

nbsCmmcTrapDeviceOnline  NOTIFICATION-TYPE
        OBJECTS   { nbsCmmcTrapLastMessage, nbsCmmcChassisIndex,
                    nbsCmmcSlotIndex }
        STATUS      current
        DESCRIPTION
                "Sent when device detects restoration of network
                 communications. ChassisIndex and SlotIndex indicate
                 the location of the NM issuing the trap

                 This Notification should be of Severity WARNING."
        ::= { nbsCmmcTraps0 4 }

nbsCmmcTrapDeviceShuttingDown  NOTIFICATION-TYPE
        OBJECTS   { nbsCmmcTrapLastMessage, nbsCmmcTrapShutdownReason }
        STATUS      current
        DESCRIPTION
                "Sent just before device shuts itself down. Reason for
                 shutdown is indicated in nbsCmmcTrapShutdownReason.

                 This Notification should be of Severity FATAL."
        ::= { nbsCmmcTraps0 5 }

nbsCmmcTrapPowerSupplyFailure  NOTIFICATION-TYPE
        OBJECTS   { nbsCmmcTrapLastMessage, nbsCmmcChassisIndex,
                     nbsCmmcTrapPowerSupplyId, nbsCmmcChassisName }
        STATUS      current
        DESCRIPTION
                "Unique trap for power supply failure events.

                 This Notification should be of Severity ERROR."
        ::= { nbsCmmcTraps0 6 }

nbsCmmcTrapPowerSupplyRestored  NOTIFICATION-TYPE
        OBJECTS   { nbsCmmcTrapLastMessage, nbsCmmcChassisIndex,
                     nbsCmmcTrapPowerSupplyId, nbsCmmcChassisName }
        STATUS      current
        DESCRIPTION
                "Sent when power supply starts working again.

                 This Notification should be of Severity ERROR."
        ::= { nbsCmmcTraps0 7 }

nbsCmmcTrapFanFailure  NOTIFICATION-TYPE
        OBJECTS   { nbsCmmcTrapLastMessage, nbsCmmcChassisIndex,
                     nbsCmmcTrapFanId, nbsCmmcChassisName }
        STATUS      current
        DESCRIPTION
                "Unique trap for fan failure events.

                 This Notification should be of Severity WARNING."
        ::= { nbsCmmcTraps0 8 }

nbsCmmcTrapFanRestored  NOTIFICATION-TYPE
        OBJECTS   { nbsCmmcTrapLastMessage, nbsCmmcChassisIndex,
                     nbsCmmcTrapFanId, nbsCmmcChassisName }
        STATUS      current
        DESCRIPTION
                "Sent when fan starts working again.

                 This Notification should be of Severity WARNING."
        ::= { nbsCmmcTraps0 9 }

nbsCmmcTrapChassisTempTooHigh  NOTIFICATION-TYPE
        OBJECTS   { nbsCmmcTrapLastMessage, nbsCmmcChassisIndex,
                     nbsCmmcChassisTemperature,
                     nbsCmmcChassisTemperatureLimit, nbsCmmcChassisName }
        STATUS      current
        DESCRIPTION
                "Sent when temperature rises above hottest permissible
                 temperature.

                 This Notification should be of Severity ERROR."
        ::= { nbsCmmcTraps0 10 }

nbsCmmcTrapChassisTempTooLow  NOTIFICATION-TYPE
        OBJECTS   { nbsCmmcTrapLastMessage, nbsCmmcChassisIndex,
                     nbsCmmcChassisTemperature,
                     nbsCmmcChassisTemperatureMin, nbsCmmcChassisName }
        STATUS      current
        DESCRIPTION
                "Sent when temperature falls under coldest permissible
                 temperature.

                 This Notification should be of Severity ERROR."
        ::= { nbsCmmcTraps0 11 }

nbsCmmcTrapChassisTempOk  NOTIFICATION-TYPE
        OBJECTS   { nbsCmmcTrapLastMessage, nbsCmmcChassisIndex,
                     nbsCmmcChassisTemperature, nbsCmmcChassisName }
        STATUS      current
        DESCRIPTION
                "Sent when temperature returns to permissible range.

                 This Notification should be of Severity ERROR."
        ::= { nbsCmmcTraps0 12 }

nbsCmmcTrapSlotModuleIn  NOTIFICATION-TYPE
        OBJECTS   { nbsCmmcTrapLastMessage, nbsCmmcChassisIndex,
                     nbsCmmcSlotIndex, nbsCmmcSlotType, nbsCmmcChassisName,
                     nbsCmmcSlotName }
        STATUS      current
        DESCRIPTION
                "Sent when card is physically inserted.

                 This Notification should be of Severity ERROR."
        ::= { nbsCmmcTraps0 13 }

nbsCmmcTrapSlotModuleOut  NOTIFICATION-TYPE
        OBJECTS   { nbsCmmcTrapLastMessage, nbsCmmcChassisIndex,
                     nbsCmmcSlotIndex, nbsCmmcSlotType, nbsCmmcChassisName,
                     nbsCmmcSlotName }
        STATUS      current
        DESCRIPTION
                "Sent when card is physically removed.

                 This Notification should be of Severity ERROR."
        ::= { nbsCmmcTraps0 14 }


nbsCmmcTrapPortEnabled  NOTIFICATION-TYPE
        OBJECTS   { nbsCmmcTrapLastMessage, nbsCmmcChassisIndex,
                     nbsCmmcSlotIndex, nbsCmmcPortIndex, nbsCmmcChassisName,
                     nbsCmmcSlotName, nbsCmmcPortName }
        STATUS      current
        DESCRIPTION
                "Sent after nbsCmmcPortEnableOper changes to enable(3).

                 This Notification should be of Severity WARNING."
        ::= { nbsCmmcTraps0 15 }

nbsCmmcTrapPortDisabled  NOTIFICATION-TYPE
        OBJECTS   { nbsCmmcTrapLastMessage, nbsCmmcChassisIndex,
                     nbsCmmcSlotIndex, nbsCmmcPortIndex, nbsCmmcChassisName,
                     nbsCmmcSlotName, nbsCmmcPortName }
        STATUS      current
        DESCRIPTION
                "Sent after nbsCmmcPortEnableOper changes to disable(2).

                 This Notification should be of Severity WARNING."
        ::= { nbsCmmcTraps0 16 }

nbsCmmcTrapPortLinkUp  NOTIFICATION-TYPE
        OBJECTS   { nbsCmmcTrapLastMessage, nbsCmmcChassisIndex,
                     nbsCmmcSlotIndex, nbsCmmcPortIndex, nbsCmmcPortLink,
                     nbsCmmcChassisName, nbsCmmcSlotName, nbsCmmcPortName }
        STATUS      current
        DESCRIPTION
                "Sent when nbsCmmcPortLink transitions from noSignal(2)
                 to a connected state.

                 This Notification should be of Severity ERROR."
        ::= { nbsCmmcTraps0 17 }

nbsCmmcTrapPortLinkDown  NOTIFICATION-TYPE
        OBJECTS   { nbsCmmcTrapLastMessage, nbsCmmcChassisIndex,
                     nbsCmmcSlotIndex, nbsCmmcPortIndex, nbsCmmcChassisName,
                     nbsCmmcSlotName, nbsCmmcPortName }
        STATUS      current
        DESCRIPTION
                "Sent when nbsCmmcPortLink transitions from a connected
                 state to noSignal(2).

                 This Notification should be of Severity ERROR."
        ::= { nbsCmmcTraps0 18 }

nbsCmmcTrapPortLINOn  NOTIFICATION-TYPE
        OBJECTS   { nbsCmmcTrapLastMessage, nbsCmmcChassisIndex,
                     nbsCmmcSlotIndex, nbsCmmcPortIndex, nbsCmmcChassisName,
                     nbsCmmcSlotName, nbsCmmcPortName }
        STATUS      current
        DESCRIPTION
                "Sent when Link Integrity Notification is turned on.

                 This Notification should be of Severity WARNING."
        ::= { nbsCmmcTraps0 19 }

nbsCmmcTrapPortLINOff  NOTIFICATION-TYPE
        OBJECTS   { nbsCmmcTrapLastMessage, nbsCmmcChassisIndex,
                     nbsCmmcSlotIndex, nbsCmmcPortIndex, nbsCmmcChassisName,
                     nbsCmmcSlotName, nbsCmmcPortName }
        STATUS      current
        DESCRIPTION
                "Sent when Link Integrity Notification is turned off.

                 This Notification should be of Severity WARNING."
        ::= { nbsCmmcTraps0 20 }

nbsCmmcTrapPortLoopbackOn  NOTIFICATION-TYPE
        OBJECTS   { nbsCmmcTrapLastMessage, nbsCmmcChassisIndex,
                     nbsCmmcSlotIndex, nbsCmmcPortIndex, nbsCmmcChassisName,
                     nbsCmmcSlotName, nbsCmmcPortName }
        STATUS      current
        DESCRIPTION
                "Sent when Port is set to a Loopback state.

                 This Notification should be of Severity WARNING."
        ::= { nbsCmmcTraps0 21 }

nbsCmmcTrapPortLoopbackOff  NOTIFICATION-TYPE
        OBJECTS   { nbsCmmcTrapLastMessage, nbsCmmcChassisIndex,
                     nbsCmmcSlotIndex, nbsCmmcPortIndex, nbsCmmcChassisName,
                     nbsCmmcSlotName, nbsCmmcPortName }
        STATUS      current
        DESCRIPTION
                "Sent when Port returns from a Loopback state.

                 This Notification should be of Severity WARNING."
        ::= { nbsCmmcTraps0 22 }

nbsCmmcTrapPortMaximumExceeded  NOTIFICATION-TYPE
        OBJECTS   { nbsCmmcTrapLastMessage, nbsCmmcChassisIndex,
                      nbsCmmcSlotIndex, nbsCmmcPortIndex,
                      nbsCmmcPortThreshold, nbsCmmcPortValue,
                      nbsCmmcChassisName, nbsCmmcSlotName,
                      nbsCmmcPortName }
        STATUS      current
        DESCRIPTION
                "Sent when PortValue exceeds PortThreshold.

                 This Notification should be of Severity WARNING."
        ::= { nbsCmmcTraps0 23 }

nbsCmmcTrapPortRemoved  NOTIFICATION-TYPE
        OBJECTS   { nbsCmmcTrapLastMessage, nbsCmmcChassisIndex,
                      nbsCmmcSlotIndex, nbsCmmcPortIndex,
                      nbsCmmcChassisName, nbsCmmcSlotName,
                      nbsCmmcPortName }
        STATUS      current
        DESCRIPTION
                "Sent when a hot-swappable port is removed.

                 This Notification should be of Severity WARNING."
        ::= { nbsCmmcTraps0 24 }

nbsCmmcTrapPortInserted  NOTIFICATION-TYPE
        OBJECTS   { nbsCmmcTrapLastMessage, nbsCmmcChassisIndex,
                      nbsCmmcSlotIndex, nbsCmmcPortIndex,
                      nbsCmmcPortConnector, nbsCmmcPortWavelength,
                      nbsCmmcChassisName, nbsCmmcSlotName,
                      nbsCmmcPortName }
        STATUS      current
        DESCRIPTION
                "Sent when a hot-swappable port is inserted.

                 This Notification should be of Severity WARNING."

        ::= { nbsCmmcTraps0 25 }

nbsCmmcTrapPortTempTooLow  NOTIFICATION-TYPE
        OBJECTS   { nbsCmmcTrapLastMessage, nbsCmmcChassisIndex,
                      nbsCmmcSlotIndex, nbsCmmcPortIndex,
                      nbsCmmcPortTemperature, nbsCmmcChassisName,
                      nbsCmmcSlotName, nbsCmmcPortName,
                      nbsCmmcPortThreshold,nbsCmmcPortTemperatureLevel }
        STATUS      current
        DESCRIPTION
                "Sent when transmitter temperature is too cold.  For
                 SFF Digital Diagnostics, this corresponds to the low
                 temperature alarm.

                 This Notification should be of Severity ERROR."
        ::= { nbsCmmcTraps0 26 }

nbsCmmcTrapPortTempTooHigh  NOTIFICATION-TYPE
        OBJECTS   { nbsCmmcTrapLastMessage, nbsCmmcChassisIndex,
                      nbsCmmcSlotIndex, nbsCmmcPortIndex,
                      nbsCmmcPortTemperature, nbsCmmcChassisName,
                      nbsCmmcSlotName, nbsCmmcPortName,
                      nbsCmmcPortThreshold,nbsCmmcPortTemperatureLevel }
        STATUS      current
        DESCRIPTION
                "Sent when transmitter temperature is too hot.  For
                 SFF Digital Diagnostics, this corresponds to the high
                 temperature alarm.

                 This Notification should be of Severity ERROR."
        ::= { nbsCmmcTraps0 27 }

nbsCmmcTrapPortRxPowerTooLow  NOTIFICATION-TYPE
        OBJECTS   { nbsCmmcTrapLastMessage, nbsCmmcChassisIndex,
                      nbsCmmcSlotIndex, nbsCmmcPortIndex,
                      nbsCmmcPortRxPower, nbsCmmcChassisName,
                      nbsCmmcSlotName, nbsCmmcPortName,
                      nbsCmmcPortThreshold,nbsCmmcPortRxPowerLevel }
        STATUS      current
        DESCRIPTION
                "Sent when received signal is too weak.  For
                 SFF Digital Diagnostics, this corresponds to the low
                 RX power alarm.

                 This Notification should be of Severity ERROR."
        ::= { nbsCmmcTraps0 28 }

nbsCmmcTrapPortRxPowerTooHigh  NOTIFICATION-TYPE
        OBJECTS   { nbsCmmcTrapLastMessage, nbsCmmcChassisIndex,
                      nbsCmmcSlotIndex, nbsCmmcPortIndex,
                      nbsCmmcPortRxPower, nbsCmmcChassisName,
                      nbsCmmcSlotName, nbsCmmcPortName,
                      nbsCmmcPortThreshold,nbsCmmcPortRxPowerLevel }
        STATUS      current
        DESCRIPTION
                "Sent when received signal is too powerful.  For
                 SFF Digital Diagnostics, this corresponds to the high
                 RX power alarm.

                 This Notification should be of Severity ERROR."
        ::= { nbsCmmcTraps0 29 }

nbsCmmcTrapPortTxPowerTooLow  NOTIFICATION-TYPE
        OBJECTS   { nbsCmmcTrapLastMessage, nbsCmmcChassisIndex,
                      nbsCmmcSlotIndex, nbsCmmcPortIndex,
                      nbsCmmcPortTxPower, nbsCmmcChassisName,
                      nbsCmmcSlotName, nbsCmmcPortName,
                      nbsCmmcPortThreshold,nbsCmmcPortTxPowerLevel }
        STATUS      current
        DESCRIPTION
                "Sent when transmitter power is too weak.  For
                 SFF Digital Diagnostics, this corresponds to the low
                 TX power alarm.

                 This Notification should be of Severity ERROR."
        ::= { nbsCmmcTraps0 30 }

nbsCmmcTrapPortTxPowerTooHigh  NOTIFICATION-TYPE
        OBJECTS   { nbsCmmcTrapLastMessage, nbsCmmcChassisIndex,
                      nbsCmmcSlotIndex, nbsCmmcPortIndex,
                      nbsCmmcPortTxPower, nbsCmmcChassisName,
                      nbsCmmcSlotName, nbsCmmcPortName,
                      nbsCmmcPortThreshold,nbsCmmcPortTxPowerLevel }
        STATUS      current
        DESCRIPTION
                "Sent when transmitter power is too strong.  For
                 SFF Digital Diagnostics, this corresponds to the high
                 TX power alarm.

                 This Notification should be of Severity ERROR."
        ::= { nbsCmmcTraps0 31 }

nbsCmmcTrapPortAmpsTooLow  NOTIFICATION-TYPE
        OBJECTS   { nbsCmmcTrapLastMessage, nbsCmmcChassisIndex,
                      nbsCmmcSlotIndex, nbsCmmcPortIndex,
                      nbsCmmcPortBiasAmps, nbsCmmcChassisName,
                      nbsCmmcSlotName, nbsCmmcPortName,
                      nbsCmmcPortThreshold,nbsCmmcPortBiasAmpsLevel }
        STATUS      current
        DESCRIPTION
                "Sent when bias current is too small.  For
                 SFF Digital Diagnostics, this corresponds to the low
                 bias current alarm.

                 This Notification should be of Severity ERROR."
        ::= { nbsCmmcTraps0 32 }

nbsCmmcTrapPortAmpsTooHigh  NOTIFICATION-TYPE
        OBJECTS   { nbsCmmcTrapLastMessage, nbsCmmcChassisIndex,
                      nbsCmmcSlotIndex, nbsCmmcPortIndex,
                      nbsCmmcPortBiasAmps, nbsCmmcChassisName,
                      nbsCmmcSlotName, nbsCmmcPortName,
                      nbsCmmcPortThreshold,nbsCmmcPortBiasAmpsLevel }
        STATUS      current
        DESCRIPTION
                "Sent when bias current is too large.  For
                 SFF Digital Diagnostics, this corresponds to the high
                 bias current alarm.

                 This Notification should be of Severity ERROR."
        ::= { nbsCmmcTraps0 33 }

nbsCmmcTrapPortVoltsTooLow  NOTIFICATION-TYPE
        OBJECTS   { nbsCmmcTrapLastMessage, nbsCmmcChassisIndex,
                      nbsCmmcSlotIndex, nbsCmmcPortIndex,
                      nbsCmmcPortSupplyVolts, nbsCmmcChassisName,
                      nbsCmmcSlotName, nbsCmmcPortName,
                      nbsCmmcPortThreshold,nbsCmmcPortSupplyVoltsLevel }
        STATUS      current
        DESCRIPTION
                "Sent when transceiver supply voltage is too low.  For
                 SFF Digital Diagnostics, this corresponds to the low
                 supply voltage alarm.

                 This Notification should be of Severity ERROR."
        ::= { nbsCmmcTraps0 34 }

nbsCmmcTrapPortVoltsTooHigh  NOTIFICATION-TYPE
        OBJECTS   { nbsCmmcTrapLastMessage, nbsCmmcChassisIndex,
                      nbsCmmcSlotIndex, nbsCmmcPortIndex,
                      nbsCmmcPortSupplyVolts, nbsCmmcChassisName,
                      nbsCmmcSlotName, nbsCmmcPortName,
                      nbsCmmcPortThreshold,nbsCmmcPortSupplyVoltsLevel }
        STATUS      current
        DESCRIPTION
               "Sent when transceiver supply voltage is too high.  For
                 SFF Digital Diagnostics, this corresponds to the high
                 supply voltage alarm.

                 This Notification should be of Severity ERROR."
        ::= { nbsCmmcTraps0 35 }

nbsCmmcTrapSwitchover  NOTIFICATION-TYPE
        OBJECTS   { nbsCmmcTrapLastMessage, nbsCmmcChassisIndex,
                      nbsCmmcSlotIndex, nbsCmmcPortIndex, nbsCmmcTrapPortIndex,
                      nbsCmmcChassisName, nbsCmmcSlotName, nbsCmmcPortName,
                      nbsCmmcTrapPortName }
        STATUS      current
        DESCRIPTION
               "Sent when a self-healing (redundant ports) card
                switches traffic from an active port to a standby
                port.

                This Notification should be of Severity WARNING.

                The VARIABLE TrapLastMessage should specify the cause
                of the switchover, the PortName of the new Active port,
                and the PortName of the new Standby (formerely Active)
                port.

                The ChassisIndex and SlotIndex indicate the card that
                performed the switchover.

                The first PortIndex is the new Active port.  The last
                PortIndex is the new Standby port.

                This trap should be accompanied by link up/down traps."
        ::= { nbsCmmcTraps0 36 }

nbsCmmcTrapSlotShuttingDown  NOTIFICATION-TYPE
        OBJECTS   { nbsCmmcTrapLastMessage, nbsCmmcChassisIndex,
                      nbsCmmcSlotIndex, nbsCmmcTrapShutdownReason,
                      nbsCmmcChassisName, nbsCmmcSlotName }
        STATUS      current
        DESCRIPTION
               "Sent when the slot/card is shutting down.

                This Notification should be of Severity WARNING if the
                shutdown is deliberate, or ERROR if shutdown because
                of module failure, i.e. last gasp.

                The VARIABLE nbsCmmcTrapShutdownReason should specify
                the reason the card is shutting down.

                To enable/disable this notification, use the object
                nbsCmmcChassisEnableModuleSpecificTraps."
        ::= { nbsCmmcTraps0 37 }

nbsCmmcTrapPortCrcError  NOTIFICATION-TYPE
        OBJECTS   { nbsCmmcTrapLastMessage, nbsCmmcChassisIndex,
                      nbsCmmcSlotIndex, nbsCmmcPortIndex,
                      nbsCmmcChassisName,
                      nbsCmmcSlotName, nbsCmmcPortName }
        STATUS      current
        DESCRIPTION
               "Sent when CRC Error is received on this port.

                This Notification should be of Severity WARNING."
        ::= { nbsCmmcTraps0 38 }

nbsCmmcTrapCpeInManagedChassis  NOTIFICATION-TYPE
        OBJECTS   { nbsCmmcTrapLastMessage, nbsCmmcChassisIndex,
                      nbsCmmcSlotIndex, nbsCmmcChassisName,
                      nbsCmmcSlotName }
        STATUS      current
        DESCRIPTION
               "Sent when a module configured for customer premises is
                detected in a managed (central office) chassis.

                This Notification should be of Severity WARNING.

                To enable/disable this notification, use the object
                nbsCmmcChassisEnableModuleSpecificTraps."
        ::= { nbsCmmcTraps0 39 }

nbsCmmcTrapCoWithoutCpe  NOTIFICATION-TYPE
        OBJECTS   { nbsCmmcTrapLastMessage, nbsCmmcChassisIndex,
                      nbsCmmcSlotIndex, nbsCmmcChassisName,
                      nbsCmmcSlotName }
        STATUS      current
        DESCRIPTION
               "Sent when a central office module has no link to a CPE
                module.

                This Notification should be of Severity WARNING.

                To enable/disable this notification, use the object
                nbsCmmcChassisEnableModuleSpecificTraps."
        ::= { nbsCmmcTraps0 40 }


nbsCmmcTrapCoTakesControl  NOTIFICATION-TYPE
        OBJECTS   { nbsCmmcTrapLastMessage, nbsCmmcChassisIndex,
                      nbsCmmcSlotIndex, nbsCmmcChassisName,
                      nbsCmmcSlotName }
        STATUS      current
        DESCRIPTION
               "Sent when a central office module begins active
                management of a dual-homed CPE module.

                This Notification should be of Severity WARNING.

                To enable/disable this notification, use the object
                nbsCmmcChassisEnableModuleSpecificTraps."
        ::= { nbsCmmcTraps0 41 }

nbsCmmcTrapCoYieldsControl  NOTIFICATION-TYPE
        OBJECTS   { nbsCmmcTrapLastMessage, nbsCmmcChassisIndex,
                      nbsCmmcSlotIndex, nbsCmmcChassisName,
                      nbsCmmcSlotName }
        STATUS      current
        DESCRIPTION
               "Sent when a central office module ceases active
                management of a dual-homed CPE module.

                This Notification should be of Severity WARNING.

                To enable/disable this notification, use the object
                nbsCmmcChassisEnableModuleSpecificTraps."
        ::= { nbsCmmcTraps0 42 }

nbsCmmcTrapCoLinkedToCo  NOTIFICATION-TYPE
        OBJECTS   { nbsCmmcTrapLastMessage, nbsCmmcChassisIndex,
                      nbsCmmcSlotIndex, nbsCmmcChassisName,
                      nbsCmmcSlotName }
        STATUS      current
        DESCRIPTION
               "Sent when one central office module is connected to
                another central office module.

                This Notification should be of Severity ERROR.

                To enable/disable this notification, use the object
                nbsCmmcChassisEnableModuleSpecificTraps."
        ::= { nbsCmmcTraps0 43 }

nbsCmmcTrapCpeFound  NOTIFICATION-TYPE
        OBJECTS   { nbsCmmcTrapLastMessage, nbsCmmcChassisIndex,
                      nbsCmmcSlotIndex, nbsCmmcChassisName,
                      nbsCmmcSlotName }
        STATUS      current
        DESCRIPTION
               "Sent when a remote CPE module is detected.

                This Notification should be of Severity WARNING.

                To enable/disable this notification, use the object
                nbsCmmcChassisEnableModuleSpecificTraps."
        ::= { nbsCmmcTraps0 44 }

nbsCmmcTrapPortReflectionDetected  NOTIFICATION-TYPE
        OBJECTS   { nbsCmmcTrapLastMessage, nbsCmmcChassisIndex,
                      nbsCmmcSlotIndex, nbsCmmcPortIndex,
                      nbsCmmcChassisName,
                      nbsCmmcSlotName, nbsCmmcPortName }
        STATUS      current
        DESCRIPTION
               "Sent when SingleFiber port detects its own signal
                reflecting back on itself.

                This Notification should be of Severity WARNING."
        ::= { nbsCmmcTraps0 45 }

nbsCmmcTrapPortReflectionCeased  NOTIFICATION-TYPE
        OBJECTS   { nbsCmmcTrapLastMessage, nbsCmmcChassisIndex,
                      nbsCmmcSlotIndex, nbsCmmcPortIndex,
                      nbsCmmcChassisName,
                      nbsCmmcSlotName, nbsCmmcPortName }
        STATUS      current
        DESCRIPTION
               "Sent when SingleFiber port no longer detects its own
                signal returning.

                This Notification should be of Severity WARNING."
        ::= { nbsCmmcTraps0 46 }

nbsCmmcTrapPortTempOk  NOTIFICATION-TYPE
        OBJECTS   { nbsCmmcTrapLastMessage, nbsCmmcChassisIndex,
                      nbsCmmcSlotIndex, nbsCmmcPortIndex,
                      nbsCmmcPortTemperature, nbsCmmcChassisName,
                      nbsCmmcSlotName, nbsCmmcPortName }
        STATUS      current
        DESCRIPTION
               "Sent when transmitter temperature returns to normal.
                For Agent's internal severity-based filtering.

                The severity of this NOTIFICATION must match the
                severity of the nbsCmmcTrapPortTempTooLow or
                nbsCmmcTrapPortTempTooHigh NOTIFICATION that this
                overrides."
        ::= { nbsCmmcTraps0 47 }

nbsCmmcTrapPortRxPowerOk  NOTIFICATION-TYPE
        OBJECTS   { nbsCmmcTrapLastMessage, nbsCmmcChassisIndex,
                      nbsCmmcSlotIndex, nbsCmmcPortIndex,
                      nbsCmmcPortRxPower, nbsCmmcChassisName,
                      nbsCmmcSlotName, nbsCmmcPortName }
        STATUS      current
        DESCRIPTION
               "Sent when received signal returns to normal.
                For Agent's internal severity-based filtering.

                The severity of this NOTIFICATION must match the
                severity of the nbsCmmcTrapPortRxPowerTooLow or
                nbsCmmcTrapPortRxPowerTooHigh NOTIFICATION that this
                overrides."
        ::= { nbsCmmcTraps0 48 }

nbsCmmcTrapPortTxPowerOk  NOTIFICATION-TYPE
        OBJECTS   { nbsCmmcTrapLastMessage, nbsCmmcChassisIndex,
                      nbsCmmcSlotIndex, nbsCmmcPortIndex,
                      nbsCmmcPortTxPower, nbsCmmcChassisName,
                      nbsCmmcSlotName, nbsCmmcPortName }
        STATUS      current
        DESCRIPTION
               "Sent when transmitter power returns to normal.
                For Agent's internal severity-based filtering.

                The severity of this NOTIFICATION must match the
                severity of the nbsCmmcTrapPortTxPowerTooLow or
                nbsCmmcTrapPortTxPowerTooHigh NOTIFICATION that this
                overrides."
        ::= { nbsCmmcTraps0 49 }

nbsCmmcTrapPortAmpsOk  NOTIFICATION-TYPE
        OBJECTS   { nbsCmmcTrapLastMessage, nbsCmmcChassisIndex,
                      nbsCmmcSlotIndex, nbsCmmcPortIndex,
                      nbsCmmcPortBiasAmps, nbsCmmcChassisName,
                      nbsCmmcSlotName, nbsCmmcPortName }
        STATUS      current
        DESCRIPTION
               "Sent when bias current returns to normal.
                For Agent's internal severity-based filtering.

                The severity of this NOTIFICATION must match the
                severity of the nbsCmmcTrapPortAmpsTooLow or
                bsCmmcTrapPortAmpsTooHigh NOTIFICATION that this
                overrides."
        ::= { nbsCmmcTraps0 50 }

nbsCmmcTrapPortVoltsOk  NOTIFICATION-TYPE
        OBJECTS   { nbsCmmcTrapLastMessage, nbsCmmcChassisIndex,
                      nbsCmmcSlotIndex, nbsCmmcPortIndex,
                      nbsCmmcPortSupplyVolts, nbsCmmcChassisName,
                      nbsCmmcSlotName, nbsCmmcPortName }
        STATUS      current
        DESCRIPTION
               "Sent when transceiver supply voltage returns to normal.
                For Agent's internal severity-based filtering.

                The severity of this NOTIFICATION must match the
                severity of the nbsCmmcTrapPortVoltsTooLow or
                nbsCmmcTrapPortVoltsTooHigh NOTIFICATION that this
                overrides."
        ::= { nbsCmmcTraps0 51 }

nbsCmmcTrapSlotTempTooLow  NOTIFICATION-TYPE
        OBJECTS   { nbsCmmcTrapLastMessage, nbsCmmcChassisIndex,
                      nbsCmmcSlotIndex, nbsCmmcSlotTemperature,
                      nbsCmmcSlotTemperatureMin,
                      nbsCmmcChassisName, nbsCmmcSlotName }
        STATUS      current
        DESCRIPTION
                "Sent when slot temperature is too cold.

                 This Notification should be of Severity ERROR."
        ::= { nbsCmmcTraps0 52 }

nbsCmmcTrapSlotTempTooHigh  NOTIFICATION-TYPE
        OBJECTS   { nbsCmmcTrapLastMessage, nbsCmmcChassisIndex,
                      nbsCmmcSlotIndex, nbsCmmcSlotTemperature,
                      nbsCmmcSlotTemperatureLimit,
                      nbsCmmcChassisName, nbsCmmcSlotName }
        STATUS      current
        DESCRIPTION
                "Sent when slot temperature is too hot.
                 temperature alarm.

                 This Notification should be of Severity ERROR."
        ::= { nbsCmmcTraps0 53 }

nbsCmmcTrapSlotTempOk  NOTIFICATION-TYPE
        OBJECTS   { nbsCmmcTrapLastMessage, nbsCmmcChassisIndex,
                      nbsCmmcSlotIndex, nbsCmmcSlotTemperature,
                      nbsCmmcChassisName, nbsCmmcSlotName }
        STATUS      current
        DESCRIPTION
                "Sent when slot temperature returns to normal.

                 This Notification should be of Severity ERROR."

        ::= { nbsCmmcTraps0 54 }

nbsCmmcTrapPortErrorsDetected  NOTIFICATION-TYPE
        OBJECTS   { nbsCmmcTrapLastMessage, nbsCmmcChassisIndex,
                      nbsCmmcSlotIndex, nbsCmmcPortIndex,
                      nbsCmmcTrapErrorInfo, nbsCmmcChassisName,
                      nbsCmmcSlotName, nbsCmmcPortName }
        STATUS      current
        DESCRIPTION
               "Sent when nbsCmmcPortErrorActivity changes to on(3).

                This Notification should be of Severity WARNING."
        ::= { nbsCmmcTraps0 55 }

nbsCmmcTrapPortErrorsStopped  NOTIFICATION-TYPE
        OBJECTS   { nbsCmmcTrapLastMessage, nbsCmmcChassisIndex,
                      nbsCmmcSlotIndex, nbsCmmcPortIndex,
                      nbsCmmcChassisName,
                      nbsCmmcSlotName, nbsCmmcPortName }
        STATUS      current
        DESCRIPTION
               "Sent when nbsCmmcPortErrorActivity changes to off(2).

                This Notification should be of Severity WARNING."
        ::= { nbsCmmcTraps0 56 }

nbsCmmcTrapChassisInsufficientPower  NOTIFICATION-TYPE
        OBJECTS   { nbsCmmcTrapLastMessage, nbsCmmcChassisIndex,
                    nbsCmmcChassisName }
        STATUS      current
        DESCRIPTION
                "Sent when power on chassis changed to insufficient.

                 This Notification should be of Severity ERROR."
        ::= { nbsCmmcTraps0 57 }

nbsCmmcTrapChassisSufficientPower  NOTIFICATION-TYPE
        OBJECTS   { nbsCmmcTrapLastMessage, nbsCmmcChassisIndex,
                    nbsCmmcChassisName }
        STATUS      current
        DESCRIPTION
                "Sent when power on chassis changed to sufficient.

                 This Notification should be of Severity ERROR."
        ::= { nbsCmmcTraps0 58 }

nbsCmmcTrapSlotModuleLocked  NOTIFICATION-TYPE
        OBJECTS   { nbsCmmcTrapLastMessage, nbsCmmcChassisIndex,
                    nbsCmmcSlotIndex, nbsCmmcChassisName,
                    nbsCmmcSlotName, nbsCmmcSlotModelLocked,
                    nbsCmmcSlotModelInserted }
        STATUS      current
        DESCRIPTION
                "Sent when nbsCmmcSysLockTypes is enabled(3) and a card
                 incompatible with a slot's locked configuration is
                 inserted.

                 This Notification should be of Severity ERROR."
        ::= { nbsCmmcTraps0 59 }

nbsCmmcTrapSelectLinkChanged  NOTIFICATION-TYPE
        OBJECTS   { nbsCmmcTrapLastMessage, nbsCmmcChassisIndex,
                    nbsCmmcSlotIndex, nbsCmmcPortIndex,
                    nbsCmmcChassisName, nbsCmmcSlotName, nbsCmmcPortName,
                    nbsCmmcPortSelectLink }
        STATUS      current
        DESCRIPTION
               "Sent when a redundant port in a self-healing card
                switches between active and standby.  The last varbind,
                nbsCmmcPortSelectLink, indicates this port's new state.

                This notification should come in a pair -- one trap for
                the new active port, another for the new standby port.

                This Notification should be of Severity WARNING."
       ::= { nbsCmmcTraps0 60 }

nbsCmmcTrapPowerSupplyRemoved  NOTIFICATION-TYPE
        OBJECTS   { nbsCmmcTrapLastMessage, nbsCmmcChassisIndex,
                     nbsCmmcTrapPowerSupplyId, nbsCmmcChassisName }
        STATUS      current
        DESCRIPTION
                "Event triggered by physical removal of a power supply.

                 This Notification should be of Severity ERROR."
        ::= { nbsCmmcTraps0 66 }

nbsCmmcTrapPowerSupplyInserted  NOTIFICATION-TYPE
        OBJECTS   { nbsCmmcTrapLastMessage, nbsCmmcChassisIndex,
                     nbsCmmcTrapPowerSupplyId, nbsCmmcChassisName }
        STATUS      current
        DESCRIPTION
                "Triggered by physical insertion of a power supply.

                 This Notification should be of Severity ERROR."
        ::= { nbsCmmcTraps0 67 }

nbsCmmcTrapFanRemoved NOTIFICATION-TYPE
        OBJECTS   { nbsCmmcTrapLastMessage, nbsCmmcChassisIndex,
                     nbsCmmcTrapFanId, nbsCmmcChassisName }
        STATUS      current
        DESCRIPTION
                "Triggered by physical removal of fan assembly.

                 This Notification should be of Severity WARNING."
        ::= { nbsCmmcTraps0 68 }

nbsCmmcTrapFanInserted  NOTIFICATION-TYPE
        OBJECTS   { nbsCmmcTrapLastMessage, nbsCmmcChassisIndex,
                     nbsCmmcTrapFanId, nbsCmmcChassisName }
        STATUS      current
        DESCRIPTION
                "Triggered by physical insertion of fan assembly.

                 This Notification should be of Severity WARNING."
        ::= { nbsCmmcTraps0 69 }

nbsCmmcTrapModuleStatusChanged  NOTIFICATION-TYPE
        OBJECTS   { nbsCmmcTrapLastMessage, nbsCmmcChassisIndex,
                     nbsCmmcSlotIndex, nbsCmmcSlotName,
                     nbsCmmcSlotModuleStatus }
        STATUS      current
        DESCRIPTION
                "Triggered when nbsCmmcSlotModuleStatus changes.

                 If a module is unplugged and nbsCmmcSlotModuleStatus
                 transitions directly to empty(2), a trap will not be
                 generated.

                 This Notification should be of Severity WARNING."
        ::= { nbsCmmcTraps0 70 }

END