draft-ietf-tictoc-1588v2-yang-03.txt   draft-ietf-tictoc-1588v2-yang-04.txt 
Internet Working Group Y. Jiang, Ed. Internet Working Group Y. Jiang, Ed.
X. Liu X. Liu
Internet-Draft J. Xu Internet-Draft J. Xu
Huawei Huawei
Intended status: Standards Track R. Cummings, Ed. Intended status: Standards Track R. Cummings, Ed.
National Instruments National Instruments
Expires: June 2017 December 5, 2016 Expires: August 2017 February 8, 2017
YANG Data Model for IEEE 1588v2 YANG Data Model for IEEE 1588v2
draft-ietf-tictoc-1588v2-yang-03 draft-ietf-tictoc-1588v2-yang-04
Abstract Abstract
This document defines a YANG data model for the configuration of This document defines a YANG data model for the configuration of
IEEE 1588-2008 devices and clocks, and also retrieval of the IEEE 1588-2008 devices and clocks, and also retrieval of the
configuration information, data set and running states of IEEE configuration information, data set and running states of IEEE
1588-2008 clocks. 1588-2008 clocks.
Status of this Memo Status of this Memo
skipping to change at page 1, line 42 skipping to change at page 1, line 42
documents at any time. It is inappropriate to use Internet-Drafts documents at any time. It is inappropriate to use Internet-Drafts
as reference material or to cite them other than as "work in as reference material or to cite them other than as "work in
progress." progress."
The list of current Internet-Drafts can be accessed at The list of current Internet-Drafts can be accessed at
http://www.ietf.org/ietf/1id-abstracts.txt http://www.ietf.org/ietf/1id-abstracts.txt
The list of Internet-Draft Shadow Directories can be accessed at The list of Internet-Draft Shadow Directories can be accessed at
http://www.ietf.org/shadow.html http://www.ietf.org/shadow.html
This Internet-Draft will expire on June 5, 2017. This Internet-Draft will expire on August 8, 2017.
Copyright Notice Copyright Notice
Copyright (c) 2016 IETF Trust and the persons identified as the Copyright (c) 2017 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
(http://trustee.ietf.org/license-info) in effect on the date of (http://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 carefully, as they describe your rights and restrictions with
respect to this document. Code Components extracted from this respect to this document. Code Components extracted from this
document must include Simplified BSD License text as described in document must include Simplified BSD License text as described in
Section 4.e of the Trust Legal Provisions and are provided without Section 4.e of the Trust Legal Provisions and are provided without
warranty as described in the Simplified BSD License. warranty as described in the Simplified BSD License.
Table of Contents Table of Contents
1. Introduction .............................................. 2 1. Introduction .............................................. 2
1.1. Conventions used in this document ...................... 4 1.1. Conventions used in this document ...................... 4
1.2. Terminology ............................................ 4 1.2. Terminology ............................................ 4
2. IEEE 1588-2008 YANG Model hierarchy ....................... 5 2. IEEE 1588-2008 YANG Model hierarchy ....................... 5
2.1. Interpretations from IEEE 1588 Working Group ........... 8 2.1. Interpretations from IEEE 1588 Working Group ........... 8
3. IEEE 1588-2008 YANG Module ................................ 9 3. IEEE 1588-2008 YANG Module ................................ 9
4. Security Considerations .................................. 21 4. Security Considerations .................................. 22
5. IANA Considerations ...................................... 22 5. IANA Considerations ...................................... 22
6. References ............................................... 22 6. References ............................................... 22
6.1. Normative References .................................. 22 6.1. Normative References .................................. 22
6.2. Informative References ................................ 22 6.2. Informative References ................................ 22
7. Acknowledgments .......................................... 23 7. Acknowledgments .......................................... 23
Appendix A Transferring YANG Work to IEEE 1588 WG (Informational) Appendix A Transferring YANG Work to IEEE 1588 WG (Informational)
............................................................... 23 .............................................................. 24
A.1. Assumptions for the Transfer .......................... 24 A.1. Assumptions for the Transfer .......................... 24
A.2. Intellectual Property Considerations .................. 25 A.2. Intellectual Property Considerations .................. 25
A.3. Namespace and Module Name ............................. 25 A.3. Namespace and Module Name ............................. 26
A.4. IEEE 1588 YANG Modules in ASCII Format ................ 26 A.4. IEEE 1588 YANG Modules in ASCII Format ................ 27
1. Introduction 1. Introduction
As a synchronization protocol, IEEE 1588-2008 (also known as IEEE As a synchronization protocol, IEEE 1588-2008 (also known as IEEE
1588v2) [IEEE1588] is widely supported in the carrier networks, 1588v2) [IEEE1588] is widely supported in the carrier networks,
industrial networks, automotive networks, and many other industrial networks, automotive networks, and many other
applications. It can provide high precision time synchronization as applications. It can provide high precision time synchronization as
fine as nano-seconds. The protocol depends on a Precision Time fine as nano-seconds. The protocol depends on a Precision Time
Protocol (PTP) engine to decide its own state automatically, and a Protocol (PTP) engine to decide its own state automatically, and a
PTP transportation layer to carry the PTP timing and various PTP transportation layer to carry the PTP timing and various
skipping to change at page 6, line 15 skipping to change at page 6, line 15
o Parentheses enclose choice and case nodes, and case nodes are o Parentheses enclose choice and case nodes, and case nodes are
also marked with a colon (":"). also marked with a colon (":").
o Ellipsis ("...") stands for contents of subtrees that are not o Ellipsis ("...") stands for contents of subtrees that are not
shown. shown.
o Arrow ("->") stands for a reference to a particular leaf o Arrow ("->") stands for a reference to a particular leaf
instance in the tree. instance in the tree.
module: ietf-ptp-dataset module: ietf-ptp-dataset
+--rw instance-list* [instance-number] +--rw instance-list* [instance-number]
| +--rw instance-number uint8 | +--rw instance-number uint16
| +--rw default-ds | +--rw default-ds
| | +--rw two-step-flag? boolean | | +--rw two-step-flag? boolean
| | +--rw clock-identity? binary | | +--rw clock-identity? clock-identity-type
| | +--rw number-ports? uint16 | | +--rw number-ports? uint16
| | +--rw clock-quality | | +--rw clock-quality
| | | +--rw clock-class? uint8 | | | +--rw clock-class? uint8
| | | +--rw clock-accuracy? uint8 | | | +--rw clock-accuracy? uint8
| | | +--rw offset-scaled-log-variance? uint16 | | | +--rw offset-scaled-log-variance? uint16
| | +--rw priority1? uint8 | | +--rw priority1? uint8
| | +--rw priority2? uint8 | | +--rw priority2? uint8
| | +--rw domain-number uint8 | | +--rw domain-number? uint8
| | +--rw slave-only? boolean | | +--rw slave-only? boolean
| +--rw current-ds | +--rw current-ds
| | +--rw steps-removed? uint16 | | +--rw steps-removed? uint16
| | +--rw offset-from-master? binary | | +--rw offset-from-master? time-interval-type
| | +--rw mean-path-delay? binary | | +--rw mean-path-delay? time-interval-type
| +--rw parent-ds | +--rw parent-ds
| | +--rw parent-port-identity | | +--rw parent-port-identity
| | | +--rw clock-identity? binary | | | +--rw clock-identity? clock-identity-type
| | | +--rw port-number? uint16 | | | +--rw port-number? uint16
| | +--rw parent-stats? boolean | | +--rw parent-stats? boolean
| | +--rw observed-parent-offset-scaled-log-variance? uint16 | | +--rw observed-parent-offset-scaled-log-variance? uint16
| | +--rw observed-parent-clock-phase-change-rate? int32 | | +--rw observed-parent-clock-phase-change-rate? int32
| | +--rw grandmaster-identity? binary | | +--rw grandmaster-identity? binary
| | +--rw grandmaster-clock-quality | | +--rw grandmaster-clock-quality
| | | +--rw grandmaster-clock-class? uint8 | | | +--rw clock-class? uint8
| | | +--rw grandmaster-clock-accuracy? uint8 | | | +--rw clock-accuracy? uint8
| | | +--rw grandmaster-offset-scaled-log-variance? uint16 | | | +--rw offset-scaled-log-variance? uint16
| | +--rw grandmaster-priority1? uint8 | | +--rw grandmaster-priority1? uint8
| | +--rw grandmaster-priority2? uint8 | | +--rw grandmaster-priority2? uint8
| +--rw time-properties-ds | +--rw time-properties-ds
| | +--rw current-utc-offset-valid? boolean | | +--rw current-utc-offset-valid? boolean
| | +--rw current-utc-offset? uint16 | | +--rw current-utc-offset? int16
| | +--rw leap59? boolean | | +--rw leap59? boolean
| | +--rw leap61? boolean | | +--rw leap61? boolean
| | +--rw time-traceable? boolean | | +--rw time-traceable? boolean
| | +--rw frequency-traceable? boolean | | +--rw frequency-traceable? boolean
| | +--rw ptp-timescale? boolean | | +--rw ptp-timescale? boolean
| | +--rw time-source? uint8 | | +--rw time-source? uint8
| +--rw port-ds-list* [port-number] | +--rw port-ds-list* [port-number]
| +--rw port-number -> ../port-identity/port-number | +--rw port-number -> ../port-identity/port-number
| +--rw port-identity | +--rw port-identity
| | +--rw clock-identity? binary | | +--rw clock-identity? clock-identity-type
| | +--rw port-number? uint16 | | +--rw port-number? uint16
| +--rw port-state? uint8 | +--rw port-state? port-state-enumeration
| +--rw log-min-delay-req-interval? int8 | +--rw log-min-delay-req-interval? int8
| +--rw peer-mean-path-delay? int64 | +--rw peer-mean-path-delay? time-interval-type
| +--rw log-announce-interval? int8 | +--rw log-announce-interval? int8
| +--rw announce-receipt-timeout? uint8 | +--rw announce-receipt-timeout? uint8
| +--rw log-sync-interval? int8 | +--rw log-sync-interval? int8
| +--rw delay-mechanism? enumeration | +--rw delay-mechanism? delay-mechanism-enumeration
| +--rw log-min-pdelay-req-interval? int8 | +--rw log-min-pdelay-req-interval? int8
| +--rw version-number? uint8 | +--rw version-number? uint8
+--rw transparent-clock-default-ds +--rw transparent-clock-default-ds
| +--rw clock-identity? binary | +--rw clock-identity? clock-identity-type
| +--rw number-ports? uint16 | +--rw number-ports? uint16
| +--rw delay-mechanism? enumeration | +--rw delay-mechanism? delay-mechanism-enumeration
| +--rw primary-domain? uint8 | +--rw primary-domain? uint8
+--rw transparent-clock-port-ds-list* [port-number] +--rw transparent-clock-port-ds-list* [port-number]
+--rw port-number -> ../port-identity/port-number +--rw port-number -> ../port-identity/port-number
+--rw port-identity +--rw port-identity
| +--rw clock-identity? binary | +--rw clock-identity? clock-identity-type
| +--rw port-number? uint16 | +--rw port-number? uint16
+--rw log-min-pdelay-req-interval? int8 +--rw log-min-pdelay-req-interval? int8
+--rw faulty-flag? boolean +--rw faulty-flag? boolean
+--rw peer-mean-path-delay? int64 +--rw peer-mean-path-delay? time-interval-type
2.1. Interpretations from IEEE 1588 Working Group 2.1. Interpretations from IEEE 1588 Working Group
The preceding model and the associated YANG module have some subtle The preceding model and the associated YANG module have some subtle
differences from the data set specifications of IEEE Std 1588-2008. differences from the data set specifications of IEEE Std 1588-2008.
These differences are based on interpretation from the IEEE 1588 These differences are based on interpretation from the IEEE 1588
Working Group, and are intended to provide compatibility with Working Group, and are intended to provide compatibility with
future revisions of the IEEE 1588 standard. future revisions of the IEEE 1588 standard.
In IEEE Std 1588-2008, a physical product can implement multiple In IEEE Std 1588-2008, a physical product can implement multiple
skipping to change at page 9, line 7 skipping to change at page 9, line 7
The instance number has no usage within PTP messages. The instance number has no usage within PTP messages.
Based on statements in IEEE 1588-2008 subclauses 8.3.1. and 10.1, Based on statements in IEEE 1588-2008 subclauses 8.3.1. and 10.1,
most transparent clock products have interpreted the transparent most transparent clock products have interpreted the transparent
clock data sets to reside as a singleton at the root level of the clock data sets to reside as a singleton at the root level of the
managed product. Since 1588-2008 transparent clocks are domain managed product. Since 1588-2008 transparent clocks are domain
independent, the instance concept is not applicable for domains. independent, the instance concept is not applicable for domains.
3. IEEE 1588-2008 YANG Module 3. IEEE 1588-2008 YANG Module
<CODE BEGINS> file "ietf-ptp-dataset@2016-12-05.yang" <CODE BEGINS> file "ietf-ptp-dataset@2017-02-08.yang"
module ietf-ptp-dataset{ module ietf-ptp-dataset{
namespace "urn:ietf:params:xml:ns:yang:ietf-ptp-dataset"; namespace "urn:ietf:params:xml:ns:yang:ietf-ptp-dataset";
prefix "ptp-dataset"; prefix "ptp-dataset";
organization "IETF TICTOC Working Group"; organization "IETF TICTOC Working Group";
contact contact
"WG Web: http://tools.ietf.org/wg/tictoc/ "WG Web: http://tools.ietf.org/wg/tictoc/
WG List: <mailto:tictoc@ietf.org> WG List: <mailto:tictoc@ietf.org>
WG Chair: Karen O'Donoghue WG Chair: Karen O'Donoghue
<mailto:odonoghue@isoc.org> <mailto:odonoghue@isoc.org>
skipping to change at page 9, line 29 skipping to change at page 9, line 29
<mailto: Yaakov_s@rad.com> <mailto: Yaakov_s@rad.com>
Editor: Yuanlong Jiang Editor: Yuanlong Jiang
<mailto:jiangyuanlong@huawei.com> <mailto:jiangyuanlong@huawei.com>
Editor: Rodney Cummings Editor: Rodney Cummings
<mailto:rodney.cummings@ni.com>"; <mailto:rodney.cummings@ni.com>";
description description
"This YANG module defines a data model for the configuration "This YANG module defines a data model for the configuration
of IEEE 1588-2008 clocks, and also for retrieval of the state of IEEE 1588-2008 clocks, and also for retrieval of the state
data of IEEE 1588-2008 clocks."; data of IEEE 1588-2008 clocks.";
revision "2016-12-05" { revision "2017-02-08" {
description "Version 3.0"; description "Version 4.0";
reference "draft-ietf-tictoc-1588v2-yang"; reference "draft-ietf-tictoc-1588v2-yang";
} }
typedef delay-mechanism-enumeration {
type enumeration {
enum E2E {
value 1;
description
"The port uses the delay request-response
mechanism.";
}
enum P2P {
value 2;
description
"The port uses the peer delay mechanism.";
}
enum DISABLED {
value 254;
description
"The port does not implement any delay
mechanism.";
}
}
description
"The propagation delay measuring option used by the
port. Values for this enumeration are specified
by the IEEE 1588 standard exclusively.";
reference
"IEEE Std 1588-2008: 8.2.5.4.4";
}
typedef port-state-enumeration {
type enumeration {
enum INITIALIZING {
value 1;
description
"The port is initializing its data sets, hardware, and
communication facilities.";
}
enum FAULTY {
value 2;
description
"The port is in the fault state.";
}
enum DISABLED {
value 3;
description
"The port is disabled, and is not communicating PTP
messages (other than possibly PTP management
messages).";
}
enum LISTENING {
value 4;
description
"The port is listening for an Announce message.";
}
enum PRE_MASTER {
value 5;
description
"The port is in the pre-master state.";
}
enum MASTER {
value 6;
description
"The port is behaving as a master port.";
}
enum PASSIVE {
value 7;
description
"The port is in the passive state.";
}
enum UNCALIBRATED {
value 8;
description
"A master port has been selected, but the port is still
in the uncalibrated state.";
}
enum SLAVE {
value 9;
description
"The port is synchronizing to the selected
master port.";
}
}
description
"The current state of the protocol engine associated
with the port. Values for this enumeration are specified
by the IEEE 1588 standard exclusively.";
reference
"IEEE Std 1588-2008: 8.2.5.3.1, 9.2.5";
}
typedef time-interval-type {
type int64;
description
"Derived data type for time interval,
represented in units of nanoseconds and
multipled by 2^16";
reference
"IEEE Std 1588-2008: 5.3.2";
}
typedef clock-identity-type {
type binary {
length "8";
}
description
"Derived data type to identify a clock";
reference
"IEEE Std 1588-2008: 5.3.4";
}
grouping port-identity-grouping {
description
"Derived data type to identify a port, which contains
two members: clockIdentity and portNumber.";
reference
"IEEE Std 1588-2008: 5.3.5";
leaf clock-identity {
type clock-identity-type;
description
"Identity of the clock";
}
leaf port-number {
type uint16;
description
"Port number";
}
}
grouping clock-quality-grouping {
description
"Derived data type for quality of a clock, which contains
clockClass, clockAccuracy and offsetScaledLogVariance.";
reference
"IEEE Std 1588-2008: 5.3.7";
leaf clock-class {
type uint8;
default 248;
description
"The clockClass denotes the traceability of the time
or frequency distributed by the clock.";
}
leaf clock-accuracy {
type uint8;
description
"The clockAccuracy indicates the expected accuracy
of the clock.";
}
leaf offset-scaled-log-variance {
type uint16;
description
"The offsetScaledLogVariance provides an
estimate of the variations of the clock
from a linear timescale when it is not synchronized
to another clock using the protocol.";
}
}
grouping default-ds-entry { grouping default-ds-entry {
description description
"Collection of members of the default data set."; "Collection of members of the default data set.";
leaf two-step-flag { leaf two-step-flag {
type boolean; type boolean;
description description
"When set, the clock is a two-step clock; otherwise, "When set, the clock is a two-step clock; otherwise,
the clock is a one-step clock."; the clock is a one-step clock.";
} }
skipping to change at page 9, line 44 skipping to change at page 13, line 17
grouping default-ds-entry { grouping default-ds-entry {
description description
"Collection of members of the default data set."; "Collection of members of the default data set.";
leaf two-step-flag { leaf two-step-flag {
type boolean; type boolean;
description description
"When set, the clock is a two-step clock; otherwise, "When set, the clock is a two-step clock; otherwise,
the clock is a one-step clock."; the clock is a one-step clock.";
} }
leaf clock-identity { leaf clock-identity {
type binary { type clock-identity-type;
length "8";
}
description description
"The clockIdentity of the local clock"; "The clockIdentity of the local clock";
} }
leaf number-ports { leaf number-ports {
type uint16; type uint16;
description description
"The number of PTP ports on the device."; "The number of PTP ports on the device.";
} }
container clock-quality { container clock-quality {
description description
"The clockQuality of the local clock. It contains "The clockQuality of the local clock.";
clockClass, clockAccuracy and offsetScaledLogVariance.";
leaf clock-class { uses clock-quality-grouping;
type uint8;
default 248;
description
"The clockClass denotes the traceability of the time
or frequency distributed by the grandmaster clock.";
}
leaf clock-accuracy {
type uint8;
description
"The clockAccuracy indicates the expected accuracy
of a clock when it is the grandmaster.";
}
leaf offset-scaled-log-variance {
type uint16;
description
"An estimate of the variations of the local clock
from a linear timescale when it is not synchronized
to another clock using the protocol.";
}
} }
leaf priority1 { leaf priority1 {
type uint8; type uint8;
description description
"The priority1 attribute of the local clock."; "The priority1 attribute of the local clock.";
} }
leaf priority2{ leaf priority2{
type uint8; type uint8;
description description
"The priority2 attribute of the local clock. "; "The priority2 attribute of the local clock. ";
} }
leaf domain-number { leaf domain-number {
type uint8; type uint8;
description description
"The domain number of the current syntonization "The domain number of the current syntonization
skipping to change at page 11, line 25 skipping to change at page 14, line 25
grouping current-ds-entry { grouping current-ds-entry {
description description
"Collection of members of current data set."; "Collection of members of current data set.";
leaf steps-removed { leaf steps-removed {
type uint16; type uint16;
default 0; default 0;
description description
"The number of communication paths traversed "The number of communication paths traversed
between the local clock and the grandmaster clock."; between the local clock and the grandmaster clock.";
} }
leaf offset-from-master { leaf offset-from-master {
type binary { type time-interval-type;
length "1..255";
}
description description
"An implementation-specific representation of the "The current value of the time difference between
current value of the time difference between a master a master and a slave clock as computed by the slave.";
and a slave clock as computed by the slave.";
} }
leaf mean-path-delay { leaf mean-path-delay {
type binary { type time-interval-type;
length "1..255";
}
description description
"An implementation-specific representation of the "The current value of the mean propagation time between
current value of the mean propagation time between a a master and a slave clock as computed by the slave.";
master and a slave clock as computed by the slave.";
} }
} }
grouping parent-ds-entry { grouping parent-ds-entry {
description description
"Collection of members of the parent data set."; "Collection of members of the parent data set.";
container parent-port-identity { container parent-port-identity {
description description
"The portIdentity of the port on the master, which "The portIdentity of the port on the master";
contains two members: clockIdentity and portNumber."; uses port-identity-grouping;
leaf clock-identity {
type binary {
length "8";
}
description
"The clockIdentity of the master clock.";
}
leaf port-number {
type uint16;
description
"The portNumber for the port on the specific
master.";
}
} }
leaf parent-stats { leaf parent-stats {
type boolean; type boolean;
default false; default false;
description description
"When set, the values of "When set, the values of
observedParentOffsetScaledLogVariance and observedParentOffsetScaledLogVariance and
observedParentClockPhaseChangeRate of parentDS observedParentClockPhaseChangeRate of parentDS
have been measured and are valid."; have been measured and are valid.";
} }
skipping to change at page 13, line 4 skipping to change at page 15, line 30
leaf observed-parent-clock-phase-change-rate { leaf observed-parent-clock-phase-change-rate {
type int32; type int32;
description description
"An estimate of the parent clock's phase change rate "An estimate of the parent clock's phase change rate
as observed by the slave clock."; as observed by the slave clock.";
} }
leaf grandmaster-identity { leaf grandmaster-identity {
type binary{ type binary{
length "8"; length "8";
} }
description description
"The clockIdentity attribute of the grandmaster clock."; "The clockIdentity attribute of the grandmaster clock.";
} }
container grandmaster-clock-quality { container grandmaster-clock-quality {
description description
"The clockQuality of the grandmaster clock. It contains "The clockQuality of the grandmaster clock.";
clockClass, clockAccuracy and offsetScaledLogVariance."; uses clock-quality-grouping;
leaf grandmaster-clock-class {
type uint8;
default 248;
description
"The clockClass attribute of the grandmaster clock.";
}
leaf grandmaster-clock-accuracy {
type uint8;
description
"The clockAccuracy attribute of the grandmaster
clock.";
}
leaf grandmaster-offset-scaled-log-variance {
type uint16;
description
"The offsetScaledLogVariance of the grandmaster
clock.";
}
} }
leaf grandmaster-priority1 { leaf grandmaster-priority1 {
type uint8; type uint8;
description description
"The priority1 attribute of the grandmaster clock."; "The priority1 attribute of the grandmaster clock.";
} }
leaf grandmaster-priority2 { leaf grandmaster-priority2 {
type uint8; type uint8;
description description
"The priority2 attribute of the grandmaster clock."; "The priority2 attribute of the grandmaster clock.";
} }
} }
grouping time-properties-ds-entry { grouping time-properties-ds-entry {
description description
"Collection of members of the timeProperties data set."; "Collection of members of the timeProperties data set.";
leaf current-utc-offset-valid { leaf current-utc-offset-valid {
type boolean; type boolean;
description description
"When set, the current UTC offset is valid."; "When set, the current UTC offset is valid.";
} }
leaf current-utc-offset { leaf current-utc-offset {
type uint16; type int16;
description description
"The offset between TAI and UTC when the epoch of the "The offset between TAI and UTC when the epoch of the
PTP system is the PTP epoch, otherwise the value has PTP system is the PTP epoch, i.e., when ptp-timescale
no meaning."; is TRUE; otherwise, the value has no meaning.";
} }
leaf leap59 { leaf leap59 {
type boolean; type boolean;
description description
"When set, the last minute of the current UTC day "When set, the last minute of the current UTC day
contains 59 seconds."; contains 59 seconds.";
} }
leaf leap61 { leaf leap61 {
type boolean; type boolean;
description description
skipping to change at page 14, line 45 skipping to change at page 16, line 50
leaf frequency-traceable { leaf frequency-traceable {
type boolean; type boolean;
description description
"When set, the frequency determining the timescale "When set, the frequency determining the timescale
is traceable to a primary reference."; is traceable to a primary reference.";
} }
leaf ptp-timescale { leaf ptp-timescale {
type boolean; type boolean;
description description
"When set, the clock timescale of the grandmaster "When set, the clock timescale of the grandmaster
clock is PTP; otherwise the timescale is ARB clock is PTP; otherwise, the timescale is ARB
(arbitrary)."; (arbitrary).";
} }
leaf time-source { leaf time-source {
type uint8; type uint8;
description description
"The source of time used by the grandmaster clock."; "The source of time used by the grandmaster clock.";
} }
} }
grouping port-ds-entry { grouping port-ds-entry {
skipping to change at page 15, line 15 skipping to change at page 17, line 20
} }
} }
grouping port-ds-entry { grouping port-ds-entry {
description description
"Collection of members of the port data set."; "Collection of members of the port data set.";
container port-identity { container port-identity {
description description
"The PortIdentity attribute of the local port. "The portIdentity attribute of the local port.";
It contains two members: clockIdentity and uses port-identity-grouping;
portNumber.";
leaf clock-identity {
type binary {
length "8";
}
description
"The clockIdentity of the local clock.";
}
leaf port-number {
type uint16;
description
"The portNumber for a port on the local clock.";
}
} }
leaf port-state { leaf port-state {
type uint8; type port-state-enumeration;
default 1; default "INITIALIZING";
description description
"Current state associated with the port."; "Current state associated with the port.";
} }
leaf log-min-delay-req-interval { leaf log-min-delay-req-interval {
type int8; type int8;
description description
"The base-two logarithm of the minDelayReqInterval "The base-two logarithm of the minDelayReqInterval
(the minimum permitted mean time interval between (the minimum permitted mean time interval between
successive Delay_Req messages)."; successive Delay_Req messages).";
} }
leaf peer-mean-path-delay { leaf peer-mean-path-delay {
type int64; type time-interval-type;
default 0; default 0;
description description
"An estimate of the current one-way propagation delay "An estimate of the current one-way propagation delay
on the link when the delayMechanism is P2P, otherwise on the link when the delayMechanism is P2P; otherwise,
it is zero."; it is zero.";
} }
leaf log-announce-interval { leaf log-announce-interval {
type int8; type int8;
description description
"The base-two logarithm of the mean "The base-two logarithm of the mean
announceInterval (mean time interval between announceInterval (mean time interval between
successive Announce messages)."; successive Announce messages).";
} }
skipping to change at page 16, line 39 skipping to change at page 18, line 27
leaf log-sync-interval { leaf log-sync-interval {
type int8; type int8;
description description
"The base-two logarithm of the mean SyncInterval "The base-two logarithm of the mean SyncInterval
for multicast messages. The rates for unicast for multicast messages. The rates for unicast
transmissions are negotiated separately on a per port transmissions are negotiated separately on a per port
basis and are not constrained by this attribute."; basis and are not constrained by this attribute.";
} }
leaf delay-mechanism { leaf delay-mechanism {
type enumeration { type delay-mechanism-enumeration;
enum E2E {
value 1;
description
"The port uses the delay request-response
mechanism.";
}
enum P2P {
value 2;
description
"The port uses the peer delay mechanism.";
}
enum DISABLED {
value 254;
description
"The port does not implement any delay
mechanism.";
}
}
description description
"The propagation delay measuring option used by the "The propagation delay measuring option used by the
port in computing meanPathDelay."; port in computing meanPathDelay.";
} }
leaf log-min-pdelay-req-interval { leaf log-min-pdelay-req-interval {
type int8; type int8;
description description
"The base-two logarithm of the "The base-two logarithm of the
minPdelayReqInterval (minimum permitted mean time minPdelayReqInterval (minimum permitted mean time
skipping to change at page 17, line 38 skipping to change at page 19, line 8
"The PTP version in use on the port."; "The PTP version in use on the port.";
} }
} }
grouping transparent-clock-default-ds-entry { grouping transparent-clock-default-ds-entry {
description description
"Collection of members of the transparentClockDefault data "Collection of members of the transparentClockDefault data
set (default data set for a transparent clock)."; set (default data set for a transparent clock).";
leaf clock-identity { leaf clock-identity {
type binary { type clock-identity-type;
length "8";
}
description description
"The clockIdentity of the transparent clock."; "The clockIdentity of the transparent clock.";
} }
leaf number-ports { leaf number-ports {
type uint16; type uint16;
description description
"The number of PTP ports on the device."; "The number of PTP ports on the device.";
} }
leaf delay-mechanism { leaf delay-mechanism {
type enumeration { type delay-mechanism-enumeration;
enum E2E {
value 1;
description
"The port uses the delay request-response
mechanism.";
}
enum P2P {
value 2;
description
"The port uses the peer delay mechanism.";
}
enum DISABLED {
value 254;
description
"The port does not implement any delay
mechanism.";
}
}
description description
"The propagation delay measuring option "The propagation delay measuring option
used by the transparent clock."; used by the transparent clock.";
} }
leaf primary-domain { leaf primary-domain {
type uint8; type uint8;
default 0; default 0;
description description
"The domainNumber of the primary syntonization domain."; "The domainNumber of the primary syntonization domain.";
} }
} }
grouping transparent-clock-port-ds-entry { grouping transparent-clock-port-ds-entry {
description description
"Collection of members of the transparentClockPort data "Collection of members of the transparentClockPort data
set (port data set for a transparent clock)."; set (port data set for a transparent clock).";
container port-identity { container port-identity {
description description
"This object specifies the portIdentity of the local "The portIdentity of the local port.";
port.";
leaf clock-identity {
type binary {
length "8";
}
description
"The clockIdentity of the transparent clock.";
}
leaf port-number { uses port-identity-grouping;
type uint16;
description
"The portNumber for a port on the transparent
clock.";
}
} }
leaf log-min-pdelay-req-interval { leaf log-min-pdelay-req-interval {
type int8; type int8;
description description
"The logarithm to the base 2 of the "The logarithm to the base 2 of the
minPdelayReqInterval (minimum permitted mean time minPdelayReqInterval (minimum permitted mean time
interval between successive Pdelay_Req messages)."; interval between successive Pdelay_Req messages).";
} }
leaf faulty-flag { leaf faulty-flag {
type boolean; type boolean;
default false; default false;
description description
" When set, the port is faulty."; "When set, the port is faulty.";
} }
leaf peer-mean-path-delay { leaf peer-mean-path-delay {
type int64; type time-interval-type;
default 0; default 0;
description description
"An estimate of the current one-way propagation delay "An estimate of the current one-way propagation delay
on the link when the delayMechanism is P2P, otherwise on the link when the delayMechanism is P2P; otherwise,
it is zero."; it is zero.";
} }
} }
list instance-list { list instance-list {
key "instance-number"; key "instance-number";
description description
"List of one or more PTP datasets in the device, "List of one or more PTP datasets in the device, one for
one for each domain-number (see IEEE 1588-2008 subclause each domain (see IEEE 1588-2008 subclause 6.3).
6.3)"; Each PTP dataset represents a distinct instance of
PTP implementation in the device (i.e. distinct
Ordinary Clock or Boundary Clock).";
leaf instance-number { leaf instance-number {
type uint8; type uint16;
description description
"The instance number of the current PTP instance"; "The instance number of the current PTP instance";
} }
container default-ds { container default-ds {
description description
"The default data set of the clock."; "The default data set of the clock.";
uses default-ds-entry; uses default-ds-entry;
} }
container current-ds { container current-ds {
skipping to change at page 23, line 21 skipping to change at page 23, line 34
[RFC6242] Wasserman, M., "Using the NETCONF Protocol over Secure [RFC6242] Wasserman, M., "Using the NETCONF Protocol over Secure
Shell (SSH)", RFC 6242, June 2011 Shell (SSH)", RFC 6242, June 2011
[RFC6536] Bierman, A. and M. Bjorklund, "Network Configuration [RFC6536] Bierman, A. and M. Bjorklund, "Network Configuration
Protocol (NETCONF) Access Control Model", RFC 6536, March Protocol (NETCONF) Access Control Model", RFC 6536, March
2012 2012
7. Acknowledgments 7. Acknowledgments
The authors would like to thank Joe Gwinn, Mahesh Jethanandani and The authors would like to thank Joe Gwinn, Mahesh Jethanandani, Tal
Tal Mizrahi for their valuable reviews and suggestions, and thank Mizrahi, Opher Ronen and Liang Geng for their valuable reviews and
Benoit Claise and Radek Krejci for their validation of the YANG suggestions, and thank Benoit Claise and Radek Krejci for their
module. validation of the YANG module.
Appendix A Transferring YANG Work to IEEE 1588 WG (Informational) Appendix A Transferring YANG Work to IEEE 1588 WG (Informational)
This appendix describes a future plan to transition responsibility This appendix describes a future plan to transition responsibility
for IEEE 1588 YANG modules from the IETF TICTOC Working Group (WG) for IEEE 1588 YANG modules from the IETF TICTOC Working Group (WG)
to the IEEE 1588 WG, which develops the time synchronization to the IEEE 1588 WG, which develops the time synchronization
technology that the YANG modules are designed to manage. technology that the YANG modules are designed to manage.
This appendix is forward-looking with regard to future This appendix is forward-looking with regard to future
standardization roadmaps in IETF and IEEE. Since those roadmaps standardization roadmaps in IETF and IEEE. Since those roadmaps
 End of changes. 48 change blocks. 
254 lines changed or deleted 289 lines changed or added

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