NTP                                                          H. Gerstung
Internet-Draft                                                  Meinberg
Expires: January 2, 2007                                       July 2006


   Definitions of Managed Objects for Network Time Protocol Version 4
                                (NTPv4)
                      draft-ietf-ntp-ntpv4-mib-00

Status of this Memo

   By submitting this Internet-Draft, each author represents that any
   applicable patent or other IPR claims of which he or she is aware
   have been or will be disclosed, and any of which he or she becomes
   aware will be disclosed, in accordance with Section 6 of BCP 79.

   Internet-Drafts are working documents of the Internet Engineering
   Task Force (IETF), its areas, and its working groups.  Note that
   other groups may also distribute working documents as Internet-
   Drafts.

   Internet-Drafts are draft documents valid for a maximum of six months
   and may be updated, replaced, or obsoleted by other documents at any
   time.  It is inappropriate to use Internet-Drafts as reference
   material or to cite them other than as "work in progress."

   The list of current Internet-Drafts can be accessed at
   http://www.ietf.org/ietf/1id-abstracts.txt.

   The list of Internet-Draft Shadow Directories can be accessed at
   http://www.ietf.org/shadow.html.

   This Internet-Draft will expire on January 2, 2007.

Copyright Notice

   Copyright (C) The Internet Society (2006).

Abstract

   The Network Time Protocol (NTP) is used in networks of all types and
   sizes for time synchronization of servers, workstations and other
   networked equipment.  As time synchronization is more and more a
   mission critical service, standardized means for monitoring and
   management of this subsystem of a networked host are required to
   allow operators of such a service to setup a monitoring system that
   is platform- and vendor-independant.  This RFC draft provides a
   standardized collection of data objects for monitoring the NTP



Gerstung                 Expires January 2, 2007                [Page 1]


Internet-Draft  Definitions of Managed Objects for NTPv4       July 2006


   service of such a network participant and it is part of the NTP
   Version 4 standardization effort.


Table of Contents

   1.  The Internet-Standard Management Framework . . . . . . . . . .  3
   2.  Introduction . . . . . . . . . . . . . . . . . . . . . . . . .  3
   3.  Technical Description  . . . . . . . . . . . . . . . . . . . .  3
   4.  MIB Definition . . . . . . . . . . . . . . . . . . . . . . . .  4
   5.  IANA Considerations  . . . . . . . . . . . . . . . . . . . . . 16
   6.  Security Considerations  . . . . . . . . . . . . . . . . . . . 16
   7.  References . . . . . . . . . . . . . . . . . . . . . . . . . . 16
     7.1.  Normative References . . . . . . . . . . . . . . . . . . . 16
     7.2.  Informative References . . . . . . . . . . . . . . . . . . 17
   Author's Address . . . . . . . . . . . . . . . . . . . . . . . . . 18
   Intellectual Property and Copyright Statements . . . . . . . . . . 19


































Gerstung                 Expires January 2, 2007                [Page 2]


Internet-Draft  Definitions of Managed Objects for NTPv4       July 2006


1.  The Internet-Standard Management Framework

   For a detailed overview of the documents that describe the current
   Internet-Standard Management Framework, please refer to section 7 of
   RFC3410 [4].

   Managed objects are accessed via a virtual information store, termed
   the Management Information Base or MIB.  MIB objects are generally
   accessed through the Simple Network Management Protocol (SNMP).
   Objects in the MIB are defined using the mechanisms defined in the
   Structure of Management Information (SMI).  This memo specifies a MIB
   module that is compliant to the SMIv2, which is described in RFC2578
   [1], RFC2579 [2] and RFC2580 [3].


2.  Introduction

   The NTPv4 MIB Module is designed to allow SNMP to be used to monitor
   and manage local NTP service instances.  It provides a collection of
   data objects that can be queried using the SNMP protocol and
   represent the current status of the NTP service instance.  This
   includes general information about the NTP service instance itself
   (vendor, product, version) as well as connectivity to upstream NTP
   servers used as sources of reference time and to hardware reference
   clocks like radio clocks.  The most important values are included in
   order to be able to detect failures before they can have an impact on
   the overall time synchronization status of the network.


