summaryrefslogtreecommitdiffstats
path: root/sdnr/model/yang/ietf-ptp-dataset@2017-02-08.yang
diff options
context:
space:
mode:
Diffstat (limited to 'sdnr/model/yang/ietf-ptp-dataset@2017-02-08.yang')
-rw-r--r--sdnr/model/yang/ietf-ptp-dataset@2017-02-08.yang605
1 files changed, 605 insertions, 0 deletions
diff --git a/sdnr/model/yang/ietf-ptp-dataset@2017-02-08.yang b/sdnr/model/yang/ietf-ptp-dataset@2017-02-08.yang
new file mode 100644
index 00000000..d899e569
--- /dev/null
+++ b/sdnr/model/yang/ietf-ptp-dataset@2017-02-08.yang
@@ -0,0 +1,605 @@
+ module ietf-ptp-dataset{
+ namespace "urn:ietf:params:xml:ns:yang:ietf-ptp-dataset";
+ prefix "ptp-dataset";
+ organization "IETF TICTOC Working Group";
+ contact
+ "WG Web: http://tools.ietf.org/wg/tictoc/
+ WG List: <mailto:tictoc@ietf.org>
+ WG Chair: Karen O'Donoghue
+ <mailto:odonoghue@isoc.org>
+ WG Chair: Yaakov Stein
+ <mailto: Yaakov_s@rad.com>
+ Editor: Yuanlong Jiang
+ <mailto:jiangyuanlong@huawei.com>
+ Editor: Rodney Cummings
+ <mailto:rodney.cummings@ni.com>";
+ description
+ "This YANG module defines a data model for the configuration
+ of IEEE 1588-2008 clocks, and also for retrieval of the state
+ data of IEEE 1588-2008 clocks.";
+
+ revision "2017-02-08" {
+ description "Version 4.0";
+ 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 {
+ description
+ "Collection of members of the default data set.";
+
+ leaf two-step-flag {
+ type boolean;
+ description
+ "When set, the clock is a two-step clock; otherwise,
+ the clock is a one-step clock.";
+ }
+
+ leaf clock-identity {
+ type clock-identity-type;
+ description
+ "The clockIdentity of the local clock";
+ }
+
+ leaf number-ports {
+ type uint16;
+ description
+ "The number of PTP ports on the device.";
+ }
+
+ container clock-quality {
+ description
+ "The clockQuality of the local clock.";
+
+ uses clock-quality-grouping;
+ }
+
+ leaf priority1 {
+ type uint8;
+ description
+ "The priority1 attribute of the local clock.";
+ }
+
+ leaf priority2{
+ type uint8;
+ description
+ "The priority2 attribute of the local clock. ";
+ }
+
+ leaf domain-number {
+ type uint8;
+ description
+ "The domain number of the current syntonization
+ domain.";
+ }
+
+ leaf slave-only {
+ type boolean;
+ description
+ "When set, the clock is a slave-only clock.";
+ }
+ }
+
+ grouping current-ds-entry {
+ description
+ "Collection of members of current data set.";
+
+ leaf steps-removed {
+ type uint16;
+ default 0;
+ description
+ "The number of communication paths traversed
+ between the local clock and the grandmaster clock.";
+ }
+ leaf offset-from-master {
+ type time-interval-type;
+ description
+ "The current value of the time difference between
+ a master and a slave clock as computed by the slave.";
+ }
+
+ leaf mean-path-delay {
+ type time-interval-type;
+ description
+ "The current value of the mean propagation time between
+ a master and a slave clock as computed by the slave.";
+
+ }
+ }
+
+ grouping parent-ds-entry {
+ description
+ "Collection of members of the parent data set.";
+
+ container parent-port-identity {
+ description
+ "The portIdentity of the port on the master";
+ uses port-identity-grouping;
+ }
+ leaf parent-stats {
+ type boolean;
+ default false;
+ description
+ "When set, the values of
+ observedParentOffsetScaledLogVariance and
+ observedParentClockPhaseChangeRate of parentDS
+ have been measured and are valid.";
+ }
+ leaf observed-parent-offset-scaled-log-variance {
+ type uint16;
+ default 0xFFFF;
+ description
+ "An estimate of the parent clock's PTP variance
+ as observed by the slave clock.";
+ }
+ leaf observed-parent-clock-phase-change-rate {
+ type int32;
+ description
+ "An estimate of the parent clock's phase change rate
+ as observed by the slave clock.";
+ }
+ leaf grandmaster-identity {
+ type binary{
+ length "8";
+ }
+
+ description
+ "The clockIdentity attribute of the grandmaster clock.";
+
+ }
+ container grandmaster-clock-quality {
+ description
+ "The clockQuality of the grandmaster clock.";
+ uses clock-quality-grouping;
+ }
+ leaf grandmaster-priority1 {
+ type uint8;
+ description
+ "The priority1 attribute of the grandmaster clock.";
+ }
+ leaf grandmaster-priority2 {
+ type uint8;
+ description
+ "The priority2 attribute of the grandmaster clock.";
+ }
+ }
+
+ grouping time-properties-ds-entry {
+ description
+ "Collection of members of the timeProperties data set.";
+ leaf current-utc-offset-valid {
+ type boolean;
+ description
+ "When set, the current UTC offset is valid.";
+ }
+ leaf current-utc-offset {
+ type int16;
+ description
+ "The offset between TAI and UTC when the epoch of the
+ PTP system is the PTP epoch, i.e., when ptp-timescale
+ is TRUE; otherwise, the value has no meaning.";
+ }
+ leaf leap59 {
+ type boolean;
+ description
+ "When set, the last minute of the current UTC day
+ contains 59 seconds.";
+ }
+ leaf leap61 {
+ type boolean;
+ description
+ "When set, the last minute of the current UTC day
+ contains 61 seconds.";
+ }
+ leaf time-traceable {
+ type boolean;
+ description
+ "When set, the timescale and the currentUtcOffset are
+ traceable to a primary reference.";
+ }
+ leaf frequency-traceable {
+ type boolean;
+ description
+ "When set, the frequency determining the timescale
+ is traceable to a primary reference.";
+ }
+ leaf ptp-timescale {
+ type boolean;
+ description
+ "When set, the clock timescale of the grandmaster
+ clock is PTP; otherwise, the timescale is ARB
+ (arbitrary).";
+ }
+ leaf time-source {
+ type uint8;
+ description
+ "The source of time used by the grandmaster clock.";
+
+ }
+ }
+
+ grouping port-ds-entry {
+ description
+ "Collection of members of the port data set.";
+
+ container port-identity {
+ description
+ "The portIdentity attribute of the local port.";
+ uses port-identity-grouping;
+ }
+
+ leaf port-state {
+ type port-state-enumeration;
+ default "INITIALIZING";
+ description
+ "Current state associated with the port.";
+ }
+
+ leaf log-min-delay-req-interval {
+ type int8;
+ description
+ "The base-two logarithm of the minDelayReqInterval
+ (the minimum permitted mean time interval between
+ successive Delay_Req messages).";
+ }
+
+ leaf peer-mean-path-delay {
+ type time-interval-type;
+ default 0;
+ description
+ "An estimate of the current one-way propagation delay
+ on the link when the delayMechanism is P2P; otherwise,
+ it is zero.";
+ }
+
+ leaf log-announce-interval {
+ type int8;
+ description
+ "The base-two logarithm of the mean
+ announceInterval (mean time interval between
+ successive Announce messages).";
+ }
+
+ leaf announce-receipt-timeout {
+ type uint8;
+ description
+ "The number of announceInterval that have to pass
+ without receipt of an Announce message before the
+ occurrence of the event ANNOUNCE_RECEIPT_TIMEOUT_
+ EXPIRES.";
+ }
+
+ leaf log-sync-interval {
+ type int8;
+ description
+ "The base-two logarithm of the mean SyncInterval
+ for multicast messages. The rates for unicast
+ transmissions are negotiated separately on a per port
+ basis and are not constrained by this attribute.";
+ }
+
+ leaf delay-mechanism {
+ type delay-mechanism-enumeration;
+ description
+ "The propagation delay measuring option used by the
+ port in computing meanPathDelay.";
+ }
+
+ leaf log-min-pdelay-req-interval {
+ type int8;
+ description
+ "The base-two logarithm of the
+ minPdelayReqInterval (minimum permitted mean time
+ interval between successive Pdelay_Req messages).";
+
+ }
+
+ leaf version-number {
+ type uint8;
+ description
+ "The PTP version in use on the port.";
+ }
+ }
+
+ grouping transparent-clock-default-ds-entry {
+ description
+ "Collection of members of the transparentClockDefault data
+ set (default data set for a transparent clock).";
+
+ leaf clock-identity {
+ type clock-identity-type;
+ description
+ "The clockIdentity of the transparent clock.";
+ }
+ leaf number-ports {
+ type uint16;
+ description
+ "The number of PTP ports on the device.";
+ }
+ leaf delay-mechanism {
+ type delay-mechanism-enumeration;
+ description
+ "The propagation delay measuring option
+ used by the transparent clock.";
+ }
+ leaf primary-domain {
+ type uint8;
+ default 0;
+ description
+ "The domainNumber of the primary syntonization domain.";
+
+ }
+ }
+
+ grouping transparent-clock-port-ds-entry {
+ description
+ "Collection of members of the transparentClockPort data
+ set (port data set for a transparent clock).";
+
+ container port-identity {
+ description
+ "The portIdentity of the local port.";
+
+ uses port-identity-grouping;
+ }
+ leaf log-min-pdelay-req-interval {
+ type int8;
+ description
+ "The logarithm to the base 2 of the
+ minPdelayReqInterval (minimum permitted mean time
+ interval between successive Pdelay_Req messages).";
+ }
+ leaf faulty-flag {
+ type boolean;
+ default false;
+ description
+ "When set, the port is faulty.";
+ }
+ leaf peer-mean-path-delay {
+ type time-interval-type;
+ default 0;
+ description
+ "An estimate of the current one-way propagation delay
+ on the link when the delayMechanism is P2P; otherwise,
+ it is zero.";
+ }
+ }
+
+ list instance-list {
+
+ key "instance-number";
+
+ description
+ "List of one or more PTP datasets in the device, one for
+ each domain (see IEEE 1588-2008 subclause 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 {
+ type uint16;
+ description
+ "The instance number of the current PTP instance";
+ }
+ container default-ds {
+ description
+ "The default data set of the clock.";
+ uses default-ds-entry;
+ }
+
+ container current-ds {
+ description
+ "The current data set of the clock.";
+ uses current-ds-entry;
+ }
+
+ container parent-ds {
+ description
+ "The parent data set of the clock.";
+ uses parent-ds-entry;
+ }
+
+ container time-properties-ds {
+ description
+ "The timeProperties data set of the clock.";
+ uses time-properties-ds-entry;
+ }
+
+ list port-ds-list {
+ key "port-number";
+ description
+ "List of port data sets of the clock.";
+ leaf port-number{
+ type leafref{
+ path "../port-identity/port-number";
+ }
+ description
+ "Refers to the portNumber memer of
+ portDS.portIdentity.";
+ }
+ uses port-ds-entry;
+ }
+ }
+
+ container transparent-clock-default-ds {
+ description
+ "The members of the transparentClockDefault Data Set";
+ uses transparent-clock-default-ds-entry;
+ }
+
+ list transparent-clock-port-ds-list {
+ key "port-number";
+ description
+ "List of transparentClockPort data sets
+ of the transparent clock.";
+ leaf port-number {
+ type leafref {
+ path "../port-identity/port-number";
+ }
+ description
+ "Refers to the portNumber memer
+ of transparentClockPortDS.portIdentity.";
+ }
+ uses transparent-clock-port-ds-entry;
+ }
+ }