-- This file was included in WWP MIB release 04-07-01-0008
 --
 -- WWP-LEOS-NTP-CLIENT-MIB.my
 --
 --

 WWP-LEOS-NTP-CLIENT-MIB DEFINITIONS ::= BEGIN

 IMPORTS                
   IpAddress, Integer32, OBJECT-TYPE, MODULE-IDENTITY                   
            FROM SNMPv2-SMI                     
   TruthValue, DisplayString, RowStatus, TEXTUAL-CONVENTION             
            FROM SNMPv2-TC
   AddressFamilyNumbers
            FROM IANA-ADDRESS-FAMILY-NUMBERS-MIB
   wwpModules, wwpModulesLeos                   
            FROM WWP-SMI;
        
        
 wwpLeosNtpClientMIB MODULE-IDENTITY
            LAST-UPDATED "20085200000Z"
            ORGANIZATION "Ciena, Inc"
            CONTACT-INFO
                    "   Mib Meister
                        115 North Sullivan Road
                        Spokane Valley, WA 99037
                        USA                             
                        Phone:  +1 509 242 9000
                        Email:  support@ciena.com"
            DESCRIPTION
                    "updated key to be non-accessible"
            REVISION   "20085200000Z"
            DESCRIPTION
                    "Added the wwpLeosNtpAuthTable and  other objects 
                    used for MD5 authentication"
            REVISION   "20071220000Z"
            DESCRIPTION
                    "Deprecated the wwpLeosNtpServerUserPri and the 
                     wwpLeosNtpServerDhcpPri objects."
            REVISION    "200707151000Z" 
            DESCRIPTION
                    "This MIB module defines the managed objects
                    for the NTP client on LEOS based WWP devices."
            REVISION    "200304111700Z" 
            DESCRIPTION
                     "Initial creation."   
            ::= { wwpModulesLeos 18 }


 --
 -- TextualConversions
 --     
                
 Md5Key ::= TEXTUAL-CONVENTION
    DISPLAY-HINT "255a"
    STATUS       current
    DESCRIPTION
            "Represents the textual convention which defines the 
             name string and display hint"
    SYNTAX       OCTET STRING (SIZE (1..32))    
                
 --
 -- Node definitions
 --
        
 wwpLeosNtpClientMIBObjects OBJECT IDENTIFIER ::= { wwpLeosNtpClientMIB 1 }
 wwpLeosNtpClient OBJECT IDENTIFIER ::= { wwpLeosNtpClientMIBObjects 1 }   
 wwpLeosNtpClientNotifAttrs OBJECT IDENTIFIER ::= { wwpLeosNtpClientMIBObjects 2 }
 

 -- Notifications 
  
 wwpLeosNtpClientMIBNotificationPrefix  OBJECT IDENTIFIER ::= { wwpLeosNtpClientMIB 2 } 
 wwpLeosNtpClientMIBNotifications    OBJECT IDENTIFIER ::=  
                       { wwpLeosNtpClientMIBNotificationPrefix 0 }

 -- Conformance information 
 
 wwpLeosNtpClientMIBConformance OBJECT IDENTIFIER ::= { wwpLeosNtpClientMIB 3 } 
 wwpLeosNtpClientMIBCompliances OBJECT IDENTIFIER ::= { wwpLeosNtpClientMIBConformance 1 }              
 wwpLeosNtpClientMIBGroups      OBJECT IDENTIFIER ::= { wwpLeosNtpClientMIBConformance 2 }

 wwpLeosNtpClientState OBJECT-TYPE
     SYNTAX      INTEGER {
                        enable(1),
                        disable(2)
                 }
     MAX-ACCESS  read-write
     STATUS      current
     DESCRIPTION
             "Setting this object to 'enable' will enable the 
              NTP client."
     ::= { wwpLeosNtpClient 1 }

 wwpLeosNtpClientMode OBJECT-TYPE
     SYNTAX      INTEGER {
                     polling(1),
                     broadcast(2)                    
                 }
     MAX-ACCESS  read-write
     STATUS      current
     DESCRIPTION
             "Setting this object to 'broadcast' will cause the
              client not to poll the NTP server at all. Instead, it 
              will wait for configured NTP servers to broadcast 
              their current time. When the client receives the first 
              message, it will retrieve a reliable time from that 
              server. If it is set to polling then device will
              poll the NTP server."
     ::= { wwpLeosNtpClient 2 } 
     
 wwpLeosNtpClientPollFreq        OBJECT-TYPE
     SYNTAX      Integer32 (16..4096)
     MAX-ACCESS  read-write
     STATUS      current
     DESCRIPTION
             "The polling frequency at which NTP server will be polled
             if the NTP client is configured to be in polling mode.
             The value of this object should be multiple of 16.
             The change in the NTP mode will only be effective 
             when ntp client is enabled and should not be set at
             the same time either Min or Max PollFreq is set."
     ::= { wwpLeosNtpClient 3 }