3.  Technical Description

   The NTPv4 MIB Module is divided into sections for general server
   information, current NTP service status, status information of all
   mobilized associations (e.g. unicast upstream time servers, multicast
   or broadcast time references and hardware clocks) as well as SNMP
   trap definitions for core events.

   The general server information section contains static information
   and can be queried to identify which NTP service implementation is
   running on a host.  This includes the vendor and product name of the
   running NTP software as well as version information, hardware/os
   platform identity and the time resolution of the underlying OS.

   Section 2 (current NTP status) includes data objects that represent
   the current operational status of the NTP service instance.

   The third section contains data objects that represent the set of
   time references ("associations") the NTP instance is currently



Gerstung                 Expires January 2, 2007                [Page 3]


Internet-Draft  Definitions of Managed Objects for NTPv4       July 2006


   working with.

   Certain important events can occur while the NTP instance is running.
   The fourth section defines SNMP traps for a collection of the most
   important ones ("core events") and additionally provides a heartbeat
   trap as well as a test trap to allow management systems to test the
   reception of NTP related traps as well as enable heartbeat-based
   monitoring systems to assure that the NTP service is still up and
   running.


4.  MIB Definition

   -- **************************************************************************
   --
   --  $Id: draft-ietf-ntp-ntpv4-mib-00.xml 1.7 2006/06/16 07:13:50Z heiko TRASH $
   --  $Name: SUBMIT_1 $
   --
   --    The Network Time Protocol Version 4
   --    Management Information Base (MIB)
   --
   --    Author: Heiko Gerstung (heiko.gerstung@meinberg.de)
   --    for the Internet Engineering Task Force (IETF)
   --    NTP Working Group (ntpwg)
   --
   --
   -- **************************************************************************
   --
   --  $Log: draft-ietf-ntp-ntpv4-mib-00.xml $
   --  Revision 1.7  2006/06/16 07:13:50Z  heiko
   --  XML/RFC:
   --  - added/changed comments about the to-be-done IANA SMI assignment
   --  Revision 1.6  2006/06/16 07:04:43Z  heiko
   --  RFC/XML:
   --  - phone number corrected
   --  - removed unused references
   --  MIB:
   --    - added ntpSrvTimePrecision
   --    - changed INTEGER objects to Integer32
   --    - changed default value for ntpSrvStatusStratum from 99 to 16
   --    - changed default value for ntpSrvStatusActiveRefclockId from 99 to 0
   --    - changed object names to ntpSrvStatusActiveRefSourceName (from ntpSrvStatusActiveRefclockName) and to ntpSrvStatusNumberOfRefSources (from ntpSrvStatusNumberOfRefclocks)
   --    - removed ntpSrvStatusAuthKeyId object
   --    - added ntpSrvStatusDispersion to provide the current root dispersion
   --    - major rework of section 3 (Status of associations) to compile cleanly
   --      including:
   --      - added dispersion to the association dataset
   --      - renaming of objects



Gerstung                 Expires January 2, 2007                [Page 4]


Internet-Draft  Definitions of Managed Objects for NTPv4       July 2006


   --      - added an index to the association table
   --      - formal changes
   --    - traps are now reverse mappable
   --    - traps are now define with payload where applicable
   --    - added compliance statements
   --  Revision 1.5  2006/02/27 08:28:16Z  heiko
   --  - changed to RFC format and added header as well as
   --  introduction and technical description
   --  - added other necessary RFC components (copyright statement etc.)
   --  Revision 1.4  2006/02/27 07:06:49Z  heiko
   --  - removed all objects with data type REAL
   --  - everything that needs to be floating point is now defined as DisplayString
   --  Revision 1.2  2006/01/23 08:58:11Z  heiko
   --  - changed the datatype of offset, jitter and delay objects from Integer32
   --    to REAL
   --
   -- **************************************************************************

   NTPv4-MIB DEFINITIONS ::= BEGIN


   IMPORTS
       MODULE-IDENTITY, OBJECT-TYPE , mib-2, TimeTicks, Integer32, NOTIFICATION-TYPE
                                                                   FROM SNMPv2-SMI
       MODULE-COMPLIANCE, OBJECT-GROUP, NOTIFICATION-GROUP
                                                                   FROM SNMPv2-CONF
       DisplayString                                       FROM SNMPv2-TC;

   ntpSnmp MODULE-IDENTITY
       LAST-UPDATED "200606190000Z"
       ORGANIZATION "www.ietf.org"
       CONTACT-INFO
       " The IETF NTP Working Group (ntpwg)"
       DESCRIPTION
       " Management Information Base for NTP time servers"
       REVISION     "200606190000Z"
       DESCRIPTION
       "First Draft Version"
       REVISION     "200512190000Z"
       DESCRIPTION
       "revised edition (added traps and stuff)"
       REVISION     "200511160000Z"
       DESCRIPTION
       "Initial draft"
      ::= { mib-2 XXX }

   --
   -- Section 1: General Server information objects (static information)



