diff options
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.yang | 605 |
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; + } + } |