This module defines types and identities used in OpenConfig models related to Precision Time Protocol (PTP). IEEE code is subje...
Version: 2024-09-17
module openconfig-ptp-types { yang-version 1; namespace "http://openconfig.net/yang/ptp-types"; prefix oc-ptp-types; import openconfig-extensions { prefix oc-ext; } organization "OpenConfig working group"; contact "OpenConfig working group www.openconfig.net "; description "This module defines types and identities used in OpenConfig models related to Precision Time Protocol (PTP). IEEE code is subject to the following copyright and license: Copyright (c) 2020 by The Institute of Electrical and Electronics Engineers, Inc. All rights reserved."; revision "2024-09-17" { description "Initial Public Version"; reference "1.0.0"; } oc-ext:openconfig-version "1.0.0"; identity TIME_SOURCE { description "Enumeration for the source of time used by the Grandmaster PTP Instance. YANG identity is used so that a PTP Profile's YANG augment can assign values, using numeric range F0 to FE hex."; reference "7.6.2.8 of IEEE Std 1588-2019"; } identity CLOCK_CLASS { description "Enumeration that denotes the traceability, synchronization state and expected performance of the time or frequency distributed by the Grandmaster PTP Instance. IEEE Std 1588 does not specify a name for each clock-class, but the names below are intended to be as intuitive as possible. YANG identity is used so that a PTP Profile's YANG augment can assign values using a numeric range designated for use by alternate PTP Profiles."; reference "7.6.2.5 of IEEE Std 1588-2019"; } identity CLOCK_ACCURACY { description "Enumeration that indicates the expected accuracy of a PTP Instance when it is the Grandmaster PTP Instance, or in the event it becomes the Grandmaster PTP Instance. The value shall be conservatively estimated by the PTP Instance to a precision consistent with the value of the selected clock-accuracy and of the next lower enumerated value, for example, for clockAccuracy = 23 hex, between 250 ns and 1000 ns. IEEE Std 1588 does not specify a name for each clock-accuracy, but the names below are intended to be as intuitive as possible. YANG identity is used so that a PTP Profile's YANG augment can assign values, using numeric range 80 to FD hex."; reference "7.6.2.6 of IEEE Std 1588-2019"; } typedef clock-identity { type string { oc-ext:posix-pattern "^[0-9A-F]{2}(-[0-9A-F]{2}){7}$"; pattern "[0-9A-F]{2}(-[0-9A-F]{2}){7}"; } description "Identifies unique entities within a PTP Network, e.g. a PTP Instance or an entity of a common service. The identity is an 8-octet array, constructed according to specifications in IEEE Std 1588, using an organization identifier from the IEEE Registration Authority. Each octet is represented in YANG as a pair of hexadecimal characters, using uppercase for a letter. Each octet in the array is separated by the dash character."; reference "5.3.4 of IEEE Std 1588-2019 7.5.2.2 of IEEE Std 1588-2019"; } typedef time-interval { type int64; description "Time interval, expressed in nanoseconds, multiplied by 2^16. Positive or negative time intervals outside the maximum range of this data type shall be encoded as the largest positive and negative values of the data type, respectively."; reference "5.3.2 of IEEE Std 1588-2019"; } typedef instance-type { type enumeration { enum "OC" { value 0; description "Ordinary Clock"; } enum "BC" { value 1; description "Boundary Clock"; } enum "P2P_TC" { value 2; description "Peer-to-peer Transparent Clock"; } enum "E2E_TC" { value 3; description "End-to-end Transparent Clock"; } } description "Enumeration for the type of PTP Instance. Values for this enumeration are specified by the IEEE 1588 standard exclusively."; reference "8.2.1.5.5 of IEEE Std 1588-2019"; } typedef unicast-multicast-enumeration { type enumeration { enum "UNICAST" { value 1; description "unicast"; } enum "MULTICAST" { value 2; description "multicast"; } } description "Type definition for options when setting the unicast-multicast attribute in the default data set"; } 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 Std 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 Std 1588 standard exclusively."; reference "IEEE Std 1588-2008: 8.2.5.3.1, 9.2.5"; } typedef network-transport-enumeration { type enumeration { enum "L2" { value 1; description "Layer 2 network"; } enum "UDPV4" { value 2; description "UDPv4 network"; } enum "UDPV6" { value 3; description "UDPv6 network"; } } description "Type definition for options when setting the network transport attribute in the default data set"; } typedef domain-profile-enumeration { type enumeration { enum "IEEE1588" { value 1; description "default profile"; } enum "G8275.1" { value 2; description "g8275.1 profile"; } enum "G8275.2" { value 3; description "g8275.2 profile"; } } description "Type definition for options when setting the domain-profile attribute in the default data set"; } } // module openconfig-ptp-types
© 2024 YumaWorks, Inc. All rights reserved.