Gerstung                 Expires January 2, 2007                [Page 5]


Internet-Draft  Definitions of Managed Objects for NTPv4       July 2006


   --

   ntpSrvInfo              OBJECT IDENTIFIER ::= { ntpSnmp 0 }

   ntpSrvSoftwareName OBJECT-TYPE
       SYNTAX      DisplayString
       MAX-ACCESS  read-only
       STATUS      current
       DESCRIPTION
           "product name of the installed NTP version"
           -- the product name of the running ntp implementation, e.g. "ntpd"
       ::= { ntpSrvInfo  1 }

   ntpSrvSoftwareVersion OBJECT-TYPE
       SYNTAX      DisplayString
       MAX-ACCESS  read-only
       STATUS      current
       DESCRIPTION
           "Software version of the installed NTP implementation"
           -- full version string, e.g. "ntpd-4.2.0b@1.1433 ..."
       ::= { ntpSrvInfo  2 }

   ntpSrvSoftwareVersionVal OBJECT-TYPE
       SYNTAX      Integer32 (-2147483648..2147483647)
       MAX-ACCESS  read-only
       STATUS      current
       DESCRIPTION
           "Software version of installed NTP as an Integer32 value"
           -- e.g. if version string is "4.2.0b" this could be translated into 4202
           -- could be useful to find out if version of server a is newer or older
     -- than version of server b (without too much string parsing trouble)
       ::= { ntpSrvInfo 3 }

   ntpSrvSoftwareVendor OBJECT-TYPE
       SYNTAX      DisplayString
       MAX-ACCESS  read-only
       STATUS      current
       DESCRIPTION
           "the vendor/author of the installed NTP version"
       ::= { ntpSrvInfo  4 }

   ntpSrvSystemType OBJECT-TYPE
       SYNTAX      DisplayString
       MAX-ACCESS  read-only
       STATUS      current
       DESCRIPTION
           "general hardware/os platform information"
           -- e.g. "Linux 2.6.12 / x86"



Gerstung                 Expires January 2, 2007                [Page 6]


Internet-Draft  Definitions of Managed Objects for NTPv4       July 2006


           -- freely configurable, default is OS Version / Hardware platform
       ::= { ntpSrvInfo  5 }

   ntpSrvTimeResolution OBJECT-TYPE
       SYNTAX      DisplayString
       MAX-ACCESS  read-only
       STATUS      current
       DESCRIPTION
           "string describing the time resolution of the running NTP
            implementation"
           -- e.g. "100 ns"
           -- depends on the NTP implementation and the underlying OS. The current
     -- resolution should be used, so if the OS only supports 10ms and ntpd is
     -- capable of 1ns, the 10ms should be advertised
       ::= { ntpSrvInfo  6 }

   ntpSrvTimeResolutionVal OBJECT-TYPE
       SYNTAX      Integer32
       MAX-ACCESS  read-only
       STATUS      current
       DESCRIPTION
           "time resolution in integer format"
           -- ntpSrvTimeResolution in Integer format
           -- shows the resolution based on 1 second, e.g. "1ms" translates to 1000
       ::= { ntpSrvInfo  7 }

   ntpSrvTimePrecision OBJECT-TYPE
       SYNTAX      DisplayString
       MAX-ACCESS  read-only
       STATUS      current
       DESCRIPTION
           "string describing the precision with which the NTP server
            implementation/OS manages its time base"
           -- e.g. "-18" means 2^-18 = 0.000003814697265625 seconds
     --      "-5" means 2^-5 = 0.03125 seconds
           -- depends on the NTP implementation and the underlying OS.
       ::= { ntpSrvInfo  8 }

   ntpSrvTimePrecisionVal OBJECT-TYPE
       SYNTAX      Integer32
       MAX-ACCESS  read-only
       STATUS      current
       DESCRIPTION
           "precision in integer format"
           -- ntpSrvTimePrecision in signed Integer format
           -- shows the precision. A value of -5 would mean 2^-5 = 31.25 ms
       ::= { ntpSrvInfo  9 }




