-- ====================================================================
--  Version     : $Revision: $
--  Date        : $Date: $
-- ====================================================================

NBS-NTP-MIB DEFINITIONS ::= BEGIN

IMPORTS
        IpAddress,
        OBJECT-TYPE, MODULE-IDENTITY
            FROM SNMPv2-SMI
        nbsCmmcNtpGrp
            FROM NBS-CMMC-MIB
        ;

nbsNtpMib MODULE-IDENTITY
        LAST-UPDATED  "200711210000Z"
        ORGANIZATION  "NBS"
        CONTACT-INFO
          "For technical support, please contact your service channel"

        DESCRIPTION
          "MIB for representing NBS NTP private information"

        ::= { nbsCmmcNtpGrp 1 }

--
-- NTP additions
--
nbsNtpEnable OBJECT-TYPE
        SYNTAX      INTEGER {
                    notSupported (1),
                    no           (2),
                    yes          (3)
        }
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION
          "Whether or not to enable NTP"

        DEFVAL { no }
        ::= { nbsNtpMib 1 }

nbsNtpServerTableSize OBJECT-TYPE
        SYNTAX      INTEGER
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
          "The number of rows in the NTP Server table"

        ::= { nbsNtpMib 2 }

nbsNtpServerTable OBJECT-TYPE
        SYNTAX      SEQUENCE OF NbsNtpServerEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
          "A table of NTP servers to consult for time synchronization. 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"

        ::= { nbsNtpMib 3 }

nbsNtpServerEntry OBJECT-TYPE
        SYNTAX      NbsNtpServerEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
          "Contains the information necessary to contact an NTP server.

           The object nbsNtpServerTableEntryStatus, when written, is used
           to create or delete an entry/row in nbsNtpServerTable.

           To create a new entry, a SET PDU with the nbsNtpServerIpAddr
           object is required."

        INDEX { nbsNtpServerIpAddr }
        ::= { nbsNtpServerTable 1 }

NbsNtpServerEntry ::= SEQUENCE {
        nbsNtpServerIpAddr  IpAddress,
        nbsNtpServerStatus  INTEGER
}

nbsNtpServerIpAddr OBJECT-TYPE
        SYNTAX      IpAddress
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
          "IP Address of an NTP server that should be used for time
           synchronization."

        ::= { nbsNtpServerEntry 1 }

nbsNtpServerStatus 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 nbsNtpServerEntry row.

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

           Setting this object to the value valid(2) entry has the effect of
           creating a new row in the nbsNtpServerTable object, if an entry
           with the same nbsNtpServerIpAddr 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."

        DEFVAL { invalid }
        ::= { nbsNtpServerEntry 2 }

END

--  vim: expandtab
--  vim: ts=8
--  vim: sw=2
--  vim: tw=71
--  vim: nojoinspaces