--
-- NTP client table indexed
--

 wwpLeosNtpClientTable OBJECT-TYPE
     SYNTAX       SEQUENCE OF WwpLeosNtpClientEntry
     MAX-ACCESS   not-accessible
     STATUS       current
     DESCRIPTION
             "Table of NTP server information indexed by wwpLeosNtpServerIndex.
              To create an entry in the table, use SNMP multiple set operation
              and following objects must be set:
              wwpLeosNtpServerAddr and wwpLeosNtpServerStatus.
              To use MD5 authentication, wwpLeosNtpServerKeyId must be set at the time
              of creation along with wwpLeosNtpServerAddr and wwpLeosNtpServerStatus,
              otherwise no MD5 authentication will be used."
     ::= { wwpLeosNtpClient 4 }
                
 wwpLeosNtpClientEntry OBJECT-TYPE
     SYNTAX       WwpLeosNtpClientEntry
     MAX-ACCESS   not-accessible
     STATUS       current
     DESCRIPTION
             "An entry for each NTP server."
     INDEX { wwpLeosNtpServerIndex }
     ::= { wwpLeosNtpClientTable 1 }
                 
 WwpLeosNtpClientEntry ::= SEQUENCE {      
     wwpLeosNtpServerIndex              INTEGER,
     wwpLeosNtpServerAddrType           AddressFamilyNumbers,
     wwpLeosNtpServerAddr               DisplayString,
     wwpLeosNtpServerResolvedAddr       IpAddress,
     wwpLeosNtpServerUserPri            INTEGER,
     wwpLeosNtpServerDhcpPri            INTEGER,
     wwpLeosNtpServerUserAdminState     INTEGER,
     wwpLeosNtpServerScope              INTEGER,     
     wwpLeosNtpServerOperState          INTEGER,
     wwpLeosNtpServerStatus             RowStatus,
     wwpLeosNtpServerKeyId              Unsigned32
 }

 wwpLeosNtpServerIndex OBJECT-TYPE
     SYNTAX       INTEGER (1..10)
     MAX-ACCESS   read-only
     STATUS       current
     DESCRIPTION
             "Specifies the unique index of the entry."
     ::= { wwpLeosNtpClientEntry 1 }
 
  wwpLeosNtpServerAddrType OBJECT-TYPE
     SYNTAX       AddressFamilyNumbers
     MAX-ACCESS   read-write
     STATUS       current
     DESCRIPTION
             "Specifies the type of address wwpLeosNtpServerAddr belongs to."
     ::= { wwpLeosNtpClientEntry 2 }

 wwpLeosNtpServerAddr OBJECT-TYPE
     SYNTAX       DisplayString
     MAX-ACCESS   read-write
     STATUS       current
     DESCRIPTION
             "The IP address or host name of the NTP server."
     ::= { wwpLeosNtpClientEntry 3 }     

 wwpLeosNtpServerResolvedAddr OBJECT-TYPE
     SYNTAX       IpAddress
     MAX-ACCESS   read-only
     STATUS       current
     DESCRIPTION
             "Specifies the resolved IP address if wwpLeosNtpServerAddr is set to host name.
              If wwpLeosNtpServerAddr is set to IP address then wwpLeosNtpServerResolvedAddr 
              will be the same as wwpLeosNtpServerAddr."
     ::= { wwpLeosNtpClientEntry 4 }

 wwpLeosNtpServerUserPri OBJECT-TYPE
     SYNTAX       INTEGER (1..10)
     MAX-ACCESS   read-write
     STATUS       deprecated
     DESCRIPTION
             "This object is no longer implemented as the NTP client determines the server's
              relative priority or preference relative to other configured servers. Reads will
              always return 1 and writes will be quietly ignored. This object was once used to
              specify the user priority of the wwpLeosNtpServerAddr."
     ::= { wwpLeosNtpClientEntry 5 } 

 wwpLeosNtpServerDhcpPri OBJECT-TYPE
     SYNTAX       INTEGER (1..10)
     MAX-ACCESS   read-only
     STATUS       deprecated
     DESCRIPTION
             "This object is no longer implemented as the NTP client determines the server's
              relative priority or preference relative to other configured servers. Reads will
              always return 1 and writes will quietly be ignored. This object was once used to
              specify the dhcp priority of the wwpLeosNtpServerAddr."
     ::= { wwpLeosNtpClientEntry 6 }
 
 wwpLeosNtpServerUserAdminState OBJECT-TYPE
     SYNTAX       INTEGER {
                                enabled(1),
                                disabled(2)
                        }
     MAX-ACCESS   read-write
     STATUS       current
     DESCRIPTION
             "This object is used to specify the user admin state of the 
              wwpLeosNtpServerAddr."
     ::= { wwpLeosNtpClientEntry 7 }

  wwpLeosNtpServerScope OBJECT-TYPE
     SYNTAX       INTEGER {
                        user(1),
                        dhcp(2),
                        both(3)
                        }
     MAX-ACCESS   read-only
     STATUS       current
     DESCRIPTION
             "This object is used to specify the scope for the entry.
              It specifies if the entry is configured by dhcp/user/both."
     ::= { wwpLeosNtpClientEntry 8 }
  
  wwpLeosNtpServerOperState OBJECT-TYPE
     SYNTAX       INTEGER {
                        enabled(1),
                        disabled(2),
                        notConfigured(3)
                        }
     MAX-ACCESS   read-only
     STATUS       current
     DESCRIPTION
             "This object is used to specify the operational state of the 
              wwpLeosNtpServerAddr."
     ::= { wwpLeosNtpClientEntry 9 }
 
  wwpLeosNtpServerStatus OBJECT-TYPE
     SYNTAX      RowStatus
     MAX-ACCESS  read-create
     STATUS      current
     DESCRIPTION
             "To create a row in this table, a manager must
             set this object to 'createAndGo'. The server 
             added will only be effective when NTP client is 
             enabled.
             To create entry in the table use SNMP multiple set operation
             and following objects must be set 
             wwpLeosNtpServerAddr and wwpLeosNtpServerStatus."
     ::= { wwpLeosNtpClientEntry 10 }

   wwpLeosNtpServerKeyId OBJECT-TYPE
     SYNTAX       Unsigned32 (0..4294967295)
     MAX-ACCESS   read-write
     STATUS       current
     DESCRIPTION
             "This object is used to specify the key identifier that is to be 
              server or MD5 key."
     ::= { wwpLeosNtpClientEntry 11 }  