Gerstung                 Expires January 2, 2007                [Page 7]


Internet-Draft  Definitions of Managed Objects for NTPv4       July 2006


   ntpSrvTimeDistance OBJECT-TYPE
       SYNTAX      DisplayString
       MAX-ACCESS  read-only
       STATUS      current
       DESCRIPTION
           "The distance from this NTP instance to the root time reference (stratum 0) source"
       -- including the unit
       -- e.g. "13.243 ms"
       ::= { ntpSrvInfo  10 }


   --
   -- Section 2: Current NTP status (dynamic information)
   --
   ntpSrvStatus    OBJECT IDENTIFIER  ::= { ntpSnmp 1 }

   ntpSrvStatusCurrentState OBJECT-TYPE
       SYNTAX      DisplayString
       MAX-ACCESS  read-only
       STATUS      current
       DESCRIPTION
           "actual status of NTP as a string"
       --- possible strings:
       --- "not running" : NTP is not running
       --- "not synchronized" : NTP is not synchronized to any time source
       ---   (stratum = 16)
       --- "sync to local" : NTP is synchronized to own local clock
       ---   (degraded reliability)
       --- "sync to refclock" : NTP is synchronized to a local hardware refclock
       ---   (e.g. GPS)
       --- "sync to remote server" : NTP is synchronized to a remote NTP server
       ---   ("upstream" server)
       ::= { ntpSrvStatus 1 }

   ntpSrvStatusCurrentStateVal OBJECT-TYPE
       SYNTAX      INTEGER {
                               notRunning(0),
                               notSynchronized(1),
                               syncToLocal(2),
                               syncToRefclock(3),
                               syncToRemoteServer(4),
                               unknown(99)
                           }

       MAX-ACCESS  read-only
       STATUS      current
       DESCRIPTION
           "current state of the NTP as integer value"



Gerstung                 Expires January 2, 2007                [Page 8]


Internet-Draft  Definitions of Managed Objects for NTPv4       July 2006


       -- see ntpSrvStatusCurrentState
       DEFVAL { 99 }
       ::= { ntpSrvStatus 2 }

   ntpSrvStatusStratum OBJECT-TYPE
       SYNTAX      Integer32 (1..16)
       MAX-ACCESS  read-only
       STATUS      current
       DESCRIPTION
           "own stratum value"
           -- should be stratum of syspeer + 1 (or 16 if no syspeer)
       DEFVAL { 16 }
       ::= { ntpSrvStatus 3 }

   ntpSrvStatusActiveRefSourceId OBJECT-TYPE
       SYNTAX      Integer32 ( 0..99999 )
       MAX-ACCESS  read-only
       STATUS      current
       DESCRIPTION
           "the association ID of the current syspeer"
       DEFVAL { 0 }
       ::= { ntpSrvStatus 4 }

   ntpSrvStatusActiveRefSourceName OBJECT-TYPE
       SYNTAX      DisplayString
       MAX-ACCESS  read-only
       STATUS      current
       DESCRIPTION
           "The hostname/descriptive name of the current reference source selected
           as syspeer"
           -- e.g. "ntp1.ptb.de" or "GPS" or "DCFi" ...
           -- maybe something like "RefClk(8)" = "hardware clock using driver 8"
     -- would be nice
       ::= { ntpSrvStatus 5 }

   ntpSrvStatusActiveOffset OBJECT-TYPE
       SYNTAX      DisplayString
       MAX-ACCESS  read-only
       STATUS      current
       DESCRIPTION
           "Time offset to the current selected reference time source as string"
      -- including unit, e.g. "0.032 ms" or "1.232 s"
       ::= { ntpSrvStatus 6 }

   ntpSrvStatusNumberOfRefSources OBJECT-TYPE
       SYNTAX      Integer32 (0..99)
       MAX-ACCESS  read-only
       STATUS      current



