bbf-fast

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

  • Version: 2020-10-13

    bbf-fast@2020-10-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:   Sowrirajan Padmanabhan, Nokia
    
    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-2020 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-355a3; see
    the TR itself for full legal notices.";
    
        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 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/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 clause
            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 "1 sub-carrier";
          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.1dB.";
        }
    
        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 "1000 bits 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 (see clause
    11.4.2.2/G.9701).";
                reference
                  "ITU-T G.997.2 clause 7.2.1.1 (MAXNDR).";
    
              }
    
              leaf minimum-expected-throughput {
                type bbf-yang:data-rate32;
                must
                  ". < ../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 (see
    clause 11.4.2.1/G.9701).";
                reference
                  "ITU-T G.997.2 clause 7.2.1.2 (MINETR).";
    
              }
    
              leaf maximum-gamma-data-rate {
                type bbf-yang:data-rate32;
                must
                  ". >= ../minimum-gamma-data-rate" {
                  description
                    "The maximum gamma data rate must be greater than or equal
    to the mimimum gamma data rate.";
                }
                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" {
                  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)
    (see clause 7.11.1.3/G.997.2). 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 clause 7.2.1.4 (MINGDR).";
    
              }
    
              container preferred-ndr {
                if-feature 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.9701 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" {
                    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.9701 clause T.2.7.";
    
                }
    
                leaf maximum-net-data-rate {
                  type bbf-yang:data-rate32;
                  default "4294967295";
                  description
                    "Defines the value of the maximum Net Datat Rate (NDR) for
    Dynamic Time Assignment (DTA) operation.";
                  reference
                    "ITU-T G.9701 clause D.5.7.5, X.6.7.5 and T.2.8";
    
                }
              }  // 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 (see clause
    11.4.2.2/G.9701).";
                reference
                  "ITU-T G.997.2 clause 7.2.1.1 (MAXNDR).";
    
              }
    
              leaf minimum-expected-throughput {
                type bbf-yang:data-rate32;
                must
                  ". < ../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 (see
    clause 11.4.2.1/G.9701).";
                reference
                  "ITU-T G.997.2 clause 7.2.1.2 (MINETR).";
    
              }
    
              leaf maximum-gamma-data-rate {
                type bbf-yang:data-rate32;
                must
                  ". >= ../minimum-gamma-data-rate" {
                  description
                    "The maximum gamma data rate must be greater than or equal
    to the mimimum gamma data rate.";
                }
                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" {
                  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)
    (see clause 7.11.1.3/G.997.2). 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 clause 7.2.1.4 (MINGDR).";
    
              }
    
              container preferred-ndr {
                if-feature 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.9701 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" {
                    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.9701 clause T.2.7.";
    
                }
    
                leaf maximum-net-data-rate {
                  type bbf-yang:data-rate32;
                  default "4294967295";
                  description
                    "Defines the value of the maximum Net Datat Rate (NDR) for
    Dynamic Time Assignment (DTA) operation.";
                  reference
                    "ITU-T G.9701 clause D.5.7.5, X.6.7.5 and T.2.8";
    
                }
              }  // 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)" {
                  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/64 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 (see Table 6-1/G.9701) plus one.";
                reference
                  "ITU-T G.997.2 clause 7.1.1.3 (CE);
                  ITU-T G.9701 clause 10.4.4";
    
              }
    
              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 clause T.2.1.2 (IDTA_ALLOWED);
                    ITU-T G.997.2 clause T.2.1.4 (CDTA_ALLOWED);
                    ITU-T G.9701 clauses X.6.7.2 and T.2.2;
                    ITU-T G.9701 clauses 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'" {
                    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'" {
                    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 second";
                  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'" {
                    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'" {
                    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 clause 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 (see clause Y.5.6).";
                    }
                    enum "one-step-only" {
                      value 1;
                      description
                        "Dynamic Resource Allocation (DRA) shall use the
    one-step Coordinated Dynamic Time Assignment (cDTA)
    procedure only (see clause Y.5.6).";
                    }
                    enum "two-step-only" {
                      value 2;
                      description
                        "Dynamic Resource Allocation (DRA) shall use the
    two-step procedure only (see clause Y.5.6). 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 clause T.2.9.";
    
                }
              }  // 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.1dBm";
                  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 clause 7.1.2.1 (MAXATPds) and clause 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 clause 7.1.2.3 (CARMASKds) and clause 7.1.2.4
                    (CARMASKus); ITU-T G.9701 Clause 7.3.1.3.";
    
                  leaf start-index {
                    type sub-carrier-index;
                    must ". <= ../stop-index" {
                      description
                        "The start index must be less than or equal to the stop
    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" {
                      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 rmccarmask;
                  key "start-index";
                  max-elements 2;
                  description
                    "Defines the 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 clause 7.1.2.16 (RMCCARMASKds) and clause
                    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;
                    must ". <= ../stop-index" {
                      description
                        "The start index must be less than or equal to the stop
    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" {
                      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])))))" {
                    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 clause 7.1.2.5 (MIBPSDMASKds) and clause
                    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 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.1dBm";
                  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 clause 7.1.2.1 (MAXATPds) and clause 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 clause 7.1.2.3 (CARMASKds) and clause 7.1.2.4
                    (CARMASKus); ITU-T G.9701 Clause 7.3.1.3.";
    
                  leaf start-index {
                    type sub-carrier-index;
                    must ". <= ../stop-index" {
                      description
                        "The start index must be less than or equal to the stop
    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" {
                      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 rmccarmask;
                  key "start-index";
                  max-elements 2;
                  description
                    "Defines the 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 clause 7.1.2.16 (RMCCARMASKds) and clause
                    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;
                    must ". <= ../stop-index" {
                      description
                        "The start index must be less than or equal to the stop
    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" {
                      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])))))" {
                    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 clause 7.1.2.5 (MIBPSDMASKds) and clause
                    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 classmask;
                  type enumeration {
                    enum "classmask1" {
                      value 0;
                      description
                        "Selects limit mask per 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;
                  must ". <= ../stop-index" {
                    description
                      "The start index must be less than or equal to the stop
    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" {
                    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
                  clause 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/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/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" {
                      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" {
                      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 (see clause 12.1.4.2/G.9701).";
                    reference
                      "ITU-T G.997.2 clause 7.1.3.4 (MINSNRMds);
                      ITU-T G.9701 clause 12.3.4.2.1.";
    
                  }
    
                  leaf target-noise-margin-in-l2 {
                    type uint16 {
                      range "0..310";
                    }
                    units "0.1 dB";
                    must
                      ". >= ../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
                      clause 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" {
                      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
                      clause 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" {
                      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 clause 7.1.4.1 (SRA-USNRMds) and clause
                      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 clause 7.1.10.4 (L2.1-SRA-USNRMds) and clause
                      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 "1 second";
                    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 clause 7.1.4.3 (SRA-UTIMEds) and clause
                      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 clause 7.1.10.6 (L2.1-SRA-DSNRMds) and clause
                      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 "1 second";
                    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 clause 7.1.4.7 (SRA-DTIMEds) and clause
                      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 clause 7.1.6.1 (TARSNRM-RMCds) and clause
                      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" {
                      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 clause 7.1.6.3 (MINSNRM-RMCds) and clause
                      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 clause 7.1.6.5 (MAXBL-RMCds) and clause
                      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" {
                      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" {
                      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 (see clause 12.1.4.2/G.9701).";
                    reference
                      "ITU-T G.997.2 clause 7.1.3.5 (MINSNRMus);
                      ITU-T G.9701 clause 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" {
                      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" {
                      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
                      clause 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" {
                      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
                      clause 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" {
                      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 clause 7.1.4.1 (SRA-USNRMds) and clause
                      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 clause 7.1.10.4 (L2.1-SRA-USNRMds) and clause
                      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 "1 second";
                    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 clause 7.1.4.3 (SRA-UTIMEds) and clause
                      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 clause 7.1.10.6 (L2.1-SRA-DSNRMds) and clause
                      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 "1 second";
                    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 clause 7.1.4.7 (SRA-DTIMEds) and clause
                      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 clause 7.1.6.1 (TARSNRM-RMCds) and clause
                      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" {
                      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 clause 7.1.6.3 (MINSNRM-RMCds) and clause
                      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 clause 7.1.6.5 (MAXBL-RMCds) and clause
                      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 "1 logical frame length";
                  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.
    (see clause 13.4.3.2/G.997.2).";
                  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 "percentage";
                  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
    (see clause 13.3.1.1.1.5).
    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
    (see clause 13.3.1.1.1.5).
    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 "1 logical frame length";
                  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.
    (see clause 13.4.3.2/G.997.2).";
                  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 "percentage";
                  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
    (see clause 13.3.1.1.1.5).
    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
    (see clause 13.3.1.1.1.5).
    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 clause 7.1.7.1 (FEXT_TO_CANCEL_ENABLEds) and
                    clause 7.1.7.2 (FEXT_TO_CANCEL_ENABLEus); ITU-T G.9701
                    clause 11.4.3.1.";
    
                }
    
                leaf tgvn-allowed {
                  if-feature 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 "1 sub-carrier";
                  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 clause 7.1.7.1 (FEXT_TO_CANCEL_ENABLEds) and
                    clause 7.1.7.2 (FEXT_TO_CANCEL_ENABLEus); ITU-T G.9701
                    clause 11.4.3.1.";
    
                }
    
                leaf tgvn-allowed {
                  if-feature 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.9701 clause 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')" {
                  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.9701 clause 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 second";
                  default "2";
                  description
                    "Defines the loss of signal (los) defect persistency for
    triggering a reinitialization (see clause 12.1.4.2) at the
    FAST Transceiver Unit (FTU) receiver, as part of the fast
    retrain policy.";
                  reference
                    "ITU-T G.997.2 clause 7.1.8.1 (LOS_PERSISTENCYds) and clause
                    7.1.8.2 (LOS_PERSISTENCYus); ITU-T G.9701 clause
                    12.1.4.3.1.";
    
                }
    
                leaf lom-defect-persistency {
                  type uint8 {
                    range "1..20";
                  }
                  units "1 second";
                  default "2";
                  description
                    "Defines the loss of margin (lom) defect persistency for
    triggering a reinitialization (see clause 12.1.4.2) at the
    FAST Transceiver Unit (FTU) receiver, as part of the fast
    retrain policy.";
                  reference
                    "ITU-T G.997.2 clause 7.1.8.3 (LOM_PERSISTENCYds) and clause
                    7.1.8.4 (LOM_PERSISTENCYus); ITU-T G.9701 clause
                    12.1.4.3.2.";
    
                }
    
                leaf lor-defect-persistency {
                  type uint8 {
                    range "1..20";
                  }
                  units "0.1 second";
                  default "2";
                  description
                    "Defines the loss of Robust Management Channel (RMC) (lor)
    defect persistency for triggering a reinitialization
    (see clause 12.1.4.2) at the FAST Transceiver Unit (FTU)
    receiver, as part of the fast retrain policy.";
                  reference
                    "ITU-T G.997.2 clause 7.1.8.5 (LOR_PERSISTENCYds) and clause
                    7.1.8.6 (LOR_PERSISTENCYus); ITU-T G.9701 clause
                    12.1.4.3.3.";
    
                }
    
                leaf reinit-time-threshold {
                  type uint8 {
                    range "5..31";
                  }
                  units "1 second";
                  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 (see clause 12.1.4.3.4) at the
    FAST Transceiver Unit (FTU) receiver, as part of the
    fast retrain policy.";
                  reference
                    "ITU-T G.997.2 clause 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 "1 second";
                  default "20";
                  description
                    "Defines the threshold for the low Expected Throughput Rate
    (ETR) condition for declaring a High_BER event
    (see clause 12.1.4.3.4) 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 rmcr;
                  type uint8 {
                    range "0..20";
                  }
                  units "50 ms";
                  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 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 second";
                  default "2";
                  description
                    "Defines the loss of signal (los) defect persistency for
    triggering a reinitialization (see clause 12.1.4.2) at the
    FAST Transceiver Unit (FTU) receiver, as part of the fast
    retrain policy.";
                  reference
                    "ITU-T G.997.2 clause 7.1.8.1 (LOS_PERSISTENCYds) and clause
                    7.1.8.2 (LOS_PERSISTENCYus); ITU-T G.9701 clause
                    12.1.4.3.1.";
    
                }
    
                leaf lom-defect-persistency {
                  type uint8 {
                    range "1..20";
                  }
                  units "1 second";
                  default "2";
                  description
                    "Defines the loss of margin (lom) defect persistency for
    triggering a reinitialization (see clause 12.1.4.2) at the
    FAST Transceiver Unit (FTU) receiver, as part of the fast
    retrain policy.";
                  reference
                    "ITU-T G.997.2 clause 7.1.8.3 (LOM_PERSISTENCYds) and clause
                    7.1.8.4 (LOM_PERSISTENCYus); ITU-T G.9701 clause
                    12.1.4.3.2.";
    
                }
    
                leaf lor-defect-persistency {
                  type uint8 {
                    range "1..20";
                  }
                  units "0.1 second";
                  default "2";
                  description
                    "Defines the loss of Robust Management Channel (RMC) (lor)
    defect persistency for triggering a reinitialization
    (see clause 12.1.4.2) at the FAST Transceiver Unit (FTU)
    receiver, as part of the fast retrain policy.";
                  reference
                    "ITU-T G.997.2 clause 7.1.8.5 (LOR_PERSISTENCYds) and clause
                    7.1.8.6 (LOR_PERSISTENCYus); ITU-T G.9701 clause
                    12.1.4.3.3.";
    
                }
    
                leaf reinit-time-threshold {
                  type uint8 {
                    range "5..31";
                  }
                  units "1 second";
                  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 (see clause 12.1.4.3.4) at the
    FAST Transceiver Unit (FTU) receiver, as part of the
    fast retrain policy.";
                  reference
                    "ITU-T G.997.2 clause 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 "1 second";
                  default "20";
                  description
                    "Defines the threshold for the low Expected Throughput Rate
    (ETR) condition for declaring a High_BER event
    (see clause 12.1.4.3.4) 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 rmcr;
                  type uint8 {
                    range "0..20";
                  }
                  units "50 ms";
                  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 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 millisecond";
                  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 "1 symbol period";
                  default "0";
                  description
                    "Defines the minimum impulse noise protection against Single
    High Impulse Noise Event (SHINE) (see clause 9.8/G.9701). The
    G.9701 control parameter INP_min_shine is set to the same
    value as the minimum impulse noise protection against SHINE
    (see clause 11.4.2.4/G.9701).";
                  reference
                    "ITU-T G.997.2 clause 7.2.2.2 (INPMIN_SHINE); ITU-T G.9701
                    clause 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) (see clause 9.8/G.9701).
    The G.9701 control parameter SHINEratio is set to the same
    value as the Single High Impulse Noise Event (SHINE) ratio
    (see clause 11.4.2.5/G.9701).";
                  reference
                    "ITU-T G.997.2 clause 7.2.2.3 (SHINERATIO); ITU-T G.9701
                    clause 11.4.2.5.";
    
                }
    
                leaf minimum-inp-against-rein {
                  type uint8 {
                    range "0..63";
                  }
                  units "1 symbol period";
                  default "0";
                  description
                    "Defines the minimum impulse noise protection against
    Repetitive Electrical Impulse Noise (REIN)
    (see clause 9.8/G.9701). The G.9701 control parameter
    INP_min_rein is set to the same value as the minimum impulse
    noise protection against REIN (see clause
    11.4.2.6/G.9701).";
                  reference
                    "ITU-T G.997.2 clause 7.2.2.4 (INPMIN_REIN); ITU-T G.9701
                    clause 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 (see clause 9.8/G.9701). The G.9701
    control parameter iat_rein_flag is set to the same value as
    the REIN inter-arrival time (see clause 11.4.2.7/G.9701).";
                  reference
                    "ITU-T G.997.2 clause 7.2.2.5 (IAT_REIN); ITU-T G.9701
                    clause 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 (see clause 11.4.2.8/G.9701).";
                  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 millisecond";
                  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 "1 symbol period";
                  default "0";
                  description
                    "Defines the minimum impulse noise protection against Single
    High Impulse Noise Event (SHINE) (see clause 9.8/G.9701). The
    G.9701 control parameter INP_min_shine is set to the same
    value as the minimum impulse noise protection against SHINE
    (see clause 11.4.2.4/G.9701).";
                  reference
                    "ITU-T G.997.2 clause 7.2.2.2 (INPMIN_SHINE); ITU-T G.9701
                    clause 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) (see clause 9.8/G.9701).
    The G.9701 control parameter SHINEratio is set to the same
    value as the Single High Impulse Noise Event (SHINE) ratio
    (see clause 11.4.2.5/G.9701).";
                  reference
                    "ITU-T G.997.2 clause 7.2.2.3 (SHINERATIO); ITU-T G.9701
                    clause 11.4.2.5.";
    
                }
    
                leaf minimum-inp-against-rein {
                  type uint8 {
                    range "0..63";
                  }
                  units "1 symbol period";
                  default "0";
                  description
                    "Defines the minimum impulse noise protection against
    Repetitive Electrical Impulse Noise (REIN)
    (see clause 9.8/G.9701). The G.9701 control parameter
    INP_min_rein is set to the same value as the minimum impulse
    noise protection against REIN (see clause
    11.4.2.6/G.9701).";
                  reference
                    "ITU-T G.997.2 clause 7.2.2.4 (INPMIN_REIN); ITU-T G.9701
                    clause 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 (see clause 9.8/G.9701). The G.9701
    control parameter iat_rein_flag is set to the same value as
    the REIN inter-arrival time (see clause 11.4.2.7/G.9701).";
                  reference
                    "ITU-T G.997.2 clause 7.2.2.5 (IAT_REIN); ITU-T G.9701
                    clause 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 (see clause 11.4.2.8/G.9701).";
                  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 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 "one IAT time unit";
                  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.";
                  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 "one IAT time unit";
                  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.";
                  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 "One DMT symbol";
                  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 "one IAT time unit";
                  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.";
                  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 "one IAT time unit";
                  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.";
                  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 "One DMT symbol";
                  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 "1 second";
                default "0";
                description
                  "Threshold for the count of errored seconds (ES). A special
    value (0) indicates the threshold is disabled. An errored
    second (ES) is defined in clause 11.4.4.2/G.9701.";
                reference
                  "ITU-T G.997.2 clause 7.7.8 (CURR/PREV_NE/FE_15/24_ES);
                  ITU-T G.997.2 clause 8.2 (THRESHOLD_NE/FE_15/24_ES)";
    
              }
    
              leaf severely-errored-seconds-threshold {
                type uint32;
                units "1 second";
                default "0";
                description
                  "Threshold for the count of severely errored seconds (SES).
    A special value (0) indicates the threshold is disabled.
    A severely errored second (SES) is defined in clause
    11.4.4.3/G.9701.";
                reference
                  "ITU-T G.997.2 clause 7.7.9 (CURR/PREV_NE/FE_15/24_SES);
                  ITU-T G.997.2 clause 8.2 (THRESHOLD_NE/FE_15/24_SES)";
    
              }
    
              leaf loss-of-signal-seconds-threshold {
                type uint32;
                units "1 second";
                default "0";
                description
                  "Threshold for the count of Loss of Signal (LOS) seconds
    (LOSS). A special value (0) indicates the threshold is
    disabled. A LOS second (LOSS) is defined in clause
    11.4.4.4/G.9701. Support for this threshold is optional.";
                reference
                  "ITU-T G.997.2 clause 7.7.10 (CURR/PREV_NE/FE_15/24_LOSS);
                  ITU-T G.997.2 clause 8.2 (THRESHOLD_NE/FE_15/24_LOSS)";
    
              }
    
              leaf loss-of-rmc-seconds-threshold {
                type uint32;
                units "1 second";
                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. A LOR second (LORS) is defined in
    clause 11.4.4.5/G.9701. Support for this threshold is
    optional.";
                reference
                  "ITU-T G.997.2 clause 7.7.11 (CURR/PREV_NE/FE_15/24_LORS);
                  ITU-T G.997.2 clause 8.2 (THRESHOLD_NE/FE_15/24_LORS)";
    
              }
    
              leaf unavailable-seconds-threshold {
                type uint32;
                units "1 second";
                default "0";
                description
                  "Threshold for the count of unavailable seconds (UAS). A
    special value (0) indicates the threshold is disabled. An
    unavailable second (UAS) is defined in clause
    11.4.4.6/G.9701.";
                reference
                  "ITU-T G.997.2 clause 7.7.12 (CURR/PREV_NE/FE_15/24_UAS);
                  ITU-T G.997.2 clause 8.2 (THRESHOLD_NE/FE_15/24_UAS)";
    
              }
    
              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. The full initialization primitive (full_init)
    is defined in clause 11.3.1.5/G.9701. Support for this
    threshold is optional.";
                reference
                  "ITU-T G.997.2 clause 7.7.13 (CURR/PREV_15/24_FULL_INITS);
                  ITU-T G.997.2 clause 8.2 (THRESHOLD_15/24_FULL_INITS)";
    
              }
    
              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. The failed full initialization
    primitive (failedfull_init) is defined in clause
    11.3.1.5/G.9701. Support for this threshold is optional.";
                reference
                  "ITU-T G.997.2 clause 7.7.14
                  (CURR/PREV_15/24_FAILEDFULL_INITS);
                  ITU-T G.997.2 clause 8.2
                  (THRESHOLD_15/24_FAILEDFULL_INITS)";
    
              }
    
              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. The fast initialization primitive (fast_init)
    is defined in clause 11.3.1.5/G.9701. Support for this
    threshold is optional.";
                reference
                  "ITU-T G.997.2 clause 7.7.15 (CURR/PREV_15/24_FAST_INITS);
                  ITU-T G.997.2 clause 8.2 (THRESHOLD_15/24_FAST_INITS)";
    
              }
    
              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. The failed fast initialization
    primitive (failedfast_init) is defined in clause
    11.3.1.5/G.9701. Support for this threshold is optional.";
                reference
                  "ITU-T G.997.2 clause 7.7.16
                  (CURR/PREV_15/24_FAILEDFAST_INITS);
                  ITU-T G.997.2 clause 8.2
                  (THRESHOLD_15/24_FAILEDFAST_INITS)";
    
              }
    
              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. The spontaneous interruption anomaly
    (spont_intrpt) is defined in clause 11.3.1.1/G.9701. Support
    for this threshold is optional.";
                reference
                  "ITU-T G.997.2 clause 7.7.19 (CURR/PREV_24_SPONT_INTRPT);
                  ITU-T G.997.2 clause 8.2 (THRESHOLD_24_SPONT_INTRPT)";
    
              }
            }  // 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 "1 second";
                default "0";
                description
                  "Threshold for the count of the Cyclic Redundancy Check
    anomalies (CRC). A special value (0) indicates the
    threshold is disabled. The Cyclic Redundancy Check anomaly
    (CRC) is defined in clause 11.3.1.1/G.9701.";
                reference
                  "ITU-T G.997.2 clause 7.8.4 (CURR/PREV_NE/FE_15/24_CV);
                  ITU-T G.997.2 clause 8.2 (THRESHOLD_NE/FE_15/24_CV)";
    
              }
    
              leaf uncorrectable-dtus-threshold {
                type uint32;
                units "1 second";
                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. The uncorrected DTU anomaly (RTX-UC)
    is defined in clause 11.3.1.1/G.9701.";
                reference
                  "ITU-T G.997.2 clause 7.8.6 (CURR/PREV_NE/FE_15/24_RTXUC);
                  ITU-T G.997.2 clause 8.2 (THRESHOLD_NE/FE_15/24_RTXUC)";
    
              }
    
              leaf retransmitted-dtus-threshold {
                type uint32;
                units "1 second";
                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. The retransmitted DTU anomaly
    (RTX-TX) is defined in clause 11.3.1.1/G.9701.";
                reference
                  "ITU-T G.997.2 clause 7.8.7 (CURR/PREV_NE/FE_15/24_RTXTX);
                  ITU-T G.997.2 clause 8.2 (THRESHOLD_NE/FE_15/24_RTXTX)";
    
              }
            }  // 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;
                mandatory true;
                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;
                mandatory true;
                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;
                mandatory true;
                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;
                mandatory true;
                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";
                }
                mandatory true;
                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.