draft-ietf-ntp-yang-data-model-07.txt   draft-ietf-ntp-yang-data-model-08.txt 
NTP Working Group N. Wu NTP Working Group N. Wu
Internet-Draft D. Dhody Internet-Draft D. Dhody
Intended status: Standards Track Huawei Intended status: Standards Track Huawei
Expires: December 29, 2019 A. Sinha Expires: July 25, 2020 A. Sinha
A. Kumar S N A. Kumar S N
RtBrick Inc. RtBrick Inc.
Y. Zhao Y. Zhao
Ericsson Ericsson
June 27, 2019 January 22, 2020
A YANG Data Model for NTP A YANG Data Model for NTP
draft-ietf-ntp-yang-data-model-07 draft-ietf-ntp-yang-data-model-08
Abstract Abstract
This document defines a YANG data model for Network Time Protocol This document defines a YANG data model for Network Time Protocol
(NTP) implementations. The data model includes configuration data (NTP) implementations. The data model includes configuration data
and state data. and state data.
Requirements Language Requirements Language
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
skipping to change at page 1, line 45 skipping to change at page 1, line 45
Internet-Drafts are working documents of the Internet Engineering Internet-Drafts are working documents of the Internet Engineering
Task Force (IETF). Note that other groups may also distribute Task Force (IETF). Note that other groups may also distribute
working documents as Internet-Drafts. The list of current Internet- working documents as Internet-Drafts. The list of current Internet-
Drafts is at https://datatracker.ietf.org/drafts/current/. Drafts is at https://datatracker.ietf.org/drafts/current/.
Internet-Drafts are draft documents valid for a maximum of six months Internet-Drafts are draft documents valid for a maximum of six months
and may be updated, replaced, or obsoleted by other documents at any and may be updated, replaced, or obsoleted by other documents at any
time. It is inappropriate to use Internet-Drafts as reference time. It is inappropriate to use Internet-Drafts as reference
material or to cite them other than as "work in progress." material or to cite them other than as "work in progress."
This Internet-Draft will expire on December 29, 2019. This Internet-Draft will expire on July 25, 2020.
Copyright Notice Copyright Notice
Copyright (c) 2019 IETF Trust and the persons identified as the Copyright (c) 2020 IETF Trust and the persons identified as the
document authors. All rights reserved. document authors. All rights reserved.
This document is subject to BCP 78 and the IETF Trust's Legal This document is subject to BCP 78 and the IETF Trust's Legal
Provisions Relating to IETF Documents Provisions Relating to IETF Documents
(https://trustee.ietf.org/license-info) in effect on the date of (https://trustee.ietf.org/license-info) in effect on the date of
publication of this document. Please review these documents publication of this document. Please review these documents
carefully, as they describe your rights and restrictions with respect carefully, as they describe your rights and restrictions with respect
to this document. Code Components extracted from this document must to this document. Code Components extracted from this document must
include Simplified BSD License text as described in Section 4.e of include Simplified BSD License text as described in Section 4.e of
the Trust Legal Provisions and are provided without warranty as the Trust Legal Provisions and are provided without warranty as
skipping to change at page 2, line 29 skipping to change at page 2, line 29
Table of Contents Table of Contents
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 3 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 3
1.1. Operational State . . . . . . . . . . . . . . . . . . . . 3 1.1. Operational State . . . . . . . . . . . . . . . . . . . . 3
1.2. Terminology . . . . . . . . . . . . . . . . . . . . . . . 3 1.2. Terminology . . . . . . . . . . . . . . . . . . . . . . . 3
1.3. Tree Diagrams . . . . . . . . . . . . . . . . . . . . . . 3 1.3. Tree Diagrams . . . . . . . . . . . . . . . . . . . . . . 3
1.4. Prefixes in Data Node Names . . . . . . . . . . . . . . . 3 1.4. Prefixes in Data Node Names . . . . . . . . . . . . . . . 3
1.5. Refrences in the Model . . . . . . . . . . . . . . . . . 4 1.5. Refrences in the Model . . . . . . . . . . . . . . . . . 4
2. NTP data model . . . . . . . . . . . . . . . . . . . . . . . 4 2. NTP data model . . . . . . . . . . . . . . . . . . . . . . . 4
3. Relationship with NTPv4-MIB . . . . . . . . . . . . . . . . . 9 3. Relationship with NTPv4-MIB . . . . . . . . . . . . . . . . . 8
4. Relationship with RFC 7317 . . . . . . . . . . . . . . . . . 9 4. Relationship with RFC 7317 . . . . . . . . . . . . . . . . . 9
5. Access Rules . . . . . . . . . . . . . . . . . . . . . . . . 10 5. Access Rules . . . . . . . . . . . . . . . . . . . . . . . . 10
6. Key Management . . . . . . . . . . . . . . . . . . . . . . . 10 6. Key Management . . . . . . . . . . . . . . . . . . . . . . . 10
7. NTP YANG Module . . . . . . . . . . . . . . . . . . . . . . . 10 7. NTP YANG Module . . . . . . . . . . . . . . . . . . . . . . . 10
8. Usage Example . . . . . . . . . . . . . . . . . . . . . . . . 36 8. Usage Example . . . . . . . . . . . . . . . . . . . . . . . . 35
8.1. Unicast association . . . . . . . . . . . . . . . . . . . 36 8.1. Unicast association . . . . . . . . . . . . . . . . . . . 35
8.2. Refclock master . . . . . . . . . . . . . . . . . . . . . 37 8.2. Refclock master . . . . . . . . . . . . . . . . . . . . . 37
8.3. Authentication configuration . . . . . . . . . . . . . . 38 8.3. Authentication configuration . . . . . . . . . . . . . . 38
8.4. Access configuration . . . . . . . . . . . . . . . . . . 40 8.4. Access configuration . . . . . . . . . . . . . . . . . . 40
8.5. Multicast configuration . . . . . . . . . . . . . . . . . 40 8.5. Multicast configuration . . . . . . . . . . . . . . . . . 40
8.6. Manycast configuration . . . . . . . . . . . . . . . . . 44 8.6. Manycast configuration . . . . . . . . . . . . . . . . . 44
8.7. Clock state . . . . . . . . . . . . . . . . . . . . . . . 47 8.7. Clock state . . . . . . . . . . . . . . . . . . . . . . . 47
8.8. Get all association . . . . . . . . . . . . . . . . . . . 47 8.8. Get all association . . . . . . . . . . . . . . . . . . . 47
8.9. Global statistic . . . . . . . . . . . . . . . . . . . . 49 8.9. Global statistic . . . . . . . . . . . . . . . . . . . . 49
9. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 49 9. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 49
10. Security Considerations . . . . . . . . . . . . . . . . . . . 50 10. Security Considerations . . . . . . . . . . . . . . . . . . . 50
skipping to change at page 10, line 46 skipping to change at page 10, line 46
cryptographic keys indexed by a key identifier included in the NTP cryptographic keys indexed by a key identifier included in the NTP
message. This key-id is 32-bits unsigned integer that MUST be message. This key-id is 32-bits unsigned integer that MUST be
configured on the NTP peers before the authentication could be used. configured on the NTP peers before the authentication could be used.
For this reason, this YANG modules allow such configuration via For this reason, this YANG modules allow such configuration via
/ntp/authentication/authentication-keys/. Further at the time of /ntp/authentication/authentication-keys/. Further at the time of
configuration of NTP association (for example unicast-server), the configuration of NTP association (for example unicast-server), the
key-id is specefied. key-id is specefied.
7. NTP YANG Module 7. NTP YANG Module
<CODE BEGINS> file "ietf-ntp@2019-06-28.yang" <CODE BEGINS> file "ietf-ntp@2020-01-22.yang"
module ietf-ntp { module ietf-ntp {
yang-version 1.1; yang-version 1.1;
namespace "urn:ietf:params:xml:ns:yang:ietf-ntp"; namespace "urn:ietf:params:xml:ns:yang:ietf-ntp";
prefix "ntp"; prefix ntp;
import ietf-yang-types { import ietf-yang-types {
prefix "yang"; prefix yang;
reference "RFC 6991: Common YANG Data Types"; reference
"RFC 6991: Common YANG Data Types";
} }
import ietf-inet-types { import ietf-inet-types {
prefix "inet"; prefix inet;
reference "RFC 6991: Common YANG Data Types"; reference
"RFC 6991: Common YANG Data Types";
} }
import ietf-interfaces { import ietf-interfaces {
prefix "if"; prefix if;
reference "RFC 8343: A YANG Data Model for Interface Management"; reference
"RFC 8343: A YANG Data Model for Interface Management";
} }
import iana-crypt-hash { import iana-crypt-hash {
prefix "ianach"; prefix ianach;
reference "RFC 7317: A YANG Data Model for System Management"; reference
"RFC 7317: A YANG Data Model for System Management";
} }
import ietf-key-chain { import ietf-key-chain {
prefix "key-chain"; prefix key-chain;
reference "RFC 8177: YANG Data Model for Key Chains"; reference
"RFC 8177: YANG Data Model for Key Chains";
} }
import ietf-access-control-list { import ietf-access-control-list {
prefix "acl"; prefix acl;
reference "RFC 8519: YANG Data Model for Network Access Control reference
Lists (ACLs)"; "RFC 8519: YANG Data Model for Network Access Control
Lists (ACLs)";
} }
import ietf-routing-types { import ietf-routing-types {
prefix "rt-types"; prefix rt-types;
reference "RFC 8294: Common YANG Data Types for the Routing Area"; reference
"RFC 8294: Common YANG Data Types for the Routing Area";
} }
import ietf-netconf-acm { import ietf-netconf-acm {
prefix nacm; prefix nacm;
reference reference
"RFC 8341: Network Configuration Protocol (NETCONF) Access "RFC 8341: Network Configuration Protocol (NETCONF) Access
Control Model"; Control Model";
} }
organization organization
"IETF NTP (Network Time Protocol) Working Group"; "IETF NTP (Network Time Protocol) Working Group";
contact contact
"WG Web: <http://tools.ietf.org/wg/ntp/> "WG Web: <http://tools.ietf.org/wg/ntp/>
WG List: <mailto: ntpwg@lists.ntp.org WG List: <mailto: ntpwg@lists.ntp.org
Editor: Eric Wu Editor: Eric Wu
<mailto:eric.wu@huawei.com> <mailto:eric.wu@huawei.com>
Editor: Anil Kumar S N Editor: Anil Kumar S N
<mailto:anil.ietf@gmail.com> <mailto:anil.ietf@gmail.com>
Editor: Yi Zhao Editor: Yi Zhao
<mailto:yi.z.zhao@ericsson.com> <mailto:yi.z.zhao@ericsson.com>
Editor: Dhruv Dhody Editor: Dhruv Dhody
<mailto:dhruv.ietf@gmail.com> <mailto:dhruv.ietf@gmail.com>
Editor: Ankit Kumar Sinha Editor: Ankit Kumar Sinha
<mailto:ankit.ietf@gmail.com>"; <mailto:ankit.ietf@gmail.com>";
description description
"This document defines a YANG data model for Network Time Protocol "This document defines a YANG data model for Network Time Protocol
(NTP) implementations. The data model includes configuration data (NTP) implementations. The data model includes configuration data
and state data. and state data.
Copyright (c) 2019 IETF Trust and the persons identified Copyright (c) 2020 IETF Trust and the persons identified
as authors of the code. All rights reserved. as authors of the code. All rights reserved.
Redistribution and use in source and binary forms, Redistribution and use in source and binary forms,
with or without modification, is permitted pursuant to, with or without modification, is permitted pursuant to,
and subject to the license terms contained in, the and subject to the license terms contained in, the
Simplified BSD License set forth in Section 4.c of the Simplified BSD License set forth in Section 4.c of the
IETF Trust's Legal Provisions Relating to IETF Documents IETF Trust's Legal Provisions Relating to IETF Documents
(https://trustee.ietf.org/license-info). (https://trustee.ietf.org/license-info).
This version of this YANG module is part of RFC XXXX; This version of this YANG module is part of RFC XXXX;
see the RFC itself for full legal notices."; see the RFC itself for full legal notices.";
revision 2019-06-28 { revision 2020-01-22 {
description description
"Initial revision."; "Initial revision.";
reference reference
"RFC XXXX: A YANG Data Model for NTP."; "RFC XXXX: A YANG Data Model for NTP.";
} }
/* Note: The RFC Editor will replace XXXX with the number assigned /* Note: The RFC Editor will replace XXXX with the number assigned
to this document once it becomes an RFC.*/ to this document once it becomes an RFC.*/
/* Typedef Definitions */ /* Typedef Definitions */
typedef ntp-stratum { typedef ntp-stratum {
type uint8 { type uint8 {
range "1..16"; range "1..16";
} }
description description
"The level of each server in the hierarchy is defined by "The level of each server in the hierarchy is defined by
a stratum. Primary servers are assigned with stratum a stratum. Primary servers are assigned with stratum
one; secondary servers at each lower level are assigned with one; secondary servers at each lower level are assigned with
one stratum greater than the preceding level"; one stratum greater than the preceding level";
reference reference
"RFC 5905: Network Time Protocol Version 4: Protocol and "RFC 5905: Network Time Protocol Version 4: Protocol and
Algorithms Specification"; Algorithms Specification";
} }
typedef ntp-version { typedef ntp-version {
type uint8; type uint8;
default "3"; default "3";
description description
"The current NTP version supported by corresponding "The current NTP version supported by corresponding
association."; association.";
} }
typedef ntp-minpoll { typedef ntp-minpoll {
type uint8 { type uint8 {
range "4..17"; range "4..17";
} }
default "6"; default "6";
description description
"The minimum poll exponent for this NTP association."; "The minimum poll exponent for this NTP association.";
reference reference
"RFC 5905: Network Time Protocol Version 4: Protocol and "RFC 5905: Network Time Protocol Version 4: Protocol and
Algorithms Specification"; Algorithms Specification";
} }
typedef ntp-maxpoll { typedef ntp-maxpoll {
type uint8 { type uint8 {
range "4..17"; range "4..17";
} }
default "10"; default "10";
description description
"The maximum poll exponent for this NTP association."; "The maximum poll exponent for this NTP association.";
reference reference
"RFC 5905: Network Time Protocol Version 4: Protocol and "RFC 5905: Network Time Protocol Version 4: Protocol and
Algorithms Specification"; Algorithms Specification";
} }
typedef access-mode { typedef access-mode {
type enumeration { type enumeration {
enum peer { enum peer {
value "0"; value 0;
description description
"Enables the full access authority. Both time "Enables the full access authority. Both time
request and control query can be performed request and control query can be performed
on the local NTP service, and the local clock on the local NTP service, and the local clock
can be synchronized with the remote server."; can be synchronized with the remote server.";
} }
enum server { enum server {
value "1"; value 1;
description description
"Enables the server access and query. "Enables the server access and query.
Both time requests and control query can be Both time requests and control query can be
performed on the local NTP service, but the performed on the local NTP service, but the
local clock cannot be synchronized with the local clock cannot be synchronized with the
remote server."; remote server.";
} }
enum synchronization { enum synchronization {
value "2"; value 2;
description description
"Enables the server to access. "Enables the server to access.
Only time request can be performed on the Only time request can be performed on the
local NTP service."; local NTP service.";
} }
enum query { enum query {
value "3"; value 3;
description description
"Enables the maximum access limitation. "Enables the maximum access limitation.
Control query can be performed only on the Control query can be performed only on the
local NTP service."; local NTP service.";
} }
} }
description description
"This defines NTP access modes."; "This defines NTP access modes.";
} }
typedef unicast-configuration-type { typedef unicast-configuration-type {
type enumeration { type enumeration {
enum server { enum server {
value "0"; value 0;
description description
"Use client association mode. This device "Use client association mode. This device
will not provide synchronization to the will not provide synchronization to the
configured NTP server."; configured NTP server.";
} }
enum peer { enum peer {
value "1"; value 1;
description description
"Use symmetric active association mode. "Use symmetric active association mode.
This device may provide synchronization This device may provide synchronization
to the configured NTP server."; to the configured NTP server.";
} }
} }
description description
"This defines NTP unicast mode of operation."; "This defines NTP unicast mode of operation.";
} }
typedef association-mode { typedef association-mode {
type enumeration { type enumeration {
enum client { enum client {
value "0"; value 0;
description description
"Use client association mode(mode 3). "Use client association mode(mode 3).
This device will not provide synchronization This device will not provide synchronization
to the configured NTP server."; to the configured NTP server.";
} }
enum active { enum active {
value "1"; value 1;
description description
"Use symmetric active association mode(mode 1). "Use symmetric active association mode(mode 1).
This device may synchronize with its NTP peer, This device may synchronize with its NTP peer,
or provide synchronization to configured NTP peer."; or provide synchronization to configured NTP peer.";
} }
enum passive { enum passive {
value "2"; value 2;
description description
"Use symmetric passive association mode(mode 2). "Use symmetric passive association mode(mode 2).
This device has learned this association dynamically. This device has learned this association dynamically.
This device may synchronize with its NTP peer."; This device may synchronize with its NTP peer.";
} }
enum broadcast { enum broadcast {
value "3"; value 3;
description description
"Use broadcast mode(mode 5). "Use broadcast mode(mode 5).
This mode defines that its either working This mode defines that its either working
as broadcast-server or multicast-server."; as broadcast-server or multicast-server.";
} }
enum broadcast-client { enum broadcast-client {
value "4"; value 4;
description description
"This mode defines that its either working "This mode defines that its either working
as broadcast-client or multicast-client."; as broadcast-client or multicast-client.";
} }
} }
description description
"The NTP association modes."; "The NTP association modes.";
} }
typedef ntp-clock-status { typedef ntp-clock-status {
type enumeration { type enumeration {
enum synchronized { enum synchronized {
value "0"; value 0;
description description
"Indicates that the local clock has been "Indicates that the local clock has been
synchronized with an NTP server or synchronized with an NTP server or
the reference clock."; the reference clock.";
} }
enum unsynchronized { enum unsynchronized {
value "1"; value 1;
description description
"Indicates that the local clock has not been "Indicates that the local clock has not been
synchronized with any NTP server."; synchronized with any NTP server.";
} }
} }
description description
"This defines NTP clock status."; "This defines NTP clock status.";
} }
typedef ntp-sync-state { typedef ntp-sync-state {
type enumeration { type enumeration {
enum clock-not-set { enum clock-not-set {
value "0"; value 0;
description description
"Indicates the clock is not updated."; "Indicates the clock is not updated.";
} }
enum freq-set-by-cfg { enum freq-set-by-cfg {
value "1"; value 1;
description description
"Indicates the clock frequency is set by "Indicates the clock frequency is set by
NTP configuration."; NTP configuration.";
} }
enum clock-set { enum clock-set {
value "2"; value 2;
description description
"Indicates the clock is set."; "Indicates the clock is set.";
} }
enum freq-not-determined { enum freq-not-determined {
value "3"; value 3;
description description
"Indicates the clock is set but the frequency "Indicates the clock is set but the frequency
is not determined."; is not determined.";
} }
enum clock-synchronized { enum clock-synchronized {
value "4"; value 4;
description description
"Indicates that the clock is synchronized"; "Indicates that the clock is synchronized";
} }
enum spike { enum spike {
value "5"; value 5;
description description
"Indicates a time difference of more than 128 "Indicates a time difference of more than 128
milliseconds is detected between NTP server milliseconds is detected between NTP server
and client clock. The clock change will take and client clock. The clock change will take
effect in XXX seconds."; effect in XXX seconds.";
} }
} }
description description
"This defines NTP clock sync states."; "This defines NTP clock sync states.";
} }
/* features */ /* features */
feature ntp-port { feature ntp-port {
description description
"Support for NTP port configuration"; "Support for NTP port configuration";
reference reference
"RFC 5905: Network Time Protocol Version 4: Protocol and "RFC 5905: Network Time Protocol Version 4: Protocol and
Algorithms Specification"; Algorithms Specification";
} }
feature authentication { feature authentication {
description description
"Support for NTP symmetric key authentication"; "Support for NTP symmetric key authentication";
reference reference
"RFC 5905: Network Time Protocol Version 4: Protocol and "RFC 5905: Network Time Protocol Version 4: Protocol and
Algorithms Specification"; Algorithms Specification";
} }
feature access-rules { feature access-rules {
description description
"Support for NTP access control"; "Support for NTP access control";
reference reference
"RFC 5905: Network Time Protocol Version 4: Protocol and "RFC 5905: Network Time Protocol Version 4: Protocol and
Algorithms Specification"; Algorithms Specification";
} }
feature unicast-configuration { feature unicast-configuration {
description description
"Support for NTP client/server or active/passive "Support for NTP client/server or active/passive
in unicast"; in unicast";
reference reference
"RFC 5905: Network Time Protocol Version 4: Protocol and "RFC 5905: Network Time Protocol Version 4: Protocol and
Algorithms Specification"; Algorithms Specification";
} }
feature broadcast-server { feature broadcast-server {
description description
"Support for broadcast server"; "Support for broadcast server";
reference reference
"RFC 5905: Network Time Protocol Version 4: Protocol and "RFC 5905: Network Time Protocol Version 4: Protocol and
Algorithms Specification"; Algorithms Specification";
} }
feature broadcast-client { feature broadcast-client {
description description
"Support for broadcast client"; "Support for broadcast client";
reference reference
"RFC 5905: Network Time Protocol Version 4: Protocol and "RFC 5905: Network Time Protocol Version 4: Protocol and
Algorithms Specification"; Algorithms Specification";
} }
feature multicast-server { feature multicast-server {
description description
"Support for multicast server"; "Support for multicast server";
reference reference
"RFC 5905: Network Time Protocol Version 4: Protocol and "RFC 5905: Network Time Protocol Version 4: Protocol and
Algorithms Specification"; Algorithms Specification";
} }
feature multicast-client { feature multicast-client {
description description
"Support for multicast client"; "Support for multicast client";
reference reference
"RFC 5905: Network Time Protocol Version 4: Protocol and "RFC 5905: Network Time Protocol Version 4: Protocol and
Algorithms Specification"; Algorithms Specification";
} }
feature manycast-server { feature manycast-server {
description description
"Support for manycast server"; "Support for manycast server";
reference reference
"RFC 5905: Network Time Protocol Version 4: Protocol and "RFC 5905: Network Time Protocol Version 4: Protocol and
Algorithms Specification"; Algorithms Specification";
} }
feature manycast-client { feature manycast-client {
description description
"Support for manycast client"; "Support for manycast client";
reference reference
"RFC 5905: Network Time Protocol Version 4: Protocol and "RFC 5905: Network Time Protocol Version 4: Protocol and
Algorithms Specification"; Algorithms Specification";
} }
/* Groupings */ /* Groupings */
grouping authentication-key { grouping authentication-key {
description description
"To define an authentication key for a Network Time "To define an authentication key for a Network Time
Protocol (NTP) time source."; Protocol (NTP) time source.";
leaf key-id { leaf key-id {
type uint32 { type uint32 {
range "1..max"; range "1..max";
} }
description description
"Authentication key identifier."; "Authentication key identifier.";
} }
leaf algorithm { leaf algorithm {
type identityref { type identityref {
base key-chain:crypto-algorithm; base key-chain:crypto-algorithm;
skipping to change at page 19, line 33 skipping to change at page 19, line 29
description description
"The key"; "The key";
} }
leaf istrusted { leaf istrusted {
type boolean; type boolean;
description description
"Key-id is trusted or not"; "Key-id is trusted or not";
} }
reference reference
"RFC 5905: Network Time Protocol Version 4: Protocol and "RFC 5905: Network Time Protocol Version 4: Protocol and
Algorithms Specification"; Algorithms Specification";
} }
grouping authentication { grouping authentication {
description description
"Authentication."; "Authentication.";
choice authentication-type { choice authentication-type {
description description
"Type of authentication."; "Type of authentication.";
case symmetric-key { case symmetric-key {
leaf key-id { leaf key-id {
type leafref { type leafref {
path "/ntp:ntp/ntp:authentication/" path "/ntp:ntp/ntp:authentication/"
+ "ntp:authentication-keys/ntp:key-id"; + "ntp:authentication-keys/ntp:key-id";
} }
description description
"Authentication key id referenced in this "Authentication key id referenced in this
association."; association.";
} }
} }
} }
} }
grouping statistics { grouping statistics {
description description
"NTP packet statistic."; "NTP packet statistic.";
leaf packet-sent { leaf packet-sent {
type yang:counter32; type yang:counter32;
description description
"The total number of NTP packets delivered to the "The total number of NTP packets delivered to the
transport service by this NTP entity for this transport service by this NTP entity for this
association. association.
Discountinuities in the value of this counter can occur Discountinuities in the value of this counter can occur
upon cold start or reinitialization of the NTP entity, the upon cold start or reinitialization of the NTP entity, the
management system and at other times as indicated by management system and at other times as indicated by
discontinuities in the value of sysUpTime."; discontinuities in the value of sysUpTime.";
} }
leaf packet-sent-fail { leaf packet-sent-fail {
type yang:counter32; type yang:counter32;
description description
"The number of times NTP packets sending failed."; "The number of times NTP packets sending failed.";
} }
leaf packet-received { leaf packet-received {
type yang:counter32; type yang:counter32;
description description
"The total number of NTP packets delivered to the "The total number of NTP packets delivered to the
NTP entity from this association. NTP entity from this association.
Discountinuities in the value of this counter can occur Discountinuities in the value of this counter can occur
upon cold start or reinitialization of the NTP entity, the upon cold start or reinitialization of the NTP entity, the
management system and at other times as indicated by management system and at other times as indicated by
discontinuities in the value of sysUpTime."; discontinuities in the value of sysUpTime.";
} }
leaf packet-dropped { leaf packet-dropped {
type yang:counter32; type yang:counter32;
description description
"The total number of NTP packets that were delivered "The total number of NTP packets that were delivered
to this NTP entity from this association and this entity to this NTP entity from this association and this entity
was not able to process due to an NTP protocol error. was not able to process due to an NTP protocol error.
Discountinuities in the value of this counter can occur Discountinuities in the value of this counter can occur
upon cold start or reinitialization of the NTP entity, the upon cold start or reinitialization of the NTP entity, the
management system and at other times as indicated by management system and at other times as indicated by
discontinuities in the value of sysUpTime."; discontinuities in the value of sysUpTime.";
} }
} }
grouping common-attributes { grouping common-attributes {
description description
"NTP common attributes for configuration."; "NTP common attributes for configuration.";
leaf minpoll { leaf minpoll {
type ntp-minpoll; type ntp-minpoll;
description description
"The minimum poll interval used in this association."; "The minimum poll interval used in this association.";
} }
leaf maxpoll { leaf maxpoll {
type ntp-maxpoll; type ntp-maxpoll;
description description
"The maximum poll interval used in this association."; "The maximum poll interval used in this association.";
} }
leaf port { leaf port {
if-feature ntp-port; if-feature "ntp-port";
type inet:port-number { type inet:port-number {
range "123 | 1025..max"; range "123 | 1025..max";
} }
default "123"; default "123";
description description
"Specify the port used to send NTP packets."; "Specify the port used to send NTP packets.";
} }
leaf version { leaf version {
type ntp-version; type ntp-version;
description description
"NTP version."; "NTP version.";
} }
reference reference
"RFC 5905: Network Time Protocol Version 4: Protocol and "RFC 5905: Network Time Protocol Version 4: Protocol and
Algorithms Specification"; Algorithms Specification";
} }
grouping association-ref { grouping association-ref {
description description
"Reference to NTP association mode"; "Reference to NTP association mode";
leaf associations-address { leaf associations-address {
type leafref { type leafref {
path "/ntp:ntp/ntp:associations/ntp:address"; path "/ntp:ntp/ntp:associations/ntp:address";
} }
description description
"Indicates the association's address "Indicates the association's address
which result in clock synchronization."; which result in clock synchronization.";
} }
leaf associations-local-mode { leaf associations-local-mode {
type leafref { type leafref {
path "/ntp:ntp/ntp:associations/ntp:local-mode"; path "/ntp:ntp/ntp:associations/ntp:local-mode";
} }
description description
"Indicates the association's local-mode "Indicates the association's local-mode
which result in clock synchronization."; which result in clock synchronization.";
} }
leaf associations-isconfigured { leaf associations-isconfigured {
type leafref { type leafref {
path "/ntp:ntp/ntp:associations/" path "/ntp:ntp/ntp:associations/"
+ "ntp:isconfigured"; + "ntp:isconfigured";
} }
description description
"The association was configured or dynamic "The association was configured or dynamic
which result in clock synchronization."; which result in clock synchronization.";
} }
} }
/* Configuration data nodes */ /* Configuration data nodes */
container ntp { container ntp {
presence presence "NTP is enabled and system should attempt to
"NTP is enabled and system should attempt to synchronize the system clock with an NTP server
synchronize the system clock with an NTP server from the 'ntp/associations' list.";
from the 'ntp/associations' list.";
description description
"Configuration parameters for NTP."; "Configuration parameters for NTP.";
leaf port { leaf port {
if-feature ntp-port; if-feature "ntp-port";
type inet:port-number { type inet:port-number {
range "123 | 1025..max"; range "123 | 1025..max";
} }
default "123"; default "123";
description description
"Specify the port used to send and receive NTP packets."; "Specify the port used to send and receive NTP packets.";
} }
container refclock-master { container refclock-master {
presence presence "NTP master clock is enabled.";
"NTP master clock is enabled.";
description description
"Configures the local clock of this device as NTP server."; "Configures the local clock of this device as NTP server.";
leaf master-stratum { leaf master-stratum {
type ntp-stratum; type ntp-stratum;
default "16"; default "16";
description description
"Stratum level from which NTP "Stratum level from which NTP
clients get their time synchronized."; clients get their time synchronized.";
} }
} }
container authentication { container authentication {
description description
"Configuration of authentication."; "Configuration of authentication.";
leaf auth-enabled { leaf auth-enabled {
type boolean; type boolean;
default false; default "false";
description description
"Controls whether NTP authentication is enabled "Controls whether NTP authentication is enabled
or disabled on this device."; or disabled on this device.";
} }
list authentication-keys { list authentication-keys {
key "key-id"; key "key-id";
uses authentication-key; uses authentication-key;
description description
"List of authentication keys."; "List of authentication keys.";
} }
} }
container access-rules { container access-rules {
description description
"Configuration to control access to NTP service "Configuration to control access to NTP service
by using NTP access-group feature. by using NTP access-group feature.
The access-mode identifies how the acl is The access-mode identifies how the acl is
applied with NTP."; applied with NTP.";
list access-rule { list access-rule {
key "access-mode"; key "access-mode";
description description
"List of access rules."; "List of access rules.";
leaf access-mode { leaf access-mode {
type access-mode; type access-mode;
description description
"NTP access mode. The defination of each possible values: "NTP access mode. The defination of each possible values:
peer(0): Both time request and control query can be peer(0): Both time request and control query can be
performed. performed.
server(1): Enables the server access and query. server(1): Enables the server access and query.
synchronization(2): Enables the server access only. synchronization(2): Enables the server access only.
query(3): Enables control query only."; query(3): Enables control query only.";
} }
leaf acl { leaf acl {
type leafref { type leafref {
path "/acl:acls/acl:acl/acl:name"; path "/acl:acls/acl:acl/acl:name";
} }
description description
"Control access configuration to be used."; "Control access configuration to be used.";
} }
reference reference
"RFC 5905: Network Time Protocol Version 4: Protocol and "RFC 5905: Network Time Protocol Version 4: Protocol and
Algorithms Specification"; Algorithms Specification";
} }
} }
container clock-state { container clock-state {
config "false"; config false;
description description
"Clock operational state of the NTP."; "Clock operational state of the NTP.";
container system-status { container system-status {
description description
"System status of NTP."; "System status of NTP.";
leaf clock-state { leaf clock-state {
type ntp-clock-status; type ntp-clock-status;
mandatory true; mandatory true;
description description
"The state of system clock. The definition of each "The state of system clock. The definition of each
possible value is: possible value is:
synchronized(0): Indicates local clock is synchronized. synchronized(0): Indicates local clock is synchronized.
unsynchronized(1): Indicates local clock is not unsynchronized(1): Indicates local clock is not
synchronized."; synchronized.";
} }
leaf clock-stratum { leaf clock-stratum {
type ntp-stratum; type ntp-stratum;
mandatory true; mandatory true;
description description
"The NTP entity's own stratum value. Should be a stratum "The NTP entity's own stratum value. Should be a stratum
of syspeer + 1 (or 16 if no syspeer)."; of syspeer + 1 (or 16 if no syspeer).";
reference reference
"RFC 5905: Network Time Protocol Version 4: Protocol and "RFC 5905: Network Time Protocol Version 4: Protocol and
Algorithms Specification"; Algorithms Specification";
} }
leaf clock-refid { leaf clock-refid {
type union { type union {
type inet:ipv4-address; type inet:ipv4-address;
type binary { type binary {
length "4"; length "4";
} }
type string { type string {
length "4"; length "4";
} }
} }
mandatory true; mandatory true;
description description
"IPv4 address or first 32 bits of the MD5 hash of "IPv4 address or first 32 bits of the MD5 hash of
the IPv6 address or reference clock of the peer to the IPv6 address or reference clock of the peer to
which clock is synchronized."; which clock is synchronized.";
reference reference
"RFC 5905: Network Time Protocol Version 4: Protocol and "RFC 5905: Network Time Protocol Version 4: Protocol and
Algorithms Specification"; Algorithms Specification";
} }
uses association-ref { uses association-ref {
description description
"Reference to Association."; "Reference to Association.";
} }
leaf nominal-freq { leaf nominal-freq {
type decimal64 { type decimal64 {
fraction-digits 4; fraction-digits 4;
} }
units Hz; units "Hz";
mandatory true; mandatory true;
description description
"The nominal frequency of the "The nominal frequency of the
local clock."; local clock.";
reference reference
"RFC 5905: Network Time Protocol Version 4: Protocol and "RFC 5905: Network Time Protocol Version 4: Protocol and
Algorithms Specification"; Algorithms Specification";
} }
leaf actual-freq { leaf actual-freq {
type decimal64 { type decimal64 {
fraction-digits 4; fraction-digits 4;
} }
units Hz; units "Hz";
mandatory true; mandatory true;
description description
"The actual frequency of the "The actual frequency of the
local clock."; local clock.";
reference reference
"RFC 5905: Network Time Protocol Version 4: Protocol and "RFC 5905: Network Time Protocol Version 4: Protocol and
Algorithms Specification"; Algorithms Specification";
} }
leaf clock-precision { leaf clock-precision {
type uint8; type uint8;
units Hz; units "Hz";
mandatory true; mandatory true;
description description
"Clock precision of this system in integer format "Clock precision of this system in integer format
(prec=2^(-n)). A value of 5 would mean 2^-5 = 31.25 ms."; (prec=2^(-n)). A value of 5 would mean 2^-5 = 31.25 ms.";
reference reference
"RFC 5905: Network Time Protocol Version 4: Protocol and "RFC 5905: Network Time Protocol Version 4: Protocol and
Algorithms Specification"; Algorithms Specification";
} }
leaf clock-offset { leaf clock-offset {
type decimal64 { type decimal64 {
fraction-digits 3; fraction-digits 3;
} }
units milliseconds; units "milliseconds";
description description
"The time offset to the current selected reference time "The time offset to the current selected reference time
source e.g., '0.032' or '1.232'."; source e.g., '0.032' or '1.232'.";
reference reference
"RFC 5905: Network Time Protocol Version 4: Protocol and "RFC 5905: Network Time Protocol Version 4: Protocol and
Algorithms Specification"; Algorithms Specification";
} }
leaf root-delay { leaf root-delay {
type decimal64 { type decimal64 {
fraction-digits 3; fraction-digits 3;
} }
units milliseconds; units "milliseconds";
description description
"Total delay along the path to root clock."; "Total delay along the path to root clock.";
reference reference
"RFC 5905: Network Time Protocol Version 4: Protocol and "RFC 5905: Network Time Protocol Version 4: Protocol and
Algorithms Specification"; Algorithms Specification";
} }
leaf root-dispersion { leaf root-dispersion {
type decimal64 { type decimal64 {
fraction-digits 3; fraction-digits 3;
} }
units milliseconds; units "milliseconds";
description description
"The dispersion between the local clock "The dispersion between the local clock
and the root clock, e.g., '6.927'."; and the root clock, e.g., '6.927'.";
reference reference
"RFC 5905: Network Time Protocol Version 4: Protocol and "RFC 5905: Network Time Protocol Version 4: Protocol and
Algorithms Specification"; Algorithms Specification";
} }
leaf reference-time { leaf reference-time {
type yang:date-and-time; type yang:date-and-time;
description description
"The reference timestamp."; "The reference timestamp.";
} }
leaf sync-state { leaf sync-state {
type ntp-sync-state; type ntp-sync-state;
mandatory true; mandatory true;
description description
"The synchronization status of "The synchronization status of
the local clock."; the local clock.";
} }
} }
} }
list unicast-configuration { list unicast-configuration {
key "address type"; key "address type";
description description
"List of NTP unicast-configurations."; "List of NTP unicast-configurations.";
leaf address { leaf address {
type inet:host; type inet:host;
description description
"Address of this association."; "Address of this association.";
} }
leaf type { leaf type {
type unicast-configuration-type; type unicast-configuration-type;
description description
"Use client association mode. This device "Use client association mode. This device
will not provide synchronization to the will not provide synchronization to the
configured NTP server."; configured NTP server.";
} }
container authentication{ container authentication {
description description
"Authentication used for this association."; "Authentication used for this association.";
uses authentication; uses authentication;
} }
leaf prefer { leaf prefer {
type boolean; type boolean;
default "false"; default "false";
description description
"Whether this association is preferred or not."; "Whether this association is preferred or not.";
} }
leaf burst { leaf burst {
type boolean; type boolean;
default "false"; default "false";
description description
"If set, a series of packets are sent instead of a single "If set, a series of packets are sent instead of a single
packet within each synchronization interval to achieve packet within each synchronization interval to achieve
faster synchronization."; faster synchronization.";
reference reference
"RFC 5905: Network Time Protocol Version 4: Protocol and "RFC 5905: Network Time Protocol Version 4: Protocol and
Algorithms Specification"; Algorithms Specification";
} }
leaf iburst { leaf iburst {
type boolean; type boolean;
default "false"; default "false";
description description
"If set, a series of packets are sent instead of a single "If set, a series of packets are sent instead of a single
packet within the initial synchronization interval to packet within the initial synchronization interval to
achieve faster initial synchronization."; achieve faster initial synchronization.";
reference reference
"RFC 5905: Network Time Protocol Version 4: Protocol and "RFC 5905: Network Time Protocol Version 4: Protocol and
Algorithms Specification"; Algorithms Specification";
} }
leaf source { leaf source {
type if:interface-ref; type if:interface-ref;
description description
"The interface whose IP address is used by this association "The interface whose IP address is used by this association
as the source address."; as the source address.";
} }
uses common-attributes { uses common-attributes {
description description
"Common attributes like port, version, min and max "Common attributes like port, version, min and max
poll."; poll.";
} }
} }
list associations { list associations {
key "address local-mode isconfigured"; key "address local-mode isconfigured";
config "false"; config false;
description description
"List of NTP associations. Here address, local-mode "List of NTP associations. Here address, local-mode
and isconfigured is required to uniquely identify and isconfigured is required to uniquely identify
a particular association. Lets take following examples - a particular association. Lets take following examples -
1) If RT1 acting as broadcast server, 1) If RT1 acting as broadcast server,
and RT2 acting as broadcast client, then RT2 and RT2 acting as broadcast client, then RT2
will form dynamic association with address as RT1, will form dynamic association with address as RT1,
local-mode as client and isconfigured as false. local-mode as client and isconfigured as false.
2) When RT2 is configured 2) When RT2 is configured
with unicast-server RT1, then RT2 will form with unicast-server RT1, then RT2 will form
association with address as RT1, local-mode as client association with address as RT1, local-mode as client
and isconfigured as true. and isconfigured as true.
Thus all 3 leaves are needed as key to unique identify Thus all 3 leaves are needed as key to unique identify
the association."; the association.";
leaf address { leaf address {
type inet:host; type inet:host;
description description
"The address of this association. Represents the IP "The address of this association. Represents the IP
address of a unicast/multicast/broadcast address."; address of a unicast/multicast/broadcast address.";
} }
leaf local-mode { leaf local-mode {
type association-mode; type association-mode;
description description
"Local mode of this NTP association."; "Local mode of this NTP association.";
} }
leaf isconfigured { leaf isconfigured {
type boolean; type boolean;
description description
"Indicates if this association is configured or "Indicates if this association is configured or
dynamically learned."; dynamically learned.";
} }
leaf stratum { leaf stratum {
type ntp-stratum; type ntp-stratum;
description description
"The association stratum value."; "The association stratum value.";
reference reference
"RFC 5905: Network Time Protocol Version 4: Protocol and "RFC 5905: Network Time Protocol Version 4: Protocol and
Algorithms Specification"; Algorithms Specification";
} }
leaf refid { leaf refid {
type union { type union {
type inet:ipv4-address; type inet:ipv4-address;
type binary { type binary {
length "4"; length "4";
} }
type string { type string {
length "4"; length "4";
} }
} }
description description
"The refclock driver ID, if available. "The refclock driver ID, if available.
-- a refclock driver ID like '127.127.1.0' for local clock -- a refclock driver ID like '127.127.1.0' for local clock
sync sync
-- uni/multi/broadcast associations will look like -- uni/multi/broadcast associations will look like
'20.1.1.1' '20.1.1.1'
-- sync with primary source will look like 'DCN', 'NIST', -- sync with primary source will look like 'DCN', 'NIST',
'ATOM'"; 'ATOM'";
reference reference
"RFC 5905: Network Time Protocol Version 4: Protocol and "RFC 5905: Network Time Protocol Version 4: Protocol and
Algorithms Specification"; Algorithms Specification";
} }
leaf authentication{ leaf authentication {
type leafref { type leafref {
path "/ntp:ntp/ntp:authentication/" path "/ntp:ntp/ntp:authentication/"
+ "ntp:authentication-keys/ntp:key-id"; + "ntp:authentication-keys/ntp:key-id";
} }
description description
"Authentication Key used for this association."; "Authentication Key used for this association.";
} }
leaf prefer { leaf prefer {
type boolean; type boolean;
default "false"; default "false";
description description
"Indicates if this association is preferred."; "Indicates if this association is preferred.";
} }
leaf peer-interface { leaf peer-interface {
type if:interface-ref; type if:interface-ref;
description description
"The interface which is used for communication."; "The interface which is used for communication.";
} }
uses common-attributes { uses common-attributes {
description description
"Common attributes like port, version, min and "Common attributes like port, version, min and
max poll."; max poll.";
} }
leaf reach { leaf reach {
type uint8; type uint8;
description description
"The reachability of the configured "The reachability of the configured
server or peer."; server or peer.";
reference reference
"RFC 5905: Network Time Protocol Version 4: Protocol and "RFC 5905: Network Time Protocol Version 4: Protocol and
Algorithms Specification"; Algorithms Specification";
} }
leaf unreach { leaf unreach {
type uint8; type uint8;
description description
"The unreachability of the configured "The unreachability of the configured
server or peer."; server or peer.";
reference reference
"RFC 5905: Network Time Protocol Version 4: Protocol and "RFC 5905: Network Time Protocol Version 4: Protocol and
Algorithms Specification"; Algorithms Specification";
} }
leaf poll { leaf poll {
type uint8; type uint8;
units seconds; units "seconds";
description description
"The polling interval for current association"; "The polling interval for current association";
reference reference
"RFC 5905: Network Time Protocol Version 4: Protocol and "RFC 5905: Network Time Protocol Version 4: Protocol and
Algorithms Specification"; Algorithms Specification";
} }
leaf now { leaf now {
type uint32; type uint32;
units seconds; units "seconds";
description description
"The time since the NTP packet was "The time since the NTP packet was
not received or last synchronized."; not received or last synchronized.";
reference reference
"RFC 5905: Network Time Protocol Version 4: Protocol and "RFC 5905: Network Time Protocol Version 4: Protocol and
Algorithms Specification"; Algorithms Specification";
} }
leaf offset { leaf offset {
type decimal64 { type decimal64 {
fraction-digits 3; fraction-digits 3;
} }
units milliseconds; units "milliseconds";
description description
"The offset between the local clock "The offset between the local clock
and the peer clock, e.g., '0.032' or '1.232'"; and the peer clock, e.g., '0.032' or '1.232'";
reference reference
"RFC 5905: Network Time Protocol Version 4: Protocol and "RFC 5905: Network Time Protocol Version 4: Protocol and
Algorithms Specification"; Algorithms Specification";
} }
leaf delay { leaf delay {
type decimal64 { type decimal64 {
fraction-digits 3; fraction-digits 3;
} }
units milliseconds; units "milliseconds";
description description
"The network delay between the local clock "The network delay between the local clock
and the peer clock."; and the peer clock.";
reference reference
"RFC 5905: Network Time Protocol Version 4: Protocol and "RFC 5905: Network Time Protocol Version 4: Protocol and
Algorithms Specification"; Algorithms Specification";
} }
leaf dispersion { leaf dispersion {
type decimal64 { type decimal64 {
fraction-digits 3; fraction-digits 3;
} }
units milliseconds; units "milliseconds";
description description
"The root dispersion between the local clock "The root dispersion between the local clock
and the peer clock."; and the peer clock.";
reference reference
"RFC 5905: Network Time Protocol Version 4: Protocol and "RFC 5905: Network Time Protocol Version 4: Protocol and
Algorithms Specification"; Algorithms Specification";
} }
leaf originate-time { leaf originate-time {
type yang:date-and-time; type yang:date-and-time;
description description
"This is the local time, in timestamp format, "This is the local time, in timestamp format,
when latest NTP packet was sent to peer(T1)."; when latest NTP packet was sent to peer(T1).";
reference reference
"RFC 5905: Network Time Protocol Version 4: Protocol and "RFC 5905: Network Time Protocol Version 4: Protocol and
Algorithms Specification"; Algorithms Specification";
} }
leaf receive-time { leaf receive-time {
type yang:date-and-time; type yang:date-and-time;
description description
"This is the local time, in timestamp format, "This is the local time, in timestamp format,
when latest NTP packet arrived at peer(T2). when latest NTP packet arrived at peer(T2).
If the peer becomes unreachable the value is set to zero."; If the peer becomes unreachable the value is set to zero.";
reference reference
"RFC 5905: Network Time Protocol Version 4: Protocol and "RFC 5905: Network Time Protocol Version 4: Protocol and
Algorithms Specification"; Algorithms Specification";
} }
leaf transmit-time { leaf transmit-time {
type yang:date-and-time; type yang:date-and-time;
description description
"This is the local time, in timestamp format, "This is the local time, in timestamp format,
at which the NTP packet departed the peer(T3). at which the NTP packet departed the peer(T3).
If the peer becomes unreachable the value is set to zero."; If the peer becomes unreachable the value is set to zero.";
reference reference
"RFC 5905: Network Time Protocol Version 4: Protocol and "RFC 5905: Network Time Protocol Version 4: Protocol and
Algorithms Specification"; Algorithms Specification";
} }
leaf input-time { leaf input-time {
type yang:date-and-time; type yang:date-and-time;
description description
"This is the local time, in timestamp format, "This is the local time, in timestamp format,
when the latest NTP message from the peer arrived(T4). when the latest NTP message from the peer arrived(T4).
If the peer becomes unreachable the value is set to zero."; If the peer becomes unreachable the value is set to zero.";
reference reference
"RFC 5905: Network Time Protocol Version 4: Protocol and "RFC 5905: Network Time Protocol Version 4: Protocol and
Algorithms Specification"; Algorithms Specification";
} }
container ntp-statistics { container ntp-statistics {
description description
"Per Peer packet send and receive statistics."; "Per Peer packet send and receive statistics.";
uses statistics { uses statistics {
description description
"NTP send and receive packet statistics."; "NTP send and receive packet statistics.";
} }
} }
} }
skipping to change at page 32, line 43 skipping to change at page 32, line 31
"Configuration parameters for NTP interfaces."; "Configuration parameters for NTP interfaces.";
list interface { list interface {
key "name"; key "name";
description description
"List of interfaces."; "List of interfaces.";
leaf name { leaf name {
type if:interface-ref; type if:interface-ref;
description description
"The interface name."; "The interface name.";
} }
container broadcast-server { container broadcast-server {
presence presence "NTP broadcast-server is configured";
"NTP broadcast-server is configured";
description description
"Configuration of broadcast server."; "Configuration of broadcast server.";
leaf ttl { leaf ttl {
type uint8; type uint8;
description description
"Specifies the time to live (TTL) for a "Specifies the time to live (TTL) for a
broadcast packet."; broadcast packet.";
} }
container authentication{ container authentication {
description description
"Authentication used for this association."; "Authentication used for this association.";
uses authentication; uses authentication;
} }
uses common-attributes { uses common-attributes {
description description
"Common attribute like port, version, min and "Common attribute like port, version, min and
max poll."; max poll.";
} }
reference reference
"RFC 5905: Network Time Protocol Version 4: Protocol and "RFC 5905: Network Time Protocol Version 4: Protocol and
Algorithms Specification"; Algorithms Specification";
} }
container broadcast-client { container broadcast-client {
presence presence "NTP broadcast-client is configured.";
"NTP broadcast-client is configured.";
description description
"Configuration of broadcast-client."; "Configuration of broadcast-client.";
reference reference
"RFC 5905: Network Time Protocol Version 4: Protocol and "RFC 5905: Network Time Protocol Version 4: Protocol and
Algorithms Specification"; Algorithms Specification";
} }
list multicast-server { list multicast-server {
key "address"; key "address";
description description
"Configuration of multicast server."; "Configuration of multicast server.";
leaf address { leaf address {
type rt-types:ip-multicast-group-address; type rt-types:ip-multicast-group-address;
description description
"The IP address to send NTP multicast packets."; "The IP address to send NTP multicast packets.";
} }
leaf ttl { leaf ttl {
skipping to change at page 33, line 45 skipping to change at page 33, line 28
"Configuration of multicast server."; "Configuration of multicast server.";
leaf address { leaf address {
type rt-types:ip-multicast-group-address; type rt-types:ip-multicast-group-address;
description description
"The IP address to send NTP multicast packets."; "The IP address to send NTP multicast packets.";
} }
leaf ttl { leaf ttl {
type uint8; type uint8;
description description
"Specifies the time to live (TTL) for a "Specifies the time to live (TTL) for a
multicast packet."; multicast packet.";
} }
container authentication{ container authentication {
description description
"Authentication used for this association."; "Authentication used for this association.";
uses authentication; uses authentication;
} }
uses common-attributes { uses common-attributes {
description description
"Common attributes like port, version, min and "Common attributes like port, version, min and
max poll."; max poll.";
} }
reference reference
"RFC 5905: Network Time Protocol Version 4: Protocol and "RFC 5905: Network Time Protocol Version 4: Protocol and
Algorithms Specification"; Algorithms Specification";
} }
list multicast-client { list multicast-client {
key "address"; key "address";
description description
"Configuration of multicast-client."; "Configuration of multicast-client.";
leaf address { leaf address {
type rt-types:ip-multicast-group-address; type rt-types:ip-multicast-group-address;
description description
"The IP address of the multicast group to "The IP address of the multicast group to
join."; join.";
} }
} }
list manycast-server { list manycast-server {
key "address"; key "address";
description description
"Configuration of manycast server."; "Configuration of manycast server.";
leaf address { leaf address {
type rt-types:ip-multicast-group-address; type rt-types:ip-multicast-group-address;
description description
"The multicast group IP address to receive "The multicast group IP address to receive
manycast client messages."; manycast client messages.";
} }
reference reference
"RFC 5905: Network Time Protocol Version 4: Protocol and "RFC 5905: Network Time Protocol Version 4: Protocol and
Algorithms Specification"; Algorithms Specification";
} }
list manycast-client { list manycast-client {
key "address"; key "address";
description description
"Configuration of manycast-client."; "Configuration of manycast-client.";
leaf address { leaf address {
type rt-types:ip-multicast-group-address; type rt-types:ip-multicast-group-address;
description description
"The group IP address that the manycast client "The group IP address that the manycast client
broadcasts the request message to."; broadcasts the request message to.";
} }
container authentication{ container authentication {
description description
"Authentication used for this association."; "Authentication used for this association.";
uses authentication; uses authentication;
} }
leaf ttl { leaf ttl {
type uint8; type uint8;
description description
"Specifies the maximum time to live (TTL) for "Specifies the maximum time to live (TTL) for
the expanding ring search."; the expanding ring search.";
} }
leaf minclock { leaf minclock {
type uint8; type uint8;
description description
"The minimum manycast survivors in this "The minimum manycast survivors in this
association."; association.";
} }
leaf maxclock { leaf maxclock {
type uint8; type uint8;
description description
"The maximum manycast candidates in this "The maximum manycast candidates in this
association."; association.";
} }
leaf beacon { leaf beacon {
type uint8; type uint8;
description description
"The maximum interval between beacons in this "The maximum interval between beacons in this
association."; association.";
} }
uses common-attributes { uses common-attributes {
description description
"Common attributes like port, version, min and "Common attributes like port, version, min and
max poll."; max poll.";
} }
reference reference
"RFC 5905: Network Time Protocol Version 4: Protocol and "RFC 5905: Network Time Protocol Version 4: Protocol and
Algorithms Specification"; Algorithms Specification";
} }
} }
} }
container ntp-statistics { container ntp-statistics {
config "false"; config false;
description description
"Total NTP packet statistics."; "Total NTP packet statistics.";
uses statistics { uses statistics {
description description
"NTP send and receive packet statistics."; "NTP send and receive packet statistics.";
} }
} }
} }
} }
<CODE ENDS> <CODE ENDS>
skipping to change at page 51, line 20 skipping to change at page 51, line 20
this needs to be curtailed. this needs to be curtailed.
/ntp/associations - The entries in the list includes all active /ntp/associations - The entries in the list includes all active
NTP associations of all modes. Unauthorized access to this also NTP associations of all modes. Unauthorized access to this also
needs to be curtailed. needs to be curtailed.
11. Acknowledgments 11. Acknowledgments
The authors would like to express their thanks to Sladjana Zoric, The authors would like to express their thanks to Sladjana Zoric,
Danny Mayer, Harlan Stenn, Ulrich Windl, Miroslav Lichvar, Maurice Danny Mayer, Harlan Stenn, Ulrich Windl, Miroslav Lichvar, Maurice
Angermann, and Watson Ladd for their review and suggestions. Angermann, Watson Ladd, and Rich Salz for their review and
suggestions.
12. References 12. References
12.1. Normative References 12.1. Normative References
[RFC1305] Mills, D., "Network Time Protocol (Version 3) [RFC1305] Mills, D., "Network Time Protocol (Version 3)
Specification, Implementation and Analysis", RFC 1305, Specification, Implementation and Analysis", RFC 1305,
DOI 10.17487/RFC1305, March 1992, DOI 10.17487/RFC1305, March 1992,
<https://www.rfc-editor.org/info/rfc1305>. <https://www.rfc-editor.org/info/rfc1305>.
 End of changes. 226 change blocks. 
305 lines changed or deleted 289 lines changed or added

This html diff was produced by rfcdiff 1.47. The latest version is available from http://tools.ietf.org/tools/rfcdiff/