Gerstung                 Expires January 2, 2007                [Page 9]


Internet-Draft  Definitions of Managed Objects for NTPv4       July 2006


       DESCRIPTION
           "Number of reference sources configured for NTP "
       DEFVAL { 0 }
       ::= { ntpSrvStatus 7 }

   ntpSrvStatusDispersion OBJECT-TYPE
       SYNTAX      DisplayString
       MAX-ACCESS  read-only
       STATUS      current
       DESCRIPTION
           "Root dispersion of the running NTP instance"
       -- e.g. "6.927"
       DEFVAL { "n/a" }
       ::= { ntpSrvStatus 8 }

   ntpSrvStatusServiceUptime OBJECT-TYPE
       SYNTAX      TimeTicks
       MAX-ACCESS  read-only
       STATUS      current
       DESCRIPTION
           "Uptime of NTP service"
           -- time since ntpd was (re-)started (not sysUptime!)
       DEFVAL { 0 }
       ::= { ntpSrvStatus 9 }

   --
   -- Section 3: Status of all currently mobilized associations
   --


   ntpAssociation  OBJECT IDENTIFIER  ::= { ntpSnmp 3 }

   ntpAssociationTable OBJECT-TYPE
       SYNTAX           SEQUENCE OF NtpAssociationEntry
       MAX-ACCESS       not-accessible
       STATUS           current
       DESCRIPTION
         "Table of currently mobilized associations"
       ::= { ntpAssociation 1 }

   ntpAssociationEntry OBJECT-TYPE
       SYNTAX      NtpAssociationEntry
       MAX-ACCESS  not-accessible
       STATUS      current
       DESCRIPTION
         "Table entry of currently mobilized associations"
       INDEX      { ntpAssocIndex }
       ::= { ntpAssociationTable 1 }



Gerstung                 Expires January 2, 2007               [Page 10]


Internet-Draft  Definitions of Managed Objects for NTPv4       July 2006


   NtpAssociationEntry   ::= SEQUENCE {
           ntpAssocIndex               Integer32,
           ntpAssocId                  Integer32,
           ntpAssocName                DisplayString,
           ntpAssocAddress             DisplayString,
           ntpAssocOffset              DisplayString,
           ntpAssocStatusJitter        DisplayString,
           ntpAssocStatusDelay         DisplayString,
           ntpAssocStatusDispersion    DisplayString
   }

   ntpAssocIndex   OBJECT-TYPE
      SYNTAX       Integer32 ( 0..99999 )
      MAX-ACCESS   not-accessible
      STATUS       current
      DESCRIPTION
         "Association Index"
     ::= { ntpAssociationEntry 1 }

   ntpAssocId      OBJECT-TYPE
      SYNTAX       Integer32 ( 0..99999 )
      MAX-ACCESS   read-only
      STATUS       current
      DESCRIPTION
         "Association ID"
     ::= { ntpAssociationEntry 2 }

   ntpAssocName   OBJECT-TYPE
      SYNTAX       DisplayString
      MAX-ACCESS   read-only
      STATUS       current
      DESCRIPTION
         "Hostname or other descriptive name for association"
      ::= { ntpAssociationEntry 3 }

   ntpAssocAddress   OBJECT-TYPE
      SYNTAX       DisplayString
      MAX-ACCESS   read-only
      STATUS       current
      DESCRIPTION
         "IP address (IPv4 or IPv6) of association OR refclock driver ID"
         -- contains IP address of uni/multi/broadcast associations or
         -- a refclock driver ID like "127.127.1.0" for other associations
       ::= { ntpAssociationEntry 4 }

   ntpAssocOffset OBJECT-TYPE
       SYNTAX      DisplayString
       MAX-ACCESS  read-only



Gerstung                 Expires January 2, 2007               [Page 11]


