--- /dev/null
+-- *********************************************************************
+--
+--$Id: draft-ietf-ntp-ntpv4-mib-05.xml 1.12 2007/11/28 00:00:00Z chelliot $
+--$Name: SUBMIT_1 $
+--
+-- The Network Time Protocol Version 4
+-- Management Information Base (MIB)
+--
+-- Authors: Heiko Gerstung (heiko.gerstung@meinberg.de)
+-- Chris Elliott (chelliot@cisco.com)
+--
+-- for the Internet Engineering Task Force (IETF)
+-- NTP Working Group (ntpwg)
+--
+--
+-- *********************************************************************
+--
+-- $Log: draft-ietf-ntp-ntpv4-mib-05.xml $
+-- Revision 1.14 2008/08/29 00:00:00Z heiko
+-- Re-submitted after expiration:
+-- - The working group agreed to forward this draft in its current form (04),
+-- but it expired before that could be done
+-- Revision 1.13 2008/02/25 00:00:00Z chelliot
+-- MIB:
+-- - Added statistics table on a per-packet mode basis
+-- (ntpEntStatPktModeTable)
+-- Revision 1.12 2007/11/28 00:00:00Z chelliot
+-- MIB:
+-- - Added protocol statistics at the entity and association level
+-- XML/RFC:
+-- - Changed a couple of instances of "instance" to "entity" and "srv"
+-- to "ent".
+-- - Changed Meinberg address and Heiko's phone number.
+-- Revision 1.11 2007/07/23 00:00:00Z chelliot
+-- MIB:
+-- - Modified Contact Info
+-- - Added Stratum and NTP time TCs
+-- - Changed ntpEntNotifNotInSync to ntpEntNotifCurrentMode and
+-- deleted ntpEntNotifEntityStarted and ntpEntNotifEntityStopped
+-- - Added compliance for SNTP entities
+-- - Changed ntpTime to ntpDateTime
+-- Revision 1.10 2007/07/09 00:00:00Z chelliot
+-- XML/RFC:
+-- - Changed RFC to Internet
+-- - Changed service and service instance* to entity/entities
+-- - Revised the Security Considerations to include read-write object
+-- security considerations
+-- - Added Chris Elliott as an author
+-- - Fixed several lines to be 72 characters long or less
+-- MIB:
+-- - Changed "service" and "service instance" to "entity",
+-- and Srv to Ent
+-- - Changed status to mode
+-- - Added association status object
+-- - Added leap second objects
+-- Revision 1.9 2007/03/04 06:59:44Z chelliot
+-- MIB:
+-- - Added time objects, comments, changed notifications
+-- - Changed server to service
+-- Revision 1.8 2006/10/23 03:37:44Z chelliot
+-- MIB:
+-- - Changed various object types, added notification control object
+-- 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-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
+-- - 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 , enterprises, mib-2, Integer32, NOTIFICATION-TYPE,
+ Unsigned32, Counter32
+ FROM SNMPv2-SMI
+ MODULE-COMPLIANCE, OBJECT-GROUP, NOTIFICATION-GROUP
+ FROM SNMPv2-CONF
+ DisplayString, TEXTUAL-CONVENTION
+ FROM SNMPv2-TC
+ InetAddressType, InetAddress
+ FROM INET-ADDRESS-MIB;
+
+ntpSnmpMIB MODULE-IDENTITY
+ LAST-UPDATED "200802250000Z" -- February 25, 2008
+
+ ORGANIZATION "The IETF NTP Working Group (ntpwg)"
+ CONTACT-INFO
+ " WG Email: ntpwg@lists.ntp.isc.org
+ Subscribe:
+ https://lists.ntp.isc.org/mailman/listinfo/ntpwg
+
+ Heiko Gerstung
+ Meinberg Funkuhren Gmbh & Co. KG
+ Lange Wand 9
+ Bad Pyrmont 31812
+ Germany
+
+ Phone: +49 5281 9309 25
+ Email: heiko.gerstung@meinberg.de
+
+ Chris Elliott
+ Cisco Systems, Inc.
+ 7025 Kit Creek Rd., P.O. Box 14987
+ Research Triangle Park 27709
+ USA
+
+ Phone: +1 919-392-2146
+ Email: chelliot@cisco.com"
+ DESCRIPTION
+ "The Management Information Base for NTP time entities."
+ REVISION "200802250000Z"
+ DESCRIPTION
+ "Added ntpEntStatPktModeTable"
+ REVISION "200711280000Z"
+ DESCRIPTION
+ "Multiple proposed changes for IETF 70"
+ REVISION "200707230000Z"
+ DESCRIPTION
+ "Multiple proposed changes for IETF 69"
+ REVISION "200707090000Z"
+ DESCRIPTION
+ "Multiple changes from IETF 68"
+ REVISION "200703040000Z"
+ DESCRIPTION
+ "More MIB review modifications."
+ REVISION "200610230000Z"
+ DESCRIPTION
+ "Modifications from MIB review."
+ REVISION "200606190000Z"
+ DESCRIPTION
+ "First Draft Version"
+ REVISION "200512190000Z"
+ DESCRIPTION
+ "revised edition (added traps and stuff)"
+ REVISION "200511160000Z"
+ DESCRIPTION
+ "Initial draft"
+ ::= { enterprises 5597 99 }
+
+
+ntpSnmpMIBObjects OBJECT IDENTIFIER ::= { ntpSnmpMIB 1 }
+
+-- MIB contains 6 groups
+
+ntpEntInfo OBJECT IDENTIFIER ::= { ntpSnmpMIBObjects 1 }
+ntpEntStatus OBJECT IDENTIFIER ::= { ntpSnmpMIBObjects 2 }
+ntpAssociation OBJECT IDENTIFIER ::= { ntpSnmpMIBObjects 3 }
+ntpEntControl OBJECT IDENTIFIER ::= { ntpSnmpMIBObjects 4 }
+ntpEntNotifObjects OBJECT IDENTIFIER ::= { ntpSnmpMIBObjects 5 }
+ntpEntNotifPrefix OBJECT IDENTIFIER ::= { ntpSnmpMIBObjects 6 }
+
+--
+-- Textual Conventions
+--
+
+NtpStratum ::= TEXTUAL-CONVENTION
+ DISPLAY-HINT "d"
+ STATUS current
+ DESCRIPTION
+ "The NTP stratum, with 16 representing no stratum."
+ SYNTAX Unsigned32 (1..16)
+
+NtpDateTime ::= TEXTUAL-CONVENTION
+ DISPLAY-HINT "4d:4d:4d.4d"
+ STATUS current
+ DESCRIPTION
+ "NTP date/time on the device, in 128-bit
+ NTP date format. Ref: draft-ietf-ntp-ntpv4-proto-06,
+ section 6:
+ It includes a 64-bit signed seconds field
+ spanning 584 billion years and a 64-bit fraction
+ field resolving .05 attosecond (i.e. 0.5e-18).
+ For convenience in mapping between formats, the
+ seconds field is divided into a 32-bit era field
+ and a 32-bit timestamp field.
+
+ If time is not syncronized this field shall be a
+ zero-length string.
+
+ This TC is not to be used for objects that are used
+ to set the time of the node querying this object.
+ NTP should be used for this--or at least SNTP."
+ SYNTAX OCTET STRING (SIZE (0 | 16))
+
+--
+-- Section 1: General NTP Entity information objects
+-- (relatively static information)
+--
+
+ntpEntSoftwareName OBJECT-TYPE
+ SYNTAX DisplayString
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The product name of the installed NTP version."
+ -- the product name of the running ntp implementation, e.g. "ntpd"
+ ::= { ntpEntInfo 1 }
+
+ntpEntSoftwareVersion OBJECT-TYPE
+ SYNTAX DisplayString
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The software version of the installed NTP implementation."
+ -- full version string, e.g. "ntpd-4.2.0b@1.1433 ..."
+ ::= { ntpEntInfo 2 }
+
+ntpEntSoftwareVersionVal OBJECT-TYPE
+ SYNTAX Unsigned32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "Software version of installed NTP as an unsigned integer
+ value."
+ -- e.g. if version string is "4.2.0b" this could be translated into
+ -- 4202. This could be useful to find out if version of entity on a
+ -- is newer or older than version of the entity on b (without too
+ -- much string parsing trouble)
+ ::= { ntpEntInfo 3 }
+
+ntpEntSoftwareVendor OBJECT-TYPE
+ SYNTAX DisplayString
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The vendor/author of the installed NTP version."
+ ::= { ntpEntInfo 4 }
+
+ntpEntSystemType OBJECT-TYPE
+ SYNTAX DisplayString
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "General hardware/os platform information."
+ -- e.g. "Linux 2.6.12 / x86"
+ -- freely configurable, default is OS Version / Hardware platform
+ ::= { ntpEntInfo 5 }
+
+ntpEntTimeResolution OBJECT-TYPE
+ SYNTAX DisplayString
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "A 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
+ ::= { ntpEntInfo 6 }
+
+ntpEntTimeResolutionVal OBJECT-TYPE
+ SYNTAX Unsigned32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The time resolution in integer format."
+ -- ntpEntTimeResolution in Integer format
+ -- shows the resolution based on 1 second, e.g. "1ms" translates to
+ -- 1000
+ ::= { ntpEntInfo 7 }
+
+ntpEntTimePrecision OBJECT-TYPE
+ SYNTAX DisplayString
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "A string describing the precision with which the NTP entity
+ 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.
+ ::= { ntpEntInfo 8 }
+
+ntpEntTimePrecisionVal OBJECT-TYPE
+ SYNTAX Integer32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The entity's precision in integer format."
+ -- ntpEntTimePrecision in signed Integer format
+ -- shows the precision. A value of -5 would mean 2^-5 = 31.25 ms
+ ::= { ntpEntInfo 9 }
+
+ntpEntTimeDistance OBJECT-TYPE
+ SYNTAX DisplayString
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The distance from this NTP entity to the root time reference
+ (stratum 0) source."
+ -- including the unit
+ -- e.g. "13.243 ms"
+ ::= { ntpEntInfo 10 }
+
+--
+-- Section 2: Current NTP status (dynamic information)
+--
+
+ntpEntStatusCurrentMode OBJECT-TYPE
+ SYNTAX DisplayString
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The actual mode 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)
+ --- "none configured" : NTP is not synchronized and does not have a
+ --- server configured
+ --- (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)
+ --- "unknown" : The state of NTP is unknown.
+ ::= { ntpEntStatus 1 }
+
+ntpEntStatusCurrentModeVal OBJECT-TYPE
+ SYNTAX INTEGER {
+ notRunning(1),
+ notSynchronized(2),
+ noneConfigured(3),
+ syncToLocal(4),
+ syncToRefclock(5),
+ syncToRemoteServer(6),
+ unknown(99)
+ }
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The current mode of the NTP as integer value."
+ -- see ntpEntStatusCurrentMode
+ DEFVAL { 99 }
+ ::= { ntpEntStatus 2 }
+
+ntpEntStatusStratum OBJECT-TYPE
+ SYNTAX NtpStratum
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The NTP entity's own stratum value."
+ -- should be stratum of syspeer + 1 (or 16 if no syspeer)
+ DEFVAL { 16 }
+ ::= { ntpEntStatus 3 }
+
+ntpEntStatusActiveRefSourceId OBJECT-TYPE
+ SYNTAX Unsigned32 ( 0..99999 )
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The association ID of the current syspeer."
+ DEFVAL { 0 }
+ ::= { ntpEntStatus 4 }
+
+ntpEntStatusActiveRefSourceName 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
+ ::= { ntpEntStatus 5 }
+
+ntpEntStatusActiveOffset OBJECT-TYPE
+ SYNTAX DisplayString
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The Time offset to the current selected reference time source
+ as a string."
+ -- including unit, e.g. "0.032 ms" or "1.232 s"
+ ::= { ntpEntStatus 6 }
+
+ntpEntStatusNumberOfRefSources OBJECT-TYPE
+ SYNTAX Unsigned32 (0..99)
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The number of reference sources configured for NTP."
+ DEFVAL { 0 }
+ ::= { ntpEntStatus 7 }
+
+ntpEntStatusDispersion OBJECT-TYPE
+ SYNTAX DisplayString
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The root dispersion of the running NTP entity."
+ -- e.g. "6.927"
+ DEFVAL { "n/a" }
+ ::= { ntpEntStatus 8 }
+
+ntpEntStatusEntityUptime OBJECT-TYPE
+ SYNTAX Unsigned32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The uptime of the NTP entity in seconds."
+ -- time since ntpd was (re-)started (not sysUptime!)
+ DEFVAL { 0 }
+ ::= { ntpEntStatus 9 }
+
+ntpEntStatusDateTime OBJECT-TYPE
+ SYNTAX NtpDateTime
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The current NTP date/time on the device, in 128-bit
+ NTP date format. Ref: draft-ietf-ntp-ntpv4-proto-06,
+ section 6:
+ It includes a 64-bit signed seconds field
+ spanning 584 billion years and a 64-bit fraction
+ field resolving .05 attosecond (i.e. 0.5e-18).
+ For convenience in mapping between formats, the
+ seconds field is divided into a 32-bit era field
+ and a 32-bit timestamp field.
+
+ If time is not syncronized this field shall be a
+ zero-length string.
+
+ This object can be used to timestamp events on this
+ node and allow a management station to coorelate
+ different time objects. For example, a management
+ station could query this object and sysUpTime in
+ the same operation to be able to relate sysUpTime
+ to NTP time.
+
+ This object is not to be used to set the time of
+ the node querying this object. NTP should be used
+ for this--or at least SNTP."
+ ::= { ntpEntStatus 10 }
+
+ntpEntStatusLeapSecond OBJECT-TYPE
+ SYNTAX Integer32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "Date the next known leap second will occur. If there is
+ no leap second announced then this object should be 0."
+ DEFVAL { 0 }
+ ::= { ntpEntStatus 11 }
+
+ntpEntStatusLeapSecDirection OBJECT-TYPE
+ SYNTAX Integer32 (-1..1)
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "Direction of next known leap second. If there is no
+ leap second announced then this object should be 0."
+ DEFVAL { 0 }
+ ::= { ntpEntStatus 12 }
+
+ntpEntStatusInPkts OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The total number of NTP messages delivered to the
+ NTP entity from the transport service."
+ ::= { ntpEntStatus 13 }
+
+ntpEntStatusOutPkts OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The total number of NTP messages delivered to the
+ transport service by this NTP entity."
+ ::= { ntpEntStatus 14 }
+
+ntpEntStatusBadVersion OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The total number of NTP messages which were delivered
+ to this NTP entity and were for an unsupported NTP
+ version."
+ ::= { ntpEntStatus 15 }
+
+ntpEntStatusProtocolError OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The total number of NTP messages which were delivered
+ to this NTP entity and this entity was not able to
+ process due to an NTP protocol error."
+ ::= { ntpEntStatus 16 }
+
+ntpEntStatusNotifications OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The total number of SNMP notifications which this NTP
+ entity has generated."
+ ::= { ntpEntStatus 17 }
+
+ntpEntStatPktModeTable OBJECT-TYPE
+ SYNTAX SEQUENCE OF NtpEntStatPktModeEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "The number of packets sent and received by packet mode."
+ ::= { ntpEntStatus 18 }
+
+ntpEntStatPktModeEntry OBJECT-TYPE
+ SYNTAX NtpEntStatPktModeEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "The number of packets sent and received by packet mode."
+ INDEX { ntpEntStatPktMode }
+ ::= { ntpEntStatPktModeTable 1 }
+
+NtpEntStatPktModeEntry ::= SEQUENCE {
+ ntpEntStatPktMode INTEGER,
+ ntpEntStatPktSent Counter32,
+ ntpEntStatPktReceived Counter32
+}
+
+ntpEntStatPktMode OBJECT-TYPE
+ SYNTAX INTEGER {
+ symetricactive(1),
+ symetricpassive(2),
+ client(3),
+ server(4),
+ broadcastserver(5),
+ broadcastclient(6)
+ }
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "The NTP packet mode."
+ ::= { ntpEntStatPktModeEntry 1 }
+
+ntpEntStatPktSent OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The number of NTP packets sent with this packet mode."
+ ::= { ntpEntStatPktModeEntry 2 }
+
+ntpEntStatPktReceived OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The number of NTP packets received with this packet mode."
+ ::= { ntpEntStatPktModeEntry 3 }
+
+--
+-- Section 3: The status of all currently mobilized associations
+--
+
+ntpAssociationTable OBJECT-TYPE
+ SYNTAX SEQUENCE OF NtpAssociationEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "The table of currently mobilized associations."
+ ::= { ntpAssociation 1 }
+
+ntpAssociationEntry OBJECT-TYPE
+ SYNTAX NtpAssociationEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "The table entry of currently mobilized associations."
+ INDEX { ntpAssocId }
+ ::= { ntpAssociationTable 1 }
+
+NtpAssociationEntry ::= SEQUENCE {
+ ntpAssocId Unsigned32,
+ ntpAssocName DisplayString,
+ ntpAssocRefId DisplayString,
+ ntpAssocAddressType InetAddressType,
+ ntpAssocAddress InetAddress,
+ ntpAssocOffset DisplayString,
+ ntpAssocStratum NtpStratum,
+ ntpAssocStatusJitter DisplayString,
+ ntpAssocStatusDelay DisplayString,
+ ntpAssocStatusDispersion DisplayString
+}
+
+ntpAssocId OBJECT-TYPE
+ SYNTAX Unsigned32 ( 1..99999 )
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "The association ID. This is an internal, unique ID."
+ ::= { ntpAssociationEntry 1 }
+
+ntpAssocName OBJECT-TYPE
+ SYNTAX DisplayString
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The hostname or other descriptive name for the association."
+ ::= { ntpAssociationEntry 2 }
+
+ntpAssocRefId OBJECT-TYPE
+ SYNTAX DisplayString
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The refclock driver ID, if available."
+ -- a refclock driver ID like "127.127.1.0" for non
+ -- uni/multi/broadcast associations
+ ::= { ntpAssociationEntry 3 }
+
+ntpAssocAddressType OBJECT-TYPE
+ SYNTAX InetAddressType
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The type of address of the association."
+ -- contains the type of address for uni/multi/broadcast associations
+ ::= { ntpAssociationEntry 4 }
+
+ntpAssocAddress OBJECT-TYPE
+ SYNTAX InetAddress
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The IP address (IPv4 or IPv6) of the association."
+ -- contains IP address of uni/multi/broadcast associations
+ ::= { ntpAssociationEntry 5 }
+
+ntpAssocOffset OBJECT-TYPE
+ SYNTAX DisplayString
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The time offset to the association as a string."
+ -- including unit, e.g. "0.032 ms" or "1.232 s"
+ ::= { ntpAssociationEntry 6 }
+
+ntpAssocStratum OBJECT-TYPE
+ SYNTAX NtpStratum
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The association stratum value."
+ ::= { ntpAssociationEntry 7 }
+
+ntpAssocStatusJitter OBJECT-TYPE
+ SYNTAX DisplayString
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The jitter in miliseconds as a string."
+ ::= { ntpAssociationEntry 8 }
+
+ntpAssocStatusDelay OBJECT-TYPE
+ SYNTAX DisplayString
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The network delay in miliseconds as a string."
+ ::= { ntpAssociationEntry 9 }
+
+ntpAssocStatusDispersion OBJECT-TYPE
+ SYNTAX DisplayString
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The root dispersion of the association."
+ -- e.g. "6.927"
+ ::= { ntpAssociationEntry 10 }
+
+ntpAssociationStatisticsTable OBJECT-TYPE
+ SYNTAX SEQUENCE OF NtpAssociationStatisticsEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "The table of statistics for current associations."
+ ::= { ntpAssociation 2 }
+
+ntpAssociationStatisticsEntry OBJECT-TYPE
+ SYNTAX NtpAssociationStatisticsEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "The table entry of statistics for current associations."
+ INDEX { ntpAssocId }
+ ::= { ntpAssociationStatisticsTable 1 }
+
+NtpAssociationStatisticsEntry ::= SEQUENCE {
+ ntpAssocStatInPkts Counter32,
+ ntpAssocStatOutPkts Counter32,
+ ntpAssocStatProtocolError Counter32
+}
+
+ntpAssocStatInPkts OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The total number of NTP messages delivered to the
+ NTP entity from this association."
+ ::= { ntpAssociationStatisticsEntry 1 }
+
+ntpAssocStatOutPkts OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The total number of NTP messages delivered to the
+ transport service by this NTP entity for this
+ association."
+ ::= { ntpAssociationStatisticsEntry 2 }
+
+ntpAssocStatProtocolError OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The total number of NTP messages which were delivered
+ to this NTP entity from this association and this entity
+ was not able to process due to an NTP protocol error."
+ ::= { ntpAssociationStatisticsEntry 3 }
+
+--
+-- Section 4: Control objects
+--
+
+ntpEntHeartbeatInterval OBJECT-TYPE
+ SYNTAX Unsigned32
+ MAX-ACCESS read-write
+ STATUS current
+ DESCRIPTION
+ "The interval at which the ntpEntNotifHeartbeat notification
+ should be sent, in seconds. If set to 0 and the
+ entNotifHeartbeat bit in ntpEntNotifBits is 1 then
+ ntpEntNotifHeartbeat is sent once."
+ DEFVAL { 60 }
+ ::= { ntpEntControl 1 }
+
+ntpEntNotifBits OBJECT-TYPE
+ SYNTAX BITS {
+ notUsed(0), -- Used to sync up bit and notification
+ -- indices
+ entNotifModeChange(1),
+ entNotifStratumChange(2),
+ entNotifSyspeerChanged(3),
+ entNotifAddAssociation(4),
+ entNotifRemoveAssociation(5),
+ entNotifConfigChanged(6),
+ entNotifLeapSecondAnnounced(7),
+ entNotifHeartbeat(8)
+ }
+ MAX-ACCESS read-write
+ STATUS current
+ DESCRIPTION
+ "A bit for each notification. A 1 for a particular bit enables
+ that particular notification, a 0 disables it."
+ ::= { ntpEntControl 2 }
+
+--
+-- Section 5: Notification objects
+--
+
+ntpEntNotifMessage OBJECT-TYPE
+ SYNTAX DisplayString
+ MAX-ACCESS accessible-for-notify
+ STATUS current
+ DESCRIPTION
+ "Used as a payload object for all notifications. Holds a clear
+ text event message."
+ DEFVAL { "no event" }
+ ::= { ntpEntNotifObjects 1 }
+
+--
+-- SNMP notification definitions
+--
+
+ntpEntNotifications OBJECT IDENTIFIER ::= { ntpEntNotifPrefix 0 }
+
+ntpEntNotifModeChange NOTIFICATION-TYPE
+ OBJECTS { ntpEntStatusCurrentModeVal }
+ STATUS current
+ DESCRIPTION
+ "The notification to be sent when the NTP entity changes mode,
+ including starting and stopping (if possible)"
+ ::= { ntpEntNotifications 1 }
+
+ntpEntNotifStratumChange NOTIFICATION-TYPE
+ OBJECTS { ntpEntStatusDateTime, ntpEntStatusStratum,
+ ntpEntNotifMessage }
+ STATUS current
+ DESCRIPTION
+ "The notification to be sent when stratum level of NTP changes."
+ ::= { ntpEntNotifications 2 }
+
+ntpEntNotifSyspeerChanged NOTIFICATION-TYPE
+ OBJECTS { ntpEntStatusDateTime, ntpEntStatusActiveRefSourceId,
+ ntpEntNotifMessage }
+ STATUS current
+ DESCRIPTION
+ "The notification to be sent when a (new) syspeer has been
+ selected."
+ ::= { ntpEntNotifications 3 }
+
+ntpEntNotifAddAssociation NOTIFICATION-TYPE
+ OBJECTS { ntpEntStatusDateTime, ntpAssocName, ntpEntNotifMessage }
+ STATUS current
+ DESCRIPTION
+ "The notification to be sent when a new association is
+ mobilized."
+ ::= { ntpEntNotifications 4 }
+
+ntpEntNotifRemoveAssociation NOTIFICATION-TYPE
+ OBJECTS { ntpEntStatusDateTime, ntpAssocName, ntpEntNotifMessage }
+ STATUS current
+ DESCRIPTION
+ "The notification to be sent when an association is
+ demobilized."
+ ::= { ntpEntNotifications 5 }
+
+ntpEntNotifConfigChanged NOTIFICATION-TYPE
+ OBJECTS { ntpEntStatusDateTime, ntpEntNotifMessage }
+ STATUS current
+ DESCRIPTION
+ "The notification to be sent when the 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
+ ::= { ntpEntNotifications 6 }
+
+ntpEntNotifLeapSecondAnnounced NOTIFICATION-TYPE
+ OBJECTS { ntpEntStatusDateTime, ntpEntNotifMessage }
+ STATUS current
+ DESCRIPTION
+ "The notification to be sent when a leap second has been
+ announced."
+ ::= { ntpEntNotifications 7 }
+
+ntpEntNotifHeartbeat NOTIFICATION-TYPE
+ OBJECTS { ntpEntStatusDateTime, ntpEntStatusCurrentModeVal,
+ ntpEntHeartbeatInterval, ntpEntNotifMessage }
+ STATUS current
+ DESCRIPTION
+ "The notification to be sent periodically (as defined by
+ ntpEntHeartbeatInterval) to indicate that the NTP entity is
+ still alive."
+ ::= { ntpEntNotifications 8 }
+
+--
+-- Conformance/Compliance statements
+--
+
+ntpEntConformance OBJECT IDENTIFIER ::= { ntpSnmpMIB 6 }
+
+ntpEntCompliances OBJECT IDENTIFIER ::= { ntpEntConformance 1 }
+ntpEntGroups OBJECT IDENTIFIER ::= { ntpEntConformance 2 }
+
+ntpEntNTPCompliance MODULE-COMPLIANCE
+ STATUS current
+ DESCRIPTION
+ "The compliance statement for SNMP entities which use NTP and
+ implement the NTP MIB"
+ MODULE -- this module
+ MANDATORY-GROUPS {
+ ntpEntObjectsGroup1,
+ ntpEntObjectsGroup2,
+ ntpEntNotifPrefixGroup
+ }
+ ::= { ntpEntCompliances 1 }
+
+ntpEntSNTPCompliance MODULE-COMPLIANCE
+ STATUS current
+ DESCRIPTION
+ "The compliance statement for SNMP entities which use SNTP and
+ implement the NTP MIB"
+ MODULE -- this module
+ MANDATORY-GROUPS {
+ ntpEntObjectsGroup1
+ }
+ ::= { ntpEntCompliances 2 }
+
+ntpEntObjectsGroup1 OBJECT-GROUP
+ OBJECTS {
+ ntpEntSoftwareName,
+ ntpEntSoftwareVersion,
+ ntpEntSoftwareVersionVal,
+ ntpEntSoftwareVendor,
+ ntpEntSystemType,
+ ntpEntStatusEntityUptime,
+ ntpEntStatusDateTime,
+ ntpAssocName,
+ ntpAssocRefId,
+ ntpAssocAddressType,
+ ntpAssocAddress
+ }
+ STATUS current
+ DESCRIPTION
+ "A collection of objects for the NTP MIB that all NTP
+ or SNTP entities should implement."
+ ::= { ntpEntGroups 1 }
+
+ntpEntObjectsGroup2 OBJECT-GROUP
+ OBJECTS {
+ ntpEntTimeResolution,
+ ntpEntTimeResolutionVal,
+ ntpEntTimePrecision,
+ ntpEntTimePrecisionVal,
+ ntpEntTimeDistance,
+ ntpEntStatusCurrentMode,
+ ntpEntStatusCurrentModeVal,
+ ntpEntStatusStratum,
+ ntpEntStatusActiveRefSourceId,
+ ntpEntStatusActiveRefSourceName,
+ ntpEntStatusActiveOffset,
+ ntpEntStatusNumberOfRefSources,
+ ntpEntStatusDispersion,
+ ntpEntStatusLeapSecond,
+ ntpEntStatusLeapSecDirection,
+ ntpEntStatusInPkts,
+ ntpEntStatusOutPkts,
+ ntpEntStatusBadVersion,
+ ntpEntStatusProtocolError,
+ ntpEntStatusNotifications,
+ ntpEntStatPktSent,
+ ntpEntStatPktReceived,
+ ntpAssocOffset,
+ ntpAssocStratum,
+ ntpAssocStatusJitter,
+ ntpAssocStatusDelay,
+ ntpAssocStatusDispersion,
+ ntpAssocStatInPkts,
+ ntpAssocStatOutPkts,
+ ntpAssocStatProtocolError,
+ ntpEntHeartbeatInterval,
+ ntpEntNotifBits,
+ ntpEntNotifMessage
+ }
+ STATUS current
+ DESCRIPTION
+ "A collection of objects for the NTP MIB that are optional
+ for NTP or SNTP entities to implement."
+ ::= { ntpEntGroups 2 }
+
+ntpEntNotifPrefixGroup NOTIFICATION-GROUP
+ NOTIFICATIONS {
+ ntpEntNotifModeChange,
+ ntpEntNotifStratumChange,
+ ntpEntNotifSyspeerChanged,
+ ntpEntNotifAddAssociation,
+ ntpEntNotifRemoveAssociation,
+ ntpEntNotifConfigChanged,
+ ntpEntNotifLeapSecondAnnounced,
+ ntpEntNotifHeartbeat
+ }
+ STATUS current
+ DESCRIPTION
+ "A collection of notifications for the NTP MIB"
+ ::= { ntpEntGroups 3 }
+
+END