From e211c311bc27ff7f67d45967e23e94863a05c7c6 Mon Sep 17 00:00:00 2001 From: Scott Mansfield Date: Tue, 6 Jan 2026 08:52:34 -0500 Subject: [PATCH 1/2] IEEE 802.1 Jan 2026 Update --- standard/ieee/check.sh | 2 +- .../802.1/ASrev/ieee802-dot1as-gptp.yang | 1251 ----------------- .../draft/802.1/ASrev/ieee802-dot1as-hs.yang | 455 ------ .../CB-2017-cor1/ieee802-dot1cb-frer.yang | 4 +- .../ieee802-dot1cb-stream-identification.yang | 818 +++++++++++ .../published/802.1/ieee802-dot1as-gptp.yang | 975 +++++++------ .../published/802.1/ieee802-dot1as-hs.yang | 119 +- .../802.1}/ieee802-dot1ax-drni.yang | 56 +- .../802.1}/ieee802-dot1ax-linkagg.yang | 75 +- .../802.1}/ieee802-dot1ax-types.yang | 41 +- 10 files changed, 1502 insertions(+), 2294 deletions(-) delete mode 100644 standard/ieee/draft/802.1/ASrev/ieee802-dot1as-gptp.yang delete mode 100644 standard/ieee/draft/802.1/ASrev/ieee802-dot1as-hs.yang create mode 100755 standard/ieee/draft/802.1/CB-2017-rev/ieee802-dot1cb-stream-identification.yang rename standard/ieee/{draft/802.1/AXdz => published/802.1}/ieee802-dot1ax-drni.yang (94%) mode change 100644 => 100755 rename standard/ieee/{draft/802.1/AXdz => published/802.1}/ieee802-dot1ax-linkagg.yang (93%) mode change 100644 => 100755 rename standard/ieee/{draft/802.1/AXdz => published/802.1}/ieee802-dot1ax-types.yang (93%) mode change 100644 => 100755 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/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 From c8a0864bf11609f23dd59b14d5aed2248640ee02 Mon Sep 17 00:00:00 2001 From: Scott Mansfield Date: Wed, 4 Feb 2026 03:53:16 -0500 Subject: [PATCH 2/2] DD Task Group Ballot v1.4 --- .../draft/802.1/DD/ieee802-dot1dd-rap.yang | 291 ++++-------------- 1 file changed, 67 insertions(+), 224 deletions(-) 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