1258945Sroberto-- *********************************************************************
2258945Sroberto--
3258945Sroberto--    The Network Time Protocol Version 4
4258945Sroberto--    Management Information Base (MIB)
5258945Sroberto--
6258945Sroberto--    Authors: Heiko Gerstung (heiko.gerstung@meinberg.de)
7258945Sroberto--             Chris Elliott (chelliot@pobox.com)
8258945Sroberto--
9258945Sroberto--    for the Internet Engineering Task Force (IETF)
10258945Sroberto--    NTP Working Group (ntpwg)
11258945Sroberto--
12258945Sroberto--
13258945Sroberto-- *********************************************************************
14258945Sroberto--   Rev 1.00
15258945Sroberto--         Published as RFC 5907
16258945Sroberto--
17258945Sroberto-- *********************************************************************
18258945Sroberto
19258945SrobertoNTPv4-MIB DEFINITIONS ::= BEGIN
20258945Sroberto
21258945SrobertoIMPORTS
22258945Sroberto    MODULE-IDENTITY, OBJECT-TYPE , mib-2, Integer32, NOTIFICATION-TYPE,
23258945Sroberto    Unsigned32, Counter32, TimeTicks
24258945Sroberto        FROM SNMPv2-SMI -- RFC 2578
25258945Sroberto    MODULE-COMPLIANCE, OBJECT-GROUP, NOTIFICATION-GROUP
26258945Sroberto        FROM SNMPv2-CONF -- RFC 2580
27258945Sroberto    DisplayString, TEXTUAL-CONVENTION
28258945Sroberto        FROM SNMPv2-TC -- RFC 2579
29258945Sroberto    InetAddressType, InetAddress
30258945Sroberto        FROM INET-ADDRESS-MIB -- RFC 4001
31258945Sroberto    Utf8String
32258945Sroberto        FROM SYSAPPL-MIB; -- RFC 2287
33258945Sroberto
34258945SrobertontpSnmpMIB MODULE-IDENTITY
35258945Sroberto    LAST-UPDATED "201005170000Z" -- May 17, 2010
36258945Sroberto    ORGANIZATION "The IETF NTP Working Group (ntpwg)"
37258945Sroberto    CONTACT-INFO
38258945Sroberto            "     WG Email: ntpwg@lists.ntp.isc.org
39258945Sroberto                  Subscribe:
40258945Sroberto                   https://lists.ntp.isc.org/mailman/listinfo/ntpwg
41258945Sroberto
42258945Sroberto                  Heiko Gerstung
43258945Sroberto                  Meinberg Funkuhren Gmbh & Co. KG
44258945Sroberto                  Lange Wand 9
45258945Sroberto                  Bad Pyrmont  31812
46258945Sroberto                  Germany
47258945Sroberto
48258945Sroberto                  Phone: +49 5281 9309 25
49258945Sroberto                  Email: heiko.gerstung@meinberg.de
50258945Sroberto
51258945Sroberto                  Chris Elliott
52258945Sroberto                  1516 Kent St.
53258945Sroberto                  Durham, NC 27707
54258945Sroberto                  USA
55258945Sroberto
56258945Sroberto                  Phone: +1-919-308-1216
57258945Sroberto                  Email: chelliot@pobox.com
58258945Sroberto
59258945Sroberto                  Brian Haberman
60258945Sroberto                  11100 Johns Hopkins Road
61258945Sroberto                  Laurel, MD 20723
62258945Sroberto                  USA
63258945Sroberto
64258945Sroberto                  Phone: +1-443-778-1319
65258945Sroberto                  Email: brian@innovationslab.net"
66258945Sroberto     DESCRIPTION
67258945Sroberto        "The Management Information Base for NTP time entities.
68258945Sroberto
69258945Sroberto         Copyright (c) 2010 IETF Trust and the persons identified as
70258945Sroberto         authors of the code.  All rights reserved.
71258945Sroberto
72258945Sroberto         Redistribution and use in source and binary forms, with or
73258945Sroberto         without modification, is permitted pursuant to, and subject
74258945Sroberto         to the license terms contained in, the Simplified BSD License
75258945Sroberto         set forth in Section 4.c of the IETF Trust's Legal Provisions
76258945Sroberto         Relating to IETF Documents
77258945Sroberto         (http://trustee.ietf.org/license-info)."
78258945Sroberto
79258945Sroberto    REVISION     "201005170000Z"
80258945Sroberto    DESCRIPTION
81258945Sroberto        "This revision of the MIB module is published as RFC 5907."
82258945Sroberto
83258945Sroberto    ::= { mib-2 197 }
84258945Sroberto
85258945SrobertontpSnmpMIBObjects  OBJECT IDENTIFIER ::= { ntpSnmpMIB 1 }
86258945Sroberto
87258945Sroberto-- MIB contains 6 groups
88258945Sroberto
89258945SrobertontpEntInfo         OBJECT IDENTIFIER ::= { ntpSnmpMIBObjects 1 }
90258945SrobertontpEntStatus       OBJECT IDENTIFIER ::= { ntpSnmpMIBObjects 2 }
91258945SrobertontpAssociation     OBJECT IDENTIFIER ::= { ntpSnmpMIBObjects 3 }
92258945SrobertontpEntControl      OBJECT IDENTIFIER ::= { ntpSnmpMIBObjects 4 }
93258945SrobertontpEntNotifObjects OBJECT IDENTIFIER ::= { ntpSnmpMIBObjects 5 }
94258945Sroberto
95258945Sroberto--
96258945Sroberto-- Textual Conventions
97258945Sroberto--
98258945Sroberto
99258945SrobertoNtpStratum ::= TEXTUAL-CONVENTION
100258945Sroberto    DISPLAY-HINT "d"
101258945Sroberto    STATUS      current
102258945Sroberto    DESCRIPTION
103258945Sroberto        "The NTP stratum, with 16 representing no stratum."
104258945Sroberto    SYNTAX      Unsigned32 (1..16)
105258945Sroberto
106258945SrobertoNtpDateTime ::= TEXTUAL-CONVENTION
107258945Sroberto    DISPLAY-HINT "4d:4d:4d.4d"
108258945Sroberto    STATUS      current
109258945Sroberto    DESCRIPTION
110258945Sroberto        "NTP date/time on the device, in 128-bit
111258945Sroberto         NTP date format.  If time is not syncronized, this
112258945Sroberto         field shall be a zero-length string.
113258945Sroberto
114258945Sroberto         This trusted certificate (TC) is not to be used for objects
115258945Sroberto         that are used to set the time of the node querying this
116258945Sroberto         object.  NTP should be used for this -- or at least SNTP."
117258945Sroberto    REFERENCE "RFC 5905, section 6"
118258945Sroberto    SYNTAX      OCTET STRING (SIZE (0 | 16))
119258945Sroberto
120258945Sroberto--
121258945Sroberto-- Section 1: General NTP Entity information objects
122258945Sroberto--            (relatively static information)
123258945Sroberto--
124258945Sroberto
125258945SrobertontpEntSoftwareName OBJECT-TYPE
126258945Sroberto    SYNTAX      Utf8String
127258945Sroberto    MAX-ACCESS  read-only
128258945Sroberto    STATUS      current
129258945Sroberto    DESCRIPTION
130258945Sroberto        "The product name of the running NTP version, e.g., 'ntpd'."
131258945Sroberto    ::= { ntpEntInfo  1 }
132258945Sroberto
133258945SrobertontpEntSoftwareVersion OBJECT-TYPE
134258945Sroberto    SYNTAX      Utf8String
135258945Sroberto    MAX-ACCESS  read-only
136258945Sroberto    STATUS      current
137258945Sroberto    DESCRIPTION
138258945Sroberto        "The software version of the installed NTP implementation
139258945Sroberto         as a full version string, e.g., 'ntpd-4.2.0b@1.1433 ...'"
140258945Sroberto    ::= { ntpEntInfo  2 }
141258945Sroberto
142258945SrobertontpEntSoftwareVendor OBJECT-TYPE
143258945Sroberto    SYNTAX      Utf8String
144258945Sroberto    MAX-ACCESS  read-only
145258945Sroberto    STATUS      current
146258945Sroberto    DESCRIPTION
147258945Sroberto        "The vendor/author of the installed NTP version."
148258945Sroberto    ::= { ntpEntInfo  3 }
149258945Sroberto
150258945SrobertontpEntSystemType OBJECT-TYPE
151258945Sroberto    SYNTAX      Utf8String
152258945Sroberto    MAX-ACCESS  read-only
153258945Sroberto    STATUS      current
154258945Sroberto    DESCRIPTION
155258945Sroberto        "General hardware/os platform information,
156258945Sroberto         e.g., 'Linux 2.6.12 / x86'."
157258945Sroberto    -- freely configurable, default is OS Version / Hardware platform
158258945Sroberto    ::= { ntpEntInfo  4 }
159258945Sroberto
160258945SrobertontpEntTimeResolution OBJECT-TYPE
161258945Sroberto    SYNTAX      Unsigned32
162258945Sroberto    MAX-ACCESS  read-only
163258945Sroberto    STATUS      current
164258945Sroberto    DESCRIPTION
165258945Sroberto        "The time resolution in integer format, where the resolution
166258945Sroberto        is represented as divisions of a second, e.g., a value of 1000
167258945Sroberto        translates to 1.0 ms."
168258945Sroberto    ::= { ntpEntInfo  5 }
169258945Sroberto
170258945SrobertontpEntTimePrecision OBJECT-TYPE
171258945Sroberto    SYNTAX      Integer32
172258945Sroberto    MAX-ACCESS  read-only
173258945Sroberto    STATUS      current
174258945Sroberto    DESCRIPTION
175258945Sroberto        "The entity's precision in integer format, shows the precision.
176258945Sroberto         A value of -5 would mean 2^-5 = 31.25 ms."
177258945Sroberto    ::= { ntpEntInfo  6 }
178258945Sroberto
179258945SrobertontpEntTimeDistance OBJECT-TYPE
180258945Sroberto    SYNTAX      DisplayString
181258945Sroberto    MAX-ACCESS  read-only
182258945Sroberto    STATUS      current
183258945Sroberto    DESCRIPTION
184258945Sroberto        "The distance from this NTP entity to the root time reference
185258945Sroberto        (stratum 0) source including the unit, e.g., '13.243 ms'."
186258945Sroberto    ::= { ntpEntInfo  7 }
187258945Sroberto
188258945Sroberto--
189258945Sroberto-- Section 2: Current NTP status (dynamic information)
190258945Sroberto--
191258945Sroberto
192258945SrobertontpEntStatusCurrentMode OBJECT-TYPE
193258945Sroberto    SYNTAX      INTEGER {
194258945Sroberto                            notRunning(1),
195258945Sroberto                            notSynchronized(2),
196258945Sroberto                            noneConfigured(3),
197258945Sroberto                            syncToLocal(4),
198258945Sroberto                            syncToRefclock(5),
199258945Sroberto                            syncToRemoteServer(6),
200258945Sroberto                            unknown(99)
201258945Sroberto                        }
202258945Sroberto    MAX-ACCESS  read-only
203258945Sroberto    STATUS      current
204258945Sroberto    DESCRIPTION
205258945Sroberto        "The current mode of the NTP.  The definition of each possible
206258945Sroberto         value is:
207258945Sroberto            notRunning(1) - NTP is not running.
208258945Sroberto            notSynchronized(2) - NTP is not synchronized to any time
209258945Sroberto                                 source (stratum = 16).
210258945Sroberto            noneConfigured(3) - NTP is not synchronized and does not
211258945Sroberto                                have a reference configured
212258945Sroberto                                (stratum = 16).
213258945Sroberto            syncToLocal(4) - NTP is distributing time based on its
214258945Sroberto                             local clock (degraded accuracy and/or
215258945Sroberto                             reliability).
216258945Sroberto            syncToRefclock(5) - NTP is synchronized to a local
217258945Sroberto                                hardware refclock (e.g., GPS).
218258945Sroberto            syncToRemoteServer(6) - NTP is synchronized to a remote
219258945Sroberto                                    NTP server ('upstream' server).
220258945Sroberto            unknown(99) - The state of NTP is unknown."
221258945Sroberto    ::= { ntpEntStatus 1 }
222258945Sroberto
223258945SrobertontpEntStatusStratum OBJECT-TYPE
224258945Sroberto    SYNTAX      NtpStratum
225258945Sroberto    MAX-ACCESS  read-only
226258945Sroberto    STATUS      current
227258945Sroberto    DESCRIPTION
228258945Sroberto        "The NTP entity's own stratum value.  Should be a stratum of
229258945Sroberto         syspeer + 1 (or 16 if no syspeer)."
230258945Sroberto    ::= { ntpEntStatus 2 }
231258945Sroberto
232258945SrobertontpEntStatusActiveRefSourceId OBJECT-TYPE
233258945Sroberto    SYNTAX      Unsigned32 ( 0..99999 )
234258945Sroberto    MAX-ACCESS  read-only
235258945Sroberto    STATUS      current
236258945Sroberto    DESCRIPTION
237258945Sroberto        "The association ID of the current syspeer."
238258945Sroberto    ::= { ntpEntStatus 3 }
239258945Sroberto
240258945SrobertontpEntStatusActiveRefSourceName OBJECT-TYPE
241258945Sroberto    SYNTAX      Utf8String
242258945Sroberto    MAX-ACCESS  read-only
243258945Sroberto    STATUS      current
244258945Sroberto    DESCRIPTION
245258945Sroberto        "The hostname/descriptive name of the current reference source
246258945Sroberto         selected as syspeer, e.g., 'ntp1.ptb.de' or 'GPS' or
247258945Sroberto         'DCFi', ..."
248258945Sroberto    ::= { ntpEntStatus 4 }
249258945Sroberto
250258945SrobertontpEntStatusActiveOffset OBJECT-TYPE
251258945Sroberto    SYNTAX      DisplayString
252258945Sroberto    MAX-ACCESS  read-only
253258945Sroberto    STATUS      current
254258945Sroberto    DESCRIPTION
255258945Sroberto        "The time offset to the current selected reference time source
256258945Sroberto         as a string including unit, e.g., '0.032 ms' or '1.232 s'."
257258945Sroberto    ::= { ntpEntStatus 5 }
258258945Sroberto
259258945SrobertontpEntStatusNumberOfRefSources OBJECT-TYPE
260258945Sroberto    SYNTAX      Unsigned32 (0..99)
261258945Sroberto    MAX-ACCESS  read-only
262258945Sroberto    STATUS      current
263258945Sroberto    DESCRIPTION
264258945Sroberto        "The number of reference sources configured for NTP."
265258945Sroberto    ::= { ntpEntStatus 6 }
266258945Sroberto
267258945SrobertontpEntStatusDispersion OBJECT-TYPE
268258945Sroberto    SYNTAX      DisplayString
269258945Sroberto    MAX-ACCESS  read-only
270258945Sroberto    STATUS      current
271258945Sroberto    DESCRIPTION
272258945Sroberto        "The root dispersion of the running NTP entity, e.g., '6.927'."
273258945Sroberto    ::= { ntpEntStatus 7 }
274258945Sroberto
275258945SrobertontpEntStatusEntityUptime OBJECT-TYPE
276258945Sroberto    SYNTAX      TimeTicks
277258945Sroberto    MAX-ACCESS  read-only
278258945Sroberto    STATUS      current
279258945Sroberto    DESCRIPTION
280258945Sroberto        "The uptime of the NTP entity, (i.e., the time since ntpd was
281258945Sroberto         (re-)initialized not sysUptime!).  The time is represented in
282258945Sroberto         hundreds of seconds since Jan 1, 1970 (00:00:00.000) UTC."
283258945Sroberto    ::= { ntpEntStatus 8 }
284258945Sroberto
285258945SrobertontpEntStatusDateTime OBJECT-TYPE
286258945Sroberto    SYNTAX      NtpDateTime
287258945Sroberto    MAX-ACCESS  read-only
288258945Sroberto    STATUS      current
289258945Sroberto    DESCRIPTION
290258945Sroberto        "The current NTP date/time on the device, in 128-bit
291258945Sroberto         NTP date format.  If time is not syncronized, this
292258945Sroberto         field shall be a zero-length string.
293258945Sroberto
294258945Sroberto         This object can be used to timestamp events on this
295258945Sroberto         node and allow a management station to correlate
296258945Sroberto         different time objects.  For example, a management
297258945Sroberto         station could query this object and sysUpTime in
298258945Sroberto         the same operation to be able to relate sysUpTime
299258945Sroberto         to NTP time.
300258945Sroberto
301258945Sroberto         This object is not to be used to set the time of
302258945Sroberto         the node querying this object.  NTP should be used
303258945Sroberto         for this -- or at least SNTP."
304258945Sroberto    REFERENCE "RFC 5905, section 6"
305258945Sroberto    ::= { ntpEntStatus 9 }
306258945Sroberto
307258945SrobertontpEntStatusLeapSecond OBJECT-TYPE
308258945Sroberto    SYNTAX      NtpDateTime
309258945Sroberto    MAX-ACCESS  read-only
310258945Sroberto    STATUS      current
311258945Sroberto    DESCRIPTION
312258945Sroberto        "Date the next known leap second will occur.  If there is
313258945Sroberto         no leap second announced, then this object should be 0."
314258945Sroberto    ::= { ntpEntStatus 10 }
315258945Sroberto
316258945SrobertontpEntStatusLeapSecDirection OBJECT-TYPE
317258945Sroberto    SYNTAX      Integer32 (-1..1)
318258945Sroberto    MAX-ACCESS  read-only
319258945Sroberto    STATUS      current
320258945Sroberto    DESCRIPTION
321258945Sroberto        "Direction of next known leap second.  If there is no
322258945Sroberto         leap second announced, then this object should be 0."
323258945Sroberto    ::= { ntpEntStatus 11 }
324258945Sroberto
325258945SrobertontpEntStatusInPkts OBJECT-TYPE
326258945Sroberto    SYNTAX      Counter32
327258945Sroberto    UNITS       "packets"
328258945Sroberto    MAX-ACCESS  read-only
329258945Sroberto    STATUS      current
330258945Sroberto    DESCRIPTION
331258945Sroberto        "The total number of NTP messages delivered to the
332258945Sroberto         NTP entity from the transport service.
333258945Sroberto         Discountinuities in the value of this counter can occur
334258945Sroberto         upon cold start or reinitialization of the NTP entity, the
335258945Sroberto         management system and at other times as indicated by
336258945Sroberto         discontinuities in the value of sysUpTime."
337258945Sroberto    ::= { ntpEntStatus 12 }
338258945Sroberto
339258945SrobertontpEntStatusOutPkts OBJECT-TYPE
340258945Sroberto    SYNTAX      Counter32
341258945Sroberto    UNITS       "packets"
342258945Sroberto    MAX-ACCESS  read-only
343258945Sroberto    STATUS      current
344258945Sroberto    DESCRIPTION
345258945Sroberto        "The total number of NTP messages delivered to the
346258945Sroberto         transport service by this NTP entity.
347258945Sroberto         Discountinuities in the value of this counter can occur
348258945Sroberto         upon cold start or reinitialization of the NTP entity, the
349258945Sroberto         management system and at other times as indicated by
350258945Sroberto         discontinuities in the value of sysUpTime."
351258945Sroberto    ::= { ntpEntStatus 13 }
352258945Sroberto
353258945SrobertontpEntStatusBadVersion OBJECT-TYPE
354258945Sroberto    SYNTAX      Counter32
355258945Sroberto    UNITS       "packets"
356258945Sroberto    MAX-ACCESS  read-only
357258945Sroberto    STATUS      current
358258945Sroberto    DESCRIPTION
359258945Sroberto        "The total number of NTP messages that were delivered
360258945Sroberto         to this NTP entity and were for an unsupported NTP
361258945Sroberto         version.
362258945Sroberto         Discountinuities in the value of this counter can occur
363258945Sroberto         upon cold start or reinitialization of the NTP entity, the
364258945Sroberto         management system and at other times as indicated by
365258945Sroberto         discontinuities in the value of sysUpTime."
366258945Sroberto    ::= { ntpEntStatus 14 }
367258945Sroberto
368258945SrobertontpEntStatusProtocolError OBJECT-TYPE
369258945Sroberto    SYNTAX      Counter32
370258945Sroberto    UNITS       "packets"
371258945Sroberto    MAX-ACCESS  read-only
372258945Sroberto    STATUS      current
373258945Sroberto    DESCRIPTION
374258945Sroberto        "The total number of NTP messages that were delivered
375258945Sroberto         to this NTP entity and this entity was not able to
376258945Sroberto         process due to an NTP protocol error.
377258945Sroberto         Discountinuities in the value of this counter can occur
378258945Sroberto         upon cold start or reinitialization of the NTP entity, the
379258945Sroberto         management system and at other times as indicated by
380258945Sroberto         discontinuities in the value of sysUpTime."
381258945Sroberto    ::= { ntpEntStatus 15 }
382258945Sroberto
383258945SrobertontpEntStatusNotifications OBJECT-TYPE
384258945Sroberto    SYNTAX      Counter32
385258945Sroberto    UNITS       "notifications"
386258945Sroberto    MAX-ACCESS  read-only
387258945Sroberto    STATUS      current
388258945Sroberto    DESCRIPTION
389258945Sroberto        "The total number of SNMP notifications that this NTP
390258945Sroberto         entity has generated.
391258945Sroberto         Discountinuities in the value of this counter can occur
392258945Sroberto         upon cold start or reinitialization of the NTP entity, the
393258945Sroberto         management system and at other times as indicated by
394258945Sroberto         discontinuities in the value of sysUpTime."
395258945Sroberto    ::= { ntpEntStatus 16 }
396258945Sroberto
397258945SrobertontpEntStatPktModeTable OBJECT-TYPE
398258945Sroberto    SYNTAX           SEQUENCE OF NtpEntStatPktModeEntry
399258945Sroberto    MAX-ACCESS       not-accessible
400258945Sroberto    STATUS           current
401258945Sroberto    DESCRIPTION
402258945Sroberto        "The number of packets sent and received by packet mode.
403258945Sroberto         One entry per packet mode."
404258945Sroberto    ::= { ntpEntStatus 17 }
405258945Sroberto
406258945SrobertontpEntStatPktModeEntry OBJECT-TYPE
407258945Sroberto    SYNTAX      NtpEntStatPktModeEntry
408258945Sroberto    MAX-ACCESS  not-accessible
409258945Sroberto    STATUS      current
410258945Sroberto    DESCRIPTION
411258945Sroberto        "A statistical record of the number of packets sent and
412258945Sroberto         received for each packet mode."
413258945Sroberto    INDEX       { ntpEntStatPktMode }
414258945Sroberto    ::= { ntpEntStatPktModeTable 1 }
415258945Sroberto
416258945SrobertoNtpEntStatPktModeEntry   ::= SEQUENCE {
417258945Sroberto        ntpEntStatPktMode              INTEGER,
418258945Sroberto        ntpEntStatPktSent              Counter32,
419258945Sroberto        ntpEntStatPktReceived          Counter32
420258945Sroberto}
421258945Sroberto
422258945SrobertontpEntStatPktMode OBJECT-TYPE
423258945Sroberto    SYNTAX      INTEGER {
424258945Sroberto                    symetricactive(1),
425258945Sroberto                    symetricpassive(2),
426258945Sroberto                    client(3),
427258945Sroberto                    server(4),
428258945Sroberto                    broadcastserver(5),
429258945Sroberto                    broadcastclient(6)
430258945Sroberto                }
431258945Sroberto    MAX-ACCESS  not-accessible
432258945Sroberto    STATUS      current
433258945Sroberto    DESCRIPTION
434258945Sroberto        "The NTP packet mode."
435258945Sroberto    ::= { ntpEntStatPktModeEntry 1 }
436258945Sroberto
437258945SrobertontpEntStatPktSent OBJECT-TYPE
438258945Sroberto    SYNTAX      Counter32
439258945Sroberto    UNITS       "packets"
440258945Sroberto    MAX-ACCESS  read-only
441258945Sroberto    STATUS      current
442258945Sroberto    DESCRIPTION
443258945Sroberto        "The number of NTP packets sent with this packet mode.
444258945Sroberto         Discountinuities in the value of this counter can occur
445258945Sroberto         upon cold start or reinitialization of the NTP entity, the
446258945Sroberto         management system and at other times as indicated by
447258945Sroberto         discontinuities in the value of sysUpTime."
448258945Sroberto    ::= { ntpEntStatPktModeEntry 2 }
449258945Sroberto
450258945SrobertontpEntStatPktReceived OBJECT-TYPE
451258945Sroberto    SYNTAX      Counter32
452258945Sroberto    UNITS       "packets"
453258945Sroberto    MAX-ACCESS  read-only
454258945Sroberto    STATUS      current
455258945Sroberto    DESCRIPTION
456258945Sroberto        "The number of NTP packets received with this packet mode.
457258945Sroberto
458258945Sroberto         Discountinuities in the value of this counter can occur
459258945Sroberto         upon cold start or reinitialization of the NTP entity, the
460258945Sroberto         management system and at other times as indicated by
461258945Sroberto         discontinuities in the value of sysUpTime."
462258945Sroberto    ::= { ntpEntStatPktModeEntry 3 }
463258945Sroberto
464258945Sroberto--
465258945Sroberto-- Section 3: The status of all currently mobilized associations
466258945Sroberto--
467258945Sroberto
468258945SrobertontpAssociationTable OBJECT-TYPE
469258945Sroberto    SYNTAX           SEQUENCE OF NtpAssociationEntry
470258945Sroberto    MAX-ACCESS       not-accessible
471258945Sroberto    STATUS           current
472258945Sroberto    DESCRIPTION
473258945Sroberto        "The table of currently mobilized associations."
474258945Sroberto    ::= { ntpAssociation 1 }
475258945Sroberto
476258945SrobertontpAssociationEntry OBJECT-TYPE
477258945Sroberto    SYNTAX      NtpAssociationEntry
478258945Sroberto    MAX-ACCESS  not-accessible
479258945Sroberto    STATUS      current
480258945Sroberto    DESCRIPTION
481258945Sroberto        "The table entry of currently mobilized associations."
482258945Sroberto    INDEX       { ntpAssocId }
483258945Sroberto    ::= { ntpAssociationTable 1 }
484258945Sroberto
485258945SrobertoNtpAssociationEntry   ::= SEQUENCE {
486258945Sroberto        ntpAssocId                  Unsigned32,
487258945Sroberto        ntpAssocName                Utf8String,
488258945Sroberto        ntpAssocRefId               DisplayString,
489258945Sroberto        ntpAssocAddressType         InetAddressType,
490258945Sroberto        ntpAssocAddress             InetAddress,
491258945Sroberto        ntpAssocOffset              DisplayString,
492258945Sroberto        ntpAssocStratum             NtpStratum,
493258945Sroberto        ntpAssocStatusJitter        DisplayString,
494258945Sroberto        ntpAssocStatusDelay         DisplayString,
495258945Sroberto        ntpAssocStatusDispersion    DisplayString
496258945Sroberto}
497258945Sroberto
498258945SrobertontpAssocId      OBJECT-TYPE
499258945Sroberto    SYNTAX      Unsigned32 ( 1..99999 )
500258945Sroberto    MAX-ACCESS  not-accessible
501258945Sroberto    STATUS      current
502258945Sroberto    DESCRIPTION
503258945Sroberto        "The association ID.  This is an internal, unique ID."
504258945Sroberto    ::= { ntpAssociationEntry 1 }
505258945Sroberto
506258945SrobertontpAssocName    OBJECT-TYPE
507258945Sroberto    SYNTAX      Utf8String
508258945Sroberto    MAX-ACCESS  read-only
509258945Sroberto    STATUS      current
510258945Sroberto    DESCRIPTION
511258945Sroberto        "The hostname or other descriptive name for the association."
512258945Sroberto    ::= { ntpAssociationEntry 2 }
513258945Sroberto
514258945SrobertontpAssocRefId   OBJECT-TYPE
515258945Sroberto    SYNTAX      DisplayString
516258945Sroberto    MAX-ACCESS  read-only
517258945Sroberto    STATUS      current
518258945Sroberto    DESCRIPTION
519258945Sroberto        "The refclock driver ID, if available."
520258945Sroberto    -- a refclock driver ID like "127.127.1.0" for non
521258945Sroberto    -- uni/multi/broadcast associations
522258945Sroberto    ::= { ntpAssociationEntry 3 }
523258945Sroberto
524258945SrobertontpAssocAddressType OBJECT-TYPE
525258945Sroberto    SYNTAX      InetAddressType { ipv4(1), ipv6(2), ipv4z(3), ipv6z(4) }
526258945Sroberto    MAX-ACCESS  read-only
527258945Sroberto    STATUS      current
528258945Sroberto    DESCRIPTION
529258945Sroberto        "The type of address of the association.  Can be either IPv4 or
530258945Sroberto         IPv6 (both with or without zone index) and contains the type of
531258945Sroberto         address for unicast, multicast, and broadcast associations."
532258945Sroberto    ::= { ntpAssociationEntry 4 }
533258945Sroberto
534258945SrobertontpAssocAddress OBJECT-TYPE
535258945Sroberto    SYNTAX      InetAddress (SIZE (4|8|16|20))
536258945Sroberto    MAX-ACCESS  read-only
537258945Sroberto    STATUS      current
538258945Sroberto    DESCRIPTION
539258945Sroberto        "The IP address (IPv4 or IPv6, with or without zone index) of
540258945Sroberto         the association.  The type and size depends on the
541258945Sroberto         ntpAssocAddressType object.  Represents the IP address of a
542258945Sroberto         uni/multi/broadcast association."
543258945Sroberto    ::= { ntpAssociationEntry 5 }
544258945Sroberto
545258945SrobertontpAssocOffset  OBJECT-TYPE
546258945Sroberto    SYNTAX      DisplayString
547258945Sroberto    MAX-ACCESS  read-only
548258945Sroberto    STATUS      current
549258945Sroberto    DESCRIPTION
550258945Sroberto        "The time offset to the association as a string."
551258945Sroberto    -- including unit, e.g., "0.032 ms" or "1.232 s"
552258945Sroberto    ::= { ntpAssociationEntry 6 }
553258945Sroberto
554258945SrobertontpAssocStratum OBJECT-TYPE
555258945Sroberto    SYNTAX      NtpStratum
556258945Sroberto    MAX-ACCESS  read-only
557258945Sroberto    STATUS      current
558258945Sroberto    DESCRIPTION
559258945Sroberto        "The association stratum value."
560258945Sroberto    ::= { ntpAssociationEntry 7 }
561258945Sroberto
562258945SrobertontpAssocStatusJitter OBJECT-TYPE
563258945Sroberto    SYNTAX      DisplayString
564258945Sroberto    MAX-ACCESS  read-only
565258945Sroberto    STATUS      current
566258945Sroberto    DESCRIPTION
567258945Sroberto        "The jitter in milliseconds as a string."
568258945Sroberto    ::= { ntpAssociationEntry 8 }
569258945Sroberto
570258945SrobertontpAssocStatusDelay OBJECT-TYPE
571258945Sroberto    SYNTAX      DisplayString
572258945Sroberto    MAX-ACCESS  read-only
573258945Sroberto    STATUS      current
574258945Sroberto    DESCRIPTION
575258945Sroberto        "The network delay in milliseconds as a string."
576258945Sroberto    ::= { ntpAssociationEntry 9 }
577258945Sroberto
578258945SrobertontpAssocStatusDispersion OBJECT-TYPE
579258945Sroberto    SYNTAX      DisplayString
580258945Sroberto    MAX-ACCESS  read-only
581258945Sroberto    STATUS      current
582258945Sroberto    DESCRIPTION
583258945Sroberto        "The root dispersion of the association."
584258945Sroberto    -- e.g., "6.927"
585258945Sroberto    ::= { ntpAssociationEntry 10 }
586258945Sroberto
587258945SrobertontpAssociationStatisticsTable OBJECT-TYPE
588258945Sroberto    SYNTAX           SEQUENCE OF NtpAssociationStatisticsEntry
589258945Sroberto    MAX-ACCESS       not-accessible
590258945Sroberto    STATUS           current
591258945Sroberto    DESCRIPTION
592258945Sroberto        "The table of statistics for current associations."
593258945Sroberto    ::= { ntpAssociation 2 }
594258945Sroberto
595258945SrobertontpAssociationStatisticsEntry OBJECT-TYPE
596258945Sroberto    SYNTAX      NtpAssociationStatisticsEntry
597258945Sroberto    MAX-ACCESS  not-accessible
598258945Sroberto    STATUS      current
599258945Sroberto    DESCRIPTION
600258945Sroberto        "The table entry of statistics for current associations."
601258945Sroberto    INDEX       { ntpAssocId }
602258945Sroberto    ::= { ntpAssociationStatisticsTable 1 }
603258945Sroberto
604258945SrobertoNtpAssociationStatisticsEntry   ::= SEQUENCE {
605258945Sroberto        ntpAssocStatInPkts          Counter32,
606258945Sroberto        ntpAssocStatOutPkts         Counter32,
607258945Sroberto        ntpAssocStatProtocolError   Counter32
608258945Sroberto}
609258945Sroberto
610258945SrobertontpAssocStatInPkts OBJECT-TYPE
611258945Sroberto    SYNTAX      Counter32
612258945Sroberto    UNITS       "packets"
613258945Sroberto    MAX-ACCESS  read-only
614258945Sroberto    STATUS      current
615258945Sroberto    DESCRIPTION
616258945Sroberto        "The total number of NTP messages delivered to the
617258945Sroberto         NTP entity from this association.
618258945Sroberto         Discountinuities in the value of this counter can occur
619258945Sroberto         upon cold start or reinitialization of the NTP entity, the
620258945Sroberto         management system and at other times as indicated by
621258945Sroberto         discontinuities in the value of sysUpTime."
622258945Sroberto    ::= { ntpAssociationStatisticsEntry 1 }
623258945Sroberto
624258945SrobertontpAssocStatOutPkts OBJECT-TYPE
625258945Sroberto    SYNTAX      Counter32
626258945Sroberto    UNITS       "packets"
627258945Sroberto    MAX-ACCESS  read-only
628258945Sroberto    STATUS      current
629258945Sroberto    DESCRIPTION
630258945Sroberto        "The total number of NTP messages delivered to the
631258945Sroberto         transport service by this NTP entity for this
632258945Sroberto         association.
633258945Sroberto         Discountinuities in the value of this counter can occur
634258945Sroberto         upon cold start or reinitialization of the NTP entity, the
635258945Sroberto         management system and at other times as indicated by
636258945Sroberto         discontinuities in the value of sysUpTime."
637258945Sroberto    ::= { ntpAssociationStatisticsEntry 2 }
638258945Sroberto
639258945SrobertontpAssocStatProtocolError OBJECT-TYPE
640258945Sroberto    SYNTAX      Counter32
641258945Sroberto    UNITS       "packets"
642258945Sroberto    MAX-ACCESS  read-only
643258945Sroberto    STATUS      current
644258945Sroberto    DESCRIPTION
645258945Sroberto        "The total number of NTP messages that were delivered
646258945Sroberto         to this NTP entity from this association and this entity
647258945Sroberto         was not able to process due to an NTP protocol error.
648258945Sroberto         Discountinuities in the value of this counter can occur
649258945Sroberto         upon cold start or reinitialization of the NTP entity, the
650258945Sroberto         management system and at other times as indicated by
651258945Sroberto         discontinuities in the value of sysUpTime."
652258945Sroberto    ::= { ntpAssociationStatisticsEntry 3 }
653258945Sroberto
654258945Sroberto--
655258945Sroberto-- Section 4: Control objects
656258945Sroberto--
657258945Sroberto
658258945SrobertontpEntHeartbeatInterval OBJECT-TYPE
659258945Sroberto    SYNTAX      Unsigned32
660258945Sroberto    UNITS       "seconds"
661258945Sroberto    MAX-ACCESS  read-write
662258945Sroberto    STATUS      current
663258945Sroberto    DESCRIPTION
664258945Sroberto        "The interval at which the ntpEntNotifHeartbeat notification
665258945Sroberto         should be sent, in seconds.  If set to 0 and the
666258945Sroberto         entNotifHeartbeat bit in ntpEntNotifBits is 1, then
667258945Sroberto         ntpEntNotifHeartbeat is sent once.
668258945Sroberto         This value is stored persistently and will be restored to its
669258945Sroberto         last set value upon cold start or restart."
670258945Sroberto    DEFVAL { 60 }
671258945Sroberto    ::= { ntpEntControl 1 }
672258945Sroberto
673258945SrobertontpEntNotifBits OBJECT-TYPE
674258945Sroberto    SYNTAX       BITS {
675258945Sroberto                     notUsed(0), -- Used to sync up bit and notification
676258945Sroberto                                 -- indices
677258945Sroberto                     entNotifModeChange(1),
678258945Sroberto                     entNotifStratumChange(2),
679258945Sroberto                     entNotifSyspeerChanged(3),
680258945Sroberto                     entNotifAddAssociation(4),
681258945Sroberto                     entNotifRemoveAssociation(5),
682258945Sroberto                     entNotifConfigChanged(6),
683258945Sroberto                     entNotifLeapSecondAnnounced(7),
684258945Sroberto                     entNotifHeartbeat(8)
685258945Sroberto    }
686258945Sroberto    MAX-ACCESS  read-write
687258945Sroberto    STATUS      current
688258945Sroberto    DESCRIPTION
689258945Sroberto        "A bit for each notification.  A 1 for a particular bit enables
690258945Sroberto         that particular notification, a 0 disables it.
691258945Sroberto         This value is stored persistently and will be restored to its
692258945Sroberto         last set value upon cold start or restart."
693258945Sroberto    ::= { ntpEntControl 2 }
694258945Sroberto
695258945Sroberto--
696258945Sroberto-- Section 5: Notification objects
697258945Sroberto--
698258945Sroberto
699258945SrobertontpEntNotifMessage OBJECT-TYPE
700258945Sroberto    SYNTAX      Utf8String
701258945Sroberto    MAX-ACCESS  accessible-for-notify
702258945Sroberto    STATUS      current
703258945Sroberto    DESCRIPTION
704258945Sroberto        "Used as a payload object for all notifications.  Holds a
705258945Sroberto         cleartext event message."
706258945Sroberto    DEFVAL { "no event" }
707258945Sroberto    ::= { ntpEntNotifObjects 1 }
708258945Sroberto
709258945Sroberto--
710258945Sroberto-- SNMP notification definitions
711258945Sroberto--
712258945Sroberto
713258945SrobertontpEntNotifications OBJECT IDENTIFIER ::= { ntpSnmpMIB 0 }
714258945Sroberto
715258945SrobertontpEntNotifModeChange NOTIFICATION-TYPE
716258945Sroberto    OBJECTS     { ntpEntStatusCurrentMode }
717258945Sroberto    STATUS      current
718258945Sroberto    DESCRIPTION
719258945Sroberto        "The notification to be sent when the NTP entity changes mode,
720258945Sroberto         including starting and stopping (if possible)."
721258945Sroberto    ::= { ntpEntNotifications 1 }
722258945Sroberto
723258945SrobertontpEntNotifStratumChange NOTIFICATION-TYPE
724258945Sroberto    OBJECTS     { ntpEntStatusDateTime, ntpEntStatusStratum,
725258945Sroberto                  ntpEntNotifMessage }
726258945Sroberto    STATUS      current
727258945Sroberto    DESCRIPTION
728258945Sroberto        "The notification to be sent when stratum level of NTP changes."
729258945Sroberto    ::= { ntpEntNotifications 2 }
730258945Sroberto
731258945SrobertontpEntNotifSyspeerChanged NOTIFICATION-TYPE
732258945Sroberto    OBJECTS     { ntpEntStatusDateTime, ntpEntStatusActiveRefSourceId,
733258945Sroberto                  ntpEntNotifMessage }
734258945Sroberto    STATUS      current
735258945Sroberto    DESCRIPTION
736258945Sroberto        "The notification to be sent when a (new) syspeer has been
737258945Sroberto         selected."
738258945Sroberto    ::= { ntpEntNotifications 3 }
739258945Sroberto
740258945SrobertontpEntNotifAddAssociation NOTIFICATION-TYPE
741258945Sroberto    OBJECTS  { ntpEntStatusDateTime, ntpAssocName, ntpEntNotifMessage }
742258945Sroberto    STATUS      current
743258945Sroberto    DESCRIPTION
744258945Sroberto        "The notification to be sent when a new association is
745258945Sroberto         mobilized."
746258945Sroberto    ::= { ntpEntNotifications 4 }
747258945Sroberto
748258945SrobertontpEntNotifRemoveAssociation NOTIFICATION-TYPE
749258945Sroberto    OBJECTS  { ntpEntStatusDateTime, ntpAssocName,  ntpEntNotifMessage }
750258945Sroberto    STATUS      current
751258945Sroberto    DESCRIPTION
752258945Sroberto        "The notification to be sent when an association is
753258945Sroberto         demobilized."
754258945Sroberto    ::= { ntpEntNotifications 5 }
755258945Sroberto
756258945SrobertontpEntNotifConfigChanged NOTIFICATION-TYPE
757258945Sroberto    OBJECTS     { ntpEntStatusDateTime, ntpEntNotifMessage }
758258945Sroberto    STATUS      current
759258945Sroberto    DESCRIPTION
760258945Sroberto        "The notification to be sent when the NTP configuration has
761258945Sroberto         changed, e.g., when the system connected to the Internet and
762258945Sroberto         was assigned a new IP address by the ISPs DHCP server."
763258945Sroberto    ::= { ntpEntNotifications 6 }
764258945Sroberto
765258945SrobertontpEntNotifLeapSecondAnnounced NOTIFICATION-TYPE
766258945Sroberto    OBJECTS     { ntpEntStatusDateTime, ntpEntNotifMessage }
767258945Sroberto    STATUS      current
768258945Sroberto    DESCRIPTION
769258945Sroberto        "The notification to be sent when a leap second has been
770258945Sroberto         announced."
771258945Sroberto    ::= { ntpEntNotifications 7 }
772258945Sroberto
773258945SrobertontpEntNotifHeartbeat NOTIFICATION-TYPE
774258945Sroberto    OBJECTS     { ntpEntStatusDateTime, ntpEntStatusCurrentMode,
775258945Sroberto                  ntpEntHeartbeatInterval, ntpEntNotifMessage }
776258945Sroberto    STATUS      current
777258945Sroberto    DESCRIPTION
778258945Sroberto        "The notification to be sent periodically (as defined by
779258945Sroberto         ntpEntHeartbeatInterval) to indicate that the NTP entity is
780258945Sroberto         still alive."
781258945Sroberto    ::= { ntpEntNotifications 8 }
782258945Sroberto
783258945Sroberto--
784258945Sroberto-- Conformance/Compliance statements
785258945Sroberto--
786258945Sroberto
787258945SrobertontpEntConformance OBJECT IDENTIFIER ::= { ntpSnmpMIB 2 }
788258945Sroberto
789258945SrobertontpEntCompliances OBJECT IDENTIFIER ::= { ntpEntConformance 1 }
790258945SrobertontpEntGroups      OBJECT IDENTIFIER ::= { ntpEntConformance 2 }
791258945Sroberto
792258945SrobertontpEntNTPCompliance MODULE-COMPLIANCE
793258945Sroberto    STATUS      current
794258945Sroberto    DESCRIPTION
795258945Sroberto        "The compliance statement for SNMP entities that use NTP and
796258945Sroberto         implement the NTP MIB."
797258945Sroberto    MODULE  -- this module
798258945Sroberto        MANDATORY-GROUPS {
799258945Sroberto                           ntpEntObjectsGroup1
800258945Sroberto        }
801258945Sroberto        ::= { ntpEntCompliances 1 }
802258945Sroberto
803258945SrobertontpEntSNTPCompliance MODULE-COMPLIANCE
804258945Sroberto    STATUS      current
805258945Sroberto    DESCRIPTION
806258945Sroberto        "The compliance statement for SNMP entities that use SNTP and
807258945Sroberto         implement the NTP MIB."
808258945Sroberto    MODULE  -- this module
809258945Sroberto        MANDATORY-GROUPS {
810258945Sroberto                           ntpEntObjectsGroup1
811258945Sroberto        }
812258945Sroberto        GROUP ntpEntObjectsGroup2
813258945Sroberto        DESCRIPTION
814258945Sroberto                "Optional object group."
815258945Sroberto        GROUP ntpEntNotifGroup
816258945Sroberto        DESCRIPTION
817258945Sroberto                "Optional notifications for this MIB."
818258945Sroberto        ::= { ntpEntCompliances 2 }
819258945Sroberto
820258945SrobertontpEntObjectsGroup1 OBJECT-GROUP
821258945Sroberto    OBJECTS {
822258945Sroberto              ntpEntSoftwareName,
823258945Sroberto              ntpEntSoftwareVersion,
824258945Sroberto              ntpEntSoftwareVendor,
825258945Sroberto              ntpEntSystemType,
826258945Sroberto              ntpEntStatusEntityUptime,
827258945Sroberto              ntpEntStatusDateTime,
828258945Sroberto              ntpAssocName,
829258945Sroberto              ntpAssocRefId,
830258945Sroberto              ntpAssocAddressType,
831258945Sroberto              ntpAssocAddress
832258945Sroberto    }
833258945Sroberto    STATUS      current
834258945Sroberto    DESCRIPTION
835258945Sroberto        "A collection of objects for the NTP MIB."
836258945Sroberto    ::= { ntpEntGroups 1 }
837258945Sroberto
838258945SrobertontpEntObjectsGroup2 OBJECT-GROUP
839258945Sroberto    OBJECTS {
840258945Sroberto              ntpEntTimeResolution,
841258945Sroberto              ntpEntTimePrecision,
842258945Sroberto              ntpEntTimeDistance,
843258945Sroberto              ntpEntStatusCurrentMode,
844258945Sroberto              ntpEntStatusStratum,
845258945Sroberto              ntpEntStatusActiveRefSourceId,
846258945Sroberto              ntpEntStatusActiveRefSourceName,
847258945Sroberto              ntpEntStatusActiveOffset,
848258945Sroberto              ntpEntStatusNumberOfRefSources,
849258945Sroberto              ntpEntStatusDispersion,
850258945Sroberto              ntpEntStatusLeapSecond,
851258945Sroberto              ntpEntStatusLeapSecDirection,
852258945Sroberto              ntpEntStatusInPkts,
853258945Sroberto              ntpEntStatusOutPkts,
854258945Sroberto              ntpEntStatusBadVersion,
855258945Sroberto              ntpEntStatusProtocolError,
856258945Sroberto              ntpEntStatusNotifications,
857258945Sroberto              ntpEntStatPktSent,
858258945Sroberto              ntpEntStatPktReceived,
859258945Sroberto              ntpAssocOffset,
860258945Sroberto              ntpAssocStratum,
861258945Sroberto              ntpAssocStatusJitter,
862258945Sroberto              ntpAssocStatusDelay,
863258945Sroberto              ntpAssocStatusDispersion,
864258945Sroberto              ntpAssocStatInPkts,
865258945Sroberto              ntpAssocStatOutPkts,
866258945Sroberto              ntpAssocStatProtocolError,
867258945Sroberto              ntpEntHeartbeatInterval,
868258945Sroberto              ntpEntNotifBits,
869258945Sroberto              ntpEntNotifMessage
870258945Sroberto    }
871258945Sroberto    STATUS      current
872258945Sroberto    DESCRIPTION
873258945Sroberto        "A collection of objects for the NTP MIB."
874258945Sroberto    ::= { ntpEntGroups 2 }
875258945Sroberto
876258945SrobertontpEntNotifGroup NOTIFICATION-GROUP
877258945Sroberto    NOTIFICATIONS {
878258945Sroberto                    ntpEntNotifModeChange,
879258945Sroberto                    ntpEntNotifStratumChange,
880258945Sroberto                    ntpEntNotifSyspeerChanged,
881258945Sroberto                    ntpEntNotifAddAssociation,
882258945Sroberto                    ntpEntNotifRemoveAssociation,
883258945Sroberto                    ntpEntNotifConfigChanged,
884258945Sroberto                    ntpEntNotifLeapSecondAnnounced,
885258945Sroberto                    ntpEntNotifHeartbeat
886258945Sroberto    }
887258945Sroberto    STATUS      current
888258945Sroberto    DESCRIPTION
889258945Sroberto        "A collection of notifications for the NTP MIB"
890258945Sroberto    ::= { ntpEntGroups 3 }
891258945Sroberto
892258945SrobertoEND
893