bbf-fast

This module contains a collection of YANG definitions for supporting the Broadband Forum requirements on management of FAST inte...

  • Version: 2022-06-13

    bbf-fast@2022-06-13


    
      module bbf-fast {
    
        yang-version 1.1;
    
        namespace "urn:bbf:yang:bbf-fast";
    
        prefix bbf-fast;
    
        include bbf-fast-base;
        include bbf-fast-pointers;
        include bbf-fast-perf-types;
        include bbf-fast-quality-profiles;
        include bbf-fast-fast-rate-adaptation-profile-body;
        include bbf-fast-noise-margin-profile-body;
        include bbf-fast-fast-retrain-policy-profile-body;
        include bbf-fast-retransmission-profile-body;
        include bbf-fast-vectoring-profile-body;
        include bbf-fast-impulse-noise-monitoring-profile-body;
        include bbf-fast-service-profiles;
        include bbf-fast-data-rate-profile-body;
        include bbf-fast-spectrum-profiles;
        include bbf-fast-line-spectrum-profile-body;
        include bbf-fast-upstream-power-back-off-profile-body;
        include bbf-fast-rfi-profile-body;
        include bbf-fast-tdd-profiles;
        include bbf-fast-tdd-profile-body;
        include bbf-fast-test-diagnostics;
        include bbf-fast-test-mode-body;
        include bbf-fast-update-test-body;
        include bbf-fast-link-state-body;
        include bbf-fast-read-test-body;
        include bbf-fast-threshold-management;
        include bbf-fast-line-threshold-profile-body;
        include bbf-fast-channel-threshold-profile-body;
        include bbf-fast-threshold-crossing-alert-body;
        include bbf-fast-performance-management;
        include bbf-fast-line-performance-body;
        include bbf-fast-channel-performance-body;
        include bbf-fast-status-monitoring;
        include bbf-fast-line-status-body;
        include bbf-fast-channel-status-body;
        include bbf-fast-inventory;
        include bbf-fast-ftu-inventory-body;
        include bbf-fast-availability;
    
        organization
          "Broadband Forum <https://www.broadband-forum.org>
    Common YANG Work Area";
    
        contact
          "Comments or questions about this Broadband Forum YANG module
    should be directed to <mailto:help@broadband-forum.org>.
    
    Editor:      Ken Kerpez, ASSIA, Inc.
    
    Editor:      Joey Boyd, Adtran
    
    PS Leader:   Joey Boyd, Adtran
    
    WA Director: Sven Ooghe, Nokia
    
    WA Director: Joey Boyd, Adtran";
    
        description
          "This module contains a collection of YANG definitions for
    supporting the Broadband Forum requirements on management of
    FAST interfaces as defined in ITU-T G.9700, ITU-T G.9701, ITU-T
    G.997.2 and BBF TR-371. As such, this module is specific to
    access network equipment (e.g., BBF-specified Access Nodes and
    FTTdp DPUs).
    
    Copyright (c) 2016-2022 Broadband Forum
    
    Redistribution and use in source and binary forms, with or
    without modification, are permitted provided that the following
    conditions are met:
    
    1. Redistributions of source code must retain the above copyright
       notice, this list of conditions and the following disclaimer.
    
    2. Redistributions in binary form must reproduce the above
       copyright notice, this list of conditions and the following
       disclaimer in the documentation and/or other materials
       provided with the distribution.
    
    3. Neither the name of the copyright holder nor the names of its
       contributors may be used to endorse or promote products
       derived from this software without specific prior written
       permission.
    
    THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND
    CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES,
    INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
    MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
    DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR
    CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
    SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
    NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
    LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
    CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
    STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
    ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
    ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
    
    The above license is used as a license under copyright only.
    Please reference the Forum IPR Policy for patent licensing terms
    <https://www.broadband-forum.org/ipr-policy>.
    
    Any moral rights which are necessary to exercise under the above
    license grant are also deemed granted under this license.
    
    This version of this YANG module is part of TR-355a4c1; see
    the TR itself for full legal notices.";
    
        revision "2022-06-13" {
          description
            "Amendment 4 Corrigendum 1.
    * Approval Date:    2022-06-13
    * Publication Date: 2022-06-13.";
          reference
            "TR-355a4c1: YANG Modules for FTTdp Management
            	    <https://www.broadband-forum.org/download/
            		   TR-355_Amendment-4.pdf>";
    
        }
    
        revision "2022-05-23" {
          description
            "Amendment 4.
    * Approval Date:    2022-05-23
    * Publication Date: 2022-05-23.";
          reference
            "TR-355a4: YANG Modules for FTTdp Management
            	    <https://www.broadband-forum.org/download/
            		   TR-355_Amendment-4.pdf>";
    
        }
    
        revision "2020-10-13" {
          description
            "Amendment 3.
    * Approval Date:    2020-10-13
    * Publication Date: 2020-10-13.";
          reference
            "TR-355a3: YANG Modules for FTTdp Management
            	    <https://www.broadband-forum.org/download/
            		   TR-355_Amendment-3.pdf>";
    
        }
    
        revision "2020-01-17" {
          description
            "Amendment 2 Corrigendum 2.
    * Approval Date:    2020-01-17
    * Publication Date: 2020-01-17.";
          reference
            "TR-355a2c2: YANG Modules for FTTdp Management
            	    <https://www.broadband-forum.org/download/
            		   TR-355_Amendment-2.pdf>";
    
        }
    
        revision "2019-10-21" {
          description
            "Amendment 2 Corrigendum 1.
    * Approval Date:    2019-10-21
    * Publication Date: 2019-10-21.";
          reference
            "TR-355a2c1: YANG Modules for FTTdp Management
            	    <https://www.broadband-forum.org/download/
            		   TR-355_Amendment-2.pdf>";
    
        }
    
        revision "2019-06-11" {
          description
            "Amendment 2.
    * Approval Date:    2019-06-11
    * Publication Date: 2019-06-11.";
          reference
            "TR-355a2: YANG Modules for FTTdp Management
            	  <https://www.broadband-forum.org/technical/download/
            		 TR-355_Amendment-2.pdf>";
    
        }
    
        revision "2018-10-01" {
          description
            "Amendment 1.
    * Approval Date:    2018-10-01
    * Publication Date: 2018-10-01.";
          reference
            "TR-355a1: YANG Modules for FTTdp Management
            	  <https://www.broadband-forum.org/technical/download/
            		 TR-355_Amendment-1.pdf>";
    
        }
    
        revision "2017-11-27" {
          description
            "Corrigendum 2 (fixes to the previous revision).
    * Approval Date:    see revision date above.
    * Publication Date: 2018-01-19.";
          reference
            "TR-355c2: YANG Modules for FTTdp Management
            	  <https://www.broadband-forum.org/technical/download/
            		 TR-355_Corrigendum-2.pdf>";
    
        }
    
        revision "2017-03-13" {
          description
            "Corrigendum 1 (fixes to the initial revision).
    * Approval Date:    see revision date above.
    * Publication Date: 2017-04-12.";
          reference
            "TR-355c1: YANG Modules for FTTdp Management
            	  <https://www.broadband-forum.org/technical/download/
            		 TR-355_Corrigendum-1.pdf>";
    
        }
    
        revision "2016-07-18" {
          description
            "Initial revision.
    * Approval Date:    see revision date above.
    * Publication Date: 2016-08-05.";
          reference
            "TR-355: YANG Modules for FTTdp Management
            	<https://www.broadband-forum.org/technical/download/
            		 TR-355.pdf>";
    
        }
    
    
        // features
    
        feature annex-x {
          description
            "Indicates support for Annex X as defined in ITU-T G.9701.";
          reference
            "ITU-T G.9701 clause X.6.7.1 and T.2.1";
    
        }
    
        feature annex-d {
          description
            "Indicates support for Annex D as defined in ITU-T G.9701.";
          reference
            "ITU-T G.9701 clause D.5.7.2 and T.2.2.1";
    
        }
    
        feature srec {
          description
            "Indicates support for Showtime Reconfiguration (SREC) as
    defined in ITU-T G.9701 Annex R.";
          reference
            "ITU-T G.9701 Annex R";
    
        }
    
        feature dta {
          description
            "Indicates support for Dynamic Time Assignment (DTA) as defined
    in ITU-T G.9701.";
          reference
            "ITU-T G.9701 Annex X and T";
    
        }
    
        feature high-utilization-seconds {
          if-feature dta;
          description
            "Indicates support for reporting High Utilization Seconds as
    defined in ITU-T G.9701.";
          reference
            "ITU-T G.9701 clauses T.4.2 and T.4.3";
    
        }
    
        feature andeftr {
          description
            "Indicates support for All NOI with Data symbols Error-Free
    Throughput Rate (ANDEFTR).";
        }
    
        feature rmcr {
          description
            "Indicates support for Robust Maintenance Channel Recovery
    (RMCR).";
        }
    
        feature classmask {
          description
            "Indicates support for classmask configuration.";
        }
    
        feature impulse-noise-monitoring {
          description
            "Indicates support for Impulse Noise Monitoring (INM).";
        }
    
        feature preferred-ndr {
          description
            "Indicates support for Preferred Net Data Rate.";
          reference
            "ITU-T G.997.2 clause 7.2.1.5 and 7.2.1.6";
    
        }
    
        feature rmccarmask {
          description
            "Indicates support for the Robust Managmenet Channel (RMC)
    sub-carrier mask.";
          reference
            "ITU-T G.997.2 clause 7.1.2.16 and clause 7.1.2.17;
            ITU-T G.9701 clause 7.3.1.3.";
    
        }
    
        feature tgvn {
          description
            "Indicates support for Targeted Generalized Vectoring with
    Non-active G.9701 supporting lines (TGVN).";
          reference
            "ITU-T G.997.2 clause 7.1.7.5";
    
        }
    
        feature performance-24hr {
          description
            "Indicates that collection of 24 hour performance intervals
    is supported.";
        }
    
        feature availability {
          description
            "Indicates support for retrieving availability of a FAST
    interface.";
        }
    
        // identities
    
        identity fast-threshold-crossing-alert {
          description
            "Base identity for FAST threshold crossing alerts (TCA).
    
    This identity is abstract and is not be used for a
    threshold crossing alert.";
        }
    
        identity fast-15min-threshold-crossing-alert {
          base fast-threshold-crossing-alert;
          description
            "A threshold crossing alert associated with performance
    counters collected over the current 15 minute interval
    for FAST Transceiver Unit - central Office (FTU-O) or FAST
    Transceiver Unit - Remote side (FTU-R) channels and lines.
    
    This identity is abstract and is not be used for a
    threshold crossing alert.";
        }
    
        identity fast-24hr-threshold-crossing-alert {
          base fast-threshold-crossing-alert;
          description
            "A threshold crossing alert associated with performance
    counters collected over the current 24 hour interval
    for FAST Transceiver Unit - central Office (FTU-O) or FAST
    Transceiver Unit - Remote side (FTU-R) channels and lines.
    
    This identity is abstract and is not be used for a
    threshold crossing alert.";
        }
    
        identity ftu-o-15min-channel-code-violations-tca {
          base fast-15min-threshold-crossing-alert;
          description
            "The number of channel code violations during the
    current 15 minute interval has exceeded the configured FAST
    Transceiver Unit - central Office (FTU-O) threshold. This
    threshold crossing alert is optional.";
        }
    
        identity ftu-o-15min-channel-uncorrectable-dtus-tca {
          base fast-15min-threshold-crossing-alert;
          description
            "The number of received uncorrectable Data Transfer Units (DTU)
    during the current 15 minute interval has exceeded the
    configured FAST Transceiver Unit - central Office (FTU-O)
    threshold. This threshold crossing alert is optional.";
        }
    
        identity ftu-o-15min-channel-retransmitted-dtus-tca {
          base fast-15min-threshold-crossing-alert;
          description
            "The number of retransmitted Data Transfer Units (DTU) during
    the current 15 minute interval has exceeded the configured
    FAST Transceiver Unit - central Office (FTU-O) threshold. This
    threshold crossing alert is optional.";
        }
    
        identity ftu-o-15min-line-errored-seconds-tca {
          base fast-15min-threshold-crossing-alert;
          description
            "The number of line Errored Seconds (ES) during the current 15
    minute interval has exceeded the configured FAST Transceiver
    Unit - central Office (FTU-O) threshold.";
        }
    
        identity ftu-o-15min-line-severely-errored-seconds-tca {
          base fast-15min-threshold-crossing-alert;
          description
            "The number of line Severely Errored Seconds (SES) during the
    current 15 minute interval has exceeded the configured FAST
    Transceiver Unit - central Office (FTU-O) threshold.";
        }
    
        identity ftu-o-15min-line-loss-of-signal-seconds-tca {
          base fast-15min-threshold-crossing-alert;
          description
            "The number of line Loss of Signal Seconds (LOSS) during the
    current 15 minute interval has exceeded the configured FAST
    Transceiver Unit - central Office (FTU-O) threshold. This
    threshold crossing alert is optional.";
        }
    
        identity ftu-o-15min-line-loss-of-rmc-seconds-tca {
          base fast-15min-threshold-crossing-alert;
          description
            "The number of line Loss of Robust Management Channel (RMC)
    Seconds (LORS) during the current 15 minute interval has
    exceeded the configured FAST Transceiver Unit - central Office
    (FTU-O) threshold. This threshold crossing alert is optional.";
        }
    
        identity ftu-o-15min-line-unavailable-seconds-tca {
          base fast-15min-threshold-crossing-alert;
          description
            "The number of received line Unavailable Seconds (UAS) during
    the current 15 minute interval has exceeded the configured FAST
    Transceiver Unit - central Office (FTU-O) threshold.";
        }
    
        identity ftu-o-15min-line-full-initializations-tca {
          base fast-15min-threshold-crossing-alert;
          description
            "The number of line full initializations during the current
    15 minute interval has exceeded the configured FAST Transceiver
    Unit - central Office (FTU-O) threshold. This threshold
    crossing alert is optional.";
        }
    
        identity ftu-o-15min-line-failed-initializations-tca {
          base fast-15min-threshold-crossing-alert;
          description
            "The number of line failed initializations during the current
    15 minute interval has exceeded the configured FAST Transceiver
    Unit - central Office (FTU-O) threshold. This threshold
    crossing alert is optional.";
        }
    
        identity ftu-o-15min-line-fast-initializations-tca {
          base fast-15min-threshold-crossing-alert;
          description
            "The number of line fast initializations during the current 15
    minute interval has exceeded the configured FAST Transceiver
    Unit - central Office (FTU-O) threshold. This threshold
    crossing alert is optional.";
        }
    
        identity ftu-o-15min-line-failed-fast-initializations-tca {
          base fast-15min-threshold-crossing-alert;
          description
            "The number of line failed fast initializations during the
    current 15 minute interval has exceeded the configured FAST
    Transceiver Unit - central Office (FTU-O) threshold. This
    threshold crossing alert is optional.";
        }
    
        identity ftu-o-15min-line-spontaneous-interruptions-tca {
          base fast-15min-threshold-crossing-alert;
          description
            "The number of line spontaneous interuptions during the current
    15 minute interval has exceeded the configured FAST Transceiver
    Unit - central Office (FTU-O) threshold. This threshold
    crossing alert is optional.";
        }
    
        identity ftu-r-15min-channel-code-violations-tca {
          base fast-15min-threshold-crossing-alert;
          description
            "The number of channel code violations during the
    current 15 minute interval has exceeded the configured FAST
    Transceiver Unit - Remote side (FTU-R) threshold. This
    threshold crossing alert is optional.";
        }
    
        identity ftu-r-15min-channel-uncorrectable-dtus-tca {
          base fast-15min-threshold-crossing-alert;
          description
            "The number of received uncorrectable Data Transfer Units (DTU)
    during the current 15 minute interval has exceeded the
    configured FAST Transceiver Unit - Remote side (FTU-R)
    threshold. This threshold crossing alert is optional.";
        }
    
        identity ftu-r-15min-channel-retransmitted-dtus-tca {
          base fast-15min-threshold-crossing-alert;
          description
            "The number of retransmitted Data Transfer Units (DTU) during
    the current 15 minute interval has exceeded the configured
    FAST Transceiver Unit - Remote side (FTU-R) threshold. This
    threshold crossing alert is optional.";
        }
    
        identity ftu-r-15min-line-errored-seconds-tca {
          base fast-15min-threshold-crossing-alert;
          description
            "The number of line Errored Seconds (ES) during the current 15
    minute interval has exceeded the configured FAST Transceiver
    Unit - Remote side (FTU-R) threshold.";
        }
    
        identity ftu-r-15min-line-severely-errored-seconds-tca {
          base fast-15min-threshold-crossing-alert;
          description
            "The number of line Severely Errored Seconds (SES) during the
    current 15 minute interval has exceeded the configured FAST
    Transceiver Unit - Remote side (FTU-R) threshold.";
        }
    
        identity ftu-r-15min-line-loss-of-signal-seconds-tca {
          base fast-15min-threshold-crossing-alert;
          description
            "The number of line Loss of Signal Seconds (LOSS) during the
    current 15 minute interval has exceeded the configured FAST
    Transceiver Unit - Remote side (FTU-R) threshold. This
    threshold crossing alert is optional.";
        }
    
        identity ftu-r-15min-line-loss-of-rmc-seconds-tca {
          base fast-15min-threshold-crossing-alert;
          description
            "The number of line Loss of Robust Management Channel (RMC)
    Seconds (LORS) during the current 15 minute interval has
    exceeded the configured FAST Transceiver Unit - Remote side
    (FTU-R) threshold. This threshold crossing alert is optional.";
        }
    
        identity ftu-r-15min-line-unavailable-seconds-tca {
          base fast-15min-threshold-crossing-alert;
          description
            "The number of received line Unavailable Seconds (UAS) during
    the current 15 minute interval has exceeded the configured FAST
    Transceiver Unit - Remote side (FTU-R) threshold.";
        }
    
        identity ftu-o-24hr-channel-code-violations-tca {
          base fast-24hr-threshold-crossing-alert;
          description
            "The number of channel code violations during the current 24
    hour interval has exceeded the configured FAST Transceiver
    Unit - central Office (FTU-O) threshold. This threshold
    crossing alert is optional.";
        }
    
        identity ftu-o-24hr-channel-uncorrectable-dtus-tca {
          base fast-24hr-threshold-crossing-alert;
          description
            "The number of received uncorrectable Data Transfer Units (DTU)
    during the current 24 hour interval has exceeded the configured
    FAST Transceiver Unit - central Office (FTU-O) threshold. This
    threshold crossing alert is optional.";
        }
    
        identity ftu-o-24hr-channel-retransmitted-dtus-tca {
          base fast-24hr-threshold-crossing-alert;
          description
            "The number of retransmitted Data Transfer Units (DTU) during
    the current 24 hour interval has exceeded the configured FAST
    Transceiver Unit - central Office (FTU-O) threshold. This
    threshold crossing alert is optional.";
        }
    
        identity ftu-o-24hr-line-errored-seconds-tca {
          base fast-24hr-threshold-crossing-alert;
          description
            "The number of line Errored Seconds (ES) during the current 24
    hour interval has exceeded the configured FAST Transceiver
    Unit - central Office (FTU-O) threshold.";
        }
    
        identity ftu-o-24hr-line-severely-errored-seconds-tca {
          base fast-24hr-threshold-crossing-alert;
          description
            "The number of line Severely Errored Seconds (SES) during the
    current 24 hour interval has exceeded the configured FAST
    Transceiver Unit - central Office (FTU-O) threshold.";
        }
    
        identity ftu-o-24hr-line-loss-of-signal-seconds-tca {
          base fast-24hr-threshold-crossing-alert;
          description
            "The number of line Loss of Signal Seconds (LOSS) during the
    current 24 hour interval has exceeded the configured FAST
    Transceiver Unit - central Office (FTU-O) threshold. This
    threshold crossing alert is optional.";
        }
    
        identity ftu-o-24hr-line-loss-of-rmc-seconds-tca {
          base fast-24hr-threshold-crossing-alert;
          description
            "The number of line Loss of Robust Management Channel (RMC)
    Seconds (LORS) during the current 24 hour interval has exceeded
    the configured FAST Transceiver Unit - central Office (FTU-O)
    threshold. This threshold crossing alert is optional.";
        }
    
        identity ftu-o-24hr-line-unavailable-seconds-tca {
          base fast-24hr-threshold-crossing-alert;
          description
            "The number of received line Unavailable Seconds (UAS) during
    the current 24 hour interval has exceeded the configured FAST
    Transceiver Unit - central Office (FTU-O) threshold.";
        }
    
        identity ftu-o-24hr-line-full-initializations-tca {
          base fast-24hr-threshold-crossing-alert;
          description
            "The number of line full initializations during the current
    24 hour interval has exceeded the configured FAST Transceiver
    Unit - central Office (FTU-O) threshold. This threshold
    crossing alert is optional.";
        }
    
        identity ftu-o-24hr-line-failed-initializations-tca {
          base fast-24hr-threshold-crossing-alert;
          description
            "The number of line failed initializations during the current
    24 hour interval has exceeded the configured FAST Transceiver
    Unit - central Office (FTU-O) threshold. This threshold
    crossing alert is optional.";
        }
    
        identity ftu-o-24hr-line-fast-initializations-tca {
          base fast-24hr-threshold-crossing-alert;
          description
            "The number of line fast initializations during the current 24
    hour interval has exceeded the configured FAST Transceiver
    Unit - central Office (FTU-O) threshold. This threshold
    crossing alert is optional.";
        }
    
        identity ftu-o-24hr-line-failed-fast-initializations-tca {
          base fast-24hr-threshold-crossing-alert;
          description
            "The number of line failed fast initializations during the
    current 24 hour interval has exceeded the configured FAST
    Transceiver Unit - central Office (FTU-O) threshold. This
    threshold crossing alert is optional.";
        }
    
        identity ftu-o-24hr-line-spontaneous-interruptions-tca {
          base fast-24hr-threshold-crossing-alert;
          description
            "The number of line spontaneous interuptions during the current
    24 hour interval has exceeded the configured FAST Transceiver
    Unit - central Office (FTU-O) threshold. This threshold
    crossing alert is optional.";
        }
    
        identity ftu-r-24hr-channel-code-violations-tca {
          base fast-24hr-threshold-crossing-alert;
          description
            "The number of channel code violations during the
    current 24 hour interval has exceeded the configured FAST
    Transceiver Unit - Remote side (FTU-R) threshold. This
    threshold crossing alert is optional.";
        }
    
        identity ftu-r-24hr-channel-uncorrectable-dtus-tca {
          base fast-24hr-threshold-crossing-alert;
          description
            "The number of received uncorrectable Data Transfer Units (DTU)
    during the current 24 hour interval has exceeded the configured
    FAST Transceiver Unit - Remote side (FTU-R) threshold. This
    threshold crossing alert is optional.";
        }
    
        identity ftu-r-24hr-channel-retransmitted-dtus-tca {
          base fast-24hr-threshold-crossing-alert;
          description
            "The number of retransmitted Data Transfer Units (DTU) during
    the current 24 hour interval has exceeded the configured FAST
    Transceiver Unit - Remote side (FTU-R) threshold. This
    threshold crossing alert is optional.";
        }
    
        identity ftu-r-24hr-line-errored-seconds-tca {
          base fast-24hr-threshold-crossing-alert;
          description
            "The number of line Errored Seconds (ES) during the current 24
    hour interval has exceeded the configured FAST Transceiver
    Unit - Remote side (FTU-R) threshold.";
        }
    
        identity ftu-r-24hr-line-severely-errored-seconds-tca {
          base fast-24hr-threshold-crossing-alert;
          description
            "The number of line Severely Errored Seconds (SES) during the
    current 24 hour interval has exceeded the configured FAST
    Transceiver Unit - Remote side (FTU-R) threshold.";
        }
    
        identity ftu-r-24hr-line-loss-of-signal-seconds-tca {
          base fast-24hr-threshold-crossing-alert;
          description
            "The number of line Loss of Signal Seconds (LOSS) during the
    current 24 hour interval has exceeded the configured FAST
    Transceiver Unit - Remote side (FTU-R) threshold. This
    threshold crossing alert is optional.";
        }
    
        identity ftu-r-24hr-line-loss-of-rmc-seconds-tca {
          base fast-24hr-threshold-crossing-alert;
          description
            "The number of line loss of Robust Management Channel (RMC)
    seconds during the current 24 hour interval has exceeded the
    configured FAST Transceiver Unit - Remote side (FTU-R)
    threshold. This threshold crossing alert is optional.";
        }
    
        identity ftu-r-24hr-line-unavailable-seconds-tca {
          base fast-24hr-threshold-crossing-alert;
          description
            "The number of received line Unavailable Seconds (UAS) during
    the current 24 hour interval has exceeded the configured FAST
    Transceiver Unit - Remote side (FTU-R) threshold.";
        }
    
        // typedefs
        typedef downstream-data-rate-profile-ref {
          type leafref {
            path "/bbf-fast:fast/bbf-fast:service/bbf-fast:downstream-data-rate-profile/bbf-fast:name";
          }
          description
            "Used to reference a downstream data rate profile.";
        }
    
        typedef upstream-data-rate-profile-ref {
          type leafref {
            path "/bbf-fast:fast/bbf-fast:service/bbf-fast:upstream-data-rate-profile/bbf-fast:name";
          }
          description
            "Used to reference an upstream data rate profile.";
        }
    
        typedef low-power-data-rate-profile-ref {
          type leafref {
            path "/bbf-fast:fast/bbf-fast:service/bbf-fast:low-power-data-rate-profile/bbf-fast:name";
          }
          description
            "Used to reference a low power data rate profile.";
        }
    
        typedef profiles {
          type bits {
            bit g.9701-profile-106a {
              position 0;
              description
                "ITU-T G.9701 profile 106a.";
            }
            bit g.9701-profile-106b {
              position 1;
              description
                "ITU-T G.9701 profile 106b.";
            }
            bit g.9701-profile-212a {
              position 2;
              description
                "ITU-T G.9701 profile 212a.";
            }
            bit g.9701-profile-106c {
              position 3;
              description
                "ITU-T G.9701 profile 106c.";
            }
            bit g.9701-profile-212c {
              position 4;
              description
                "ITU-T G.9701 profile 212c.";
            }
          }
          description
            "Identifies supported FAST profiles.";
          reference
            "ITU-T G.9701 clause 6";
    
        }
    
        typedef psd-level {
          type uint8 {
            range "0..255";
          }
          units "-0.5 dBm per Hz";
          description
            "Defines a Power Spectral Density (PSD) level in the range 0 to
    -127.5 dBm/Hz.";
        }
    
        typedef sub-carrier-index {
          type uint16 {
            range "0..4095";
          }
          description
            "Identifies a sub-carrier.";
        }
    
        typedef psd-level-sub-carrier-index {
          type uint32 {
            range "39..4096";
          }
          description
            "Identifies a sub-carrier used for Power Spectral Density (PSD)
    level configuration.";
        }
    
        typedef iarbands {
          type bits {
            bit kHz-1800-2000 {
              position 0;
              description
                "International amateur radio band 1800-2000 kHz.";
            }
            bit kHz-3500-4000 {
              position 1;
              description
                "International amateur radio band 3500-4000 kHz.";
            }
            bit kHz-7000-7300 {
              position 2;
              description
                "International amateur radio band 7000-7300 kHz.";
            }
            bit kHz-10100-10150 {
              position 3;
              description
                "International amateur radio band 10100-10150 kHz.";
            }
            bit kHz-14000-14350 {
              position 4;
              description
                "International amateur radio band 14000-14350 kHz.";
            }
            bit kHz-18068-18168 {
              position 5;
              description
                "International amateur radio band 18068-18168 kHz.";
            }
            bit kHz-21000-21450 {
              position 6;
              description
                "International amateur radio band 21000-21450 kHz.";
            }
            bit kHz-24890-24990 {
              position 7;
              description
                "International amateur radio band 24890-24990 kHz.";
            }
            bit kHz-28000-29700 {
              position 8;
              description
                "International amateur radio band 28000-29700 kHz.";
            }
            bit kHz-50000-54000 {
              position 9;
              description
                "International amateur radio band 50000-54000 kHz.";
            }
            bit kHz-69900-70500 {
              position 10;
              description
                "International amateur radio band 69900-70500 kHz.";
            }
            bit kHz-144000-148000 {
              position 11;
              description
                "International amateur radio band 144000-148000 kHz.";
            }
            bit kHz-5351.5-5366.5 {
              position 12;
              description
                "International amateur radio band 5351.5-5366.5 kHz.";
            }
          }
          description
            "Defines for each International Amateur Radio (IAR) band
    whether transmit Power Spectral Density (PSD) reduction is
    enabled or disabled in that band.";
          reference
            "ITU-T G.997.2 clause 7.1.2.8 (IARBANDS);
            ITU-T G.9701 clauses 7.3.1.2 and 12.3.2.1.1;
            ITU-T G.994.1 Table 11.70.8 and 11.70.8.1";
    
        }
    
        typedef line-spectrum-profile-ref {
          type leafref {
            path "/bbf-fast:fast/bbf-fast:spectrum/bbf-fast:line-spectrum-profile/bbf-fast:name";
          }
          description
            "Used to reference a line spectrum profile.";
        }
    
        typedef radio-frequency-interference-profile-ref {
          type leafref {
            path "/bbf-fast:fast/bbf-fast:spectrum/bbf-fast:radio-frequency-interference-profile/bbf-fast:name";
          }
          description
            "Used to reference an Radio Frequency Interference(RFI)
    profile.";
        }
    
        typedef upstream-power-back-off-profile-ref {
          type leafref {
            path "/bbf-fast:fast/bbf-fast:spectrum/bbf-fast:upstream-power-back-off-profile/bbf-fast:name";
          }
          description
            "Used to reference an upstream power back-off profile.";
        }
    
        typedef noise-margin-profile-ref {
          type leafref {
            path "/bbf-fast:fast/bbf-fast:quality/bbf-fast:noise-margin-profile/bbf-fast:name";
          }
          description
            "Used to reference a noise margin profile.";
        }
    
        typedef fast-rate-adaptation-profile-ref {
          type leafref {
            path "/bbf-fast:fast/bbf-fast:quality/bbf-fast:fast-rate-adaptation-profile/bbf-fast:name";
          }
          description
            "Used to reference a fast rate adaptation profile.";
        }
    
        typedef vectoring-profile-ref {
          type leafref {
            path "/bbf-fast:fast/bbf-fast:quality/bbf-fast:vectoring-profile/bbf-fast:name";
          }
          description
            "Used to reference a vectoring profile.";
        }
    
        typedef fast-retrain-policy-profile-ref {
          type leafref {
            path "/bbf-fast:fast/bbf-fast:quality/bbf-fast:fast-retrain-policy-profile/bbf-fast:name";
          }
          description
            "Used to reference a fast retrain policy profile.";
        }
    
        typedef retransmission-profile-ref {
          type leafref {
            path "/bbf-fast:fast/bbf-fast:quality/bbf-fast:retransmission-profile/bbf-fast:name";
          }
          description
            "Used to reference a retransmission profile.";
        }
    
        typedef time-division-duplexing-profile-ref {
          type leafref {
            path "/bbf-fast:fast/bbf-fast:service/bbf-fast:time-division-duplexing-profile/bbf-fast:name";
          }
          description
            "Used to reference a Time Division Duplexing (TDD) profile.";
        }
    
        typedef performance-15min-interval {
          type uint8 {
            range "0..96";
          }
          description
            "Defines the range of 15 minute intervals.";
        }
    
        typedef performance-15min-history-interval {
          type performance-15min-interval {
            range "1..96";
          }
          description
            "Defines the range of 15 minutes intervals and defines
    the position of the interval relative to the current interval
    where 1 is the most recent interval.";
        }
    
        typedef performance-24hr-interval {
          type uint8 {
            range "0..7";
          }
          description
            "Defines the range of 24 hour intervals.";
        }
    
        typedef performance-24hr-history-interval {
          type performance-24hr-interval {
            range "1..7";
          }
          description
            "Defines the range of 24 hour intervals and defines
    the position of the interval relative to the current interval
    where 1 is the most recent interval.";
        }
    
        typedef seconds-counter-15min {
          type bbf-yang:performance-counter32 {
            range "0..900";
          }
          description
            "A performance counter which counts the number of seconds an
    event has occurred during a 15 minute interval.";
        }
    
        typedef seconds-counter-24hr {
          type bbf-yang:performance-counter32 {
            range "0..86400";
          }
          description
            "A performance counter which counts the number of seconds an
    event has occurred during a 24 hour interval.";
        }
    
        typedef line-threshold-profile-ref {
          type leafref {
            path "/bbf-fast:fast/bbf-fast:thresholds/bbf-fast:line-threshold-profile/bbf-fast:name";
          }
          description
            "Used to reference a line threshold profile.";
        }
    
        typedef channel-threshold-profile-ref {
          type leafref {
            path "/bbf-fast:fast/bbf-fast:thresholds/bbf-fast:channel-threshold-profile/bbf-fast:name";
          }
          description
            "Used to reference a channel threshold profile.";
        }
    
        typedef line-config-vector-ref {
          type leafref {
            path "/bbf-fast:fast/bbf-fast:vectors/bbf-fast:line-config-vector/bbf-fast:name";
          }
          description
            "Used to reference a line configuration vector of profiles.";
        }
    
        typedef threshold-template-ref {
          type leafref {
            path "/bbf-fast:fast/bbf-fast:thresholds/bbf-fast:threshold-template/bbf-fast:name";
          }
          description
            "Used to reference a line threshold template profile.";
        }
    
        typedef near-end-test-groups {
          type bits {
            bit group1 {
              position 0;
              description
                "If present, forces an update of the test parameters in
    group 1.";
            }
            bit group2 {
              position 1;
              description
                "If present, forces an update of the test parameters in
    group 2. Upon a request to update the XLOG test
    parameters, the xlogps values are updated for all
    disturber lines at the same time.";
            }
          }
          description
            "A set of bits representing each of the near end test groups.";
        }
    
        typedef far-end-test-groups {
          type bits {
            bit group1 {
              position 0;
              description
                "If present, forces an update of the test parameters in
    group 1.";
            }
            bit group2 {
              position 1;
              description
                "If present, forces an update of the test parameters in
    group 2.";
            }
          }
          description
            "A set of bits representing each of the far end test groups.";
        }
    
        typedef sub-carrier-group-index {
          type sub-carrier-index;
          description
            "Identifies a sub-carrier group.";
        }
    
        typedef sub-carrier-group-size {
          type uint8 {
            range "1 | 2 | 4 | 8";
          }
          units "sub-carriers";
          description
            "Reports the number of sub-carriers in any one sub-carrier
    group.";
        }
    
        typedef snr-margin {
          type union {
            type bbf-yang:undetermined;
            type int16 {
              range "-511..511";
            }
          }
          units "0.1 dB";
          description
            "Reports the signal-to-noise ratio margin. A first special value
    (undetermined) indicates that the signal-to-noise ratio margin
    is undetermined. A second special value (-511) indicates that
    the signal-to-noise ratio margin is less than or equal to -51.1
    dB. A third special value (+511) indicates that the
    signal-to-noise ratio margin is greater than or equal to
    +51.1 dB.";
        }
    
        typedef vce-port-index {
          type union {
            type enumeration {
              enum "undefined" {
                value 0;
                description
                  "The value of the Vectoring Control Entity (VCE) port
    index is undefined.";
              }
            }
            type uint16 {
              range "1..65535";
            }
          }
          description
            "For the line in a vectored group, the Vectoring Control Entity
    (VCE) port index is the physical index that uniquely identifies
    the VCE port to which the line is connected. It is an integer
    from 1 to the maximum number of lines supported by the VCE.";
        }
    
        typedef per-sub-carrier-nibble {
          type binary {
            length "0..2048";
          }
          description
            "A binary type where each nibble represents data belonging to
    a sub-carrier. The first nibble represents sub-carrier 0 and
    the last represents sub-carrier 4095.";
        }
    
        typedef per-sub-carrier-uint8 {
          type binary {
            length "0..4096";
          }
          description
            "A binary type where each octet represents data belonging to
    a sub-carrier. The first octet represents sub-carrier 0 and
    the last represents sub-carrier 4095.";
        }
    
        typedef per-sub-carrier-group-uint8 {
          type binary;
          description
            "A binary type where each octet represents data belonging to
    a sub-carrier group. The first octet represents sub-carrier
    group 0.";
        }
    
        typedef per-sub-carrier-group-uint16 {
          type binary;
          description
            "A binary type where each pair of octets represents data
    belonging to a sub-carrier. The first two octets represents
    sub-carrier 0. In each pair of octets, the most significant
    byte is loaded first.";
        }
    
        typedef time-stamp-or-undefined {
          type union {
            type enumeration {
              enum "undefined" {
                value 0;
                description
                  "The value of the time stamp is undefined or unknown.";
              }
            }
            type yang:date-and-time;
          }
          description
            "The date/time associated with a particular time stamp. The
    special value, 'undefined', is used when the event represented
    by the time stamp has not yet occurred.";
        }
    
        typedef error-free-bits-count {
          type uint32;
          units "65536 bits";
          description
            "Defines the typedef to be used for error-free bits
    counters.";
        }
    
        typedef error-free-throughput {
          type uint32;
          units "kilobits per second";
          description
            "Defines the typedef to be used for error-free throughput
    parameters.";
        }
    
        // groupings
        grouping data-rate-parameters {
          description
            "Data rate configuration parameters.";
          reference
            "ITU-T G.997.2 clause 7.2.1";
    
          leaf maximum-net-data-rate {
            type bbf-yang:data-rate32;
            default "4294967295";
            description
              "Defines the value of the maximum net data rate.";
            reference
              "ITU-T G.997.2 clause 7.2.1.1 (MAXNDR);
              ITU-T G.9701 clause 11.4.2.2";
    
          }
    
          leaf minimum-expected-throughput {
            type bbf-yang:data-rate32;
            must ". < ../maximum-net-data-rate" {
              error-message
                "'minimum-expected-throughput' is greater than or equal to the 'maximum-net-data-rate'.";
              description
                "The minimum expected throughput must be less than the
    maximum net data rate.";
            }
            default "0";
            description
              "Defines the value of the minimum expected throughput.";
            reference
              "ITU-T G.997.2 clause 7.2.1.2 (MINETR);
              ITU-T G.9701 clause 11.4.2.1";
    
          }
    
          leaf maximum-gamma-data-rate {
            type bbf-yang:data-rate32;
            default "4294967295";
            description
              "Defines the maximum value of the Gamma Data Rate (GDR)
    (see clause 7.11.1.3/G.997.2). The GDR shall not exceed
    maximum Gamma Data Rate (MAXGDR) at the start of showtime
    and during showtime.";
            reference
              "ITU-T G.997.2 clause 7.2.1.3 (MAXGDR)";
    
          }
    
          leaf minimum-gamma-data-rate {
            type bbf-yang:data-rate32;
            must
              ". <= ../maximum-gamma-data-rate" {
              error-message
                "'minimum-gamma-data-rate' is greater than 'maximum-gamma-data-rate'.";
              description
                "The minimum gamma data rate must be less than or equal to
    the maximum gamma data rate.";
            }
            default "0";
            description
              "Defines the minimum value of the Gamma Data Rate (GDR)
    The GDR may be lower than minimum Gamma Data Rate (MINGDR).
    If the GDR is lower than MINGDR at initialization or when GDR
    becomes lower than MINGDR during showtime, a threshold
    crossing alert occurs.";
            reference
              "ITU-T G.997.2 clauses 7.2.1.4 (MINGDR) and 7.11.1.3 (GDR)";
    
          }
    
          container preferred-ndr {
            if-feature bbf-fast:preferred-ndr;
            description
              "Preferred Net Data Rate (NDR) configuration.";
            leaf preferred-net-data-rate {
              type bbf-yang:data-rate32;
              default "0";
              description
                "This parameter provides the informative value of
    the Preferred Net Data Rate (PREFNDR) relating to the
    services enabled on a line. There is no normative expected
    behavior related to this parameter.";
              reference
                "ITU-T G.997.2 clause 7.2.1.5 (PREFNDR)";
    
            }
    
            leaf preferred-net-data-rate-type {
              type enumeration {
                enum "high" {
                  value 0;
                  description
                    "Net Data Rate (NDR) should be as high as reasonably
    possible, Preferred Net Data Rate (PREFNDR) may be
    ignored.";
                }
                enum "vendor-discretionary" {
                  value 1;
                  description
                    "Vendor discretionary interpretation of Preferred Net
    Data Rate (PREFNDR), the behavior relative to the
    configured PREFNDR is not specified.";
                }
                enum "close-to" {
                  value 2;
                  description
                    "Net Data Rate (NDR) should be close to the Preferred
    Net Data Rate (PREFNDR).";
                }
                enum "at-least" {
                  value 3;
                  description
                    "Net Data Rate (NDR) should be greater than or equal to
    the Preferred Net Data Rate (PREFNDR), if feasible and
    reasonable.";
                }
              }
              default "high";
              description
                "This parameter describes the interpretation of the
    Preferred Net Data Rate (PREFNDR) parameter. All lines in
    the same vectored group should be configured with a common
    value for PREFNDR_TYPEus and a common value for
    PREFNDR_TYPEds. There is no normative expected behavior
    related to this parameter.";
              reference
                "ITU-T G.997.2 clause 7.2.1.6 (PREFNDR_TYPE)";
    
            }
          }  // container preferred-ndr
    
          container dynamic-time-assignment {
            if-feature bbf-fast:dta;
            description
              "Configuruation of Dynamic Time Assignment (DTA).";
            leaf minimum-expected-throughput {
              type bbf-yang:data-rate32;
              must
                ". < ../maximum-net-data-rate" {
                error-message
                  "'minimum-expected-throughput' is greater than or equal to the 'maximum-net-data-rate'.";
                description
                  "The minimum expected throughput for Dynamic Time
    Assignment (DTA) must be less than the maximum net data
    rate for DTA.";
              }
              default "0";
              description
                "Defines the value of the minimum expected throughput for
    Dynamic Time Assignment (DTA) operation to constrain the
    dynamic range of Mds requested by the Dynamic Resource
    Allocation (DRA).
    
    If 'dta-allowed' in the Time Division Duplexing (TDD)
    profile is equal to 'cdta', then a value less than or equal
    to the minimum expected throughput without DTA operation
    must be configured.";
              reference
                "ITU-T G.997.2 clause T.2.2.5 (DTA_MINETR);
                ITU-T G.9701 clause T.2.10";
    
            }
    
            leaf maximum-net-data-rate {
              type bbf-yang:data-rate32;
              default "4294967295";
              description
                "Defines the value of the maximum Net Data Rate (NDR) for
    Dynamic Time Assignment (DTA) operation.";
              reference
                "ITU-T G.997.2 clause T.2.2.6 (DTA_MAXNDR);
                ITU-T G.9701 clause D.5.7.5, X.6.7.5 and T.2.11";
    
            }
    
            leaf high-utilization-second-threshold {
              if-feature bbf-fast:high-utilization-seconds;
              type uint8 {
                range "0 | 1..100";
              }
              units "percent";
              default "90";
              description
                "Defines the threshold, in percent, for declaring a High
    Utilization Second. The special value 0 indicates that
    declaring and counting of High Utilization Seconds is
    disabled.";
              reference
                "ITU-T G.997.2 clauses T.2.1.5 (DTA_HUS_THRESHOLDds) and
                T.2.1.6 (DTA_HUS_THRESHOLDus);
                ITU-T G.9701 clauses T.4.2 and T.4.3";
    
            }
          }  // container dynamic-time-assignment
    
          leaf low-andeftr-threshold {
            if-feature bbf-fast:andeftr;
            type bbf-yang:data-rate32;
            default "0";
            description
              "Defines the value of the low All NOI with Data symbols
    Error-Free Throughput Rate threshold.";
            reference
              "ITU-T G.997.2 clause 7.2.4.1 (LOW-ANDEFTR-THRESHOLD)";
    
          }
        }  // grouping data-rate-parameters
    
        grouping low-power-data-rate-parameters {
          description
            "Parameters associated with configuration of data rates when
    operating in a low power mode.";
          leaf maximum-net-data-rate-in-l2.2 {
            type bbf-yang:data-rate32;
            default "4294967295";
            description
              "Defines the value of the maximum net data rate allowed
    during the L2.2 link state for both the upstream and
    downstream direction.";
            reference
              "ITU-T G.997.2 clause 7.2.3.2 (L2.2-MAXNDR); ITU-T G.9701
              clause 13.4.2.4.";
    
          }
    
          leaf minimum-expected-throughput-in-l2.2 {
            type bbf-yang:data-rate32;
            default "0";
            description
              "Defines the value of the minimum expected throughput
    allowed during the L2.2 link state for both the upstream
    and downstream direction.";
            reference
              "ITU-T G.997.2 clause 7.2.3.4 (L2.2-MINETR); ITU-T G.9701
              clause 13.4.2.4.";
    
          }
        }  // grouping low-power-data-rate-parameters
    
        grouping low-power-data-rate-directional-parameters {
          description
            "Parameters associated with configuration of data rates when
    operating in a low power mode for both the upstream and
    downstream directions.";
          leaf maximum-net-data-rate-in-l2.1 {
            type bbf-yang:data-rate32;
            default "4294967295";
            description
              "Defines the value of the maximum net data rate allowed
    during the L2.1 link state.";
            reference
              "ITU-T G.997.2 clause 7.2.3.1 (L2.1-MAXNDR); ITU-T G.9701
              clause 13.4.1.4.";
    
          }
    
          leaf minimum-expected-throughput-in-l2.1 {
            type bbf-yang:data-rate32;
            default "0";
            description
              "Defines the value of the minimum expected throughput
    allowed during the L2.1 link state.";
            reference
              "ITU-T G.997.2 clause 7.2.3.3 (L2.1-MINETR); ITU-T G.9701
              clause 13.4.1.4.";
    
          }
    
          leaf minimum-expected-throughput-after-exit-from-l2.1 {
            type bbf-yang:data-rate32;
            default "0";
            description
              "Defines the value of the minimum expected throughput
    allowed after exit from L2.1 to the L0 link state.";
            reference
              "ITU-T G.997.2 clause 7.2.3.5 (L2.1-MINETR-EXIT); ITU-T
              G.9701 clause 13.4.1.4.";
    
          }
        }  // grouping low-power-data-rate-directional-parameters
    
        grouping data-rate-profile {
          description
            "Defines the parameters contained in a data rate profile.";
          uses data-rate-parameters;
        }  // grouping data-rate-profile
    
        grouping low-power-data-rate-profile {
          description
            "Defines the parameters contained in a low power data rate
    profile.";
          uses low-power-data-rate-parameters;
    
          container downstream {
            description
              "Downstream low power data rate parameters.";
            uses low-power-data-rate-directional-parameters;
          }  // container downstream
    
          container upstream {
            description
              "Upstream low power data rate parameters.";
            uses low-power-data-rate-directional-parameters;
          }  // container upstream
        }  // grouping low-power-data-rate-profile
    
        grouping sub-carrier-range {
          description
            "Defines a sub-carrier band, i.e., a set of contiguous
    sub-carriers.";
          leaf start-index {
            type sub-carrier-index;
            description
              "The sub-carrier index identifying the start of a range of
    sub-carriers (inclusive).";
          }
    
          leaf stop-index {
            type sub-carrier-index;
            must ". >= ../start-index" {
              error-message
                "'stop-index' is less than the 'start-index'.";
              description
                "The stop index must be greater than or equal to the
    start index.";
            }
            mandatory true;
            description
              "The sub-carrier index identifying the stop of a range of
    sub-carriers (inclusive).";
          }
        }  // grouping sub-carrier-range
    
        grouping power-and-spectrum-usage-parameters {
          description
            "Power and spectrum usage configuration parameters.";
          reference
            "ITU-T G.997.2 clause 7.1.2";
    
          leaf maximum-aggregate-transmit-power {
            type int16 {
              range "-310..310";
            }
            units "0.1 dBm";
            default "40";
            description
              "Defines the maximum aggregate transmit power at the U-O2
    reference point during initialization and showtime
    (in dBm).";
            reference
              "ITU-T G.997.2 clauses 7.1.2.1 (MAXATPds) and 7.1.2.2
              (MAXATPus);
              ITU-T G.9701 clause 7.3.2";
    
          }
    
          list carmask {
            key "start-index";
            max-elements 32;
            description
              "This list defines the masked sub-carrier bands. All
    sub-carriers within the band, i.e., with indices higher than
    or equal to the start sub-carrier index and lower than or
    equal to the stop sub-carrier index, are masked, i.e., have
    a transmit power set to zero (linear scale).";
            reference
              "ITU-T G.997.2 clauses 7.1.2.3 (CARMASKds) and 7.1.2.4
              (CARMASKus);
              ITU-T G.9701 clause 7.3.1.3.";
    
            uses sub-carrier-range;
          }  // list carmask
    
          list rmccarmask {
            if-feature bbf-fast:rmccarmask;
            key "start-index";
            max-elements 2;
            description
              "Defines the Robust Management Channel (RMC) masked
    sub-carrier bands. All sub-carriers within the band, i.e.,
    with indices greater than or equal to the start sub-carrier
    index and less than or equal to the stop sub-carrier index,
    are masked.
    
    Masked sub-carriers for the Robust Management Channel (RMC)
    are not included in the sub-carrier set for the RMC (RTSds)
    nor in the backup sub-carrier set for the RMC (RTS-bds).";
            reference
              "ITU-T G.997.2 clauses 7.1.2.16 (RMCCARMASKds) and 7.1.2.17
              (RMCCARMASKus);
              ITU-T G.9701 clauses 12.3.3.2.1, 12.3.4.2.7, 13.2.1.3.1 and
              13.3.1.2.3";
    
            uses sub-carrier-range;
          }  // list rmccarmask
        }  // grouping power-and-spectrum-usage-parameters
    
        grouping line-spectrum-profile {
          description
            "Defines the parameters contained in a line spectrum
    profile.";
          leaf profiles {
            type union {
              type enumeration {
                enum "all" {
                  value 0;
                  description
                    "Used to indicate that all profiles are allowed.";
                }
              }
              type profiles;
            }
            default "all";
            description
              "Defines for each profile whether operation according to
    that profile is allowed or disallowed.";
            reference
              "ITU-T G.997.2 clause 7.1.0.1 (PROFILES);
              ITU-T G.9701 clause 6.";
    
          }
    
          leaf link-state-enabling {
            type enumeration {
              enum "l0-l3-enabled" {
                value 0;
                description
                  "L0 and L3 enabled (L2.1N, L2.1B, L2.2 disabled).";
              }
              enum "l0-l3-l2.1n-enabled" {
                value 1;
                description
                  "L0, L3 and L2.1N enabled (L2.1B, L2.2 disabled).";
              }
              enum "l0-l3-l2.1n-l2.1b-enabled" {
                value 2;
                description
                  "L0, L3, L2.1N and L2.1B enabled (L2.2 disabled).";
              }
              enum
                "l0-l3-l2.1n-l2.1b-l2.2-enabled" {
                value 3;
                description
                  "L0, L3, L2.1N, L2.1B and L2.2 enabled.";
              }
            }
            default
              "l0-l3-l2.1n-l2.1b-l2.2-enabled";
            description
              "Selects the set of allowed low power mode states.";
            reference
              "ITU-T G.997.2 clause 7.14.1.2 (LS-ENABLE);
              ITU-T G.9701 clause 12.1.1.7.2";
    
          }
    
          leaf maximum-psd-reduction-in-l2 {
            type uint8 {
              range "0..10 | 255";
            }
            units "dB";
            default "0";
            description
              "Defines the maximum Power Spectral Density (PSD) reduction
    allowed during the L2.1N, L2.2B and L2.2 link states for both
    the upstream and downstream direction. The special value,
    255, indicates there is no maximum bound for the PSD
    reduction (i.e., the maximum PSD reduction is infinite).";
            reference
              "ITU-T G.997.2 clause 7.1.10.3 (L2.1-MAXPSDR);
              ITU-T G.9701 clause 13.4.1.4.";
    
          }
    
          container downstream {
            description
              "Downstream specific line spectrum configuration
    parameters.";
            uses power-and-spectrum-usage-parameters;
    
            list mibpsdmask {
              must
                "count(../mibpsdmask)=0 or
    (count(../mibpsdmask[sub-carrier-index=39])=1 and not (
    (contains(../../profiles,'g.9701-profile-106a') and
    not(../mibpsdmask[sub-carrier-index=2048])) or
    (contains(../../profiles,'g.9701-profile-106b') and
    not(../mibpsdmask[sub-carrier-index=2048])) or
    (contains(../../profiles,'g.9701-profile-212a') and
    not(../mibpsdmask[sub-carrier-index=4096])) or
    (contains(../../profiles,'g.9701-profile-106c') and
    not(../mibpsdmask[sub-carrier-index=2048])) or
    (contains(../../profiles,'g.9701-profile-212c') and
    not(../mibpsdmask[sub-carrier-index=4096])) or
    (../../profiles='all' and
    (not(../mibpsdmask[sub-carrier-index=2048]) or
    not(../mibpsdmask[sub-carrier-index=4096])))))" {
                error-message
                  "The 'mibpsdmask' does not include sub-carrier 39 and/or the highest sub-carrier for the currently configured profile.";
                description
                  "If the MIBPSDMASK is configured, then the mask must
    include sub-carrier 39 as well as the highest
    sub-carrier for the profile.";
              }
              key "sub-carrier-index";
              max-elements 32;
              description
                "This list defines the Power Spectral Density (PSD) mask
    applicable at the U-O2 reference point. Each entry in the
    list defines a breakpoint of the PSD mask. Requirements for
    a valid Management Information Base (MIB) PSD mask are
    defined in G.9701 clauses 7.3.1.1.2.1 and 7.3.1.1.2.2.";
              reference
                "ITU-T G.997.2 clauses 7.1.2.5 (MIBPSDMASKds) and 7.1.2.6
                (MIBPSDMASKus);
                ITU-T G.9701 clauses 7.3.1.1.2.1 and 7.3.1.1.2.2.";
    
              leaf sub-carrier-index {
                type psd-level-sub-carrier-index;
                description
                  "Identifies the sub-carrier for which psd-level applies.";
              }
    
              leaf psd-level {
                type psd-level;
                mandatory true;
                description
                  "The Power Spectral Density (PSD) level of the referenced
    sub-carrier.";
              }
            }  // list mibpsdmask
    
            leaf classmask {
              if-feature bbf-fast:classmask;
              type enumeration {
                enum "classmask1" {
                  value 0;
                  description
                    "The limit mask for each profile is as defined in G.9701
    classmask1.";
                }
                enum "classmask2" {
                  value 1;
                  description
                    "The limit mask for each profile is as defined in G.9701
    classmask2.";
                }
              }
              default "classmask1";
              description
                "Defines, through a classmask selection, which limit mask
    shall be used with each profile in the downstream
    direction. The classmasks are defined in ITU-T G.9701.";
              reference
                "ITU-T G.997.2 clause 7.1.2.14 (CLASSMASKds);
                ITU-T G.9701 clause 7.3.1.5";
    
            }
          }  // container downstream
    
          container upstream {
            description
              "Upstream specific line spectrum configuration parameters.";
            uses power-and-spectrum-usage-parameters;
    
            list mibpsdmask {
              must
                "count(../mibpsdmask)=0 or
    (count(../mibpsdmask[sub-carrier-index=39])=1 and not (
    (contains(../../profiles,'g.9701-profile-106a') and
    not(../mibpsdmask[sub-carrier-index=2048])) or
    (contains(../../profiles,'g.9701-profile-106b') and
    not(../mibpsdmask[sub-carrier-index=2048])) or
    (contains(../../profiles,'g.9701-profile-212a') and
    not(../mibpsdmask[sub-carrier-index=4096])) or
    (contains(../../profiles,'g.9701-profile-106c') and
    not(../mibpsdmask[sub-carrier-index=2048])) or
    (contains(../../profiles,'g.9701-profile-212c') and
    not(../mibpsdmask[sub-carrier-index=4096])) or
    (../../profiles='all' and
    (not(../mibpsdmask[sub-carrier-index=2048]) or
    not(../mibpsdmask[sub-carrier-index=4096])))))" {
                error-message
                  "The 'mibpsdmask' does not include sub-carrier 39 and/or the highest sub-carrier for the currently configured profile.";
                description
                  "If the MIBPSDMASK is configured, then the mask must
    include sub-carrier 39 as well as the highest
    sub-carrier for the profile.";
              }
              key "sub-carrier-index";
              max-elements 32;
              description
                "This list defines the Power Spectral Density (PSD) mask
    applicable at the U-O2 reference point. Each entry in the
    list defines a breakpoint of the PSD mask.";
              reference
                "ITU-T G.997.2 clauses 7.1.2.5 (MIBPSDMASKds) and 7.1.2.6
                (MIBPSDMASKus);
                ITU-T G.9701 clauses 7.3.1.1.2.1 and 7.3.1.1.2.2.";
    
              leaf sub-carrier-index {
                type psd-level-sub-carrier-index;
                description
                  "Identifies the sub-carrier for which psd-level applies.";
              }
    
              leaf psd-level {
                type psd-level;
                mandatory true;
                description
                  "The Power Spectral Density (PSD) level of the referenced
    sub-carrier.";
              }
            }  // list mibpsdmask
    
            leaf classmask {
              if-feature bbf-fast:classmask;
              type enumeration {
                enum "classmask1" {
                  value 0;
                  description
                    "The limit mask for each profile is as defined in G.9701
    classmask1.";
                }
              }
              default "classmask1";
              description
                "Defines, through a classmask selection, which limit mask
    shall be used with each profile in the upstream direction.
    The classmasks are defined in ITU-T G.9701.";
              reference
                "ITU-T G.997.2 clause 7.1.2.15 (CLASSMASKus);
                ITU-T G.9701 clause 7.3.1.5";
    
            }
          }  // container upstream
        }  // grouping line-spectrum-profile
    
        grouping upstream-power-back-off-parameters {
          description
            "Power-back-off-specific configuration parameters.";
          reference
            "ITU-T G.997.2 clause 7.1.2";
    
          leaf upbopsd-a {
            type uint16 {
              range "0..4095";
            }
            units "0.01 dBm per Hz";
            default "0";
            description
              "Defines the parameter a for the Upstream power back-off
    (UPBO) reference Power Spectral Density (PSD) used to
    compute the upstream power back-off for the upstream
    frequency band.";
            reference
              "ITU-T G.997.2 clause 7.1.2.9 (UPBOPSDA);
              ITU-T G.9701 clause 7.3.1.4";
    
          }
    
          leaf upbopsd-b {
            type uint16 {
              range "0..4095";
            }
            units "0.01 dBm per Hz";
            default "0";
            description
              "Defines the parameter b for the Upstream power back-off
    (UPBO) reference Power Spectral Density (PSD) used to
    compute the upstream power back-off for the upstream
    frequency band.";
            reference
              "ITU-T G.997.2 clause 7.1.2.10 (UPBOPSDB);
              ITU-T G.9701 clause 7.3.1.4";
    
          }
    
          leaf upbo-upstream-electrical-length {
            type uint16 {
              range "0..1280";
            }
            units "0.1 dB";
            default "0";
            description
              "Defines the electrical length kl0 (expressed in dB at
    1 MHz).";
            reference
              "ITU-T G.997.2 clause 7.1.2.11 (UPBOKL);
              ITU-T G.9701 clause 7.3.1.4.2.1";
    
          }
    
          leaf upbo-force-electrical-length {
            type boolean;
            default "false";
            description
              "Defines whether or not the FAST Transceiver Unit - Remote
    side (FTU-R) is forced to use the electrical length kl0 =
    UPBOKL to compute the UPBOMASK. If not forced, the FAST
    Transceiver Units (FTU) determine the electrical length
    kl0.";
            reference
              "ITU-T G.997.2 clause 7.1.2.12 (UPBOKLF);
              ITU-T G.9701 clause 7.3.1.4.2.1";
    
          }
    
          leaf upbo-reference-electrical-length {
            type uint16 {
              range "0 | 18..255";
            }
            units "0.1 dB";
            default "0";
            description
              "Defines the Upstream power back-off (UPBO) reference
    electrical length kl0_REF used to compute the upstream power
    back-off for the Equalized Far-End Crosstalk (FEXT) Upstream
    power back-off (UPBO) method. If kl0_REF = 0 (special value)
    then the Equal Power Spectral Density (PSD) Upstream power
    back-off (UPBO) method is used.";
            reference
              "ITU-T G.997.2 clause 7.1.2.13 (UPBOKLREF);
              ITU-T G.9701 clause 7.3.1.4.2.2";
    
          }
        }  // grouping upstream-power-back-off-parameters
    
        grouping upstream-power-back-off-profile {
          description
            "Defines the parameters contained in an upstream power back-off
    profile.";
          uses upstream-power-back-off-parameters;
        }  // grouping upstream-power-back-off-profile
    
        grouping rfibands {
          description
            "Parameters associated with Radio Frequency Interference (RFI)
    bands.";
          list rfiband {
            key "start-index";
            max-elements 32;
            description
              "Defines the bands where the Power Spectral Density (PSD)
    shall be reduced as specified in G.9701 clause 7.3.1.2.";
            reference
              "ITU-T G.997.2 clause 7.1.2.7 (RFIBANDS);
              ITU-T G.9701 clause 7.3.1.2";
    
            uses sub-carrier-range;
          }  // list rfiband
        }  // grouping rfibands
    
        grouping rfi-profile {
          description
            "Defines the parameters contained in an Radio Frequency
    Interference (RFI) profile.";
          uses rfibands;
    
          leaf iarbands {
            type iarbands;
            default "";
            description
              "Defines for each International Amateur Radio (IAR) band
    whether transmit Power Spectral Density (PSD) reduction is
    enabled or disabled in that band.";
            reference
              "ITU-T G.997.2 clause 7.1.2.8 (IARBANDS);
              ITU-T G.9701 clauses 7.3.1.2 and 12.3.2.1.1;
              ITU-T G.994.1 Table 11.70.8 and 11.70.8.1";
    
          }
        }  // grouping rfi-profile
    
        grouping fast-rate-adaptation-parameters {
          description
            "Fast Rate Adaptation (FRA) configuration parameters
    applicable to both upstream and downstream.";
          reference
            "ITU-T G.997.2 clause 7.1.5";
    
          leaf time-window {
            type uint8 {
              range "0 | 1..36";
            }
            units "logical frame periods";
            default "8";
            description
              "Defines the duration of the time window used in the standard
    Fast Rate Adaptation (FRA) triggering criteria. The special
    value, 0, indicates that the vendor discretionary values
    for fra-ntones, fra-rtx-uc, and fra-time may be used.";
            reference
              "ITU-T G.997.2 clause 7.1.5.1 (FRA-TIMEds) and clause
              7.1.5.2 (FRA-TIMEus);
              ITU-T G.9701 clause 13.3.1.1.1.1";
    
          }
    
          leaf minimum-degraded-tones {
            type uint8 {
              range "0 | 1..100";
            }
            units "percent";
            default "50";
            description
              "Defines the minimum percentage of loaded sub-carriers (i.e.
    sub-carriers with bi>0) that are detected as degraded
    throughout a time window equal to FRA-TIME in order to arm
    the first Fast Rate Adaptation (FRA) triggering criteria.
    The special value, 0, indicates that monitoring of the
    percentage of degraded sub-carriers is disabled.";
            reference
              "ITU-T G.997.2 clause 7.1.5.3 (FRA-NTONESds) and clause
              7.1.5.4 (FRA-NTONESus);
              ITU-T G.9701 clause 13.3.1.1.1.2";
    
          }
    
          leaf uncorrectable-dtu {
            type uint16 {
              range "0 | 1..1023";
            }
            default "150";
            description
              "Defines the minimum number of rtx-uc anomalies received
    throughout a time window equal to FRA-TIME in order to arm
    the second Fast Rate Adaptation (FRA) triggering criteria.
    The special value, 0, indicates that monitoring of the
    number of rtx-uc anomalies is disabled.";
            reference
              "ITU-T G.997.2 clause 7.1.5.5 (FRA-RTXUCds) and clause
              7.1.5.6 (FRA-RTXUCus);
              ITU-T G.9701 clause 13.3.1.1.1.3";
    
          }
    
          leaf vendor-discretionary-fra-triggering-criteria {
            type boolean;
            default "false";
            description
              "Defines whether vendor discretionary Fast Rate Adaptation
    (FRA) triggering criteria may be used (enabled) or not
    (disabled).";
            reference
              "ITU-T G.997.2 clause 7.1.5.7 (FRA-VENDISds) and clause
              7.1.5.8 (FRA-VENDISus);
              ITU-T G.9701 clause 13.3.1.1.1.4";
    
          }
        }  // grouping fast-rate-adaptation-parameters
    
        grouping fast-rate-adaptation-profile {
          description
            "Defines the contents of a Fast Rate Adaptation (FRA) Profile.";
          container downstream {
            description
              "Downstream Fast Rate Adaptation (FRA) profile.";
            uses fast-rate-adaptation-parameters;
          }  // container downstream
    
          container upstream {
            description
              "Upstream Fast Rate Adaptation (FRA) profile.";
            uses fast-rate-adaptation-parameters;
          }  // container upstream
        }  // grouping fast-rate-adaptation-profile
    
        grouping seamless-rate-adaptation-parameters {
          description
            "Seamless Rate Adaptation (SRA) configuration parameters
    applicable to both upstream and downstream.";
          reference
            "ITU-T G.997.2 clause 7.1.4";
    
          leaf upshift-noise-margin {
            type uint16 {
              range "0..310";
            }
            units "0.1 dB";
            default "70";
            description
              "If the noise margin (SNRM) is above the upshift noise
    margin and stays above that for more than the time specified
    by the minimum upshift rate adaptation interval (SRA-UTIME),
    the transmitting FAST Transceiver Unit (FTU) autonomously
    attempts to increase the net data rate (NDR).";
            reference
              "ITU-T G.997.2 clauses 7.1.4.1 (SRA-USNRMds) and 7.1.4.2
              (SRA-USNRMus);
              ITU-T G.9701 clause 12.3.4.2.1";
    
          }
    
          leaf upshift-noise-margin-in-l2.1 {
            type uint16 {
              range "0..310";
            }
            units "0.1 dB";
            default "70";
            description
              "If the noise margin in the L2.1N and L2.1B link states
    (L2.1-SNRM) is above the upshift noise margin and stays
    above that for more than the time specified by the minimum
    upshift rate adaptation interval (SRA-UTIME), the FAST
    Transceiver Unit - Remote side (FTU-R) autonomously attempts
    to increase the net data rate in the L2.1 link state.";
            reference
              "ITU-T G.997.2 clauses 7.1.10.4 (L2.1-SRA-USNRMds) and
              7.1.10.5 (L2.1-SRA-USNRMus);
              ITU-T G.9701 clause 13.4.1.4.7";
    
          }
    
          leaf minimum-time-interval-upshift-sra {
            type uint16 {
              range "0..16383";
            }
            units "seconds";
            default "8";
            description
              "Defines the interval of time the noise margin (SNRM) should
    stay above the upshift noise margin (SRA-USNRM) before the
    transmitting FAST Transceiver Unit (FTU) autonomously
    attempts to increase the net data rate (NDR).";
            reference
              "ITU-T G.997.2 clauses 7.1.4.3 (SRA-UTIMEds) and 7.1.4.4
              (SRA-UTIMEus);
              ITU-T G.9701 clause 12.3.4.2.1";
    
          }
    
          leaf downshift-noise-margin-in-l2.1 {
            type uint16 {
              range "0..310";
            }
            units "0.1 dB";
            default "50";
            description
              "If the noise margin in the L2.1N and L2.1B link states
    (L2.1-SNRM) is below the downshift noise margin and stays
    below that for more than the time specified by the minimum
    downshift rate adaptation interval (SRA-DTIME), the FAST
    Transceiver Unit - Remote side (FTU-R) autonomously attempts
    to decrease the net data rate in the L2.1 link state.";
            reference
              "ITU-T G.997.2 clauses 7.1.10.6 (L2.1-SRA-DSNRMds) and
              7.1.10.7 (L2.1-SRA-DSNRMus);
              ITU-T G.9701 clause 13.4.1.4.7";
    
          }
    
          leaf minimum-time-interval-downshift-sra {
            type uint16 {
              range "0..16383";
            }
            units "seconds";
            default "2";
            description
              "Defines the interval of time the noise margin (SNRM) should
    stay below the downshift noise margin (SRA-DSNRM) before the
    transmitting FAST Transceiver Unit (FTU) autonomously
    attempts to decrease the net data rate (NDR).";
            reference
              "ITU-T G.997.2 clauses 7.1.4.7 (SRA-DTIMEds) and 7.1.4.8
              (SRA-DTIMEus);
              ITU-T G.9701 clause 12.3.4.2.1";
    
          }
        }  // grouping seamless-rate-adaptation-parameters
    
        grouping robust-management-channel-parameters {
          description
            "Robust Management Channel (RMC) configuration parameters
    applicable to both upstream and downstream.";
          reference
            "ITU-T G.997.2 clause 7.1.6";
    
          leaf target-noise-margin {
            type uint16 {
              range "0..310";
            }
            units "0.1 dB";
            default "60";
            description
              "Defines the Robust Management Channel (RMC) noise margin
    (SNRMRMC) that the FAST Transceiver Unit (FTU) receiver
    shall achieve, relative to the Bit Error Rate (BER)
    requirement, or better, to successfully complete
    initialization.";
            reference
              "ITU-T G.997.2 clauses 7.1.6.1 (TARSNRM-RMCds) and 7.1.6.2
              (TARSNRM-RMCus);
              ITU-T G.9701 clause 12.3.3.2.1";
    
          }
    
          leaf minimum-noise-margin {
            type uint16 {
              range "0..310";
            }
            units "0.1 dB";
            must ". <= ../target-noise-margin" {
              error-message
                "'minimum-noise-margin' is greater than the 'target-noise-margin'.";
              description
                "The minimum noise margin must be less than or equal to
    the target noise margin.";
            }
            default "0";
            description
              "Defines the minimum noise margin the FAST Transceiver Unit
    (FTU) receiver tolerates for the Robust Management Channel
    (RMC). If the RMC noise margin (SNRM-RMC) falls below
    this level, the FTU receiver initiates the RMC Parameter
    Adjustment (RPA) procedure.";
            reference
              "ITU-T G.997.2 clauses 7.1.6.3 (MINSNRM-RMCds) and 7.1.6.4
              (MINSNRM-RMCus);
              ITU-T G.9701 clause 13.2.1.3";
    
          }
    
          leaf maximum-bit-loading {
            type uint8 {
              range "2..6";
            }
            default "6";
            description
              "Defines the maximum allowed bit-loading for the Robust
    Management Channel (RMC) sub-carriers.";
            reference
              "ITU-T G.997.2 clauses 7.1.6.5 (MAXBL-RMCds) and 7.1.6.6
              (MAXBL-RMCus);
              ITU-T G.9701 clause 12.3.3.2.1";
    
          }
        }  // grouping robust-management-channel-parameters
    
        grouping noise-margin-profile {
          description
            "Defines the contents of a Noise Margin Profile.";
          container downstream {
            description
              "Downstream noise margin profile.";
            container noise-margin {
              description
                "Noise margin parameters.";
              leaf target-noise-margin {
                type uint16 {
                  range "0..310";
                }
                units "0.1 dB";
                must
                  ". <= ../../seamless-rate-adaptation/
    			 upshift-noise-margin" {
                  error-message
                    "The downstream 'target-noise-margin' is greater than the 'upshift-noise-margin'.";
                  description
                    "The target noise margin must be less than or equal to
    the upshift noise margin.";
                }
                default "60";
                description
                  "Defines the target noise margin for the Channel
    Initialization Policy.";
                reference
                  "ITU-T G.997.2 clause 7.1.3.1 (TARSNRMds);
                  ITU-T G.9701 clause 12.3.7";
    
              }
    
              leaf minimum-noise-margin {
                type uint16 {
                  range "0..310";
                }
                units "0.1 dB";
                must
                  ". <= ../../seamless-rate-adaptation/
    			 downshift-noise-margin" {
                  error-message
                    "The downstream 'minimum-noise-margin' is greater than the 'downshift-noise-margin'.";
                  description
                    "The minimum noise margin must be less than or equal to
    the downshift noise margin.";
                }
                default "0";
                description
                  "Defines the minimum noise margin the FAST Transceiver
    Unit (FTU) receiver shall tolerate. If the noise margin
    (SNRM) falls below this level, the FTU receiver requests
    the FTU transmitter to increase the FTU transmit power.
    If an increase to FTU transmit power is not possible, a
    loss-of-margin(lom) defect occurs. Upon persistency of
    the lom defect, the FTU receiver triggers a
    re-initialization.";
                reference
                  "ITU-T G.997.2 clause 7.1.3.4 (MINSNRMds);
                  ITU-T G.9701 clauses 12.1.4.2 and 12.3.4.2.1";
    
              }
    
              leaf target-noise-margin-in-l2 {
                type uint16 {
                  range "0..310";
                }
                units "0.1 dB";
                must
                  ". >= ../minimum-noise-margin" {
                  error-message
                    "The downstream 'target-noise-margin-in-l2' is less than the 'minimum-noise-margin'.";
                  description
                    "The target low power noise margin must be greater than
    or equal to the minimum noise margin.";
                }
                default "60";
                description
                  "Defines the target noise margin used during the L2.1 and
    L2.2 link state for both the upstream and downstream
    direction.";
                reference
                  "ITU-T G.997.2 clause 7.1.10.1 (L2-TARSNRM);
                  ITU-T G.9701 clauses 13.4.1.4 and 13.4.2.4";
    
              }
    
              leaf maximum-noise-margin-in-l2.1 {
                type uint16 {
                  range "0..310 | 511";
                }
                units "0.1 dB";
                must
                  ". >= ../target-noise-margin-in-l2" {
                  error-message
                    "The downstream 'maximum-noise-margin-in-l2.1' is less than the 'target-noise-margin-in-l2'.";
                  description
                    "The maximum low power noise margin must be greater than
    or equal to the target low power noise margin.";
                }
                default "511";
                description
                  "Defines the maximum noise margin allowed during the L2.1
    and L2.2 link state for both the upstream and downstream
    direction. The special value, 511, indicates there is no
    maximum bound for the noise margin (i.e., the maximum
    noise margin is infinite).";
                reference
                  "ITU-T G.997.2 clause 7.1.10.2 (L2-MAXSNRM);
                  ITU-T G.9701 clauses 13.4.1.4 and 13.4.2.4";
    
              }
            }  // container noise-margin
    
            container seamless-rate-adaptation {
              description
                "Seamless Rate Adaptation(SRA) parameters.";
              leaf downshift-noise-margin {
                type uint16 {
                  range "0..310";
                }
                units "0.1 dB";
                must
                  ". <= ../../noise-margin/target-noise-margin" {
                  error-message
                    "The downstream 'downshift-noise-margin' is greater than the 'target-noise-margin'.";
                  description
                    "The downshift noise margin must be less than or equal
    to the target noise margin.";
                }
                default "50";
                description
                  "If the noise margin (SNRM) is below the downshift noise
    margin and stays below that for more than the time
    specified by the minimum downshift rate adaptation
    interval (SRA-DTIME), the transmitting FAST Transceiver
    Unit (FTU) autonomously attempts to decrease the net data
    rate (NDR).";
                reference
                  "ITU-T G.997.2 clause 7.1.4.5 (SRA-DSNRMds);
                  ITU-T G.9701 clause 12.3.4.2.1";
    
              }
    
              uses seamless-rate-adaptation-parameters;
            }  // container seamless-rate-adaptation
    
            container robust-management-channel {
              description
                "Robust Management Channel (RMC) parameters.";
              uses robust-management-channel-parameters;
            }  // container robust-management-channel
          }  // container downstream
    
          container upstream {
            description
              "Upstream noise margin profile.";
            container noise-margin {
              description
                "Noise margin parameters.";
              leaf target-noise-margin {
                type uint16 {
                  range "0..310";
                }
                units "0.1 dB";
                must
                  ". <= ../../seamless-rate-adaptation/
    			 upshift-noise-margin" {
                  error-message
                    "The upstream 'target-noise-margin' is greater than the 'upshift-noise-margin'.";
                  description
                    "The target noise margin must be less than or equal to
    the upshift noise margin.";
                }
                default "60";
                description
                  "Defines the target noise margin for the Channel
    Initialization Policy.";
                reference
                  "ITU-T G.997.2 clause 7.1.3.2 (TARSNRMus);
                  ITU-T G.9701 clause 12.3.7";
    
              }
    
              leaf minimum-noise-margin {
                type uint16 {
                  range "0..310";
                }
                units "0.1 dB";
                must
                  ". <= ../../seamless-rate-adaptation/
    			 downshift-noise-margin" {
                  error-message
                    "The upstream 'minimum-noise-margin' is greater than the 'downshift-noise-margin'.";
                  description
                    "The minimum noise margin must be less than or equal to
    the downshift noise margin.";
                }
                default "0";
                description
                  "Defines the minimum noise margin the FAST Transceiver
    Unit (FTU) receiver shall tolerate. If the noise margin
    (SNRM) falls below this level, the FTU receiver requests
    the FTU transmitter to increase the FTU transmit power.
    If an increase to FTU transmit power is not possible, a
    loss-of-margin(lom) defect occurs. Upon persistency of
    the lom defect, the FTU receiver triggers a
    re-initialization.";
                reference
                  "ITU-T G.997.2 clause 7.1.3.5 (MINSNRMus);
                  ITU-T G.9701 clauses 12.1.4.2 and 12.3.4.2.1";
    
              }
    
              leaf maximum-noise-margin {
                type uint16 {
                  range "0..310 | 511";
                }
                units "0.1 dB";
                must
                  ". >= ../../seamless-rate-adaptation/
    			 upshift-noise-margin" {
                  error-message
                    "The upstream 'maximum-noise-margin' is less than the 'upshift-noise-margin'.";
                  description
                    "The maximum noise margin must be greater than or equal
    to the upshift noise margin.";
                }
                default "511";
                description
                  "Defines the maximum noise margin used in the Channel
    Initialization Policy.
    A special value, 511, indicates there is no maximum bound
    for the noise margin (i.e., the maximum noise margin is
    infinite).";
                reference
                  "ITU-T G.997.2 clause 7.1.3.3 (MAXSNRMus);
                  ITU-T G.9701 clause 12.3.7";
    
              }
    
              leaf target-noise-margin-in-l2 {
                type uint16 {
                  range "0..310";
                }
                units "0.1 dB";
                must
                  ". >= ../minimum-noise-margin" {
                  error-message
                    "The upstream 'target-noise-margin-in-l2' is less than the 'minimum-noise-margin'.";
                  description
                    "The target low power noise margin must be greater than
    or equal to the minimum noise margin.";
                }
                default "60";
                description
                  "Defines the target noise margin used during the L2.1 and
    L2.2 link state for both the upstream and downstream
    direction.";
                reference
                  "ITU-T G.997.2 clause 7.1.10.1 (L2-TARSNRM);
                  ITU-T G.9701 clauses 13.4.1.4 and 13.4.2.4";
    
              }
    
              leaf maximum-noise-margin-in-l2.1 {
                type uint16 {
                  range "0..310 | 511";
                }
                units "0.1 dB";
                must
                  ". >= ../target-noise-margin-in-l2" {
                  error-message
                    "The upstream 'maximum-noise-margin-in-l2.1' is less than the 'target-noise-margin-in-l2'.";
                  description
                    "The maximum low power noise margin must be greater than
    or equal to the target low power noise margin.";
                }
                default "511";
                description
                  "Defines the maximum noise margin allowed during the L2.1
    and L2.2 link state for both the upstream and downstream
    direction. The special value, 511, indicates there is no
    maximum bound for the noise margin (i.e., the maximum
    noise margin is infinite).";
                reference
                  "ITU-T G.997.2 clause 7.1.10.2 (L2-MAXSNRM);
                  ITU-T G.9701 clauses 13.4.1.4 and 13.4.2.4";
    
              }
            }  // container noise-margin
    
            container seamless-rate-adaptation {
              description
                "Seamless Rate Adaptation(SRA) parameters.";
              leaf downshift-noise-margin {
                type uint16 {
                  range "0..310";
                }
                units "0.1 dB";
                must
                  ". <= ../../noise-margin/target-noise-margin" {
                  error-message
                    "The upstream 'downshift-noise-margin' is greater than the 'target-noise-margin'.";
                  description
                    "The downshift noise margin must be less than or equal
    to the target noise margin.";
                }
                default "50";
                description
                  "If the noise margin (SNRM) is below the downshift noise
    margin and stays below that for more than the time
    specified by the minimum downshift rate adaptation
    interval (SRA-DTIME), the transmitting FAST Transceiver
    Unit (FTU) autonomously attempts to decrease the net data
    rate (NDR).";
                reference
                  "ITU-T G.997.2 clause 7.1.4.6 (SRA-DSNRMus);
                  ITU-T G.9701 clause 12.3.4.2.1";
    
              }
    
              uses seamless-rate-adaptation-parameters;
            }  // container seamless-rate-adaptation
    
            container robust-management-channel {
              description
                "Robust Management Channel (RMC) parameters.";
              uses robust-management-channel-parameters;
            }  // container robust-management-channel
          }  // container upstream
        }  // grouping noise-margin-profile
    
        grouping fast-retrain-policy-parameters {
          description
            "Reinitialization configuration parameters applicable to both
    upstream and downstream.";
          reference
            "ITU-T G.997.2 clause 7.1.8";
    
          leaf los-defect-persistency {
            type uint8 {
              range "1..20";
            }
            units "0.1 seconds";
            default "2";
            description
              "Defines the loss of signal (los) defect persistency for
    triggering a reinitialization at the FAST Transceiver Unit
    (FTU) receiver, as part of the fast retrain policy.";
            reference
              "ITU-T G.997.2 clauses 7.1.8.1 (LOS_PERSISTENCYds) and clause
              7.1.8.2 (LOS_PERSISTENCYus);
              ITU-T G.9701 clauses 12.1.4.2 and 12.1.4.3.1";
    
          }
    
          leaf lom-defect-persistency {
            type uint8 {
              range "1..20";
            }
            units "seconds";
            default "2";
            description
              "Defines the loss of margin (lom) defect persistency for
    triggering a reinitialization at the FAST Transceiver Unit
    (FTU) receiver, as part of the fast retrain policy.";
            reference
              "ITU-T G.997.2 clauses 7.1.8.3 (LOM_PERSISTENCYds) and clause
              7.1.8.4 (LOM_PERSISTENCYus);
              ITU-T G.9701 clauses 12.1.4.2 and 12.1.4.3.2.";
    
          }
    
          leaf lor-defect-persistency {
            type uint8 {
              range "1..20";
            }
            units "0.1 seconds";
            default "2";
            description
              "Defines the loss of Robust Management Channel (RMC) (lor)
    defect persistency for triggering a reinitialization at the
    FAST Transceiver Unit (FTU) receiver, as part of the fast
    retrain policy.";
            reference
              "ITU-T G.997.2 clauses 7.1.8.5 (LOR_PERSISTENCYds) and clause
              7.1.8.6 (LOR_PERSISTENCYus);
              ITU-T G.9701 clauses 12.1.4.2 and 12.1.4.3.3.";
    
          }
    
          leaf reinit-time-threshold {
            type uint8 {
              range "5..31";
            }
            units "seconds";
            default "10";
            description
              "Defines the threshold for the Severly Errored Seconds (SES)
    and embedded operations channel (eoc) timeout conditions for
    declaring a High_BER event at the FAST Transceiver Unit (FTU)
    receiver, as part of the fast retrain policy.";
            reference
              "ITU-T G.997.2 clauses 7.1.8.7 (REINIT_TIME_THRESHOLDds) and
              clause 7.1.8.8 (REINIT_TIME_THRESHOLDus);
              ITU-T G.9701 clause 12.1.4.3.4.";
    
          }
    
          leaf low-etr-threshold {
            type uint8 {
              range "0 | 1..30";
            }
            units "seconds";
            default "20";
            description
              "Defines the threshold for the low Expected Throughput Rate
    (ETR) condition for declaring a High_BER event at the FAST
    Transceiver Unit (FTU) receiver, as part of the fast retrain
    policy. The special value, 0, indicates that no High_BER
    event is declared based on ETR being below the ETR_min.";
            reference
              "ITU-T G.997.2 clause 7.1.8.9 (LOW_ETR_THRESHOLDds) and
              clause 7.1.8.10 (LOW_ETR_THRESHOLDus);
              ITU-T G.9701 clause 12.1.4.3.4.";
    
          }
    
          leaf lor-rmcr-persistency {
            if-feature bbf-fast:rmcr;
            type uint8 {
              range "0..20";
            }
            units "50 milliseconds";
            default "0";
            description
              "Defines the persistency period of a loss of Robust Management
    Channel (RMC) (lor) defect before the RMC is declared
    severely degraded. The value 0 is a special value that
    indicates that the Robust Management Channel Recovery (RMCR)
    procedure is disabled. It can only be set to 0 in one
    direction if the value is also set to 0 in the opposite
    direction.";
            reference
              "ITU-T G.997.2 clause 7.1.12.1 (RMCR_LOR_TRIGGERds/us)";
    
          }
        }  // grouping fast-retrain-policy-parameters
    
        grouping fast-retrain-policy-profile {
          description
            "Defines the contents of a Fast Retrain Policy Profile.";
          container downstream {
            description
              "Downstream fast retrain policy parameters.";
            uses fast-retrain-policy-parameters;
          }  // container downstream
    
          container upstream {
            description
              "Downstream fast retrain policy parameters.";
            uses fast-retrain-policy-parameters;
          }  // container upstream
        }  // grouping fast-retrain-policy-profile
    
        grouping retransmission-parameters {
          description
            "Retransmission configuration parameters applicable to both
    upstream and downstream.";
          reference
            "ITU-T G.997.2 clause 7.2.2";
    
          leaf maximum-delay {
            type uint32 {
              range "4..64";
            }
            units "0.25 milliseconds";
            default "40";
            description
              "Defines the maximum allowed delay for retransmission (see
    clause 9.8/G.9701). The G.9701 control parameter delay_max
    is set to the same value as the maximum delay (see clause
    11.4.2.3/G.9701).";
            reference
              "ITU-T G.997.2 clause 7.2.2.1 (DELAYMAX); ITU-T G.9701
              clause 11.4.2.3.";
    
          }
    
          leaf minimum-inp-against-shine {
            type uint16 {
              range "0..520";
            }
            units "symbol periods";
            default "0";
            description
              "Defines the minimum Impulse Noise Protection (INP) against
    Single High Impulse Noise Event (SHINE). The G.9701 control
    parameter INP_min_shine is set to the same value as the
    minimum impulse noise protection against SHINE.";
            reference
              "ITU-T G.997.2 clause 7.2.2.2 (INPMIN_SHINE);
              ITU-T G.9701 clauses 9.8 and 11.4.2.4";
    
          }
    
          leaf shine-ratio {
            type uint8 {
              range "0..100";
            }
            units "0.001";
            default "0";
            description
              "Defines the SHINEratio that is used in the definition of
    the expected throughput rate (ETR). The G.9701 control
    parameter SHINEratio is set to the same value as the Single
    High Impulse Noise Event (SHINE) ratio.";
            reference
              "ITU-T G.997.2 clause 7.2.2.3 (SHINERATIO);
              ITU-T G.9701 clauses 9.8 and 11.4.2.5";
    
          }
    
          leaf minimum-inp-against-rein {
            type uint8 {
              range "0..63";
            }
            units "symbol periods";
            default "0";
            description
              "Defines the minimum Impulse Noise Protection (INP) against
    Repetitive Electrical Impulse Noise (REIN). The G.9701
    control parameter INP_min_rein is set to the same value as
    the minimum impulse noise protection against REIN.";
            reference
              "ITU-T G.997.2 clause 7.2.2.4 (INPMIN_REIN);
              ITU-T G.9701 clauses 9.8 and 11.4.2.6";
    
          }
    
          leaf rein-inter-arrival-time {
            type enumeration {
              enum "hz-100" {
                value 0;
                description "100 Hz.";
              }
              enum "hz-120" {
                value 1;
                description "120 Hz.";
              }
              enum "hz-300" {
                value 2;
                description "300 Hz.";
              }
              enum "hz-360" {
                value 3;
                description "360 Hz.";
              }
            }
            default "hz-100";
            description
              "Defines the Repetitive Electrical Impulse Noise (REIN)
    inter-arrival time. The G.9701 control parameter
    iat_rein_flag is set to the same value as the REIN
    inter-arrival time.";
            reference
              "ITU-T G.997.2 clause 7.2.2.5 (IAT_REIN);
              ITU-T G.9701 clauses 9.8 and 11.4.2.7";
    
          }
    
          leaf minimum-rfec-nfec-ratio {
            type uint8 {
              range "0..8";
            }
            units "1/32";
            default "0";
            description
              "Defines the minimal required ratio, RFEC/NFEC, of
    Reed-Solomon code parameters. The G.9701 control parameter
    rnratio is set to the same value as the Minimum Reed-Solomon
    RFEC/NFEC ratio.";
            reference
              "ITU-T G.997.2 clause 7.2.2.6 (RNRATIO);
              ITU-T G.9701 clause 11.4.2.8";
    
          }
        }  // grouping retransmission-parameters
    
        grouping retransmission-profile {
          description
            "Defines the contents of a Retransmission Profile.";
          container downstream {
            description
              "Downstream retransmission parameters.";
            uses retransmission-parameters;
          }  // container downstream
    
          container upstream {
            description
              "Upstream retransmission parameters.";
            uses retransmission-parameters;
          }  // container upstream
        }  // grouping retransmission-profile
    
        grouping vectoring-parameters {
          description
            "Vectoring configuration parameters applicable to both
    upstream and downstream.";
          reference
            "ITU-T G.997.2 clause 7.1.7";
    
          leaf fext-to-cancel-enable {
            type boolean;
            default "true";
            description
              "Defines whether Far-End Crosstalk (FEXT) cancellation in the
    given direction from all the other vectored lines into the
    line in the vectored group is enabled or disabled.";
            reference
              "ITU-T G.997.2 clauses 7.1.7.1 (FEXT_TO_CANCEL_ENABLEds) and
              7.1.7.2 (FEXT_TO_CANCEL_ENABLEus);
              ITU-T G.9701 clause 11.4.3.1";
    
          }
    
          leaf tgvn-allowed {
            if-feature bbf-fast:tgvn;
            type boolean;
            default "false";
            description
              "Defines whether Targeted Generalized Vectoring with
    Non-active G.9701 supporting lines (TGVN) is allowed on the
    line.";
            reference
              "ITU-T G.997.2 clause 7.1.7.5 (TGVN_ALLOWED)";
    
          }
        }  // grouping vectoring-parameters
    
        grouping vectoring-downstream-parameters {
          description
            "Vectoring configuration parameters applicable in the
    downstream direction.";
          reference
            "ITU-T G.997.2 clause 7.1.7";
    
          leaf xlog-group-size-req {
            type uint8 {
              range
                "1 | 2 | 4 | 8 | 16 | 32 | 64";
            }
            units "sub-carriers";
            default "1";
            description
              "This parameter is the requested lower bound on the value of
    XLOGGds in the reporting of Xlogpsds.";
            reference
              "ITU-T G.997.2 clause 7.1.7.3 (XLOGGREQds);
              ITU-T G.9701 clause 11.4.3.2";
    
          }
        }  // grouping vectoring-downstream-parameters
    
        grouping vectoring-profile {
          description
            "Defines the contents of a Vectoring Profile.";
          container downstream {
            description
              "Downstream vectoring parameters.";
            uses vectoring-parameters;
    
            uses vectoring-downstream-parameters;
          }  // container downstream
    
          container upstream {
            description
              "Upstream vectoring parameters.";
            uses vectoring-parameters;
          }  // container upstream
    
          leaf annex-x-mode {
            if-feature bbf-fast:annex-x;
            type enumeration {
              enum "forbidden" {
                value 0;
                description
                  "AnnexX_FORBIDDEN (Operation according to
    Annex X operation is not allowed.).";
              }
              enum "preferred" {
                value 1;
                description
                  "AnnexX_PREFERRED (Operation according to
    Annex X is preferred.).";
              }
              enum "forced" {
                value 2;
                description
                  "AnnexX_FORCED (Operation according to
    Annex is forced.).";
              }
            }
            default "forbidden";
            description
              "Determines whether Annex X operation of ITU-T G.9701 is
    enabled.
    
    If 'annex-x-mode' is configured to 'preferred' or 'forced',
    then 'annex-d-mode', if supported, must be configured to
    'forbidden'.";
            reference
              "ITU-T G.997.2 clause T.2.1.1 (ANNEX_X_MODE);
              ITU-T G.9701 clauses X.6.7.1 and T.2.1";
    
          }
    
          leaf annex-d-mode {
            if-feature bbf-fast:annex-d;
            type enumeration {
              enum "forbidden" {
                value 0;
                description
                  "AnnexD_FORBIDDEN (Operation according to
    Annex D operation is not allowed.).";
              }
              enum "preferred" {
                value 1;
                description
                  "AnnexD_PREFERRED (Operation according to
    Annex D is preferred.).";
              }
              enum "forced" {
                value 2;
                description
                  "AnnexD_FORCED (Operation according to
    Annex D is forced.).";
              }
            }
            must
              "(not(boolean(../annex-x-mode))) or (../annex-x-mode = 'forbidden' or . = 'forbidden')" {
              error-message
                "Neither 'annex-x-mode' nor 'annex-d-mode' is configured to 'forbidden'.";
              description
                "At least one of Annex X mode or Annex D mode must be
    configured to 'forbidden'.";
            }
            default "forbidden";
            description
              "Determines whether Annex D operation of ITU-T G.9701 is
    enabled.
    
    If 'annex-d-mode' is configured to 'preferred' or 'forced',
    then 'annex-x-mode', if supported, must be configured to
    'forbidden'.";
            reference
              "ITU-T G.997.2 clause T.2.1.2 (ANNEX_D_MODE);
              ITU-T G.9701 clauses D.5.7.1 and T.2.1.1";
    
          }
        }  // grouping vectoring-profile
    
        grouping impulse-noise-monitoring-parameters {
          description
            "Impulse Noise Monitoring (INM) is not required for modem
    operation but is a capability for the measurement of Impulse
    Noise. The INM Profile includes the option to control an
    INM function on the receiver of the FAST Transceiver Unit
    (FTU).";
          leaf inmiato {
            type uint16 {
              range "3..511";
            }
            units "IAT periods";
            default "3";
            description
              "Defines the Inter Arrival Time (IAT) offset per direction
    that the FAST Transceiver Unit (FTU) receiver shall use to
    determine in which bin of the inter arrival time histogram
    the IAT is reported. One IAT period is defined as
    'iat-scaling-factor' Discrete MultiTone (DMT) symbol
    periods.";
            reference
              "ITU-T G.997.2 clause 7.1.11.1 (INMIATO).
              ITU-T G.9701 clause 11.4.4.7.2.1";
    
          }
    
          leaf inmiats {
            type uint8 {
              range "0..7";
            }
            units "IAT periods";
            default "1";
            description
              "Defines the Inter Arrival Time (IAT) step per direction that
    the FAST Transceiver Unit (FTU) receiver shall use to
    determine in which bin of the inter arrival time histogram
    the IAT is reported. One IAT period is defined as
    'iat-scaling-factor' Discrete MultiTone (DMT) symbol
    periods.";
            reference
              "ITU-T G.997.2 clause 7.1.11.2 (INMIATS).
              ITU-T G.9701 clause 11.4.4.7.2.2";
    
          }
    
          leaf inmcc {
            type uint8 {
              range "0..255";
            }
            units "symbols";
            default "1";
            description
              "Defines the cluster continuation value per direction that
    the FAST Transceiver Unit (FTU) receiver shall use in the
    cluster indication process.";
            reference
              "ITU-T G.997.2 clause 7.1.11.3 (INMCC).
              ITU-T G.9701 clause 11.4.4.7.2.3";
    
          }
    
          leaf inm-inpeq-format {
            type enumeration {
              enum "linear" {
                value 0;
                description "Linear scale.";
              }
              enum "logarithmic" {
                value 1;
                description "Logarithmic scale.";
              }
            }
            default "linear";
            description
              "Defines the way the scale is configured for the INM_INPEQ
    histogram.";
            reference
              "ITU-T G.997.2 clause 7.1.11.4 (INM_INPEQ_FORMAT).
              ITU-T G.9701 clause 11.4.4.7.2.4";
    
          }
    
          leaf dtu-cluster-bridging {
            type boolean;
            default "false";
            description
              "Defines per direction whether the FAST Transceiver Unit (FTU)
    receiver shall use bridging in the determination of the Data
    Transfer Unit (DTU) cluster size. If 'true', bridging is
    enabled. If 'false', bridging is disabled.";
            reference
              "ITU-T G.997.2 clause 7.1.11.5 (BRGN).
              ITU-T G.9701 clause 11.4.4.7.2.5";
    
          }
        }  // grouping impulse-noise-monitoring-parameters
    
        grouping impulse-noise-monitoring-profile {
          description
            "Defines the contents of an Impulse Noise Monitoring (INM)
    Profile.";
          leaf inpeq-scaling-factor {
            type uint8 {
              range "4 | 8 | 12";
            }
            default "12";
            description
              "Defines the time unit scaling factor for the line that the
    FAST Transceiver Unit (FTU) receivers shall use for reporting
    INPEQ.";
            reference
              "ITU-T G.997.2 clause 7.1.11.6;
              ITU-T G.9701 clause 11.4.4.7.2.6";
    
          }
    
          leaf iat-scaling-factor {
            type uint8 {
              range "4 | 8 | 12";
            }
            default "12";
            description
              "Defines the time unit scaling factor for the line that the
    FAST Transceiver Unit (FTU) receivers shall use for reporting
    Inter Arrival Time (IAT).";
            reference
              "ITU-T G.997.2 clause 7.1.11.7;
              ITU-T G.9701 clause 11.4.4.7.2.7";
    
          }
    
          leaf inm-enable {
            type boolean;
            default "false";
            description
              "If true, enables Impulse Noise Monitoring (INM) in both
    directions. If false, disables Impulse Noise Monitoring (INM)
    in both directions.";
            reference
              "ITU-T G.997.2 clause 7.1.11.8";
    
          }
    
          container downstream {
            description
              "Downstream impulse noise monitoring configuration.";
            uses impulse-noise-monitoring-parameters;
          }  // container downstream
    
          container upstream {
            description
              "Upstream impulse noise monitoring configuration.";
            uses impulse-noise-monitoring-parameters;
          }  // container upstream
        }  // grouping impulse-noise-monitoring-profile
    
        grouping time-division-duplexing-parameters {
          description
            "Time Division Duplexing (TDD) configuration parameters.";
          reference
            "ITU-T G.997.2 clause 7.1.1";
    
          leaf total-symbol-periods {
            type uint8 {
              range "23 | 36";
            }
            default "36";
            description
              "Defines the total number of symbol periods in a Time Division
    Duplexing (TDD) frame.";
            reference
              "ITU-T G.997.2 clause 7.1.1.1 (MF);
              ITU-T G.9701 clause 10.5";
    
          }
    
          leaf downstream-symbol-periods {
            type uint8 {
              range "6..32";
            }
            must
              "(../total-symbol-periods = 23 and .>= 6 and .<= 19) or
    (../total-symbol-periods = 36 and .>= 10 and .<= 32)" {
              error-message
                "Either the 'total-symbole-periods' is 23 and 'downstream-symbol-periods' is not in the range of 6 to 19 or 'total-symbol-periods' is 36 and 'downstream-symbol-periods' is not in the range of 10 to 32.";
              description
                "If the total symbol periods is 23, the number of downstream
    symbol periods must be between 6 to 19 inclusive. If the
    total symbol periods is 36, the number of downstream symbol
    periods must be between 10 to 32 inclusive.";
            }
            default "28";
            description
              "Defines the total number of symbol positions in a Time
    Division Duplexing (TDD) frame allocated for downstream
    transmission. The total number of symbol positions in a TDD
    frame allocated for upstream transmission is calculated as
    Mus = MF-1-Mds.";
            reference
              "ITU-T G.997.2 clause 7.1.1.2 (Mds);
              ITU-T G.9701 clause 10.5";
    
          }
    
          leaf cyclic-extension {
            type uint8 {
              range
                "4 | 8 | 10 | 12 | 14 | 16 | 20 | 24 | 30 | 33";
            }
            units "n samples";
            default "10";
            description
              "Defines the cyclic extension(Lcp) to be used. The units
    are in N/64 samples, where N = index of the highest
    supported downstream data-bearing sub-carrier as defined
    for the enabled profile plus one.";
            reference
              "ITU-T G.997.2 clause 7.1.1.3 (CE);
              ITU-T G.9701 clause 10.4.4 and Table 6-1";
    
          }
    
          container dynamic-time-assignment {
            if-feature bbf-fast:dta;
            description
              "Configuration of Dynamic Time Assignement (DTA).";
            leaf dta-allowed {
              type enumeration {
                enum "none" {
                  value 0;
                  description
                    "Dynamic Time Assignment (DTA) is not allowed.";
                }
                enum "idta" {
                  value 1;
                  description
                    "Operation according to ITU-T G.9701 Annex X (iDTA) is
    allowed. If 'annex-x-mode' in the vectoring profile
    is configured as 'forbidden', then this value must not
    be configured.";
                }
                enum "cdta" {
                  value 2;
                  description
                    "Operation according to ITU-T G.9701 Annex D (cDTA) is
    allowed. If 'annex-d-mode' in the vectoring profile
    is configured as 'forbidden', then this value must not
    be configured.";
                }
              }
              default "none";
              description
                "The type of Dynamic Time Assignment (DTA) allowed.";
              reference
                "ITU-T G.997.2 clauses T.2.1.2 (IDTA_ALLOWED) and T.2.1.4
                (CDTA_ALLOWED);
                ITU-T G.9701 clauses X.6.7.2, T.2.2, D.5.7.2 and T.2.2.1";
    
            }
    
            leaf preferred-mds {
              type uint8 {
                range "5..31";
              }
              must
                "(((../dta-allowed='idta' and ../../total-symbol-periods =
    23 and .>= 5 and .<= 17) or (../dta-allowed='idta' and
    ../../total-symbol-periods = 36 and .>= 5 and .<= 30) or
    (../dta-allowed='cdta' and ../../total-symbol-periods =
    23 and .>= 6 and .<= 19) or (../dta-allowed='cdta' and
    ../../total-symbol-periods = 36 and .>= 10 and .<= 31))
    and (. >= ../minimum-mds) and (. <= ../maximum-mds))
    or ../dta-allowed='none'" {
                error-message
                  "'preferred-mds' is either less than 'minimum-mds' or is greater than 'maximum-mds' depending on the configured values of 'dta-allowed' and 'total-symbol-periods'.";
                description
                  "The preferred Mds for Dynamic Time Assignment (DTA)
    must be equal to or higher than the minimum Mds for DTA
    and less than or equal to the maximum Mds for DTA. The
    valid range depends on total symbol period (MF) and DTA
    type allowed.";
              }
              default "28";
              description
                "Provides the number of downstream symbol positions in a
    Time Division Duplexing (TDD) frame requested by the
    Dynamic Resource Allocation (DRA) at the first opportunity
    upon entering showtime of a line on which Dynamic Time
    Assignment (DTA) operation is enabled. If MF=23, a value
    different from the default value needs to be configured.";
              reference
                "ITU-T G.997.2 clause T.2.2.1 (DTA_PREF_Mds);
                ITU-T G.9701 clause T.2.3";
    
            }
    
            leaf maximum-step-size {
              type uint8 {
                range "1..25";
              }
              must
                "(../dta-allowed='idta' and ../../total-symbol-periods =
    23 and .>= 1 and .<= 12) or (../dta-allowed='idta' and
    ../../total-symbol-periods = 36 and .>= 1 and .<= 25) or
    (../dta-allowed='cdta' and ../../total-symbol-periods =
    23 and .>= 1 and .<= 13) or (../dta-allowed='cdta' and
    ../../total-symbol-periods = 36 and .>= 1 and .<= 21) or
    ../dta-allowed='none'" {
                error-message
                  "'maximum-step-size' is not valid based on the configured values of 'dta-allowed' and 'total-symbol-periods'.";
                description
                  "The maximum step size must be restricted to the valid
    range depending on total symbol periods (MF) and
    Dynamic Time Assignment (DTA) type allowed.";
              }
              default "25";
              description
                "Defines the maximum step size for Mds requested by the DRA
    for a single Dynamic Time Assignment (DTA) update. For
    configurations other than independent Dynamic Time
    Assignment (iDTA) allowed with MF=36, a value different
    from the default value needs to be configured.";
              reference
                "ITU-T G.997.2 clause T.2.2.2 (DTA_SMAX);
                ITU-T G.9701 clause T.2.3";
    
            }
    
            leaf minimum-time-between-updates {
              type uint16 {
                range "0..16383";
              }
              units "0.01 seconds";
              default "0";
              description
                "Provides the minimum time between any two successive
    Dynamic Time Assignment (DTA) updates during showtime.";
              reference
                "ITU-T G.997.2 clause T.2.2.8 (DTA_MIN_TIME);
                ITU-T G.9701 clause T.2.10";
    
            }
    
            leaf minimum-mds {
              type uint8 {
                range "5..31";
              }
              must
                "(((../dta-allowed='idta' and ../../total-symbol-periods =
    23 and .>= 5 and .<= 17) or (../dta-allowed='idta' and
    ../../total-symbol-periods = 36 and .>= 5 and .<= 30) or
    (../dta-allowed='cdta' and ../../total-symbol-periods =
    23 and .>= 6 and .<= 19) or (../dta-allowed='cdta' and
    ../../total-symbol-periods = 36 and .>= 5 and .<= 31))
    and . <= ../../downstream-symbol-periods) or
    ../dta-allowed='none'" {
                error-message
                  "'minimum-mds' is not valid based on the configured values of 'dta-allowed' and 'total-symbol-periods'.";
                description
                  "The minimum Mds must be restricted to the valid
    range depending on total symbol periods (MF), Dynamic
    Time Assignment (DTA) type allowed, and downstream
    symbol periods.";
              }
              default "5";
              description
                "Provides the minimum number of downstream symbol positions
    Mds in a Time Division Duplexing (TDD) frame that shall be
    requested by the Dynamic Time Assignment (DTA). For
    configurations with cDTA allowed, a value different from
    the default value needs to be configured.";
              reference
                "ITU-T G.997.2 clause T.2.2.3 (DTA_MIN_Mds);
                ITU-T G.9701 clause T.2.5";
    
            }
    
            leaf maximum-mds {
              type uint8 {
                range "5..31";
              }
              must
                "(((../dta-allowed='idta' and ../../total-symbol-periods =
    23 and .>= 5 and .<= 17) or (../dta-allowed='idta' and
    ../../total-symbol-periods = 36 and .>= 5 and .<= 30) or
    (../dta-allowed='cdta' and ../../total-symbol-periods =
    23 and .>= 6 and .<= 19) or (../dta-allowed='cdta' and
    ../../total-symbol-periods = 36 and .>= 10 and .<= 31))
    and . >= ../../downstream-symbol-periods) or
    ../dta-allowed='none'" {
                error-message
                  "'maximum-mds' is not valid based on the configured values of 'dta-allowed' and 'total-symbol-periods'.";
                description
                  "The maximum Mds must be restricted to the valid
    range depending on total symbol periods (MF), Dynamic
    Time Assignment (DTA) type allowed, and downstream
    symbol periods.";
              }
              default "30";
              description
                "Provides the maximum number of downstream symbol positions
    Mds in a Time Division Duplexing (TDD) frame that shall be
    requested by the Dynamic Resource Allocation (DRA). For
    configurations with MF=23, a value different from the
    default value needs to be configured.";
              reference
                "ITU-T G.997.2 clause T.2.2.4 (DTA_MAX_Mds);
                ITU-T G.9701 clauses X.6.7.4 and T.2.6";
    
            }
    
            leaf cdta-procedure-control {
              when "../dta-allowed='cdta'" {
                description
                  "Only applicable when Coordinated Dynamic Time Assignment
    (cDTA) is configured.";
              }
              if-feature bbf-fast:annex-d;
              type enumeration {
                enum "one-or-two-step" {
                  value 0;
                  description
                    "Dynamic Resource Allocation (DRA) is allowed to use the
    one-step or two-step Coordinated Dynamic Time
    Assignment (cDTA) procedure.";
                }
                enum "one-step-only" {
                  value 1;
                  description
                    "Dynamic Resource Allocation (DRA) shall use the
    one-step Coordinated Dynamic Time Assignment (cDTA)
    procedure only.";
                }
                enum "two-step-only" {
                  value 2;
                  description
                    "Dynamic Resource Allocation (DRA) shall use the
    two-step procedure only. This value is intended to be
    used for test purposes.";
                }
              }
              default "one-or-two-step";
              description
                "Provides the procedure type that the Dynamic Resource
    Allocation (DRA) is allowed to apply. If the CDTA_PROC_CTRL
    is set to 2 and the FAST Transceiver Unit - central Office
    (FTU-O) does not support the two-step procedure, no
    Coordinated Dynamic Time Assignment (cDTA) procedure is
    triggered by the DRA.";
              reference
                "ITU-T G.997.2 clause T.2.7 (CDTA_PROC_CTRL);
                ITU-T G.9701 clauses T.2.9 and Y.5.6";
    
            }
          }  // container dynamic-time-assignment
        }  // grouping time-division-duplexing-parameters
    
        grouping tdd-profile {
          description
            "Defines the contents of a Time Division Duplexing (TDD)
    Profile.";
          uses time-division-duplexing-parameters;
        }  // grouping tdd-profile
    
        grouping performance-history-interval-parameters {
          description
            "Defines common parameters required when defining history
    interval performance counters.";
          leaf invalid-data-flag {
            type boolean;
            description
              "Reports the validity of the corresponding Performance
    Monitoring (PM) data.";
            reference
              "ITU-T G.997.2 clause 7.7.2 and 7.8.2";
    
          }
    
          leaf time-stamp {
            type yang:date-and-time;
            description
              "Reports the start date/time for this interval.";
            reference
              "ITU-T G.997.2 clause 7.7.3 and 7.8.3";
    
          }
        }  // grouping performance-history-interval-parameters
    
        grouping performance-history-measured-time {
          description
            "Reports the measured time for a given interval.";
          leaf measured-time {
            type uint32;
            units "seconds";
            description
              "Reports the amount of time, measured in seconds,
    that statistics for this interval have been counted.";
            reference
              "ITU-T G.997.2 clause 7.7.1 and 7.8.1";
    
          }
        }  // grouping performance-history-measured-time
    
        grouping performance-history-15min-interval-parameters {
          description
            "Defines common parameters required when defining 15 minute
    interval history performance counters.";
          uses performance-history-measured-time;
    
          uses performance-history-interval-parameters;
        }  // grouping performance-history-15min-interval-parameters
    
        grouping performance-history-24hr-interval-parameters {
          description
            "Defines common parameters required when defining 24 hour
    interval history performance counters.";
          uses performance-history-measured-time;
    
          uses performance-history-interval-parameters;
        }  // grouping performance-history-24hr-interval-parameters
    
        grouping performance-15min-history-parameters {
          description
            "Defines common parameters required when defining 15 minute
    history performance counters.";
          leaf number-of-intervals {
            type performance-15min-interval;
            description
              "The total number of 15 minute Performance Monitoring (PM)
    intervals for which data was collected.";
          }
    
          leaf non-valid-intervals {
            type performance-15min-interval;
            description
              "The number of 15 minute Performance Monitoring (PM) intervals
    for which the data is considered to be invalid or
    incomplete.";
          }
        }  // grouping performance-15min-history-parameters
    
        grouping performance-24hr-history-parameters {
          description
            "Defines common parameters required when defining 24 hour
    history performance counters.";
          leaf number-of-intervals {
            type performance-24hr-interval;
            description
              "The total number of 24 hour Performance Monitoring (PM)
    intervals for which data was collected.";
          }
    
          leaf non-valid-intervals {
            type performance-24hr-interval;
            description
              "The number of 24 hour Performance Monitoring (PM) intervals
    for which the data is considered to be invalid or
    incomplete.";
          }
        }  // grouping performance-24hr-history-parameters
    
        grouping line-thresholds {
          description
            "Performance parameters that have corresponding thresholds
    used to issue reports.";
          leaf errored-seconds-threshold {
            type uint32;
            units "seconds";
            default "0";
            description
              "Threshold for the count of errored seconds (ES). A special
    value (0) indicates the threshold is disabled.";
            reference
              "ITU-T G.997.2 clauses 7.7.8 (CURR/PREV_NE/FE_15/24_ES) and
              8.2 (THRESHOLD_NE/FE_15/24_ES);
              ITU-T G.9701 clause 11.4.4.2";
    
          }
    
          leaf severely-errored-seconds-threshold {
            type uint32;
            units "seconds";
            default "0";
            description
              "Threshold for the count of severely errored seconds (SES).
    A special value (0) indicates the threshold is disabled.";
            reference
              "ITU-T G.997.2 clauses 7.7.9 (CURR/PREV_NE/FE_15/24_SES) and
              8.2 (THRESHOLD_NE/FE_15/24_SES);
              ITU-T G.9701 clause 11.4.4.3";
    
          }
    
          leaf loss-of-signal-seconds-threshold {
            type uint32;
            units "seconds";
            default "0";
            description
              "Threshold for the count of Loss of Signal (LOS) seconds
    (LOSS). A special value (0) indicates the threshold is
    disabled.";
            reference
              "ITU-T G.997.2 clauses 7.7.10 (CURR/PREV_NE/FE_15/24_LOSS)
              and 8.2 (THRESHOLD_NE/FE_15/24_LOSS);
              ITU-T G.9701 clause 11.4.4.4";
    
          }
    
          leaf loss-of-rmc-seconds-threshold {
            type uint32;
            units "seconds";
            default "0";
            description
              "Threshold for the count of Loss of Robust Management Channel
    (RMC) (LOR) seconds (LORS). A special value (0) indicates the
    threshold is disabled. Support for this threshold is
    optional.";
            reference
              "ITU-T G.997.2 clauses 7.7.11 (CURR/PREV_NE/FE_15/24_LORS)
              and 8.2 (THRESHOLD_NE/FE_15/24_LORS);
              ITU-T G.9701 clause 11.4.4.5";
    
          }
    
          leaf unavailable-seconds-threshold {
            type uint32;
            units "seconds";
            default "0";
            description
              "Threshold for the count of unavailable seconds (UAS). A
    special value (0) indicates the threshold is disabled.";
            reference
              "ITU-T G.997.2 clauses 7.7.12 (CURR/PREV_NE/FE_15/24_UAS) and
              8.2 (THRESHOLD_NE/FE_15/24_UAS);
              ITU-T G.9701 clause 11.4.4.6";
    
          }
    
          leaf full-initializations-threshold {
            type uint32;
            default "0";
            description
              "Threshold for a count of the full initialization primitives
    (full_init). A special value (0) indicates the threshold is
    disabled. Support for this threshold is optional.";
            reference
              "ITU-T G.997.2 clauses 7.7.13 (CURR/PREV_15/24_FULL_INITS)
              and 8.2 (THRESHOLD_15/24_FULL_INITS);
              ITU-T G.9701 clause 11.3.1.5";
    
          }
    
          leaf failed-initializations-threshold {
            type uint32;
            default "0";
            description
              "Threshold for a count of the failed full initialization
    primitives (failedfull_init). A special value (0) indicates
    the threshold is disabled. Support for this threshold is
    optional.";
            reference
              "ITU-T G.997.2 clauses 7.7.14
              (CURR/PREV_15/24_FAILEDFULL_INITS) and 8.2
              (THRESHOLD_15/24_FAILEDFULL_INITS);
              ITU-T G.9701 clause 11.3.1.5";
    
          }
    
          leaf fast-initializations-threshold {
            type uint32;
            default "0";
            description
              "Threshold for a count of the fast initialization primitives
    (fast_init). A special value (0) indicates the threshold is
    disabled. Support for this threshold is optional.";
            reference
              "ITU-T G.997.2 clauses 7.7.15 (CURR/PREV_15/24_FAST_INITS)
              and 8.2 (THRESHOLD_15/24_FAST_INITS);
              ITU-T G.9701 clause 11.3.1.5";
    
          }
    
          leaf failed-fast-initializations-threshold {
            type uint32;
            default "0";
            description
              "Threshold for a count of the failed fast initialization
    primitives (failedfast_init). A special value (0) indicates
    the threshold is disabled. Support for this threshold is
    optional.";
            reference
              "ITU-T G.997.2 clauses 7.7.16
              (CURR/PREV_15/24_FAILEDFAST_INITS) and 8.2
              (THRESHOLD_15/24_FAILEDFAST_INITS);
              ITU-T G.9701 clause 11.3.1.5";
    
          }
    
          leaf spontaneous-interruptions-threshold {
            type uint32;
            default "0";
            description
              "Threshold for a count of the spontaneous interruption
    anomalies (spont_intrpt). A special value (0) indicates the
    threshold is disabled. Support for this threshold is
    optional.";
            reference
              "ITU-T G.997.2 clauses 7.7.19 (CURR/PREV_24_SPONT_INTRPT) and
              8.2 (THRESHOLD_24_SPONT_INTRPT);
              ITU-T G.9701 clause 11.3.1.1";
    
          }
        }  // grouping line-thresholds
    
        grouping channel-thresholds {
          description
            "Performance parameters that have corresponding thresholds
    used to issue reports.";
          leaf code-violations-threshold {
            type uint32;
            units "seconds";
            default "0";
            description
              "Threshold for the count of the Cyclic Redundancy Check
    anomalies (CRC). A special value (0) indicates the
    threshold is disabled.";
            reference
              "ITU-T G.997.2 clauses 7.8.4 (CURR/PREV_NE/FE_15/24_CV) and
              8.2 (THRESHOLD_NE/FE_15/24_CV);
              ITU-T G.9701 clause 11.3.1.1";
    
          }
    
          leaf uncorrectable-dtus-threshold {
            type uint32;
            units "seconds";
            default "0";
            description
              "Threshold for the count of the uncorrected Data Transfer Unit
    anomalies (RTX-UC). A special value (0) indicates the
    threshold is disabled.";
            reference
              "ITU-T G.997.2 clauses 7.8.6 (CURR/PREV_NE/FE_15/24_RTXUC)
              and 8.2 (THRESHOLD_NE/FE_15/24_RTXUC);
              ITU-T G.9701 clause 11.3.1.1";
    
          }
    
          leaf retransmitted-dtus-threshold {
            type uint32;
            units "seconds";
            default "0";
            description
              "Threshold for the count of the retransmitted Data Transfer
    Unit (DTU) anomalies (RTC-TX). A special value (0) indicates
    the threshold is disabled.";
            reference
              "ITU-T G.997.2 clauses 7.8.7 (CURR/PREV_NE/FE_15/24_RTXTX) and
              8.2 (THRESHOLD_NE/FE_15/24_RTXTX);
              ITU-T G.9701 clause 11.3.1.1";
    
          }
        }  // grouping channel-thresholds
    
        grouping profile-vector {
          description
            "A vector of profiles used to configure the line.";
          leaf time-division-duplexing-profile {
            type time-division-duplexing-profile-ref;
            mandatory true;
            description
              "References a time division duplexing (TDD) profile to be
    used to configure the line.";
          }
    
          leaf downstream-data-rate-profile {
            type downstream-data-rate-profile-ref;
            mandatory true;
            description
              "References a downstream data rate profile to be used to
    configure the line.";
          }
    
          leaf upstream-data-rate-profile {
            type upstream-data-rate-profile-ref;
            mandatory true;
            description
              "References an upstream data rate profile to be used to
    configure the line.";
          }
    
          leaf low-power-data-rate-profile {
            type low-power-data-rate-profile-ref;
            mandatory true;
            description
              "References a low power data rate profile to be used to
    configure the line.";
          }
    
          leaf line-spectrum-profile {
            type line-spectrum-profile-ref;
            mandatory true;
            description
              "References a line spectrum profile to be used to configure
    the line.";
          }
    
          leaf upstream-power-back-off-profile {
            type upstream-power-back-off-profile-ref;
            mandatory true;
            description
              "References an upstream power-back-off profile to be used to
    configure the line.";
          }
    
          leaf radio-frequency-interference-profile {
            type radio-frequency-interference-profile-ref;
            mandatory true;
            description
              "References a Radio Frequency Interference (RFI) profile to be
    used to configure the line.";
          }
    
          leaf noise-margin-profile {
            type noise-margin-profile-ref;
            mandatory true;
            description
              "References a noise margin profile to be used to configure
    the line.";
          }
    
          leaf fast-rate-adaptation-profile {
            type fast-rate-adaptation-profile-ref;
            mandatory true;
            description
              "References a fast rate adaptation profile to be used to
    configure the line.";
          }
    
          leaf retransmission-profile {
            type retransmission-profile-ref;
            mandatory true;
            description
              "References a retransmission profile to be used to configure
    the line.";
          }
    
          leaf fast-retrain-policy-profile {
            type fast-retrain-policy-profile-ref;
            mandatory true;
            description
              "References a fast retrain policy profile to be used to
    configure the line.";
          }
    
          leaf vectoring-profile {
            type vectoring-profile-ref;
            mandatory true;
            description
              "References a vectoring profile to be used to configure the
    line.";
          }
    
          leaf impulse-noise-monitoring-profile {
            if-feature bbf-fast:impulse-noise-monitoring;
            type leafref {
              path "/bbf-fast:fast/bbf-fast:quality/bbf-fast:impulse-noise-monitoring-profile/bbf-fast:name";
            }
            description
              "References an impulse noise monitoring profile to be used to
    configure the line.";
          }
        }  // grouping profile-vector
    
        grouping test-mode-enable-parameters {
          description
            "A set of parameters used to enable various test modes
    specified by ITU-T G.997.2 and G.9701.";
          leaf rtx-tc-test-mode {
            type boolean;
            default "false";
            description
              "Defines whether the retransmission test-mode is enabled or
    disabled. The RTX_TESTMODE setting may be changed during
    showtime. When changed, it shall take effect within 2 seconds
    without re-initialization.";
            reference
              "ITU-T G.997.2 clause 7.2.2.7 (RTX_TESTMODE);
              ITU-T G.9701 clause 9.8.3.1.2";
    
          }
    
          leaf tps-tc-test-mode {
            type boolean;
            default "false";
            description
              "Defines whether the Transport Protocol Specific Transmission
    Convergence (TPS-TC) test-mode is enabled or disabled.
    The TPS_TESTMODE setting may be changed during showtime.
    When changed, it shall take effect within 2 seconds without
    re-initialization.";
            reference
              "ITU-T G.997.2 clause 7.3.1 (TPS_TESTMODE);
              ITU-T G.9701 clause 8.3.1";
    
          }
    
          leaf dra-test-mode {
            type boolean;
            default "false";
            description
              "Defines whether the Dynamic Resource Allocation (DRA)
    test-mode is enabled or disabled. The DRA_TESTMODE setting
    may be changed during showtime. When changed, it shall take
    effect on the line within 2 seconds without
    re-initialization.";
            reference
              "ITU-T G.997.2 clause 7.3.2 (DRA_TESTMODE);
              ITU-T G.9701 clause 9.8.3.1.2";
    
          }
        }  // grouping test-mode-enable-parameters
    
        grouping line-test-modes {
          description
            "Test modes associated with a line.";
          uses test-mode-enable-parameters;
        }  // grouping line-test-modes
    
        grouping line-update-test-parameters {
          description
            "Data nodes used to update test parameters on a line.";
          container ftu-o {
            description
              "Relative to the Fast Transceiver Unit - central Office
    (FTU-O).";
            leaf update-ne-test {
              type near-end-test-groups;
              default "";
              status deprecated;
              description
                "Forces an update of the test parameters that can be
    updated during showtime. See introductory text to clause
    7.
    
    A configuration change back to clear a bit is required
    before initiating another update.";
              reference
                "ITU-T G.997.2 clause 7.1.9.1 (UPDATE-NE-TEST);
                ITU-T G.9701 clause 11.1";
    
            }
    
            action update-near-end-test {
              description
                "Forces an update of the test parameters that can be
    updated during showtime.";
              reference
                "ITU-T G.997.2 clause 7.1.9.1 (UPDATE-NE-TEST);
                ITU-T G.9701 clause 11.1";
    
              input {
                leaf group {
                  type near-end-test-groups;
                  must "boolean(.)" {
                    error-message
                      "No near end test groups were specified.";
                    description
                      "At least one bit must be specified.";
                  }
                  description
                    "Specifies which group or groups should be updated.";
                }
              }
            }  // rpc update-near-end-test
          }  // container ftu-o
    
          container ftu-r {
            description
              "Relative to the Fast Transceiver Unit - Remote side
    (FTU-R).";
            leaf update-fe-test {
              type far-end-test-groups;
              default "";
              status deprecated;
              description
                "Forces an update of the test parameters that can be
    updated during showtime. See introductory text to clause
    7.
    
    A configuration change back to clear a bit is required
    before initiating another update.";
              reference
                "ITU-T G.997.2 clause 7.1.9.2 (UPDATE-FE-TEST);
                ITU-T G.9701 clause 11.1";
    
            }
    
            action update-far-end-test {
              description
                "Forces an update of the test parameters that can be
    updated during showtime.";
              reference
                "ITU-T G.997.2 clause 7.1.9.2 (UPDATE-FE-TEST);
                ITU-T G.9701 clause 11.1";
    
              input {
                leaf group {
                  type far-end-test-groups;
                  must "boolean(.)" {
                    error-message
                      "No far end test groups were specified.";
                    description
                      "At least one bit must be specified.";
                  }
                  description
                    "Specifies which group or groups should be updated.";
                }
              }
            }  // rpc update-far-end-test
          }  // container ftu-r
        }  // grouping line-update-test-parameters
    
        grouping link-state-test-parameters {
          description
            "A set of parameters used to enable link state tests
    specified by ITU-T G.997.2 and G.9701.";
          leaf link-state-forced {
            type enumeration {
              enum "no-link-state" {
                value 0;
                description "No link state.";
              }
              enum "l0-link-state" {
                value 1;
                description "L0 link state.";
              }
              enum "l2.1n-link-state" {
                value 2;
                description "L2.1N link state.";
              }
              enum "l2.1b-link-state" {
                value 3;
                description "L2.1B link state.";
              }
              enum "l2.2-link-state" {
                value 4;
                description "L2.2 link state.";
              }
            }
            default "no-link-state";
            description
              "Forces the link to transition and to remain in the selected
    link state.";
            reference
              "ITU-T G.997.2 clause 7.14.1.1 (LS-FORCED);
              ITU-T G.9701 clause 12.1.1.7.1";
    
          }
        }  // grouping link-state-test-parameters
    
        grouping line-status-parameters {
          description
            "Line status parameters applicable to both upstream and
    downstream.";
          reference
            "ITU-T G.997.2 clause 7.10";
    
          leaf snr-margin {
            type snr-margin;
            description
              "Reports the signal-to-noise ratio (SNR) margin in the
    applicable direction during the L0 link state. A first
    special value (undetermined) indicates that the
    signal-to-noise ratio margin is undetermined. A second
    special value (-511) indicates that the signal-to-noise ratio
    margin is less than or equal to -51.1 dB. A third special
    value (+511) indicates that the signal-to-noise ratio margin
    is greater than or equal to +51.1 dB.";
            reference
              "ITU-T G.997.2 clauses 7.10.3.1 (SNRMds) and 7.10.3.2
              (SNRMus);
              ITU-T G.9701 clauses 9.8.3.2 and 11.4.1.3.";
    
          }
    
          leaf snr-margin-in-l2.1 {
            type snr-margin;
            description
              "Reports the signal-to-noise ratio (SNR) margin during the
    L2.1N and L2.1B link states. A first special value
    (undetermined) indicates that the signal-to-noise ratio
    margin is undetermined. A second special value (-511)
    indicates that the signal-to-noise ratio margin is less than
    or equal to -51.1 dB. A third special value (+511) indicates
    that the signal-to-noise ratio margin is greater than or
    equal to +51.1 dB.";
            reference
              "ITU-T G.997.2 clauses 7.10.16.1 (L2.1-SNRMds) and 7.10.16.2
              (L2.1-SNRMus);
              ITU-T G.9701 clauses 9.8.3.2 and 11.4.1.1.10.";
    
          }
    
          leaf snr-margin-in-l2.2 {
            type snr-margin;
            description
              "Reports the signal-to-noise ratio (SNR) margin in the
    downstream direction during the L2.2 link state. A first
    special value (undetermined) indicates that the
    signal-to-noise ratio margin is undetermined. A second
    special value (-511) indicates that the signal-to-noise ratio
    margin is less than or equal to -51.1 dB. A third special
    value (+511) indicates that the signal-to-noise ratio margin
    is greater than or equal to +51.1 dB.";
            reference
              "ITU-T G.997.2 clauses 7.10.16.3 (L2.2-SNRMds) and 7.10.16.4
              (L2.2-SNRMus);
              ITU-T G.9701 clauses 9.8.3.2 and 11.4.1.1.10";
    
          }
    
          leaf upbo-electrical-length {
            type uint16 {
              range "0..1280";
            }
            units "0.1 dB";
            description
              "Reports the electrical length that would have been sent, if
    the electrical length was not forced. If the electrical
    length is not forced, then this data node reports the final
    electrical length, as determined by the FAST Transceiver Unit
    (FTU) and conveyed in the O-UPDATE or R-MSG1 initialization
    message accordingly.";
            reference
              "ITU-T G.997.2 clauses 7.10.4.1 (UPBOKLE) and 7.10.4.2
              (UPBOKLE-R);
              ITU-T G.9701 clauses 7.3.1.4.2.1, 9.8.3.2, 11.4.1.3 and
              12.3.3.2.4";
    
          }
    
          leaf actual-aggregate-transmit-power {
            type union {
              type bbf-yang:undetermined;
              type int16 {
                range "-311..311";
              }
            }
            units "0.1 dB";
            description
              "Reports the total amount of transmit power delivered by the
    FAST Transceiver Unit (FTU) at the U reference point, at the
    instant of measurement. A first special value (undetermined)
    indicates that the transmit power is undetermined. A second
    special value (-311) indicates that the transmit power is
    less than or equal to -31.1 dBm. A third special value (+311)
    indicates that the transmit power is greater than or equal to
    +31.1 dBm.";
            reference
              "ITU-T G.997.2 clauses 7.10.5.1 (ACTATPds) and 7.10.5.2
              (ACTATPus);
              ITU-T G.9701 clauses 9.8.3.2 and 11.4.1.5";
    
          }
    
          leaf actual-tx-psd-ps {
            type per-sub-carrier-uint8;
            description
              "Reports the transmit Power Spectral Density (PSD) per
    sub-carrier delivered by the FAST Transceiver Unit (FTU) at
    the U reference point as calculated by the Vector Control
    Entity (VCE) from the appropriate ACTPSDREF-ps.
    
    For each octet, the values 0 to 254 represent the PSD values
    of 0 to -127 dBm/Hz in steps of -0.5 dBm/Hz.
    
    A special value, 255,indicates that no transmit PSD value is
    available the sub-carrier, or its transmit power is zero, or
    is out of the range to be represented.";
            reference
              "ITU-T G.997.2 clauses 7.10.6.1 (ACTPSDpsds) and 7.10.6.2
              (ACTPSDpsus);
              ITU-T G.9701 clause 11.4.1.2.5";
    
          }
    
          container snr {
            description
              "State data nodes related to sub-carrier Signal-to-Noise
    Ratio (SNR) values.";
            leaf snr-psd-measurement-time {
              type uint16;
              units "symbols";
              description
                "Reports the number of symbols used to measure the SNR(f)
    values.";
              reference
                "ITU-T G.997.2 clauses 7.10.8.1 (SNRMTds) and 7.10.8.4
                (SNRMTus);
                ITU-T G.9701 clause 11.4.1.2.2";
    
            }
    
            leaf snr-sub-carrier-group-size {
              type sub-carrier-group-size;
              description
                "Reports the number of sub-carriers in any one sub-carrier
    group used to represent the SNR(f) values.
    
    Note that in ITU-T G.9701-2014 the only valid value is
    G = 1.";
              reference
                "ITU-T G.997.2 clauses 7.10.8.2 (SNRGds) and 7.10.8.5
                (SNRGus);
                ITU-T G.9701 clause 11.4.1.2.2";
    
            }
    
            leaf snrps {
              type per-sub-carrier-group-uint8 {
                length "0..4096";
              }
              description
                "Reports the downstream SNR(f) values.
    
    For each octet, the values 0 to 254 represent the Signal-
    to-Noise Ratio (SNR) values of -32 to 95 dB in steps of
    0.5 dB and an offset of -64 where:
    
      SNR(f) = (snrps - 64) * 0.5
    
    A special value, 255, indicates the cases defined
    in clause 11.4.1.2.2 of [ITU-T G.9701].";
              reference
                "ITU-T G.997.2 clauses 7.10.8.3 (SNRpsds) and 7.10.8.6
                (SNRpsus);
                ITU-T G.9701 clause 11.4.1.2.2";
    
            }
          }  // container snr
    
          leaf bitsps {
            type per-sub-carrier-nibble;
            description
              "Reports the bit allocation values on data symbols in the
    normal operation interval (NOI).
    
    For each nibble, the values 0 to 14 represent the allocated
    bits.";
            reference
              "ITU-T G.997.2 clauses 7.10.11.1 (BITSpsds) and 7.10.11.2
              (BITSpsus);
              ITU-T G.9701 clause 10.2.1.4";
    
          }
    
          container robust-management-channel {
            description
              "Managment data nodes associated with the Robust Management
    Channel (RMC).";
            leaf snr-margin {
              type snr-margin;
              description
                "Reports the signal-to-noise ratio (SNR) margin for the
    Robust Management Channel (RMC) in the applicable direction
    during the L0 link state. A first special value
    (undetermined) indicates that the signal-to-noise ratio
    margin is undetermined. A second special value (-511)
    indicates that the signal-to-noise ratio margin is less
    than or equal to -51.1 dB. A third special value (+511)
    indicates that the signal-to-noise ratio margin is greater
    than or equal to +51.1 dB.";
              reference
                "ITU-T G.997.2 clauses 7.10.12.1 (SNRM-RMCds) and
                7.10.12.2 (SNRM-RMCus);
                ITU-T G.9701 clauses 11.4.1.1.11 and 11.4.1.4";
    
            }
    
            leaf snr-margin-in-l2 {
              type snr-margin;
              description
                "Reports the signal-to-noise ratio (SNR) margin  for the
    Robust Management Channel (RMC) during the L2.1N, L2.1B and
    L2.2 link state. A first special value (undetermined)
    indicates that the signal-to-noise ratio margin is
    undetermined. A second special value (-511) indicates that
    the signal-to-noise ratio margin is less than or equal to
    -51.1 dB. A third special value (+511) indicates that the
    signal-to-noise ratio margin is greater than or equal to
    +51.1 dB.";
              reference
                "ITU-T G.997.2 clauses 7.10.16.5 (L2-SNRM-RMCds) and
                7.10.16.6 (L2-SNRM-RMCus);
                ITU-T G.9701 clauses 11.4.1.1.11 and 11.4.1.4";
    
            }
    
            leaf bitsps {
              type binary {
                length "0..1024";
              }
              description
                "Reports the bit allocation values on data symbols in the
    normal operation interval (NOI).
    
    This is reported via an array of 16-bit values where bits
    15:4 represent the subcarrier index and bits 3:0 represent
    the allocated bits using the values 0 and 2 to 6.
    
    The 16-bit values are loaded into the binary array in
    ascending order of the related sub-carrier-index (lowest
    sub-carrier-index first; highest sub-carrier-index last).";
              reference
                "ITU-T G.997.2 clauses 7.10.12.3 and 7.10.12.4
                (BITSRMCdescriptor:bit-allocation-value).";
    
            }
          }  // container robust-management-channel
    
          leaf signal-attenuation {
            type union {
              type bbf-yang:undetermined;
              type uint16 {
                range "0..1001";
              }
            }
            units "0.1 dB";
            description
              "Reports the signal attention (SATN). A special value
    (undetermined) indicates that the value is undetermined. A
    second special value (0) indicates that the SATN is less than
    or equal to 0 dB. A third special value (1001) indicates that
    the SATN is greater than or equal to 100.1 dB. The data node
    is updated only in L0 link state.";
            reference
              "ITU-T G.997.2 clauses 7.10.15.1 (SATNds) and 7.10.15.2
              (SATNus);
              ITU-T G.9701 clause 11.4.1.7";
    
          }
    
          container qln {
            description
              "State data nodes related to sub-carrier Quiet Line Noise
    (QLN).";
            leaf qln-measurement-time {
              type uint16;
              units "symbols";
              description
                "Reports the number of symbols used to measure the
    downstream QLN(f) values.";
              reference
                "ITU-T G.997.2 clauses 7.10.9.1 (QLNMTds) and 7.10.9.4
                (QLNMTus);
                ITU-T G.9701 clause 11.4.1.2.3";
    
            }
    
            leaf qln-sub-carrier-group-size {
              type sub-carrier-group-size;
              description
                "Reports the number of sub-carriers in any one sub-carrier
    group used to represent the QLN(f) values.";
              reference
                "ITU-T G.997.2 clauses 7.10.9.2 (QLNds) and 7.10.9.5
                (QLNus);
                ITU-T G.9701 clause 11.4.1.2.3";
    
            }
    
            leaf qlnps {
              type per-sub-carrier-group-uint8 {
                length "0..512";
              }
              description
                "Reports the downstream QLN(f) as one value per sub-carrier
    group.
    
    For each octet, the values, 1 to 250 represent the Quiet
    Line Noise (QLN) values of -35.5 to -160 dBm/Hz in steps of
    -0.5 dBm/Hz using an offset of 70 where:
    
      QLN(f) = (qlnps + 70) * -0.5
    
    A first special value (255) indicates that the QLN(f)
    for this sub-carrier group is undetermined.
    
    A second special value (254) indicates that no measurement
    could be done for this sub carrier group because it is out
    of the downstream MEDLEY set.
    
    A third special value (0) indicates that the QLN(f) for
    this sub-carrier group is greater than or equal to
    -35dBm/Hz.
    
    A fourth special value (251) indicates that the
    QLN(f) for this sub-carrier group is less than or equal to
    -160.5 dBm/Hz. The data node is updated only in L0 link
    state.
    
    The value is updated only in L0 link state. For upstream,
    the value is also updated in the O-IDLE-TGVN state.";
              reference
                "ITU-T G.997.2 clauses 7.10.9.3 (QLNpsds) and 7.10.9.6
                (QLNpsus);
                ITU-T G.9701 clause 11.4.1.2.3";
    
            }
          }  // container qln
    
          container hlog {
            description
              "State data nodes related to sub-carrier Hlog.";
            leaf hlog-measurement-time {
              type uint16;
              units "symbols";
              description
                "Reports the number of symbols used to measure Hlog(f)
    values.";
              reference
                "ITU-T G.997.2 clause 7.10.7.1 (HLOGMT); ITU-T
                G.9701 clause 11.4.1.2.1.";
    
            }
    
            leaf hlog-sub-carrier-group-size {
              type sub-carrier-group-size;
              description
                "Reports the number of sub-carriers in any one sub-carrier
    group used to represent the Hlog(f) values.";
              reference
                "ITU-T G.997.2 clause 7.10.7.2 (HLOGG);
                ITU-T G.9701 clause 11.4.1.2.1";
    
            }
    
            leaf hlogps {
              type per-sub-carrier-group-uint16 {
                length "0..1024";
              }
              description
                "Reports the downstream Hlog(f) as one value per sub-carrier
    group.
    
    For each pair of octets, the values, 1 to 1019 represent
    the Hlog values of 5.9 to -95.9 dB of -0.1 dB using an
    offset of -60 where:
    
      Hlog(f) = (hlogps - 60) * -0.1
    
    A first special value (1023) indicates that the Hlog(f) for
    this sub-carrier group is undetermined.
    
    A second special value (1022) indicates that no measurement
    could be done for this sub carrier group because it is out
    of the MEDLEY set.
    
    A third special value (0) indicates that the Hlog(f) for
    this sub-carrier group is greater than or equal to +6.0 dB.
    
    A fourth special value (1020) indicates that the Hlog(f)
    for this sub-carrier group is less than or equal to
    -96.0 dB. The data node is updated only in L0 link state.";
              reference
                "ITU-T G.997.2 clause 7.10.7.3 (HLOGps);
                ITU-T G.9701 clause 11.4.1.2.1";
    
            }
          }  // container hlog
        }  // grouping line-status-parameters
    
        grouping line-ftu-update-test {
          description
            "Update test parameters associated with a Fast Transceiver
    Unit.";
          leaf time-stamp-at-g1-update {
            type time-stamp-or-undefined;
            description
              "Reports the date/time when the test parameters group 1
    that can change during showtime was last updated.";
            reference
              "ITU-T G.997.2 clause 7.10.13.1 (STAMP-TEST-NE-G1) and clause
              7.10.13.2 (STAMP-TEST-FE-G1); ITU-T G.9701 clause 11.1.";
    
          }
    
          leaf time-stamp-at-g2-update {
            type time-stamp-or-undefined;
            description
              "Reports the date/time when the test parameters group 2
    that can change during showtime was last updated.";
            reference
              "ITU-T G.997.2 clauses 7.10.13.3 (STAMP-TEST-NE-G2) and
              7.10.13.4 (STAMP-TEST-FE-G2);
              ITU-T G.9701 clause 11.1";
    
          }
    
          leaf link-state-at-g1-update {
            type enumeration {
              enum "l0-link-state" {
                value 0;
                description "L0 link state.";
              }
              enum "l2.1n-link-state" {
                value 1;
                description "L2.1N link state.";
              }
              enum "l2.1b-link-state" {
                value 2;
                description "L2.1B link state.";
              }
              enum "l2.2-link-state" {
                value 3;
                description "L2.2 link state.";
              }
            }
            description
              "Report the link state during which test parameters in group 1
    were updated.";
            reference
              "ITU-T G.997.2 clauses 7.14.2.2 (LINK-STATE-TEST-NE-G1) and
              7.14.2.3 (LINK-STATE-TEST-FE-G1);
              ITU-T G.9701 clause 12.1.1.7.3";
    
          }
        }  // grouping line-ftu-update-test
    
        grouping line-time-stamps {
          description
            "Time stamps associated with the upstream or downstream
    direction.";
          leaf time-stamp-last-successful-bitswap {
            type time-stamp-or-undefined;
            description
              "Reports the date/time of the last successful Fast Transceiver
    Unit (FTU) initiated Bit Swap execution that has modified the
    bits allocation.";
            reference
              "ITU-T G.997.2 clause 7.10.14.1 (STAMP-BSW-ds) and 7.10.14.2
              (STAMP-BSW-us);
              ITU-T G.9701 clause 11.2.2.5";
    
          }
    
          leaf time-stamp-last-successful-autonomous-sra {
            type time-stamp-or-undefined;
            description
              "Reports the date/time of the last successful Fast Transceiver
    Unit (FTU) initiated autonomous Seamless Rate Adaptation
    (SRA) execution (excluding SRAs in response to Transmitter-
    Initiated Gain Adjustment (TIGA)) that has modified the
    bits allocation.";
            reference
              "ITU-T G.997.2 clauses 7.10.14.3 (STAMP-SRA-ds) and 7.10.14.4
              (STAMP-SRA-us);
              ITU-T G.9701 clause 11.2.2.5";
    
          }
    
          leaf time-stamp-last-successful-fra {
            type time-stamp-or-undefined;
            description
              "Reports the date/time of the last successful Fast Transceiver
    Unit (FTU) initiated Fast Rate Adaptation (FRA) execution
    that has modified the bits allocation.";
            reference
              "ITU-T G.997.2 clauses 7.10.14.5 (STAMP-FRA-ds) and 7.10.14.6
              (STAMP-FRA-us);
              ITU-T G.9701 clause 13.3.1.1";
    
          }
    
          leaf time-stamp-last-successful-rpa {
            type time-stamp-or-undefined;
            description
              "Reports the date/time of the last successful Fast Transceiver
    Unit (FTU) initiated Robust Managmenet Channel (RMC)
    Parameter Adjustmet (RPA) execution that has modified the
    bits allocation for the RMC.";
            reference
              "ITU-T G.997.2 clause 7.10.14.7 (STAMP-RPA-ds) and 7.10.14.8
              (STAMP-RPA-us);
              ITU-T G.9701 clause 11.2.2.5";
    
          }
    
          leaf time-stamp-last-successful-rmcr {
            if-feature bbf-fast:rmcr;
            type time-stamp-or-undefined;
            description
              "Reports the date/time of the last successful Fast Transceiver
    Unit (FTU) initiated Robust Managmenet Channel (RMC) recovery
    (RMCR) execution that has modified RMC tone allocation.";
            reference
              "ITU-T G.997.2 clause 7.10.14.11 (STAMP-RMCRds) and 7.10.14.12
              (STAMP-RMCRus);
              ITU-T G.9701 clause 13.3.1.2";
    
          }
        }  // grouping line-time-stamps
    
        grouping line-ftu-failure-parameters {
          description
            "FAST Transceiver Unit (FTU) failure parameters applicable to
    both upstream and downstream. The Loss of Signal (LOS), Loss of
    RMC Channel (LOR), and Loss of Margin (LOM) failures are
    mutually exclusive and reflect the reason cause of the
    triggered re-initialization. If no LOS, LOR, or LOM failure is
    declared, then the re-initialization is triggered by a
    High_BER event (see clause 12.1.4/G.9701).";
          leaf loss-of-signal {
            type boolean;
            description
              "A Loss of Signal (LOS) failure is declared when a
    re-initialization is triggered by a persistent near-end los
    defect. A LOS failure is cleared immediately at the start of
    showtime in the receiving direction.";
            reference
              "ITU-T G.997.2 clauses 7.4.1.1 (LOS) and 7.4.2.1 (LOS-FE)";
    
          }
    
          leaf loss-of-rmc {
            type boolean;
            description
              "A Loss of RMC Channel (LOR) failure is declared when a
    re-initialization is triggered by a persistent near-end
    lor defect. A LOR failure is cleared immediately at the start
    of showtime in the receiving direction.";
            reference
              "ITU-T G.997.2 clauses 7.4.1.2 (LOR) and 7.4.2.2 (LOR-FE)";
    
          }
    
          leaf loss-of-margin {
            type boolean;
            description
              "A Loss of Margin (LOM) failure is declared when a
    re-initialization is triggered by a persistent near-end lom
    defect. A LOM failure is cleared immediately at the start of
    showtime in the receiving direction.";
            reference
              "ITU-T G.997.2 clauses 7.4.1.3 (LOM) and 7.4.2.3 (LOM-FE)";
    
          }
    
          leaf loss-of-power {
            type boolean;
            description
              "A Loss of Power (LPR) failure is declared after 2.5 +/- 0.5
    seconds of contiguous near-end lpr primitive presence. An LPR
    failure is cleared after 10 +/- 0.5 seconds of no near-end
    lpr primitive presence.";
            reference
              "ITU-T G.997.2 clauses 7.4.1.4 (LPR) and 7.4.2.3 (LPR-FE)";
    
          }
        }  // grouping line-ftu-failure-parameters
    
        grouping aln-parameters {
          description
            "Data nodes related to ALN(f) functionality.";
          container aln {
            description
              "State data nodes related to sub-carrier Active Line Noise
    (ALN).";
            leaf aln-measurement-time {
              type uint16;
              units "symbols";
              description
                "Reports the number of symbols used to measure ALN(f)
    values.";
              reference
                "ITU-T G.997.2 clause 7.10.10.1 (ALNMT);
                ITU-T G.9701 clause 11.4.1.2.4";
    
            }
    
            leaf aln-sub-carrier-group-size {
              type sub-carrier-group-size;
              description
                "Reports the number of sub-carriers in any one sub-carrier
    group used to represent the ALN(f) values.";
              reference
                "ITU-T G.997.2 clause 7.10.10.2 (ALNG);
                ITU-T G.9701 clause 11.4.1.2.4";
    
            }
    
            leaf alnps {
              type per-sub-carrier-group-uint8 {
                length "0..512";
              }
              description
                "Reports the downstream ALN(f) as one value per sub-carrier
    group.
    
    For each octet, the values, 1 to 250 represent the Active
    Line Noise (ALN) values of -35.5 to -160 dBm/Hz in steps of
    -0.5 dBm/Hz using an offset of 70 where:
    
      ALN(f) = (alnps + 70) * -0.5
    
    A first special value (255) indicates that the ALN(f)
    for this sub-carrier group is undetermined.
    
    A second special value (254) indicates that no measurement
    could be done for this sub carrier group because it is out
    of the downstream MEDLEY set.
    
    A third special value (0) indicates that the ALN(f) for
    this sub-carrier group is greater than or equal to
    -35 dBm/Hz.
    
    A fourth special value (251) indicates that the
    ALN(f) for this sub-carrier group is less than or equal to
    -160.5 dBm/Hz. The data node is updated only in L0 link
    state.";
              reference
                "ITU-T G.997.2 clause 7.10.10.3 (ALNps);
                ITU-T G.9701 clause 11.4.1.2.4";
    
            }
          }  // container aln
        }  // grouping aln-parameters
    
        grouping xlog-parameters {
          description
            "Data nodes related to XLOG functionality.";
          container xlog {
            description
              "State data nodes related to sub-carrier XLOG.";
            container xlogdisturber {
              description
                "Provides information regarding the XLOG disturber to which
    the XLOG values belong.";
              leaf vce-port-index {
                type union {
                  type enumeration {
                    enum "invalid" {
                      value 0;
                      description
                        "The XLOG disturber Vector Control Entity (VCE) port
    index is invalid.";
                    }
                  }
                  type vce-port-index;
                }
                description
                  "The xlogps values are returned for the disturber line
    with this vce-port-index in the same vectored group. A
    special value (invalid) indicates an invalid
    xlog-disturber-vce-port-index.";
                reference
                  "ITU-T G.997.2 clause 7.13.2.6;
                  ITU-T G.9701 clause 11.4.5.1.2";
    
              }
            }  // container xlogdisturber
    
            container xlogbands {
              description
                "Defines the set of sub-carriers for which XLOGpsds is
    reported. For each band in which XLOGpsds is reported,
    XLOGBANDSds contains a triplet of (start_subcarrier_index,
    stop_subcarrier_index, group size). The XLOGpsds is
    reported for all sub-carriers in the band (start and stop
    subcarrier inclusive) with index equal to
    start_subcarrier_index+m*group_size, with m integer. The
    data node is updated only in L0 link state.";
              reference
                "ITU-T G.997.2 clause 7.10.17.1 (XLOGBANDSds);
                ITU-T G.9701 clause 11.4.1.2.8";
    
              list xlog {
                key "band-index";
                max-elements 8;
                description
                  "List of XLOG band edges.";
                leaf band-index {
                  type uint8 {
                    range "1..8";
                  }
                  description "Band index.";
                }
    
                uses sub-carrier-range {
                  refine 
                }
    
                leaf group-size {
                  type uint8 {
                    range
                      "1 | 2 | 4 | 8 | 16 | 32 | 64";
                  }
                  description
                    "The sub-carrier group size.";
                }
              }  // list xlog
            }  // container xlogbands
    
            leaf xlogps {
              type per-sub-carrier-group-uint8 {
                length "0..512";
              }
              description
                "Reports the downstream Xlog(f) as one value per sub-carrier
    group.
    
    For each octet, the values, 1 to 250 represent the Xlog
    values of +39.5 to -85 dB in steps of -0.5 dB
    using an offset of 80 where:
    
      Xlog(f) = (xlogps - 80) * -0.5
    
    A first special value (255) indicates that the Xlog(f) for
    this sub-carrier group is undetermined.
    
    A second special value (254) indicates that no measurement
    could be done for this sub-carrier group.
    
    A third special value (0) indicates that the Xlog(f) for
    this sub-carrier group is greater than or equal to +40.0
    dB.
    
    A fourth special value (251) indicates that the Xlog(f) for
    this sub-carrier group is less than or equal to -85.5 dB.
    The data node is updated only in L0 link state.";
              reference
                "ITU-T G.997.2 clause 7.10.17.2 (XLOGpsds);
                ITU-T G.9701 clause 11.4.1.2.8";
    
            }
          }  // container xlog
        }  // grouping xlog-parameters
    
        grouping line-status {
          description
            "Defines the parameters that define the operational status of
    a FAST line.";
          leaf profile {
            type profiles;
            description
              "Reports for each profile whether operation according to
    that profile is enabled or disabled. Only one profile can be
    enabled.";
            reference
              "ITU-T G.997.2 clause 7.10.1.1 (PROFILE);
              ITU-T G.9701 clause 6";
    
          }
    
          leaf link-state {
            type enumeration {
              enum "l0-link-state" {
                value 0;
                description "L0 link state.";
              }
              enum "l2.1n-link-state" {
                value 1;
                description "L2.1N link state.";
              }
              enum "l2.1b-link-state" {
                value 2;
                description "L2.1B link state.";
              }
              enum "l2.2-link-state" {
                value 3;
                description "L2.2 link state.";
              }
              enum "l3-link-state" {
                value 4;
                description "L3 link state.";
              }
            }
            description
              "Reports the actual link state.";
            reference
              "ITU-T G.997.2 clause 7.14.2.1 (LINK_STATE);
              ITU-T G.9701 clause 12.1.1.6";
    
          }
    
          leaf initialization-success-failure-cause {
            type enumeration {
              enum "successful" {
                value 0;
                description "Successful.";
              }
              enum "config-error" {
                value 1;
                description
                  "Configuration error. This error occurs if the line
    cannot reach the L0 state due to a mismatch of
    configuration and FAST Transceiver Unit (FTU)
    capabilities.";
              }
              enum "config-not-feasible" {
                value 2;
                description
                  "Configuration not feasible on the line. This error
    occurs if the line cannot reach the L0 state due to a
    mismatch of configuration and line and noise
    characteristics.";
              }
              enum "communication-problem" {
                value 3;
                description
                  "Communication problem. This error occurs, for example,
    due to corrupted messages or bad syntax messages or if
    no common mode can be selected in the ITU-T G.994.1
    handshaking procedure or due to a timeout.";
              }
              enum "no-far-end-ftu-detected" {
                value 4;
                description
                  "No far-end FAST Transceiver Unit (FTU) detected. This
    error occurs if the far-end FTU is not powered or not
    connected or if the line is too long to allow detection
    of a far-end FTU.";
              }
              enum "unknown" {
                value 5;
                description
                  "Any other or unknown initialization failure cause.";
              }
            }
            description
              "Reports whether the last full or short initialization
    procedure was successful. If the last initialization
    procedure was not successful, this parameter provides
    the reason.";
            reference
              "ITU-T G.997.2 clause 7.10.2.1 (INITFSCAUSE);
              ITU-T G.9701 clause 12.3.1";
    
          }
    
          leaf annex-x-enabled {
            if-feature bbf-fast:annex-x;
            type boolean;
            description
              "Indicates whether Annex X operation is enabled.";
            reference
              "ITU-T G.997.2 clause T.3.1 (ANNEX_X_ENABLED),
              ITU-T G.9701 clause X.6.8.1";
    
          }
    
          leaf annex-d-enabled {
            if-feature bbf-fast:annex-d;
            type boolean;
            description
              "Indicates whether Annex D operation is enabled.";
            reference
              "ITU-T G.997.2 clause T.3.3 (ANNEX_D_ENABLED);
              ITU-T G.9701 clause D.5.8.1";
    
          }
    
          leaf idta-enabled {
            if-feature (bbf-fast:dta and bbf-fast:annex-x);
            type boolean;
            description
              "Indicates whether independent Dynamic Time Assignment (iDTA)
    is enabled.";
            reference
              "ITU-T G.9701 clause T.3.2 (DTA_ENABLED);
              ITU-T G.9701 clause X.6.8.2";
    
          }
    
          leaf cdta-procedure-actual-type {
            if-feature (bbf-fast:dta and bbf-fast:annex-d);
            type enumeration {
              enum "disabled" {
                value 0;
                description
                  "Coordinated Dynamic Time Assignment (cDTA) is disabled.";
              }
              enum "one-step" {
                value 1;
                description
                  "Dynamic Resource Allocation (DRA) uses one-step
    Coordinated Dynamic Time Assignment (cDTA)
    procedure.";
              }
              enum "two-step" {
                value 2;
                description
                  "Dynamic Resource Allocation (DRA) uses two-step
    Coordinated Dynamic Time Assignment (cDTA) procedure.";
              }
            }
            description
              "Indicates which Coordinated Dynamic Time Assignment (cDTA)
    procedure is used by the Dynamic Resource Allocation (DRA)
    according to Annex D.";
            reference
              "ITU-T G.997.2 clause T.3.4 (CDTA_PROC_ACT);
              ITU-T G.9701 clause D.5.8.2";
    
          }
    
          container ftu-o {
            description
              "Line status parameters associated with the Fast
    Transceiver Unit - central Office (FTU-O) (Near End).";
            container update-test {
              description
                "Test update parameters.";
              uses line-ftu-update-test;
            }  // container update-test
    
            container failures {
              description
                "Failure related status.";
              leaf line-initialization-failure {
                type boolean;
                description
                  "When the transmitter enters the SILENT state and fails to
    reach the SHOWTIME state (after a vendor discretionary
    number of retries and/or within a vendor discretionary
    timeout), then an initialization failure occurs. An
    initialization failure cause and last successful
    transmitted state are reported.";
                reference
                  "ITU-T G.997.2 clauses 7.4.3 (LINIT) and 7.10.2";
    
              }
    
              uses line-ftu-failure-parameters;
            }  // container failures
          }  // container ftu-o
    
          container ftu-r {
            description
              "Line status parameters associated with the Fast
    Transceiver Unit - Remote side (FTU-R) (Far End).";
            container update-test {
              description
                "Test update parameters.";
              uses line-ftu-update-test;
            }  // container update-test
    
            container failures {
              description
                "Failure related status.";
              uses line-ftu-failure-parameters;
            }  // container failures
    
            leaf minimum-mds-supported {
              type uint8 {
                range "0 | 5..10";
              }
              description
                "If Annex D is enabled (see clause T.3.3), it reports the
    minimal Mds for use in cDTA supported by the FTU-R.
    Otherwise, a special value (0) is reported.";
              reference
                "ITU-T G.997.2 clause T.3.5";
    
            }
          }  // container ftu-r
    
          container downstream {
            description
              "Line status parameters associated with the downstream
    direction.";
            leaf initialization-last-transmitted-signal {
              type uint8 {
                range "0..21";
              }
              description
                "Reports the downstream signal count of the last transmitted
    initialization signal in the last full or short
    initialization performed on the line.";
              reference
                "ITU-T G.997.2 clause 7.10.2.2 (INITLASTSIGNALds);
                ITU-T G.9701 clause 12.3.1";
    
            }
    
            leaf actual-minimum-mds {
              if-feature bbf-fast:dta;
              type uint8 {
                range "5..31";
              }
              description
                "Reports the actual minimum number of downstream symbol
    positions Mds (Act_min_M ds) needed to provide an expected
    downstream throughput of at least DTA_MINETRds.";
              reference
                "ITU-T G.997.2 clause T.5.3.1 (DTA_ACTMINMds);
                ITU-T G.9701 clause T.2.10";
    
            }
    
            leaf actual-maximum-mds {
              if-feature bbf-fast:dta;
              type uint8 {
                range "5..31";
              }
              description
                "Reports the actual maximum number of downstream symbol
    positions Mds (Act_max_M ds) needed to provide an expected
    upstream throughput of at least DTA_MINETRus.";
              reference
                "ITU-T G.997.2 clause T.5.3.2 (DTA_ACTMAXMds);
                ITU-T G.9701 clause T.2.10";
    
            }
    
            uses line-status-parameters;
    
            uses aln-parameters;
    
            uses xlog-parameters;
    
            container time-stamps {
              description
                "Time stamps of certain status parameters.";
              uses line-time-stamps;
    
              leaf time-stamp-last-successful-tiga {
                type time-stamp-or-undefined;
                description
                  "Reports the date/time of the last successful FAST
    Transceiver Unit - central Office (FTU-O) initiated
    Transmitter-Initiated Gain Adjustment (TIGA)
    execution.";
                reference
                  "ITU-T G.997.2 clause 7.10.14.9 (STAMP-TIGA);
                  ITU-T G.9701 clause 11.2.2.5";
    
              }
    
              leaf time-stamp-last-successful-srec {
                if-feature bbf-fast:srec;
                type time-stamp-or-undefined;
                description
                  "Reports the date/time of the last successful FAST
    Transceiver Unit - central Office (FTU-O) initiated
    (local or remote) Showtime Reconfiguration (SREC)
    execution.";
                reference
                  "ITU-T G.997.2 clause 7.10.14.10 (STAMP-SREC);
                  ITU-T G.9701 Annex R";
    
              }
            }  // container time-stamps
          }  // container downstream
    
          container upstream {
            description
              "Line status parameters associated with the downstream
    direction.";
            leaf initialization-last-received-signal {
              type uint8 {
                range "0..10";
              }
              description
                "Reports the upstream signal count of the last transmitted
    initialization signal in the last full or short
    initialization performed on the line.";
              reference
                "ITU-T G.997.2 clause 7.10.2.3 (INITLASTSIGNALus);
                ITU-T G.9701 clause 12.3.1";
    
            }
    
            uses line-status-parameters;
    
            container time-stamps {
              description
                "Time stamps of certain status parameters.";
              uses line-time-stamps;
            }  // container time-stamps
          }  // container upstream
        }  // grouping line-status
    
        grouping line-read-test-parameters {
          description
            "Data nodes used to configure test parameters on a line
    corresponding to how the test parameters are read.";
          container downstream {
            description
              "Parameters associated with the downstream direction.";
            leaf xlog-disturber-vce-port-index {
              type vce-port-index;
              default "undefined";
              description
                "Upon a read of the XLOG test parameter, the xlogps values
    are returned for the disturber line with this
    vce-port-index in the same vectored group.";
              reference
                "ITU-T G.997.2 clause 7.13.2.6;
                ITU-T G.9701 clause 11.4.5.1.2";
    
            }
          }  // container downstream
        }  // grouping line-read-test-parameters
    
        grouping line-performance-ftu-o-parameters {
          description
            "Defines the performance parameters applicable only
    to the FAST Transceiver Unit - central Office (FTU-O) of FAST
    lines.";
          leaf successful-tiga {
            type bbf-yang:performance-counter32;
            description
              "Reports a count of the successful Time Initiated Gain
    Adjustment (TIGA) primitives (success_TIGA).";
            reference
              "ITU-T G.997.2 clause 7.7.25 (CURR/PREV_NE/FE_15/24_TIGA);
              ITU-T G.9701 clause 11.3.1.6";
    
          }
    
          leaf full-initializations {
            type bbf-yang:performance-counter32;
            description
              "Reports a count of the full initialization primitives
    (full_init).";
            reference
              "ITU-T G.997.2 clause 7.7.13 (CURR/PREV_15/24_FULL_INITS);
              ITU-T G.9701 clause 11.3.1.5";
    
          }
    
          leaf failed-full-initializations {
            type bbf-yang:performance-counter32;
            description
              "Reports a count of the failed full initialization
    primitives(failedfull_init).";
            reference
              "ITU-T G.997.2 clause 7.7.14
              (CURR/PREV_15/24_FAILEDFULL_INITS);
              ITU-T G.9701 clause 11.3.1.5";
    
          }
    
          leaf fast-initializations {
            type bbf-yang:performance-counter32;
            description
              "Reports a count of the fast initialization primitives
    (fast_init).";
            reference
              "ITU-T G.997.2 clause 7.7.15 (CURR/PREV_15/24_FAST_INITS);
              ITU-T G.9701 clause 11.3.1.5";
    
          }
    
          leaf failed-fast-initializations {
            type bbf-yang:performance-counter32;
            description
              "Reports a count of the failed fast initialization
    primitives(failedfast_init).";
            reference
              "ITU-T G.997.2 clause 7.7.16
              (CURR/PREV_15/24_FAILEDFAST_INITS);
              ITU-T G.9701 clause 11.3.1.5";
    
          }
    
          leaf loss-of-power-interruptions {
            type bbf-yang:performance-counter32;
            description
              "Reports a count of the loss-of-power interruption anomalies
    (lpr_intrpt).";
            reference
              "ITU-T G.997.2 clause 7.7.17 (CURR/PREV_15/24_LPR_INTRPT);
              ITU-T G.9701 clause 11.3.1.1";
    
          }
    
          leaf host-reinit-interruptions {
            type bbf-yang:performance-counter32;
            description
              "Reports a count of the host-reinit interruption anomalies
    (hri_intrpt).";
            reference
              "ITU-T G.997.2 clause 7.7.18 (CURR/PREV_15/24_HRI_INTRPT);
              ITU-T G.9701 clause 11.3.1.1";
    
          }
    
          leaf spontaneous-interruptions {
            type bbf-yang:performance-counter32;
            description
              "Reports a count of the spontaneous interruption anomalies
    (spont_intrpt). The spontaneous interruption anomaly
    (spont_intrpt) is defined in clause 11.3.1.1/G.9701.";
            reference
              "ITU-T G.997.2 clause 7.7.19 (CURR/PREV_15/24_SPONT_INTRPT);
              ITU-T G.9701 clause 11.3.1.1";
    
          }
    
          leaf successful-srec {
            if-feature bbf-fast:srec;
            type bbf-yang:performance-counter32;
            description
              "Reports a count of successful Showtime Reconfiguration
    (success_srec) primitives.";
            reference
              "ITU-T G.997.2 clause 7.7.30 (CURR/PREV_15/24_SUCCESS_SREC);
              ITU-T G.9701 clause R.3";
    
          }
    
          leaf me-o-triggered-interruptions {
            if-feature bbf-fast:srec;
            type bbf-yang:performance-counter32;
            description
              "Reports a count of me_o_intrpt anomalies.";
            reference
              "ITU-T G.997.2 clause 7.7.29
              (CURR/PREV_NE/FE_SUCCESS_ME_O_INTRPT);
              ITU-T G.9701 clause 11.3.1.1";
    
          }
    
          leaf successful-dta {
            if-feature bbf-fast:dta;
            type bbf-yang:performance-counter32;
            description
              "Reports a count of the successful DTA primitives
    (success_DTA).";
            reference
              "ITU-T G.997.2 clause T.5.2.1(CURR/PREV_15/24_DTA);
              ITU-T G.9701 clause T.4.1";
    
          }
    
          leaf minimum-mds {
            if-feature bbf-fast:dta;
            type uint8 {
              range "5..31";
            }
            description
              "Reports the minimum number of downstream symbol positions Mds
    in a TDD frame that was used over the associated time
    interval.";
            reference
              "ITU-T G.997.2 clause T.5.2.2
              (CURR/PREV_NE/FE_15/24_DTA_MINMds);
              ITU-T G.9701 clause D.5.2 and X.6.2";
    
          }
    
          leaf maximum-mds {
            if-feature bbf-fast:dta;
            type uint8 {
              range "5..31";
            }
            description
              "Reports the maximum number of downstream symbol positions Mds
    in a TDD frame that was used over the associated time
    interval.";
            reference
              "ITU-T G.997.2 clause T.5.2.3
              (CURR/PREV_NE/FE_15/24_DTA_MAXMds);
              ITU-T G.9701 clause D.5.2 and X.6.2";
    
          }
        }  // grouping line-performance-ftu-o-parameters
    
        grouping line-performance-ftu-o-15min-parameters {
          description
            "Defines the 15 minute performance parameters applicable only
    to the FAST Transceiver Unit - central Office (FTU-O) of FAST
    lines.";
          leaf link-state-l2.1n-seconds {
            type seconds-counter-15min;
            units "seconds";
            description
              "Reports the time spent in LinkState L2.1N in seconds,
    accumulated over the relevant period, rounded up to the
    nearest second.";
            reference
              "ITU-T G.997.2 clause 7.14.3.1 (CURR/PREV_15/24_L21N);
              ITU-T G.9701 Table Z-5";
    
          }
    
          leaf link-state-l2.1b-seconds {
            type seconds-counter-15min;
            units "seconds";
            description
              "Reports the time spent in LinkState L2.1B in seconds,
    accumulated over the relevant period, rounded up to the
    nearest second.";
            reference
              "ITU-T G.997.2 clause 7.14.3.2 (CURR/PREV_15/24_L21B);
              ITU-T G.9701 Table Z-5";
    
          }
    
          leaf link-state-l2.2-seconds {
            type seconds-counter-15min;
            units "seconds";
            description
              "Reports the time spent in LinkState L2.2 in seconds,
    accumulated over the relevant period, rounded up to the
    nearest second.";
            reference
              "ITU-T G.997.2 clause 7.14.3.3 (CURR/PREV_15/24_L22);
              ITU-T G.9701 Table Z-5";
    
          }
        }  // grouping line-performance-ftu-o-15min-parameters
    
        grouping line-performance-ftu-o-24hr-parameters {
          description
            "Defines the 24 hour performance parameters applicable only
    to the FAST Transceiver Unit - central Office (FTU-O) of FAST
    lines.";
          leaf link-state-l2.1n-seconds {
            type seconds-counter-24hr;
            units "seconds";
            description
              "Reports the time spent in LinkState L2.1N in seconds,
    accumulated over the relevant period, rounded up to the
    nearest second.";
            reference
              "ITU-T G.997.2 clause 7.14.3.1 (CURR/PREV_15/24_L21N);
              ITU-T G.9701 Table Z-5";
    
          }
    
          leaf link-state-l2.1b-seconds {
            type seconds-counter-24hr;
            units "seconds";
            description
              "Reports the time spent in LinkState L2.1B in seconds,
    accumulated over the relevant period, rounded up to the
    nearest second.";
            reference
              "ITU-T G.997.2 clause 7.14.3.2 (CURR/PREV_15/24_L21B);
              ITU-T G.9701 Table Z-5";
    
          }
    
          leaf link-state-l2.2-seconds {
            type seconds-counter-24hr;
            units "seconds";
            description
              "Reports the time spent in LinkState L2.2 in seconds,
    accumulated over the relevant period, rounded up to the
    nearest second.";
            reference
              "ITU-T G.997.2 clause 7.14.3.3 (CURR/PREV_15/24_L22);
              ITU-T G.9701 Table Z-5";
    
          }
        }  // grouping line-performance-ftu-o-24hr-parameters
    
        grouping line-performance-parameters {
          description
            "Defines the performance parameters for FAST lines.";
          leaf loss-of-signal {
            type bbf-yang:performance-counter32;
            description
              "Reports a count of the Loss of Signal (LOS) failures.";
            reference
              "ITU-T G.997.2 clause 7.7.4 (CURR/PREV_NE/FE_15/24_LOS)";
    
          }
    
          leaf loss-of-margin {
            type bbf-yang:performance-counter32;
            description
              "Reports a count of the Loss of Margin (LOM) failures.";
            reference
              "ITU-T G.997.2 clause 7.7.6 (CURR/PREV_NE/FE_15/24_LOM)";
    
          }
    
          leaf loss-of-rmc {
            type bbf-yang:performance-counter32;
            description
              "Reports a count of the Loss of Robust Management Channel
    (LOR) failures.";
            reference
              "ITU-T G.997.2 clause 7.7.5 (CURR/PREV_NE/FE_15/24_LOR)";
    
          }
    
          leaf loss-of-power {
            type bbf-yang:performance-counter32;
            description
              "Reports a count of the Loss of Power (LPR) failures.";
            reference
              "ITU-T G.997.2 clause 7.7.7 (CURR/PREV_NE/FE_15/24_LPR)";
    
          }
    
          leaf successful-bit-swaps {
            type bbf-yang:performance-counter32;
            description
              "Reports a count of the successful bit swap primitives
    (success_BSW).";
            reference
              "ITU-T G.997.2 clause 7.7.21 (CURR/PREV_NE/FE_15/24_BSW);
              ITU-T G.9701 clause 11.3.1.6";
    
          }
    
          leaf successful-autonomous-sra {
            type bbf-yang:performance-counter32;
            description
              "Reports a count of the successful autonomous Seamless Rate
    Adaptation (SRA) primitives (success_SRA).";
            reference
              "ITU-T G.997.2 clause 7.7.22 (CURR/PREV_NE/FE_15/24_SRA);
              ITU-T G.9701 clause 11.3.1.6";
    
          }
    
          leaf successful-fra {
            type bbf-yang:performance-counter32;
            description
              "Reports a count of the successful Fast Rate Adaptation (FRA)
    primitives (success_FRA).";
            reference
              "ITU-T G.997.2 clause 7.7.23 (CURR/PREV_NE/FE_15/24_FRA);
              ITU-T G.9701 clause 11.3.1.6";
    
          }
    
          leaf successful-rpa {
            type bbf-yang:performance-counter32;
            description
              "Reports a count of the successful Robust Management Channel
    (RMC) Parameter Adjustment (RPA) primitives (success_RPA).";
            reference
              "ITU-T G.997.2 clause 7.7.24 (CURR/PREV_NE/FE_15/24_RPA);
              ITU-T G.9701 clause 11.3.1.6";
    
          }
    
          list inminpeq {
            if-feature bbf-fast:impulse-noise-monitoring;
            key "inminpeq-index";
            description
              "Reports the count of the INMAINPEQi anomalies occurring on
    the line during the accumulation period.";
            reference
              "ITU-T G.997.2 clause 7.7.28.1
              (CURR/PREV_NE/FE_15/24_INMINPEQ);
              ITU-T G.9701 clause 11.4.4.7.3.1";
    
            leaf inminpeq-index {
              type uint8 {
                range "1..17";
              }
              description
                "Identifies the INMAINPEQ histogram bin.";
            }
    
            leaf inminpeq {
              type bbf-yang:performance-counter32;
              description
                "Count of the INMAINPEQ anomalies.";
            }
          }  // list inminpeq
    
          leaf inmame {
            if-feature bbf-fast:impulse-noise-monitoring;
            type bbf-yang:performance-counter32;
            description
              "Reports the count of the INMAME anomalies occurring on the
    line during the accumulation period.";
            reference
              "ITU-T G.997.2 clause 7.7.28.2 (CURR/PREV_NE/FE_15/24_INMAME);
              ITU-T G.9701 clause 11.4.4.7.3.2";
    
          }
    
          list inmiat {
            if-feature bbf-fast:impulse-noise-monitoring;
            key "inminiat-index";
            description
              "Reports the count of the INMAIATi anomalies occurring on the
    line during the accumulation period.";
            reference
              "ITU-T G.997.2 clause 7.7.28.3 (CURR/PREV_NE/FE_15/24_INMIAT);
              ITU-T G.9701 clause 11.4.4.7.3.3";
    
            leaf inminiat-index {
              type uint8 {
                range "0..7";
              }
              description
                "Identifies the INMAIAT histogram bin.";
            }
    
            leaf inmiat {
              type bbf-yang:performance-counter32;
              description
                "Count of the INMAIAT anomalies.";
            }
          }  // list inmiat
    
          leaf inmblfc {
            if-feature bbf-fast:impulse-noise-monitoring;
            type bbf-yang:performance-counter32;
            description
              "Reports the count of the INMBLFC anomalies occurring on the
    line during the accumulation period.";
            reference
              "ITU-T G.997.2 clause 7.7.28.4
              (CURR/PREV_NE/FE_15/24_INMBLFC);
              ITU-T G.9701 clause 11.4.4.7.3.4";
    
          }
    
          leaf successful-rmcr {
            if-feature bbf-fast:rmcr;
            type bbf-yang:performance-counter32;
            description
              "Reports a count of the successful Robust Management Channel
    Recovery (RMCR) primitives (success_RMCR).";
            reference
              "ITU-T G.997.2 clause 7.7.31 (CURR/PREV_NE/FE_15/24_RMCR);
              ITU-T G.9701 clause 11.3.1.6";
    
          }
        }  // grouping line-performance-parameters
    
        grouping line-performance-15min-parameters {
          description
            "Defines the 15 minute performance parameters for FAST lines.";
          leaf errored-seconds {
            type seconds-counter-15min;
            description
              "Reports the count of errored seconds (ES).";
            reference
              "ITU-T G.997.2 clause 7.7.8 (CURR/PREV_NE/FE_15/24_ES);
              ITU-T G.9701 clause 11.4.4.2";
    
          }
    
          leaf severely-errored-seconds {
            type seconds-counter-15min;
            description
              "Reports the count of severely errored seconds (SES).";
            reference
              "ITU-T G.997.2 clause 7.7.9 (CURR/PREV_NE/FE_15/24_SES);
              ITU-T G.9701 clause 11.4.4.3";
    
          }
    
          leaf loss-of-signal-seconds {
            type seconds-counter-15min;
            description
              "Reports the count of loss of signal (los) seconds (LOSS).";
            reference
              "ITU-T G.997.2 clause 7.7.10 (CURR/PREV_NE/FE_15/24_LOSS);
              ITU-T G.9701 clause 11.4.4.4";
    
          }
    
          leaf loss-of-rmc-seconds {
            type seconds-counter-15min;
            description
              "Reports the count of loss of Robust Managmenet Channel (RMC)
    (lor) seconds (LORS).";
            reference
              "ITU-T G.997.2 clause 7.7.11 (CURR/PREV_NE/FE_15/24_LORS);
              ITU-T G.9701 clause 11.4.4.5";
    
          }
    
          leaf unavailable-seconds {
            type seconds-counter-15min;
            description
              "Reports the count of unavailable seconds (UAS).";
            reference
              "ITU-T G.997.2 clause 7.7.12 (CURR/PREV_NE/FE_15/24_UAS);
              ITU-T G.9701 clause 11.4.4.6";
    
          }
        }  // grouping line-performance-15min-parameters
    
        grouping line-performance-24hr-parameters {
          description
            "Defines the 24 hour performance parameters for FAST lines.";
          leaf errored-seconds {
            type seconds-counter-24hr;
            description
              "Reports the count of errored seconds (ES).";
            reference
              "ITU-T G.997.2 clause 7.7.8 (CURR/PREV_NE/FE_15/24_ES);
              ITU-T G.9701 clause 11.4.4.2";
    
          }
    
          leaf severely-errored-seconds {
            type seconds-counter-24hr;
            description
              "Reports the count of severely errored seconds (SES).";
            reference
              "ITU-T G.997.2 clause 7.7.9 (CURR/PREV_NE/FE_15/24_SES);
              ITU-T G.9701 clause 11.4.4.3";
    
          }
    
          leaf loss-of-signal-seconds {
            type seconds-counter-24hr;
            description
              "Reports the count of Loss of Signal (LOS) seconds (LOSS).";
            reference
              "ITU-T G.997.2 clause 7.7.10 (CURR/PREV_NE/FE_15/24_LOSS);
              ITU-T G.9701 clause 11.4.4.4";
    
          }
    
          leaf loss-of-rmc-seconds {
            type seconds-counter-24hr;
            description
              "Reports the count of Loss of Robust Management Channel (RMC)
    (LOS) seconds (LORS).";
            reference
              "ITU-T G.997.2 clause 7.7.11 (CURR/PREV_NE/FE_15/24_LORS);
              ITU-T G.9701 clause 11.4.4.5";
    
          }
    
          leaf unavailable-seconds {
            type seconds-counter-24hr;
            description
              "Reports the count of unavailable seconds (UAS).";
            reference
              "ITU-T G.997.2 clause 7.7.12 (CURR/PREV_NE/FE_15/24_UAS);
              ITU-T G.9701 clause 11.4.4.6";
    
          }
        }  // grouping line-performance-24hr-parameters
    
        grouping line-performance {
          description
            "Defines the parameters required for performance
    management of FAST lines.";
          container performance {
            description
              "Performance parameters.";
            container intervals-15min {
              description
                "15 minute interval performance history.";
              container current {
                description
                  "Contains the counts that are currently accumulating.";
                container ftu-o {
                  description
                    "Fast Transceiver Unit - central Office (FTU-O).";
                  uses performance-history-measured-time;
    
                  uses line-performance-parameters;
    
                  uses line-performance-15min-parameters;
    
                  uses line-performance-ftu-o-parameters;
    
                  uses line-performance-ftu-o-15min-parameters;
                }  // container ftu-o
    
                container ftu-r {
                  description
                    "Fast Transceiver Unit - Remote side (FTU-R).";
                  uses performance-history-measured-time;
    
                  uses line-performance-parameters;
    
                  uses line-performance-15min-parameters;
                }  // container ftu-r
              }  // container current
    
              uses performance-15min-history-parameters;
    
              list history {
                key "interval-number";
                max-elements 96;
                description
                  "A history of 15 minute intervals.";
                leaf interval-number {
                  type performance-15min-history-interval;
                  description
                    "The number of the interval relative to the current
    interval.";
                }
    
                container ftu-o {
                  description
                    "Fast Transceiver Unit - central Office (FTU-O).";
                  uses performance-history-15min-interval-parameters;
    
                  uses line-performance-parameters;
    
                  uses line-performance-15min-parameters;
    
                  uses line-performance-ftu-o-parameters;
    
                  uses line-performance-ftu-o-15min-parameters;
                }  // container ftu-o
    
                container ftu-r {
                  description
                    "Fast Transceiver Unit - Remote side (FTU-R).";
                  uses performance-history-15min-interval-parameters;
    
                  uses line-performance-parameters;
    
                  uses line-performance-15min-parameters;
                }  // container ftu-r
              }  // list history
            }  // container intervals-15min
    
            container intervals-24hr {
              if-feature bbf-fast:performance-24hr;
              description
                "24 hour interval performance history.";
              container current {
                description
                  "Contains the counts that are currently accumulating.";
                container ftu-o {
                  description
                    "Fast Transceiver Unit - central Office (FTU-O).";
                  uses performance-history-measured-time;
    
                  uses line-performance-parameters;
    
                  uses line-performance-24hr-parameters;
    
                  uses line-performance-ftu-o-parameters;
    
                  uses line-performance-ftu-o-24hr-parameters;
                }  // container ftu-o
    
                container ftu-r {
                  description
                    "Fast Transceiver Unit - Remote side (FTU-R).";
                  uses performance-history-measured-time;
    
                  uses line-performance-parameters;
    
                  uses line-performance-24hr-parameters;
                }  // container ftu-r
              }  // container current
    
              uses performance-24hr-history-parameters;
    
              list history {
                key "interval-number";
                max-elements 7;
                description
                  "A history of 24 hour intervals.";
                leaf interval-number {
                  type performance-24hr-history-interval;
                  description
                    "The number of the interval relative to the current
    interval.";
                }
    
                container ftu-o {
                  description
                    "Fast Transceiver Unit - central Office (FTU-O).";
                  uses performance-history-24hr-interval-parameters;
    
                  uses line-performance-parameters;
    
                  uses line-performance-24hr-parameters;
    
                  uses line-performance-ftu-o-parameters;
    
                  uses line-performance-ftu-o-24hr-parameters;
                }  // container ftu-o
    
                container ftu-r {
                  description
                    "Fast Transceiver Unit - Remote side (FTU-R).";
                  uses performance-history-24hr-interval-parameters;
    
                  uses line-performance-parameters;
    
                  uses line-performance-24hr-parameters;
                }  // container ftu-r
              }  // list history
            }  // container intervals-24hr
          }  // container performance
        }  // grouping line-performance
    
        grouping channel-test-parameters {
          description
            "Defines channel test parameters.";
          leaf error-free-bits {
            type error-free-bits-count;
            description
              "Reports the number of error-free bits passed over the alpha
    reference point at the receiver, divided by 65536.";
            reference
              "ITU-T G.997.2 clause 7.11.5.1-7.11.5.4 (EFB-C15M,
              EFB-P15M,EFB-C24H,EFB-P24H);
              ITU-T G.9701 clause 11.4.1.1.6";
    
          }
    
          leaf minimum-error-free-throughput {
            type error-free-throughput;
            description
              "Reports the minimum error-free throughput.";
            reference
              "ITU-T G.997.2 clause 7.11.5.5-7.11.5.8 (MINEFTR-C15M,
              MINEFTR-P15M,MINEFTR-C24H,MINEFTR-P24H);
              ITU-T G.9701 clause 11.4.1.1.3";
    
          }
        }  // grouping channel-test-parameters
    
        grouping channel-performance-parameters {
          description
            "Defines the performance parameters for FAST bearer
    channels.";
          uses channel-test-parameters;
    
          leaf code-violations {
            type bbf-yang:performance-counter32;
            description
              "Reports a count of the cyclic redundancy check anomalies
    (CRC).";
            reference
              "ITU-T G.997.2 clause 7.8.4 (CURR/PREV_NE/FE_15/24_CV);
              ITU-T G.9701 clause 11.3.1.1";
    
          }
    
          leaf uncorrected-dtus {
            type bbf-yang:performance-counter32;
            description
              "Reports a count of the uncorrected Data Transfer Unit (DTU)
    anomalies (rtx-uc).";
            reference
              "ITU-T G.997.2 clause 7.8.5 (CURR/PREV_NE/FE_15/24_RTXUC);
              ITU-T G.9701 clause 11.3.1.1";
    
          }
    
          leaf retransmitted-dtus {
            type bbf-yang:performance-counter32;
            description
              "Reports a count of the retransmitted Data Transfer Unit (DTU)
    anomalies (rtx-tx).";
            reference
              "ITU-T G.997.2 clause 7.8.6 (CURR/PREV_NE/FE_15/24_RTXTX);
              ITU-T G.9701 clause 11.3.1.1";
    
          }
    
          leaf minimum-andeftr {
            if-feature bbf-fast:andeftr;
            type bbf-yang:data-rate32;
            description
              "Reports the minimum All NOI with Data symbols Error-Free
    Throughput Rate (ANDEFTR) over the associated time
    interval.";
            reference
              "ITU-T G.997.2 clause 7.8.9
              (MINANDEFTR_CURR/PREV_NE/FE_15/24)";
    
          }
    
          leaf maximum-andeftr {
            if-feature bbf-fast:andeftr;
            type bbf-yang:data-rate32;
            description
              "Reports the maximum All NOI with Data symbols Error-Free
    Throughput Rate (ANDEFTR) over the associated time
    interval.";
            reference
              "ITU-T G.997.2 clause 7.8.10
              (MAXANDEFTR_CURR/PREV_NE/FE_15/24)";
    
          }
    
          leaf sum-andeftr {
            if-feature bbf-fast:andeftr;
            type uint32;
            units "65536 bits";
            description
              "Reports the sum of All NOI with Data symbols Error-Free
    Throughput Rate (ANDEFTR) bits, divided by 65536, over the
    associated time interval.
    
    Note: SUMANDEFTR and ANDEFTRDS can be used to compute the
          mean of ANDEFTR.";
            reference
              "ITU-T G.997.2 clause 7.8.11
              (SUMANDEFTR_CURR/PREV_NE/FE_15/24)";
    
          }
        }  // grouping channel-performance-parameters
    
        grouping channel-performance-parameters-15min {
          description
            "Defines the 15 minute performance parameters for FAST bearer
    channels.";
          leaf low-andeftr-seconds {
            if-feature bbf-fast:andeftr;
            type seconds-counter-15min;
            description
              "Reports the count of Low All NOI with Data symbols Error-Free
    Throughput Rate (ANDEFTR) seconds.";
            reference
              "ITU-T G.997.2 clause 7.8.7 (CURR/PREV_NE/FE_15_LANDEFTRS)";
    
          }
    
          leaf andeftr-defined-seconds {
            if-feature bbf-fast:andeftr;
            type seconds-counter-15min;
            description
              "Reports the count of All NOI with Data symbols Error-Free
    Throughput Rate (ANDEFTR) defined seconds.";
            reference
              "ITU-T G.997.2 clause 7.8.8 (CURR/PREV_NE/FE_15_ANDEFTRDS)";
    
          }
    
          leaf high-utilization-seconds {
            if-feature bbf-fast:high-utilization-seconds;
            type seconds-counter-15min;
            description
              "Reports the count of High Utilization Seconds (HUS).";
            reference
              "ITU-T G.997.2 clause T.5.1.1 (CURR/PREV_NE/FE_15_DTA_HUS);
              ITU-T G.9701 clauses T.4.2 and T.4.3";
    
          }
        }  // grouping channel-performance-parameters-15min
    
        grouping channel-performance-parameters-24hr {
          description
            "Defines the 24 hour performance parameters for FAST bearer
    channels.";
          leaf low-andeftr-seconds {
            if-feature bbf-fast:andeftr;
            type seconds-counter-24hr;
            description
              "Reports the count of Low All NOI with Data symbols Error-Free
    Throughput Rate (ANDEFTR) seconds.";
            reference
              "ITU-T G.997.2 clause 7.8.7 (CURR/PREV_NE/FE_24_LANDEFTRS)";
    
          }
    
          leaf andeftr-defined-seconds {
            if-feature bbf-fast:andeftr;
            type seconds-counter-24hr;
            description
              "Reports the count of All NOI with Data symbols Error-Free
    Throughput Rate (ANDEFTR) defined seconds.";
            reference
              "ITU-T G.997.2 clause 7.8.8 (CURR/PREV_NE/FE_24_ANDEFTRDS)";
    
          }
    
          leaf high-utilization-seconds {
            if-feature bbf-fast:high-utilization-seconds;
            type seconds-counter-24hr;
            description
              "Reports the count of High Utilization Seconds (HUS).";
            reference
              "ITU-T G.997.2 clause T.5.1.1 (CURR/PREV_NE/FE_24_DTA_HUS);
              ITU-T G.9701 clauses T.4.2 and T.4.3";
    
          }
        }  // grouping channel-performance-parameters-24hr
    
        grouping channel-performance {
          description
            "Defines the parameters required for performance
    management of FAST lines.";
          container performance {
            description
              "Performance parameters.";
            container intervals-15min {
              description
                "15 minute interval performance history.";
              container current {
                description
                  "Contains the counts that are currently accumulating.";
                container ftu-o {
                  description
                    "Fast Transceiver Unit - central Office.";
                  uses performance-history-measured-time;
    
                  uses channel-performance-parameters;
    
                  uses channel-performance-parameters-15min;
                }  // container ftu-o
    
                container ftu-r {
                  description
                    "Fast Transceiver Unit - Remote side.";
                  uses performance-history-measured-time;
    
                  uses channel-performance-parameters;
    
                  uses channel-performance-parameters-15min;
                }  // container ftu-r
              }  // container current
    
              uses performance-15min-history-parameters;
    
              list history {
                key "interval-number";
                max-elements 96;
                description
                  "A history of 15 minute intervals.";
                leaf interval-number {
                  type performance-15min-history-interval;
                  description
                    "The number of the interval relative to the current
    interval.";
                }
    
                container ftu-o {
                  description
                    "Fast Transceiver Unit - central Office.";
                  uses performance-history-15min-interval-parameters;
    
                  uses channel-performance-parameters;
    
                  uses channel-performance-parameters-15min;
                }  // container ftu-o
    
                container ftu-r {
                  description
                    "Fast Transceiver Unit - Remote side.";
                  uses performance-history-15min-interval-parameters;
    
                  uses channel-performance-parameters;
    
                  uses channel-performance-parameters-15min;
                }  // container ftu-r
              }  // list history
            }  // container intervals-15min
    
            container intervals-24hr {
              if-feature bbf-fast:performance-24hr;
              description
                "24 hour interval performance history.";
              container current {
                description
                  "Contains the counts that are currently accumulating.";
                container ftu-o {
                  description
                    "Fast Transceiver Unit - central Office.";
                  uses performance-history-measured-time;
    
                  uses channel-performance-parameters;
    
                  uses channel-performance-parameters-24hr;
                }  // container ftu-o
    
                container ftu-r {
                  description
                    "Fast Transceiver Unit - Remote side.";
                  uses performance-history-measured-time;
    
                  uses channel-performance-parameters;
    
                  uses channel-performance-parameters-24hr;
                }  // container ftu-r
              }  // container current
    
              uses performance-24hr-history-parameters;
    
              list history {
                key "interval-number";
                max-elements 7;
                description
                  "A history of 24 hour intervals.";
                leaf interval-number {
                  type performance-24hr-history-interval;
                  description
                    "The number of the interval relative to the current
    interval.";
                }
    
                container ftu-o {
                  description
                    "Fast Transceiver Unit - central Office.";
                  uses performance-history-24hr-interval-parameters;
    
                  uses channel-performance-parameters;
    
                  uses channel-performance-parameters-24hr;
                }  // container ftu-o
    
                container ftu-r {
                  description
                    "Fast Transceiver Unit - Remote side.";
                  uses performance-history-24hr-interval-parameters;
    
                  uses channel-performance-parameters;
    
                  uses channel-performance-parameters-24hr;
                }  // container ftu-r
              }  // list history
            }  // container intervals-24hr
          }  // container performance
        }  // grouping channel-performance
    
        grouping channel-status-parameters {
          description
            "Bearer channel status parameters applicable to both
    upstream and downstream.";
          leaf net-data-rate {
            type bbf-yang:data-rate32-or-undetermined;
            description
              "Reports the Net Data Rate (NDR). A special value
    (undetermined) indicates that the NDR is undetermined. This
    is updated only in L0 link state.";
            reference
              "ITU-T G.997.2 clause 7.11.1.1 (NDR);
              ITU-T G.9701 clause 11.4.1.1.1";
    
          }
    
          leaf net-data-rate-in-l2.1 {
            type bbf-yang:data-rate32-or-undetermined;
            description
              "Reports the Net Data Rate (NDR) in L2.1N and L2.1B link
    states. A special value (undetermined) indicates that the NDR
    is undetermined. This is updated only in L2.1N and L2.1B link
    states.";
            reference
              "ITU-T G.997.2 clause 7.11.6.1 (L2.1-NDRds/us);
              ITU-T G.9701 clause 11.4.1.1.12";
    
          }
    
          leaf net-data-rate-in-l2.2 {
            type bbf-yang:data-rate32-or-undetermined;
            description
              "Reports the Net Data rate (NDR) in L2.2 link state. A special
    value (undetermined) indicates that the NDR is undetermined.
    This is updated only in L2.2 link state.";
            reference
              "ITU-T G.997.2 clause 7.11.6.2 (L2.2-NDRds/us);
              ITU-T G.9701 clause 11.4.1.1.13";
    
          }
    
          leaf expected-throughput {
            type bbf-yang:data-rate32-or-undetermined;
            description
              "Reports the expected throughput (ETR). A special value
    (undetermined) indicates that the NDR is undetermined. This
    is updated only in L0 link state.";
            reference
              "ITU-T G.997.2 clause 7.11.1.2 (ETR);
              ITU-T G.9701 clause 11.4.1.1.3";
    
          }
    
          leaf expected-throughput-in-l2.1 {
            type bbf-yang:data-rate32-or-undetermined;
            description
              "Reports the expected throughput (ETR) in L2.1N and L2.1B link
    state. A special value (undetermined) indicates that the
    expected throughput is undetermined. This is updated only in
    L2.1N and L2.1B link states.";
            reference
              "ITU-T G.997.2 clause 7.11.6.3 (L2.1-ETRds/us);
              ITU-T G.9701 clause 11.4.1.1.14";
    
          }
    
          leaf expected-throughput-in-l2.2 {
            type bbf-yang:data-rate32-or-undetermined;
            description
              "Reports the expected throughput (ETR) in L2.2 link state as
    defined. A special value (undetermined) indicates that the
    expected throughput is undetermined. This is updated only in
    L2.2 link state.";
            reference
              "ITU-T G.997.2 clause 7.11.6.4 (L2.2-ETRds/us);
              ITU-T G.9701 clause 11.4.1.1.15";
    
          }
    
          leaf gamma-data-rate {
            type bbf-yang:data-rate32-or-undetermined;
            description
              "Reports the Net Data Rate (NDR) lowered by any throughput
    capability limitations remaining in the Dynamic Resource
    Allocation (DRA) or L2+ functions, assuming no user data is
    transmitted over all the other lines. A special value
    (undetermined) indicates that the NDR is undetermined. This
    is updated only in L0 link state.";
            reference
              "ITU-T G.997.2 clauses 7.11.1.1 (NDR) and 7.11.1.3 (GDR)";
    
          }
    
          leaf attainable-net-data-rate {
            type bbf-yang:data-rate32-or-undetermined;
            description
              "Reports the attainable Net Data Rate (ATTNDR). A special
    value (undetermined) indicates that the attainable NDR is
    undetermined. This is updated only in L0 link state.";
            reference
              "ITU-T G.997.2 clause 7.11.2.1 (ATTNDR);
              ITU-T G.9701 clause 11.4.1.1.2";
    
          }
    
          leaf attainable-expected-throughput {
            type bbf-yang:data-rate32-or-undetermined;
            description
              "Reports the attainable expected throughput (ATTETR). A
    special value (undetermined) indicates that the attainable
    expected throughput is undetermined. This is updated only in
    L0 link state.";
            reference
              "ITU-T G.997.2 clause 7.11.2.2 (ATTETR);
              ITU-T G.9701 clause 11.4.1.1.4";
    
          }
    
          leaf attainable-gamma-data-rate {
            type bbf-yang:data-rate32-or-undetermined;
            description
              "Reports the attainable Net Data Rate (ATTNDR) lowered by any
    throughput capability limitations remaining in the Dynamic
    Resource Allocation (DRA) or L2+ functions, assuming no user
    data is transmitted over all the other Lines, and assuming
    Maximum Gamma Data Rate (MAXGDR) is configured to its maximum
    valid value. A special value (undetermined) indicates that
    the attainable Gamma Data Rate (ATTGDR) is undetermined. This
    is updated only in L0 link state.";
            reference
              "ITU-T G.997.2 clauses 7.2.1.3 (MAXGDR), 7.11.2.2 (ATTNDR) and
              7.11.2.3 (ATTGDR)";
    
          }
    
          leaf actual-inp-against-shine {
            type uint16 {
              range "0..2046 | 2047";
            }
            units "symbols";
            description
              "Reports the actual Impulse Noise Protection (ACTINP) against
    Single High Output Noise Event (SHINE). A special value,
    2047, indicates an actual INP against SHINE of 2047 symbols
    or higher.";
            reference
              "ITU-T G.997.2 clause 7.11.3.1 (ACTINP);
              ITU-T G.9701 clause 11.4.1.1.4";
    
          }
    
          leaf actual-inp-against-rein {
            type uint8 {
              range "0..62 | 63";
            }
            units "symbols";
            description
              "Reports the actual Impulse Noise Protection (ACTINP) against
    Repetitive Electrical Impulse Noise (REIN). A special value
    indicates an actual INP against REIN of 63 symbols or
    higher.";
            reference
              "ITU-T G.997.2 clause 7.11.3.2 (ACTINP_REIN);
              ITU-T G.9701 clause 11.4.1.1.5)";
    
          }
    
          leaf dtu-fec-codeword-length {
            type uint8 {
              range "32..255";
            }
            units "bytes";
            description
              "Reports the Data Transfer Unit (DTU) Forward Error
    Correction (FEC) codeword length.";
            reference
              "ITU-T G.997.2 clause 7.11.4.1 (DTU-NFEC);
              ITU-T G.9701 clause 9.3";
    
          }
    
          leaf dtu-fec-redundancy {
            type uint8 {
              range
                "2 | 4 | 6 | 8 | 10 | 12 | 16";
            }
            units "bytes";
            description
              "Reports the Data Transfer Unit (DTU) Forward Error
    Correction (FEC) codeword redundancy.";
            reference
              "ITU-T G.997.2 clause 7.11.4.2 (DTU-RFEC);
              ITU-T G.9701 clause 9.3";
    
          }
    
          leaf fec-codewords-per-dtu {
            type uint8 {
              range "1..16";
            }
            description
              "Reports the number of Forward Error Correction (FEC)
    codewords per Data Transfer Unit (DTU).";
            reference
              "ITU-T G.997.2 clause 7.11.4.3 (DTU_Q);
              ITU-T G.9701 clause 9.3";
    
          }
        }  // grouping channel-status-parameters
    
        grouping channel-status {
          description
            "Defines the parameters that define the operational status
    of a FAST bearer channel.";
          container downstream {
            description
              "Downstream channel status.";
            uses channel-status-parameters;
          }  // container downstream
    
          container upstream {
            description
              "Upstream channel status.";
            uses channel-status-parameters;
          }  // container upstream
        }  // grouping channel-status
    
        grouping ftu-inventory-parameters {
          description "Inventory parameters.";
          reference
            "ITU-T G.997.2 clause 7.13";
    
          leaf g.994.1-vendor-id {
            type binary {
              length "8";
            }
            description
              "Reports the ITU-T G.994.1 vendor ID as inserted by the
    FAST Transceiver Unit - central Office (FTU-O) or FAST
    Transceiver Unit - Remote side (FTU-R) in the ITU-T G.994.1
    CL message.";
            reference
              "ITU-T G.997.2 clauses 7.13.1.1 (FTUO_GHS_VENDOR) and
              7.13.1.2 (FTUR_GHS_VENDOR);
              ITU-T G.994.1 clause 9.3.3.1";
    
          }
    
          leaf version-number {
            type binary {
              length "0..16";
            }
            description
              "Reports the version number as inserted by the FAST
    Transceiver Unit - central Office (FTU-O) or FAST Transceiver
    Unit - Remote side (FTU-R) in the embedded operations
    channel. It is for version control and is vendor specific
    information.";
            reference
              "ITU-T G.997.2 clauses 7.13.1.3 (FTUO_VERSION) and clause
              7.13.1.4 (FTUR_VERSION);
              ITU-T G.9701 clause 11.2.2.10";
    
          }
    
          leaf self-test-result {
            type binary;
            description
              "Reports the results from the most recent self-test
    procedure, initiated at power-up The first octet of the
    self-test result is 00hex if the self-test passed and 01hex
    if the self-test failed. The interpretation of the other
    octets is vendor discretionary and can be interpreted in
    combination with the FAST Transceiver Unit - central Office
    (FTU-O) or FAST Transceiver Unit - Remote side (FTU-R) ITU-T
    G.994.1 vendor ID and system vendor ID.";
            reference
              "ITU-T G.997.2 clauses 7.13.1.5 (FTUO_SELFTEST) and clause
              7.13.1.6 (FTUR_SELFTEST);
              ITU-T G.9701 clause 12.1.2";
    
          }
    
          leaf system-vendor-id {
            type binary {
              length "8";
            }
            description
              "Reports the FAST Transceiver Unit (FTU) system vendor ID as
    inserted by the FAST Transceiver Unit - central Office
    (FTU-O) or FAST Transceiver Unit - Remote side (FTU-R) in the
    embedded operations channel.";
            reference
              "ITU-T G.997.2 clauses 7.13.2.1 (DPU_SYSTEM_VENDOR) and
              clause 7.13.2.2 (NT_SYSTEM_VENDOR);
              ITU-T G.9701 clause 11.2.2.10;
              ITU-T G.994.1 clause 9.3.3.1";
    
          }
    
          leaf system-serial-number {
            type binary {
              length "0..32";
            }
            description
              "Reports the FAST Transceiver Unit (FTU) serial number as
    inserted by the FAST Transceiver Unit - central Office
    (FTU-O) or FAST Transceiver Unit - Remote side (FTU-R) in the
    embedded operations channel. It is vendor specific
    information. The combination of system vendor ID and system
    serial number creates a unique number for each FTU system.";
            reference
              "ITU-T G.997.2 clauses 7.13.2.3 (DPU_SYSTEM_SERIALNR) and
              clause 7.13.2.4 (NT_SYSTEM_SERIALNR);
              ITU-T G.9701 clause 11.2.2.10";
    
          }
    
          leaf profiles-supported {
            type profiles;
            description
              "Reports for each profile whether the FAST Transceiver Unit
    (FTU) supports operation according to that profile.";
            reference
              "ITU-T G.997.2 clauses 7.13.1.7 (FTUO_PROFILES) and clause
              7.13.1.8 (FTUR_PROFILES);
              ITU-T G.9701 clause 6";
    
          }
    
          leaf annex-x-supported {
            if-feature bbf-fast:annex-x;
            type boolean;
            description
              "Indicates whether Annex X is supported by the FAST
    Transceiver Unit (FTU).";
            reference
              "ITU-T G.997.2 clause T.4.1 and T.4.2
              (ANNEX_X_SUPPORT_FTU_O/R);
              ITU-T G.9701 clause X.7.1.1.1 and X.7.1.2.1.";
    
          }
    
          leaf annex-d-supported {
            if-feature bbf-fast:annex-d;
            type boolean;
            description
              "Indicates whether Annex D is supported by the FAST
    Transceiver Unit (FTU).";
            reference
              "ITU-T G.997.2 clause T.4.4 and T.4.5
              (ANNEX_D_SUPPORT_FTU_O/R);
              ITU-T G.9701 clause D.6.1.1.1 and D.6.1.2.1.";
    
          }
    
          leaf srec-supported {
            if-feature bbf-fast:srec;
            type boolean;
            description
              "Indicates whether Showtime Reconfiguration (SREC) is
    supported by the FAST Transceiver Unit (FTU).";
            reference
              "ITU-T G.997.2 clause 7.13.1.9 and 7.13.1.10
              (ANNEX_R_SUPPORT_FTU_O/R);
              ITU-T G.9701 Annex R.";
    
          }
        }  // grouping ftu-inventory-parameters
    
        grouping ftu-o-inventory-parameters {
          description
            "Inventory parameters applicable only to the FAST Transceiver
    Unit - central Office (FTU-O).";
          leaf vce-id {
            type union {
              type enumeration {
                enum "not-in-vectored-group" {
                  value 0;
                  description
                    "The line is not in a vectored group.";
                }
              }
              type uint8 {
                range "1..255";
              }
            }
            description
              "For the line in a vectored group, the Vectoring Control
    Entity (VCE) ID uniquely identifies the VCE that manages and
    controls the vectored group to which the line belongs. It
    consists of one octet and valid ranges are from 1 to 255. A
    special value (not-in-vectored-group) means the line is not
    in a vectored group.";
            reference
              "ITU-T G.997.2 clause 7.13.2.5 (VCE_ID);
              ITU-T G.9701 clause 11.4.5.1.1";
    
          }
    
          leaf vce-port-index {
            type union {
              type enumeration {
                enum "not-in-vectored-group" {
                  value 0;
                  description
                    "The line is not in a vectored group.";
                }
              }
              type vce-port-index;
            }
            description
              "For the line in a vectored group, the Vectoring Control
    Entity (VCE) port index is the physical index that uniquely
    identifies the VCE port to which the line is connected. It
    is an integer from 1 to the maximum number of lines supported
    by the VCE. The combination of VCE ID and VCE port index
    creates a unique identifier for each vectored FAST
    Transceiver Unit - central Office (FTU-O)/-R. A special value
    (not-in-vectored-group) means the line is not in a vectored
    group.";
            reference
              "ITU-T G.997.2 clause 7.13.2.6 (VCE_PORT_INDEX);
              ITU-T G.9701 clause 11.4.5.1.2";
    
          }
    
          leaf idta-supported {
            if-feature (bbf-fast:dta and bbf-fast:annex-x);
            type boolean;
            description
              "Indicates whether independent Dynamic Time Assignment (iDTA)
    is supported by the FAST Transceiver Unit - central Office
    (FTU-O).";
            reference
              "ITU-T G.997.2 clause T.4.3 (DTA_SUPPORT_FTU_O);
              ITU-T G.9701 clause X.7.1.1.1";
    
          }
        }  // grouping ftu-o-inventory-parameters
    
        grouping ftu-inventory {
          description
            "Nodes defining the structure and content of FTU inventory.";
          container ftu-o {
            description
              "Inventory parameters reported by the FAST Transceiver Unit -
    central Office (FTU-O).";
            uses ftu-inventory-parameters;
    
            uses ftu-o-inventory-parameters;
          }  // container ftu-o
    
          container ftu-r {
            description
              "Inventory parameters reported by the FAST Transceiver Unit -
    Remote side (FTU-R).";
            uses ftu-inventory-parameters;
          }  // container ftu-r
        }  // grouping ftu-inventory
    
        // objects
        container fast {
          description "FAST configuration.";
          container service {
            description
              "Service profile configuration.";
          }  // container service
    
          container spectrum {
            description
              "Spectrum profile configuration.";
          }  // container spectrum
    
          container quality {
            description
              "Quality profile configuration.";
          }  // container quality
    
          container thresholds {
            description
              "Threshold configuration.";
          }  // container thresholds
    
          container vectors {
            description "Vectors of profiles.";
          }  // container vectors
        }  // container fast
    
        augment /if:interfaces/if:interface/bbf-fastdsl:line {
          when
            "bbf-fastdsl:configured-mode = 'bbf-fastdsl:mode-fast'" {
            description
              "Applicable when G.fast mode is configured.";
          }
          description
            "Data nodes for the configuration of FAST lines.";
          container line {
            presence
              "If present, indicates the interface is configured to operate
    in FAST mode.";
            description
              "Line configuration data for FAST interfaces.";
          }  // container line
        }
    
        augment /if:interfaces-state/if:interface/bbf-fastdsl:line {
          when
            "bbf-fastdsl:operational-mode = 'bbf-fastdsl:mode-fast'" {
            description
              "Applicable when G.fast is the current mode of operation.";
          }
          description
            "Data nodes for the operational state of FAST lines.";
          container line {
            presence
              "If present, indicates the interface is operating in FAST
    mode.";
            description
              "Line state data for FAST interfaces.";
            container channel {
              description
                "Bearer channel state data for FAST interfaces.";
            }  // container channel
          }  // container line
        }
    
        augment /bbf-fast:fast/bbf-fast:service {
          description
            "Data nodes for service-related configuration profiles.";
          list downstream-data-rate-profile {
            key "name";
            description
              "A list of downstream data rate profiles.";
            leaf name {
              type bbf-yang:string-ascii64;
              description
                "Uniquely identifies the profile.";
            }
    
            uses data-rate-profile;
          }  // list downstream-data-rate-profile
    
          list upstream-data-rate-profile {
            key "name";
            description
              "A list of upstream data rate profiles.";
            leaf name {
              type bbf-yang:string-ascii64;
              description
                "Uniquely identifies the profile.";
            }
    
            uses data-rate-profile;
          }  // list upstream-data-rate-profile
    
          list low-power-data-rate-profile {
            key "name";
            description
              "A list of low power data rate profiles.";
            leaf name {
              type bbf-yang:string-ascii64;
              description
                "Uniquely identifies the profile.";
            }
    
            uses low-power-data-rate-profile;
          }  // list low-power-data-rate-profile
        }
    
        augment /bbf-fast:fast/bbf-fast:spectrum {
          description
            "Data nodes for spectrum-related configuration
    profiles.";
          list line-spectrum-profile {
            key "name";
            description
              "A list of line spectrum profiles.";
            leaf name {
              type bbf-yang:string-ascii64;
              description
                "A name that uniquely identifies the
    profile.";
            }
    
            uses line-spectrum-profile;
          }  // list line-spectrum-profile
    
          list radio-frequency-interference-profile {
            key "name";
            description
              "A list of Radio Frequency Interference (RFI) profiles.";
            leaf name {
              type bbf-yang:string-ascii64;
              description
                "A name that uniquely identifies the profile.";
            }
    
            uses rfi-profile;
          }  // list radio-frequency-interference-profile
    
          list upstream-power-back-off-profile {
            key "name";
            description
              "A list of upstream power back-off profiles.";
            leaf name {
              type bbf-yang:string-ascii64;
              description
                "A name that uniquely identifies the profile.";
            }
    
            uses upstream-power-back-off-parameters;
          }  // list upstream-power-back-off-profile
        }
    
        augment /bbf-fast:fast/bbf-fast:quality {
          description
            "Data nodes for quality-related configuration profiles.";
          list noise-margin-profile {
            key "name";
            description
              "A list of noise margin profiles.";
            leaf name {
              type bbf-yang:string-ascii64;
              description
                "A name that uniquely identifies the profile.";
            }
    
            uses noise-margin-profile;
          }  // list noise-margin-profile
    
          list fast-rate-adaptation-profile {
            key "name";
            description
              "A list of fast rate adaptation profiles.";
            leaf name {
              type bbf-yang:string-ascii64;
              description
                "A name that uniquely identifies the profile.";
            }
    
            uses fast-rate-adaptation-profile;
          }  // list fast-rate-adaptation-profile
    
          list vectoring-profile {
            key "name";
            description
              "A list of vectoring profiles.";
            leaf name {
              type bbf-yang:string-ascii64;
              description
                "A name that uniquely identifies the profile.";
            }
    
            uses vectoring-profile;
          }  // list vectoring-profile
    
          list fast-retrain-policy-profile {
            key "name";
            description
              "A list of fast retrain policy profiles.";
            leaf name {
              type bbf-yang:string-ascii64;
              description
                "A name that uniquely identifies the profile.";
            }
    
            uses fast-retrain-policy-profile;
          }  // list fast-retrain-policy-profile
    
          list retransmission-profile {
            key "name";
            description
              "A list of retransmission profiles.";
            leaf name {
              type bbf-yang:string-ascii64;
              description
                "A name that uniquely identifies the profile.";
            }
    
            uses retransmission-profile;
          }  // list retransmission-profile
    
          list impulse-noise-monitoring-profile {
            if-feature bbf-fast:impulse-noise-monitoring;
            key "name";
            description
              "A list of impulse noise monitoring profiles.";
            leaf name {
              type bbf-yang:string-ascii64;
              description
                "A name that uniquely identifies the profile.";
            }
    
            uses impulse-noise-monitoring-profile;
          }  // list impulse-noise-monitoring-profile
        }
    
        augment /bbf-fast:fast/bbf-fast:service {
          description
            "Data nodes for TDD configuration profiles.";
          list time-division-duplexing-profile {
            key "name";
            description
              "A list of Time Division Duplexing (TDD) profiles.";
            leaf name {
              type bbf-yang:string-ascii64;
              description
                "A name that uniquely identifies the profile.";
            }
    
            uses tdd-profile;
          }  // list time-division-duplexing-profile
        }
    
        augment /bbf-fast:fast/bbf-fast:thresholds {
          description
            "Data nodes to support performance threshold profiles and
    templates.";
          list line-threshold-profile {
            key "name";
            description
              "Profile defining thresholds for line specific
    performance parameters.";
            leaf name {
              type bbf-yang:string-ascii64;
              description
                "Uniquely identifies the line threshold profile.";
            }
    
            uses line-thresholds;
          }  // list line-threshold-profile
    
          list channel-threshold-profile {
            key "name";
            description
              "Profile defining thresholds for bearer channel specific
    performance parameters.";
            leaf name {
              type bbf-yang:string-ascii64;
              description
                "Uniquely identifies the channel threshold profile.";
            }
    
            uses channel-thresholds;
          }  // list channel-threshold-profile
        }
    
        augment /if:interfaces-state/if:interface/bbf-fastdsl:line/bbf-fast:line {
          description
            "Augment the line to add threshold state data.";
          notification fast-15min-threshold-crossing-alert {
            description
              "A threshold has been crossed during the current 15 minute
    interval.";
            leaf tca-identity {
              type identityref {
                base fast-15min-threshold-crossing-alert;
              }
              mandatory true;
              description
                "A unique identity associated with each threshold.";
            }
          }  // notification fast-15min-threshold-crossing-alert
    
          notification fast-24hr-threshold-crossing-alert {
            if-feature performance-24hr;
            description
              "A threshold has been crossed during the current 24 hour
    interval.";
            leaf tca-identity {
              type identityref {
                base fast-24hr-threshold-crossing-alert;
              }
              mandatory true;
              description
                "A unique identity associated with each threshold.";
            }
          }  // notification fast-24hr-threshold-crossing-alert
        }
    
        augment /bbf-fast:fast/bbf-fast:vectors {
          description
            "Data nodes to support line configuration vectors.";
          list line-config-vector {
            key "name";
            description
              "A list of line configuration vectors also referred to as a
    vector of profiles (VoP).";
            leaf name {
              type bbf-yang:string-ascii64;
              description
                "Uniquely identifies the line configuration vector.";
            }
    
            uses profile-vector;
          }  // list line-config-vector
        }
    
        augment /bbf-fast:fast/bbf-fast:thresholds {
          description
            "Data nodes to support performance threshold profiles and
    templates.";
          list threshold-template {
            key "name";
            description
              "A template defining the threshold profiles to apply to
    performance parameters of a FAST interface.";
            leaf name {
              type bbf-yang:string-ascii64;
              description
                "Uniquely identifies the line configuration vector.";
            }
    
            leaf ftu-o-15min-line-threshold-profile {
              type line-threshold-profile-ref;
              mandatory true;
              description
                "Reference to a line threshold profile for FAST Transceiver
    Unit - central Office (FTU-O) thresholds related to 15
    minute performance counters.";
            }
    
            leaf ftu-o-24hr-line-threshold-profile {
              if-feature performance-24hr;
              type line-threshold-profile-ref;
              description
                "Reference to a line threshold profile for FAST Transceiver
    Unit - central Office (FTU-O) thresholds related to 24 hour
    performance counters.";
            }
    
            leaf ftu-r-15min-line-threshold-profile {
              type line-threshold-profile-ref;
              mandatory true;
              description
                "Reference to a line threshold profile for FAST Transceiver
    Unit - Remote side (FTU-R) thresholds related to 15 minute
    performance counters.";
            }
    
            leaf ftu-r-24hr-line-threshold-profile {
              if-feature performance-24hr;
              type line-threshold-profile-ref;
              description
                "Reference to a line threshold profile for FAST Transceiver
    Unit - Remote side (FTU-R) thresholds related to 24 hour
    performance counters.";
            }
    
            leaf ftu-o-15min-channel-threshold-profile {
              type channel-threshold-profile-ref;
              mandatory true;
              description
                "Reference to a channel threshold profile for FAST
    Transceiver Unit - central Office (FTU-O) thresholds
    related to 15 minute performance counters.";
            }
    
            leaf ftu-o-24hr-channel-threshold-profile {
              if-feature performance-24hr;
              type channel-threshold-profile-ref;
              description
                "Reference to a channel threshold profile for FAST
    Transceiver Unit - central Office (FTU-O) thresholds
    related to 24 hour performance counters.";
            }
    
            leaf ftu-r-15min-channel-threshold-profile {
              type channel-threshold-profile-ref;
              mandatory true;
              description
                "Reference to a channel threshold profile for FAST
    Transceiver Unit - Remote side (FTU-R) thresholds related
    to 15 minute performance counters.";
            }
    
            leaf ftu-r-24hr-channel-threshold-profile {
              if-feature performance-24hr;
              type channel-threshold-profile-ref;
              description
                "Reference to a channel threshold profile for FAST
    Transceiver Unit - Remote side (FTU-R) thresholds related
    to 24 hour performance counters.";
            }
          }  // list threshold-template
        }
    
        augment /if:interfaces/if:interface/bbf-fastdsl:line/bbf-fast:line {
          description
            "Data nodes to support the assignment of a profile vector.";
          choice profile-config {
            description
              "The method for configuring profiles used on this FAST line.
    If no method is configured, the default behavior is
    equivalent to the presence of 'no-profiles-attached'.";
            leaf no-profiles-attached {
              type empty;
              description
                "If present, indicates that no profiles are attached
    to this line.";
            }
    
            case direct-attachment-mode {
              uses profile-vector;
            }  // case direct-attachment-mode
            leaf line-config-vector {
              type line-config-vector-ref;
              mandatory true;
              description
                "Assigns a Line Configuration Vector to a FAST line.";
            }
          }  // choice profile-config
    
          leaf threshold-template {
            type threshold-template-ref;
            description
              "Assigns a threshold template to a FAST line. If no threshold
    template is assigned, threshold crossing alert (TCA)
    reporting for all thresholds is disabled.";
          }
    
          leaf srec-allowed {
            if-feature srec;
            type boolean;
            default "false";
            description
              "Indicates whether the Showtime Reconfiguration (SREC)
    procedures shall not be used (SREC_allowed = false), or the
    SREC procedures may be used (SREC_allowed = true) to force a
    new configuration onto the line. The conditions to use the
    SREC procedures are specified in Annex R of [ITU-T G.9701].";
            reference
              "ITU-T G.997.2 clause 7.1.13.1 (SREC_ALLOWED),
              ITU-T G.9701 Annex R.";
    
          }
        }
    
        augment /if:interfaces/if:interface/bbf-fastdsl:line/bbf-fast:line {
          description
            "Data nodes to support tests on the line.";
          container test-mode {
            description
              "Test modes associated with a line.";
            uses line-test-modes;
          }  // container test-mode
    
          container update-test {
            description
              "Update test parameters for a line.";
            uses line-update-test-parameters;
          }  // container update-test
    
          container read-test {
            description
              "Test parameter configuration for a line associated with
    how test parameters are read.";
            uses line-read-test-parameters;
          }  // container read-test
    
          container link-state {
            description
              "Link state test configuration.";
            uses link-state-test-parameters;
          }  // container link-state
        }
    
        augment /if:interfaces-state/if:interface/bbf-fastdsl:line/bbf-fast:line {
          description
            "Data nodes for the performance status parameters of FAST
    lines.";
          uses line-performance;
        }
    
        augment /if:interfaces-state/if:interface/bbf-fastdsl:line/bbf-fast:line/bbf-fast:channel {
          description
            "Data nodes for the performance status parameters of
    FAST bearer channels.";
          uses channel-performance;
        }
    
        augment /if:interfaces-state/if:interface/bbf-fastdsl:line/bbf-fast:line {
          description
            "Data nodes for the operational status of FAST lines.";
          container status {
            description "Status parameters.";
            uses line-status;
          }  // container status
        }
    
        augment /if:interfaces-state/if:interface/bbf-fastdsl:line/bbf-fast:line/bbf-fast:channel {
          description
            "Data nodes for the operational status of FAST bearer
    channels.";
          container status {
            description
              "Channel status parameters.";
            uses channel-status;
          }  // container status
        }
    
        augment /if:interfaces-state/if:interface/bbf-fastdsl:line/bbf-fast:line {
          description
            "Data nodes for the inventory parameters of FAST lines.";
          container inventory {
            description "Inventory parameters.";
            uses ftu-inventory;
          }  // container inventory
        }
    
        augment /if:interfaces-state/if:interface/bbf-fastdsl:line {
          if-feature availability;
          description
            "Augment the state data of an interface with operational status
    for availability.";
          uses bbf-avail:availability {
            refine availability {
              description
                "Operational status defining the availability of a FAST
    line.";
            }
          }
        }
      }  // module bbf-fast
    

© 2023 YumaWorks, Inc. All rights reserved.