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.";
        }
    
        // objects
        container fast {
          description "FAST configuration.";
          container service {
            description
              "Service profile configuration.";
            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.";
              }
    
              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)";
    
              }
            }  // 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.";
              }
    
              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)";
    
              }
            }  // 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.";
              }
    
              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.";
    
              }
    
              container downstream {
                description
                  "Downstream low power data rate parameters.";
                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.";
    
                }
              }  // container downstream
    
              container upstream {
                description
                  "Upstream low power data rate parameters.";
                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.";
    
                }
              }  // container upstream
            }  // list low-power-data-rate-profile
    
            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.";
              }
    
              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
            }  // list time-division-duplexing-profile
          }  // container service
    
          container spectrum {
            description
              "Spectrum profile configuration.";
            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.";
              }
    
              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.";
                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.";
    
                  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).";
                  }
                }  // 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";
    
                  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).";
                  }
                }  // list rmccarmask
    
                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.";
                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.";
    
                  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).";
                  }
                }  // 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";
    
                  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).";
                  }
                }  // list rmccarmask
    
                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
            }  // 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.";
              }
    
              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";
    
                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).";
                }
              }  // list rfiband
    
              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";
    
              }
            }  // 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.";
              }
    
              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";
    
              }
            }  // list upstream-power-back-off-profile
          }  // container spectrum
    
          container quality {
            description
              "Quality profile configuration.";
            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.";
              }
    
              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";
    
                  }
    
                  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";
    
                  }
                }  // container seamless-rate-adaptation
    
                container robust-management-channel {
                  description
                    "Robust Management Channel (RMC) parameters.";
                  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";
    
                  }
                }  // 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";
    
                  }
    
                  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";
    
                  }
                }  // container seamless-rate-adaptation
    
                container robust-management-channel {
                  description
                    "Robust Management Channel (RMC) parameters.";
                  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";
    
                  }
                }  // container robust-management-channel
              }  // container upstream
            }  // 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.";
              }
    
              container downstream {
                description
                  "Downstream Fast Rate Adaptation (FRA) profile.";
                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";
    
                }
              }  // container downstream
    
              container upstream {
                description
                  "Upstream Fast Rate Adaptation (FRA) profile.";
                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";
    
                }
              }  // container upstream
            }  // 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.";
              }
    
              container downstream {
                description
                  "Downstream vectoring parameters.";
                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)";
    
                }
    
                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";
    
                }
              }  // container downstream
    
              container upstream {
                description
                  "Upstream vectoring parameters.";
                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)";
    
                }
              }  // 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";
    
              }
            }  // 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.";
              }
    
              container downstream {
                description
                  "Downstream fast retrain policy parameters.";
                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)";
    
                }
              }  // container downstream
    
              container upstream {
                description
                  "Downstream fast retrain policy parameters.";
                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)";
    
                }
              }  // container upstream
            }  // 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.";
              }
    
              container downstream {
                description
                  "Downstream retransmission parameters.";
                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";
    
                }
              }  // container downstream
    
              container upstream {
                description
                  "Upstream retransmission parameters.";
                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";
    
                }
              }  // container upstream
            }  // 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.";
              }
    
              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.";
                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";
    
                }
              }  // container downstream
    
              container upstream {
                description
                  "Upstream impulse noise monitoring configuration.";
                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";
    
                }
              }  // container upstream
            }  // list impulse-noise-monitoring-profile
          }  // container quality
    
          container thresholds {
            description
              "Threshold configuration.";
            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.";
              }
    
              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";
    
              }
            }  // 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.";
              }
    
              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";
    
              }
            }  // list channel-threshold-profile
    
            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
          }  // container thresholds
    
          container vectors {
            description "Vectors of profiles.";
            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.";
              }
    
              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.";
              }
            }  // list line-config-vector
          }  // container vectors
        }  // container fast
      }  // module bbf-fast
    

© 2023 YumaWorks, Inc. All rights reserved.