Internet-Draft  Definitions of Managed Objects for NTPv4       July 2006


       STATUS      current
       DESCRIPTION
           "Time offset to the association as string"
      -- including unit, e.g. "0.032 ms" or "1.232 s"
       ::= { ntpAssociationEntry 5 }

   ntpAssocStatusJitter OBJECT-TYPE
       SYNTAX      DisplayString
       MAX-ACCESS  read-only
       STATUS      current
       DESCRIPTION
           "Jitter in miliseconds as string"
       ::= { ntpAssociationEntry 6 }

   ntpAssocStatusDelay OBJECT-TYPE
       SYNTAX      DisplayString
       MAX-ACCESS  read-only
       STATUS      current
       DESCRIPTION
           "Network delay in miliseconds as string"
       ::= { ntpAssociationEntry 7 }

   ntpAssocStatusDispersion OBJECT-TYPE
       SYNTAX      DisplayString
       MAX-ACCESS  read-only
       STATUS      current
       DESCRIPTION
           "Root dispersion of the association"
       -- e.g. "6.927"
       ::= { ntpAssociationEntry 8 }

   --
   -- Section 4: Server SNMP trap definitions
   --

   ntpSrvNotifications OBJECT IDENTIFIER ::= { ntpSnmp 4 }
   ntpSrvTraps     OBJECT IDENTIFIER  ::= { ntpSrvNotifications 0 }

   ntpSrvTrapNotSync NOTIFICATION-TYPE
       OBJECTS    { ntpSrvStatusCurrentStateVal }
       STATUS      current
       DESCRIPTION
           "trap to be sent when NTP is not synchronised "
       ::= { ntpSrvTraps 1 }

   ntpSrvTrapServiceStarted NOTIFICATION-TYPE
       OBJECTS { ntpSrvTrapMessage }
       STATUS      current



Gerstung                 Expires January 2, 2007               [Page 12]


Internet-Draft  Definitions of Managed Objects for NTPv4       July 2006


       DESCRIPTION
           "trap to be sent when NTP starts up "
       ::= { ntpSrvTraps 2 }

   ntpSrvTrapServiceStopped NOTIFICATION-TYPE
             OBJECTS { ntpSrvTrapMessage }
       STATUS      current
       DESCRIPTION
           "trap to be sent when NTP stopps "
       ::= { ntpSrvTraps 3 }

   ntpSrvTrapStratumChange NOTIFICATION-TYPE
       OBJECTS     { ntpSrvStatusStratum, ntpSrvTrapMessage }
       STATUS      current
       DESCRIPTION
           "trap to be sent when stratum level of NTP changes"
       ::= { ntpSrvTraps 4 }

   ntpSrvTrapSyspeerChanged NOTIFICATION-TYPE
       OBJECTS     { ntpSrvStatusActiveRefSourceId, ntpSrvTrapMessage }
       STATUS      current
             DESCRIPTION
           "trap to be sent when a (new) syspeer has been selected"
       ::= { ntpSrvTraps 5 }

   ntpSrvTrapAddAssociation NOTIFICATION-TYPE
             OBJECTS       { ntpAssocId, ntpSrvTrapMessage }
       STATUS      current
       DESCRIPTION
           "trap to be sent when a new association is mobilized"
       ::= { ntpSrvTraps 6 }

   ntpSrvTrapRemoveAssociation NOTIFICATION-TYPE
       OBJECTS     { ntpAssocId,  ntpSrvTrapMessage }
       STATUS      current
       DESCRIPTION
           "trap to be sent when an association is demobilized"
       ::= { ntpSrvTraps 7 }

   ntpSrvTrapConfigChanged NOTIFICATION-TYPE
             OBJECTS { ntpSrvTrapMessage }
       STATUS      current
       DESCRIPTION
           "trap to be sent when NTP configuration has changed"
           -- e.g. when the system connected to the internet and was assigned
     -- a new IP address by the ISPs DHCP server
       ::= { ntpSrvTraps 8 }




Gerstung                 Expires January 2, 2007               [Page 13]


