idnits 2.17.1 draft-ietf-ntp-ntpv4-mib-03.txt: Checking boilerplate required by RFC 5378 and the IETF Trust (see https://trustee.ietf.org/license-info): ---------------------------------------------------------------------------- ** It looks like you're using RFC 3978 boilerplate. You should update this to the boilerplate described in the IETF Trust License Policy document (see https://trustee.ietf.org/license-info), which is required now. -- Found old boilerplate from RFC 3978, Section 5.1 on line 17. -- Found old boilerplate from RFC 3978, Section 5.5, updated by RFC 4748 on line 1154. -- Found old boilerplate from RFC 3979, Section 5, paragraph 1 on line 1165. -- Found old boilerplate from RFC 3979, Section 5, paragraph 2 on line 1172. -- Found old boilerplate from RFC 3979, Section 5, paragraph 3 on line 1178. Checking nits according to https://www.ietf.org/id-info/1id-guidelines.txt: ---------------------------------------------------------------------------- == No 'Intended status' indicated for this document; assuming Proposed Standard Checking nits according to https://www.ietf.org/id-info/checklist : ---------------------------------------------------------------------------- ** There are 4 instances of too long lines in the document, the longest one being 3 characters in excess of 72. Miscellaneous warnings: ---------------------------------------------------------------------------- == The copyright year in the IETF Trust Copyright Line does not match the current year -- The document seems to lack a disclaimer for pre-RFC5378 work, but may have content which was first submitted before 10 November 2008. If you have contacted all the original authors and they are all willing to grant the BCP78 rights to the IETF Trust, then this is fine, and you can ignore this comment. If not, you may need to add the pre-RFC5378 disclaimer. (See the Legal Provisions document at https://trustee.ietf.org/license-info for more information.) -- The document date (December 5, 2007) is 5986 days in the past. Is this intentional? Checking references for intended status: Proposed Standard ---------------------------------------------------------------------------- (See RFCs 3967 and 4897 for information about using normative references to lower-maturity documents in RFCs) No issues found here. Summary: 2 errors (**), 0 flaws (~~), 2 warnings (==), 7 comments (--). Run idnits with the --verbose option for more detailed information about the items above. -------------------------------------------------------------------------------- 2 NTP H. Gerstung 3 Internet-Draft Meinberg 4 Expires: June 7, 2008 C. Elliott 5 Cisco 6 December 5, 2007 8 Definitions of Managed Objects for Network Time Protocol Version 4 9 (NTPv4) 10 draft-ietf-ntp-ntpv4-mib-03 12 Status of this Memo 14 By submitting this Internet-Draft, each author represents that any 15 applicable patent or other IPR claims of which he or she is aware 16 have been or will be disclosed, and any of which he or she becomes 17 aware will be disclosed, in accordance with Section 6 of BCP 79. 19 Internet-Drafts are working documents of the Internet Engineering 20 Task Force (IETF), its areas, and its working groups. Note that 21 other groups may also distribute working documents as Internet- 22 Drafts. 24 Internet-Drafts are draft documents valid for a maximum of six months 25 and may be updated, replaced, or obsoleted by other documents at any 26 time. It is inappropriate to use Internet-Drafts as reference 27 material or to cite them other than as "work in progress." 29 The list of current Internet-Drafts can be accessed at 30 http://www.ietf.org/ietf/1id-abstracts.txt. 32 The list of Internet-Draft Shadow Directories can be accessed at 33 http://www.ietf.org/shadow.html. 35 This Internet-Draft will expire on June 7, 2008. 37 Copyright Notice 39 Copyright (C) The IETF Trust (2007). 41 Abstract 43 The Network Time Protocol (NTP) is used in networks of all types and 44 sizes for time synchronization of servers, workstations and other 45 networked equipment. As time synchronization is more and more a 46 mission critical service, standardized means for monitoring and 47 management of this subsystem of a networked host are required to 48 allow operators of such a service to setup a monitoring system that 49 is platform- and vendor-independant. This Internet draft provides a 50 standardized collection of data objects for monitoring the NTP entity 51 of such a network participant and it is part of the NTP Version 4 52 standardization effort. 54 Table of Contents 56 1. The Internet-Standard Management Framework . . . . . . . . . . 3 57 2. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 3 58 3. Technical Description . . . . . . . . . . . . . . . . . . . . 3 59 4. MIB Definition . . . . . . . . . . . . . . . . . . . . . . . . 4 60 5. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 24 61 6. Security Considerations . . . . . . . . . . . . . . . . . . . 24 62 7. References . . . . . . . . . . . . . . . . . . . . . . . . . . 24 63 7.1. Normative References . . . . . . . . . . . . . . . . . . . 24 64 7.2. Informative References . . . . . . . . . . . . . . . . . . 25 65 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . . 25 66 Intellectual Property and Copyright Statements . . . . . . . . . . 26 68 1. The Internet-Standard Management Framework 70 For a detailed overview of the documents that describe the current 71 Internet-Standard Management Framework, please refer to section 7 of 72 RFC3410 [4]. 74 Managed objects are accessed via a virtual information store, termed 75 the Management Information Base or MIB. MIB objects are generally 76 accessed through the Simple Network Management Protocol (SNMP). 77 Objects in the MIB are defined using the mechanisms defined in the 78 Structure of Management Information (SMI). This memo specifies a MIB 79 module that is compliant to the SMIv2, which is described in RFC2578 80 [1], RFC2579 [2] and RFC2580 [3]. 82 2. Introduction 84 The NTPv4 MIB Module is designed to allow SNMP to be used to monitor 85 and manage local NTP entities. It provides a collection of data 86 objects that can be queried using the SNMP protocol and represent the 87 current status of the NTP entity. This includes general information 88 about the NTP entity itself (vendor, product, version) as well as 89 connectivity to upstream NTP servers used as sources of reference 90 time and to hardware reference clocks like radio clocks. The most 91 important values are included in order to be able to detect failures 92 before they can have an impact on the overall time synchronization 93 status of the network. There are also a collection of notification 94 objects to inform about state changes in the NTP entity. There are 95 objects to control these notifications as well. 97 3. Technical Description 99 The NTPv4 MIB Module is divided into sections for general server 100 information, current NTP entity status, status information of all 101 mobilized associations (e.g. unicast upstream time servers, multicast 102 or broadcast time references and hardware clocks), NTP entity control 103 objects, NTP objects used only for notifications, as well as SNMP 104 notification definitions for core events. 106 The general server information section contains static information 107 and can be queried to identify which NTP implementation is running on 108 a host. This includes the vendor and product name of the running NTP 109 software as well as version information, hardware/os platform 110 identity and the time resolution of the underlying OS. 112 Section 2 (current NTP status) includes data objects that represent 113 the current operational status of the NTP entity. 115 The third section contains data objects that represent the set of 116 time references ("associations") the NTP entity is currently working 117 with. 119 The fourth section contains objects that can be used to control the 120 NTP entity. The currently defined objects control how often the 121 heartbeat interval notification is sent out and which notifications 122 are enabled. 124 The fifth section contains objects that are only used as varbinds in 125 notifications. There is currently only one object in this section--a 126 message that adds a clear text event message to notifications. 128 Certain important events can occur while the NTP entity is running. 129 The sixth section defines SNMP notifications for a collection of the 130 most important ones ("core events") and additionally provides a 131 heartbeat notification as well as a test notification to allow 132 management systems to test the reception of NTP related notifications 133 as well as enable heartbeat-based monitoring systems to assure that 134 the NTP entity is still up and running. 136 4. MIB Definition 138 -- ********************************************************************* 139 -- 140 --$Id: draft-ietf-ntp-ntpv4-mib-03.xml 1.12 2007/11/28 00:00:00Z chelliot $ 141 --$Name: SUBMIT_1 $ 142 -- 143 -- The Network Time Protocol Version 4 144 -- Management Information Base (MIB) 145 -- 146 -- Authors: Heiko Gerstung (heiko.gerstung@meinberg.de) 147 -- Chris Elliott (chelliot@cisco.com) 148 -- 149 -- for the Internet Engineering Task Force (IETF) 150 -- NTP Working Group (ntpwg) 151 -- 152 -- 153 -- ********************************************************************* 154 -- 155 -- $Log: draft-ietf-ntp-ntpv4-mib-03.xml $ 156 -- Revision 1.12 2007/11/28 00:00:00Z chelliot 157 -- MIB: 158 -- - Added protocol statistics at the entity and association level 159 -- XML/RFC: 160 -- - Changed a couple of instances of "instance" to "entity" and "srv" 161 -- to "ent". 163 -- - Changed Meinberg address and Heiko's phone number. 164 -- Revision 1.11 2007/07/23 00:00:00Z chelliot 165 -- MIB: 166 -- - Modified Contact Info 167 -- - Added Stratum and NTP time TCs 168 -- - Changed ntpEntNotifNotInSync to ntpEntNotifCurrentMode and 169 -- deleted ntpEntNotifEntityStarted and ntpEntNotifEntityStopped 170 -- - Added compliance for SNTP entities 171 -- - Changed ntpTime to ntpDateTime 172 -- Revision 1.10 2007/07/09 00:00:00Z chelliot 173 -- XML/RFC: 174 -- - Changed RFC to Internet 175 -- - Changed service and service instance* to entity/entities 176 -- - Revised the Security Considerations to include read-write object 177 -- security considerations 178 -- - Added Chris Elliott as an author 179 -- - Fixed several lines to be 72 characters long or less 180 -- MIB: 181 -- - Changed "service" and "service instance" to "entity", 182 -- and Srv to Ent 183 -- - Changed status to mode 184 -- - Added association status object 185 -- - Added leap second objects 186 -- Revision 1.9 2007/03/04 06:59:44Z chelliot 187 -- MIB: 188 -- - Added time objects, comments, changed notifications 189 -- - Changed server to service 190 -- Revision 1.8 2006/10/23 03:37:44Z chelliot 191 -- MIB: 192 -- - Changed various object types, added notification control object 193 -- Revision 1.7 2006/06/16 07:13:50Z heiko 194 -- XML/RFC: 195 -- - Added/changed comments about the to-be-done IANA SMI assignment 196 -- Revision 1.6 2006/06/16 07:04:43Z heiko 197 -- RFC/XML: 198 -- - phone number corrected 199 -- - removed unused references 200 -- MIB: 201 -- - added ntpSrvTimePrecision 202 -- - changed INTEGER objects to Integer32 203 -- - changed default value for ntpSrvStatusStratum from 99 to 16 204 -- - changed default value for ntpSrvStatusActiveRefclockId from 99-0 205 -- - changed object names to ntpSrvStatusActiveRefSourceName 206 -- (from ntpSrvStatusActiveRefclockName) and to 207 -- ntpSrvStatusNumberOfRefSources (from 208 -- ntpSrvStatusNumberOfRefclocks) 209 -- - removed ntpSrvStatusAuthKeyId object 210 -- - added ntpSrvStatusDispersion to provide the current root 211 -- dispersion 212 -- - major rework of section 3 (Status of associations) to compile 213 -- cleanly,including: 214 -- - added dispersion to the association dataset 215 -- - renaming of objects 216 -- - added an index to the association table 217 -- - formal changes 218 -- - traps are now reverse mappable 219 -- - traps are now define with payload where applicable 220 -- - added compliance statements 221 -- Revision 1.5 2006/02/27 08:28:16Z heiko 222 -- - changed to RFC format and added header as well as 223 -- introduction and technical description 224 -- - added other necessary RFC components (copyright statement etc.) 225 -- Revision 1.4 2006/02/27 07:06:49Z heiko 226 -- - removed all objects with data type REAL 227 -- - everything that needs to be floating point is now defined as 228 -- DisplayString 229 -- Revision 1.2 2006/01/23 08:58:11Z heiko 230 -- - changed the datatype of offset, jitter and delay objects from 231 -- Integer32 to REAL 232 -- 233 -- ********************************************************************* 235 NTPv4-MIB DEFINITIONS ::= BEGIN 237 IMPORTS 238 MODULE-IDENTITY, OBJECT-TYPE , mib-2, Integer32, NOTIFICATION-TYPE, 239 Unsigned32 240 FROM SNMPv2-SMI 241 MODULE-COMPLIANCE, OBJECT-GROUP, NOTIFICATION-GROUP 242 FROM SNMPv2-CONF 243 DisplayString, TEXTUAL-CONVENTION 244 FROM SNMPv2-TC 245 InetAddressType, InetAddress 246 FROM INET-ADDRESS-MIB; 248 ntpSnmpMIB MODULE-IDENTITY 249 LAST-UPDATED "200712050000Z" -- December 5, 2007 250 ORGANIZATION "The IETF NTP Working Group (ntpwg)" 251 CONTACT-INFO 252 " WG Email: ntpwg@lists.ntp.isc.org 253 Subscribe: 254 https://lists.ntp.isc.org/mailman/listinfo/ntpwg 256 Heiko Gerstung 257 Meinberg Funkuhren Gmbh & Co. KG 258 Lange Wand 9 259 Bad Pyrmont 31812 260 Germany 262 Phone: +49 5281 9309 25 263 Email: heiko.gerstung@meinberg.de 265 Chris Elliott 266 Cisco Systems, Inc. 267 7025 Kit Creek Rd., P.O. Box 14987 268 Research Triangle Park 27709 269 USA 271 Phone: +1 919-392-2146 272 Email: chelliot@cisco.com" 273 DESCRIPTION 274 "The Management Information Base for NTP time entities." 275 REVISION "200712050000Z" 276 DESCRIPTION 277 "Multiple proposed changes for IETF 70" 278 REVISION "200707230000Z" 279 DESCRIPTION 280 "Multiple proposed changes for IETF 69" 281 REVISION "200707090000Z" 282 DESCRIPTION 283 "Multiple changes from IETF 68" 284 REVISION "200703040000Z" 285 DESCRIPTION 286 "More MIB review modifications." 287 REVISION "200610230000Z" 288 DESCRIPTION 289 "Modifications from MIB review." 290 REVISION "200606190000Z" 291 DESCRIPTION 292 "First Draft Version" 293 REVISION "200512190000Z" 294 DESCRIPTION 295 "revised edition (added traps and stuff)" 296 REVISION "200511160000Z" 297 DESCRIPTION 298 "Initial draft" 299 ::= { mib-2 XXX } 301 ntpSnmpMIBObjects OBJECT IDENTIFIER ::= { ntpSnmpMIB 1 } 303 -- MIB contains 6 groups 304 ntpEntInfo OBJECT IDENTIFIER ::= { ntpSnmpMIBObjects 1 } 305 ntpEntStatus OBJECT IDENTIFIER ::= { ntpSnmpMIBObjects 2 } 306 ntpAssociation OBJECT IDENTIFIER ::= { ntpSnmpMIBObjects 3 } 307 ntpEntControl OBJECT IDENTIFIER ::= { ntpSnmpMIBObjects 4 } 308 ntpEntNotifObjects OBJECT IDENTIFIER ::= { ntpSnmpMIBObjects 5 } 309 ntpEntNotifPrefix OBJECT IDENTIFIER ::= { ntpSnmpMIBObjects 6 } 311 -- 312 -- Textual Conventions 313 -- 315 NtpStratum ::= TEXTUAL-CONVENTION 316 DISPLAY-HINT "d" 317 STATUS current 318 DESCRIPTION 319 "The NTP stratum, with 16 representing no stratum." 320 SYNTAX Unsigned32 (1..16) 322 NtpDateTime ::= TEXTUAL-CONVENTION 323 DISPLAY-HINT "4d:4d:4d.4d" 324 STATUS current 325 DESCRIPTION 326 "NTP date/time on the device, in 128-bit 327 NTP date format. Ref: draft-ietf-ntp-ntpv4-proto-06, 328 section 6: 329 It includes a 64-bit signed seconds field 330 spanning 584 billion years and a 64-bit fraction 331 field resolving .05 attosecond (i.e. 0.5e-18). 332 For convenience in mapping between formats, the 333 seconds field is divided into a 32-bit era field 334 and a 32-bit timestamp field. 336 If time is not syncronized this field shall be a 337 zero-length string. 339 This TC is not to be used for objects that are used 340 to set the time of the node querying this object. 341 NTP should be used for this--or at least SNTP." 342 SYNTAX OCTET STRING (SIZE (0 | 16)) 344 -- 345 -- Section 1: General NTP Entity information objects 346 -- (relatively static information) 347 -- 349 ntpEntSoftwareName OBJECT-TYPE 350 SYNTAX DisplayString 351 MAX-ACCESS read-only 352 STATUS current 353 DESCRIPTION 354 "The product name of the installed NTP version." 355 -- the product name of the running ntp implementation, e.g. "ntpd" 356 ::= { ntpEntInfo 1 } 358 ntpEntSoftwareVersion OBJECT-TYPE 359 SYNTAX DisplayString 360 MAX-ACCESS read-only 361 STATUS current 362 DESCRIPTION 363 "The software version of the installed NTP implementation." 364 -- full version string, e.g. "ntpd-4.2.0b@1.1433 ..." 365 ::= { ntpEntInfo 2 } 367 ntpEntSoftwareVersionVal OBJECT-TYPE 368 SYNTAX Unsigned32 369 MAX-ACCESS read-only 370 STATUS current 371 DESCRIPTION 372 "Software version of installed NTP as an unsigned integer 373 value." 374 -- e.g. if version string is "4.2.0b" this could be translated into 375 -- 4202. This could be useful to find out if version of entity on a 376 -- is newer or older than version of the entity on b (without too 377 -- much string parsing trouble) 378 ::= { ntpEntInfo 3 } 380 ntpEntSoftwareVendor OBJECT-TYPE 381 SYNTAX DisplayString 382 MAX-ACCESS read-only 383 STATUS current 384 DESCRIPTION 385 "The vendor/author of the installed NTP version." 386 ::= { ntpEntInfo 4 } 388 ntpEntSystemType OBJECT-TYPE 389 SYNTAX DisplayString 390 MAX-ACCESS read-only 391 STATUS current 392 DESCRIPTION 393 "General hardware/os platform information." 394 -- e.g. "Linux 2.6.12 / x86" 395 -- freely configurable, default is OS Version / Hardware platform 396 ::= { ntpEntInfo 5 } 398 ntpEntTimeResolution OBJECT-TYPE 399 SYNTAX DisplayString 400 MAX-ACCESS read-only 401 STATUS current 402 DESCRIPTION 403 "A string describing the time resolution of the running NTP 404 implementation." 405 -- e.g. "100 ns" 406 -- depends on the NTP implementation and the underlying OS. The 407 -- current resolution should be used, so if the OS only supports 408 -- 10ms and ntpd is capable of 1ns, the 10ms should be advertised 409 ::= { ntpEntInfo 6 } 411 ntpEntTimeResolutionVal OBJECT-TYPE 412 SYNTAX Unsigned32 413 MAX-ACCESS read-only 414 STATUS current 415 DESCRIPTION 416 "The time resolution in integer format." 417 -- ntpEntTimeResolution in Integer format 418 -- shows the resolution based on 1 second, e.g. "1ms" translates to 419 -- 1000 420 ::= { ntpEntInfo 7 } 422 ntpEntTimePrecision OBJECT-TYPE 423 SYNTAX DisplayString 424 MAX-ACCESS read-only 425 STATUS current 426 DESCRIPTION 427 "A string describing the precision with which the NTP entity 428 implementation/OS manages its time base." 429 -- e.g. "-18" means 2^-18 = 0.000003814697265625 seconds 430 -- "-5" means 2^-5 = 0.03125 seconds 431 -- depends on the NTP implementation and the underlying OS. 432 ::= { ntpEntInfo 8 } 434 ntpEntTimePrecisionVal OBJECT-TYPE 435 SYNTAX Integer32 436 MAX-ACCESS read-only 437 STATUS current 438 DESCRIPTION 439 "The entity's precision in integer format." 440 -- ntpEntTimePrecision in signed Integer format 441 -- shows the precision. A value of -5 would mean 2^-5 = 31.25 ms 442 ::= { ntpEntInfo 9 } 444 ntpEntTimeDistance OBJECT-TYPE 445 SYNTAX DisplayString 446 MAX-ACCESS read-only 447 STATUS current 448 DESCRIPTION 449 "The distance from this NTP entity to the root time reference 450 (stratum 0) source." 451 -- including the unit 452 -- e.g. "13.243 ms" 453 ::= { ntpEntInfo 10 } 455 -- 456 -- Section 2: Current NTP status (dynamic information) 457 -- 459 ntpEntStatusCurrentMode OBJECT-TYPE 460 SYNTAX DisplayString 461 MAX-ACCESS read-only 462 STATUS current 463 DESCRIPTION 464 "The actual mode of NTP as a string" 465 --- possible strings: 466 --- "not running" : NTP is not running 467 --- "not synchronized" : NTP is not synchronized to any time source 468 --- (stratum = 16) 469 --- "none configured" : NTP is not synchronized and does not have a 470 --- server configured 471 --- (stratum = 16) 472 --- "sync to local" : NTP is synchronized to own local clock 473 --- (degraded reliability) 474 --- "sync to refclock" : NTP is synchronized to a local hardware 475 --- refclock (e.g. GPS) 476 --- "sync to remote server" : NTP is synchronized to a remote NTP 477 --- server ("upstream" server) 478 --- "unknown" : The state of NTP is unknown. 479 ::= { ntpEntStatus 1 } 481 ntpEntStatusCurrentModeVal OBJECT-TYPE 482 SYNTAX INTEGER { 483 notRunning(1), 484 notSynchronized(2), 485 noneConfigured(3), 486 syncToLocal(4), 487 syncToRefclock(5), 488 syncToRemoteServer(6), 489 unknown(99) 490 } 491 MAX-ACCESS read-only 492 STATUS current 493 DESCRIPTION 494 "The current mode of the NTP as integer value." 495 -- see ntpEntStatusCurrentMode 496 DEFVAL { 99 } 497 ::= { ntpEntStatus 2 } 499 ntpEntStatusStratum OBJECT-TYPE 500 SYNTAX NtpStratum 501 MAX-ACCESS read-only 502 STATUS current 503 DESCRIPTION 504 "The NTP entity's own stratum value." 505 -- should be stratum of syspeer + 1 (or 16 if no syspeer) 506 DEFVAL { 16 } 507 ::= { ntpEntStatus 3 } 509 ntpEntStatusActiveRefSourceId OBJECT-TYPE 510 SYNTAX Unsigned32 ( 0..99999 ) 511 MAX-ACCESS read-only 512 STATUS current 513 DESCRIPTION 514 "The association ID of the current syspeer." 515 DEFVAL { 0 } 516 ::= { ntpEntStatus 4 } 518 ntpEntStatusActiveRefSourceName OBJECT-TYPE 519 SYNTAX DisplayString 520 MAX-ACCESS read-only 521 STATUS current 522 DESCRIPTION 523 "The hostname/descriptive name of the current reference source 524 selected as syspeer." 525 -- e.g. "ntp1.ptb.de" or "GPS" or "DCFi" ... 526 -- maybe something like "RefClk(8)"="hardware clock using driver 8" 527 -- would be nice 528 ::= { ntpEntStatus 5 } 530 ntpEntStatusActiveOffset OBJECT-TYPE 531 SYNTAX DisplayString 532 MAX-ACCESS read-only 533 STATUS current 534 DESCRIPTION 535 "The Time offset to the current selected reference time source 536 as a string." 537 -- including unit, e.g. "0.032 ms" or "1.232 s" 538 ::= { ntpEntStatus 6 } 540 ntpEntStatusNumberOfRefSources OBJECT-TYPE 541 SYNTAX Unsigned32 (0..99) 542 MAX-ACCESS read-only 543 STATUS current 544 DESCRIPTION 545 "The number of reference sources configured for NTP." 546 DEFVAL { 0 } 547 ::= { ntpEntStatus 7 } 549 ntpEntStatusDispersion OBJECT-TYPE 550 SYNTAX DisplayString 551 MAX-ACCESS read-only 552 STATUS current 553 DESCRIPTION 554 "The root dispersion of the running NTP entity." 555 -- e.g. "6.927" 556 DEFVAL { "n/a" } 557 ::= { ntpEntStatus 8 } 559 ntpEntStatusEntityUptime OBJECT-TYPE 560 SYNTAX Unsigned32 561 MAX-ACCESS read-only 562 STATUS current 563 DESCRIPTION 564 "The uptime of the NTP entity in seconds." 565 -- time since ntpd was (re-)started (not sysUptime!) 566 DEFVAL { 0 } 567 ::= { ntpEntStatus 9 } 569 ntpEntStatusDateTime OBJECT-TYPE 570 SYNTAX NtpDateTime 571 MAX-ACCESS read-only 572 STATUS current 573 DESCRIPTION 574 "The current NTP date/time on the device, in 128-bit 575 NTP date format. Ref: draft-ietf-ntp-ntpv4-proto-06, 576 section 6: 577 It includes a 64-bit signed seconds field 578 spanning 584 billion years and a 64-bit fraction 579 field resolving .05 attosecond (i.e. 0.5e-18). 580 For convenience in mapping between formats, the 581 seconds field is divided into a 32-bit era field 582 and a 32-bit timestamp field. 584 If time is not syncronized this field shall be a 585 zero-length string. 587 This object can be used to timestamp events on this 588 node and allow a management station to coorelate 589 different time objects. For example, a management 590 station could query this object and sysUpTime in 591 the same operation to be able to relate sysUpTime 592 to NTP time. 594 This object is not to be used to set the time of 595 the node querying this object. NTP should be used 596 for this--or at least SNTP." 597 ::= { ntpEntStatus 10 } 599 ntpEntStatusLeapSecond OBJECT-TYPE 600 SYNTAX Integer32 601 MAX-ACCESS read-only 602 STATUS current 603 DESCRIPTION 604 "Date the next known leap second will occur. If there is 605 no leap second announced then this object should be 0." 606 DEFVAL { 0 } 607 ::= { ntpEntStatus 11 } 609 ntpEntStatusLeapSecDirection OBJECT-TYPE 610 SYNTAX Integer32 (-1..1) 611 MAX-ACCESS read-only 612 STATUS current 613 DESCRIPTION 614 "Direction of next known leap second. If there is no 615 leap second announced then this object should be 0." 616 DEFVAL { 0 } 617 ::= { ntpEntStatus 12 } 619 ntpEntStatusInPkts OBJECT-TYPE 620 SYNTAX Counter32 621 MAX-ACCESS read-only 622 STATUS current 623 DESCRIPTION 624 "The total number of NTP messages delivered to the 625 NTP entity from the transport service." 626 ::= { ntpEntStatus 13 } 628 ntpEntStatusOutPkts OBJECT-TYPE 629 SYNTAX Counter32 630 MAX-ACCESS read-only 631 STATUS current 632 DESCRIPTION 633 "The total number of NTP messages delivered to the 634 transport service by this NTP entity." 635 ::= { ntpEntStatus 14 } 637 ntpEntStatusBadVersion OBJECT-TYPE 638 SYNTAX Counter32 639 MAX-ACCESS read-only 640 STATUS current 641 DESCRIPTION 642 "The total number of NTP messages which were delivered 643 to this NTP entity and were for an unsupported NTP 644 version." 645 ::= { ntpEntStatus 15 } 647 ntpEntStatusProtocolError OBJECT-TYPE 648 SYNTAX Counter32 649 MAX-ACCESS read-only 650 STATUS current 651 DESCRIPTION 652 "The total number of NTP messages which were delivered 653 to this NTP entity and this entity was not able to 654 process due to an NTP protocol error." 655 ::= { ntpEntStatus 16 } 657 ntpEntStatusNotifications OBJECT-TYPE 658 SYNTAX Counter32 659 MAX-ACCESS read-only 660 STATUS current 661 DESCRIPTION 662 "The total number of SNMP notifications which this NTP 663 entity has generated." 664 ::= { ntpEntStatus 17 } 666 -- 667 -- Section 3: The status of all currently mobilized associations 668 -- 670 ntpAssociationTable OBJECT-TYPE 671 SYNTAX SEQUENCE OF NtpAssociationEntry 672 MAX-ACCESS not-accessible 673 STATUS current 674 DESCRIPTION 675 "The table of currently mobilized associations." 676 ::= { ntpAssociation 1 } 678 ntpAssociationEntry OBJECT-TYPE 679 SYNTAX NtpAssociationEntry 680 MAX-ACCESS not-accessible 681 STATUS current 682 DESCRIPTION 683 "The table entry of currently mobilized associations." 684 INDEX { ntpAssocId } 685 ::= { ntpAssociationTable 1 } 687 NtpAssociationEntry ::= SEQUENCE { 688 ntpAssocId Unsigned32, 689 ntpAssocName DisplayString, 690 ntpAssocRefId DisplayString, 691 ntpAssocAddressType InetAddressType, 692 ntpAssocAddress InetAddress, 693 ntpAssocOffset DisplayString, 694 ntpAssocStratum NtpStratum, 695 ntpAssocStatusJitter DisplayString, 696 ntpAssocStatusDelay DisplayString, 697 ntpAssocStatusDispersion DisplayString 698 } 700 ntpAssocId OBJECT-TYPE 701 SYNTAX Unsigned32 ( 1..99999 ) 702 MAX-ACCESS not-accessible 703 STATUS current 704 DESCRIPTION 705 "The association ID. This is an internal, unique ID." 706 ::= { ntpAssociationEntry 1 } 708 ntpAssocName OBJECT-TYPE 709 SYNTAX DisplayString 710 MAX-ACCESS read-only 711 STATUS current 712 DESCRIPTION 713 "The hostname or other descriptive name for the association." 714 ::= { ntpAssociationEntry 2 } 716 ntpAssocRefId OBJECT-TYPE 717 SYNTAX DisplayString 718 MAX-ACCESS read-only 719 STATUS current 720 DESCRIPTION 721 "The refclock driver ID, if available." 722 -- a refclock driver ID like "127.127.1.0" for non 723 -- uni/multi/broadcast associations 724 ::= { ntpAssociationEntry 3 } 726 ntpAssocAddressType OBJECT-TYPE 727 SYNTAX InetAddressType 728 MAX-ACCESS read-only 729 STATUS current 730 DESCRIPTION 731 "The type of address of the association." 732 -- contains the type of address for uni/multi/broadcast associations 733 ::= { ntpAssociationEntry 4 } 735 ntpAssocAddress OBJECT-TYPE 736 SYNTAX InetAddress 737 MAX-ACCESS read-only 738 STATUS current 739 DESCRIPTION 740 "The IP address (IPv4 or IPv6) of the association." 741 -- contains IP address of uni/multi/broadcast associations 742 ::= { ntpAssociationEntry 5 } 744 ntpAssocOffset OBJECT-TYPE 745 SYNTAX DisplayString 746 MAX-ACCESS read-only 747 STATUS current 748 DESCRIPTION 749 "The time offset to the association as a string." 750 -- including unit, e.g. "0.032 ms" or "1.232 s" 751 ::= { ntpAssociationEntry 6 } 753 ntpAssocStratum OBJECT-TYPE 754 SYNTAX NtpStratum 755 MAX-ACCESS read-only 756 STATUS current 757 DESCRIPTION 758 "The association stratum value." 759 ::= { ntpAssociationEntry 7 } 761 ntpAssocStatusJitter OBJECT-TYPE 762 SYNTAX DisplayString 763 MAX-ACCESS read-only 764 STATUS current 765 DESCRIPTION 766 "The jitter in miliseconds as a string." 767 ::= { ntpAssociationEntry 8 } 769 ntpAssocStatusDelay OBJECT-TYPE 770 SYNTAX DisplayString 771 MAX-ACCESS read-only 772 STATUS current 773 DESCRIPTION 774 "The network delay in miliseconds as a string." 775 ::= { ntpAssociationEntry 9 } 777 ntpAssocStatusDispersion OBJECT-TYPE 778 SYNTAX DisplayString 779 MAX-ACCESS read-only 780 STATUS current 781 DESCRIPTION 782 "The root dispersion of the association." 783 -- e.g. "6.927" 784 ::= { ntpAssociationEntry 10 } 786 ntpAssociationStatisticsTable OBJECT-TYPE 787 SYNTAX SEQUENCE OF NtpAssociationStatisticsEntry 788 MAX-ACCESS not-accessible 789 STATUS current 790 DESCRIPTION 791 "The table of statistics for current associations." 792 ::= { ntpAssociation 2 } 794 ntpAssociationStatisticsEntry OBJECT-TYPE 795 SYNTAX NtpAssociationStatisticsEntry 796 MAX-ACCESS not-accessible 797 STATUS current 798 DESCRIPTION 799 "The table entry of statistics for current associations." 800 INDEX { ntpAssocId } 801 ::= { ntpAssociationStatisticsTable 1 } 803 NtpAssociationStatisticsEntry ::= SEQUENCE { 804 ntpAssocStatInPkts Counter32, 805 ntpAssocStatOutPkts Counter32, 806 ntpAssocStatProtocolError Counter32 807 } 809 ntpAssocStatInPkts OBJECT-TYPE 810 SYNTAX Counter32 811 MAX-ACCESS read-only 812 STATUS current 813 DESCRIPTION 814 "The total number of NTP messages delivered to the 815 NTP entity from this association." 816 ::= { ntpAssocStatisticsEntry 1 } 818 ntpAssocStatOutPkts OBJECT-TYPE 819 SYNTAX Counter32 820 MAX-ACCESS read-only 821 STATUS current 822 DESCRIPTION 823 "The total number of NTP messages delivered to the 824 transport service by this NTP entity for this 825 association." 826 ::= { ntpAssocStatisticsEntry 2 } 828 ntpAssocStatProtocolError OBJECT-TYPE 829 SYNTAX Counter32 830 MAX-ACCESS read-only 831 STATUS current 832 DESCRIPTION 833 "The total number of NTP messages which were delivered 834 to this NTP entity from this association and this entity 835 was not able to process due to an NTP protocol error." 836 ::= { ntpAssocStatisticsEntry 3 } 838 -- 839 -- Section 4: Control objects 840 -- 842 ntpEntHeartbeatInterval OBJECT-TYPE 843 SYNTAX Unsigned32 844 MAX-ACCESS read-write 845 STATUS current 846 DESCRIPTION 847 "The interval at which the ntpEntNotifHeartbeat notification 848 should be sent, in seconds. If set to 0 and the 849 entNotifHeartbeat bit in ntpEntNotifBits is 1 then 850 ntpEntNotifHeartbeat is sent once." 851 DEFVAL { 60 } 852 ::= { ntpEntControl 1 } 854 ntpEntNotifBits OBJECT-TYPE 855 SYNTAX BITS { 856 notUsed(0), -- Used to sync up bit and notification 857 -- indices 858 entNotifModeChange(1), 859 entNotifStratumChange(2), 860 entNotifSyspeerChanged(3), 861 entNotifAddAssociation(4), 862 entNotifRemoveAssociation(5), 863 entNotifConfigChanged(6), 864 entNotifLeapSecondAnnounced(7), 865 entNotifHeartbeat(8) 866 } 867 MAX-ACCESS read-write 868 STATUS current 869 DESCRIPTION 870 "A bit for each notification. A 1 for a particular bit enables 871 that particular notification, a 0 disables it." 872 ::= { ntpEntControl 2 } 874 -- 875 -- Section 5: Notification objects 876 -- 878 ntpEntNotifMessage OBJECT-TYPE 879 SYNTAX DisplayString 880 MAX-ACCESS accessible-for-notify 881 STATUS current 882 DESCRIPTION 883 "Used as a payload object for all notifications. Holds a clear 884 text event message." 885 DEFVAL { "no event" } 886 ::= { ntpEntNotifObjects 1 } 888 -- 889 -- SNMP notification definitions 890 -- 892 ntpEntNotifications OBJECT IDENTIFIER ::= { ntpEntNotifPrefix 0 } 894 ntpEntNotifModeChange NOTIFICATION-TYPE 895 OBJECTS { ntpEntStatusCurrentModeVal } 896 STATUS current 897 DESCRIPTION 898 "The notification to be sent when the NTP entity changes mode, 899 including starting and stopping (if possible)" 900 ::= { ntpEntNotifications 1 } 902 ntpEntNotifStratumChange NOTIFICATION-TYPE 903 OBJECTS { ntpEntStatusDateTime, ntpEntStatusStratum, 904 ntpEntNotifMessage } 905 STATUS current 906 DESCRIPTION 907 "The notification to be sent when stratum level of NTP changes." 908 ::= { ntpEntNotifications 2 } 910 ntpEntNotifSyspeerChanged NOTIFICATION-TYPE 911 OBJECTS { ntpEntStatusDateTime, ntpEntStatusActiveRefSourceId, 912 ntpEntNotifMessage } 913 STATUS current 914 DESCRIPTION 915 "The notification to be sent when a (new) syspeer has been 916 selected." 917 ::= { ntpEntNotifications 3 } 919 ntpEntNotifAddAssociation NOTIFICATION-TYPE 920 OBJECTS { ntpEntStatusDateTime, ntpAssocName, ntpEntNotifMessage } 921 STATUS current 922 DESCRIPTION 923 "The notification to be sent when a new association is 924 mobilized." 925 ::= { ntpEntNotifications 4 } 927 ntpEntNotifRemoveAssociation NOTIFICATION-TYPE 928 OBJECTS { ntpEntStatusDateTime, ntpAssocName, ntpEntNotifMessage } 929 STATUS current 930 DESCRIPTION 931 "The notification to be sent when an association is 932 demobilized." 933 ::= { ntpEntNotifications 5 } 935 ntpEntNotifConfigChanged NOTIFICATION-TYPE 936 OBJECTS { ntpEntStatusDateTime, ntpEntNotifMessage } 937 STATUS current 938 DESCRIPTION 939 "The notification to be sent when the NTP configuration has 940 changed." 941 -- e.g. when the system connected to the internet and was assigned 942 -- a new IP address by the ISPs DHCP server 943 ::= { ntpEntNotifications 6 } 945 ntpEntNotifLeapSecondAnnounced NOTIFICATION-TYPE 946 OBJECTS { ntpEntStatusDateTime, ntpEntNotifMessage } 947 STATUS current 948 DESCRIPTION 949 "The notification to be sent when a leap second has been 950 announced." 951 ::= { ntpEntNotifications 7 } 953 ntpEntNotifHeartbeat NOTIFICATION-TYPE 954 OBJECTS { ntpEntStatusDateTime, ntpEntStatusCurrentModeVal, 955 ntpEntHeartbeatInterval, ntpEntNotifMessage } 956 STATUS current 957 DESCRIPTION 958 "The notification to be sent periodically (as defined by 959 ntpEntHeartbeatInterval) to indicate that the NTP entity is 960 still alive." 961 ::= { ntpEntNotifications 8 } 963 -- 964 -- Conformance/Compliance statements 965 -- 967 ntpEntConformance OBJECT IDENTIFIER ::= { ntpSnmpMIB 6 } 969 ntpEntCompliances OBJECT IDENTIFIER ::= { ntpEntConformance 1 } 970 ntpEntGroups OBJECT IDENTIFIER ::= { ntpEntConformance 2 } 972 ntpEntNTPCompliance MODULE-COMPLIANCE 973 STATUS current 974 DESCRIPTION 975 "The compliance statement for SNMP entities which use NTP and 976 implement the NTP MIB" 977 MODULE -- this module 978 MANDATORY-GROUPS { 979 ntpEntObjectsGroup1, 980 ntpEntObjectsGroup2, 981 ntpEntNotifPrefixGroup 982 } 983 ::= { ntpEntCompliances 1 } 985 ntpEntSNTPCompliance MODULE-COMPLIANCE 986 STATUS current 987 DESCRIPTION 988 "The compliance statement for SNMP entities which use SNTP and 989 implement the NTP MIB" 990 MODULE -- this module 991 MANDATORY-GROUPS { 992 ntpEntObjectsGroup1 993 } 994 ::= { ntpEntCompliances 2 } 996 ntpEntObjectsGroup1 OBJECT-GROUP 997 OBJECTS { 998 ntpEntSoftwareName, 999 ntpEntSoftwareVersion, 1000 ntpEntSoftwareVersionVal, 1001 ntpEntSoftwareVendor, 1002 ntpEntSystemType, 1003 ntpEntStatusEntityUptime, 1004 ntpEntStatusDateTime, 1005 ntpAssocName, 1006 ntpAssocRefId, 1007 ntpAssocAddressType, 1008 ntpAssocAddress 1009 } 1010 STATUS current 1011 DESCRIPTION 1012 "A collection of objects for the NTP MIB that all NTP 1013 or SNTP entities should implement." 1014 ::= { ntpEntGroups 1 } 1016 ntpEntObjectsGroup2 OBJECT-GROUP 1017 OBJECTS { 1018 ntpEntTimeResolution, 1019 ntpEntTimeResolutionVal, 1020 ntpEntTimePrecision, 1021 ntpEntTimePrecisionVal, 1022 ntpEntTimeDistance, 1023 ntpEntStatusCurrentMode, 1024 ntpEntStatusCurrentModeVal, 1025 ntpEntStatusStratum, 1026 ntpEntStatusActiveRefSourceId, 1027 ntpEntStatusActiveRefSourceName, 1028 ntpEntStatusActiveOffset, 1029 ntpEntStatusNumberOfRefSources, 1030 ntpEntStatusDispersion, 1031 ntpEntStatusLeapSecond, 1032 ntpEntStatusLeapSecDirection, 1033 ntpEntStatusInPkts, 1034 ntpEntStatusOutPkts, 1035 ntpEntStatusBadVersion, 1036 ntpEntStatusProtocolError, 1037 ntpEntStatusNotifications, 1038 ntpAssocOffset, 1039 ntpAssocStratum, 1040 ntpAssocStatusJitter, 1041 ntpAssocStatusDelay, 1042 ntpAssocStatusDispersion, 1043 ntpAssocStatInPkts, 1044 ntpAssocStatOutPkts, 1045 ntpAssocStatProtocolError, 1046 ntpEntHeartbeatInterval, 1047 ntpEntNotifBits, 1048 ntpEntNotifMessage 1049 } 1050 STATUS current 1051 DESCRIPTION 1052 "A collection of objects for the NTP MIB that are optional 1053 for NTP or SNTP entities to implement." 1054 ::= { ntpEntGroups 2 } 1056 ntpEntNotifPrefixGroup NOTIFICATION-GROUP 1057 NOTIFICATIONS { 1058 ntpEntNotifModeChange, 1059 ntpEntNotifStratumChange, 1060 ntpEntNotifSyspeerChanged, 1061 ntpEntNotifAddAssociation, 1062 ntpEntNotifRemoveAssociation, 1063 ntpEntNotifConfigChanged, 1064 ntpEntNotifLeapSecondAnnounced, 1065 ntpEntNotifHeartbeat 1066 } 1067 STATUS current 1068 DESCRIPTION 1069 "A collection of notifications for the NTP MIB" 1070 ::= { ntpEntGroups 3 } 1072 END 1074 5. IANA Considerations 1076 The MIB module in this document uses the following IANA-assigned 1077 OBJECT IDENTIFIER values recorded in the SMI Numbers registry: 1079 Descriptor OBJECT IDENTIFIER value 1080 ---------- ----------------------- 1082 ntpSnmp { mib-2 XXX } 1084 RFC Ed. : the IANA is requested to assign a value for "XXX" under the 1085 'mib-2' subtree and to record the assignment in the SMI Numbers 1086 registry. When the assignment has been made, the RFC Editor is asked 1087 to replace "XXX" (here and in the MIB module) with the assigned value 1088 and to remove this note. 1090 6. Security Considerations 1092 Most data objects in this MIB are read-only. The two read-write 1093 objects control notifications. The security provided by the 1094 implementation of the SNMP agent providing the data objects in this 1095 MIB will be sufficient, although it is recommended that a security 1096 level of at least SNMPv3 AuthNoPriv be used. The general access 1097 management methods used for SNMP agents apply. 1099 7. References 1101 7.1. Normative References 1103 [1] McCloghrie, K., Ed., Perkins, D., Ed., and J. Schoenwaelder, 1104 Ed., "Structure of Management Information Version 2 (SMIv2)", 1105 STD 58, RFC 2578, April 1999. 1107 [2] McCloghrie, K., Ed., Perkins, D., Ed., and J. Schoenwaelder, 1108 Ed., "Textual Conventions for SMIv2", STD 58, RFC 2579, 1109 April 1999. 1111 [3] McCloghrie, K., Perkins, D., and J. Schoenwaelder, "Conformance 1112 Statements for SMIv2", STD 58, RFC 2580, April 1999. 1114 7.2. Informative References 1116 [4] Case, J., Mundy, R., Partain, D., and B. Stewart, "Introduction 1117 and Applicability Statements for Internet-Standard Management 1118 Framework", RFC 3410, December 2002. 1120 Authors' Addresses 1122 Heiko Gerstung 1123 Meinberg Funkuhren Gmbh & Co. KG 1124 Lange Wand 9 1125 Bad Pyrmont 31812 1126 Germany 1128 Phone: +49 5281 9309 25 1129 Email: heiko.gerstung@meinberg.de 1131 Chris Elliott 1132 Cisco Systems, Inc. 1133 7025 Kit Creek Rd., P.O. Box 14987 1134 Research Triangle Park 27709 1135 USA 1137 Phone: +1 919-392-2146 1138 Email: chelliot@cisco.com 1140 Full Copyright Statement 1142 Copyright (C) The IETF Trust (2007). 1144 This document is subject to the rights, licenses and restrictions 1145 contained in BCP 78, and except as set forth therein, the authors 1146 retain all their rights. 1148 This document and the information contained herein are provided on an 1149 "AS IS" basis and THE CONTRIBUTOR, THE ORGANIZATION HE/SHE REPRESENTS 1150 OR IS SPONSORED BY (IF ANY), THE INTERNET SOCIETY, THE IETF TRUST AND 1151 THE INTERNET ENGINEERING TASK FORCE DISCLAIM ALL WARRANTIES, EXPRESS 1152 OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF 1153 THE INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED 1154 WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. 1156 Intellectual Property 1158 The IETF takes no position regarding the validity or scope of any 1159 Intellectual Property Rights or other rights that might be claimed to 1160 pertain to the implementation or use of the technology described in 1161 this document or the extent to which any license under such rights 1162 might or might not be available; nor does it represent that it has 1163 made any independent effort to identify any such rights. Information 1164 on the procedures with respect to rights in RFC documents can be 1165 found in BCP 78 and BCP 79. 1167 Copies of IPR disclosures made to the IETF Secretariat and any 1168 assurances of licenses to be made available, or the result of an 1169 attempt made to obtain a general license or permission for the use of 1170 such proprietary rights by implementers or users of this 1171 specification can be obtained from the IETF on-line IPR repository at 1172 http://www.ietf.org/ipr. 1174 The IETF invites any interested party to bring to its attention any 1175 copyrights, patents or patent applications, or other proprietary 1176 rights that may cover technology that may be required to implement 1177 this standard. Please address the information to the IETF at 1178 ietf-ipr@ietf.org. 1180 Acknowledgment 1182 Funding for the RFC Editor function is provided by the IETF 1183 Administrative Support Activity (IASA).