diff --git a/standard/ieee/check.sh b/standard/ieee/check.sh index 0a0f03192..cfcd924a0 100755 --- a/standard/ieee/check.sh +++ b/standard/ieee/check.sh @@ -8,7 +8,7 @@ cwd=$(pwd) ietf_dir="standard/ietf" ieee_dir="standard/ieee" -to_check="draft/60802 draft/802.3 draft/802.1/qrev draft/802.1/ASrev draft/802.1/ASds draft/802.1/ASed draft/802.1/AB-2016rev draft/802.1/AXdz draft/802.1/CB-2017-cor1 draft/802.1/DD draft/802.1/X-cor1 draft/1588 published/802 published/802.1 published/802.3 published/1588" +to_check="draft/60802 draft/802.3 draft/802.1/qrev draft/802.1/ASds draft/802.1/ASed draft/802.1/AB-2016rev draft/802.1/CB-2017-cor1 draft/802.1/CB-2017-rev draft/802.1/DD draft/802.1/X-cor1 published/802 published/802.1 published/802.3 published/1588" # relax constraint for now # add --ietf if you want to do strict IETF checking diff --git a/standard/ieee/draft/802.1/ASrev/ieee802-dot1as-gptp.yang b/standard/ieee/draft/802.1/ASrev/ieee802-dot1as-gptp.yang deleted file mode 100644 index 390d37b22..000000000 --- a/standard/ieee/draft/802.1/ASrev/ieee802-dot1as-gptp.yang +++ /dev/null @@ -1,1251 +0,0 @@ -module ieee802-dot1as-gptp { - yang-version "1.1"; - namespace urn:ieee:std:802.1AS:yang:ieee802-dot1as-gptp; - prefix dot1as-gptp; - import ietf-yang-types { - prefix yang; - } - import ieee1588-ptp-tt { - prefix ptp-tt; - } - organization - "IEEE 802.1 Working Group"; - contact - "WG-URL: http://ieee802.org/1/ - WG-EMail: stds-802-1-l@ieee.org - - Contact: IEEE 802.1 Working Group Chair - Postal: C/O IEEE 802.1 Working Group - IEEE Standards Association - 445 Hoes Lane - Piscataway, NJ 08854 - USA - - E-mail: stds-802-1-chairs@ieee.org"; - description - "Management objects that control timing and synchronization for time - sensitive applications, as specified in clause 14 of IEEE Std - 802.1AS-2020-REV. - - Copyright (C) IEEE (2025). This version of this YANG module is part - of IEEE Std 802.1AS-2020-REV; see the standard itself for full legal notices."; - revision 2025-02-04 { - description - "Published as part of IEEE Std 802.1AS-2020-REV."; - reference - "IEEE Std 802.1AS - Timing and Synchronization for Time-Sensitive - Applications: IEEE Std 802.1AS-2020-REV. - IEEE Std 1588 - IEEE Standard for a Precision Clock Synchronization - Protocol for Networked Measurement and Control Systems: IEEE Std - 1588-2019, IEEE Std 1588g-2022, IEEE Std 1588e-2024."; - } - typedef scaled-ns { - type string { - pattern "[0-9A-F]{2}(-[0-9A-F]{2}){11}"; - } - description - "The IEEE Std 802.1AS ScaledNs type represents signed values of - time and time interval in units of 2^16 ns, as a signed 96-bit - integer. Each of the 12 octets is represented as a pair of - hexadecimal characters, using uppercase for a letter. Octets are - separated by a dash character. The most significant octet is first."; - reference - "6.4.3.1 of IEEE Std 802.1AS"; - } - typedef uscaled-ns { - type string { - pattern "[0-9A-F]{2}(-[0-9A-F]{2}){11}"; - } - description - "The IEEE Std 802.1AS UScaledNs type represents unsigned values of - time and time interval in units of 2^16 ns, as an unsigned 96-bit - integer. Each of the 12 octets is represented as a pair of - hexadecimal characters, using uppercase for a letter. Octets are - separated by a dash character. The most significant octet is first."; - reference - "6.4.3.2 of IEEE Std 802.1AS"; - } - typedef float64 { - type string { - pattern "[0-9A-F]{2}(-[0-9A-F]{2}){7}"; - } - description - "The IEEE Std 802.1AS Float64 type represents IEEE Std 754 - binary64. Each of the 8 octets is represented as a pair of - hexadecimal characters, using uppercase for a letter. Octets are - separated by a dash character. The most significant octet is first."; - reference - "6.4.2 of IEEE Std 802.1AS"; - } - typedef uinteger48 { - type uint64 { - range "0..281474976710655"; - } - description - "48-bit unsigned integer data type."; - reference - "6.4.2 of IEEE Std 802.1AS"; - } - augment - "/ptp-tt:ptp/ptp-tt:instances/ptp-tt:instance/ptp-tt:default-ds" { - description - "Augment IEEE Std 1588 defaultDS."; - leaf gm-capable { - type boolean; - config false; - description - "The value is true if the time-aware system is capable of being a - Grandmaster, and false if the time-aware system is not capable of - being a Grandmaster."; - reference - "14.2.7 of IEEE Std 802.1AS"; - } - leaf current-utc-offset { - when - "../current-utc-offset-valid='true'"; - type int16; - config false; - description - "Offset from UTC (TAI - UTC). The offset is in units of seconds. - This leaf applies to the ClockTimeTransmitter entity (i.e., local - only, unrelated to a remote GM)."; - reference - "14.2.8 of IEEE Std 802.1AS"; - } - leaf current-utc-offset-valid { - type boolean; - config false; - description - "The value of current-utc-offset-valid shall be true if the value - of current-utc-offset is known to be correct, otherwise it shall - be false. This leaf applies to the ClockTimeTransmitter entity - (i.e., local only, unrelated to a remote GM)."; - reference - "14.2.9 of IEEE Std 802.1AS"; - } - leaf leap59 { - type boolean; - config false; - description - "If the timescale is PTP, a true value for leap59 shall indicate - that the last minute of the current UTC day contains 59 seconds. - If the timescale is not PTP, the value shall be false. This leaf - applies to the ClockTimeTransmitter entity (i.e., local only, - unrelated to a remote GM)."; - reference - "14.2.10 of IEEE Std 802.1AS"; - } - leaf leap61 { - type boolean; - config false; - description - "If the timescale is PTP, a true value for leap61 shall indicate - that the last minute of the current UTC day contains 61 seconds. - If the timescale is not PTP, the value shall be false. This leaf - applies to the ClockTimeTransmitter entity (i.e., local only, - unrelated to a remote GM)."; - reference - "14.2.11 of IEEE Std 802.1AS"; - } - leaf time-traceable { - type boolean; - config false; - description - "The value of time-traceable shall be true if the timescale is - traceable to a primary reference; otherwise, the value shall be - false. This leaf applies to the ClockTimeTransmitter entity - (i.e., local only, unrelated to a remote GM)."; - reference - "14.2.12 of IEEE Std 802.1AS"; - } - leaf frequency-traceable { - type boolean; - config false; - description - "The value of frequency-traceable shall be true if the frequency - determining the timescale is traceable to a primary reference; - otherwise, the value shall be false. This leaf applies to the - ClockTimeTransmitter entity (i.e., local only, unrelated to a - remote GM)."; - reference - "14.2.13 of IEEE Std 802.1AS"; - } - leaf ptp-timescale { - type boolean; - config false; - description - "If ptp-timescale is true, the timescale of the - ClockTimeTransmitter entity is PTP, which is the elapsed time - since the PTP epoch measured using the second defined by - International Atomic Time (TAI). If ptp-timescale is false, the - timescale of the ClockTimeTransmitter entity is ARB, which is the - elapsed time since an arbitrary epoch. This leaf applies to the - ClockTimeTransmitter entity (i.e., local only, unrelated to a - remote GM)."; - reference - "14.2.14 of IEEE Std 802.1AS"; - } - leaf time-source { - type identityref { - base ptp-tt:time-source; - } - config false; - description - "The source of time used by the Grandmaster Clock. This leaf - applies to the ClockTimeTransmitter entity (i.e., local only, - unrelated to a remote GM)."; - reference - "14.2.15 of IEEE Std 802.1AS"; - } - } - augment - "/ptp-tt:ptp/ptp-tt:instances/ptp-tt:instance/ptp-tt:current-ds" { - description - "Augment IEEE Std 1588 currentDS."; - leaf last-gm-phase-change { - type scaled-ns; - config false; - description - "Phase change that occurred on the most recent change in either - the Grandmaster PTP Instance or gm-timebase-indicator leaf."; - reference - "14.3.4 of IEEE Std 802.1AS"; - } - leaf last-gm-freq-change { - type float64; - config false; - description - "Frequency change that occurred on the most recent change in - either the Grandmaster PTP Instance or gm-timebase-indicator - leaf."; - reference - "14.3.5 of IEEE Std 802.1AS"; - } - leaf gm-timebase-indicator { - type uint16; - config false; - description - "The timeBaseIndicator of the current Grandmaster PTP Instance."; - reference - "14.3.6 of IEEE Std 802.1AS"; - } - leaf gm-change-count { - type yang:counter32; - config false; - description - "This statistics counter tracks the number of times the - Grandmaster PTP Instance has changed in a gPTP domain."; - reference - "14.3.7 of IEEE Std 802.1AS"; - } - leaf time-of-last-gm-change { - type yang:timestamp; - config false; - description - "System time when the most recent Grandmaster Clock change - occurred in a gPTP domain. This leaf's type is YANG timestamp, - which is based on system time. System time is an unsigned integer - in units of 10 milliseconds, using an epoch defined by the - implementation (typically time of boot-up)."; - reference - "14.3.8 of IEEE Std 802.1AS"; - } - leaf time-of-last-phase-change { - type yang:timestamp; - config false; - description - "System time when the most recent change in Grandmaster Clock - phase occurred. This leaf's type is YANG timestamp, which is - based on system time. System time is an unsigned integer in units - of 10 milliseconds, using an epoch defined by the implementation - (typically time of boot-up)."; - reference - "14.3.9 of IEEE Std 802.1AS"; - } - leaf time-of-last-freq-change { - type yang:timestamp; - config false; - description - "System time when the most recent change in Grandmaster Clock - frequency occurred. This leaf's type is YANG timestamp, which is - based on system time. System time is an unsigned integer in units - of 10 milliseconds, using an epoch defined by the implementation - (typically time of boot-up)."; - reference - "14.3.10 of IEEE Std 802.1AS"; - } - } - augment "/ptp-tt:ptp/ptp-tt:instances/ptp-tt:instance/ptp-tt:parent-ds" { - description - "Augment IEEE Std 1588 parentDS."; - leaf cumulative-rate-ratio { - type int32; - config false; - description - "Estimate of the ratio of the frequency of the Grandmaster Clock - to the frequency of the LocalClock entity of this PTP Instance. - cumulative-rate-ratio is expressed as the fractional frequency - offset multiplied by 2^41, i.e., the quantity (rateRatio - - 1.0)(2^41)."; - reference - "14.4.3 of IEEE Std 802.1AS"; - } - } - augment - "/ptp-tt:ptp"+ - "/ptp-tt:instances"+ - "/ptp-tt:instance"+ - "/ptp-tt:ports"+ - "/ptp-tt:port"+ - "/ptp-tt:port-ds" { - description - "Augment IEEE Std 1588 portDS. - - 14.10.4 of IEEE Std 802.1AS specifies ptpPortEnabled - (ptp-port-enabled), which is provided in YANG as the semantically - equivalent node in ieee1588-ptp-tt named port-enable (in port-ds). - - 14.10.15 of IEEE Std 802.1AS specifies - mgtSettableLogAnnounceInterval (mgt-log-announce-interval), which - is provided in YANG as the semantically equivalent node in - ieee1588-ptp-tt named log-announce-interval (in port-ds). In the - context of IEEE Std 802.1AS, log-announce-interval cannot be used - unless use-mgt-log-announce-interval is true. - - 14.10.20 of IEEE Std 802.1AS specifies mgtSettableLogSyncInterval - (mgt-log-sync-interval), which is provided in YANG as the - semantically equivalent node in ieee1588-ptp-tt named - log-sync-interval (in port-ds). In the context of IEEE Std 802.1AS, - log-sync-interval cannot be used unless use-mgt-log-sync-interval - is true."; - leaf is-measuring-delay { - type boolean; - config false; - description - "Boolean that is true if the port is measuring PTP Link - propagation delay."; - reference - "14.10.6 of IEEE Std 802.1AS"; - } - leaf as-capable { - type boolean; - config false; - description - "Boolean that is true if and only if it is determined that this - PTP Instance and the PTP Instance at the other end of the link - attached to this port can interoperate with each other via the - IEEE Std 802.1AS protocol."; - reference - "10.2.5.1 of IEEE Std 802.1AS - 14.10.7 of IEEE Std 802.1AS"; - } - leaf mean-link-delay-thresh { - type ptp-tt:time-interval; - description - "Propagation time threshold for mean-link-delay, above which a - port is not considered capable of participating in the IEEE Std - 802.1AS protocol."; - reference - "14.10.9 of IEEE Std 802.1AS"; - } - leaf neg-mean-link-delay-thresh { - type ptp-tt:time-interval; - description - "The negative propagation time threshold for mean-link-delay, - below which a port is not considered capable of participating - in the IEEE Std 802.1AS protocol."; - reference - "14.10.10 of IEEE Std 802.1AS"; - } - leaf neighbor-rate-ratio { - type int32; - config false; - description - "Estimate of the ratio of the frequency of the LocalClock entity - of the PTP Instance at the other end of the link attached to this - PTP Port, to the frequency of the LocalClock entity of this PTP - Instance. neighbor-rate-ratio is expressed as the fractional - frequency offset multiplied by 2^41, i.e., the quantity - (rateRatio - 1.0)(2^41)."; - reference - "14.10.12 of IEEE Std 802.1AS"; - } - leaf initial-log-announce-interval { - type int8; - description - "When use-mgt-log-announce-interval is false (i.e., change with - Signaling message), this is the logarithm to base 2 of the - announce interval used when the port is initialized."; - reference - "14.10.13 of IEEE Std 802.1AS"; - } - leaf current-log-announce-interval { - type int8; - config false; - description - "Logarithm to base 2 of the current announce interval."; - reference - "14.10.14 of IEEE Std 802.1AS"; - } - leaf use-mgt-log-announce-interval { - type boolean; - description - "Boolean that determines the source of the announce interval. If - the value is true, the announce interval - (current-log-announce-interval) is set equal to the value of - mgt-log-announce-interval. If the value is false, the announce - interval is determined by the AnnounceIntervalSetting state - machine (i.e., changed with Signaling message)."; - reference - "14.10.15 of IEEE Std 802.1AS"; - } - leaf initial-log-sync-interval { - type int8; - description - "When use-mgt-log-sync-interval is false (i.e., change with - Signaling message), this is the logarithm to base 2 of the - sync interval used when the port is initialized."; - reference - "14.10.17 of IEEE Std 802.1AS"; - } - leaf current-log-sync-interval { - type int8; - config false; - description - "Logarithm to base 2 of the current sync interval."; - reference - "14.10.18 of IEEE Std 802.1AS"; - } - leaf use-mgt-log-sync-interval { - type boolean; - description - "Boolean that determines the source of the sync interval. If the - value is true, the sync interval (current-log-sync-interval) is - set equal to the value of mgt-log-sync-interval. If the value is - false, the sync interval is determined by the SyncIntervalSetting - state machine (i.e., changed with Signaling message)."; - reference - "14.10.19 of IEEE Std 802.1AS"; - } - leaf sync-receipt-timeout { - type uint8; - description - "Number of sync intervals that a timeReceiver port waits without - receiving synchronization information, before assuming that the - timeTransmitter is no longer transmitting synchronization - information and that the BTCA needs to be run, if appropriate."; - reference - "14.10.21 of IEEE Std 802.1AS"; - } - leaf sync-receipt-timeout-interval { - type uscaled-ns; - config false; - description - "Time interval after which sync receipt timeout occurs if - time-synchronization information has not been received during the - interval."; - reference - "14.10.22 of IEEE Std 802.1AS"; - } - leaf initial-log-pdelay-req-interval { - type int8; - description - "When use-mgt-log-pdelay-req-interval is false (i.e., change with - Signaling message), this is the logarithm to base 2 of the - Pdelay_Req transmit interval used when the port is initialized."; - reference - "14.10.23 of IEEE Std 802.1AS"; - } - leaf current-log-pdelay-req-interval { - type int8; - config false; - description - "Logarithm to base 2 of the current Pdelay_Req transmit interval."; - reference - "14.10.24 of IEEE Std 802.1AS"; - } - leaf use-mgt-log-pdelay-req-interval { - type boolean; - description - "Boolean that determines the source of the Pdelay_Req transmit - interval. If the value is true, the Pdelay_Req transmit interval - (current-log-pdelay-req-interval) is set equal to the value of - mgt-log-pdelay-req-interval. If the value is false, the - Pdelay_Req transmit interval is determined by the - LinkDelayIntervalSetting state machine (i.e., changed with - Signaling message)."; - reference - "14.10.25 of IEEE Std 802.1AS"; - } - leaf mgt-log-pdelay-req-interval { - type int8; - description - "Logarithm to base 2 of the Pdelay_Req transmit interval, used if - use-mgt-log-pdelay-req-interval is true. This value is not used - if use-mgt-log-pdelay-req-interval is false."; - reference - "14.10.26 of IEEE Std 802.1AS"; - } - leaf initial-log-gptp-cap-interval { - type int8; - description - "When use-mgt-log-gptp-cap-interval is false (i.e., change with - Signaling message), this is the logarithm to base 2 of the - gPTP capable message interval used when the port is initialized."; - reference - "14.10.27 of IEEE Std 802.1AS"; - } - leaf current-log-gptp-cap-interval { - type int8; - config false; - description - "Logarithm to base 2 of the current gPTP capable message - interval."; - reference - "14.10.28 of IEEE Std 802.1AS"; - } - leaf use-mgt-log-gptp-cap-interval { - type boolean; - description - "Boolean that determines the source of the gPTP capable message - interval. If the value is true, the gPTP capable message interval - (current-log-gptp-cap-interval) is set equal to the value of - mgt-gptp-cap-req-interval. If the value is false, the gPTP - capable message interval is determined by the - GptpCapableMessageIntervalSetting state machine (i.e., changed - with Signaling message)."; - reference - "14.10.29 of IEEE Std 802.1AS"; - } - leaf mgt-log-gptp-cap-interval { - type int8; - description - "Logarithm to base 2 of the gPTP capable message interval, used - if use-mgt-log-gptp-cap-interval is true. This value is not used - if use-mgt-log-pdelay-req-interval is false."; - reference - "14.10.30 of IEEE Std 802.1AS"; - } - leaf initial-compute-neighbor-rate-ratio { - type boolean; - description - "When use-mgt-compute-neighbor-rate-ratio is false (i.e., change - with Signaling message), this is the initial value of - computeNeighborRateRatio."; - reference - "14.10.31 of IEEE Std 802.1AS"; - } - leaf current-compute-neighbor-rate-ratio { - type boolean; - config false; - description - "Current value of computeNeighborRateRatio."; - reference - "14.10.32 of IEEE Std 802.1AS"; - } - leaf use-mgt-compute-neighbor-rate-ratio { - type boolean; - description - "Boolean that determines the source of computeNeighborRateRatio.. - If the value is true, computeNeighborRateRatio is set equal to - the value of mgt-compute-neighbor-rate-ratio. If the value is - false, computeNeighborRateRatio is determined by the - LinkDelayIntervalSetting state machine (i.e., changed with - Signaling message)."; - reference - "14.10.33 of IEEE Std 802.1AS"; - } - leaf mgt-compute-neighbor-rate-ratio { - type boolean; - description - "Value of computeNeighborRateRatio, used if - use-mgt-compute-neighbor-rate-ratio is true. This value is not - used if use-mgt-compute-neighbor-rate-ratio is false."; - reference - "14.10.34 of IEEE Std 802.1AS"; - } - leaf initial-compute-mean-link-delay { - type boolean; - description - "When use-mgt-compute-mean-link-delay is false (i.e., change with - Signaling message), this is the initial value of - computeMeanLinkDelay."; - reference - "14.10.35 of IEEE Std 802.1AS"; - } - leaf current-compute-mean-link-delay { - type boolean; - config false; - description - "Current value of computeMeanLinkDelay."; - reference - "14.10.36 of IEEE Std 802.1AS"; - } - leaf use-mgt-compute-mean-link-delay { - type boolean; - description - "Boolean that determines the source of computeMeanLinkDelay. If - the value is true, computeMeanLinkDelay is set equal to the value - of mgt-compute-mean-link-delay. If the value is false, - computeMeanLinkDelay is determined by the - LinkDelayIntervalSetting state machine (i.e., changed with - Signaling message)."; - reference - "14.10.37 of IEEE Std 802.1AS"; - } - leaf mgt-compute-mean-link-delay { - type boolean; - description - "Value of computeMeanLinkDelay, used if - use-mgt-compute-mean-link-delay is true. This value is not used - if use-mgt-compute-mean-link-delay is false."; - reference - "14.10.38 of IEEE Std 802.1AS"; - } - leaf allowed-lost-responses { - type uint8; - description - "Number of Pdelay_Req messages for which a valid response is not - received, above which a port is considered to not be exchanging - peer delay messages with its neighbor."; - reference - "14.10.39 of IEEE Std 802.1AS"; - } - leaf allowed-faults { - type uint8; - description - "Number of faults above which asCapable is set to false."; - reference - "14.10.40 of IEEE Std 802.1AS"; - } - leaf gptp-cap-receipt-timeout { - type uint8; - description - "Number of transmission intervals that a port waits without - receiving the gPTP capable TLV, before assuming that the neighbor - port is no longer invoking the gPTP protocol."; - reference - "14.10.41 of IEEE Std 802.1AS"; - } - leaf nup { - type float64; - description - "For an OLT port of an IEEE Std 802.3 EPON link, this value is - the effective index of refraction for the EPON upstream - wavelength light of the optical path."; - reference - "14.10.43 of IEEE Std 802.1AS"; - } - leaf ndown { - type float64; - description - "For an OLT port of an IEEE 802.3 EPON link, this value is the - effective index of refraction for the EPON downstream wavelength - light of the optical path."; - reference - "14.10.44 of IEEE Std 802.1AS"; - } - leaf one-step-tx-oper { - type boolean; - config false; - description - "This value is true if the port is sending one-step Sync - messages, and false if the port is sending two-step Sync and - Follow-Up messages."; - reference - "14.10.45 of IEEE Std 802.1AS"; - } - leaf one-step-receive { - type boolean; - config false; - description - "This value is true if the port is capable of receiving and - processing one-step Sync messages."; - reference - "14.10.46 of IEEE Std 802.1AS"; - } - leaf one-step-transmit { - type boolean; - config false; - description - "This value is true if the port is capable of transmitting - one-step Sync messages."; - reference - "14.10.47 of IEEE Std 802.1AS"; - } - leaf initial-one-step-tx-oper { - type boolean; - description - "When use-mgt-one-step-tx-oper is false (i.e., change with - Signaling message), this is the initial value of - current-one-step-tx-oper."; - reference - "14.10.48 of IEEE Std 802.1AS"; - } - leaf current-one-step-tx-oper { - type boolean; - config false; - description - "This value is true if the port is configured to transmit - one-step Sync messages, either via management - (mgt-one-step-tx-oper) or Signaling. If both - current-one-step-tx-oper and one-step-transmit are true, the port - transmits one-step Sync messages (i.e., one-step-tx-oper true)."; - reference - "14.10.49 of IEEE Std 802.1AS"; - } - leaf use-mgt-one-step-tx-oper { - type boolean; - description - "Boolean that determines the source of current-one-step-tx-oper. - If the value is true, current-one-step-tx-oper is set equal to - the value of mgt-one-step-tx-oper. If the value is false, - current-one-step-tx-oper is determined by the - OneStepTxOperSetting state machine (i.e., changed with Signaling - message)."; - reference - "14.10.50 of IEEE Std 802.1AS"; - } - leaf mgt-one-step-tx-oper { - type boolean; - description - "If use-mgt-one-step-tx-oper is true, current-one-step-tx-oper is - set equal to this value. This value is not used if - use-mgt-one-step-tx-oper is false."; - reference - "14.10.51 of IEEE Std 802.1AS"; - } - leaf sync-locked { - type boolean; - config false; - description - "This value is true if the port will transmit a Sync as soon as - possible after the timeReceiver port receives a Sync message."; - reference - "14.10.52 of IEEE Std 802.1AS"; - } - leaf-list pdelay-truncated-timestamps { - type uinteger48; - config false; - description - "For full-duplex IEEE Std 802.3 media, and CSN media that use the - peer-to-peer delay mechanism to measure path delay, the values of - the four elements of this leaf-list correspond to the timestamps - t1, t2, t3, and t4, listed in that order. Each timestamp is - expressed in units of 2^-16 ns (i.e., the value of each array - element is equal to the remainder obtained upon dividing the - respective timestamp, expressed in units of 2^-16 ns, by 2^48). - At any given time, the timestamp values stored in the array are - for the same, and most recently completed, peer delay message - exchange. For each timestamp, only 48-bits are valid (the upper - 16-bits are always zero)."; - reference - "14.10.53 of IEEE Std 802.1AS"; - } - } - augment - "/ptp-tt:ptp"+ - "/ptp-tt:instances"+ - "/ptp-tt:instance"+ - "/ptp-tt:ports"+ - "/ptp-tt:port" { - description - "Augment to add port-statistics-ds to IEEE Std 1588 PTP Port."; - container port-statistics-ds { - description - "Provides counters associated with the port of the PTP Instance."; - reference - "14.12 of IEEE Std 802.1AS"; - leaf rx-sync-count { - type yang:counter32; - config false; - description - "Counter that increments every time synchronization information - is received."; - reference - "14.12.2 of IEEE Std 802.1AS"; - } - leaf rx-one-step-sync-count { - type yang:counter32; - config false; - description - "Counter that increments every time a one-step Sync message is - received."; - reference - "14.12.3 of IEEE Std 802.1AS"; - } - leaf rx-follow-up-count { - type yang:counter32; - config false; - description - "Counter that increments every time a Follow_Up message is - received."; - reference - "14.12.4 of IEEE Std 802.1AS"; - } - leaf rx-pdelay-req-count { - type yang:counter32; - config false; - description - "Counter that increments every time a Pdelay_Req message is - received."; - reference - "14.12.5 of IEEE Std 802.1AS"; - } - leaf rx-pdelay-resp-count { - type yang:counter32; - config false; - description - "Counter that increments every time a Pdelay_Resp message is - received."; - reference - "14.12.6 of IEEE Std 802.1AS"; - } - leaf rx-pdelay-resp-follow-up-count { - type yang:counter32; - config false; - description - "Counter that increments every time a Pdelay_Resp_Follow_Up - message is received."; - reference - "14.12.7 of IEEE Std 802.1AS"; - } - leaf rx-announce-count { - type yang:counter32; - config false; - description - "Counter that increments every time an Announce message is - received."; - reference - "14.12.8 of IEEE Std 802.1AS"; - } - leaf rx-packet-discard-count { - type yang:counter32; - config false; - description - "Counter that increments every time a PTP message of the - respective PTP Instance is discarded."; - reference - "14.12.9 of IEEE Std 802.1AS"; - } - leaf sync-receipt-timeout-count { - type yang:counter32; - config false; - description - "Counter that increments every time a sync receipt timeout - occurs."; - reference - "14.12.10 of IEEE Std 802.1AS"; - } - leaf announce-receipt-timeout-count { - type yang:counter32; - config false; - description - "Counter that increments every time an announce receipt timeout - occurs."; - reference - "14.12.11 of IEEE Std 802.1AS"; - } - leaf pdelay-allowed-lost-exceeded-count { - type yang:counter32; - config false; - description - "Counter that increments every time the value of the variable - lostResponses exceeds the value of the variable - allowedLostResponses, in the RESET state of the MDPdelayReq - state machine."; - reference - "14.12.12 of IEEE Std 802.1AS"; - } - leaf tx-sync-count { - type yang:counter32; - config false; - description - "Counter that increments every time synchronization information - is transmitted."; - reference - "14.12.13 of IEEE Std 802.1AS"; - } - leaf tx-one-step-sync-count { - type yang:counter32; - config false; - description - "Counter that increments every time a one-step Sync message is - transmitted."; - reference - "14.12.14 of IEEE Std 802.1AS"; - } - leaf tx-follow-up-count { - type yang:counter32; - config false; - description - "Counter that increments every time a Follow_Up message is - transmitted."; - reference - "14.12.15 of IEEE Std 802.1AS"; - } - leaf tx-pdelay-req-count { - type yang:counter32; - config false; - description - "Counter that increments every time a Pdelay_Req message is - transmitted."; - reference - "14.12.16 of IEEE Std 802.1AS"; - } - leaf tx-pdelay-resp-count { - type yang:counter32; - config false; - description - "Counter that increments every time a Pdelay_Resp message is - transmitted."; - reference - "14.12.17 of IEEE Std 802.1AS"; - } - leaf tx-pdelay-resp-follow-up-count { - type yang:counter32; - config false; - description - "Counter that increments every time a Pdelay_Resp_Follow_Up - message is transmitted."; - reference - "14.12.18 of IEEE Std 802.1AS"; - } - leaf tx-announce-count { - type yang:counter32; - config false; - description - "Counter that increments every time an Announce message is - transmitted."; - reference - "14.12.19 of IEEE Std 802.1AS"; - } - } - } - augment - "/ptp-tt:ptp"+ - "/ptp-tt:instances"+ - "/ptp-tt:instance"+ - "/ptp-tt:ports"+ - "/ptp-tt:port" { - description - "Augment to add asymmetry-measurement-mode-ds to IEEE Std 1588 PTP - Port."; - container asymmetry-measurement-mode-ds { - description - "Represents the capability to enable/disable the Asymmetry - Compensation Measurement Procedure on a PTP Port. This data set - is used instead of the CMLDS asymmetry-measurement-mode-ds when - only a single PTP Instance is present (i.e., CMLDS is not used)."; - reference - "14.15 of IEEE Std 802.1AS - Annex G of IEEE Std 802.1AS"; - leaf enabled { - type boolean; - description - "For full-duplex IEEE Std 802.3 media, the value is true if an - asymmetry measurement is being performed for the link attached - to this PTP Port, and false otherwise. For all other media, the - value shall be false."; - reference - "14.15.2 of IEEE Std 802.1AS"; - } - } - } - augment - "/ptp-tt:ptp"+ - "/ptp-tt:common-services"+ - "/ptp-tt:cmlds"+ - "/ptp-tt:ports"+ - "/ptp-tt:port"+ - "/ptp-tt:link-port-ds" { - description - "Augment IEEE Std 1588 cmldsLinkPortDS."; - leaf cmlds-link-port-enabled { - type boolean; - config false; - description - "Boolean that is true if both delay-mechanism is common-p2p and - the value of ptp-port-enabled is true, for at least one PTP Port - that uses the CMLDS; otherwise, the value is false."; - reference - "11.2.18.1 of IEEE Std 802.1AS - 14.18.3 of IEEE Std 802.1AS"; - } - leaf is-measuring-delay { - type boolean; - config false; - description - "This leaf is analogous to is-measuring-delay for a PTP Port, but - applicable to this Link Port."; - reference - "14.18.4 of IEEE Std 802.1AS"; - } - leaf as-capable-across-domains { - type boolean; - config false; - description - "This leaf is true when all PTP Instances (domains) for this Link - Port detect proper exchange of Pdelay messages."; - reference - "11.2.2 of IEEE Std 802.1AS - 14.18.5 of IEEE Std 802.1AS"; - } - leaf mean-link-delay-thresh { - type ptp-tt:time-interval; - description - "Propagation time threshold for mean-link-delay, above which a - Link Port is not considered capable of participating in the IEEE - Std 802.1AS protocol."; - reference - "14.18.7 of IEEE Std 802.1AS"; - } - leaf neg-mean-link-delay-thresh { - type ptp-tt:time-interval; - description - "The negative propagation time threshold for mean-link-delay, - below which a Link Port is not considered capable of - participating in the IEEE Std 802.1AS protocol."; - reference - "14.18.8 of IEEE Std 802.1AS"; - } - leaf initial-log-pdelay-req-interval { - type int8; - description - "This leaf is analogous to initial-log-pdelay-req-interval for a - PTP Port, but applicable to this Link Port."; - reference - "14.18.11 of IEEE Std 802.1AS"; - } - leaf current-log-pdelay-req-interval { - type int8; - config false; - description - "This leaf is analogous to current-log-pdelay-req-interval for a - PTP Port, but applicable to this Link Port."; - reference - "14.18.12 of IEEE Std 802.1AS"; - } - leaf use-mgt-log-pdelay-req-interval { - type boolean; - description - "This leaf is analogous to use-mgt-log-pdelay-req-interval for a - PTP Port, but applicable to this Link Port."; - reference - "14.18.13 of IEEE Std 802.1AS"; - } - leaf mgt-log-pdelay-req-interval { - type int8; - description - "This leaf is analogous to mgt-log-pdelay-req-interval for a PTP - Port, but applicable to this Link Port."; - reference - "14.18.14 of IEEE Std 802.1AS"; - } - leaf initial-compute-neighbor-rate-ratio { - type boolean; - description - "This leaf is analogous to initial-compute-neighbor-rate-ratio - for a PTP Port, but applicable to this Link Port."; - reference - "14.18.15 of IEEE Std 802.1AS"; - } - leaf current-compute-neighbor-rate-ratio { - type boolean; - config false; - description - "This leaf is analogous to current-compute-neighbor-rate-ratio - for a PTP Port, but applicable to this Link Port."; - reference - "14.18.16 of IEEE Std 802.1AS"; - } - leaf use-mgt-compute-neighbor-rate-ratio { - type boolean; - description - "This leaf is analogous to use-mgt-compute-neighbor-rate-ratio - for a PTP Port, but applicable to this Link Port."; - reference - "14.18.17 of IEEE Std 802.1AS"; - } - leaf mgt-compute-neighbor-rate-ratio { - type boolean; - description - "This leaf is analogous to mgt-compute-neighbor-rate-ratio for a - PTP Port, but applicable to this Link Port."; - reference - "14.18.18 of IEEE Std 802.1AS"; - } - leaf initial-compute-mean-link-delay { - type boolean; - description - "This leaf is analogous to initial-compute-mean-link-delay for a - PTP Port, but applicable to this Link Port."; - reference - "14.18.19 of IEEE Std 802.1AS"; - } - leaf current-compute-mean-link-delay { - type boolean; - config false; - description - "This leaf is analogous to current-compute-mean-link-delay for a - PTP Port, but applicable to this Link Port."; - reference - "14.18.20 of IEEE Std 802.1AS"; - } - leaf use-mgt-compute-mean-link-delay { - type boolean; - description - "This leaf is analogous to use-mgt-compute-mean-link-delay for a - PTP Port, but applicable to this Link Port."; - reference - "14.18.21 of IEEE Std 802.1AS"; - } - leaf mgt-compute-mean-link-delay { - type boolean; - description - "This leaf is analogous to mgt-compute-mean-link-delay for a PTP - Port, but applicable to this Link Port."; - reference - "14.18.22 of IEEE Std 802.1AS"; - } - leaf allowed-lost-responses { - type uint8; - description - "This leaf is analogous to allowed-lost-responses for a PTP Port, - but applicable to this Link Port."; - reference - "14.18.23 of IEEE Std 802.1AS"; - } - leaf allowed-faults { - type uint8; - description - "This leaf is analogous to allowed-faults for a PTP Port, but - applicable to this Link Port."; - reference - "14.18.24 of IEEE Std 802.1AS"; - } - leaf-list pdelay-truncated-timestamps { - type uinteger48; - config false; - description - "This leaf is analogous to pdelay-truncated-timestamps for a PTP - Port, but applicable to this Link Port."; - reference - "14.18.26 of IEEE Std 802.1AS"; - } - } - augment - "/ptp-tt:ptp"+ - "/ptp-tt:common-services"+ - "/ptp-tt:cmlds"+ - "/ptp-tt:ports"+ - "/ptp-tt:port" { - description - "Augment to add port-statistics-ds to IEEE Std 1588 Link Port."; - container port-statistics-ds { - description - "This container is analogous to port-statistics-ds for a PTP - Port, but applicable to this Link Port."; - reference - "14.19 of IEEE Std 802.1AS"; - leaf rx-pdelay-req-count { - type yang:counter32; - config false; - description - "This leaf is analogous to rx-pdelay-req-count for a PTP Port, - but applicable to this Link Port."; - reference - "14.19.2 of IEEE Std 802.1AS"; - } - leaf rx-pdelay-resp-count { - type yang:counter32; - config false; - description - "This leaf is analogous to rx-pdelay-resp-count for a PTP Port, - but applicable to this Link Port."; - reference - "14.19.3 of IEEE Std 802.1AS"; - } - leaf rx-pdelay-resp-follow-up-count { - type yang:counter32; - config false; - description - "This leaf is analogous to rx-pdelay-resp-follow-up-count for a - PTP Port, but applicable to this Link Port."; - reference - "14.19.4 of IEEE Std 802.1AS"; - } - leaf rx-packet-discard-count { - type yang:counter32; - config false; - description - "This leaf is analogous to rx-packet-discard-count for a PTP - Port, but applicable to this Link Port."; - reference - "14.19.5 of IEEE Std 802.1AS"; - } - leaf pdelay-allowed-lost-exceeded-count { - type yang:counter32; - config false; - description - "This leaf is analogous to pdelay-allowed-lost-exceeded-count - for a PTP Port, but applicable to this Link Port."; - reference - "14.19.6 of IEEE Std 802.1AS"; - } - leaf tx-pdelay-req-count { - type yang:counter32; - config false; - description - "This leaf is analogous to tx-pdelay-req-count for a PTP Port, - but applicable to this Link Port."; - reference - "14.19.7 of IEEE Std 802.1AS"; - } - leaf tx-pdelay-resp-count { - type yang:counter32; - config false; - description - "This leaf is analogous to tx-pdelay-resp-count for a PTP Port, - but applicable to this Link Port."; - reference - "14.19.8 of IEEE Std 802.1AS"; - } - leaf tx-pdelay-resp-follow-up-count { - type yang:counter32; - config false; - description - "This leaf is analogous to tx-pdelay-resp-follow-up-count for a - PTP Port, but applicable to this Link Port."; - reference - "14.19.10 of IEEE Std 802.1AS"; - } - } - } - augment - "/ptp-tt:ptp"+ - "/ptp-tt:common-services"+ - "/ptp-tt:cmlds"+ - "/ptp-tt:ports"+ - "/ptp-tt:port" { - description - "Augment to add asymmetry-measurement-mode-ds to IEEE Std 1588 Link - Port."; - container asymmetry-measurement-mode-ds { - description - "This container is analogous to asymmetry-measurement-mode-ds for - a PTP Port, but applicable to this Link Port."; - reference - "14.20 of IEEE Std 802.1AS"; - leaf enabled { - type boolean; - description - "This leaf is analogous to - asymmetry-measurement-mode-ds.enabled for a PTP Port, but - applicable to this Link Port."; - reference - "14.20.2 of IEEE Std 802.1AS"; - } - } - } -} diff --git a/standard/ieee/draft/802.1/ASrev/ieee802-dot1as-hs.yang b/standard/ieee/draft/802.1/ASrev/ieee802-dot1as-hs.yang deleted file mode 100644 index b73ffdd59..000000000 --- a/standard/ieee/draft/802.1/ASrev/ieee802-dot1as-hs.yang +++ /dev/null @@ -1,455 +0,0 @@ -module ieee802-dot1as-hs { - yang-version 1.1; - namespace "urn:ieee:std:802.1AS:yang:ieee802-dot1as-hs"; - prefix dot1as-hs; - - import ietf-yang-types { - prefix yang; - } - import ieee1588-ptp-tt { - prefix ptp-tt; - } - import ieee802-dot1as-gptp { - prefix dot1as-gptp; - } - - organization - "IEEE 802.1 Working Group"; - contact - "WG-URL: http://ieee802.org/1/ - WG-EMail: stds-802-1-l@ieee.org - - Contact: IEEE 802.1 Working Group Chair - Postal: C/O IEEE 802.1 Working Group - IEEE Standards Association - 445 Hoes Lane - Piscataway, NJ 08854 - USA - - E-mail: stds-802-1-chairs@ieee.org"; - description - "Management objects that control hot standby systems as - specified in clause 18 of IEEE Std 802.1AS-2020-REV and - drift tracking features as specified in clause 11.4.4.4 - of IEEE Std 802.1AS-2020-REV. - - References in this YANG module to IEEE Std 802.1AS are to - IEEE Std 802.1AS-2020-REV. - - Copyright (C) IEEE (2025). - This version of this YANG module is part of IEEE Std - 802.1AS-2020-REV; see the standard itself for full legal - notices."; - - revision 2025-02-04 { - description - "Published as part of IEEE Std 802.1AS-2020-REV."; - reference - "IEEE Std 802.1AS - Timing and Synchronization for Time-Sensitive - Applications: IEEE Std 802.1AS-2020-REV."; - } - - feature hot-standby { - description - "This feature indicates that the device supports the - hot-standby functionality."; - } - - typedef hot-standby-system-state-type { - type enumeration { - enum init { - value 0; - description - "Initialization after the HotStandbySystem powers on and - is enabled. In this state, the system is waiting for - both PTP Instances to synchronize."; - } - enum redundant { - value 1; - description - "Both PTP Instances are synchronized according to the - requirements of the respective application or profile - standard. Time synchronization is redundant."; - } - enum not-redundant { - value 2; - description - "One PTP Instance is synchronized, and the other - PTP Instance is faulted (not synchronized). Time - synchronization continues to meet the requirements of - the respective application or profile standard. Time - synchronization is not redundant."; - } - enum out-of-sync { - value 3; - description - "The HotStandbySystem is adjusting phase/frequency of - its local time using the data stored while the system - was in the REDUNDANT or NOT_REDUNDANT state, but the - local time will eventually drift relative to other - time-aware systems. During OUT_OF_SYNC state, time - synchronization might not meet the requirements of the - respective application or profile standard."; - } - } - description - "Possible states of the hot-standby system."; - } - - typedef nrr-comp-method-type { - type enumeration { - enum sync { - value 0; - description - "If the value is Sync and driftTrackingTlvSupport is - TRUE, neighborRateRatio is populated with the value of - nrrSync whenever a new value of nrrSync is computed."; - } - enum pdelay { - value 1; - description - "If the value is Pdelay or if driftTrackingTlvSupport - is FALSE, neighborRateRatio is populated with the value - of nrrPdelay whenever a new value of nrrPdelay is - computed."; - } - } - description - "typdedef for nrrCompMethod."; - } - - augment "/ptp-tt:ptp/ptp-tt:instances/ptp-tt:instance" - + "/ptp-tt:parent-ds" { - description - "Augment IEEE Std 1588 parentDS."; - leaf gm-present { - type boolean; - config false; - description - "The value of gmPresent is set equal to the value of the - global variable gmPresent. This parameter indicates to the - ClockTarget whether a Grandmaster PTP Instance is - present."; - reference - "14.4.8 of IEEE Std 802.1AS"; - } - } - - augment "/ptp-tt:ptp/ptp-tt:instances/ptp-tt:instance" { - description - "Augment IEEE Std 1588 instanceList."; - container ptp-instance-sync-ds { - description - "The ptpInstanceSyncDS describes the synchronization status - of the PTP Instance."; - reference - "14.8 of IEEE Std 802.1AS"; - leaf is-synced { - type boolean; - config false; - description - "The value of the global variable isSynced."; - reference - "14.8.2 of IEEE Std 802.1AS"; - } - leaf offset-from-time-transmitter-max { - type ptp-tt:time-interval; - description - "The value is the threshold for - offsetFromTimeTransmitter, below which the PTP Instance - is considered to be synchronized."; - reference - "14.8.3 of IEEE Std 802.1AS"; - } - leaf rx-sync-count-time-receiver-p-thresh { - type uint32; - description - "The value of rxSyncCountTimeReceiverPThresh is the - threshold for rxSyncCountTimeReceiverP, above which - the PTP Instance is considered to be synchronized."; - reference - "14.8.4 of IEEE Std 802.1AS"; - } - leaf offset-max-exceeded-count-thresh { - type uint32; - description - "The value of offsetMaxExceededCountThresh is the - threshold for the number of consecutive exceedances of - offsetFromTimeTransmitterMax by - offsetFromTimeTransmitter, at which isSynced is no - longer TRUE."; - reference - "14.8.5 of IEEE Std 802.1AS"; - } - leaf offset-max-met-count-thresh { - type uint32; - description - "The value of offsetMaxMetCountThresh is the threshold - for the number of consecutive occurrences of - offsetFromTimeTransmitter being within - offsetFromTimeTransmitterMax, at which isSynced is - changed to TRUE if it currently is FALSE."; - reference - "14.8.6 of IEEE Std 802.1AS"; - } - } - container drift-tracking-ds { - description - "The driftTrackingDS contains managed objects that are used - to enable or disable the optional Drift_Tracking TLV."; - reference - "14.9 of IEEE Std 802.1AS"; - leaf drift-tracking-tlv-support { - type boolean; - description - "The value of driftTrackingTlvSupport indicates whether - the Drift_Tracking TLV is enabled or disabled."; - reference - "14.9.2 of IEEE Std 802.1AS"; - } - leaf sync-grandmaster-identity { - type ptp-tt:clock-identity; - config false; - description - "The value of syncGrandmasterIdentity as determined by - the MDSyncSend state machine."; - reference - "14.9.3 of IEEE Std 802.1AS"; - } - leaf sync-steps-removed { - type uint32; - config false; - description - "The value of syncStepsRemoved as determined by the - MDSyncSend state machine."; - reference - "14.9.4 of IEEE Std 802.1AS"; - } - leaf rate-ratio-drift { - type int32; - config false; - description - "This value is equal to (RRdrift - 1.0) x (2^41), - truncated to the next smaller signed integer, where - RRdrift is the measured estimate of the rate of change - per second of the ratio of the frequency of the - Grandmaster Clock to the frequency of the Local Clock - entity in the PTP instance that sends the message."; - reference - "14.9.5 of IEEE Std 802.1AS"; - } - } - } - - augment "/ptp-tt:ptp/ptp-tt:instances/ptp-tt:instance" - + "/ptp-tt:ports/ptp-tt:port/ptp-tt:port-ds" { - description - "Augment IEEE Std 1588 commonServices."; - leaf gptp-capable-state-machines-enabled { - type boolean; - description - "A Boolean that is used to enable or disable the - GptpCapableTransmit, GptpCapableReceive, and - GptpCapableIntervalSetting state machines."; - reference - "14.10.55 of IEEE Std 802.1AS"; - } - leaf nrr-pdelay { - type int32; - config false; - description - "The value is an estimate of the ratio of the frequency of - the LocalClock entity of the time-aware system at the - other end of the link attached to this Link Port, to the - frequency of the LocalClock entity of this time-aware - system. nrrPdelay is expressed as the fractional frequency - offset stored in the global variable nrrPdelay multiplied - by 2^41, i.e., the quantity (nrrPdelay - 1.0)(2^41)."; - reference - "14.10.56 of IEEE Std 802.1AS"; - } - leaf nrr-sync { - type int32; - config false; - description - "The value is an estimate of the ratio of the frequency of - the LocalClock entity of the time-aware system at the - other end of the link attached to this Link Port, to the - frequency of the LocalClock entity of this time-aware - system. nrrSync is expressed as the fractional frequency - offset stored in the global variable nrrSync multiplied by - 2^41, i.e., the quantity (nrrSync - 1.0)(2^41)."; - reference - "14.10.57 of IEEE Std 802.1AS"; - } - leaf nrr-comp-method { - type nrr-comp-method-type; - description - "An Enumeration that takes on the values sync and pdelay to - indicate the source of the value of neighborRateRatio."; - reference - "14.10.58 of IEEE Std 802.1AS"; - } - leaf as-capable-across-domains { - type boolean; - description - "This leaf is true when this PTP port detects proper - exchange of Pdelay messages."; - reference - "14.10.59 of IEEE Std 802.1AS"; - } - } - - augment "/ptp-tt:ptp/ptp-tt:instances/ptp-tt:instance" - + "/ptp-tt:ports/ptp-tt:port" - + "/dot1as-gptp:port-statistics-ds" { - description - "Augment IEEE Std 802.1AS PortStatisticsDS."; - leaf rx-sync-count-time-receiver-p { - type yang:counter32; - config false; - description - "This counter increments whenever time synchronization - information is received on a PTP Port when its port - state is TimeReceiverPort."; - reference - "14.12.20 of IEEE Std 802.1AS"; - } - } - - augment "/ptp-tt:ptp/ptp-tt:common-services" { - description - "Augment IEEE Std 1588 commonServices. - - IEEE Std 802.1ASdm-2024 specifies nrrPdelay - (nrr-pdelay), which is provided in YANG as the - semantically equivalent node in ieee1588-ptp-tt named - scaled-neighbor-rate-ratio (in link-port-ds)."; - container hot-standby-service { - if-feature "hot-standby"; - description - "The hotStandbyService structure contains the - hotStandbySystemList, which is a list of instances of the - Hot Standby Service."; - reference - "14.21 of IEEE Std 802.1AS"; - list hot-standby-system { - key "hot-standby-system-index"; - description - "List of instances of the Hot Standby Service"; - leaf hot-standby-system-index { - type uint8; - description - "Index for the hot-standby system."; - } - container hot-standby-system-ds { - description - "The hotStandbySystemDS describes the attributes of the - respective instance of the Hot Standby Service."; - reference - "14.21 of IEEE Std 802.1AS"; - leaf primary-ptp-instance-index { - type uint32; - description - "The value of primaryPtpInstanceIndex is the index of - the primary PTP Instance associated with this - hotStandbySystem instance."; - reference - "14.21.2 of IEEE Std 802.1AS"; - } - leaf secondary-ptp-instance-index { - type uint32; - description - "The value of secondaryPtpInstanceIndex is the index - of the secondaryPTP Instance associated with this - hotStandbySystem instance."; - reference - "14.21.3 of IEEE Std 802.1AS"; - } - leaf hot-standby-system-enable { - type boolean; - description - "The value is the hotStandbySystemEnable attribute of - the HotStandbySystem entity."; - reference - "14.21.4 of IEEE Std 802.1AS"; - } - leaf hot-standby-system-state { - type hot-standby-system-state-type; - config false; - description - "The value of hotStandbySystemState is the state of - the hotStandbySystem, i.e., the value of the global - variable hotStandbySystemState."; - reference - "14.21.5 of IEEE Std 802.1AS"; - } - leaf hot-standby-system-split-functionality { - type boolean; - description - "If the value is TRUE, the optional split - functionality is used. If the value is FALSE, the - optional split functionality is not used."; - reference - "14.21.6 of IEEE Std 802.1AS"; - } - leaf primary-secondary-offset { - type dot1as-gptp:scaled-ns; - config false; - description - "The absolute value of the difference between the - clockTimeTransmitterTimes of the primary and - secondary PTP Instances."; - reference - "14.21.7 of IEEE Std 802.1AS"; - } - leaf primary-secondary-offset-thresh { - type dot1as-gptp:scaled-ns; - description - "The threshold for - hotStandbySystemDS.primarySecondaryOffset, above - which the hotStandbySytemState transitions from - REDUNDANT to NOT_REDUNDANT, or does not transition - from NOT_REDUNDANT or OUT_OF_SYNC to REDUNDANT even - if other conditions for these transitions are - satisfied."; - reference - "14.21.8 of IEEE Std 802.1AS"; - } - leaf hot-standby-system-log-sync-time-thresh { - type int8; - description - "The value of hotStandbySystemLogSyncTimeThresh is - the logarithm to base 2 of the time interval, in - seconds, after which the hotStandbySystem - transitions from the OUT_OF_SYNC state to either the - NOT-REDUNDANT or REDUNDANT state, or from the - NOT_REDUNDANT to the REDUNDANT state, if all other - conditions for the respective transition are met. - The value -128 means that the transition time is - zero, i.e., the transition occurs immediately."; - reference - "14.21.9 of IEEE Std 802.1AS"; - } - } - container hot-standby-system-description-ds { - description - "The hotStandbySystemDescriptionDS contains descriptive - information for the respective instance of the Hot - Standby Service."; - reference - "14.22 of IEEE Std 802.1AS"; - leaf user-description { - type string { - length "0..128"; - } - description - "Configurable description of the hot standby system."; - reference - "14.22.2 of IEEE Std 802.1AS"; - } - } - } - } - } -} diff --git a/standard/ieee/draft/802.1/CB-2017-cor1/ieee802-dot1cb-frer.yang b/standard/ieee/draft/802.1/CB-2017-cor1/ieee802-dot1cb-frer.yang index ce1170b0b..07f61c5eb 100644 --- a/standard/ieee/draft/802.1/CB-2017-cor1/ieee802-dot1cb-frer.yang +++ b/standard/ieee/draft/802.1/CB-2017-cor1/ieee802-dot1cb-frer.yang @@ -38,7 +38,7 @@ module ieee802-dot1cb-frer { Copyright (C) IEEE (2021). This version of this YANG module is part of IEEE Std 802.1CBcv; see the standard itself for full legal notices."; - revision 2024-08-22 { + revision 2025-11-12 { description "Published as part of IEEE Std 802.1CB-2017/Cor 1-2025."; reference @@ -71,7 +71,7 @@ module ieee802-dot1cb-frer { be matched for this tsnStreamIdEntry to apply. A value of –1 indicates that the LanId or PathId are to be ignored."; reference - "10.22 of IEEE Std 802.1CB-2017"; + "10.2.2 of IEEE Std 802.1CB-2017"; } typedef sequence-history-length { type uint32 { diff --git a/standard/ieee/draft/802.1/CB-2017-rev/ieee802-dot1cb-stream-identification.yang b/standard/ieee/draft/802.1/CB-2017-rev/ieee802-dot1cb-stream-identification.yang new file mode 100755 index 000000000..e4fb15a3a --- /dev/null +++ b/standard/ieee/draft/802.1/CB-2017-rev/ieee802-dot1cb-stream-identification.yang @@ -0,0 +1,818 @@ +module ieee802-dot1cb-stream-identification { + yang-version "1.1"; + namespace urn:ieee:std:802.1Q:yang:ieee802-dot1cb-stream-identification; + prefix dot1cb-sid; + import ieee802-types { + prefix ieee; + } + import ieee802-dot1q-types { + prefix dot1qtypes; + } + import ietf-inet-types { + prefix inet; + } + import ietf-interfaces { + prefix if; + } + import ieee802-dot1cb-stream-identification-types { + prefix dot1cb-sid-types; + } + organization + "Institute of Electrical and Electronics Engineers"; + contact + "WG-URL: http://ieee802.org/1/ + WG-EMail: stds-802-1-l@ieee.org + + Contact: IEEE 802.1 Working Group Chair + Postal: C/O IEEE 802.1 Working Group + IEEE Standards Association + 445 Hoes Lane + Piscataway, NJ 08854 + USA + + E-mail: stds-802-1-chairs@ieee.org"; + description + "Management objects that control the Stream identification from IEEE + Std 802.1CB-2017. This YANG data model conforms to the Network + Management Datastore Architecture defined in RFC 8342. Copyright (C) + IEEE (2021). This version of this YANG module is part of IEEE Std + 802.1CBcv; see the standard itself for full legal notices."; + revision 2025-12-12 { + description + "Published as part of IEEE Std 802.1CB-2017-Rev. Initial version."; + reference + "IEEE Std 802.1CB-2017-Rev, Frame Replication and Elimination for + Reliability - Revision."; + } + revision 2021-12-08 { + description + "Published as part of IEEE Std 802.1CBcv-2021. Initial version."; + reference + "IEEE Std 802.1CBcv-2021, Frame Replication and Elimination for + Reliability - FRER YANG Data Model and Management Information Base + Module."; + } + identity null-stream-identification { + base dot1cb-sid-types:strid-idty; + description + "Null Stream identification"; + } + identity smac-vlan-stream-identification { + base dot1cb-sid-types:strid-idty; + description + "Source MAC and VLAN Stream identification"; + } + identity dmac-vlan-stream-identification { + base dot1cb-sid-types:strid-idty; + description + "Active Destination MAC and VLAN Stream identification"; + } + identity ip-stream-identification { + base dot1cb-sid-types:strid-idty; + description + "IP Stream identification"; + } + typedef vlan-tag-identification-type { + type enumeration { + enum tagged { + value 1; + description + "A frame must have a VLAN tag to be recognized as belonging to + the Stream."; + } + enum priority { + value 2; + description + "A frame must be untagged, or have a VLAN tag with a VLAN ID = + 0 to be recognized as belonging to the Stream."; + } + enum all { + value 3; + description + "A frame is recognized as belonging to the Stream whether + tagged or not."; + } + } + description + "Enumeration describing how a Stream can be identified using the + VLAN tag."; + } + typedef vlan-identifier-type { + type uint16 { + range "0 .. 4095"; + } + description + "Specifies the vlan_identifier."; + } + list stream-identity { + key "index"; + description + "The Stream identity table consists of a set of tsnStreamIdEntry + objects, each relating to a single Stream, specifying the points in + the system where Stream identification functions are to be + instantiated. Each entry in the Stream identity table has a + tsnStreamIdHandle object specifying a stream_handle value and one + or more tsnStreamIdEntry objects describing one identification + method for that Stream. If a single Stream has multiple + identification methods, perhaps (but not necessarily) on different + ports, then there can be multiple tsnStreamIdEntry objects with the + same value for the tsnStreamIdHandle. If the HSR or PRP method or + the Sequence encode/decode function is applied to a packet, then + the LanId or PathId fields are also used to identify the Stream to + which the packet belongs."; + reference + "9.1. of IEEE Std 802.1CB-2017"; + leaf index { + type uint32; + description + "If a single Stream has multiple identification methods, perhaps + (but not necessarily) on different ports, then there can be + multiple tsnStreamIdEntry objects with the same value for the + tsnStreamIdHandle"; + } + leaf handle { + type uint32; + mandatory true; + description + "The objects in a given entry of the Stream identity table are + used to control packets whose stream_handle subparameter is equal + to the entry’s tsnStreamIdHandle object. The specific values used + in the tsnStreamIdHandle object are not necessarily used in the + system; they are used only to relate the various management + objects in Clause 9 and Clause 10."; + reference + "9.1.1.1 of IEEE Std 802.1CB-2017"; + } + container in-facing { + description + "Container for in-facing Stream identification functions."; + leaf-list input-port { + type if:interface-ref; + description + "The list of ports on which an in-facing Stream identification + function using this identification method is to be placed for + this Stream in the input (coming from the system forwarding + function) direction. Any number of tsnStreamIdEntry objects can + list the same port for the same tsnStreamIdHandle in its + tsnStreamIdInFacInputPortList."; + reference + "9.1.1.4 of IEEE Std 802.1CB-2017"; + } + leaf-list output-port { + type if:interface-ref; + description + "The list of ports on which an in-facing Stream identification + function using this identification method is to be placed for + this Stream in the output (towards the system forwarding + function) direction. At most one tsnStreamIdEntry can list a + given port for a given tsnStreamIdHandle in its + tsnStreamIdInFacOutputPortList."; + reference + "9.1.1.2 of IEEE Std 802.1CB-2017"; + } + } + container out-facing { + description + "Container for out-facing Stream identification functions."; + leaf-list input-port { + type if:interface-ref; + description + "The list of ports on which an out-facing Stream identification + function using this identification method is to be placed for + this Stream in the input (coming from the physical interface) + direction. Any number of tsnStreamIdEntry objects can list the + same port for the same tsnStreamIdHandle in its + tsnStreamIdOutFacInputPortList."; + reference + "9.1.1.5 of IEEE Std 802.1CB-2017"; + } + leaf-list output-port { + type if:interface-ref; + description + "The list of ports on which an out-facing Stream identification + function using this identification method is to be placed for + this Stream in the output (towards the physical interface) + direction. At most one tsnStreamIdEntry can list a given port + for a given tsnStreamIdHandle in its + tsnStreamIdOutFacOutputPortList."; + reference + "9.1.1.3 of IEEE Std 802.1CB-2017"; + } + } + choice parameters { + mandatory true; + description + "The number of controlling parameters for a Stream identification + method, their types and values, are specific to the + tsnStreamIdIdentificationType."; + reference + "9.1.1.7 of IEEE Std 802.1CB-2017"; + container null-stream-identification { + description + "When instantiating an instance of the Null Stream + identification function for a particular input Stream, the + managed objects in this container serve as the + tsnStreamIdParameters managed object."; + reference + "9.1.2 of IEEE Std 802.1CB-2017"; + container identification-type { + config false; + description + "The identification type indicating the method used to + identify packets belonging to the Stream. The identification + type contains a type number and an Organizationally Unique + Identifier (OUI) or Company ID (CID) to identify the + organization defining the identification method."; + reference + "9.1.1.6 of IEEE Std 802.1CB-2017"; + leaf type-number { + type dot1cb-sid-types:stream-id-function; + default "null-stream"; + description + "The Stream identification type used for the Null Stream + identification method."; + reference + "9.1.1.6 of IEEE Std 802.1CB-2017"; + } + leaf oui-cid { + type string { + pattern "[0-9A-F]{2}(-[0-9A-F]{2}){2}"; + } + default "00-80-C2"; + description + "The Organizationally Unique Identifier (OUI) or Company ID + (CID) to identify the organization defining the + identification method. For identification methods defined + in IEEE Std 802.1CB-2017 the OUI/CID is always 00-80-C2."; + reference + "9.1.1.6 of IEEE Std 802.1CB-2017"; + } + } + leaf destination-mac { + type ieee:mac-address; + description + "Specifies the destination_address that identifies a packet + in an EISS indication primitive, to the Null Stream + identification function. The ieee:mac-address type has a + pattern that allows upper and lower case letters. To avoid + issues with string comparison, it is suggested to only use + upper case for the letters in the hexadecimal numbers. There + is still an issue with a difference between the IETF + mac-address definition and the IEEE mac-address definition, + so consider that if implementing code that compares + mac-addresses."; + reference + "9.1.2.1 of IEEE Std 802.1CB-2017"; + } + leaf tagged { + type vlan-tag-identification-type; + description + "An enumerated value indicating whether a packet in an EISS + indication primitive to the Null Stream identification + function is permitted to have a VLAN tag."; + reference + "9.1.2.2 of IEEE Std 802.1CB-2017"; + } + leaf vlan { + type vlan-identifier-type; + description + "Specifies the vlan_identifier parameter that identifies a + packet in an EISS indication primitive to the Null Stream + identification function."; + reference + "9.1.2.3 of IEEE Std 802.1CB-2017"; + } + } + container smac-vlan-stream-identification { + description + "When instantiating an instance of the Source MAC and VLAN + Stream identification function for a particular input Stream, + the managed objects in the following subclauses serve as the + tsnStreamIdParameters managed object."; + reference + "9.1.3 of IEEE Std 802.1CB-2017"; + container identification-type { + config false; + description + "The identification type indicating the method used to + identify packets belonging to the Stream. The identification + type contains a type number and an Organizationally Unique + Identifier (OUI) or Company ID (CID) to identify the + organization defining the identification method."; + reference + "9.1.1.6 of IEEE Std 802.1CB-2017"; + leaf type-number { + type dot1cb-sid-types:stream-id-function; + default "smac-vlan"; + description + "The Stream identification type used for the Source MAC and + VLAN Stream identification method."; + reference + "9.1.1.6 of IEEE Std 802.1CB-2017"; + } + leaf oui-cid { + type string { + pattern "[0-9A-F]{2}(-[0-9A-F]{2}){2}"; + } + default "00-80-C2"; + description + "The Organizationally Unique Identifier (OUI) or Company ID + (CID) to identify the organization defining the + identification method. For identification methods defined + in IEEE Std 802.1CB-2017 the OUI/CID is always 00-80-C2."; + reference + "9.1.1.6 of IEEE Std 802.1CB-2017"; + } + } + leaf source-mac { + type ieee:mac-address; + description + "Specifies the source_address that identifies a packet in an + EISS indication primitive, to the Source MAC and VLAN Stream + identification function. The ieee:mac-address type has a + pattern that allows upper and lower case letters. To avoid + issues with string comparison, it is suggested to only use + upper case for the letters in the hexadecimal numbers. There + is still an issue with a difference between the IETF + mac-address definition and the IEEE mac-address definition, + so consider that if implementing code that compares + mac-addresses."; + reference + "9.1.3.1 of IEEE Std 802.1CB-2017"; + } + leaf tagged { + type vlan-tag-identification-type; + description + "An enumerated value indicating whether a packet in an EISS + indication primitive to the Source MAC and VLAN Stream + identification function is permitted to have a VLAN tag."; + reference + "9.1.3.2 of IEEE Std 802.1CB-2017"; + } + leaf vlan { + type vlan-identifier-type; + description + "Specifies the vlan_identifier parameter that identifies a + packet in an EISS indication primitive to the Source MAC and + VLAN Stream identification function."; + reference + "9.1.3.3 of IEEE Std 802.1CB-2017"; + } + } + container dmac-vlan-stream-identification { + description + "When instantiating an instance of the Active Destination MAC + and VLAN Stream identification function for a particular output + Stream, the managed objects in the following subclauses, along + with those listed in 9.1.2, serve as the tsnStreamIdParameters + managed object."; + reference + "9.1.4 of IEEE Std 802.1CB-2017"; + container identification-type { + config false; + description + "The identification type indicating the method used to + identify packets belonging to the Stream. The identification + type contains a type number and an Organizationally Unique + Identifier (OUI) or Company ID (CID) to identify the + organization defining the identification method."; + reference + "9.1.1.6 of IEEE Std 802.1CB-2017"; + leaf type-number { + type dot1cb-sid-types:stream-id-function; + default "dmac-vlan"; + description + "The Stream identification type used for the Active + Destination MAC and VLAN Stream identification method."; + reference + "9.1.1.6 of IEEE Std 802.1CB-2017"; + } + leaf oui-cid { + type string { + pattern "[0-9A-F]{2}(-[0-9A-F]{2}){2}"; + } + default "00-80-C2"; + description + "The Organizationally Unique Identifier (OUI) or Company ID + (CID) to identify the organization defining the + identification method. For identification methods defined + in IEEE Std 802.1CB-2017 the OUI/CID is always 00-80-C2."; + reference + "9.1.1.6 of IEEE Std 802.1CB-2017"; + } + } + container down { + description + "Container for all parameters which are sent to lower layers."; + leaf destination-mac { + type ieee:mac-address; + description + "Specifies the destination_address parameter to use in the + EISS request primitive for output packets sent to lower + layers by the Active Destination MAC and VLAN Stream + identification function, and the destination_address that + identifies an input packet in an EISS indication primitive + to the Active Destination MAC and VLAN Stream + identification function. The ieee:mac-address type has a + pattern that allows upper and lower case letters. To avoid + issues with string comparison, it is suggested to only use + upper case for the letters in the hexadecimal numbers. + There is still an issue with a difference between the IETF + mac-address definition and the IEEE mac-address definition, + so consider that if implementing code that compares + mac-addresses."; + reference + "9.1.4.1 of IEEE Std 802.1CB-2017"; + } + leaf tagged { + type vlan-tag-identification-type; + description + "An enumerated value indicating whether a packet in an EISS + indication or request primitive between the Active + Destination MAC and VLAN Stream identification function and + the lower layers is to have a VLAN tag. This variable is + not used in an FRER C-component. See 8.4."; + reference + "9.1.4.2 of IEEE Std 802.1CB-2017"; + } + leaf vlan { + type vlan-identifier-type; + description + "Specifies the vlan_identifier parameter to use in the EISS + request primitive for output packets sent to lower layers + by the Active Destination MAC and VLAN Stream + identification function, and the vlan_identifier that + identifies an input packet in an EISS indication primitive + to the Active Destination MAC and VLAN Stream + identification function."; + reference + "9.1.4.3 of IEEE Std 802.1CB-2017"; + } + leaf priority { + type dot1qtypes:priority-type; + description + "Specifies the priority parameter to use in the EISS + request primitive for output packets sent to lower layers + by the Active Destination MAC and VLAN Stream + identification function for all packets in a particular + Stream."; + reference + "9.1.4.4 of IEEE Std 802.1CB-2017"; + } + } + container up { + description + "Container for all parameters which are offered to higher + layers."; + leaf destination-mac { + type ieee:mac-address; + description + "Specifies the destination_address parameter to use in the + EISS indication primitive for input packets offered to + upper layers by the Active Destination MAC and VLAN Stream + identification layer. This address replaces the address + that was used to identify the packet + (tsnCpeDmacVlanDownDestMac). The ieee:mac-address type has + a pattern that allows upper and lower case letters. To + avoid issues with string comparison, it is suggested to + only use upper case for the letters in the hexadecimal + numbers. There is still an issue with a difference between + the IETF mac-address definition and the IEEE mac-address + definition, so consider that if implementing code that + compares mac-addresses."; + reference + "9.1.4.5 of IEEE Std 802.1CB-2017"; + } + leaf tagged { + type vlan-tag-identification-type; + description + "An enumerated value indicating whether a packet in an EISS + indication or request primitive between the Active + Destination MAC and VLAN Stream identification function and + the upper layers is to have a VLAN tag. This variable is + used only by an end system and not by a relay system."; + reference + "9.1.4.6 of IEEE Std 802.1CB-2017"; + } + leaf vlan { + type vlan-identifier-type; + description + "Specifies the vlan_identifier parameter to use in the EISS + indication primitive for packets offered to upper layers, + or the VLAN ID field for an IEEE 802.1Q tag in an ISS + mac_service_data_unit. This address replaces the VLAN ID + that was used to identify the packet + (tsnCpeDmacVlanDownVlan)."; + reference + "9.1.4.7 of IEEE Std 802.1CB-2017"; + } + leaf priority { + type dot1qtypes:priority-type; + description + "Specifies the priority parameter to use in the EISS + indication primitive for packets offered to upper layers."; + reference + "9.1.4.8 of IEEE Std 802.1CB-2017"; + } + } + } + container ip-stream-identification { + description + "When instantiating an instance of the IP Stream identification + function, the parameters in the following subclauses replace + the tsnStreamIdParameters managed object."; + reference + "9.1.5 of IEEE Std 802.1CB-2017"; + container identification-type { + config false; + description + "The identification type indicating the method used to + identify packets belonging to the Stream. The identification + type contains a type number and an Organizationally Unique + Identifier (OUI) or Company ID (CID) to identify the + organization defining the identification method."; + reference + "9.1.1.6 of IEEE Std 802.1CB-2017"; + leaf type-number { + type dot1cb-sid-types:stream-id-function; + default "ip"; + description + "The Stream identification type used for the IP Stream + identification method."; + reference + "9.1.1.6 of IEEE Std 802.1CB-2017"; + } + leaf oui-cid { + type string { + pattern "[0-9A-F]{2}(-[0-9A-F]{2}){2}"; + } + default "00-80-C2"; + description + "The Organizationally Unique Identifier (OUI) or Company ID + (CID) to identify the organization defining the + identification method. For identification methods defined + in IEEE Std 802.1CB-2017 the OUI/CID is always 00-80-C2."; + reference + "9.1.1.6 of IEEE Std 802.1CB-2017"; + } + } + leaf destination-mac { + type ieee:mac-address; + description + "Specifies the destination_address parameter that identifies + a packet in an EISS indication primitive. A value of all 0 + indicates that the MAC destination address is to be ignored + on packets received from lower layers. The + ieee:mac-address type has a pattern that allows upper and + lower case letters. To avoid issues with string comparison, + it is suggested to only use upper case for the letters in the + hexadecimal numbers. There is still an issue with a + difference between the IETF mac-address definition and the + IEEE mac-address definition, so consider that if implementing + code that compares mac-addresses."; + reference + "9.1.5.1 of IEEE Std 802.1CB-2017"; + } + leaf tagged { + type vlan-tag-identification-type; + description + "An enumerated value indicating whether a packet in an EISS + indication or request primitive to the IP Stream + identification function is to have a VLAN tag."; + reference + "9.1.5.2 of IEEE Std 802.1CB-2017"; + } + leaf vlan { + type vlan-identifier-type; + description + "Specifies the vlan_identifier parameter that identifies a + packet in an EISS indication primitive."; + reference + "9.1.5.3 of IEEE Std 802.1CB-2017"; + } + leaf ip-source { + type inet:ip-address; + description + "Specifies the IPv4 (RFC 791) or IPv6 (RFC 2460) source + address parameter that must be matched to identify packets + coming up from lower layers. A value of all 0 indicates + that the IP source address is to be ignored on packets + received from lower layers."; + reference + "9.1.5.4 of IEEE Std 802.1CB-2017"; + } + leaf ip-destination { + type inet:ip-address; + description + "Specifies the IPv4 (RFC 791) or IPv6 (RFC 2460) destination + address parameter that must be matched to identify packets + coming up from lower layers."; + reference + "9.1.5.5 of IEEE Std 802.1CB-2017"; + } + leaf dscp { + type inet:dscp; + description + "Specifies the IPv4 (RFC 791) or IPv6 (RFC 2460) + differentiated services codepoint (DSCP, RFC 2474) that must + be matched to identify packets coming up from the lower + layers. A value of 64 decimal indicates that the DSCP is to + be ignored on packets received from lower layers."; + reference + "9.1.5.6 of IEEE Std 802.1CB-2017"; + } + leaf next-protocol { + type enumeration { + enum none { + description + "No protocol is specified"; + } + enum udp { + description + "UDP is specified as the next protocol."; + reference + "RFC 768"; + } + enum tcp { + description + "TCP is specified as the next protocol."; + reference + "RFC 793"; + } + enum sctp { + description + "SCTP is specified as the next protocol."; + reference + "RFC 4960"; + } + } + description + "Specifies the IP next protocol parameter that must be + matched to identify packets coming up from lower layers. The + value of this parameter must specify either none, UDP (RFC + 768), TCP (RFC 793), or SCTP (RFC 4960). If “none,” then the + tsnCpeIpIdSourcePort and tsnCpeIpIdDestinationPort managed + objects are not used."; + reference + "9.1.5.7 of IEEE Std 802.1CB-2017"; + } + leaf source-port { + type inet:port-number; + description + "Specifies the TCP or UDP Source Port parameter that must be + matched to identify packets coming up from lower layers. A + value of 0 indicates that the Source Port number of the + packet is to be ignored on packets received from lower + layers."; + reference + "9.1.5.8 of IEEE Std 802.1CB-2017"; + } + leaf destination-port { + type inet:port-number; + description + "Specifies the TCP or UDP Destination Port parameter that + must be matched to identify packets coming up from lower + layers. A value of 0 indicates that the Destination Port + number of the packet is to be ignored on packets received + from lower layers."; + reference + "9.1.5.9 of IEEE Std 802.1CB-2017"; + } + } + container organization-specific { + description + "This container allows to select Stream identification methods + that are defined by entities outside of IEEE 802.1."; + reference + "9.1.1.6 of IEEE Std 802.1CB-2017"; + container identification-type { + description + "The identification type indicating the method used to + identify packets belonging to the Stream. The identification + type contains a type number and an Organizationally Unique + Identifier (OUI) or Company ID (CID) to identify the + organization defining the identification method."; + reference + "9.1.1.6 of IEEE Std 802.1CB-2017"; + leaf type-number { + type int32 { + range "256..max"; + } + description + "The type number used for an identification method defined + by an entity owning the OUI or CID for this identification + type."; + reference + "9.1.1.6 of IEEE Std 802.1CB-2017"; + } + leaf oui-cid { + type string { + pattern "[0-9A-F]{2}(-[0-9A-F]{2}){2}"; + } + description + "The Organizationally Unique Identifier (OUI) or Company ID + (CID) to identify the organization defining the + identification method."; + reference + "9.1.1.6 of IEEE Std 802.1CB-2017"; + } + } + } + } + } + augment "/if:interfaces/if:interface/if:statistics" { + description + "The following counters are the counters for Stream identification. + All counters are unsigned integers. If used on links faster than + 650 000 000 bits per second, they shall be 64 bits in length to + ensure against excessively short wrap times."; + reference + "9.2 of IEEE Std 802.1CB-2017 + 9.3 of IEEE Std 802.1CB-2017"; + container stream-id { + description + "This container contains the per-port as well as the + per-port-per-stream counters for Stream identification."; + reference + "9.2 of IEEE Std 802.1CB-2017 + 9.3 of IEEE Std 802.1CB-2017"; + container per-port-counters { + config false; + description + "Contains the per-port counters for Stream identification. The + following counters are instantiated for each port on which the + Stream identification function is configured. The counters are + indexed by port number."; + reference + "9.3 of IEEE Std 802.1CB-2017"; + leaf input-pkts { + type uint64; + config false; + description + "The tsnCpSidInputPackets counter is incremented once for + each packet identified by any Stream identification function + on this port. Its value equals the sum (modulo the size of + the counters) of all of the tsnCpsSidInputPackets counters on + this same port."; + reference + "9.3.1 of IEEE Std 802.1CB-2017"; + } + leaf output-pkts { + type uint64; + config false; + description + "The tsnCpSidOutputPackets counter is incremented once for + each packet passed down the stack by any Stream + identification function on this port. Its value equals the + sum (modulo the size of the counters) of all of the + tsnCpsSidOutputPackets counters on this same port."; + reference + "9.3.2 of IEEE Std 802.1CB-2017"; + } + } + list per-port-per-stream-counters { + key "direction-out-facing handle"; + config false; + description + "Contains the per-port-per-stream counters for Stream + identification. The following counters are instantiated for + each port on which the Stream identification function is + configured. The counters are indexed by port number, facing + (in-facing or out-facing), and stream_handle value + (tsnStreamIdHandle)."; + reference + "9.2 of IEEE Std 802.1CB-2017"; + leaf direction-out-facing { + type dot1cb-sid-types:direction; + description + "An object indicating whether the counters apply to + out-facing (True) or in-facing (False)."; + } + leaf handle { + type leafref { + path '/stream-identity/handle'; + } + description + "The according tsnStreamIdHandle for these counters."; + } + leaf input-pkts { + type uint64; + description + "The tsnCpsSidInputPackets counter is incremented once for + each packet identified by the Stream identification function."; + reference + "9.2.1 of IEEE Std 802.1CB-2017"; + } + leaf output-pkts { + type uint64; + description + "The tsnCpsSidOutputPackets counter is incremented once for + each packet passed down the stack by the Stream + identification function."; + reference + "9.2.2 of IEEE Std 802.1CB-2017"; + } + } + } + } +} diff --git a/standard/ieee/draft/802.1/DD/ieee802-dot1dd-rap.yang b/standard/ieee/draft/802.1/DD/ieee802-dot1dd-rap.yang index c9cde0fd4..e4f8742bb 100644 --- a/standard/ieee/draft/802.1/DD/ieee802-dot1dd-rap.yang +++ b/standard/ieee/draft/802.1/DD/ieee802-dot1dd-rap.yang @@ -18,9 +18,6 @@ module ieee802-dot1dd-rap { import ieee802-types { prefix ieeetypes; } - import ietf-inet-types { - prefix inet; - } organization "IEEE 802.1 Working Group"; @@ -45,9 +42,9 @@ module ieee802-dot1dd-rap { This version of this YANG module is part of IEEE Std 802.1DD; see the standard itself for full legal notices."; - revision 2024-11-13 { + revision 2026-01-16 { description - "Published as part of IEEE Std 802.1Qdd-202x. + "Published as part of IEEE Std 802.1DD-202x. The following reference statement identifies each referenced IEEE Standard as updated by applicable amendments."; @@ -60,65 +57,16 @@ module ieee802-dot1dd-rap { IEEE Std 802.1Qdy-2024."; } - grouping target-port { - leaf chassis-id { - type ieeetypes:chassis-id-type; - description - "Chassis component associated with the local system."; - reference - "8.5.2.3 of IEEE Std 802.1AB-2016"; - } - leaf port-id { - type ieeetypes:port-id-type; - description - "Port component associated with a given port in the local - system."; - reference - "8.5.3.3 of IEEE Std 802.1AB-2016"; - } - leaf ecp-capable { - type boolean; - description - "A Boolean value indicating whether the target - port supports the LRP-DT ECP mechanism (TRUE) or not (FALSE)."; - } - leaf tcp-capable { - type boolean; - description - "A Boolean value indicating whether that the target - port supports the LRP-DT TCP mechanism (TRUE) or not (FALSE)."; - } - leaf tcp-port { - type uint16; - description - "A 2-byte TCP port number for the target port."; - reference - "C.2.2.6.1 of IEEE Std 802.1CS-2020"; - } - leaf addr-ip-v4 { - type inet:ipv4-address; - description - "A 4-byte IPv4 address for the target port or NULL."; - reference - "Item 1) in C.2.2.6.2 of IEEE Std 802.1CS-2020"; - } - leaf addr-ip-v6 { - type inet:ipv6-address; - description - "A 16-byte IPv6 address for the target port or NULL."; - reference - "Item 2) in C.2.2.6.2 of IEEE Std 802.1CS-2020"; - } - } - grouping rap-talker-announce { + description + "Grouping for RAP Talker Announce"; leaf stream-id { type tsn:stream-id-type; description "An 8-octet field encoding the StreamID element as specified in 46.2.3.1 of IEEE Std 802.1Q."; reference - "6.5.3.1 of IEEE Std 802.1DD"; + "6.4.3.1 of IEEE Std 802.1DD"; } leaf stream-rank { type uint8; @@ -126,7 +74,7 @@ module ieee802-dot1dd-rap { "A 1-octet field encoding a Rank value as specified in 46.2.3.2.1 of IEEE Std 802.1Q."; reference - "6.5.3.2 of IEEE Std 802.1DD"; + "6.4.3.2 of IEEE Std 802.1DD"; } leaf accumulated-max-latency { type uint32; @@ -134,7 +82,7 @@ module ieee802-dot1dd-rap { "A 4-octet field encoding the AccumulatedLatency element as specified in 46.2.5.2 of IEEE Std 802.1Q."; reference - "6.5.3.3 of IEEE Std 802.1DD"; + "6.4.3.3 of IEEE Std 802.1DD"; } leaf accumulated-min-latency { type uint32; @@ -144,7 +92,7 @@ module ieee802-dot1dd-rap { transmitted from the Talker along a given path to the Port declaring this attribute."; reference - "6.5.3.4 of IEEE Std 802.1DD"; + "6.4.3.4 of IEEE Std 802.1DD"; } leaf destination-mac-address { type ieeetypes:mac-address; @@ -152,7 +100,7 @@ module ieee802-dot1dd-rap { "A 6-octet destination MAC address of the data frames of the stream."; reference - "6.5.3.5.1 of IEEE Std 802.1DD"; + "6.4.3.5.1 of IEEE Std 802.1DD"; } leaf priority { type dot1qtypes:priority-type; @@ -163,7 +111,7 @@ module ieee802-dot1dd-rap { Bridge to associate the stream to a local RA class of the same priority."; reference - "6.5.3.5.2 of IEEE Std 802.1DD"; + "6.4.3.5.2 of IEEE Std 802.1DD"; } leaf vid { type uint16 { @@ -181,7 +129,7 @@ module ieee802-dot1dd-rap { is set to the numerically smallest VlanContextId value contained in a VLAN Context Information sub-TLV."; reference - "6.5.3.5.3 of IEEE Std 802.1DD"; + "6.4.3.5.3 of IEEE Std 802.1DD"; } leaf talker-token-bucket-tspec { type boolean; @@ -317,13 +265,15 @@ module ieee802-dot1dd-rap { } grouping rap-listener-attach { + description + "Grouping for RAP Listener Attachment"; leaf stream-id { type tsn:stream-id-type; description "An 8-octet field encoding the StreamID element as specified in 46.2.3.1 of IEEE Std 802.1Q."; reference - "6.5.4.1 of IEEE Std 802.1D"; + "6.4.4.1 of IEEE Std 802.1D"; } leaf vid { type uint16 { @@ -333,24 +283,30 @@ module ieee802-dot1dd-rap { "A 12-bit integer, indicating a VID to be encoded in the VLAN tag with which the data frames of the stream are tagged."; reference - "6.5.4.2 of IEEE Std 802.1DD"; + "6.4.4.2 of IEEE Std 802.1DD"; } leaf listener-attach-status { type enumeration { enum attach-ready { value 1; + description + "listener-attach-status is ATTACH_READY"; } enum attach-fail { value 2; + description + "listener-attach-status is ATTACH_FAIL"; } enum attach-partial-fail { value 3; + description + "listener-attach-status is ATTACH_PARTIAL_FAIL"; } } description "An enumeration indicating the listener attach status"; reference - "6.5.4.3 of IEEE Std 802.1DD"; + "6.4.4.3 of IEEE Std 802.1DD"; } leaf vlan-context-status { type boolean; @@ -369,7 +325,7 @@ module ieee802-dot1dd-rap { Context Status sub-TLV contained in the Listener Attach attribute."; reference - "6.5.4.4 of IEEE Std 802.1DD"; + "6.4.4.4 of IEEE Std 802.1DD"; } } @@ -378,7 +334,9 @@ module ieee802-dot1dd-rap { "Augment Bridge with RAP configuration."; reference "6 of IEEE Std 802.1DD."; - container rap-propagator { + container rap-map-bridge-table { + description + "Container RAP MAP Bridge Table"; leaf frer-capable { type boolean; config false; @@ -386,7 +344,7 @@ module ieee802-dot1dd-rap { "A Boolean value, indicating whether the Bridge is a FRER-capable Bridge (TRUE) or not (FALSE)."; reference - "6.8.4.11 of IEEE Std 802.1DD."; + "6.7.6.11 of IEEE Std 802.1DD."; } leaf max-processing-delay { type uint32; @@ -397,7 +355,7 @@ module ieee802-dot1dd-rap { forwarding process of the Bridge until it is placed into an outbound queue."; reference - "6.8.4.12 of IEEE Std 802.1DD."; + "6.7.6.12 of IEEE Std 802.1DD."; } leaf min-processing-delay { type uint32; @@ -408,7 +366,7 @@ module ieee802-dot1dd-rap { forwarding process of the Bridge until it is placed into an outbound queue."; reference - "6.8.4.13 of IEEE Std 802.1DD."; + "6.7.6.13 of IEEE Std 802.1DD."; } } list ra-class-bridge-table { @@ -459,7 +417,7 @@ module ieee802-dot1dd-rap { with its values if any, is specific to the RA class template identified by the value contained in rt-id"; reference - "6.5.2.2.6 of IEEE Std 802.1DD."; + "6.4.2.2.5 of IEEE Std 802.1DD."; } } list ra-class-port-pair { @@ -478,21 +436,21 @@ module ieee802-dot1dd-rap { description "The port number of the associated reception Port."; reference - "Item a) in 6.8.4.9 of IEEE Std 802.1DD."; + "Item a) in 6.7.6.9 of IEEE Std 802.1DD."; } leaf transmission-port { type dot1qtypes:port-number-type; description "The port number of the associated transmission Port."; reference - "Item b) in 6.8.4.9 of IEEE Std 802.1DD."; + "Item b) in 6.7.6.9 of IEEE Std 802.1DD."; } leaf ra-class-id { type int8; description "The RA class ID of the associated local RA class. "; reference - "Item c) in 6.8.4.9 of IEEE Std 802.1DD."; + "Item c) in 6.7.6.9 of IEEE Std 802.1DD."; } leaf max-hop-latency { type uint32; @@ -508,7 +466,7 @@ module ieee802-dot1dd-rap { exact measurement points are specific to and defined by the RA class template being used by the RA class."; reference - "Item d) in 6.8.4.9 of IEEE Std 802.1DD."; + "Item d) in 6.7.6.9 of IEEE Std 802.1DD."; } } list rap-redundancy-context { @@ -523,7 +481,7 @@ module ieee802-dot1dd-rap { description "The Redundancy Context ID of the Redundancy Context"; reference - "Item a) in 6.8.4.10 of IEEE Std 802.1DD."; + "Item a) in 6.7.6.10 of IEEE Std 802.1DD."; } list vlan-context-list { key "vlan-context"; @@ -531,11 +489,13 @@ module ieee802-dot1dd-rap { "The list of VLAN Context IDs associated with the Redundancy Context."; reference - "Item b) in 6.8.4.10 of IEEE Std 802.1DD."; + "Item b) in 6.7.6.10 of IEEE Std 802.1DD."; leaf vlan-context { type uint16 { range "1..4096"; } + description + "VLAN Context ID"; } } } @@ -546,146 +506,40 @@ module ieee802-dot1dd-rap { "Augment Bridge Port with RAP configuration"; reference "6 of IEEE Std 802.1DD."; - container rap-participant { - leaf participant-enabled { - type boolean; - description - "A Boolean variable indicating whether the operation of the - RAP Participant state machine is administratively enabled - (TRUE) or not (FALSE)."; - reference - "6.7.4.2 of IEEE Std 802.1DD."; - } - leaf neighbor-discovery-mode { - type enumeration { - enum lldp-discovery { - value 1; - } - enum static-configuration { - value 2; - } - enum exploratory-hello { - value 3; - } - } - description - "An administratively assigned value, indicating the operation - mode in which neighbor discovery is performed on the local - target Port, and taking one of the following enumerated - values: - 1) LLDP_DISCOVERY: The information about a neighbor target - port to be passed to the underlying LRP is obtained through - the exchange of LRP Discovery TLVs (Annex C of IEEE Std - 802.1CS-2020) by use of LLDP, and contained in - lldpNeighborTargetPort (51.7.4.7.4). - 2) STATIC_CONFIGURATION: The information about a neighbor - target port to be passed to the underlying LRP is statically - configured by the management and contained in - staticNeighborTargetPort (51.7.4.7.3). - 3) EXPLORATORY_HELLO: No neighbor target port information - needs to be passed to the underlying LRP."; - reference - "6.7.4.3 of IEEE Std 802.1DD."; - } - leaf hello-time { - type int32; - default "30"; - description - "An administratively assigned integer value, in the range 30 - through 65535, for the Hello Time parameter in a Local Target - Port request issued by the RAP Participant state machine to - the underlying LRP."; - reference - "6.7.4.4 of IEEE Std 802.1DD."; - } - leaf complete-list-timer-reset { - type int32; - description - "An administratively assigned integer value, in the range x - through y, for the cplCompleteListTimerReset parameter in a - Local Target Port request issued by the RAP Participant state - machine to the underlying LRP. The default value is z."; - reference - "6.7.4.5 of IEEE Std 802.1DD."; - } - leaf explore-hello-recv-enabled { - type boolean; - description - "An administratively assigned Boolean value for the - imPplExploreRecv parameter in a Neighbor Target Port request - issued by the RAP Participant state machine to the underlying - LRP."; - reference - "6.7.4.6 of IEEE Std 802.1DD."; - } - container local-target-port { - uses target-port; - description - "Contains the administratively configured parameters of the - local target port."; - reference - "6.7.4.7.2 of IEEE Std 802.1DD."; - } - container static-neighor-target-port { - uses target-port; - description - "Contains the administratively configured parameters of a - neighbor target port to which the local target port is to be - connected."; - reference - "6.7.4.7.3 of IEEE Std 802.1DD."; - } - container lldp-neighbor-target-port { - uses target-port; - config false; - description - "Contains the configuration parameters of a neighbor target - port discovered by LLDP."; - reference - "6.7.4.7.4 of IEEE Std 802.1DD."; - } - leaf neighbor-mismatch { - type boolean; - config false; - description - "A Boolean variable, set TRUE when detecting a mismatch between - the local target port and the neighbor target port to be - connected."; - reference - "6.7.4.8 of IEEE Std 802.1DD."; - } - leaf portal-connected { + container rap-mad-table { + description + "Container RAP MAD table"; + leaf rap-port-enabled { type boolean; - config false; description - "A Boolean value indicating whether a Portal association for the - Portal as indicated in portal-id (51.7.4.11) has been - established by the underlying LRP (TRUE) or not (FALSE)."; + "A Boolean variable indicating whether RAP MAD is enabled for this Port."; reference - "6.7.4.12 of IEEE Std 802.1DD."; + "6.6.4.1 of IEEE Std 802.1DD."; } } - container rap-propagator { + container rap-map-port-table { + description + "Container RAP MAP Port Table"; leaf stream-da-pruning-enabled { type boolean; description - "A Boolean indicating whether Stream DA Pruning (51.3.4.1.2) + "A Boolean indicating whether Stream DA Pruning (51.3.4.1.2 of IEEE 802.1Q) is administratively enabled (TRUE) or disabled (FALSE) on the Port."; reference - "Item b) in 6.8.4.7 of IEEE Std 802.1DD."; + "Item a) in 6.7.6.7 of IEEE Std 802.1DD."; } leaf max-interfering-frame-size { type uint32; config false; description "An unsigned integer, indicating the maximum frame size, in - bytes, including media-dependent overhead (12.4.2.2), that is + bytes, including media-dependent overhead (12.4.2.2 of IEEE 802.1Q), that is allowed to be transmitted through the Port. The value of this parameter is determined by the operation of the underlying MAC Service."; reference - "Item e) in 6.8.4.7 of IEEE Std 802.1DD."; + "Item b) in 6.7.6.7 of IEEE Std 802.1DD."; } leaf max-propagation-delay { type uint32; @@ -696,7 +550,7 @@ module ieee802-dot1dd-rap { underlying physical medium on the Port to a reception port connected via a LAN to the Port."; reference - "Item g) in 6.8.4.7 of IEEE Std 802.1DD."; + "Item c) in 6.7.6.7 of IEEE Std 802.1DD."; } leaf min-propagation-delay { type uint32; @@ -707,17 +561,7 @@ module ieee802-dot1dd-rap { underlying physical medium on the Port to a reception port connected via a LAN to the Port."; reference - "Item h) in 6.8.4.7 of IEEE Std 802.1DD."; - } - leaf red-context-consistent { - type boolean; - config false; - description - "A Boolean indicating whether the Redundancy Context - configuration in this Bridge is consistent with that in a - neighboring station on the Port (TRUE) or not (FALSE). "; - reference - "Item i) in 6.8.4.7 of IEEE Std 802.1DD."; + "Item d) in 6.7.6.7 of IEEE Std 802.1DD."; } } list ra-class-port-table { @@ -732,7 +576,7 @@ module ieee802-dot1dd-rap { description "The RA class ID of the associated local RA class."; reference - "Item b) in 6.8.4.8 of IEEE Std 802.1DD."; + "Item a) in 6.7.6.8 of IEEE Std 802.1DD."; } leaf domain-boundary-status { type boolean; @@ -741,7 +585,7 @@ module ieee802-dot1dd-rap { "A Boolean indicating whether the Port is a domain boundary port for the RA class (TRUE) or not (FALSE)."; reference - "Item c) in 6.8.4.8 of IEEE Std 802.1DD."; + "Item b) in 6.7.6.8 of IEEE Std 802.1DD."; } leaf max-bandwidth { type uint32; @@ -754,7 +598,7 @@ module ieee802-dot1dd-rap { 1,000,000; i.e., 100,000,000 (the maximum value)represents 100%."; reference - "Item d) in 6.8.4.8 of IEEE Std 802.1DD."; + "Item c) in 6.7.6.8 of IEEE Std 802.1DD."; } leaf allocated-bandwidth { type uint32; @@ -767,16 +611,7 @@ module ieee802-dot1dd-rap { point number scaled by a factor of 1,000,000; i.e., 100,000,000 (the maximum value) represents 100%."; reference - "Item e) in 6.8.4.8 of IEEE Std 802.1DD."; - } - leaf max-last-hop-latency { - type uint32; - description - "The value to be contained in the MaxLastHopLatency field of an - RA Class Descriptor sub-TLV associated with the RA class in the - RA attribute declared on the Port."; - reference - "Item f) in 6.8.4.8 of IEEE Std 802.1DD."; + "Item d) in 6.7.6.8 of IEEE Std 802.1DD."; } } list rap-priority-regeneration-override { @@ -789,14 +624,14 @@ module ieee802-dot1dd-rap { description "Received priority value."; reference - "6.9.4 of IEEE Std 802.1Q"; + "7.7.1 of IEEE Std 802.1DD"; } leaf regenerated-priority { type dot1qtypes:priority-type; description "Priority regeneration value."; reference - "6.9.4 of IEEE Std 802.1Q"; + "7.7.2 of IEEE Std 802.1DD"; } } list rap-talker-announce-registration { @@ -840,15 +675,23 @@ module ieee802-dot1dd-rap { type enumeration { enum not-propagated { value 0; + description + "ingress-status is NOT_PROPAGATED"; } enum attach-ready { value 1; + description + "ingress-status is ATTACH_READY"; } enum attach-fail { value 2; + description + "ingress-status is ATTACH_FAIL"; } enum attach-partial-fail { value 3; + description + "ingress-status is ATTACH_PARTIAL_FAIL"; } } description diff --git a/standard/ieee/published/802.1/ieee802-dot1as-gptp.yang b/standard/ieee/published/802.1/ieee802-dot1as-gptp.yang index b2010e830..af2e94cc9 100644 --- a/standard/ieee/published/802.1/ieee802-dot1as-gptp.yang +++ b/standard/ieee/published/802.1/ieee802-dot1as-gptp.yang @@ -2,53 +2,59 @@ module ieee802-dot1as-gptp { yang-version "1.1"; namespace urn:ieee:std:802.1AS:yang:ieee802-dot1as-gptp; prefix dot1as-gptp; + import ietf-yang-types { prefix yang; } import ieee1588-ptp-tt { prefix ptp-tt; } + organization "IEEE 802.1 Working Group"; contact "WG-URL: http://ieee802.org/1/ - WG-EMail: stds-802-1-l@ieee.org - - Contact: IEEE 802.1 Working Group Chair - Postal: C/O IEEE 802.1 Working Group - IEEE Standards Association - 445 Hoes Lane - Piscataway, NJ 08854 - USA - - E-mail: stds-802-1-chairs@ieee.org"; + WG-EMail: stds-802-1-l@ieee.org + + Contact: IEEE 802.1 Working Group Chair + Postal: C/O IEEE 802.1 Working Group + IEEE Standards Association + 445 Hoes Lane + Piscataway, NJ 08854 + USA + + E-mail: stds-802-1-chairs@ieee.org"; description - "Management objects that control timing and synchronization for time - sensitive applications, as specified in IEEE Std 802.1AS. - - Copyright (C) IEEE (2024). This version of this YANG module is part - of IEEE Std 802.1AS; see the standard itself for full legal notices."; - revision 2024-09-11 { + "Management objects that control timing and synchronization for + time sensitive applications, as specified in Clause 14 of + IEEE Std 802.1AS-2025. + + Copyright (C) IEEE (2025). This version of this YANG module is + part of IEEE Std 802.1AS-2025; see the standard itself for full + legal notices."; + + revision 2025-12-10 { description - "Published as part of IEEE Std 802.1ASdn-2024. Initial version."; + "Published as part of IEEE Std 802.1AS-2025."; reference - "IEEE Std 802.1AS - Timing and Synchronization for Time-Sensitive - Applications: IEEE Std 802.1AS-2020, IEEE Std 802.1AS-2020/Cor - 1-2021, IEEE Std 802.1ASdr-2024, IEEE Std 802.1ASdn-2024. IEEE Std - 1588 - IEEE Standard for a Precision Clock Synchronization Protocol - for Networked Measurement and Control Systems: IEEE Std 1588-2019, - IEEE Std 1588g-2022, IEEE Std 1588e-2024."; + "IEEE Std 802.1AS - Timing and Synchronization for + Time-Sensitive Applications: IEEE Std 802.1AS-2025. + IEEE Std 1588 - IEEE Standard for a Precision Clock + Synchronization Protocol for Networked Measurement and + Control Systems: IEEE Std 1588-2019, IEEE Std 1588g-2022, + IEEE Std 1588e-2024."; } typedef scaled-ns { type string { pattern "[0-9A-F]{2}(-[0-9A-F]{2}){11}"; } description - "The IEEE Std 802.1AS ScaledNs type represents signed values of - time and time interval in units of 2^16 ns, as a signed 96-bit - integer. Each of the 12 octets is represented as a pair of - hexadecimal characters, using uppercase for a letter. Octets are - separated by a dash character. The most significant octet is first."; + "The IEEE Std 802.1AS ScaledNs type represents signed values + of time and time interval in units of 2^16 ns, as a signed + 96-bit integer. Each of the 12 octets is represented as a + pair of hexadecimal characters, using uppercase for a letter. + Octets are separated by a dash character. The most + significant octet is first."; reference "6.4.3.1 of IEEE Std 802.1AS"; } @@ -57,11 +63,12 @@ module ieee802-dot1as-gptp { pattern "[0-9A-F]{2}(-[0-9A-F]{2}){11}"; } description - "The IEEE Std 802.1AS UScaledNs type represents unsigned values of - time and time interval in units of 2^16 ns, as an unsigned 96-bit - integer. Each of the 12 octets is represented as a pair of - hexadecimal characters, using uppercase for a letter. Octets are - separated by a dash character. The most significant octet is first."; + "The IEEE Std 802.1AS UScaledNs type represents unsigned + values of time and time interval in units of 2^16 ns, as an + unsigned 96-bit integer. Each of the 12 octets is represented + as a pair of hexadecimal characters, using uppercase for a + letter. Octets are separated by a dash character. The most + significant octet is first."; reference "6.4.3.2 of IEEE Std 802.1AS"; } @@ -71,9 +78,10 @@ module ieee802-dot1as-gptp { } description "The IEEE Std 802.1AS Float64 type represents IEEE Std 754 - binary64. Each of the 8 octets is represented as a pair of - hexadecimal characters, using uppercase for a letter. Octets are - separated by a dash character. The most significant octet is first."; + binary64. Each of the 8 octets is represented as a pair of + hexadecimal characters, using uppercase for a letter. Octets + are separated by a dash character. The most significant octet + is first."; reference "6.4.2 of IEEE Std 802.1AS"; } @@ -86,17 +94,18 @@ module ieee802-dot1as-gptp { reference "6.4.2 of IEEE Std 802.1AS"; } - augment - "/ptp-tt:ptp/ptp-tt:instances/ptp-tt:instance/ptp-tt:default-ds" { + + augment "/ptp-tt:ptp/ptp-tt:instances/ptp-tt:instance" + + "/ptp-tt:default-ds" { description "Augment IEEE Std 1588 defaultDS."; leaf gm-capable { type boolean; config false; description - "The value is true if the time-aware system is capable of being a - Grandmaster, and false if the time-aware system is not capable of - being a Grandmaster."; + "The value is true if the time-aware system is capable of + being a Grandmaster, and false if the time-aware system is + not capable of being a Grandmaster."; reference "14.2.7 of IEEE Std 802.1AS"; } @@ -106,9 +115,9 @@ module ieee802-dot1as-gptp { type int16; config false; description - "Offset from UTC (TAI - UTC). The offset is in units of seconds. - This leaf applies to the ClockTimeTransmitter entity (i.e., local - only, unrelated to a remote GM)."; + "Offset from UTC (TAI - UTC). The offset is in units of + seconds. This leaf applies to the ClockTimeTransmitter + entity (i.e., local only, unrelated to a remote GM)."; reference "14.2.8 of IEEE Std 802.1AS"; } @@ -116,10 +125,11 @@ module ieee802-dot1as-gptp { type boolean; config false; description - "The value of current-utc-offset-valid shall be true if the value - of current-utc-offset is known to be correct, otherwise it shall - be false. This leaf applies to the ClockTimeTransmitter entity - (i.e., local only, unrelated to a remote GM)."; + "The value of current-utc-offset-valid shall be true if the + value of current-utc-offset is known to be correct, + otherwise it shall be false. This leaf applies to the + ClockTimeTransmitter entity (i.e., local only, unrelated to + a remote GM)."; reference "14.2.9 of IEEE Std 802.1AS"; } @@ -127,11 +137,12 @@ module ieee802-dot1as-gptp { type boolean; config false; description - "If the timescale is PTP, a true value for leap59 shall indicate - that the last minute of the current UTC day contains 59 seconds. - If the timescale is not PTP, the value shall be false. This leaf - applies to the ClockTimeTransmitter entity (i.e., local only, - unrelated to a remote GM)."; + "If the timescale is PTP, a true value for leap59 shall + indicate that the last minute of the current UTC day + contains 59 seconds. If the timescale is not PTP, the value + shall be false. This leaf applies to the + ClockTimeTransmitter entity (i.e., local only, unrelated to + a remote GM)."; reference "14.2.10 of IEEE Std 802.1AS"; } @@ -139,11 +150,12 @@ module ieee802-dot1as-gptp { type boolean; config false; description - "If the timescale is PTP, a true value for leap61 shall indicate - that the last minute of the current UTC day contains 61 seconds. - If the timescale is not PTP, the value shall be false. This leaf - applies to the ClockTimeTransmitter entity (i.e., local only, - unrelated to a remote GM)."; + "If the timescale is PTP, a true value for leap61 shall + indicate that the last minute of the current UTC day + contains 61 seconds. If the timescale is not PTP, the value + shall be false. This leaf applies to the + ClockTimeTransmitter entity (i.e., local only, unrelated to + a remote GM)."; reference "14.2.11 of IEEE Std 802.1AS"; } @@ -151,10 +163,11 @@ module ieee802-dot1as-gptp { type boolean; config false; description - "The value of time-traceable shall be true if the timescale is - traceable to a primary reference; otherwise, the value shall be - false. This leaf applies to the ClockTimeTransmitter entity - (i.e., local only, unrelated to a remote GM)."; + "The value of time-traceable shall be true if the timescale + is traceable to a primary reference; otherwise, the value + shall be false. This leaf applies to the + ClockTimeTransmitter entity (i.e., local only, unrelated to + a remote GM)."; reference "14.2.12 of IEEE Std 802.1AS"; } @@ -162,11 +175,11 @@ module ieee802-dot1as-gptp { type boolean; config false; description - "The value of frequency-traceable shall be true if the frequency - determining the timescale is traceable to a primary reference; - otherwise, the value shall be false. This leaf applies to the - ClockTimeTransmitter entity (i.e., local only, unrelated to a - remote GM)."; + "The value of frequency-traceable shall be true if the + frequency determining the timescale is traceable to a + primary reference; otherwise, the value shall be false. + This leaf applies to the ClockTimeTransmitter entity + (i.e., local only, unrelated to a remote GM)."; reference "14.2.13 of IEEE Std 802.1AS"; } @@ -175,13 +188,13 @@ module ieee802-dot1as-gptp { config false; description "If ptp-timescale is true, the timescale of the - ClockTimeTransmitter entity is PTP, which is the elapsed time - since the PTP epoch measured using the second defined by - International Atomic Time (TAI). If ptp-timescale is false, the - timescale of the ClockTimeTransmitter entity is ARB, which is the - elapsed time since an arbitrary epoch. This leaf applies to the - ClockTimeTransmitter entity (i.e., local only, unrelated to a - remote GM)."; + ClockTimeTransmitter entity is PTP, which is the elapsed + time since the PTP epoch measured using the second defined + by International Atomic Time (TAI). If ptp-timescale is + false, the timescale of the ClockTimeTransmitter entity is + ARB, which is the elapsed time since an arbitrary epoch. + This leaf applies to the ClockTimeTransmitter entity + (i.e., local only, unrelated to a remote GM)."; reference "14.2.14 of IEEE Std 802.1AS"; } @@ -192,22 +205,24 @@ module ieee802-dot1as-gptp { config false; description "The source of time used by the Grandmaster Clock. This leaf - applies to the ClockTimeTransmitter entity (i.e., local only, - unrelated to a remote GM)."; + applies to the ClockTimeTransmitter entity (i.e., local + only, unrelated to a remote GM)."; reference "14.2.15 of IEEE Std 802.1AS"; } } - augment - "/ptp-tt:ptp/ptp-tt:instances/ptp-tt:instance/ptp-tt:current-ds" { + + augment "/ptp-tt:ptp/ptp-tt:instances/ptp-tt:instance" + + "/ptp-tt:current-ds" { description "Augment IEEE Std 1588 currentDS."; leaf last-gm-phase-change { type scaled-ns; config false; description - "Phase change that occurred on the most recent change in either - the Grandmaster PTP Instance or gm-timebase-indicator leaf."; + "Phase change that occurred on the most recent change in + either the Grandmaster PTP Instance or + gm-timebase-indicator leaf."; reference "14.3.4 of IEEE Std 802.1AS"; } @@ -216,8 +231,8 @@ module ieee802-dot1as-gptp { config false; description "Frequency change that occurred on the most recent change in - either the Grandmaster PTP Instance or gm-timebase-indicator - leaf."; + either the Grandmaster PTP Instance or + gm-timebase-indicator leaf."; reference "14.3.5 of IEEE Std 802.1AS"; } @@ -225,7 +240,8 @@ module ieee802-dot1as-gptp { type uint16; config false; description - "The timeBaseIndicator of the current Grandmaster PTP Instance."; + "The timeBaseIndicator of the current Grandmaster PTP + Instance."; reference "14.3.6 of IEEE Std 802.1AS"; } @@ -234,7 +250,7 @@ module ieee802-dot1as-gptp { config false; description "This statistics counter tracks the number of times the - Grandmaster PTP Instance has changed in a gPTP domain."; + Grandmaster PTP Instance has changed in a gPTP domain."; reference "14.3.7 of IEEE Std 802.1AS"; } @@ -243,10 +259,11 @@ module ieee802-dot1as-gptp { config false; description "System time when the most recent Grandmaster Clock change - occurred in a gPTP domain. This leaf's type is YANG timestamp, - which is based on system time. System time is an unsigned integer - in units of 10 milliseconds, using an epoch defined by the - implementation (typically time of boot-up)."; + occurred in a gPTP domain. This leaf's type is YANG + timestamp, which is based on system time. System time is an + unsigned integer in units of 10 milliseconds, using an + epoch defined by the implementation (typically time of + boot-up)."; reference "14.3.8 of IEEE Std 802.1AS"; } @@ -254,11 +271,11 @@ module ieee802-dot1as-gptp { type yang:timestamp; config false; description - "System time when the most recent change in Grandmaster Clock - phase occurred. This leaf's type is YANG timestamp, which is - based on system time. System time is an unsigned integer in units - of 10 milliseconds, using an epoch defined by the implementation - (typically time of boot-up)."; + "System time when the most recent change in Grandmaster + Clock phase occurred. This leaf's type is YANG timestamp, + which is based on system time. System time is an unsigned + integer in units of 10 milliseconds, using an epoch defined + by the implementation (typically time of boot-up)."; reference "14.3.9 of IEEE Std 802.1AS"; } @@ -266,31 +283,35 @@ module ieee802-dot1as-gptp { type yang:timestamp; config false; description - "System time when the most recent change in Grandmaster Clock - frequency occurred. This leaf's type is YANG timestamp, which is - based on system time. System time is an unsigned integer in units - of 10 milliseconds, using an epoch defined by the implementation - (typically time of boot-up)."; + "System time when the most recent change in Grandmaster + Clock frequency occurred. This leaf's type is YANG + timestamp, which is based on system time. System time is an + unsigned integer in units of 10 milliseconds, using an + epoch defined by the implementation (typically time of + boot-up)."; reference "14.3.10 of IEEE Std 802.1AS"; } } - augment "/ptp-tt:ptp/ptp-tt:instances/ptp-tt:instance/ptp-tt:parent-ds" { + + augment "/ptp-tt:ptp/ptp-tt:instances/ptp-tt:instance" + + "/ptp-tt:parent-ds" { description "Augment IEEE Std 1588 parentDS."; leaf cumulative-rate-ratio { type int32; config false; description - "Estimate of the ratio of the frequency of the Grandmaster Clock - to the frequency of the LocalClock entity of this PTP Instance. - cumulative-rate-ratio is expressed as the fractional frequency - offset multiplied by 2^41, i.e., the quantity (rateRatio - - 1.0)(2^41)."; + "Estimate of the ratio of the frequency of the Grandmaster + Clock to the frequency of the LocalClock entity of this PTP + Instance. cumulative-rate-ratio is expressed as the + fractional frequency offset multiplied by 2^41, i.e., the + quantity (rateRatio - 1.0)(2^41)."; reference "14.4.3 of IEEE Std 802.1AS"; } } + augment "/ptp-tt:ptp"+ "/ptp-tt:instances"+ @@ -301,74 +322,85 @@ module ieee802-dot1as-gptp { description "Augment IEEE Std 1588 portDS. - 14.8.4 of IEEE Std 802.1AS specifies ptpPortEnabled - (ptp-port-enabled), which is provided in YANG as the semantically - equivalent node in ieee1588-ptp-tt named port-enable (in port-ds). + 14.10.4 of IEEE Std 802.1AS specifies ptpPortEnabled + (ptp-port-enabled), which is provided in YANG as the + semantically equivalent node in ieee1588-ptp-tt named + port-enable (in port-ds). - 14.8.15 of IEEE Std 802.1AS specifies - mgtSettableLogAnnounceInterval (mgt-log-announce-interval), which - is provided in YANG as the semantically equivalent node in - ieee1588-ptp-tt named log-announce-interval (in port-ds). In the - context of IEEE Std 802.1AS, log-announce-interval cannot be used - unless use-mgt-log-announce-interval is true. + 14.10.16 of IEEE Std 802.1AS specifies + mgtSettableLogAnnounceInterval (mgt-log-announce-interval), + which is provided in YANG as the semantically equivalent node + in ieee1588-ptp-tt named log-announce-interval (in port-ds). + In the context of IEEE Std 802.1AS, log-announce-interval + cannot be used unless use-mgt-log-announce-interval is true. - 14.8.20 of IEEE Std 802.1AS specifies mgtSettableLogSyncInterval - (mgt-log-sync-interval), which is provided in YANG as the - semantically equivalent node in ieee1588-ptp-tt named - log-sync-interval (in port-ds). In the context of IEEE Std 802.1AS, - log-sync-interval cannot be used unless use-mgt-log-sync-interval - is true."; + 14.10.21 of IEEE Std 802.1AS specifies + mgtSettableLogSyncInterval (mgt-log-sync-interval), which is + provided in YANG as the semantically equivalent node in + ieee1588-ptp-tt named log-sync-interval (in port-ds). In the + context of IEEE Std 802.1AS, log-sync-interval cannot be used + unless use-mgt-log-sync-interval is true."; leaf is-measuring-delay { type boolean; config false; description "Boolean that is true if the port is measuring PTP Link - propagation delay."; + propagation delay."; reference - "14.8.6 of IEEE Std 802.1AS"; + "14.10.6 of IEEE Std 802.1AS"; } leaf as-capable { type boolean; config false; description - "Boolean that is true if and only if it is determined that this - PTP Instance and the PTP Instance at the other end of the link - attached to this port can interoperate with each other via the - IEEE Std 802.1AS protocol."; + "Boolean that is true if and only if it is determined that + this PTP Instance and the PTP Instance at the other end of + the link attached to this port can interoperate with each + other via the IEEE Std 802.1AS protocol."; reference "10.2.5.1 of IEEE Std 802.1AS - 14.8.7 of IEEE Std 802.1AS"; + 14.10.7 of IEEE Std 802.1AS"; } leaf mean-link-delay-thresh { type ptp-tt:time-interval; description - "Propagation time threshold for mean-link-delay, above which a - port is not considered capable of participating in the IEEE Std - 802.1AS protocol."; + "Propagation time threshold for mean-link-delay, above which + a port is not considered capable of participating in the + IEEE Std 802.1AS protocol."; reference - "14.8.9 of IEEE Std 802.1AS"; + "14.10.9 of IEEE Std 802.1AS"; + } + leaf neg-mean-link-delay-thresh { + type ptp-tt:time-interval; + description + "The negative propagation time threshold for + mean-link-delay, below which a port is not considered + capable of participating in the IEEE Std 802.1AS + protocol."; + reference + "14.10.10 of IEEE Std 802.1AS"; } leaf neighbor-rate-ratio { type int32; config false; description - "Estimate of the ratio of the frequency of the LocalClock entity - of the PTP Instance at the other end of the link attached to this - PTP Port, to the frequency of the LocalClock entity of this PTP - Instance. neighbor-rate-ratio is expressed as the fractional - frequency offset multiplied by 2^41, i.e., the quantity - (rateRatio - 1.0)(2^41)."; + "Estimate of the ratio of the frequency of the LocalClock + entity of the PTP Instance at the other end of the link + attached to this PTP Port, to the frequency of the + LocalClock entity of this PTP Instance. neighbor-rate-ratio + is expressed as the fractional frequency offset multiplied + by 2^41, i.e., the quantity (rateRatio - 1.0)(2^41)."; reference - "14.8.11 of IEEE Std 802.1AS"; + "14.10.12 of IEEE Std 802.1AS"; } leaf initial-log-announce-interval { type int8; description - "When use-mgt-log-announce-interval is false (i.e., change with - Signaling message), this is the the logarithm to base 2 of the - announce interval used when the port is initialized."; + "When use-mgt-log-announce-interval is false (i.e., change + with Signaling message), this is the logarithm to base 2 of + the announce interval used when the port is initialized."; reference - "14.8.12 of IEEE Std 802.1AS"; + "14.10.13 of IEEE Std 802.1AS"; } leaf current-log-announce-interval { type int8; @@ -376,28 +408,29 @@ module ieee802-dot1as-gptp { description "Logarithm to base 2 of the current announce interval."; reference - "14.8.13 of IEEE Std 802.1AS"; + "14.10.14 of IEEE Std 802.1AS"; } leaf use-mgt-log-announce-interval { type boolean; description - "Boolean that determines the source of the announce interval. If - the value is true, the announce interval - (current-log-announce-interval) is set equal to the value of - mgt-log-announce-interval. If the value is false, the announce - interval is determined by the AnnounceIntervalSetting state - machine (i.e., changed with Signaling message)."; + "Boolean that determines the source of the announce + interval. If the value is true, the announce interval + (current-log-announce-interval) is set equal to the value + of mgt-log-announce-interval. If the value is false, the + announce interval is determined by the + AnnounceIntervalSetting state machine (i.e., changed with + Signaling message)."; reference - "14.8.14 of IEEE Std 802.1AS"; + "14.10.15 of IEEE Std 802.1AS"; } leaf initial-log-sync-interval { type int8; description "When use-mgt-log-sync-interval is false (i.e., change with - Signaling message), this is the the logarithm to base 2 of the - sync interval used when the port is initialized."; + Signaling message), this is the logarithm to base 2 of the + sync interval used when the port is initialized."; reference - "14.8.17 of IEEE Std 802.1AS"; + "14.10.18 of IEEE Std 802.1AS"; } leaf current-log-sync-interval { type int8; @@ -405,126 +438,131 @@ module ieee802-dot1as-gptp { description "Logarithm to base 2 of the current sync interval."; reference - "14.8.18 of IEEE Std 802.1AS"; + "14.10.19 of IEEE Std 802.1AS"; } leaf use-mgt-log-sync-interval { type boolean; description - "Boolean that determines the source of the sync interval. If the - value is true, the sync interval (current-log-sync-interval) is - set equal to the value of mgt-log-sync-interval. If the value is - false, the sync interval is determined by the SyncIntervalSetting - state machine (i.e., changed with Signaling message)."; + "Boolean that determines the source of the sync interval. + If the value is true, the sync interval + (current-log-sync-interval) is set equal to the value of + mgt-log-sync-interval. If the value is false, the sync + interval is determined by the SyncIntervalSetting + state machine (i.e., changed with Signaling message)."; reference - "14.8.19 of IEEE Std 802.1AS"; + "14.10.20 of IEEE Std 802.1AS"; } leaf sync-receipt-timeout { type uint8; description - "Number of sync intervals that a timeReceiver port waits without - receiving synchronization information, before assuming that the - timeTransmitter is no longer transmitting synchronization - information and that the BTCA needs to be run, if appropriate."; + "Number of sync intervals that a timeReceiver port waits + without receiving synchronization information, before + assuming that the timeTransmitter is no longer transmitting + synchronization information and that the BTCA needs to be + run, if appropriate."; reference - "14.8.21 of IEEE Std 802.1AS"; + "14.10.22 of IEEE Std 802.1AS"; } leaf sync-receipt-timeout-interval { type uscaled-ns; config false; description "Time interval after which sync receipt timeout occurs if - time-synchronization information has not been received during the - interval."; + time-synchronization information has not been received + during the interval."; reference - "14.8.22 of IEEE Std 802.1AS"; + "14.10.23 of IEEE Std 802.1AS"; } leaf initial-log-pdelay-req-interval { type int8; description - "When use-mgt-log-pdelay-req-interval is false (i.e., change with - Signaling message), this is the the logarithm to base 2 of the - Pdelay_Req transmit interval used when the port is initialized."; + "When use-mgt-log-pdelay-req-interval is false (i.e., change + with Signaling message), this is the logarithm to base 2 of + the Pdelay_Req transmit interval used when the port is + initialized."; reference - "14.8.23 of IEEE Std 802.1AS"; + "14.10.24 of IEEE Std 802.1AS"; } leaf current-log-pdelay-req-interval { type int8; config false; description - "Logarithm to base 2 of the current Pdelay_Req transmit interval."; + "Logarithm to base 2 of the current Pdelay_Req transmit + interval."; reference - "14.8.24 of IEEE Std 802.1AS"; + "14.10.25 of IEEE Std 802.1AS"; } leaf use-mgt-log-pdelay-req-interval { type boolean; description - "Boolean that determines the source of the Pdelay_Req transmit - interval. If the value is true, the Pdelay_Req transmit interval - (current-log-pdelay-req-interval) is set equal to the value of - mgt-log-pdelay-req-interval. If the value is false, the - Pdelay_Req transmit interval is determined by the - LinkDelayIntervalSetting state machine (i.e., changed with - Signaling message)."; + "Boolean that determines the source of the Pdelay_Req + transmit interval. If the value is true, the Pdelay_Req + transmit interval (current-log-pdelay-req-interval) is set + equal to the value of mgt-log-pdelay-req-interval. If the + value is false, the Pdelay_Req transmit interval is + determined by the LinkDelayIntervalSetting state machine + (i.e., changed with Signaling message)."; reference - "14.8.25 of IEEE Std 802.1AS"; + "14.10.26 of IEEE Std 802.1AS"; } leaf mgt-log-pdelay-req-interval { type int8; description - "Logarithm to base 2 of the Pdelay_Req transmit interval, used if - use-mgt-log-pdelay-req-interval is true. This value is not used - if use-mgt-log-pdelay-req-interval is false."; + "Logarithm to base 2 of the Pdelay_Req transmit interval, + used if use-mgt-log-pdelay-req-interval is true. This value + is not used if use-mgt-log-pdelay-req-interval is false."; reference - "14.8.26 of IEEE Std 802.1AS"; + "14.10.27 of IEEE Std 802.1AS"; } leaf initial-log-gptp-cap-interval { type int8; description - "When use-mgt-log-gptp-cap-interval is false (i.e., change with - Signaling message), this is the the logarithm to base 2 of the - gPTP capable message interval used when the port is initialized."; + "When use-mgt-log-gptp-cap-interval is false (i.e., change + with Signaling message), this is the logarithm to base 2 of + the gPTP capable message interval used when the port is + initialized."; reference - "14.8.27 of IEEE Std 802.1AS"; + "14.10.28 of IEEE Std 802.1AS"; } leaf current-log-gptp-cap-interval { type int8; config false; description "Logarithm to base 2 of the current gPTP capable message - interval."; + interval."; reference - "14.8.28 of IEEE Std 802.1AS"; + "14.10.29 of IEEE Std 802.1AS"; } leaf use-mgt-log-gptp-cap-interval { type boolean; description - "Boolean that determines the source of the gPTP capable message - interval. If the value is true, the gPTP capable message interval - (current-log-gptp-cap-interval) is set equal to the value of - mgt-gptp-cap-req-interval. If the value is false, the gPTP - capable message interval is determined by the - GptpCapableMessageIntervalSetting state machine (i.e., changed - with Signaling message)."; + "Boolean that determines the source of the gPTP capable + message interval. If the value is true, the gPTP capable + message interval (current-log-gptp-cap-interval) is set + equal to the value of mgt-gptp-cap-req-interval. If the + value is false, the gPTP capable message interval is + determined by the GptpCapableMessageIntervalSetting state + machine (i.e., changed with Signaling message)."; reference - "14.8.29 of IEEE Std 802.1AS"; + "14.10.30 of IEEE Std 802.1AS"; } leaf mgt-log-gptp-cap-interval { type int8; description - "Logarithm to base 2 of the gPTP capable message interval, used - if use-mgt-log-gptp-cap-interval is true. This value is not used - if use-mgt-log-pdelay-req-interval is false."; + "Logarithm to base 2 of the gPTP capable message interval, + used if use-mgt-log-gptp-cap-interval is true. This value + is not used if use-mgt-log-pdelay-req-interval is false."; reference - "14.8.30 of IEEE Std 802.1AS"; + "14.10.31 of IEEE Std 802.1AS"; } leaf initial-compute-neighbor-rate-ratio { type boolean; description - "When use-mgt-compute-neighbor-rate-ratio is false (i.e., change - with Signaling message), this is the initial value of - computeNeighborRateRatio."; + "When use-mgt-compute-neighbor-rate-ratio is false + (i.e., change with Signaling message), this is the initial + value of computeNeighborRateRatio."; reference - "14.8.31 of IEEE Std 802.1AS"; + "14.10.32 of IEEE Std 802.1AS"; } leaf current-compute-neighbor-rate-ratio { type boolean; @@ -532,37 +570,38 @@ module ieee802-dot1as-gptp { description "Current value of computeNeighborRateRatio."; reference - "14.8.32 of IEEE Std 802.1AS"; + "14.10.33 of IEEE Std 802.1AS"; } leaf use-mgt-compute-neighbor-rate-ratio { type boolean; description - "Boolean that determines the source of computeNeighborRateRatio.. - If the value is true, computeNeighborRateRatio is set equal to - the value of mgt-compute-neighbor-rate-ratio. If the value is - false, computeNeighborRateRatio is determined by the - LinkDelayIntervalSetting state machine (i.e., changed with - Signaling message)."; + "Boolean that determines the source of + computeNeighborRateRatio. If the value is true, + computeNeighborRateRatio is set equal to the value of + mgt-compute-neighbor-rate-ratio. If the value is false, + computeNeighborRateRatio is determined by the + LinkDelayIntervalSetting state machine (i.e., changed with + Signaling message)."; reference - "14.8.33 of IEEE Std 802.1AS"; + "14.10.34 of IEEE Std 802.1AS"; } leaf mgt-compute-neighbor-rate-ratio { type boolean; description "Value of computeNeighborRateRatio, used if - use-mgt-compute-neighbor-rate-ratio is true. This value is not - used if use-mgt-compute-neighbor-rate-ratio is false."; + use-mgt-compute-neighbor-rate-ratio is true. This value is + not used if use-mgt-compute-neighbor-rate-ratio is false."; reference - "14.8.34 of IEEE Std 802.1AS"; + "14.10.35 of IEEE Std 802.1AS"; } leaf initial-compute-mean-link-delay { type boolean; description - "When use-mgt-compute-mean-link-delay is false (i.e., change with - Signaling message), this is the initial value of - computeMeanLinkDelay."; + "When use-mgt-compute-mean-link-delay is false (i.e., change + with Signaling message), this is the initial value of + computeMeanLinkDelay."; reference - "14.8.35 of IEEE Std 802.1AS"; + "14.10.36 of IEEE Std 802.1AS"; } leaf current-compute-mean-link-delay { type boolean; @@ -570,170 +609,175 @@ module ieee802-dot1as-gptp { description "Current value of computeMeanLinkDelay."; reference - "14.8.36 of IEEE Std 802.1AS"; + "14.10.37 of IEEE Std 802.1AS"; } leaf use-mgt-compute-mean-link-delay { type boolean; description - "Boolean that determines the source of computeMeanLinkDelay. If - the value is true, computeMeanLinkDelay is set equal to the value - of mgt-compute-mean-link-delay. If the value is false, - computeMeanLinkDelay is determined by the - LinkDelayIntervalSetting state machine (i.e., changed with - Signaling message)."; + "Boolean that determines the source of computeMeanLinkDelay. + If the value is true, computeMeanLinkDelay is set equal to + the value of mgt-compute-mean-link-delay. If the value is + false, computeMeanLinkDelay is determined by the + LinkDelayIntervalSetting state machine (i.e., changed with + Signaling message)."; reference - "14.8.37 of IEEE Std 802.1AS"; + "14.10.38 of IEEE Std 802.1AS"; } leaf mgt-compute-mean-link-delay { type boolean; description "Value of computeMeanLinkDelay, used if - use-mgt-compute-mean-link-delay is true. This value is not used - if use-mgt-compute-mean-link-delay is false."; + use-mgt-compute-mean-link-delay is true. This value is not + used if use-mgt-compute-mean-link-delay is false."; reference - "14.8.38 of IEEE Std 802.1AS"; + "14.10.39 of IEEE Std 802.1AS"; } leaf allowed-lost-responses { type uint8; description - "Number of Pdelay_Req messages for which a valid response is not - received, above which a port is considered to not be exchanging - peer delay messages with its neighbor."; + "Number of Pdelay_Req messages for which a valid response is + not received, above which a port is considered to not be + exchanging peer delay messages with its neighbor."; reference - "14.8.39 of IEEE Std 802.1AS"; + "14.10.40 of IEEE Std 802.1AS"; } leaf allowed-faults { type uint8; description "Number of faults above which asCapable is set to false."; reference - "14.8.40 of IEEE Std 802.1AS"; + "14.10.41 of IEEE Std 802.1AS"; } leaf gptp-cap-receipt-timeout { type uint8; description "Number of transmission intervals that a port waits without - receiving the gPTP capable TLV, before assuming that the neighbor - port is no longer invoking the gPTP protocol."; + receiving the gPTP-capable TLV, before assuming that the + neighbor port is no longer invoking the gPTP protocol."; reference - "14.8.41 of IEEE Std 802.1AS"; + "14.10.42 of IEEE Std 802.1AS"; } leaf nup { type float64; description - "For an OLT port of an IEEE Std 802.3 EPON link, this value is - the effective index of refraction for the EPON upstream - wavelength light of the optical path."; + "For an OLT port of an IEEE Std 802.3 EPON link, this value + is the effective index of refraction for the EPON upstream + wavelength light of the optical path."; reference - "14.8.43 of IEEE Std 802.1AS"; + "14.10.44 of IEEE Std 802.1AS"; } leaf ndown { type float64; description - "For an OLT port of an IEEE 802.3 EPON link, this value is the - effective index of refraction for the EPON downstream wavelength - light of the optical path."; + "For an OLT port of an IEEE 802.3 EPON link, this value is + the effective index of refraction for the EPON downstream + wavelength light of the optical path."; reference - "14.8.44 of IEEE Std 802.1AS"; + "14.10.45 of IEEE Std 802.1AS"; } leaf one-step-tx-oper { type boolean; config false; description "This value is true if the port is sending one-step Sync - messages, and false if the port is sending two-step Sync and - Follow-Up messages."; + messages, and false if the port is sending two-step Sync + and Follow_Up messages."; reference - "14.8.45 of IEEE Std 802.1AS"; + "14.10.46 of IEEE Std 802.1AS"; } leaf one-step-receive { type boolean; config false; description "This value is true if the port is capable of receiving and - processing one-step Sync messages."; + processing one-step Sync messages."; reference - "14.8.46 of IEEE Std 802.1AS"; + "14.10.47 of IEEE Std 802.1AS"; } leaf one-step-transmit { type boolean; config false; description "This value is true if the port is capable of transmitting - one-step Sync messages."; + one-step Sync messages."; reference - "14.8.47 of IEEE Std 802.1AS"; + "14.10.48 of IEEE Std 802.1AS"; } leaf initial-one-step-tx-oper { type boolean; description "When use-mgt-one-step-tx-oper is false (i.e., change with - Signaling message), this is the initial value of - current-one-step-tx-oper."; + Signaling message), this is the initial value of + current-one-step-tx-oper."; reference - "14.8.48 of IEEE Std 802.1AS"; + "14.10.49 of IEEE Std 802.1AS"; } leaf current-one-step-tx-oper { type boolean; config false; description "This value is true if the port is configured to transmit - one-step Sync messages, either via management - (mgt-one-step-tx-oper) or Signaling. If both - current-one-step-tx-oper and one-step-transmit are true, the port - transmits one-step Sync messages (i.e., one-step-tx-oper true)."; + one-step Sync messages, either via management + (mgt-one-step-tx-oper) or Signaling. If both + current-one-step-tx-oper and one-step-transmit are true, + the port transmits one-step Sync messages + (i.e., one-step-tx-oper true)."; reference - "14.8.49 of IEEE Std 802.1AS"; + "14.10.50 of IEEE Std 802.1AS"; } leaf use-mgt-one-step-tx-oper { type boolean; description - "Boolean that determines the source of current-one-step-tx-oper. - If the value is true, current-one-step-tx-oper is set equal to - the value of mgt-one-step-tx-oper. If the value is false, - current-one-step-tx-oper is determined by the - OneStepTxOperSetting state machine (i.e., changed with Signaling - message)."; + "Boolean that determines the source of + current-one-step-tx-oper. If the value is true, + current-one-step-tx-oper is set equal to the value of + mgt-one-step-tx-oper. If the value is false, + current-one-step-tx-oper is determined by the + OneStepTxOperSetting state machine (i.e., changed with + Signaling message)."; reference - "14.8.50 of IEEE Std 802.1AS"; + "14.10.51 of IEEE Std 802.1AS"; } leaf mgt-one-step-tx-oper { type boolean; description - "If use-mgt-one-step-tx-oper is true, current-one-step-tx-oper is - set equal to this value. This value is not used if - use-mgt-one-step-tx-oper is false."; + "If use-mgt-one-step-tx-oper is true, + current-one-step-tx-oper is set equal to this value. This + value is not used if use-mgt-one-step-tx-oper is false."; reference - "14.8.51 of IEEE Std 802.1AS"; + "14.10.52 of IEEE Std 802.1AS"; } leaf sync-locked { type boolean; config false; description - "This value is true if the port will transmit a Sync as soon as - possible after the timeReceiver port receives a Sync message."; + "This value is true if the port will transmit a Sync as soon + as possible after the timeReceiver port receives a Sync + message."; reference - "14.8.52 of IEEE Std 802.1AS"; + "14.10.53 of IEEE Std 802.1AS"; } leaf-list pdelay-truncated-timestamps { type uinteger48; config false; description - "For full-duplex IEEE Std 802.3 media, and CSN media that use the - peer-to-peer delay mechanism to measure path delay, the values of - the four elements of this leaf-list correspond to the timestamps - t1, t2, t3, and t4, listed in that order. Each timestamp is - expressed in units of 2^-16 ns (i.e., the value of each array - element is equal to the remainder obtained upon dividing the - respective timestamp, expressed in units of 2^-16 ns, by 2^48). - At any given time, the timestamp values stored in the array are - for the same, and most recently completed, peer delay message - exchange. For each timestamp, only 48-bits are valid (the upper - 16-bits are always zero)."; - reference - "14.8.53 of IEEE Std 802.1AS"; + "For full-duplex IEEE Std 802.3 media, and CSN media that + use the peer-to-peer delay mechanism to measure path delay, + the values of the four elements of this leaf-list + correspond to the timestamps t1, t2, t3, and t4, listed in + that order. Each timestamp is expressed in units of + 2^-16 ns (i.e., the value of each array element is equal to + the remainder obtained upon dividing the respective + timestamp, expressed in units of 2^-16 ns, by 2^48). + At any given time, the timestamp values stored in the array + are for the same, and most recently completed, peer delay + message exchange. For each timestamp, only 48-bits are + valid (the upper 16-bits are always zero)."; + reference + "14.10.54 of IEEE Std 802.1AS"; } } + augment "/ptp-tt:ptp"+ "/ptp-tt:instances"+ @@ -741,178 +785,181 @@ module ieee802-dot1as-gptp { "/ptp-tt:ports"+ "/ptp-tt:port" { description - "Augment to add port-statistics-ds to IEEE Std 1588 PTP Port."; + "Augment to add port-statistics-ds to IEEE Std 1588 PTP + Port."; container port-statistics-ds { description - "Provides counters associated with the port of the PTP Instance."; + "Provides counters associated with the port of the PTP + Instance."; reference - "14.10 of IEEE Std 802.1AS"; + "14.12 of IEEE Std 802.1AS"; leaf rx-sync-count { type yang:counter32; config false; description - "Counter that increments every time synchronization information - is received."; + "Counter that increments every time synchronization + information is received."; reference - "14.10.2 of IEEE Std 802.1AS"; + "14.12.2 of IEEE Std 802.1AS"; } leaf rx-one-step-sync-count { type yang:counter32; config false; description - "Counter that increments every time a one-step Sync message is - received."; + "Counter that increments every time a one-step Sync + message is received."; reference - "14.10.3 of IEEE Std 802.1AS"; + "14.12.3 of IEEE Std 802.1AS"; } leaf rx-follow-up-count { type yang:counter32; config false; description "Counter that increments every time a Follow_Up message is - received."; + received."; reference - "14.10.4 of IEEE Std 802.1AS"; + "14.12.4 of IEEE Std 802.1AS"; } leaf rx-pdelay-req-count { type yang:counter32; config false; description - "Counter that increments every time a Pdelay_Req message is - received."; + "Counter that increments every time a Pdelay_Req message + is received."; reference - "14.10.5 of IEEE Std 802.1AS"; + "14.12.5 of IEEE Std 802.1AS"; } leaf rx-pdelay-resp-count { type yang:counter32; config false; description - "Counter that increments every time a Pdelay_Resp message is - received."; + "Counter that increments every time a Pdelay_Resp message + is received."; reference - "14.10.6 of IEEE Std 802.1AS"; + "14.12.6 of IEEE Std 802.1AS"; } leaf rx-pdelay-resp-follow-up-count { type yang:counter32; config false; description - "Counter that increments every time a Pdelay_Resp_Follow_Up - message is received."; + "Counter that increments every time a + Pdelay_Resp_Follow_Up message is received."; reference - "14.10.7 of IEEE Std 802.1AS"; + "14.12.7 of IEEE Std 802.1AS"; } leaf rx-announce-count { type yang:counter32; config false; description "Counter that increments every time an Announce message is - received."; + received."; reference - "14.10.8 of IEEE Std 802.1AS"; + "14.12.8 of IEEE Std 802.1AS"; } leaf rx-packet-discard-count { type yang:counter32; config false; description "Counter that increments every time a PTP message of the - respective PTP Instance is discarded."; + respective PTP Instance is discarded."; reference - "14.10.9 of IEEE Std 802.1AS"; + "14.12.9 of IEEE Std 802.1AS"; } leaf sync-receipt-timeout-count { type yang:counter32; config false; description "Counter that increments every time a sync receipt timeout - occurs."; + occurs."; reference - "14.10.10 of IEEE Std 802.1AS"; + "14.12.10 of IEEE Std 802.1AS"; } leaf announce-receipt-timeout-count { type yang:counter32; config false; description - "Counter that increments every time an announce receipt timeout - occurs."; + "Counter that increments every time an announce receipt + timeout occurs."; reference - "14.10.11 of IEEE Std 802.1AS"; + "14.12.11 of IEEE Std 802.1AS"; } leaf pdelay-allowed-lost-exceeded-count { type yang:counter32; config false; description - "Counter that increments every time the value of the variable - lostResponses exceeds the value of the variable - allowedLostResponses, in the RESET state of the MDPdelayReq - state machine."; + "Counter that increments every time the value of the + variable lostResponses exceeds the value of the variable + allowedLostResponses, in the RESET state of the + MDPdelayReq state machine."; reference - "14.10.12 of IEEE Std 802.1AS"; + "14.12.12 of IEEE Std 802.1AS"; } leaf tx-sync-count { type yang:counter32; config false; description - "Counter that increments every time synchronization information - is transmitted."; + "Counter that increments every time synchronization + information is transmitted."; reference - "14.10.13 of IEEE Std 802.1AS"; + "14.12.13 of IEEE Std 802.1AS"; } leaf tx-one-step-sync-count { type yang:counter32; config false; description - "Counter that increments every time a one-step Sync message is - transmitted."; + "Counter that increments every time a one-step Sync + message is transmitted."; reference - "14.10.14 of IEEE Std 802.1AS"; + "14.12.14 of IEEE Std 802.1AS"; } leaf tx-follow-up-count { type yang:counter32; config false; description "Counter that increments every time a Follow_Up message is - transmitted."; + transmitted."; reference - "14.10.15 of IEEE Std 802.1AS"; + "14.12.15 of IEEE Std 802.1AS"; } leaf tx-pdelay-req-count { type yang:counter32; config false; description - "Counter that increments every time a Pdelay_Req message is - transmitted."; + "Counter that increments every time a Pdelay_Req message + is transmitted."; reference - "14.10.16 of IEEE Std 802.1AS"; + "14.12.16 of IEEE Std 802.1AS"; } leaf tx-pdelay-resp-count { type yang:counter32; config false; description - "Counter that increments every time a Pdelay_Resp message is - transmitted."; + "Counter that increments every time a Pdelay_Resp message + is transmitted."; reference - "14.10.17 of IEEE Std 802.1AS"; + "14.12.17 of IEEE Std 802.1AS"; } leaf tx-pdelay-resp-follow-up-count { type yang:counter32; config false; description - "Counter that increments every time a Pdelay_Resp_Follow_Up - message is transmitted."; + "Counter that increments every time a + Pdelay_Resp_Follow_Up message is transmitted."; reference - "14.10.18 of IEEE Std 802.1AS"; + "14.12.18 of IEEE Std 802.1AS"; } leaf tx-announce-count { type yang:counter32; config false; description "Counter that increments every time an Announce message is - transmitted."; + transmitted."; reference - "14.10.19 of IEEE Std 802.1AS"; + "14.12.19 of IEEE Std 802.1AS"; } } } + augment "/ptp-tt:ptp"+ "/ptp-tt:instances"+ @@ -920,29 +967,31 @@ module ieee802-dot1as-gptp { "/ptp-tt:ports"+ "/ptp-tt:port" { description - "Augment to add asymmetry-measurement-mode-ds to IEEE Std 1588 PTP - Port."; + "Augment to add asymmetry-measurement-mode-ds to IEEE Std 1588 + PTP Port."; container asymmetry-measurement-mode-ds { description "Represents the capability to enable/disable the Asymmetry - Compensation Measurement Procedure on a PTP Port. This data set - is used instead of the CMLDS asymmetry-measurement-mode-ds when - only a single PTP Instance is present (i.e., CMLDS is not used)."; + Compensation Measurement Procedure on a PTP Port. This data + set is used instead of the CMLDS + asymmetry-measurement-mode-ds when only a single PTP + Instance is present (i.e., CMLDS is not used)."; reference - "14.13 of IEEE Std 802.1AS - Annex G of IEEE Std 802.1AS"; + "14.15 of IEEE Std 802.1AS + Annex G of IEEE Std 802.1AS"; leaf enabled { type boolean; description - "For full-duplex IEEE Std 802.3 media, the value is true if an - asymmetry measurement is being performed for the link attached - to this PTP Port, and false otherwise. For all other media, the - value shall be false."; + "For full-duplex IEEE Std 802.3 media, the value is true + if an asymmetry measurement is being performed for the + link attached to this PTP Port, and false otherwise. For + all other media, the value shall be false."; reference - "14.13.2 of IEEE Std 802.1AS"; + "14.15.2 of IEEE Std 802.1AS"; } } } + augment "/ptp-tt:ptp"+ "/ptp-tt:common-services"+ @@ -951,176 +1000,186 @@ module ieee802-dot1as-gptp { "/ptp-tt:port"+ "/ptp-tt:link-port-ds" { description - "Augment IEEE Std 1588 cmldsLinkPortDS. - - 14.16.9 of IEEE Std 802.1AS specifies neighborRateRatio - (neighbor-rate-ratio), which is provided in YANG as the - semantically equivalent node in ieee1588-ptp-tt named - scaled-neighbor-rate-ratio (in link-port-ds)."; + "Augment IEEE Std 1588 cmldsLinkPortDS."; leaf cmlds-link-port-enabled { type boolean; config false; description - "Boolean that is true if both delay-mechanism is common-p2p and - the value of ptp-port-enabled is true, for at least one PTP Port - that uses the CMLDS; otherwise, the value is false."; + "Boolean that is true if both delay-mechanism is common-p2p + and the value of ptp-port-enabled is true, for at least one + PTP Port that uses the CMLDS; otherwise, the value is + false."; reference "11.2.18.1 of IEEE Std 802.1AS - 14.16.3 of IEEE Std 802.1AS"; + 14.18.3 of IEEE Std 802.1AS"; } leaf is-measuring-delay { type boolean; config false; description - "This leaf is analogous to is-measuring-delay for a PTP Port, but - applicable to this Link Port."; + "This leaf is analogous to is-measuring-delay for a PTP + Port, but applicable to this Link Port."; reference - "14.16.4 of IEEE Std 802.1AS"; + "14.18.4 of IEEE Std 802.1AS"; } leaf as-capable-across-domains { type boolean; config false; description - "This leaf is true when all PTP Instances (domains) for this Link - Port detect proper exchange of Pdelay messages."; + "This leaf is true when all PTP Instances (domains) for this + Link Port detect proper exchange of Pdelay messages."; reference "11.2.2 of IEEE Std 802.1AS - 14.16.5 of IEEE Std 802.1AS"; + 14.18.5 of IEEE Std 802.1AS"; } leaf mean-link-delay-thresh { type ptp-tt:time-interval; description - "Propagation time threshold for mean-link-delay, above which a - Link Port is not considered capable of participating in the IEEE - Std 802.1AS protocol."; + "Propagation time threshold for mean-link-delay, above which + a Link Port is not considered capable of participating in + the IEEE Std 802.1AS protocol."; + reference + "14.18.7 of IEEE Std 802.1AS"; + } + leaf neg-mean-link-delay-thresh { + type ptp-tt:time-interval; + description + "The negative propagation time threshold for + mean-link-delay, below which a Link Port is not considered + capable of participating in the IEEE Std 802.1AS + protocol."; reference - "14.16.7 of IEEE Std 802.1AS"; + "14.18.8 of IEEE Std 802.1AS"; } leaf initial-log-pdelay-req-interval { type int8; description - "This leaf is analogous to initial-log-pdelay-req-interval for a - PTP Port, but applicable to this Link Port."; + "This leaf is analogous to initial-log-pdelay-req-interval + for a PTP Port, but applicable to this Link Port."; reference - "14.16.10 of IEEE Std 802.1AS"; + "14.18.11 of IEEE Std 802.1AS"; } leaf current-log-pdelay-req-interval { type int8; config false; description - "This leaf is analogous to current-log-pdelay-req-interval for a - PTP Port, but applicable to this Link Port."; + "This leaf is analogous to current-log-pdelay-req-interval + for a PTP Port, but applicable to this Link Port."; reference - "14.16.11 of IEEE Std 802.1AS"; + "14.18.12 of IEEE Std 802.1AS"; } leaf use-mgt-log-pdelay-req-interval { type boolean; description - "This leaf is analogous to use-mgt-log-pdelay-req-interval for a - PTP Port, but applicable to this Link Port."; + "This leaf is analogous to use-mgt-log-pdelay-req-interval + for a PTP Port, but applicable to this Link Port."; reference - "14.16.12 of IEEE Std 802.1AS"; + "14.18.13 of IEEE Std 802.1AS"; } leaf mgt-log-pdelay-req-interval { type int8; description - "This leaf is analogous to mgt-log-pdelay-req-interval for a PTP - Port, but applicable to this Link Port."; + "This leaf is analogous to mgt-log-pdelay-req-interval for + a PTP Port, but applicable to this Link Port."; reference - "14.16.13 of IEEE Std 802.1AS"; + "14.18.14 of IEEE Std 802.1AS"; } leaf initial-compute-neighbor-rate-ratio { type boolean; description - "This leaf is analogous to initial-compute-neighbor-rate-ratio - for a PTP Port, but applicable to this Link Port."; + "This leaf is analogous to + initial-compute-neighbor-rate-ratio for a PTP Port, but + applicable to this Link Port."; reference - "14.16.14 of IEEE Std 802.1AS"; + "14.18.15 of IEEE Std 802.1AS"; } leaf current-compute-neighbor-rate-ratio { type boolean; config false; description - "This leaf is analogous to current-compute-neighbor-rate-ratio - for a PTP Port, but applicable to this Link Port."; + "This leaf is analogous to + current-compute-neighbor-rate-ratio for a PTP Port, but + applicable to this Link Port."; reference - "14.16.15 of IEEE Std 802.1AS"; + "14.18.16 of IEEE Std 802.1AS"; } leaf use-mgt-compute-neighbor-rate-ratio { type boolean; description - "This leaf is analogous to use-mgt-compute-neighbor-rate-ratio - for a PTP Port, but applicable to this Link Port."; + "This leaf is analogous to + use-mgt-compute-neighbor-rate-ratio for a PTP Port, but + applicable to this Link Port."; reference - "14.16.16 of IEEE Std 802.1AS"; + "14.18.17 of IEEE Std 802.1AS"; } leaf mgt-compute-neighbor-rate-ratio { type boolean; description - "This leaf is analogous to mgt-compute-neighbor-rate-ratio for a - PTP Port, but applicable to this Link Port."; + "This leaf is analogous to mgt-compute-neighbor-rate-ratio + for a PTP Port, but applicable to this Link Port."; reference - "14.16.17 of IEEE Std 802.1AS"; + "14.18.18 of IEEE Std 802.1AS"; } leaf initial-compute-mean-link-delay { type boolean; description - "This leaf is analogous to initial-compute-mean-link-delay for a - PTP Port, but applicable to this Link Port."; + "This leaf is analogous to initial-compute-mean-link-delay + for a PTP Port, but applicable to this Link Port."; reference - "14.16.18 of IEEE Std 802.1AS"; + "14.18.19 of IEEE Std 802.1AS"; } leaf current-compute-mean-link-delay { type boolean; config false; description - "This leaf is analogous to current-compute-mean-link-delay for a - PTP Port, but applicable to this Link Port."; + "This leaf is analogous to current-compute-mean-link-delay + for a PTP Port, but applicable to this Link Port."; reference - "14.16.19 of IEEE Std 802.1AS"; + "14.18.20 of IEEE Std 802.1AS"; } leaf use-mgt-compute-mean-link-delay { type boolean; description - "This leaf is analogous to use-mgt-compute-mean-link-delay for a - PTP Port, but applicable to this Link Port."; + "This leaf is analogous to use-mgt-compute-mean-link-delay + for a PTP Port, but applicable to this Link Port."; reference - "14.16.20 of IEEE Std 802.1AS"; + "14.18.21 of IEEE Std 802.1AS"; } leaf mgt-compute-mean-link-delay { type boolean; description - "This leaf is analogous to mgt-compute-mean-link-delay for a PTP - Port, but applicable to this Link Port."; + "This leaf is analogous to mgt-compute-mean-link-delay for a + PTP Port, but applicable to this Link Port."; reference - "14.16.21 of IEEE Std 802.1AS"; + "14.18.22 of IEEE Std 802.1AS"; } leaf allowed-lost-responses { type uint8; description - "This leaf is analogous to allowed-lost-responses for a PTP Port, - but applicable to this Link Port."; + "This leaf is analogous to allowed-lost-responses for a PTP + Port, but applicable to this Link Port."; reference - "14.16.22 of IEEE Std 802.1AS"; + "14.18.23 of IEEE Std 802.1AS"; } leaf allowed-faults { type uint8; description - "This leaf is analogous to allowed-faults for a PTP Port, but - applicable to this Link Port."; + "This leaf is analogous to allowed-faults for a PTP Port, + but applicable to this Link Port."; reference - "14.16.23 of IEEE Std 802.1AS"; + "14.18.24 of IEEE Std 802.1AS"; } leaf-list pdelay-truncated-timestamps { type uinteger48; config false; description - "This leaf is analogous to pdelay-truncated-timestamps for a PTP - Port, but applicable to this Link Port."; + "This leaf is analogous to pdelay-truncated-timestamps for a + PTP Port, but applicable to this Link Port."; reference - "14.16.25 of IEEE Std 802.1AS"; + "14.18.26 of IEEE Std 802.1AS"; } } + augment "/ptp-tt:ptp"+ "/ptp-tt:common-services"+ @@ -1128,87 +1187,90 @@ module ieee802-dot1as-gptp { "/ptp-tt:ports"+ "/ptp-tt:port" { description - "Augment to add port-statistics-ds to IEEE Std 1588 Link Port."; + "Augment to add port-statistics-ds to IEEE Std 1588 Link + Port."; container port-statistics-ds { description "This container is analogous to port-statistics-ds for a PTP - Port, but applicable to this Link Port."; + Port, but applicable to this Link Port."; reference - "14.17 of IEEE Std 802.1AS"; + "14.19 of IEEE Std 802.1AS"; leaf rx-pdelay-req-count { type yang:counter32; config false; description - "This leaf is analogous to rx-pdelay-req-count for a PTP Port, - but applicable to this Link Port."; + "This leaf is analogous to rx-pdelay-req-count for a PTP + Port, but applicable to this Link Port."; reference - "14.17.2 of IEEE Std 802.1AS"; + "14.19.2 of IEEE Std 802.1AS"; } leaf rx-pdelay-resp-count { type yang:counter32; config false; description - "This leaf is analogous to rx-pdelay-resp-count for a PTP Port, - but applicable to this Link Port."; + "This leaf is analogous to rx-pdelay-resp-count for a PTP + Port, but applicable to this Link Port."; reference - "14.17.3 of IEEE Std 802.1AS"; + "14.19.3 of IEEE Std 802.1AS"; } leaf rx-pdelay-resp-follow-up-count { type yang:counter32; config false; description - "This leaf is analogous to rx-pdelay-resp-follow-up-count for a - PTP Port, but applicable to this Link Port."; + "This leaf is analogous to rx-pdelay-resp-follow-up-count + for a PTP Port, but applicable to this Link Port."; reference - "14.17.4 of IEEE Std 802.1AS"; + "14.19.4 of IEEE Std 802.1AS"; } leaf rx-packet-discard-count { type yang:counter32; config false; description - "This leaf is analogous to rx-packet-discard-count for a PTP - Port, but applicable to this Link Port."; + "This leaf is analogous to rx-packet-discard-count for a + PTP Port, but applicable to this Link Port."; reference - "14.17.5 of IEEE Std 802.1AS"; + "14.19.5 of IEEE Std 802.1AS"; } leaf pdelay-allowed-lost-exceeded-count { type yang:counter32; config false; description - "This leaf is analogous to pdelay-allowed-lost-exceeded-count - for a PTP Port, but applicable to this Link Port."; + "This leaf is analogous to + pdelay-allowed-lost-exceeded-count for a PTP Port, but + applicable to this Link Port."; reference - "14.17.6 of IEEE Std 802.1AS"; + "14.19.6 of IEEE Std 802.1AS"; } leaf tx-pdelay-req-count { type yang:counter32; config false; description - "This leaf is analogous to tx-pdelay-req-count for a PTP Port, - but applicable to this Link Port."; + "This leaf is analogous to tx-pdelay-req-count for a + PTP Port, but applicable to this Link Port."; reference - "14.17.7 of IEEE Std 802.1AS"; + "14.19.7 of IEEE Std 802.1AS"; } leaf tx-pdelay-resp-count { type yang:counter32; config false; description - "This leaf is analogous to tx-pdelay-resp-count for a PTP Port, - but applicable to this Link Port."; + "This leaf is analogous to tx-pdelay-resp-count for a + PTP Port, but applicable to this Link Port."; reference - "14.17.8 of IEEE Std 802.1AS"; + "14.19.8 of IEEE Std 802.1AS"; } leaf tx-pdelay-resp-follow-up-count { type yang:counter32; config false; description - "This leaf is analogous to tx-pdelay-resp-follow-up-count for a - PTP Port, but applicable to this Link Port."; + "This leaf is analogous to tx-pdelay-resp-follow-up-count + for a PTP Port, but applicable to this Link Port."; reference - "14.17.9 of IEEE Std 802.1AS"; + "14.19.9 of IEEE Std 802.1AS"; } } } + augment "/ptp-tt:ptp"+ "/ptp-tt:common-services"+ @@ -1216,22 +1278,23 @@ module ieee802-dot1as-gptp { "/ptp-tt:ports"+ "/ptp-tt:port" { description - "Augment to add asymmetry-measurement-mode-ds to IEEE Std 1588 Link - Port."; + "Augment to add asymmetry-measurement-mode-ds to IEEE + Std 1588 Link Port."; container asymmetry-measurement-mode-ds { description - "This container is analogous to asymmetry-measurement-mode-ds for - a PTP Port, but applicable to this Link Port."; + "This container is analogous to + asymmetry-measurement-mode-ds for a PTP Port, but + applicable to this Link Port."; reference - "14.18 of IEEE Std 802.1AS"; + "14.20 of IEEE Std 802.1AS"; leaf enabled { type boolean; description "This leaf is analogous to - asymmetry-measurement-mode-ds.enabled for a PTP Port, but - applicable to this Link Port."; + asymmetry-measurement-mode-ds.enabled for a PTP Port, but + applicable to this Link Port."; reference - "14.18.2 of IEEE Std 802.1AS"; + "14.20.2 of IEEE Std 802.1AS"; } } } diff --git a/standard/ieee/published/802.1/ieee802-dot1as-hs.yang b/standard/ieee/published/802.1/ieee802-dot1as-hs.yang index 47566a66e..af0702eeb 100644 --- a/standard/ieee/published/802.1/ieee802-dot1as-hs.yang +++ b/standard/ieee/published/802.1/ieee802-dot1as-hs.yang @@ -29,27 +29,24 @@ module ieee802-dot1as-hs { E-mail: stds-802-1-chairs@ieee.org"; description "Management objects that control hot standby systems as - specified in IEEE Std 802.1ASdm-2024. + specified in Clause 18 of IEEE Std 802.1AS-2025 and + drift tracking features as specified in 11.4.4.4 of + IEEE Std 802.1AS-2025. References in this YANG module to IEEE Std 802.1AS are to - IEEE Std 802.1AS-2020 as modified by - IEEE Std 802.1AS-2020/Cor-1-2021, and amended by - IEEE Std 802.1ASdr-2024, IEEE Std 802.1ASdn-2024, and - IEEE Std 802.1ASdm-2024. + IEEE Std 802.1AS-2025. - Copyright (C) IEEE (2024). - This version of this YANG module is part of IEEE Std 802.1AS; - see the standard itself for full legal notices."; + Copyright (C) IEEE (2025). + This version of this YANG module is part of IEEE Std + 802.1AS-2025; see the standard itself for full legal + notices."; - revision 2024-09-20 { + revision 2025-12-10 { description - "Published as part of IEEE Std 802.1ASdm-2024. - Initial version."; + "Published as part of IEEE Std 802.1AS-2025."; reference - "IEEE Std 802.1AS - Timing and Synchronization for Time-Sensitive - Applications: IEEE Std 802.1AS-2020, IEEE Std 802.1AS-2020/Cor - 1-2021, IEEE Std 802.1ASdr-2024, IEEE Std 802.1ASdn-2024, - IEEE Std 802.1ASdm-2024."; + "IEEE Std 802.1AS - Timing and Synchronization for + Time-Sensitive Applications: IEEE Std 802.1AS-2025."; } feature hot-standby { @@ -134,7 +131,7 @@ module ieee802-dot1as-hs { ClockTarget whether a Grandmaster PTP Instance is present."; reference - "14.4.7a of IEEE Std 802.1AS"; + "14.4.8 of IEEE Std 802.1AS"; } } @@ -146,14 +143,14 @@ module ieee802-dot1as-hs { "The ptpInstanceSyncDS describes the synchronization status of the PTP Instance."; reference - "14.7a of IEEE Std 802.1AS"; + "14.8 of IEEE Std 802.1AS"; leaf is-synced { type boolean; config false; description "The value of the global variable isSynced."; reference - "14.7a.2 of IEEE Std 802.1AS"; + "14.8.2 of IEEE Std 802.1AS"; } leaf offset-from-time-transmitter-max { type ptp-tt:time-interval; @@ -162,7 +159,7 @@ module ieee802-dot1as-hs { offsetFromTimeTransmitter, below which the PTP Instance is considered to be synchronized."; reference - "14.7a.3 of IEEE Std 802.1AS"; + "14.8.3 of IEEE Std 802.1AS"; } leaf rx-sync-count-time-receiver-p-thresh { type uint32; @@ -171,7 +168,7 @@ module ieee802-dot1as-hs { threshold for rxSyncCountTimeReceiverP, above which the PTP Instance is considered to be synchronized."; reference - "14.7a.4 of IEEE Std 802.1AS"; + "14.8.4 of IEEE Std 802.1AS"; } leaf offset-max-exceeded-count-thresh { type uint32; @@ -182,7 +179,7 @@ module ieee802-dot1as-hs { offsetFromTimeTransmitter, at which isSynced is no longer TRUE."; reference - "14.7a.5 of IEEE Std 802.1AS"; + "14.8.5 of IEEE Std 802.1AS"; } leaf offset-max-met-count-thresh { type uint32; @@ -193,22 +190,53 @@ module ieee802-dot1as-hs { offsetFromTimeTransmitterMax, at which isSynced is changed to TRUE if it currently is FALSE."; reference - "14.7a.6 of IEEE Std 802.1AS"; + "14.8.6 of IEEE Std 802.1AS"; } } container drift-tracking-ds { description - "The driftTrackingDS contains a managed object that is used + "The driftTrackingDS contains managed objects that are used to enable or disable the optional Drift_Tracking TLV."; reference - "14.7b of IEEE Std 802.1AS"; + "14.9 of IEEE Std 802.1AS"; leaf drift-tracking-tlv-support { type boolean; description "The value of driftTrackingTlvSupport indicates whether the Drift_Tracking TLV is enabled or disabled."; reference - "14.7b.2 of IEEE Std 802.1AS"; + "14.9.2 of IEEE Std 802.1AS"; + } + leaf sync-grandmaster-identity { + type ptp-tt:clock-identity; + config false; + description + "The value of syncGrandmasterIdentity as determined by + the MDSyncSend state machine."; + reference + "14.9.3 of IEEE Std 802.1AS"; + } + leaf sync-steps-removed { + type uint32; + config false; + description + "The value of syncStepsRemoved as determined by the + MDSyncSend state machine."; + reference + "14.9.4 of IEEE Std 802.1AS"; + } + leaf rate-ratio-drift { + type int32; + config false; + description + "This value is equal to (RRdrift - 1.0) x (2^41), + truncated to the next smaller signed integer, where + RRdrift is the measured estimate of the rate of change + per second of the ratio of the frequency of the + Grandmaster Clock to the frequency of the local clock + entity in the PTP Instance that sends the message."; + reference + "14.9.5 of IEEE Std 802.1AS"; } } } @@ -224,7 +252,7 @@ module ieee802-dot1as-hs { GptpCapableTransmit, GptpCapableReceive, and GptpCapableIntervalSetting state machines."; reference - "14.8.54a of IEEE Std 802.1AS"; + "14.10.56 of IEEE Std 802.1AS"; } leaf nrr-pdelay { type int32; @@ -238,7 +266,7 @@ module ieee802-dot1as-hs { offset stored in the global variable nrrPdelay multiplied by 2^41, i.e., the quantity (nrrPdelay - 1.0)(2^41)."; reference - "14.8.54b of IEEE Std 802.1AS"; + "14.10.57 of IEEE Std 802.1AS"; } leaf nrr-sync { type int32; @@ -252,7 +280,7 @@ module ieee802-dot1as-hs { offset stored in the global variable nrrSync multiplied by 2^41, i.e., the quantity (nrrSync - 1.0)(2^41)."; reference - "14.8.54c of IEEE Std 802.1AS"; + "14.10.58 of IEEE Std 802.1AS"; } leaf nrr-comp-method { type nrr-comp-method-type; @@ -260,15 +288,16 @@ module ieee802-dot1as-hs { "An Enumeration that takes on the values sync and pdelay to indicate the source of the value of neighborRateRatio."; reference - "14.8.54d of IEEE Std 802.1AS"; + "14.10.59 of IEEE Std 802.1AS"; } leaf as-capable-across-domains { type boolean; + config false; description - "This leaf is true when this PTP port detects proper + "This leaf is true when this PTP Port detects proper exchange of Pdelay messages."; reference - "14.8.54e of IEEE Std 802.1AS"; + "14.10.60 of IEEE Std 802.1AS"; } } @@ -285,7 +314,7 @@ module ieee802-dot1as-hs { information is received on a PTP Port when its port state is TimeReceiverPort."; reference - "14.10.19a of IEEE Std 802.1AS"; + "14.12.20 of IEEE Std 802.1AS"; } } @@ -293,7 +322,7 @@ module ieee802-dot1as-hs { description "Augment IEEE Std 1588 commonServices. - IEEE Std 802.1ASdm-2024 specifies nrrPdelay + IEEE Std 802.1AS-2025 specifies nrrPdelay (nrr-pdelay), which is provided in YANG as the semantically equivalent node in ieee1588-ptp-tt named scaled-neighbor-rate-ratio (in link-port-ds)."; @@ -304,7 +333,7 @@ module ieee802-dot1as-hs { hotStandbySystemList, which is a list of instances of the Hot Standby Service."; reference - "14.19 of IEEE Std 802.1AS"; + "14.21 of IEEE Std 802.1AS"; list hot-standby-system { key "hot-standby-system-index"; description @@ -319,7 +348,7 @@ module ieee802-dot1as-hs { "The hotStandbySystemDS describes the attributes of the respective instance of the Hot Standby Service."; reference - "14.19 of IEEE Std 802.1AS"; + "14.21 of IEEE Std 802.1AS"; leaf primary-ptp-instance-index { type uint32; description @@ -327,7 +356,7 @@ module ieee802-dot1as-hs { the primary PTP Instance associated with this hotStandbySystem instance."; reference - "14.19.2 of IEEE Std 802.1AS"; + "14.21.2 of IEEE Std 802.1AS"; } leaf secondary-ptp-instance-index { type uint32; @@ -336,7 +365,7 @@ module ieee802-dot1as-hs { of the secondaryPTP Instance associated with this hotStandbySystem instance."; reference - "14.19.3 of IEEE Std 802.1AS"; + "14.21.3 of IEEE Std 802.1AS"; } leaf hot-standby-system-enable { type boolean; @@ -344,7 +373,7 @@ module ieee802-dot1as-hs { "The value is the hotStandbySystemEnable attribute of the HotStandbySystem entity."; reference - "14.19.4 of IEEE Std 802.1AS"; + "14.21.4 of IEEE Std 802.1AS"; } leaf hot-standby-system-state { type hot-standby-system-state-type; @@ -354,7 +383,7 @@ module ieee802-dot1as-hs { the hotStandbySystem, i.e., the value of the global variable hotStandbySystemState."; reference - "14.19.5 of IEEE Std 802.1AS"; + "14.21.5 of IEEE Std 802.1AS"; } leaf hot-standby-system-split-functionality { type boolean; @@ -363,7 +392,7 @@ module ieee802-dot1as-hs { functionality is used. If the value is FALSE, the optional split functionality is not used."; reference - "14.19.6 of IEEE Std 802.1AS"; + "14.21.6 of IEEE Std 802.1AS"; } leaf primary-secondary-offset { type dot1as-gptp:scaled-ns; @@ -373,7 +402,7 @@ module ieee802-dot1as-hs { clockTimeTransmitterTimes of the primary and secondary PTP Instances."; reference - "14.19.7 of IEEE Std 802.1AS"; + "14.21.7 of IEEE Std 802.1AS"; } leaf primary-secondary-offset-thresh { type dot1as-gptp:scaled-ns; @@ -386,7 +415,7 @@ module ieee802-dot1as-hs { if other conditions for these transitions are satisfied."; reference - "14.19.8 of IEEE Std 802.1AS"; + "14.21.8 of IEEE Std 802.1AS"; } leaf hot-standby-system-log-sync-time-thresh { type int8; @@ -401,7 +430,7 @@ module ieee802-dot1as-hs { The value -128 means that the transition time is zero, i.e., the transition occurs immediately."; reference - "14.19.9 of IEEE Std 802.1AS"; + "14.21.9 of IEEE Std 802.1AS"; } } container hot-standby-system-description-ds { @@ -410,7 +439,7 @@ module ieee802-dot1as-hs { information for the respective instance of the Hot Standby Service."; reference - "14.20 of IEEE Std 802.1AS"; + "14.22 of IEEE Std 802.1AS"; leaf user-description { type string { length "0..128"; @@ -418,7 +447,7 @@ module ieee802-dot1as-hs { description "Configurable description of the hot standby system."; reference - "14.20.3 of IEEE Std 802.1AS"; + "14.22.2 of IEEE Std 802.1AS"; } } } diff --git a/standard/ieee/draft/802.1/AXdz/ieee802-dot1ax-drni.yang b/standard/ieee/published/802.1/ieee802-dot1ax-drni.yang old mode 100644 new mode 100755 similarity index 94% rename from standard/ieee/draft/802.1/AXdz/ieee802-dot1ax-drni.yang rename to standard/ieee/published/802.1/ieee802-dot1ax-drni.yang index f530e0db0..71d2abd11 --- a/standard/ieee/draft/802.1/AXdz/ieee802-dot1ax-drni.yang +++ b/standard/ieee/published/802.1/ieee802-dot1ax-drni.yang @@ -42,14 +42,14 @@ module ieee802-dot1ax-drni { This version of this YANG module is part of IEEE Std 802.1AX; see the standard itself for full legal notices."; - revision 2025-05-22 { + revision 2025-09-30 { description - "Published as part of IEEE Std 802.1AXdz-202y. - The following reference statement identifies each referenced IEEE - Standard as updated by applicable amendments."; + "Published as part of IEEE Std 802.1AXdz-2025. + The following reference statement identifies each referenced + IEEE Standard as updated by applicable amendments."; reference "IEEE Std 802.1AX-2020 Link Aggregation: - IEEE Std 802.1AXdz-202y."; + IEEE Std 802.1AXdz-2025."; } typedef irp-state { @@ -69,15 +69,16 @@ module ieee802-dot1ax-drni { bit short-timeout { position 3; description - "The Short_Timeout flag indicates the Timeout control value - in use by the DRCP Receive machine on this IRP. Short Timeout - is encoded as a 1; Long Timeout is encoded as a 0."; + "The Short_Timeout flag indicates the Timeout control + value in use by the DRCP Receive machine on this IRP. + Short Timeout is encoded as a 1; Long Timeout is encoded + as a 0."; } bit synchronization { position 4; description - "When the Sync flag is TRUE (1), the DRCP Receive machine has - determined the Neighbor DRNI System has a compatible + "When the Sync flag is TRUE (1), the DRCP Receive machine + has determined the Neighbor DRNI System has a compatible configuration for forming a DRNI."; } bit irc-data { @@ -95,16 +96,16 @@ module ieee802-dot1ax-drni { bit defaulted { position 7; description - "When the Defaulted flag is TRUE (1), the DRCP Receive machine - is using default operational Neighbor information. - When FALSE (0), the operational Neighbor information - in use has been received in a DRCPDU."; + "When the Defaulted flag is TRUE (1), the DRCP Receive + machine is using default operational Neighbor + information. When FALSE (0), the operational Neighbor + information in use has been received in a DRCPDU."; } bit expired { position 8; description - "When the Expired flag is TRUE (1), the DRCP Receive machine - is in the EXPIRED state."; + "When the Expired flag is TRUE (1), the DRCP Receive + machine is in the EXPIRED state."; } } description @@ -173,7 +174,7 @@ module ieee802-dot1ax-drni { mandatory true; description "Interface Name (if:name) of the Port supporting the - Intra Relay Port (IRP) of this DRNI Gateway."; + Intra-Relay Port (IRP) of this DRNI Gateway."; reference "7.4.1.1.23 of IEEE Std 802.1AX"; } @@ -186,7 +187,7 @@ module ieee802-dot1ax-drni { supporting this DRNI Gateway (and the Aggregation Ports assigned to this DRNI Gateway) when paired with a neighbor DRNI System via the IRC. The default value is - the Aggregator’s Actor_Admin_Aggregator_Key value."; + the Aggregator's Actor_Admin_Aggregator_Key value."; reference "7.4.1.1.15 of IEEE Std 802.1AX"; } @@ -237,15 +238,16 @@ module ieee802-dot1ax-drni { bit short-timeout { position 3; description - "The Short_Timeout flag indicates the Timeout control value - in use by the DRCP Receive machine on this IRP. Short Timeout - is encoded as a 1; Long Timeout is encoded as a 0."; + "The Short_Timeout flag indicates the Timeout control + value in use by the DRCP Receive machine on this + IRP. Short Timeout is encoded as a 1; Long Timeout + is encoded as a 0."; } bit irc-data { position 5; description - "When the IRC_Data flag is TRUE (1), the transfer of Up - and Down frames is permitted on the IRC."; + "When the IRC_Data flag is TRUE (1), the transfer of + Up and Down frames is permitted on the IRC."; } } default "short-timeout irc-data"; @@ -302,8 +304,8 @@ module ieee802-dot1ax-drni { container home-gateway-conv-service-map { if-feature "ax:sid-map"; description - "Data structure to map service identifiers to - conversation identifiers. Each entry consists of a + "Data structure to map Service Identifiers to + Conversation Identifiers. Each entry consists of a Conversation ID (CID) and a list of zero or more Service Identifiers (SIDs) that map to it. Frames with Service IDs not contained in the map are not mapped to any @@ -397,7 +399,7 @@ module ieee802-dot1ax-drni { type uint16; description "The DRNI key value received from the Neighbor DRNI - System (connected via the IntraRelay Port)."; + System (connected via the Intra-Relay Port)."; reference "7.4.1.1.31 of IEEE Std 802.1AX"; } @@ -597,7 +599,7 @@ module ieee802-dot1ax-drni { + "/dot1ax:lag-stats" { when '../../dot1ax:lag/dot1ax-drni:drni' { description - "Applies to aggregators with DRNI present."; + "Applies to Aggregators with DRNI present."; } description "Augment interface statistics with DRNI statistics."; diff --git a/standard/ieee/draft/802.1/AXdz/ieee802-dot1ax-linkagg.yang b/standard/ieee/published/802.1/ieee802-dot1ax-linkagg.yang old mode 100644 new mode 100755 similarity index 93% rename from standard/ieee/draft/802.1/AXdz/ieee802-dot1ax-linkagg.yang rename to standard/ieee/published/802.1/ieee802-dot1ax-linkagg.yang index a82bde604..f48bb1f00 --- a/standard/ieee/draft/802.1/AXdz/ieee802-dot1ax-linkagg.yang +++ b/standard/ieee/published/802.1/ieee802-dot1ax-linkagg.yang @@ -35,7 +35,7 @@ module ieee802-dot1ax-linkagg { description "This YANG module describes the configuration model for Link Aggregation, as specified in IEEE Std 802.1AX, including Link - Aggregation Control Protocol (LACP) and Conversation Sensitive + Aggregation Control Protocol (LACP) and Conversation-Sensitive Collection and Distribution. Copyright (C) IEEE (2025). @@ -43,14 +43,14 @@ module ieee802-dot1ax-linkagg { This version of this YANG module is part of IEEE Std 802.1AX; see the standard itself for full legal notices."; - revision 2025-05-22 { + revision 2025-09-30 { description - "Published as part of IEEE Std 802.1AXdz-202y. - The following reference statement identifies each referenced IEEE - Standard as updated by applicable amendments."; + "Published as part of IEEE Std 802.1AXdz-2025. + The following reference statement identifies each referenced + IEEE Standard as updated by applicable amendments."; reference "IEEE Std 802.1AX-2020 Link Aggregation: - IEEE Std 802.1AXdz-202y."; + IEEE Std 802.1AXdz-2025."; } typedef key-group-ref { @@ -58,7 +58,7 @@ module ieee802-dot1ax-linkagg { path "/dot1ax:linkagg/dot1ax:key-group/dot1ax:name"; } description - "This type is used by aggregators and aggregation ports to + "This type is used by Aggregators and Aggregation Ports to reference an entry in the key-group list."; } @@ -87,7 +87,7 @@ module ieee802-dot1ax-linkagg { mandatory true; description "Specifies the entry in the link-aggregation key-group - list to which this aggregator is assigned."; + list to which this Aggregator is assigned."; } leaf mac-address { type ieee:mac-address; @@ -100,7 +100,7 @@ module ieee802-dot1ax-linkagg { container lacp { config false; description - "Contains aggregator LACP operational data."; + "Contains Aggregator LACP operational data."; leaf actor-oper-key { type uint16; description @@ -118,7 +118,7 @@ module ieee802-dot1ax-linkagg { protocol partner of this Aggregator. A value of zero indicates that there is no known partner. If the aggregation is manually configured, this - System identifier value is assigned by the + System Identifier value is assigned by the local System."; reference "7.3.1.1.10 of IEEE Std 802.1AX"; @@ -137,7 +137,7 @@ module ieee802-dot1ax-linkagg { type uint16; description "The current operational value of the Key for the - Aggregators current protocol Partner. If the + Aggregator's current protocol Partner. If the aggregation is manually configured, this Key value is assigned by the local System."; reference @@ -201,7 +201,7 @@ module ieee802-dot1ax-linkagg { description "A list, possibly empty, of the operational link-number of each Aggregation Port active - (i.e. Collecting) on this Aggregator."; + (i.e., Collecting) on this Aggregator."; reference "7.3.1.1.43 of IEEE Std 802.1AX"; } @@ -212,10 +212,10 @@ module ieee802-dot1ax-linkagg { augment "/if:interfaces/if:interface/if:statistics" { when '../dot1ax:lag' { description - "Applies to aggregators."; + "Applies to Aggregators."; } description - "Augment interface statistics with aggregator statistics."; + "Augment interface statistics with Aggregator statistics."; container lag-stats { config false; description @@ -236,7 +236,7 @@ module ieee802-dot1ax-linkagg { augment "/if:interfaces/if:interface" { description - "Augment interface model with Aggregation port + "Augment interface model with Aggregation Port configuration nodes."; container aggport { presence @@ -351,8 +351,9 @@ module ieee802-dot1ax-linkagg { description "Provides administrative control over the partner's LACP_Activity, LACP_Timeout, Aggregation, and - Synchronization state when the partner's information is - unknown (i.e. no LACPDUs are received from the partner)."; + Synchronization state when the partner's information + is unknown (i.e., no LACPDUs are received from the + partner)."; reference "7.3.2.1.22, 6.4.1, 6.4.2.3, 6.4.6 of IEEE Std 802.1AX"; } @@ -387,7 +388,7 @@ module ieee802-dot1ax-linkagg { container lacp { config false; description - "Contains Aggregation port LACP operational related + "Contains Aggregation Port LACP operational related nodes."; leaf actor-lacp-version { type uint8; @@ -508,13 +509,13 @@ module ieee802-dot1ax-linkagg { non-revertive operation is being enforced by the Selection Logic."; reference - "7.3.2.32 of IEEE Std 802.1AX"; + "7.3.2.1.32 of IEEE Std 802.1AX"; } } container cscd { if-feature "ax:cscd"; description - "Aggregation port parameters for support of CSCD."; + "Aggregation Port parameters for support of CSCD."; leaf admin-link-number { type uint16; description @@ -558,7 +559,7 @@ module ieee802-dot1ax-linkagg { augment "/if:interfaces/if:interface/if:statistics" { when '../dot1ax:aggport' { description - "Applies to aggregation ports."; + "Applies to Aggregation Ports."; } description "Augment interface statistics with aggport statistics."; @@ -644,11 +645,11 @@ module ieee802-dot1ax-linkagg { list agg-system { key "name"; description - "List of aggregation systems."; + "List of Aggregation Systems."; leaf name { type string; description - "Name for the aggregation system."; + "Name for the Aggregation System."; } leaf actor-system { type ieee:mac-address; @@ -674,12 +675,12 @@ module ieee802-dot1ax-linkagg { key "name"; unique "actor-admin-key"; description - "List of key groups. A key group is the set of aggregators - and aggregation ports that share the same system priority, + "List of key groups. A key group is the set of Aggregators + and Aggregation Ports that share the same system priority, system identifier, and aggregation key, and therefore can potentially form a Link Aggregation Group. Each entry in the key group list contains the parameters common to all - aggregation ports and/or aggregators in the key group."; + Aggregation Ports and/or Aggregators in the key group."; reference "6.3.5, 6.4.12 of IEEE Std 802.1AX"; leaf name { @@ -702,7 +703,7 @@ module ieee802-dot1ax-linkagg { type agg-system-ref; mandatory true; description - "Specifies the aggregation system for this key + "Specifies the Aggregation System for this key group."; } leaf actor-protocol-da { @@ -749,8 +750,8 @@ module ieee802-dot1ax-linkagg { position 2; description "Setting the LACP_Timeout to '0' means that actor uses - the Long_Timeout value, allowing the partner to transmit - LACPDUs at the Slow_Periodic_Time."; + the Long_Timeout value, allowing the partner to + transmit LACPDUs at the Slow_Periodic_Time."; } bit aggregation { position 3; @@ -805,11 +806,11 @@ module ieee802-dot1ax-linkagg { "Identifies the algorithm used by the Aggregator to assign frames to a Port Conversation ID. Default is the value for an unspecified distribution algorithm. - When the identity description specifies a 4 octet value, - this value will be used for cscd purposes, and included + When the identity description specifies a 4-octet value, + this value will be used for CSCD purposes, and included in LACPDUs. Otherwise this leaf is used purely for local selection of a distribution algorithm, and the - unspecified distribution algorithm is used for cscd + unspecified distribution algorithm is used for CSCD purposes."; reference "7.3.1.1.33, Table 8-1 of IEEE Std 802.1AX"; @@ -818,7 +819,7 @@ module ieee802-dot1ax-linkagg { type if:interface-ref; config false; description - "A list of the if:name of aggregators assigned to this + "A list of the if:name of Aggregators assigned to this key group."; reference "linkagg:key-group"; @@ -827,7 +828,7 @@ module ieee802-dot1ax-linkagg { type if:interface-ref; config false; description - "A list of the if:name of aggregation ports assigned to + "A list of the if:name of Aggregation Ports assigned to this key group."; reference "linkagg:key-group"; @@ -836,12 +837,12 @@ module ieee802-dot1ax-linkagg { if-feature "ax:cscd"; description "Contains CSCD parameters that need to be consistent for - all aggregation ports and aggregators in the key group."; + all Aggregation Ports and Aggregators in the key group."; container admin-conv-service-map { if-feature "ax:sid-map"; description - "Data structure to map service identifiers to - conversation identifiers. Each entry consists of a + "Data structure to map Service Identifiers to + Conversation Identifiers. Each entry consists of a Conversation ID (CID) and a list of zero or more Service Identifiers (SIDs) that map to it. An empty list of SIDs means there are no SIDs that map to this diff --git a/standard/ieee/draft/802.1/AXdz/ieee802-dot1ax-types.yang b/standard/ieee/published/802.1/ieee802-dot1ax-types.yang old mode 100644 new mode 100755 similarity index 93% rename from standard/ieee/draft/802.1/AXdz/ieee802-dot1ax-types.yang rename to standard/ieee/published/802.1/ieee802-dot1ax-types.yang index c8602f5a5..e4b4b601b --- a/standard/ieee/draft/802.1/AXdz/ieee802-dot1ax-types.yang +++ b/standard/ieee/published/802.1/ieee802-dot1ax-types.yang @@ -24,19 +24,19 @@ module ieee802-dot1ax-types { This version of this YANG module is part of IEEE Std 802.1AX; see the standard itself for full legal notices."; - revision 2025-05-22 { + revision 2025-09-30 { description - "Published as part of IEEE Std 802.1AXdz-202y. - The following reference statement identifies each referenced IEEE - Standard as updated by applicable amendments."; + "Published as part of IEEE Std 802.1AXdz-2025. + The following reference statement identifies each referenced + IEEE Standard as updated by applicable amendments."; reference "IEEE Std 802.1AX-2020 Link Aggregation: - IEEE Std 802.1AXdz-202y."; + IEEE Std 802.1AXdz-2025."; } feature cscd { description - "Conversation Sensitive Collection and Distribution (CSCD) + "Conversation-Sensitive Collection and Distribution (CSCD) is supported."; reference "5.3.2, 6.6 of IEEE Std 802.1AX"; @@ -105,11 +105,11 @@ module ieee802-dot1ax-types { customized distribution algorithms can be created as their own identities in their own YANG files, derived from this imported base type. When the identity description - specifies a 4 octet value, this value is used for cscd + specifies a 4-octet value, this value is used for CSCD purposes, and included in LACPDUs. Otherwise the identity is used purely for local selection of a distribution algorithm, and the unspecified distribution algorithm is - used for cscd purposes."; + used for CSCD purposes."; reference "8.1, 8.2 of IEEE Std 802.1AX"; } @@ -240,7 +240,7 @@ module ieee802-dot1ax-types { "Base identity for patterns filling the admin-conv-link-map. This identity is intended to serve as base identity, not to be directly referenced. Use of the identity allows vendors - to augment the module with vendor specified patterns,"; + to augment the module with vendor specified patterns."; reference "7.3.1.1.34, 6.6.3.1 of IEEE Std 802.1AX"; } @@ -291,10 +291,11 @@ module ieee802-dot1ax-types { identity service-map-patterns { description - "Base identity for patterns filling the admin-conv-service-map. - This identity is intended to serve as base identity, not - to be directly referenced. Use of the identity allows vendors - to augment the module with vendor specified patterns,"; + "Base identity for patterns filling the + admin-conv-service-map. This identity is intended to serve + as base identity, not to be directly referenced. Use of the + identity allows vendors to augment the module with vendor + specified patterns."; reference "7.3.1.1.36, 6.6.3.1 of IEEE Std 802.1AX"; } @@ -370,24 +371,24 @@ module ieee802-dot1ax-types { type enumeration { enum nearest-customer-bridge { description - "Reserved MAC address 01-C2-80-00-00"; + "Reserved MAC address 01-80-C2-00-00-00"; } enum slow-protocols-multicast { description - "Reserved MAC address 01-C2-80-00-02"; + "Reserved MAC address 01-80-C2-00-00-02"; } enum nearest-non-tpmr-bridge { description - "Reserved MAC address 01-C2-80-00-03"; + "Reserved MAC address 01-80-C2-00-00-03"; } enum nearest-bridge { description - "Reserved MAC address 01-C2-80-00-0E"; + "Reserved MAC address 01-80-C2-00-00-0E"; } } description "Group addresses that are filtered by some or all types of - bridges in order to limit the scope of propagation of PDUs + Bridges in order to limit the scope of propagation of PDUs in a Bridged Network."; reference "8.6.3 of IEEE Std 802.1Q"; @@ -454,8 +455,8 @@ module ieee802-dot1ax-types { list cid-list { key "cid"; description - "Data structure to map service identifiers to - conversation identifiers. Each entry consists of a + "Data structure to map Service Identifiers to + Conversation Identifiers. Each entry consists of a Conversation ID (CID) and a list of zero or more Service Identifiers (SIDs) that map to it. An empty list of SIDs means there are no SIDs that map to this