Internet-Draft  Definitions of Managed Objects for NTPv4       July 2006


   ntpSrvTrapLeapSecondAnnounced NOTIFICATION-TYPE
       OBJECTS { ntpSrvTrapMessage }
       STATUS      current
       DESCRIPTION
           "trap to be sent when a leap second has been announced "
       ::= { ntpSrvTraps 9 }

   ntpSrvTrapHeartbeat NOTIFICATION-TYPE
       OBJECTS { ntpSrvTrapMessage }
       STATUS      current
       DESCRIPTION
           "trap to be sent periodically to indicate that the NTP server
            is still alive "
       ::= { ntpSrvTraps 88 }

   ntpSrvTrapTestNotification NOTIFICATION-TYPE
       OBJECTS { ntpSrvTrapMessage }
       STATUS      current
       DESCRIPTION
           "trap to be sent when a test notification has been requested "
       ::= { ntpSrvTraps 99 }

   ntpSrvTrapMessage  OBJECT-TYPE
           SYNTAX          DisplayString
           MAX-ACCESS      read-only
           STATUS          current
           DESCRIPTION
                   "used as a payload object for all traps, holds a clear text event message"
           DEFVAL { "no event" }
           ::= { ntpSrvTraps 100 }

   --
   -- Conformance/Compliance statements
   --

   ntpSrvConformance               OBJECT IDENTIFIER ::= { ntpSnmp 90 }
   ntpSrvCompliances               OBJECT IDENTIFIER ::= { ntpSrvConformance 1 }
   ntpSrvGroups                    OBJECT IDENTIFIER ::= { ntpSrvConformance 2 }

   ntpSrvCompliance        MODULE-COMPLIANCE
           STATUS  current
           DESCRIPTION
                           "The compliance statement for SNMP entities which implement version 2
                           of the Server MIB"
           MODULE  -- this module
                   MANDATORY-GROUPS {
                           ntpSrvObjectsGroup,
                           ntpSrvTrapsGroup



Gerstung                 Expires January 2, 2007               [Page 14]


Internet-Draft  Definitions of Managed Objects for NTPv4       July 2006


                   }
           ::= { ntpSrvCompliances 1 }


   ntpSrvObjectsGroup      OBJECT-GROUP
           OBJECTS {
         ntpSrvSoftwareName,
         ntpSrvSoftwareVersion,
         ntpSrvSoftwareVersionVal,
         ntpSrvSoftwareVendor,
         ntpSrvSystemType,
         ntpSrvTimeResolution,
         ntpSrvTimeResolutionVal,
         ntpSrvTimePrecision,
         ntpSrvTimePrecisionVal,
         ntpSrvTimeDistance,
         ntpSrvStatusCurrentState,
         ntpSrvStatusCurrentStateVal,
         ntpSrvStatusStratum,
         ntpSrvStatusActiveRefSourceId,
         ntpSrvStatusActiveRefSourceName,
         ntpSrvStatusActiveOffset,
         ntpSrvStatusNumberOfRefSources,
         ntpSrvStatusDispersion,
         ntpSrvStatusServiceUptime,
         ntpAssocId,
         ntpAssocName,
         ntpAssocAddress,
         ntpAssocOffset,
         ntpAssocStatusJitter,
         ntpAssocStatusDelay,
         ntpAssocStatusDispersion,
         ntpSrvTrapMessage
           }
           STATUS  current
           DESCRIPTION
                           "The collection of objects for the Server MIB"
           ::= { ntpSrvGroups 1 }

   ntpSrvTrapsGroup        NOTIFICATION-GROUP
           NOTIFICATIONS {
         ntpSrvTrapNotSync,
         ntpSrvTrapServiceStarted,
         ntpSrvTrapServiceStopped,
         ntpSrvTrapStratumChange,
         ntpSrvTrapSyspeerChanged,
         ntpSrvTrapAddAssociation,
         ntpSrvTrapRemoveAssociation,



Gerstung                 Expires January 2, 2007               [Page 15]


Internet-Draft  Definitions of Managed Objects for NTPv4       July 2006


         ntpSrvTrapConfigChanged,
         ntpSrvTrapLeapSecondAnnounced,
         ntpSrvTrapHeartbeat,
         ntpSrvTrapTestNotification
           }
           STATUS  current
           DESCRIPTION
                           "The collection of traps for the Server MIB"
           ::= { ntpSrvGroups 2 }

   END




