xref: /freebsd/contrib/ntp/ntpsnmpd/ntpv4-mib.mib (revision f39bffc62c1395bde25d152c7f68fdf7cbaab414)
1-- *********************************************************************
2--
3--    The Network Time Protocol Version 4
4--    Management Information Base (MIB)
5--
6--    Authors: Heiko Gerstung (heiko.gerstung@meinberg.de)
7--             Chris Elliott (chelliot@pobox.com)
8--
9--    for the Internet Engineering Task Force (IETF)
10--    NTP Working Group (ntpwg)
11--
12--
13-- *********************************************************************
14--   Rev 1.00
15--         Published as RFC 5907
16--
17-- *********************************************************************
18
19NTPv4-MIB DEFINITIONS ::= BEGIN
20
21IMPORTS
22    MODULE-IDENTITY, OBJECT-TYPE , mib-2, Integer32, NOTIFICATION-TYPE,
23    Unsigned32, Counter32, TimeTicks
24        FROM SNMPv2-SMI -- RFC 2578
25    MODULE-COMPLIANCE, OBJECT-GROUP, NOTIFICATION-GROUP
26        FROM SNMPv2-CONF -- RFC 2580
27    DisplayString, TEXTUAL-CONVENTION
28        FROM SNMPv2-TC -- RFC 2579
29    InetAddressType, InetAddress
30        FROM INET-ADDRESS-MIB -- RFC 4001
31    Utf8String
32        FROM SYSAPPL-MIB; -- RFC 2287
33
34ntpSnmpMIB MODULE-IDENTITY
35    LAST-UPDATED "201005170000Z" -- May 17, 2010
36    ORGANIZATION "The IETF NTP Working Group (ntpwg)"
37    CONTACT-INFO
38            "     WG Email: ntpwg@lists.ntp.isc.org
39                  Subscribe:
40                   https://lists.ntp.isc.org/mailman/listinfo/ntpwg
41
42                  Heiko Gerstung
43                  Meinberg Funkuhren Gmbh & Co. KG
44                  Lange Wand 9
45                  Bad Pyrmont  31812
46                  Germany
47
48                  Phone: +49 5281 9309 25
49                  Email: heiko.gerstung@meinberg.de
50
51                  Chris Elliott
52                  1516 Kent St.
53                  Durham, NC 27707
54                  USA
55
56                  Phone: +1-919-308-1216
57                  Email: chelliot@pobox.com
58
59                  Brian Haberman
60                  11100 Johns Hopkins Road
61                  Laurel, MD 20723
62                  USA
63
64                  Phone: +1-443-778-1319
65                  Email: brian@innovationslab.net"
66     DESCRIPTION
67        "The Management Information Base for NTP time entities.
68
69         Copyright (c) 2010 IETF Trust and the persons identified as
70         authors of the code.  All rights reserved.
71
72         Redistribution and use in source and binary forms, with or
73         without modification, is permitted pursuant to, and subject
74         to the license terms contained in, the Simplified BSD License
75         set forth in Section 4.c of the IETF Trust's Legal Provisions
76         Relating to IETF Documents
77         (http://trustee.ietf.org/license-info)."
78
79    REVISION     "201005170000Z"
80    DESCRIPTION
81        "This revision of the MIB module is published as RFC 5907."
82
83    ::= { mib-2 197 }
84
85ntpSnmpMIBObjects  OBJECT IDENTIFIER ::= { ntpSnmpMIB 1 }
86
87-- MIB contains 6 groups
88
89ntpEntInfo         OBJECT IDENTIFIER ::= { ntpSnmpMIBObjects 1 }
90ntpEntStatus       OBJECT IDENTIFIER ::= { ntpSnmpMIBObjects 2 }
91ntpAssociation     OBJECT IDENTIFIER ::= { ntpSnmpMIBObjects 3 }
92ntpEntControl      OBJECT IDENTIFIER ::= { ntpSnmpMIBObjects 4 }
93ntpEntNotifObjects OBJECT IDENTIFIER ::= { ntpSnmpMIBObjects 5 }
94
95--
96-- Textual Conventions
97--
98
99NtpStratum ::= TEXTUAL-CONVENTION
100    DISPLAY-HINT "d"
101    STATUS      current
102    DESCRIPTION
103        "The NTP stratum, with 16 representing no stratum."
104    SYNTAX      Unsigned32 (1..16)
105
106NtpDateTime ::= TEXTUAL-CONVENTION
107    DISPLAY-HINT "4d:4d:4d.4d"
108    STATUS      current
109    DESCRIPTION
110        "NTP date/time on the device, in 128-bit
111         NTP date format.  If time is not syncronized, this
112         field shall be a zero-length string.
113
114         This trusted certificate (TC) is not to be used for objects
115         that are used to set the time of the node querying this
116         object.  NTP should be used for this -- or at least SNTP."
117    REFERENCE "RFC 5905, section 6"
118    SYNTAX      OCTET STRING (SIZE (0 | 16))
119
120--
121-- Section 1: General NTP Entity information objects
122--            (relatively static information)
123--
124
125ntpEntSoftwareName OBJECT-TYPE
126    SYNTAX      Utf8String
127    MAX-ACCESS  read-only
128    STATUS      current
129    DESCRIPTION
130        "The product name of the running NTP version, e.g., 'ntpd'."
131    ::= { ntpEntInfo  1 }
132
133ntpEntSoftwareVersion OBJECT-TYPE
134    SYNTAX      Utf8String
135    MAX-ACCESS  read-only
136    STATUS      current
137    DESCRIPTION
138        "The software version of the installed NTP implementation
139         as a full version string, e.g., 'ntpd-4.2.0b@1.1433 ...'"
140    ::= { ntpEntInfo  2 }
141
142ntpEntSoftwareVendor OBJECT-TYPE
143    SYNTAX      Utf8String
144    MAX-ACCESS  read-only
145    STATUS      current
146    DESCRIPTION
147        "The vendor/author of the installed NTP version."
148    ::= { ntpEntInfo  3 }
149
150ntpEntSystemType OBJECT-TYPE
151    SYNTAX      Utf8String
152    MAX-ACCESS  read-only
153    STATUS      current
154    DESCRIPTION
155        "General hardware/os platform information,
156         e.g., 'Linux 2.6.12 / x86'."
157    -- freely configurable, default is OS Version / Hardware platform
158    ::= { ntpEntInfo  4 }
159
160ntpEntTimeResolution OBJECT-TYPE
161    SYNTAX      Unsigned32
162    MAX-ACCESS  read-only
163    STATUS      current
164    DESCRIPTION
165        "The time resolution in integer format, where the resolution
166        is represented as divisions of a second, e.g., a value of 1000
167        translates to 1.0 ms."
168    ::= { ntpEntInfo  5 }
169
170ntpEntTimePrecision OBJECT-TYPE
171    SYNTAX      Integer32
172    MAX-ACCESS  read-only
173    STATUS      current
174    DESCRIPTION
175        "The entity's precision in integer format, shows the precision.
176         A value of -5 would mean 2^-5 = 31.25 ms."
177    ::= { ntpEntInfo  6 }
178
179ntpEntTimeDistance OBJECT-TYPE
180    SYNTAX      DisplayString
181    MAX-ACCESS  read-only
182    STATUS      current
183    DESCRIPTION
184        "The distance from this NTP entity to the root time reference
185        (stratum 0) source including the unit, e.g., '13.243 ms'."
186    ::= { ntpEntInfo  7 }
187
188--
189-- Section 2: Current NTP status (dynamic information)
190--
191
192ntpEntStatusCurrentMode OBJECT-TYPE
193    SYNTAX      INTEGER {
194                            notRunning(1),
195                            notSynchronized(2),
196                            noneConfigured(3),
197                            syncToLocal(4),
198                            syncToRefclock(5),
199                            syncToRemoteServer(6),
200                            unknown(99)
201                        }
202    MAX-ACCESS  read-only
203    STATUS      current
204    DESCRIPTION
205        "The current mode of the NTP.  The definition of each possible
206         value is:
207            notRunning(1) - NTP is not running.
208            notSynchronized(2) - NTP is not synchronized to any time
209                                 source (stratum = 16).
210            noneConfigured(3) - NTP is not synchronized and does not
211                                have a reference configured
212                                (stratum = 16).
213            syncToLocal(4) - NTP is distributing time based on its
214                             local clock (degraded accuracy and/or
215                             reliability).
216            syncToRefclock(5) - NTP is synchronized to a local
217                                hardware refclock (e.g., GPS).
218            syncToRemoteServer(6) - NTP is synchronized to a remote
219                                    NTP server ('upstream' server).
220            unknown(99) - The state of NTP is unknown."
221    ::= { ntpEntStatus 1 }
222
223ntpEntStatusStratum OBJECT-TYPE
224    SYNTAX      NtpStratum
225    MAX-ACCESS  read-only
226    STATUS      current
227    DESCRIPTION
228        "The NTP entity's own stratum value.  Should be a stratum of
229         syspeer + 1 (or 16 if no syspeer)."
230    ::= { ntpEntStatus 2 }
231
232ntpEntStatusActiveRefSourceId OBJECT-TYPE
233    SYNTAX      Unsigned32 ( 0..99999 )
234    MAX-ACCESS  read-only
235    STATUS      current
236    DESCRIPTION
237        "The association ID of the current syspeer."
238    ::= { ntpEntStatus 3 }
239
240ntpEntStatusActiveRefSourceName OBJECT-TYPE
241    SYNTAX      Utf8String
242    MAX-ACCESS  read-only
243    STATUS      current
244    DESCRIPTION
245        "The hostname/descriptive name of the current reference source
246         selected as syspeer, e.g., 'ntp1.ptb.de' or 'GPS' or
247         'DCFi', ..."
248    ::= { ntpEntStatus 4 }
249
250ntpEntStatusActiveOffset OBJECT-TYPE
251    SYNTAX      DisplayString
252    MAX-ACCESS  read-only
253    STATUS      current
254    DESCRIPTION
255        "The time offset to the current selected reference time source
256         as a string including unit, e.g., '0.032 ms' or '1.232 s'."
257    ::= { ntpEntStatus 5 }
258
259ntpEntStatusNumberOfRefSources OBJECT-TYPE
260    SYNTAX      Unsigned32 (0..99)
261    MAX-ACCESS  read-only
262    STATUS      current
263    DESCRIPTION
264        "The number of reference sources configured for NTP."
265    ::= { ntpEntStatus 6 }
266
267ntpEntStatusDispersion OBJECT-TYPE
268    SYNTAX      DisplayString
269    MAX-ACCESS  read-only
270    STATUS      current
271    DESCRIPTION
272        "The root dispersion of the running NTP entity, e.g., '6.927'."
273    ::= { ntpEntStatus 7 }
274
275ntpEntStatusEntityUptime OBJECT-TYPE
276    SYNTAX      TimeTicks
277    MAX-ACCESS  read-only
278    STATUS      current
279    DESCRIPTION
280        "The uptime of the NTP entity, (i.e., the time since ntpd was
281         (re-)initialized not sysUptime!).  The time is represented in
282         hundreds of seconds since Jan 1, 1970 (00:00:00.000) UTC."
283    ::= { ntpEntStatus 8 }
284
285ntpEntStatusDateTime OBJECT-TYPE
286    SYNTAX      NtpDateTime
287    MAX-ACCESS  read-only
288    STATUS      current
289    DESCRIPTION
290        "The current NTP date/time on the device, in 128-bit
291         NTP date format.  If time is not syncronized, this
292         field shall be a zero-length string.
293
294         This object can be used to timestamp events on this
295         node and allow a management station to correlate
296         different time objects.  For example, a management
297         station could query this object and sysUpTime in
298         the same operation to be able to relate sysUpTime
299         to NTP time.
300
301         This object is not to be used to set the time of
302         the node querying this object.  NTP should be used
303         for this -- or at least SNTP."
304    REFERENCE "RFC 5905, section 6"
305    ::= { ntpEntStatus 9 }
306
307ntpEntStatusLeapSecond OBJECT-TYPE
308    SYNTAX      NtpDateTime
309    MAX-ACCESS  read-only
310    STATUS      current
311    DESCRIPTION
312        "Date the next known leap second will occur.  If there is
313         no leap second announced, then this object should be 0."
314    ::= { ntpEntStatus 10 }
315
316ntpEntStatusLeapSecDirection OBJECT-TYPE
317    SYNTAX      Integer32 (-1..1)
318    MAX-ACCESS  read-only
319    STATUS      current
320    DESCRIPTION
321        "Direction of next known leap second.  If there is no
322         leap second announced, then this object should be 0."
323    ::= { ntpEntStatus 11 }
324
325ntpEntStatusInPkts OBJECT-TYPE
326    SYNTAX      Counter32
327    UNITS       "packets"
328    MAX-ACCESS  read-only
329    STATUS      current
330    DESCRIPTION
331        "The total number of NTP messages delivered to the
332         NTP entity from the transport service.
333         Discountinuities in the value of this counter can occur
334         upon cold start or reinitialization of the NTP entity, the
335         management system and at other times as indicated by
336         discontinuities in the value of sysUpTime."
337    ::= { ntpEntStatus 12 }
338
339ntpEntStatusOutPkts OBJECT-TYPE
340    SYNTAX      Counter32
341    UNITS       "packets"
342    MAX-ACCESS  read-only
343    STATUS      current
344    DESCRIPTION
345        "The total number of NTP messages delivered to the
346         transport service by this NTP entity.
347         Discountinuities in the value of this counter can occur
348         upon cold start or reinitialization of the NTP entity, the
349         management system and at other times as indicated by
350         discontinuities in the value of sysUpTime."
351    ::= { ntpEntStatus 13 }
352
353ntpEntStatusBadVersion OBJECT-TYPE
354    SYNTAX      Counter32
355    UNITS       "packets"
356    MAX-ACCESS  read-only
357    STATUS      current
358    DESCRIPTION
359        "The total number of NTP messages that were delivered
360         to this NTP entity and were for an unsupported NTP
361         version.
362         Discountinuities in the value of this counter can occur
363         upon cold start or reinitialization of the NTP entity, the
364         management system and at other times as indicated by
365         discontinuities in the value of sysUpTime."
366    ::= { ntpEntStatus 14 }
367
368ntpEntStatusProtocolError OBJECT-TYPE
369    SYNTAX      Counter32
370    UNITS       "packets"
371    MAX-ACCESS  read-only
372    STATUS      current
373    DESCRIPTION
374        "The total number of NTP messages that were delivered
375         to this NTP entity and this entity was not able to
376         process due to an NTP protocol error.
377         Discountinuities in the value of this counter can occur
378         upon cold start or reinitialization of the NTP entity, the
379         management system and at other times as indicated by
380         discontinuities in the value of sysUpTime."
381    ::= { ntpEntStatus 15 }
382
383ntpEntStatusNotifications OBJECT-TYPE
384    SYNTAX      Counter32
385    UNITS       "notifications"
386    MAX-ACCESS  read-only
387    STATUS      current
388    DESCRIPTION
389        "The total number of SNMP notifications that this NTP
390         entity has generated.
391         Discountinuities in the value of this counter can occur
392         upon cold start or reinitialization of the NTP entity, the
393         management system and at other times as indicated by
394         discontinuities in the value of sysUpTime."
395    ::= { ntpEntStatus 16 }
396
397ntpEntStatPktModeTable OBJECT-TYPE
398    SYNTAX           SEQUENCE OF NtpEntStatPktModeEntry
399    MAX-ACCESS       not-accessible
400    STATUS           current
401    DESCRIPTION
402        "The number of packets sent and received by packet mode.
403         One entry per packet mode."
404    ::= { ntpEntStatus 17 }
405
406ntpEntStatPktModeEntry OBJECT-TYPE
407    SYNTAX      NtpEntStatPktModeEntry
408    MAX-ACCESS  not-accessible
409    STATUS      current
410    DESCRIPTION
411        "A statistical record of the number of packets sent and
412         received for each packet mode."
413    INDEX       { ntpEntStatPktMode }
414    ::= { ntpEntStatPktModeTable 1 }
415
416NtpEntStatPktModeEntry   ::= SEQUENCE {
417        ntpEntStatPktMode              INTEGER,
418        ntpEntStatPktSent              Counter32,
419        ntpEntStatPktReceived          Counter32
420}
421
422ntpEntStatPktMode OBJECT-TYPE
423    SYNTAX      INTEGER {
424                    symetricactive(1),
425                    symetricpassive(2),
426                    client(3),
427                    server(4),
428                    broadcastserver(5),
429                    broadcastclient(6)
430                }
431    MAX-ACCESS  not-accessible
432    STATUS      current
433    DESCRIPTION
434        "The NTP packet mode."
435    ::= { ntpEntStatPktModeEntry 1 }
436
437ntpEntStatPktSent OBJECT-TYPE
438    SYNTAX      Counter32
439    UNITS       "packets"
440    MAX-ACCESS  read-only
441    STATUS      current
442    DESCRIPTION
443        "The number of NTP packets sent with this packet mode.
444         Discountinuities in the value of this counter can occur
445         upon cold start or reinitialization of the NTP entity, the
446         management system and at other times as indicated by
447         discontinuities in the value of sysUpTime."
448    ::= { ntpEntStatPktModeEntry 2 }
449
450ntpEntStatPktReceived OBJECT-TYPE
451    SYNTAX      Counter32
452    UNITS       "packets"
453    MAX-ACCESS  read-only
454    STATUS      current
455    DESCRIPTION
456        "The number of NTP packets received with this packet mode.
457
458         Discountinuities in the value of this counter can occur
459         upon cold start or reinitialization of the NTP entity, the
460         management system and at other times as indicated by
461         discontinuities in the value of sysUpTime."
462    ::= { ntpEntStatPktModeEntry 3 }
463
464--
465-- Section 3: The status of all currently mobilized associations
466--
467
468ntpAssociationTable OBJECT-TYPE
469    SYNTAX           SEQUENCE OF NtpAssociationEntry
470    MAX-ACCESS       not-accessible
471    STATUS           current
472    DESCRIPTION
473        "The table of currently mobilized associations."
474    ::= { ntpAssociation 1 }
475
476ntpAssociationEntry OBJECT-TYPE
477    SYNTAX      NtpAssociationEntry
478    MAX-ACCESS  not-accessible
479    STATUS      current
480    DESCRIPTION
481        "The table entry of currently mobilized associations."
482    INDEX       { ntpAssocId }
483    ::= { ntpAssociationTable 1 }
484
485NtpAssociationEntry   ::= SEQUENCE {
486        ntpAssocId                  Unsigned32,
487        ntpAssocName                Utf8String,
488        ntpAssocRefId               DisplayString,
489        ntpAssocAddressType         InetAddressType,
490        ntpAssocAddress             InetAddress,
491        ntpAssocOffset              DisplayString,
492        ntpAssocStratum             NtpStratum,
493        ntpAssocStatusJitter        DisplayString,
494        ntpAssocStatusDelay         DisplayString,
495        ntpAssocStatusDispersion    DisplayString
496}
497
498ntpAssocId      OBJECT-TYPE
499    SYNTAX      Unsigned32 ( 1..99999 )
500    MAX-ACCESS  not-accessible
501    STATUS      current
502    DESCRIPTION
503        "The association ID.  This is an internal, unique ID."
504    ::= { ntpAssociationEntry 1 }
505
506ntpAssocName    OBJECT-TYPE
507    SYNTAX      Utf8String
508    MAX-ACCESS  read-only
509    STATUS      current
510    DESCRIPTION
511        "The hostname or other descriptive name for the association."
512    ::= { ntpAssociationEntry 2 }
513
514ntpAssocRefId   OBJECT-TYPE
515    SYNTAX      DisplayString
516    MAX-ACCESS  read-only
517    STATUS      current
518    DESCRIPTION
519        "The refclock driver ID, if available."
520    -- a refclock driver ID like "127.127.1.0" for non
521    -- uni/multi/broadcast associations
522    ::= { ntpAssociationEntry 3 }
523
524ntpAssocAddressType OBJECT-TYPE
525    SYNTAX      InetAddressType { ipv4(1), ipv6(2), ipv4z(3), ipv6z(4) }
526    MAX-ACCESS  read-only
527    STATUS      current
528    DESCRIPTION
529        "The type of address of the association.  Can be either IPv4 or
530         IPv6 (both with or without zone index) and contains the type of
531         address for unicast, multicast, and broadcast associations."
532    ::= { ntpAssociationEntry 4 }
533
534ntpAssocAddress OBJECT-TYPE
535    SYNTAX      InetAddress (SIZE (4|8|16|20))
536    MAX-ACCESS  read-only
537    STATUS      current
538    DESCRIPTION
539        "The IP address (IPv4 or IPv6, with or without zone index) of
540         the association.  The type and size depends on the
541         ntpAssocAddressType object.  Represents the IP address of a
542         uni/multi/broadcast association."
543    ::= { ntpAssociationEntry 5 }
544
545ntpAssocOffset  OBJECT-TYPE
546    SYNTAX      DisplayString
547    MAX-ACCESS  read-only
548    STATUS      current
549    DESCRIPTION
550        "The time offset to the association as a string."
551    -- including unit, e.g., "0.032 ms" or "1.232 s"
552    ::= { ntpAssociationEntry 6 }
553
554ntpAssocStratum OBJECT-TYPE
555    SYNTAX      NtpStratum
556    MAX-ACCESS  read-only
557    STATUS      current
558    DESCRIPTION
559        "The association stratum value."
560    ::= { ntpAssociationEntry 7 }
561
562ntpAssocStatusJitter OBJECT-TYPE
563    SYNTAX      DisplayString
564    MAX-ACCESS  read-only
565    STATUS      current
566    DESCRIPTION
567        "The jitter in milliseconds as a string."
568    ::= { ntpAssociationEntry 8 }
569
570ntpAssocStatusDelay OBJECT-TYPE
571    SYNTAX      DisplayString
572    MAX-ACCESS  read-only
573    STATUS      current
574    DESCRIPTION
575        "The network delay in milliseconds as a string."
576    ::= { ntpAssociationEntry 9 }
577
578ntpAssocStatusDispersion OBJECT-TYPE
579    SYNTAX      DisplayString
580    MAX-ACCESS  read-only
581    STATUS      current
582    DESCRIPTION
583        "The root dispersion of the association."
584    -- e.g., "6.927"
585    ::= { ntpAssociationEntry 10 }
586
587ntpAssociationStatisticsTable OBJECT-TYPE
588    SYNTAX           SEQUENCE OF NtpAssociationStatisticsEntry
589    MAX-ACCESS       not-accessible
590    STATUS           current
591    DESCRIPTION
592        "The table of statistics for current associations."
593    ::= { ntpAssociation 2 }
594
595ntpAssociationStatisticsEntry OBJECT-TYPE
596    SYNTAX      NtpAssociationStatisticsEntry
597    MAX-ACCESS  not-accessible
598    STATUS      current
599    DESCRIPTION
600        "The table entry of statistics for current associations."
601    INDEX       { ntpAssocId }
602    ::= { ntpAssociationStatisticsTable 1 }
603
604NtpAssociationStatisticsEntry   ::= SEQUENCE {
605        ntpAssocStatInPkts          Counter32,
606        ntpAssocStatOutPkts         Counter32,
607        ntpAssocStatProtocolError   Counter32
608}
609
610ntpAssocStatInPkts OBJECT-TYPE
611    SYNTAX      Counter32
612    UNITS       "packets"
613    MAX-ACCESS  read-only
614    STATUS      current
615    DESCRIPTION
616        "The total number of NTP messages delivered to the
617         NTP entity from this association.
618         Discountinuities in the value of this counter can occur
619         upon cold start or reinitialization of the NTP entity, the
620         management system and at other times as indicated by
621         discontinuities in the value of sysUpTime."
622    ::= { ntpAssociationStatisticsEntry 1 }
623
624ntpAssocStatOutPkts OBJECT-TYPE
625    SYNTAX      Counter32
626    UNITS       "packets"
627    MAX-ACCESS  read-only
628    STATUS      current
629    DESCRIPTION
630        "The total number of NTP messages delivered to the
631         transport service by this NTP entity for this
632         association.
633         Discountinuities in the value of this counter can occur
634         upon cold start or reinitialization of the NTP entity, the
635         management system and at other times as indicated by
636         discontinuities in the value of sysUpTime."
637    ::= { ntpAssociationStatisticsEntry 2 }
638
639ntpAssocStatProtocolError OBJECT-TYPE
640    SYNTAX      Counter32
641    UNITS       "packets"
642    MAX-ACCESS  read-only
643    STATUS      current
644    DESCRIPTION
645        "The total number of NTP messages that were delivered
646         to this NTP entity from this association and this entity
647         was not able to process due to an NTP protocol error.
648         Discountinuities in the value of this counter can occur
649         upon cold start or reinitialization of the NTP entity, the
650         management system and at other times as indicated by
651         discontinuities in the value of sysUpTime."
652    ::= { ntpAssociationStatisticsEntry 3 }
653
654--
655-- Section 4: Control objects
656--
657
658ntpEntHeartbeatInterval OBJECT-TYPE
659    SYNTAX      Unsigned32
660    UNITS       "seconds"
661    MAX-ACCESS  read-write
662    STATUS      current
663    DESCRIPTION
664        "The interval at which the ntpEntNotifHeartbeat notification
665         should be sent, in seconds.  If set to 0 and the
666         entNotifHeartbeat bit in ntpEntNotifBits is 1, then
667         ntpEntNotifHeartbeat is sent once.
668         This value is stored persistently and will be restored to its
669         last set value upon cold start or restart."
670    DEFVAL { 60 }
671    ::= { ntpEntControl 1 }
672
673ntpEntNotifBits OBJECT-TYPE
674    SYNTAX       BITS {
675                     notUsed(0), -- Used to sync up bit and notification
676                                 -- indices
677                     entNotifModeChange(1),
678                     entNotifStratumChange(2),
679                     entNotifSyspeerChanged(3),
680                     entNotifAddAssociation(4),
681                     entNotifRemoveAssociation(5),
682                     entNotifConfigChanged(6),
683                     entNotifLeapSecondAnnounced(7),
684                     entNotifHeartbeat(8)
685    }
686    MAX-ACCESS  read-write
687    STATUS      current
688    DESCRIPTION
689        "A bit for each notification.  A 1 for a particular bit enables
690         that particular notification, a 0 disables it.
691         This value is stored persistently and will be restored to its
692         last set value upon cold start or restart."
693    ::= { ntpEntControl 2 }
694
695--
696-- Section 5: Notification objects
697--
698
699ntpEntNotifMessage OBJECT-TYPE
700    SYNTAX      Utf8String
701    MAX-ACCESS  accessible-for-notify
702    STATUS      current
703    DESCRIPTION
704        "Used as a payload object for all notifications.  Holds a
705         cleartext event message."
706    DEFVAL { "no event" }
707    ::= { ntpEntNotifObjects 1 }
708
709--
710-- SNMP notification definitions
711--
712
713ntpEntNotifications OBJECT IDENTIFIER ::= { ntpSnmpMIB 0 }
714
715ntpEntNotifModeChange NOTIFICATION-TYPE
716    OBJECTS     { ntpEntStatusCurrentMode }
717    STATUS      current
718    DESCRIPTION
719        "The notification to be sent when the NTP entity changes mode,
720         including starting and stopping (if possible)."
721    ::= { ntpEntNotifications 1 }
722
723ntpEntNotifStratumChange NOTIFICATION-TYPE
724    OBJECTS     { ntpEntStatusDateTime, ntpEntStatusStratum,
725                  ntpEntNotifMessage }
726    STATUS      current
727    DESCRIPTION
728        "The notification to be sent when stratum level of NTP changes."
729    ::= { ntpEntNotifications 2 }
730
731ntpEntNotifSyspeerChanged NOTIFICATION-TYPE
732    OBJECTS     { ntpEntStatusDateTime, ntpEntStatusActiveRefSourceId,
733                  ntpEntNotifMessage }
734    STATUS      current
735    DESCRIPTION
736        "The notification to be sent when a (new) syspeer has been
737         selected."
738    ::= { ntpEntNotifications 3 }
739
740ntpEntNotifAddAssociation NOTIFICATION-TYPE
741    OBJECTS  { ntpEntStatusDateTime, ntpAssocName, ntpEntNotifMessage }
742    STATUS      current
743    DESCRIPTION
744        "The notification to be sent when a new association is
745         mobilized."
746    ::= { ntpEntNotifications 4 }
747
748ntpEntNotifRemoveAssociation NOTIFICATION-TYPE
749    OBJECTS  { ntpEntStatusDateTime, ntpAssocName,  ntpEntNotifMessage }
750    STATUS      current
751    DESCRIPTION
752        "The notification to be sent when an association is
753         demobilized."
754    ::= { ntpEntNotifications 5 }
755
756ntpEntNotifConfigChanged NOTIFICATION-TYPE
757    OBJECTS     { ntpEntStatusDateTime, ntpEntNotifMessage }
758    STATUS      current
759    DESCRIPTION
760        "The notification to be sent when the NTP configuration has
761         changed, e.g., when the system connected to the Internet and
762         was assigned a new IP address by the ISPs DHCP server."
763    ::= { ntpEntNotifications 6 }
764
765ntpEntNotifLeapSecondAnnounced NOTIFICATION-TYPE
766    OBJECTS     { ntpEntStatusDateTime, ntpEntNotifMessage }
767    STATUS      current
768    DESCRIPTION
769        "The notification to be sent when a leap second has been
770         announced."
771    ::= { ntpEntNotifications 7 }
772
773ntpEntNotifHeartbeat NOTIFICATION-TYPE
774    OBJECTS     { ntpEntStatusDateTime, ntpEntStatusCurrentMode,
775                  ntpEntHeartbeatInterval, ntpEntNotifMessage }
776    STATUS      current
777    DESCRIPTION
778        "The notification to be sent periodically (as defined by
779         ntpEntHeartbeatInterval) to indicate that the NTP entity is
780         still alive."
781    ::= { ntpEntNotifications 8 }
782
783--
784-- Conformance/Compliance statements
785--
786
787ntpEntConformance OBJECT IDENTIFIER ::= { ntpSnmpMIB 2 }
788
789ntpEntCompliances OBJECT IDENTIFIER ::= { ntpEntConformance 1 }
790ntpEntGroups      OBJECT IDENTIFIER ::= { ntpEntConformance 2 }
791
792ntpEntNTPCompliance MODULE-COMPLIANCE
793    STATUS      current
794    DESCRIPTION
795        "The compliance statement for SNMP entities that use NTP and
796         implement the NTP MIB."
797    MODULE  -- this module
798        MANDATORY-GROUPS {
799                           ntpEntObjectsGroup1
800        }
801        ::= { ntpEntCompliances 1 }
802
803ntpEntSNTPCompliance MODULE-COMPLIANCE
804    STATUS      current
805    DESCRIPTION
806        "The compliance statement for SNMP entities that use SNTP and
807         implement the NTP MIB."
808    MODULE  -- this module
809        MANDATORY-GROUPS {
810                           ntpEntObjectsGroup1
811        }
812        GROUP ntpEntObjectsGroup2
813        DESCRIPTION
814                "Optional object group."
815        GROUP ntpEntNotifGroup
816        DESCRIPTION
817                "Optional notifications for this MIB."
818        ::= { ntpEntCompliances 2 }
819
820ntpEntObjectsGroup1 OBJECT-GROUP
821    OBJECTS {
822              ntpEntSoftwareName,
823              ntpEntSoftwareVersion,
824              ntpEntSoftwareVendor,
825              ntpEntSystemType,
826              ntpEntStatusEntityUptime,
827              ntpEntStatusDateTime,
828              ntpAssocName,
829              ntpAssocRefId,
830              ntpAssocAddressType,
831              ntpAssocAddress
832    }
833    STATUS      current
834    DESCRIPTION
835        "A collection of objects for the NTP MIB."
836    ::= { ntpEntGroups 1 }
837
838ntpEntObjectsGroup2 OBJECT-GROUP
839    OBJECTS {
840              ntpEntTimeResolution,
841              ntpEntTimePrecision,
842              ntpEntTimeDistance,
843              ntpEntStatusCurrentMode,
844              ntpEntStatusStratum,
845              ntpEntStatusActiveRefSourceId,
846              ntpEntStatusActiveRefSourceName,
847              ntpEntStatusActiveOffset,
848              ntpEntStatusNumberOfRefSources,
849              ntpEntStatusDispersion,
850              ntpEntStatusLeapSecond,
851              ntpEntStatusLeapSecDirection,
852              ntpEntStatusInPkts,
853              ntpEntStatusOutPkts,
854              ntpEntStatusBadVersion,
855              ntpEntStatusProtocolError,
856              ntpEntStatusNotifications,
857              ntpEntStatPktSent,
858              ntpEntStatPktReceived,
859              ntpAssocOffset,
860              ntpAssocStratum,
861              ntpAssocStatusJitter,
862              ntpAssocStatusDelay,
863              ntpAssocStatusDispersion,
864              ntpAssocStatInPkts,
865              ntpAssocStatOutPkts,
866              ntpAssocStatProtocolError,
867              ntpEntHeartbeatInterval,
868              ntpEntNotifBits,
869              ntpEntNotifMessage
870    }
871    STATUS      current
872    DESCRIPTION
873        "A collection of objects for the NTP MIB."
874    ::= { ntpEntGroups 2 }
875
876ntpEntNotifGroup NOTIFICATION-GROUP
877    NOTIFICATIONS {
878                    ntpEntNotifModeChange,
879                    ntpEntNotifStratumChange,
880                    ntpEntNotifSyspeerChanged,
881                    ntpEntNotifAddAssociation,
882                    ntpEntNotifRemoveAssociation,
883                    ntpEntNotifConfigChanged,
884                    ntpEntNotifLeapSecondAnnounced,
885                    ntpEntNotifHeartbeat
886    }
887    STATUS      current
888    DESCRIPTION
889        "A collection of notifications for the NTP MIB"
890    ::= { ntpEntGroups 3 }
891
892END
893