--
-- NTP client authentication table indexed
-- 
 wwpLeosNtpAuthTable OBJECT-TYPE
     SYNTAX     SEQUENCE OF WwpLeosNtpAuthEntry
     MAX-ACCESS not-accessible
     STATUS     current
     DESCRIPTION
            "The (conceptual) table listing the key-id and Md5 key."  
     ::= { wwpLeosNtpClient 5  }
                
 wwpLeosNtpAuthEntry OBJECT-TYPE
     SYNTAX      WwpLeosNtpAuthEntry
     MAX-ACCESS  not-accessible
     STATUS      current
     DESCRIPTION
           "An entry (conceptual row) in the wwpLeosNtpAuthTable."
     INDEX { wwpLeosNtpAuthKeyId }
     ::= { wwpLeosNtpAuthTable 1 }
                
 WwpLeosNtpAuthEntry ::=  SEQUENCE {      
     wwpLeosNtpAuthKeyId                Unsigned32,
     wwpLeosNtpAuthMd5Key               Md5Key,
     wwpLeosNtpAuthRowStatus            RowStatus,
     wwpLeosNtpAuthMD5KeyEnc            Md5Key
 }

 wwpLeosNtpAuthKeyId OBJECT-TYPE
     SYNTAX      Unsigned32 (0..4294967295)
     MAX-ACCESS  not-accessible
     STATUS      current
     DESCRIPTION
           "This object specifies the key ID.
            It is also used as index in the table." 
     ::= { wwpLeosNtpAuthEntry 1 }

 wwpLeosNtpAuthMd5Key OBJECT-TYPE
     SYNTAX       Md5Key  (SIZE(1..31))
     MAX-ACCESS   read-write
     STATUS       current
     DESCRIPTION
              "Used to specify the MD5 key to use with this key identifier."
     ::= {wwpLeosNtpAuthEntry 2 }

 wwpLeosNtpAuthRowStatus OBJECT-TYPE
     SYNTAX      RowStatus
     MAX-ACCESS  read-create
     STATUS      current
     DESCRIPTION
             "To create a row in this table, a manager must
             set this object to 'createAndGo'. The server 
             added will only be effective when NTP client is 
             enabled.
             To create entry in the table use SNMP multiple set operation
             and following objects must be set: 
             wwpLeosNtpAuthKeyId and either wwpLeosNtpAuthMd5Key or wwpLeosNtpAuthMD5KeyEnc."
     ::= { wwpLeosNtpAuthEntry 3 }

 wwpLeosNtpAuthMD5KeyEnc OBJECT-TYPE
     SYNTAX       Md5Key  (SIZE(1..64))
     MAX-ACCESS   read-write
     STATUS       current
     DESCRIPTION
              "Used to specify the encrypted MD5 key to use with this key identifier."
     ::= {wwpLeosNtpAuthEntry 4 }

 wwpLeosNtpClientMD5State        OBJECT-TYPE
     SYNTAX      TruthValue
     MAX-ACCESS  read-write
     STATUS      current
     DESCRIPTION
             "Set to true to use MD5 authentication for NTP"
     ::= { wwpLeosNtpClient 6 }

  wwpLeosNtpClientMinPollFreq        OBJECT-TYPE
     SYNTAX      Integer32 (16..4096)
     MAX-ACCESS  read-write
     STATUS      current
     DESCRIPTION
             "The polling freq at which NTP server will be polled
             if the NTP client is configured to be in polling mode
             and is not currently synchronized to an NTP server.
             The value of this object should be multiple of 16.
             The change in the ntp mode will only be affective 
             when ntp client is enabled and should not be set
             at the same time PollFreq is set."
     ::= { wwpLeosNtpClient 11 }
     