5.  IANA Considerations

   The MIB module in this document uses the following IANA-assigned
   OBJECT IDENTIFIER values recorded in the SMI Numbers registry:

         Descriptor        OBJECT IDENTIFIER value
         ----------        -----------------------

         ntpSnmp           { mib-2 XXX }

   RFC Ed. : the IANA is requested to assign a value for "XXX" under the
   'mib-2' subtree and to record the assignment in the SMI Numbers
   registry.  When the assignment has been made, the RFC Editor is asked
   to replace "XXX" (here and in the MIB module) with the assigned value
   and to remove this note.


6.  Security Considerations

   All data objects in this MIB are read-only and therefore security is
   managed by the implementation of the SNMP agent providing the data
   objects in this MIB.  The general access management methods used for
   SNMP agents apply.


7.  References

7.1.  Normative References

   [1]  McCloghrie, K., Ed., Perkins, D., Ed., and J. Schoenwaelder,
        Ed., "Structure of Management Information Version 2 (SMIv2)",
        STD 58, RFC 2578, April 1999.




Gerstung                 Expires January 2, 2007               [Page 16]


Internet-Draft  Definitions of Managed Objects for NTPv4       July 2006


   [2]  McCloghrie, K., Ed., Perkins, D., Ed., and J. Schoenwaelder,
        Ed., "Textual Conventions for SMIv2", STD 58, RFC 2579,
        April 1999.

   [3]  McCloghrie, K., Perkins, D., and J. Schoenwaelder, "Conformance
        Statements for SMIv2", STD 58, RFC 2580, April 1999.

7.2.  Informative References

   [4]  Case, J., Mundy, R., Partain, D., and B. Stewart, "Introduction
        and Applicability Statements for Internet-Standard Management
        Framework", RFC 3410, December 2002.







































Gerstung                 Expires January 2, 2007               [Page 17]


Internet-Draft  Definitions of Managed Objects for NTPv4       July 2006


Author's Address

   Heiko Gerstung
   Meinberg Funkuhren Gmbh & Co. KG
   Auf der Landwehr 22
   Bad Pyrmont  31812
   Germany

   Phone: +49 5281 9309 25
   Email: heiko.gerstung@meinberg.de









































Gerstung                 Expires January 2, 2007               [Page 18]


Internet-Draft  Definitions of Managed Objects for NTPv4       July 2006


Intellectual Property Statement

   The IETF takes no position regarding the validity or scope of any
   Intellectual Property Rights or other rights that might be claimed to
   pertain to the implementation or use of the technology described in
   this document or the extent to which any license under such rights
   might or might not be available; nor does it represent that it has
   made any independent effort to identify any such rights.  Information
   on the procedures with respect to rights in RFC documents can be
   found in BCP 78 and BCP 79.

   Copies of IPR disclosures made to the IETF Secretariat and any
   assurances of licenses to be made available, or the result of an
   attempt made to obtain a general license or permission for the use of
   such proprietary rights by implementers or users of this
   specification can be obtained from the IETF on-line IPR repository at
   http://www.ietf.org/ipr.

   The IETF invites any interested party to bring to its attention any
   copyrights, patents or patent applications, or other proprietary
   rights that may cover technology that may be required to implement
   this standard.  Please address the information to the IETF at
   ietf-ipr@ietf.org.


Disclaimer of Validity

   This document and the information contained herein are provided on an
   "AS IS" basis and THE CONTRIBUTOR, THE ORGANIZATION HE/SHE REPRESENTS
   OR IS SPONSORED BY (IF ANY), THE INTERNET SOCIETY AND THE INTERNET
   ENGINEERING TASK FORCE DISCLAIM ALL WARRANTIES, EXPRESS OR IMPLIED,
   INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE
   INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED
   WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.


Copyright Statement

   Copyright (C) The Internet Society (2006).  This document is subject
   to the rights, licenses and restrictions contained in BCP 78, and
   except as set forth therein, the authors retain all their rights.


Acknowledgment

   Funding for the RFC Editor function is currently provided by the
   Internet Society.




Gerstung                 Expires January 2, 2007               [Page 19]