wwpLeosNtpClientMaxPollFreq        OBJECT-TYPE
     SYNTAX      Integer32 (16..4096)
     MAX-ACCESS  read-write
     STATUS      current
     DESCRIPTION
             "The polling freq at which NTP server will be polled
             if the NTP client is configured to be in polling mode
             and is currently synchronized to an NTP server.
             The value of this object should be multiple of 16.
             The change in the ntp mode will only be affective 
             when ntp client is enabled and should not be set
             at the same time PollFreq is set."
     ::= { wwpLeosNtpClient 12 }
     
wwpLeosNtpClientSyncState		OBJECT-TYPE
		SYNTAX	INTEGER {
						synchronized(1),
						not-synchronized(2)
				}                          
		MAX-ACCESS	accessible-for-notify
		STATUS		current
		DESCRIPTION
			"This object indicates the synchronized state of the NTP client."
		::= { wwpLeosNtpClientNotifAttrs 1 }  
		
---
---Notifications
---

wwpLeosNtpClientSyncStatusChangeNotification	NOTIFICATION-TYPE
	OBJECTS	{
				wwpLeosNtpClientSyncState
			}
	STATUS	current
	DESCRIPTION
		"This notification is sent whenever there is a change in the synchronization state for the
		 NTP client."
	::= { wwpLeosNtpClientMIBNotifications 1 }

END   


 
