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.";
        }
    
        // groupings
        grouping data-rate-parameters {
          description
            "Data rate configuration parameters.";
          reference
            "ITU-T G.997.2 clause 7.2.1.";
    
          leaf maximum-net-data-rate {
            type bbf-yang:data-rate32;
            default "4294967295";
            description
              "Defines the value of the maximum net data rate (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)";
    
          }
        }  // grouping data-rate-parameters
    
        grouping low-power-data-rate-parameters {
          description
            "Parameters associated with configuration of data rates when
    operating in a low power mode.";
          leaf maximum-net-data-rate-in-l2.2 {
            type bbf-yang:data-rate32;
            default "4294967295";
            description
              "Defines the value of the maximum net data rate allowed
    during the L2.2 link state for both the upstream and
    downstream direction.";
            reference
              "ITU-T G.997.2 clause 7.2.3.2 (L2.2-MAXNDR); ITU-T G.9701
              clause 13.4.2.4.";
    
          }
    
          leaf minimum-expected-throughput-in-l2.2 {
            type bbf-yang:data-rate32;
            default "0";
            description
              "Defines the value of the minimum expected throughput
    allowed during the L2.2 link state for both the upstream
    and downstream direction.";
            reference
              "ITU-T G.997.2 clause 7.2.3.4 (L2.2-MINETR); ITU-T G.9701
              clause 13.4.2.4.";
    
          }
        }  // grouping low-power-data-rate-parameters
    
        grouping low-power-data-rate-directional-parameters {
          description
            "Parameters associated with configuration of data rates when
    operating in a low power mode for both the upstream and
    downstream directions.";
          leaf maximum-net-data-rate-in-l2.1 {
            type bbf-yang:data-rate32;
            default "4294967295";
            description
              "Defines the value of the maximum net data rate allowed
    during the L2.1 link state.";
            reference
              "ITU-T G.997.2 clause 7.2.3.1 (L2.1-MAXNDR); ITU-T G.9701
              clause 13.4.1.4.";
    
          }
    
          leaf minimum-expected-throughput-in-l2.1 {
            type bbf-yang:data-rate32;
            default "0";
            description
              "Defines the value of the minimum expected throughput
    allowed during the L2.1 link state.";
            reference
              "ITU-T G.997.2 clause 7.2.3.3 (L2.1-MINETR); ITU-T G.9701
              clause 13.4.1.4.";
    
          }
    
          leaf minimum-expected-throughput-after-exit-from-l2.1 {
            type bbf-yang:data-rate32;
            default "0";
            description
              "Defines the value of the minimum expected throughput
    allowed after exit from L2.1 to the L0 link state.";
            reference
              "ITU-T G.997.2 clause 7.2.3.5 (L2.1-MINETR-EXIT); ITU-T
              G.9701 clause 13.4.1.4.";
    
          }
        }  // grouping low-power-data-rate-directional-parameters
    
        grouping data-rate-profile {
          description
            "Defines the parameters contained in a data rate profile.";
          uses data-rate-parameters;
        }  // grouping data-rate-profile
    
        grouping low-power-data-rate-profile {
          description
            "Defines the parameters contained in a low power data rate
    profile.";
          uses low-power-data-rate-parameters;
    
          container downstream {
            description
              "Downstream low power data rate parameters.";
            uses low-power-data-rate-directional-parameters;
          }  // container downstream
    
          container upstream {
            description
              "Upstream low power data rate parameters.";
            uses low-power-data-rate-directional-parameters;
          }  // container upstream
        }  // grouping low-power-data-rate-profile
    
        grouping sub-carrier-range {
          description
            "Defines a sub-carrier band, i.e., a set of contiguous
    sub-carriers.";
          leaf start-index {
            type sub-carrier-index;
            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).";
          }
        }  // grouping sub-carrier-range
    
        grouping power-and-spectrum-usage-parameters {
          description
            "Power and spectrum usage configuration parameters.";
          reference
            "ITU-T G.997.2 clause 7.1.2.";
    
          leaf maximum-aggregate-transmit-power {
            type int16 {
              range "-310..310";
            }
            units "0.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.";
    
            uses sub-carrier-range;
          }  // 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";
    
            uses sub-carrier-range;
          }  // list rmccarmask
        }  // grouping power-and-spectrum-usage-parameters
    
        grouping line-spectrum-profile {
          description
            "Defines the parameters contained in a line spectrum
    profile.";
          leaf profiles {
            type union {
              type enumeration {
                enum "all" {
                  value 0;
                  description
                    "Used to indicate that all profiles are allowed.";
                }
              }
              type profiles;
            }
            default "all";
            description
              "Defines for each profile whether operation according to
    that profile is allowed or disallowed.";
            reference
              "ITU-T G.997.2 clause 7.1.0.1 (PROFILES); ITU-T G.9701
              clause 6.";
    
          }
    
          leaf link-state-enabling {
            type enumeration {
              enum "l0-l3-enabled" {
                value 0;
                description
                  "L0 and L3 enabled (L2.1N, L2.1B, L2.2 disabled).";
              }
              enum "l0-l3-l2.1n-enabled" {
                value 1;
                description
                  "L0, L3 and L2.1N enabled (L2.1B, L2.2 disabled).";
              }
              enum "l0-l3-l2.1n-l2.1b-enabled" {
                value 2;
                description
                  "L0, L3, L2.1N and L2.1B enabled (L2.2 disabled).";
              }
              enum
                "l0-l3-l2.1n-l2.1b-l2.2-enabled" {
                value 3;
                description
                  "L0, L3, L2.1N, L2.1B and L2.2 enabled.";
              }
            }
            default
              "l0-l3-l2.1n-l2.1b-l2.2-enabled";
            description
              "Selects the set of allowed low power mode states.";
            reference
              "ITU-T G.997.2 clause 7.14.1.2(LS-ENABLE); ITU-T G.9701
              clause 12.1.1.7.2";
    
          }
    
          leaf maximum-psd-reduction-in-l2 {
            type uint8 {
              range "0..10 | 255";
            }
            units "dB";
            default "0";
            description
              "Defines the maximum Power Spectral Density (PSD) reduction
    allowed during the L2.1N, L2.2B and L2.2 link states for both
    the upstream and downstream direction. The special value,
    255, indicates there is no maximum bound for the PSD
    reduction (i.e., the maximum PSD reduction is infinite).";
            reference
              "ITU-T G.997.2 clause 7.1.10.3 (L2.1-MAXPSDR); ITU-T G.9701
              clause 13.4.1.4.";
    
          }
    
          container downstream {
            description
              "Downstream specific line spectrum configuration
    parameters.";
            uses power-and-spectrum-usage-parameters;
    
            list mibpsdmask {
              must
                "count(../mibpsdmask)=0 or
    (count(../mibpsdmask[sub-carrier-index=39])=1 and not (
    (contains(../../profiles,'g.9701-profile-106a') and
    not(../mibpsdmask[sub-carrier-index=2048])) or
    (contains(../../profiles,'g.9701-profile-106b') and
    not(../mibpsdmask[sub-carrier-index=2048])) or
    (contains(../../profiles,'g.9701-profile-212a') and
    not(../mibpsdmask[sub-carrier-index=4096])) or
    (contains(../../profiles,'g.9701-profile-106c') and
    not(../mibpsdmask[sub-carrier-index=2048])) or
    (contains(../../profiles,'g.9701-profile-212c') and
    not(../mibpsdmask[sub-carrier-index=4096])) or
    (../../profiles='all' and
    (not(../mibpsdmask[sub-carrier-index=2048]) or
    not(../mibpsdmask[sub-carrier-index=4096])))))" {
                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.";
            uses power-and-spectrum-usage-parameters;
    
            list mibpsdmask {
              must
                "count(../mibpsdmask)=0 or
    (count(../mibpsdmask[sub-carrier-index=39])=1 and not (
    (contains(../../profiles,'g.9701-profile-106a') and
    not(../mibpsdmask[sub-carrier-index=2048])) or
    (contains(../../profiles,'g.9701-profile-106b') and
    not(../mibpsdmask[sub-carrier-index=2048])) or
    (contains(../../profiles,'g.9701-profile-212a') and
    not(../mibpsdmask[sub-carrier-index=4096])) or
    (contains(../../profiles,'g.9701-profile-106c') and
    not(../mibpsdmask[sub-carrier-index=2048])) or
    (contains(../../profiles,'g.9701-profile-212c') and
    not(../mibpsdmask[sub-carrier-index=4096])) or
    (../../profiles='all' and
    (not(../mibpsdmask[sub-carrier-index=2048]) or
    not(../mibpsdmask[sub-carrier-index=4096])))))" {
                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
        }  // grouping line-spectrum-profile
    
        grouping upstream-power-back-off-parameters {
          description
            "Power-back-off-specific configuration parameters.";
          reference
            "ITU-T G.997.2 clause 7.1.2.";
    
          leaf upbopsd-a {
            type uint16 {
              range "0..4095";
            }
            units "0.01 dBm/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.";
    
          }
        }  // grouping upstream-power-back-off-parameters
    
        grouping upstream-power-back-off-profile {
          description
            "Defines the parameters contained in an upstream power back-off
    profile.";
          uses upstream-power-back-off-parameters;
        }  // grouping upstream-power-back-off-profile
    
        grouping rfibands {
          description
            "Parameters associated with Radio Frequency Interference (RFI)
    bands.";
          list rfiband {
            key "start-index";
            max-elements 32;
            description
              "Defines the bands where the Power Spectral Density (PSD)
    shall be reduced as specified in G.9701 clause 7.3.1.2.";
            reference
              "ITU-T G.997.2 clause 7.1.2.7 (RFIBANDS); ITU-T G.9701
              Clause 7.3.1.2.";
    
            uses sub-carrier-range;
          }  // list rfiband
        }  // grouping rfibands
    
        grouping rfi-profile {
          description
            "Defines the parameters contained in an Radio Frequency
    Interference (RFI) profile.";
          uses rfibands;
    
          leaf iarbands {
            type iarbands;
            default "";
            description
              "Defines for each International Amateur Radio (IAR) band
    whether transmit Power Spectral Density (PSD) reduction is
    enabled or disabled in that band.";
            reference
              "ITU-T G.997.2 clause 7.1.2.8 (IARBANDS); ITU-T G.9701
              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.";
    
          }
        }  // grouping rfi-profile
    
        grouping fast-rate-adaptation-parameters {
          description
            "Fast Rate Adaptation (FRA) configuration parameters
    applicable to both upstream and downstream.";
          reference
            "ITU-T G.997.2 clause 7.1.5.";
    
          leaf time-window {
            type uint8 {
              range "0 | 1..36";
            }
            units "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.";
    
          }
        }  // grouping fast-rate-adaptation-parameters
    
        grouping fast-rate-adaptation-profile {
          description
            "Defines the contents of a Fast Rate Adaptation (FRA) Profile.";
          container downstream {
            description
              "Downstream Fast Rate Adaptation (FRA) profile.";
            uses fast-rate-adaptation-parameters;
          }  // container downstream
    
          container upstream {
            description
              "Upstream Fast Rate Adaptation (FRA) profile.";
            uses fast-rate-adaptation-parameters;
          }  // container upstream
        }  // grouping fast-rate-adaptation-profile
    
        grouping seamless-rate-adaptation-parameters {
          description
            "Seamless Rate Adaptation (SRA) configuration parameters
    applicable to both upstream and downstream.";
          reference
            "ITU-T G.997.2 clause 7.1.4.";
    
          leaf upshift-noise-margin {
            type uint16 {
              range "0..310";
            }
            units "0.1 dB";
            default "70";
            description
              "If the noise margin (SNRM) is above the upshift noise
    margin and stays above that for more than the time specified
    by the minimum upshift rate adaptation interval (SRA-UTIME),
    the transmitting FAST Transceiver Unit (FTU) autonomously
    attempts to increase the net data rate (NDR).";
            reference
              "ITU-T G.997.2 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.";
    
          }
        }  // grouping seamless-rate-adaptation-parameters
    
        grouping robust-management-channel-parameters {
          description
            "Robust Management Channel (RMC) configuration parameters
    applicable to both upstream and downstream.";
          reference
            "ITU-T G.997.2 clause 7.1.6.";
    
          leaf target-noise-margin {
            type uint16 {
              range "0..310";
            }
            units "0.1 dB";
            default "60";
            description
              "Defines the Robust Management Channel (RMC) noise margin
    (SNRMRMC) that the FAST Transceiver Unit (FTU) receiver
    shall achieve, relative to the Bit Error Rate (BER)
    requirement, or better, to successfully complete
    initialization.";
            reference
              "ITU-T G.997.2 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.";
    
          }
        }  // grouping robust-management-channel-parameters
    
        grouping noise-margin-profile {
          description
            "Defines the contents of a Noise Margin Profile.";
          container downstream {
            description
              "Downstream noise margin profile.";
            container noise-margin {
              description
                "Noise margin parameters.";
              leaf target-noise-margin {
                type uint16 {
                  range "0..310";
                }
                units "0.1 dB";
                must
                  ". <= ../../seamless-rate-adaptation/
    			 upshift-noise-margin" {
                  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.";
    
              }
    
              uses seamless-rate-adaptation-parameters;
            }  // container seamless-rate-adaptation
    
            container robust-management-channel {
              description
                "Robust Management Channel (RMC) parameters.";
              uses robust-management-channel-parameters;
            }  // container robust-management-channel
          }  // container downstream
    
          container upstream {
            description
              "Upstream noise margin profile.";
            container noise-margin {
              description
                "Noise margin parameters.";
              leaf target-noise-margin {
                type uint16 {
                  range "0..310";
                }
                units "0.1 dB";
                must
                  ". <= ../../seamless-rate-adaptation/
    			 upshift-noise-margin" {
                  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.";
    
              }
    
              uses seamless-rate-adaptation-parameters;
            }  // container seamless-rate-adaptation
    
            container robust-management-channel {
              description
                "Robust Management Channel (RMC) parameters.";
              uses robust-management-channel-parameters;
            }  // container robust-management-channel
          }  // container upstream
        }  // grouping noise-margin-profile
    
        grouping fast-retrain-policy-parameters {
          description
            "reinitialization configuration parameters applicable to both
    upstream and downstream.";
          reference
            "ITU-T G.997.2 clause 7.1.8.";
    
          leaf los-defect-persistency {
            type uint8 {
              range "1..20";
            }
            units "0.1 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)";
    
          }
        }  // grouping fast-retrain-policy-parameters
    
        grouping fast-retrain-policy-profile {
          description
            "Defines the contents of a Fast Retrain Policy Profile.";
          container downstream {
            description
              "Downstream fast retrain policy parameters.";
            uses fast-retrain-policy-parameters;
          }  // container downstream
    
          container upstream {
            description
              "Downstream fast retrain policy parameters.";
            uses fast-retrain-policy-parameters;
          }  // container upstream
        }  // grouping fast-retrain-policy-profile
    
        grouping retransmission-parameters {
          description
            "Retransmission configuration parameters applicable to both
    upstream and downstream.";
          reference
            "ITU-T G.997.2 clause 7.2.2.";
    
          leaf maximum-delay {
            type uint32 {
              range "4..64";
            }
            units "0.25 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.";
    
          }
        }  // grouping retransmission-parameters
    
        grouping retransmission-profile {
          description
            "Defines the contents of a Retransmission Profile.";
          container downstream {
            description
              "Downstream retransmission parameters.";
            uses retransmission-parameters;
          }  // container downstream
    
          container upstream {
            description
              "Upstream retransmission parameters.";
            uses retransmission-parameters;
          }  // container upstream
        }  // grouping retransmission-profile
    
        grouping vectoring-parameters {
          description
            "Vectoring configuration parameters applicable to both
    upstream and downstream.";
          reference
            "ITU-T G.997.2 clause 7.1.7.";
    
          leaf fext-to-cancel-enable {
            type boolean;
            default "true";
            description
              "Defines whether Far-End Crosstalk (FEXT) cancellation in the
    given direction from all the other vectored lines into the
    line in the vectored group is enabled or disabled.";
            reference
              "ITU-T G.997.2 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)";
    
          }
        }  // grouping vectoring-parameters
    
        grouping vectoring-downstream-parameters {
          description
            "Vectoring configuration parameters applicable in the
    downstream direction.";
          reference
            "ITU-T G.997.2 clause 7.1.7.";
    
          leaf xlog-group-size-req {
            type uint8 {
              range
                "1 | 2 | 4 | 8 | 16 | 32 | 64";
            }
            units "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";
    
          }
        }  // grouping vectoring-downstream-parameters
    
        grouping vectoring-profile {
          description
            "Defines the contents of a Vectoring Profile.";
          container downstream {
            description
              "Downstream vectoring parameters.";
            uses vectoring-parameters;
    
            uses vectoring-downstream-parameters;
          }  // container downstream
    
          container upstream {
            description
              "Upstream vectoring parameters.";
            uses vectoring-parameters;
          }  // container upstream
    
          leaf annex-x-mode {
            if-feature bbf-fast:annex-x;
            type enumeration {
              enum "forbidden" {
                value 0;
                description
                  "AnnexX_FORBIDDEN (Operation according to
    Annex X operation is not allowed.).";
              }
              enum "preferred" {
                value 1;
                description
                  "AnnexX_PREFERRED (Operation according to
    Annex X is preferred.).";
              }
              enum "forced" {
                value 2;
                description
                  "AnnexX_FORCED (Operation according to
    Annex is forced.).";
              }
            }
            default "forbidden";
            description
              " Determines whether Annex X operation of
     [ITU-T G.9701] is enabled.
    
     If 'annex-x-mode' is configured to 'preferred' or 'forced',
     then 'annex-d-mode', if supported, must be configured to
     'forbidden'.";
            reference
              "ITU-T G.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.";
    
          }
        }  // grouping vectoring-profile
    
        grouping impulse-noise-monitoring-parameters {
          description
            "Impulse Noise Monitoring (INM) is not required for modem
    operation but is a capability for the measurement of Impulse
    Noise. The INM Profile includes the option to control an
    INM function on the receiver of the FAST Transceiver Unit
    (FTU).";
          leaf inmiato {
            type uint16 {
              range "3..511";
            }
            units "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.";
    
          }
        }  // grouping impulse-noise-monitoring-parameters
    
        grouping impulse-noise-monitoring-profile {
          description
            "Defines the contents of an Impulse Noise Monitoring (INM)
    Profile.";
          leaf inpeq-scaling-factor {
            type uint8 {
              range "4 | 8 | 12";
            }
            default "12";
            description
              "Defines the time unit scaling factor for the line that the
    FAST Transceiver Unit (FTU) receivers shall use for reporting
    INPEQ.";
            reference
              "ITU-T G.997.2 clause 7.1.11.6;
              ITU-T G.9701 clause 11.4.4.7.2.6";
    
          }
    
          leaf iat-scaling-factor {
            type uint8 {
              range "4 | 8 | 12";
            }
            default "12";
            description
              "Defines the time unit scaling factor for the line that the
    FAST Transceiver Unit (FTU) receivers shall use for reporting
    Inter Arrival Time (IAT).";
            reference
              "ITU-T G.997.2 clause 7.1.11.7;
              ITU-T G.9701 clause 11.4.4.7.2.7";
    
          }
    
          leaf inm-enable {
            type boolean;
            default "false";
            description
              "If true, enables Impulse Noise Monitoring (INM) in both
    directions. If false, disables Impulse Noise Monitoring (INM)
    in both directions.";
            reference
              "ITU-T G.997.2 clause 7.1.11.8";
    
          }
    
          container downstream {
            description
              "Downstream impulse noise monitoring configuration.";
            uses impulse-noise-monitoring-parameters;
          }  // container downstream
    
          container upstream {
            description
              "Upstream impulse noise monitoring configuration.";
            uses impulse-noise-monitoring-parameters;
          }  // container upstream
        }  // grouping impulse-noise-monitoring-profile
    
        grouping time-division-duplexing-parameters {
          description
            "Time Division Duplexing (TDD) configuration parameters.";
          reference
            "ITU-T G.997.2 clause 7.1.1.";
    
          leaf total-symbol-periods {
            type uint8 {
              range "23 | 36";
            }
            default "36";
            description
              "Defines the total number of symbol periods in a Time Division
    Duplexing (TDD) frame.";
            reference
              "ITU-T G.997.2 clause 7.1.1.1 (MF);
              ITU-T G.9701 clause 10.5.";
    
          }
    
          leaf downstream-symbol-periods {
            type uint8 {
              range "6..32";
            }
            must
              "(../total-symbol-periods = 23 and .>= 6 and .<= 19) or
    (../total-symbol-periods = 36 and .>= 10 and .<= 32)" {
              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
        }  // grouping time-division-duplexing-parameters
    
        grouping tdd-profile {
          description
            "Defines the contents of a Time Division Duplexing (TDD)
    Profile.";
          uses time-division-duplexing-parameters;
        }  // grouping tdd-profile
    
        grouping performance-history-interval-parameters {
          description
            "Defines common parameters required when defining history
    interval performance counters.";
          leaf invalid-data-flag {
            type boolean;
            description
              "Reports the validity of the corresponding Performance
    Monitoring (PM) data.";
            reference
              "ITU-T G.997.2 clause 7.7.2 and 7.8.2.";
    
          }
    
          leaf time-stamp {
            type yang:date-and-time;
            description
              "Reports the start date/time for this interval.";
            reference
              "ITU-T G.997.2 clause 7.7.3 and 7.8.3.";
    
          }
        }  // grouping performance-history-interval-parameters
    
        grouping performance-history-measured-time {
          description
            "Reports the measured time for a given interval.";
          leaf measured-time {
            type uint32;
            description
              "Reports the amount of time, measured in seconds,
    that statistics for this interval have been counted.";
            reference
              "ITU-T G.997.2 clause 7.7.1 and 7.8.1.";
    
          }
        }  // grouping performance-history-measured-time
    
        grouping performance-history-15min-interval-parameters {
          description
            "Defines common parameters required when defining 15 minute
    interval history performance counters.";
          uses performance-history-measured-time;
    
          uses performance-history-interval-parameters;
        }  // grouping performance-history-15min-interval-parameters
    
        grouping performance-history-24hr-interval-parameters {
          description
            "Defines common parameters required when defining 24 hour
    interval history performance counters.";
          uses performance-history-measured-time;
    
          uses performance-history-interval-parameters;
        }  // grouping performance-history-24hr-interval-parameters
    
        grouping performance-15min-history-parameters {
          description
            "Defines common parameters required when defining 15 minute
    history performance counters.";
          leaf number-of-intervals {
            type performance-15min-interval;
            description
              "The total number of 15 minute Performance Monitoring (PM)
    intervals for which data was collected. ";
          }
    
          leaf non-valid-intervals {
            type performance-15min-interval;
            description
              "The number of 15 minute Performance Monitoring (PM) intervals
    for which the data is considered to be invalid or
    incomplete.";
          }
        }  // grouping performance-15min-history-parameters
    
        grouping performance-24hr-history-parameters {
          description
            "Defines common parameters required when defining 24 hour
    history performance counters.";
          leaf number-of-intervals {
            type performance-24hr-interval;
            description
              "The total number of 24 hour Performance Monitoring (PM)
    intervals for which data was collected. ";
          }
    
          leaf non-valid-intervals {
            type performance-24hr-interval;
            description
              "The number of 24 hour Performance Monitoring (PM) intervals
    for which the data is considered to be invalid or
    incomplete.";
          }
        }  // grouping performance-24hr-history-parameters
    
        grouping line-thresholds {
          description
            "Performance parameters that have corresponding thresholds
    used to issue reports.";
          leaf errored-seconds-threshold {
            type uint32;
            units "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)";
    
          }
        }  // grouping line-thresholds
    
        grouping channel-thresholds {
          description
            "Performance parameters that have corresponding thresholds
    used to issue reports.";
          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)";
    
          }
        }  // grouping channel-thresholds
    
        grouping profile-vector {
          description
            "A vector of profiles used to configure the line.";
          leaf time-division-duplexing-profile {
            type time-division-duplexing-profile-ref;
            mandatory true;
            description
              "References a time division duplexing (TDD) profile to be
    used to configure the line.";
          }
    
          leaf downstream-data-rate-profile {
            type downstream-data-rate-profile-ref;
            mandatory true;
            description
              "References a downstream data rate profile to be used to
    configure the line.";
          }
    
          leaf upstream-data-rate-profile {
            type upstream-data-rate-profile-ref;
            mandatory true;
            description
              "References an upstream data rate profile to be used to
    configure the line.";
          }
    
          leaf low-power-data-rate-profile {
            type low-power-data-rate-profile-ref;
            mandatory true;
            description
              "References a low power data rate profile to be used to
    configure the line.";
          }
    
          leaf line-spectrum-profile {
            type line-spectrum-profile-ref;
            mandatory true;
            description
              "References a line spectrum profile to be used to configure
    the line.";
          }
    
          leaf upstream-power-back-off-profile {
            type upstream-power-back-off-profile-ref;
            mandatory true;
            description
              "References an upstream power-back-off profile to be used to
    configure the line.";
          }
    
          leaf radio-frequency-interference-profile {
            type radio-frequency-interference-profile-ref;
            mandatory true;
            description
              "References a Radio Frequency Interference (RFI) profile to be
    used to configure the line.";
          }
    
          leaf noise-margin-profile {
            type noise-margin-profile-ref;
            mandatory true;
            description
              "References a noise margin profile to be used to configure
    the line.";
          }
    
          leaf fast-rate-adaptation-profile {
            type fast-rate-adaptation-profile-ref;
            mandatory true;
            description
              "References a fast rate adaptation profile to be used to
    configure the line.";
          }
    
          leaf retransmission-profile {
            type retransmission-profile-ref;
            mandatory true;
            description
              "References a retransmission profile to be used to configure
    the line.";
          }
    
          leaf fast-retrain-policy-profile {
            type fast-retrain-policy-profile-ref;
            mandatory true;
            description
              "References a fast retrain policy profile to be used to
    configure the line.";
          }
    
          leaf vectoring-profile {
            type vectoring-profile-ref;
            mandatory true;
            description
              "References a vectoring profile to be used to configure the
    line.";
          }
    
          leaf impulse-noise-monitoring-profile {
            if-feature bbf-fast:impulse-noise-monitoring;
            type leafref {
              path "/bbf-fast:fast/bbf-fast:quality/bbf-fast:impulse-noise-monitoring-profile/bbf-fast:name";
            }
            mandatory true;
            description
              "References an impulse noise monitoring profile to be used to
    configure the line.";
          }
        }  // grouping profile-vector
    
        grouping test-mode-enable-parameters {
          description
            "A set of parameters used to enable various test modes
    specified by ITU-T G.997.2 and G.9701.";
          leaf rtx-tc-test-mode {
            type boolean;
            default "false";
            description
              "Defines whether the retransmission test-mode defined in
    clause 9.8.3.1.2/G.9701 is enabled or disabled. The
    RTX_TESTMODE setting may be changed during showtime. When
    changed, it shall take effect within 2 seconds without
    re-initialization.";
            reference
              "ITU-T G.997.2 clause 7.2.2.7 (RTX_TESTMODE); ITU-T G.9701
              clause 9.8.3.1.2.";
    
          }
    
          leaf tps-tc-test-mode {
            type boolean;
            default "false";
            description
              "Defines whether the Transport Protocol Specific Transmission
    Convergence (TPS-TC) test-mode defined in clause 8.3.1/G.9701
    is enabled or disabled. The TPS_TESTMODE setting may be
    changed during showtime. When changed, it shall take effect
    within 2 seconds without re-initialization.";
            reference
              "ITU-T G.997.2 clause 7.3.1 (TPS_TESTMODE); ITU-T G.9701
              clause 8.3.1.";
    
          }
    
          leaf dra-test-mode {
            type boolean;
            default "false";
            description
              "Defines whether the Dynamic Resource Allocation (DRA)
    test-mode defined in clause 9.8.3.1.2/G.9701 is enabled or
    disabled. The DRA_TESTMODE setting may be changed during
    showtime. When changed, it shall take effect on the line
    within 2 seconds without re-initialization.";
            reference
              "ITU-T G.997.2 clause 7.3.2 (DRA_TESTMODE); ITU-T G.9701
              clause 9.8.3.1.2.";
    
          }
        }  // grouping test-mode-enable-parameters
    
        grouping line-test-modes {
          description
            "Test modes associated with a line.";
          uses test-mode-enable-parameters;
        }  // grouping line-test-modes
    
        grouping line-update-test-parameters {
          description
            "Objects used to update test parameters on a line.";
          container ftu-o {
            description
              "Relative to the Fast Transceiver Unit - central Office
    (FTU-O).";
            leaf update-ne-test {
              type near-end-test-groups;
              default "";
              status deprecated;
              description
                "Forces an update of the test parameters that can be
    updated during showtime. See introductory text to clause
    7.
    
    A configuration change back to clear a bit is required
    before initiating another update.";
              reference
                "ITU-T G.997.2 clause 7.1.9.1(UPDATE-NE-TEST); ITU-T
                G.9701 clause 11.1.";
    
            }
    
            action update-near-end-test {
              description
                "Forces an update of the test parameters that can be
    updated during showtime.";
              reference
                "ITU-T G.997.2 clause 7.1.9.1(UPDATE-NE-TEST); ITU-T
                G.9701 clause 11.1.";
    
              input {
                leaf group {
                  type near-end-test-groups;
                  must "boolean(.)" {
                    description
                      "At least one bit must be specified.";
                  }
                  description
                    "Specifies which group or groups should be updated.";
                }
              }
            }  // rpc update-near-end-test
          }  // container ftu-o
    
          container ftu-r {
            description
              "Relative to the Fast Transceiver Unit - Remote side
    (FTU-R).";
            leaf update-fe-test {
              type far-end-test-groups;
              default "";
              status deprecated;
              description
                "Forces an update of the test parameters that can be
    updated during showtime. See introductory text to clause
    7.
    
    A configuration change back to clear a bit is required
    before initiating another update.";
              reference
                "ITU-T G.997.2 clause 7.1.9.2(UPDATE-FE-TEST); ITU-T
                G.9701 clause 11.1.";
    
            }
    
            action update-far-end-test {
              description
                "Forces an update of the test parameters that can be
    updated during showtime.";
              reference
                "ITU-T G.997.2 clause 7.1.9.2(UPDATE-FE-TEST); ITU-T
                G.9701 clause 11.1.";
    
              input {
                leaf group {
                  type far-end-test-groups;
                  must "boolean(.)" {
                    description
                      "At least one bit must be specified.";
                  }
                  description
                    "Specifies which group or groups should be updated.";
                }
              }
            }  // rpc update-far-end-test
          }  // container ftu-r
        }  // grouping line-update-test-parameters
    
        grouping link-state-test-parameters {
          description
            "A set of parameters used to enable link state tests
    specified by ITU-T G.997.2 and G.9701.";
          leaf link-state-forced {
            type enumeration {
              enum "no-link-state" {
                value 0;
                description "No link state.";
              }
              enum "l0-link-state" {
                value 1;
                description "L0 link state.";
              }
              enum "l2.1n-link-state" {
                value 2;
                description "L2.1N link state.";
              }
              enum "l2.1b-link-state" {
                value 3;
                description "L2.1B link state.";
              }
              enum "l2.2-link-state" {
                value 4;
                description "L2.2 link state.";
              }
            }
            default "no-link-state";
            description
              "Forces the link to transition and to remain in the selected
    link state.";
            reference
              "ITU-T G.997.2 clause 7.14.1.1(LS-FORCED); ITU-T G.9701
              clause 12.1.1.7.1";
    
          }
        }  // grouping link-state-test-parameters
    
        grouping line-status-parameters {
          description
            "Line status parameters applicable to both upstream and
    downstream.";
          reference
            " ITU-T G.997.2 clause 7.10.";
    
          leaf snr-margin {
            type snr-margin;
            description
              "Reports the signal-to-noise ratio margin (as defined in
    clauses 9.8.3.2 of [ITU T G.9701] and 11.4.1.1.10 of
    [ITU-T G.9701]) in the applicable direction during the L0
    link state. A first special value (undetermined) indicates
    that the signal-to-noise ratio margin is undetermined. A
    second special value (-511) indicates that the
    signal-to-noise ratio margin is less than or equal to -51.1
    dB. A third special value (+511) indicates that the
    signal-to-noise ratio margin is greater than or equal to
    +51.1dB.";
            reference
              "ITU-T G.997.2 clause 7.10.3.1 (SNRMds) and clause 7.10.3.2
              (SNRMus); ITU-T G.9701 Clause 9.8.3.2 and 11.4.1.3.";
    
          }
    
          leaf snr-margin-in-l2.1 {
            type snr-margin;
            description
              "Reports the signal-to-noise ratio margin (as defined in
    clauses 9.8.3.2 of [ITU T G.9701] and 11.4.1.1.10 of
    [ITU-T G.9701]) during the L2.1N and L2.1B link states.
    A first special value (undetermined) indicates that the
    signal-to-noise ratio margin is undetermined. A second
    special value (-511) indicates that the signal-to-noise
    ratio margin is less than or equal to -51.1 dB. A third
    special value (+511) indicates that the signal-to-noise
    ratio margin is greater than or equal to +51.1dB.";
            reference
              "ITU-T G.997.2 clause 7.10.16.1 (L2.1-SNRMds) and clause
              7.10.16.2 (L2.1-SNRMus); ITU-T G.9701 Clause 9.8.3.2 and
              11.4.1.1.10.";
    
          }
    
          leaf snr-margin-in-l2.2 {
            type snr-margin;
            description
              "Reports the signal-to-noise ratio margin (as defined in
    clauses 9.8.3.2 of [ITU T G.9701] and 11.4.1.1.10 of
    [ITU-T G.9701]) in the downstream direction during the L2.2
    link state. A first special value (undetermined) indicates
    that the signal-to-noise ratio margin is undetermined. A
    second special value (-511) indicates that the
    signal-to-noise ratio margin is less than or equal to -51.1
    dB. A third special value (+511) indicates that the
    signal-to-noise ratio margin is greater than or equal to
    +51.1dB.";
            reference
              "ITU-T G.997.2 clause 7.10.16.3 (L2.2-SNRMds) and clause
              7.10.16.4 (L2.2-SNRMus); ITU-T G.9701 Clause 9.8.3.2 and
              11.4.1.1.10.";
    
          }
    
          leaf upbo-electrical-length {
            type uint16 {
              range "0..1280";
            }
            units "0.1 dB";
            description
              "Reports the electrical length that would have been sent, if
    the electrical length was not forced. If the electrical
    length is not forced, then this object reports the final
    electrical length, as determined by the FAST Transceiver Unit
    (FTU) (see clause 7.3.1.4.2.1/G.9701) and conveyed in the
    O-UPDATE or R-MSG1 initialization message accordingly
    (see clause 12.3.3.2.4/G.9701).";
            reference
              "ITU-T G.997.2 clause 7.10.4.1 (UPBOKLE) and clause 7.10.4.2
              (UPBOKLE-R); ITU-T G.9701 Clause 9.8.3.2 and 11.4.1.3.";
    
          }
    
          leaf actual-aggregate-transmit-power {
            type union {
              type bbf-yang:undetermined;
              type int16 {
                range "-311..311";
              }
            }
            units "0.1 dB";
            description
              "Reports the total amount of transmit power delivered by the
    FAST Transceiver Unit (FTU) at the U reference point, at the
    instant of measurement. A first special value (undetermined)
    indicates that the transmit power is undetermined. A second
    special value (-311) indicates that the transmit power is
    less than or equal to -31.1 dBm. A third special value (+311)
    indicates that the transmit power is greater than or equal to
    +31.1dBm.";
            reference
              "ITU-T G.997.2 clause 7.10.5.1 (ACTATPds) and clause
              7.10.5.2 (ACTATPus); ITU-T G.9701 Clause 9.8.3.2 and
              11.4.1.5.";
    
          }
    
          leaf actual-tx-psd-ps {
            type per-sub-carrier-uint8;
            description
              "Reports the transmit Power Spectral Density (PSD) per
    sub-carrier delivered by the FAST Transceiver Unit (FTU) at
    the U reference point as calculated by the Vector Control
    Entity (VCE) from the appropriate ACTPSDREF-ps.
    
    For each octet, the values 0 to 254 represent the PSD values
    of 0 to -127 dBm/Hz in steps of -0.5 dBm/Hz.
    
    A special value, 255,indicates that no transmit PSD value is
    available the sub-carrier, or its transmit power is zero, or
    is out of the range to be represented.";
            reference
              "ITU-T G.997.2 clause 7.10.6.1 (ACTPSDpsds) and clause
              7.10.6.2 (ACTPSDpsus); ITU-T G.9701 Clause 11.4.1.2.5.";
    
          }
    
          container snr {
            description
              "State data nodes related to sub-carrier Signal-to-Noise
    Ratio values.";
            leaf snr-psd-measurement-time {
              type uint16;
              units "1 symbol";
              description
                "Reports the number of symbols used to measure the SNR(f)
    values.";
              reference
                "ITU-T G.997.2 clause 7.10.8.1 (SNRMTds) and clause
                7.10.8.4 (SNRMTus); ITU-T G.9701 Clause 11.4.1.2.2.";
    
            }
    
            leaf snr-sub-carrier-group-size {
              type sub-carrier-group-size;
              description
                "Reports the number of sub-carriers in any one sub-carrier
    group used to represent the SNR(f) values.
    
    Note that in ITU-T G.9701-2014 the only valid value is
    G = 1.";
              reference
                "ITU-T G.997.2 clause 7.10.8.2 (SNRGds) and clause
                7.10.8.5 (SNRGus); ITU-T G.9701 Clause 11.4.1.2.2.";
    
            }
    
            leaf snrps {
              type per-sub-carrier-group-uint8 {
                length "0..4096";
              }
              description
                "Reports the downstream SNR(f) values.
    
    For each octet, the values 0 to 254 represent the Signal-
    to-Noise (SNR) values of -32 to 95 dB in steps of 0.5 dB
    and an offset of -64 where:
    
      SNR(f) = (snrps - 64) * 0.5
    
    A special value, 255, indicates the cases defined
    in clause 11.4.1.2.2 of [ITU-T G.9701].";
              reference
                "ITU-T G.997.2 clause 7.10.8.3 (SNRpsds) and clause
                7.10.8.6 (SNRpsus); ITU-T G.9701 Clause 11.4.1.2.2.";
    
            }
          }  // container snr
    
          leaf bitsps {
            type per-sub-carrier-nibble;
            description
              "Reports the bit allocation values on data symbols in the
    normal operation interval (NOI).
    
    For each nibble, the values 0 to 14 represent the allocated
    bits.";
            reference
              "ITU-T G.997.2 clause 7.10.11.1 (BITSpsds) and clause
              7.10.11.2 (BITSpsus); ITU-T G.9701 Clause 10.2.1.4.";
    
          }
    
          container robust-management-channel {
            description
              "Managment objects associated with the robust management
    channel(RMC).";
            leaf snr-margin {
              type snr-margin;
              description
                "Reports the signal-to-noise ratio margin (as defined in
    clause 11.4.1.1.11 of [ITU T G.9701]) for the RMC in the
    applicable direction during the L0 link state. A first
    special value (undetermined) indicates that the
    signal-to-noise ratio margin is undetermined. A second
    special value (-511) indicates that the signal-to-noise
    ratio margin is less than or equal to -51.1 dB. A third
    special value (+511) indicates that the signal-to-noise
    ratio margin is greater than or equal to +51.1dB.";
              reference
                "ITU-T G.997.2 clause 7.10.12.1 (SNRM-RMCds) and clause
                7.10.12.2 (SNRM-RMCus); ITU-T G.9701 Clause 11.4.1.4.";
    
            }
    
            leaf snr-margin-in-l2 {
              type snr-margin;
              description
                "Reports the signal-to-noise ratio margin (as defined in
    clause 11.4.1.4 of [ITU T G.9701]) for the RMC during the
    L2.1N, L2.1B and L2.2 link state. A first special value
    (undetermined) indicates that the signal-to-noise ratio
    margin is undetermined. A second special value (-511)
    indicates that the signal-to-noise ratio margin is less
    than or equal to -51.1 dB. A third special value (+511)
    indicates that the signal-to-noise ratio margin is greater
    than or equal to +51.1dB.";
              reference
                "ITU-T G.997.2 clause 7.10.16.5 (L2-SNRM-RMCds) and clause
                7.10.16.6 (L2-SNRM-RMCus); ITU-T G.9701 clause
                11.4.1.1.11";
    
            }
    
            leaf bitsps {
              type binary {
                length "0..1024";
              }
              description
                "Reports the bit allocation values on data symbols in the
    normal operation interval (NOI).
    
    This is reported via an array of 16-bit values where bits
    15:4 represent the subcarrier index and bits 3:0 represent
    the allocated bits using the values 0 and 2 to 6.
    
    The 16-bit values are loaded into the binary array in
    ascending order of the related sub-carrier-index (lowest
    sub-carrier-index first; highest sub-carrier-index last).";
              reference
                "ITU-T G.997.2 clause 7.10.12.3 and 7.10.12.4
                (BITSRMCdescriptor:bit-allocation-value).";
    
            }
          }  // container robust-management-channel
    
          leaf signal-attenuation {
            type union {
              type bbf-yang:undetermined;
              type uint16 {
                range "0..1001";
              }
            }
            units "0.1 dB";
            description
              "Reports the signal attention (SATN). A special value
    (undetermined) indicates that the value is undetermined. A
    second special value (0) indicates that the SATN is less than
    or equal to 0 dB. A third special value (1001) indicates that
    the SATN is greater than or equal to 100.1dB. The object is
    updated only in L0 link state.";
            reference
              "ITU-T G.997.2 clause 7.10.15.1 (SATNds) and 7.10.15.2
              (SATNus); ITU-T G.9701 clause 11.4.1.7.";
    
          }
    
          container qln {
            description
              "State data nodes related to sub-carrier Quiet Line
    Noise.";
            leaf qln-measurement-time {
              type uint16;
              units "1 symbol";
              description
                "Reports the number of symbols used to measure the
    downstream QLN(f) values.";
              reference
                "ITU-T G.997.2 clause 7.10.9.1 (QLNMTds) and 7.10.9.4
                (QLNMTus); ITU-T G.9701 clause 11.4.1.2.3.";
    
            }
    
            leaf qln-sub-carrier-group-size {
              type sub-carrier-group-size;
              description
                "Reports the number of sub-carriers in any one sub-carrier
    group used to represent the QLN(f) values.";
              reference
                "ITU-T G.997.2 clause 7.10.9.2 (QLNds) and 7.10.9.5 (QLNus);
                ITU-T G.9701 clause 11.4.1.2.3.";
    
            }
    
            leaf qlnps {
              type per-sub-carrier-group-uint8 {
                length "0..512";
              }
              description
                "Reports the downstream QLN(f) as one value per sub-carrier
    group.
    
    For each octet, the values, 1 to 250 represent the Quiet
    Line Noise (QLN) values of -35.5 to -160 dBm/Hz in steps of
    -0.5 dBm/Hz using an offset of 70 where:
    
      QLN(f) = (qlnps + 70) * -0.5
    
    A first special value (255) indicates that the QLN(f)
    for this sub-carrier group is undetermined.
    
    A second special value (254) indicates that no measurement
    could be done for this sub carrier group because it is out
    of the downstream MEDLEY set.
    
    A third special value (0) indicates that the QLN(f) for
    this sub-carrier group is greater than or equal to
    -35dBm/Hz.
    
    A fourth special value (251) indicates that the
    QLN(f) for this sub-carrier group is less than or equal to
    -160.5 dBm/Hz. The object is updated only in L0 link
    state.
    
    The value is updated only in L0 link state. For upstream,
    the value is also updated in the O-IDLE-TGVN state.";
              reference
                "ITU-T G.997.2 clause 7.10.9.3 (QLNpsds) and 7.10.9.6
                (QLNpsus); ITU-T G.9701 clause 11.4.1.2.3.";
    
            }
          }  // container qln
    
          container hlog {
            description
              "State data nodes related to sub-carrier Hlog.";
            leaf hlog-measurement-time {
              type uint16;
              units "1 symbol";
              description
                "Reports the number of symbols used to measure Hlog(f)
    values.";
              reference
                "ITU-T G.997.2 clause 7.10.7.1 (HLOGMT); ITU-T
                G.9701 clause 11.4.1.2.1.";
    
            }
    
            leaf hlog-sub-carrier-group-size {
              type sub-carrier-group-size;
              description
                "Reports the number of sub-carriers in any one sub-carrier
    group used to represent the Hlog(f) values.";
              reference
                "ITU-T G.997.2 clause 7.10.7.2 (HLOGG); ITU-T
                G.9701 clause 11.4.1.2.1.";
    
            }
    
            leaf hlogps {
              type per-sub-carrier-group-uint16 {
                length "0..1024";
              }
              description
                "Reports the downstream Hlog(f) as one value per sub-carrier
    group.
    
    For each pair of octets, the values, 1 to 1019 represent
    the Hlog values of 5.9 to -95.9 dB of -0.1 dB using an
    offset of -60 where:
    
      Hlog(f) = (hlogps - 60) * -0.1
    
    A first special value (1023) indicates that the Hlog(f) for
    this sub-carrier group is undetermined.
    
    A second special value (1022) indicates that no measurement
    could be done for this sub carrier group because it is out
    of the MEDLEY set.
    
    A third special value (0) indicates that the Hlog(f) for
    this sub-carrier group is greater than or equal to +6.0 dB.
    
    A fourth special value (1020) indicates that the Hlog(f)
    for this sub-carrier group is less than or equal to
    -96.0 dB. The object is updated only in L0 link state.";
              reference
                "ITU-T G.997.2 clause 7.10.7.3 (HLOGps); ITU-T
                G.9701 clause 11.4.1.2.1.";
    
            }
          }  // container hlog
        }  // grouping line-status-parameters
    
        grouping line-ftu-update-test {
          description
            "Update test parameters associated with a Fast Transceiver
    Unit.";
          leaf time-stamp-at-g1-update {
            type time-stamp-or-undefined;
            description
              "Reports the date/time when the test parameters group 1
    that can change during showtime was last updated.";
            reference
              "ITU-T G.997.2 clause 7.10.13.1 (STAMP-TEST-NE-G1) and clause
              7.10.13.2 (STAMP-TEST-FE-G1); ITU-T G.9701 clause 11.1.";
    
          }
    
          leaf time-stamp-at-g2-update {
            type time-stamp-or-undefined;
            description
              "Reports the date/time when the test parameters group 2
    that can change during showtime was last updated.";
            reference
              "ITU-T G.997.2 clause 7.10.13.3 (STAMP-TEST-NE-G2) and clause
              7.10.13.4 (STAMP-TEST-FE-G2); ITU-T G.9701 clause 11.1.";
    
          }
    
          leaf link-state-at-g1-update {
            type enumeration {
              enum "l0-link-state" {
                value 0;
                description "L0 link state.";
              }
              enum "l2.1n-link-state" {
                value 1;
                description "L2.1N link state.";
              }
              enum "l2.1b-link-state" {
                value 2;
                description "L2.1B link state.";
              }
              enum "l2.2-link-state" {
                value 3;
                description "L2.2 link state.";
              }
            }
            description
              "Report the link state during which test parameters in group 1
    were updated.";
            reference
              "ITU-T G.997.2 clause 7.14.2.2 (LINK-STATE-TEST-NE-G1) and
              clause 7.14.3 (LINK-STATE-TEST-FE-G1); ITU-T G.9701 clause
              12.1.1.7.3";
    
          }
        }  // grouping line-ftu-update-test
    
        grouping line-time-stamps {
          description
            "Time stamps associated with the upstream or downstream
    direction.";
          leaf time-stamp-last-successful-bitswap {
            type time-stamp-or-undefined;
            description
              "Reports the date/time of the last successful Fast Transceiver
    Unit (FTU) initiated Bit Swap execution that has modified the
    bits allocation.";
            reference
              "ITU-T G.997.2 clause 7.10.14.1 (STAMP-BSW-ds) and clause
              7.10.14.2 (STAMP-BSW-us); ITU-T G.9701 clause 11.2.2.5.";
    
          }
    
          leaf time-stamp-last-successful-autonomous-sra {
            type time-stamp-or-undefined;
            description
              "Reports the date/time of the last successful Fast Transceiver
    Unit (FTU) initiated autonomous Seamless Rate Adaptation
    (SRA) execution (excluding SRAs in response to Transmitter-
    Initiated Gain Adjustment (TIGA)) that has modified the
    bits allocation.";
            reference
              "ITU-T G.997.2 clause 7.10.14.3 (STAMP-SRA-ds) and clause
              7.10.14.4 (STAMP-SRA-us); ITU-T G.9701 clause 11.2.2.5.";
    
          }
    
          leaf time-stamp-last-successful-fra {
            type time-stamp-or-undefined;
            description
              "Reports the date/time of the last successful Fast Transceiver
    Unit (FTU) initiated Fast Rate Adaptation (FRA) execution
    that has modified the bits allocation.";
            reference
              "ITU-T G.997.2 clause 7.10.14.5 (STAMP-FRA-ds) and clause
              7.10.14.6 (STAMP-FRA-us); ITU-T G.9701 clause 13.3.1.1.";
    
          }
    
          leaf time-stamp-last-successful-rpa {
            type time-stamp-or-undefined;
            description
              "Reports the date/time of the last successful Fast Transceiver
    Unit (FTU) initiated Robust Managmenet Channel (RMC)
    Parameter Adjustmet (RPA) execution that has modified the
    bits allocation for the RMC.";
            reference
              "ITU-T G.997.2 clause 7.10.14.7 (STAMP-RPA-ds) and clause
              7.10.14.8 (STAMP-RPA-us); ITU-T G.9701 clause 11.2.2.5.";
    
          }
        }  // grouping line-time-stamps
    
        grouping line-ftu-failure-parameters {
          description
            "FAST Transceiver Unit (FTU) failure parameters applicable to
    both upstream and downstream. The Loss of Signal (LOS), Loss of
    RMC Channel (LOR), and Loss of Margin (LOM) failures are
    mutually exclusive and reflect the reason cause of the
    triggered re-initialization. If no LOS, LOR, or LOM failure is
    declared, then the re-initialization is triggered by a
    High_BER event (see clause 12.1.4/G.9701).";
          leaf loss-of-signal {
            type boolean;
            description
              "A Loss of Signal (LOS) failure is declared when a
    re-initialization is triggered by a persistent near-end los
    defect. A LOS failure is cleared immediately at the start of
    showtime in the receiving direction.";
            reference
              "ITU-T G.997.2 clause 7.4.1.1 (LOS) and clause 7.4.2.1
              (LOS-FE).";
    
          }
    
          leaf loss-of-rmc {
            type boolean;
            description
              "A Loss of RMC Channel (LOR) failure is declared when a
    re-initialization is triggered by a persistent near-end
    lor defect. A LOR failure is cleared immediately at the start
    of showtime in the receiving direction.";
            reference
              "ITU-T G.997.2 clause 7.4.1.2 (LOR) and clause 7.4.2.2
              (LOR-FE).";
    
          }
    
          leaf loss-of-margin {
            type boolean;
            description
              "A Loss of Margin (LOM) failure is declared when a
    re-initialization is triggered by a persistent near-end lom
    defect. A LOM failure is cleared immediately at the start of
    showtime in the receiving direction.";
            reference
              "ITU-T G.997.2 clause 7.4.1.3 (LOM) and clause 7.4.2.3
              (LOM-FE).";
    
          }
    
          leaf loss-of-power {
            type boolean;
            description
              "A Loss of Power (LPR) failure is declared after 2.5 +/- 0.5
    seconds of contiguous near-end lpr primitive presence. An LPR
    failure is cleared after 10 +/- 0.5 seconds of no near-end
    lpr primitive presence.";
            reference
              "ITU-T G.997.2 clause 7.4.1.4 (LPR) and clause 7.4.2.3
              (LPR-FE).";
    
          }
        }  // grouping line-ftu-failure-parameters
    
        grouping aln-parameters {
          description
            "Objects related to ALN(f) functionality.";
          container aln {
            description
              "State data nodes related to sub-carrier Active Line Noise
    (ALN).";
            leaf aln-measurement-time {
              type uint16;
              units "1 symbol";
              description
                "Reports the number of symbols used to measure ALN(f)
    values.";
              reference
                "ITU-T G.997.2 clause 7.10.10.1 (ALNMT); ITU-T
                G.9701 clause 11.4.1.2.4.";
    
            }
    
            leaf aln-sub-carrier-group-size {
              type sub-carrier-group-size;
              description
                "Reports the number of sub-carriers in any one sub-carrier
    group used to represent the ALN(f) values.";
              reference
                "ITU-T G.997.2 clause 7.10.10.2 (ALNG); ITU-T
                G.9701 clause 11.4.1.2.4.";
    
            }
    
            leaf alnps {
              type per-sub-carrier-group-uint8 {
                length "0..512";
              }
              description
                "Reports the downstream ALN(f) as one value per sub-carrier
    group.
    
    For each octet, the values, 1 to 250 represent the Active
    Line Noise (ALN) values of -35.5 to -160 dBm/Hz in steps of
    -0.5 dBm/Hz using an offset of 70 where:
    
      ALN(f) = (alnps + 70) * -0.5
    
    A first special value (255) indicates that the ALN(f)
    for this sub-carrier group is undetermined.
    
    A second special value (254) indicates that no measurement
    could be done for this sub carrier group because it is out
    of the downstream MEDLEY set.
    
    A third special value (0) indicates that the ALN(f) for
    this sub-carrier group is greater than or equal to
    -35dBm/Hz.
    
    A fourth special value (251) indicates that the
    ALN(f) for this sub-carrier group is less than or equal to
    -160.5 dBm/Hz. The object is updated only in L0 link
    state.";
              reference
                "ITU-T G.997.2 clause 7.10.10.3 (ALNps); ITU-T
                G.9701 clause 11.4.1.2.4.";
    
            }
          }  // container aln
        }  // grouping aln-parameters
    
        grouping xlog-parameters {
          description
            "Objects related to XLOG functionality.";
          container xlog {
            description
              "State data nodes related to sub-carrier XLOG.";
            container xlogdisturber {
              description
                "Provides information regarding the XLOG disturber to which
    the XLOG values belong.";
              leaf vce-port-index {
                type union {
                  type enumeration {
                    enum "invalid" {
                      value 0;
                      description
                        "The XLOG disturber Vector Control Entity (VCE) port
    index is invalid.";
                    }
                  }
                  type vce-port-index;
                }
                description
                  "The xlogps values are returned for the disturber line
    with this vce-port-index in the same vectored group. A
    special value (invalid) indicates an invalid
    xlog-disturber-vce-port-index.";
                reference
                  "ITU-T G.997.2 clause 7.13.2.6; ITU-T G.9701 clause
                  11.4.5.1.2";
    
              }
            }  // container xlogdisturber
    
            container xlogbands {
              description
                "Defines the set of sub-carriers for which XLOGpsds is
    reported. For each band in which XLOGpsds is reported,
    XLOGBANDSds contains a triplet of (start_subcarrier_index,
    stop_subcarrier_index, group size). The XLOGpsds is
    reported for all sub-carriers in the band (start and stop
    subcarrier inclusive) with index equal to
    start_subcarrier_index+m*group_size, with m integer. The
    object is updated only in L0 link state.";
              reference
                "ITU-T G.997.2 clause 7.10.17.1 (XLOGBANDSds); ITU-T G.9701
                clause 11.4.1.2.8.";
    
              list xlog {
                key "band-index";
                max-elements 8;
                description
                  "List of XLOG band edges.";
                leaf band-index {
                  type uint8 {
                    range "1..8";
                  }
                  description "Band index.";
                }
    
                uses sub-carrier-range {
                  refine 
                }
    
                leaf group-size {
                  type uint8 {
                    range
                      "1 | 2 | 4 | 8 | 16 | 32 | 64";
                  }
                  description
                    "The sub-carrier group size.";
                }
              }  // list xlog
            }  // container xlogbands
    
            leaf xlogps {
              type per-sub-carrier-group-uint8 {
                length "0..512";
              }
              description
                "Reports the downstream Xlog(f) as one value per sub-carrier
    group.
    
    For each octet, the values, 1 to 250 represent the Xlog
    values of +39.5 to -85 dB in steps of -0.5 dB
    using an offset of 80 where:
    
      Xlog(f) = (xlogps - 80) * -0.5
    
    A first special value (255) indicates that the Xlog(f) for
    this sub-carrier group is undetermined.
    
    A second special value (254) indicates that no measurement
    could be done for this sub-carrier group.
    
    A third special value (0) indicates that the Xlog(f) for
    this sub-carrier group is greater than or equal to +40.0
    dB.
    
    A fourth special value (251) indicates that the Xlog(f) for
    this sub-carrier group is less than or equal to -85.5 dB.
    The object is updated only in L0 link state.";
              reference
                "ITU-T G.997.2 clause 7.10.17.2 (XLOGpsds); ITU-T
                G.9701 clause 11.4.1.2.8.";
    
            }
          }  // container xlog
        }  // grouping xlog-parameters
    
        grouping line-status {
          description
            "Defines the parameters that define the operational status of
    a FAST line.";
          leaf profile {
            type profiles;
            description
              "Reports for each profile whether operation according to
    that profile is enabled or disabled. Only one profile can be
    enabled.";
            reference
              "ITU-T G.997.2 clause 7.10.1.1 (PROFILE); ITU-T G.9701
              clause 6.";
    
          }
    
          leaf link-state {
            type enumeration {
              enum "l0-link-state" {
                value 0;
                description "L0 link state.";
              }
              enum "l2.1n-link-state" {
                value 1;
                description "L2.1N link state.";
              }
              enum "l2.1b-link-state" {
                value 2;
                description "L2.1B link state.";
              }
              enum "l2.2-link-state" {
                value 3;
                description "L2.2 link state.";
              }
              enum "l3-link-state" {
                value 4;
                description "L3 link state.";
              }
            }
            description
              "Reports the actual link state.";
            reference
              "ITU-T G.997.2 clause 7.14.2.1 (LINK_STATE); ITU-T G.9701
              clause 12.1.1.6.";
    
          }
    
          leaf initialization-success-failure-cause {
            type enumeration {
              enum "successful" {
                value 0;
                description "Successful.";
              }
              enum "config-error" {
                value 1;
                description
                  "Configuration error. This error occurs if the line
    cannot reach the L0 state due to a mismatch of
    configuration and FAST Transceiver Unit (FTU)
    capabilities.";
              }
              enum "config-not-feasible" {
                value 2;
                description
                  "Configuration not feasible on the line. This error
    occurs if the line cannot reach the L0 state due to a
    mismatch of configuration and line and noise
    characteristics.";
              }
              enum "communication-problem" {
                value 3;
                description
                  "Communication problem. This error occurs, for example,
    due to corrupted messages or bad syntax messages or if
    no common mode can be selected in the ITU-T G.994.1
    handshaking procedure or due to a timeout.";
              }
              enum "no-far-end-ftu-detected" {
                value 4;
                description
                  "No far-end FAST Transceiver Unit (FTU) detected. This
    error occurs if the far-end FTU is not powered or not
    connected or if the line is too long to allow detection
    of a far-end FTU.";
              }
              enum "unknown" {
                value 5;
                description
                  "Any other or unknown initialization failure cause.";
              }
            }
            description
              "Reports whether the last full or short initialization
    procedure was successful. If the last initialization
    procedure was not successful, this parameter provides
    the reason.";
            reference
              "ITU-T G.997.2 clause 7.10.2.1 (INITFSCAUSE); ITU-T G.9701
              clause 12.3.1.";
    
          }
    
          leaf annex-x-enabled {
            if-feature bbf-fast:annex-x;
            type boolean;
            description
              "Indicates whether Annex X operation is enabled.";
            reference
              "ITU-T G.997.2 clause T.3.1 (ANNEX_X_ENABLED),
              ITU-T G.9701 clause X.6.8.1.";
    
          }
    
          leaf annex-d-enabled {
            if-feature bbf-fast:annex-d;
            type boolean;
            description
              "Indicates whether Annex D operation is enabled.";
            reference
              "ITU-T G.997.2 clause T.3.3 (ANNEX_D_ENABLED),
              ITU-T G.9701 clause D.5.8.1.";
    
          }
    
          leaf idta-enabled {
            if-feature (bbf-fast:dta and bbf-fast:annex-x);
            type boolean;
            description
              "Indicates whether independent Dynamic Time Assignment (iDTA)
    is enabled.";
            reference
              "ITU-T G.9701 clause T.3.2 (DTA_ENABLED),
              ITU-T G.9701 clause X.6.8.2.";
    
          }
    
          leaf cdta-procedure-actual-type {
            if-feature (bbf-fast:dta and bbf-fast:annex-d);
            type enumeration {
              enum "disabled" {
                value 0;
                description
                  "Coordinated Dynamic Time Assignment (cDTA) is disabled
    (see clause D.5.8.2).";
              }
              enum "one-step" {
                value 1;
                description
                  "Dynamic Resource Allocation (DRA) uses one-step
    Coordinated Dynamic Time Assignment (cDTA)
    procedure (see clause D.5.8.2).";
              }
              enum "two-step" {
                value 2;
                description
                  "Dynamic Resource Allocation (DRA) uses two-step
    Coordinated Dynamic Time Assignment (cDTA) procedure
    (see clause D.5.8.2).";
              }
            }
            description
              "Indicates which Coordinated Dynamic Time Assignment (cDTA)
    procedure is used by the Dynamic Resource Allocation (DRA)
    according to Annex D.";
            reference
              "ITU-T G.997.2 clause T.3.4 (CDTA_PROC_ACT),
              ITU-T G.9701 clause D.5.8.2.";
    
          }
    
          container ftu-o {
            description
              "Line status parameters associated with the Fast
    Transceiver Unit - central Office (FTU-O) (Near End).";
            container update-test {
              description
                "Test update parameters.";
              uses line-ftu-update-test;
            }  // container update-test
    
            container failures {
              description
                "Failure related status.";
              leaf line-initialization-failure {
                type boolean;
                description
                  "When the transmitter enters the SILENT state and
    fails to reach the SHOWTIME state (after a vendor
    discretionary number of retries and/or within a vendor
    discretionary timeout), then an initialization failure
    occurs. An initialization failure cause and last
    successful transmitted state are reported (see clause
    7.10.2).";
                reference
                  "ITU-T G.997.2 clause 7.4.3 (LINIT).";
    
              }
    
              uses line-ftu-failure-parameters;
            }  // container failures
          }  // container ftu-o
    
          container ftu-r {
            description
              "Line status parameters associated with the Fast
    Transceiver Unit - Remote side (FTU-R) (Far End).";
            container update-test {
              description
                "Test update parameters.";
              uses line-ftu-update-test;
            }  // container update-test
    
            container failures {
              description
                "Failure related status.";
              uses line-ftu-failure-parameters;
            }  // container failures
    
            leaf minimum-mds-supported {
              type uint8 {
                range "0 | 5..10";
              }
              description
                "If Annex D is enabled (see clause T.3.3), it reports the
    minimal Mds for use in cDTA supported by the FTU-R.
    Otherwise, a special value (0) is reported.";
              reference
                "ITU-T G.997.2 Clause T.3.5.";
    
            }
          }  // container ftu-r
    
          container downstream {
            description
              "Line status parameters associated with the downstream
    direction.";
            leaf initialization-last-transmitted-signal {
              type uint8 {
                range "0..21";
              }
              description
                "Reports the downstream signal count of the last
    transmitted initialization signal in the last full or
    short initialization performed on the line.  The
    downstream signal count is defined in clause
    12.3.1/G.9701.";
              reference
                "ITU-T G.997.2 clause 7.10.2.2 (INITLASTSIGNALds); ITU-T
                G.9701 clause 12.3.1";
    
            }
    
            uses line-status-parameters;
    
            uses aln-parameters;
    
            uses xlog-parameters;
    
            container time-stamps {
              description
                "Time stamps of certain status parameters.";
              uses line-time-stamps;
    
              leaf time-stamp-last-successful-tiga {
                type time-stamp-or-undefined;
                description
                  "Reports the date/time of the last successful FAST
    Transceiver Unit - central Office (FTU-O) initiated
    Transmitter-Initiated Gain Adjustment (TIGA)
    execution.";
                reference
                  "ITU-T G.997.2 clause 7.10.14.9 (STAMP-TIGA); ITU-T
                  G.9701 clause 11.2.2.5.";
    
              }
    
              leaf time-stamp-last-successful-srec {
                if-feature bbf-fast:srec;
                type time-stamp-or-undefined;
                description
                  "Reports the date/time of the last successful FAST
    Transceiver Unit - central Office (FTU-O) initiated
    (local or remote) Showtime Reconfiguration (SREC)
    execution.";
                reference
                  "ITU-T G.997.2 clause 7.10.14.10 (STAMP-SREC);
                  ITU-T G.9701 Annex R.";
    
              }
            }  // container time-stamps
          }  // container downstream
    
          container upstream {
            description
              "Line status parameters associated with the downstream
    direction.";
            leaf initialization-last-received-signal {
              type uint8 {
                range "0..10";
              }
              description
                "Reports the upstream signal count of the last
    transmitted initialization signal in the last full or
    short initialization performed on the line.  The
    upstream signal count is defined in clause
    12.3.1/G.9701.";
              reference
                "ITU-T G.997.2 clause 7.10.2.3 (INITLASTSIGNALus); ITU-T
                G.9701 clause 12.3.1";
    
            }
    
            uses line-status-parameters;
    
            container time-stamps {
              description
                "Time stamps of certain status parameters.";
              uses line-time-stamps;
            }  // container time-stamps
          }  // container upstream
        }  // grouping line-status
    
        grouping line-read-test-parameters {
          description
            "Objects used to configure test parameters on a line
    corresponding to how the test parameters are read.";
          container downstream {
            description
              "Parameters associated with the downstream direction.";
            leaf xlog-disturber-vce-port-index {
              type vce-port-index;
              default "undefined";
              description
                "Upon a read of the XLOG test parameter, the xlogps values
    are returned for the disturber line with this
    vce-port-index in the same vectored group.";
              reference
                "ITU-T G.997.2 clause 7.13.2.6; ITU-T G.9701 clause
                11.4.5.1.2";
    
            }
          }  // container downstream
        }  // grouping line-read-test-parameters
    
        grouping line-performance-ftu-o-parameters {
          description
            "Defines the performance parameters applicable only
    to the FAST Transceiver Unit - central Office (FTU-O) of FAST
    lines.";
          leaf successful-tiga {
            type bbf-yang:performance-counter32;
            description
              "Reports a count of the successful TIGA primitives
    (success_TIGA). The successful TIGA primitive
    (success_TIGA) is defined in clause 11.3.1.6/G.9701.";
            reference
              "ITU-T G.997.2 clause 7.7.25 (CURR/PREV_NE/FE_15/24_TIGA).";
    
          }
    
          leaf full-initializations {
            type bbf-yang:performance-counter32;
            description
              "Reports a count of the full initialization primitives
    (full_init). The full initialization primitive (full_init)
    is defined in clause 11.3.1.5/G.9701. ";
            reference
              "ITU-T G.997.2 clause 7.7.13 (CURR/PREV_15/24_FULL_INITS).";
    
          }
    
          leaf failed-full-initializations {
            type bbf-yang:performance-counter32;
            description
              "Reports a count of the failed full initialization
    primitives(failedfull_init). The failed full initialization
    primitive(failedfull_init) is defined in clause
    11.3.1.5/G.9701.";
            reference
              "ITU-T G.997.2 clause 7.7.14
              (CURR/PREV_15/24_FAILEDFULL_INITS).";
    
          }
    
          leaf fast-initializations {
            type bbf-yang:performance-counter32;
            description
              "Reports a count of the fast initialization primitives
    (fast_init). The fast initialization primitive (fast_init)
    is defined in clause 11.3.1.5/G.9701.";
            reference
              "ITU-T G.997.2 clause 7.7.15 (CURR/PREV_15/24_FAST_INITS).";
    
          }
    
          leaf failed-fast-initializations {
            type bbf-yang:performance-counter32;
            description
              "Reports a count of the failed fast initialization
    primitives(failedfast_init). The failed fast initialization
    primitive(failedfast_init) is defined in clause
    11.3.1.5/G.9701.";
            reference
              "ITU-T G.997.2 clause 7.7.16
              (CURR/PREV_15/24_FAILEDFAST_INITS).";
    
          }
    
          leaf loss-of-power-interruptions {
            type bbf-yang:performance-counter32;
            description
              "Reports a count of the loss-of-power interruption anomalies
    (lpr_intrpt). The loss-of-power interruption anomaly
    (lpr_intrpt) is defined in clause 11.3.1.1/G.9701.";
            reference
              "ITU-T G.997.2 clause 7.7.17 (CURR/PREV_15/24_LPR_INTRPT).";
    
          }
    
          leaf host-reinit-interruptions {
            type bbf-yang:performance-counter32;
            description
              "Reports a count of the host-reinit interruption anomalies
    (hri_intrpt). The host-reinit interruption anomaly
    (hri_intrpt) is defined in clause 11.3.1.1/G.9701.";
            reference
              "ITU-T G.997.2 clause 7.7.18 (CURR/PREV_15/24_HRI_INTRPT).";
    
          }
    
          leaf spontaneous-interruptions {
            type bbf-yang:performance-counter32;
            description
              "Reports a count of the spontaneous interruption anomalies
    (spont_intrpt). The spontaneous interruption anomaly
    (spont_intrpt) is defined in clause 11.3.1.1/G.9701.";
            reference
              "ITU-T G.997.2 clause 7.7.19
              (CURR/PREV_15/24_SPONT_INTRPT).";
    
          }
    
          leaf successful-srec {
            if-feature bbf-fast:srec;
            type bbf-yang:performance-counter32;
            description
              "Reports a count of success_srec primitives.
    The success_srec primitive is defined in
    clause R.3 of [ITU-T G.9701].";
            reference
              "ITU-T G.997.2 clause 7.7.30
              (CURR/PREV_15/24_SUCCESS_SREC).";
    
          }
    
          leaf me-o-triggered-interruptions {
            if-feature bbf-fast:srec;
            type bbf-yang:performance-counter32;
            description
              "Reports a count of me_o_intrpt anomalies.
    The me_o_intrpt anomaly is defined in
    clause 11.3.1.1 of [ITU-T G.9701].";
            reference
              "ITU-T G.997.2 clause 7.7.29
              (CURR/PREV_NE/FE_SUCCESS_ME_O_INTRPT).";
    
          }
        }  // grouping line-performance-ftu-o-parameters
    
        grouping line-performance-ftu-o-15min-parameters {
          description
            "Defines the 15 minute performance parameters applicable only
    to the FAST Transceiver Unit - central Office (FTU-O) of FAST
    lines.";
          leaf link-state-l2.1n-seconds {
            type seconds-counter-15min;
            units "1 second";
            description
              "Reports the time spent in LinkState L2.1N in seconds,
    accumulated over the relevant period, rounded up to the
    nearest second.";
            reference
              "ITU-T G.997.2 clause 7.14.3.1
              (CURR/PREV_15/24_L21N); ITU-T G.9701 Table Z-5";
    
          }
    
          leaf link-state-l2.1b-seconds {
            type seconds-counter-15min;
            units "1 second";
            description
              "Reports the time spent in LinkState L2.1B in seconds,
    accumulated over the relevant period, rounded up to the
    nearest second.";
            reference
              "ITU-T G.997.2 clause 7.14.3.2
              (CURR/PREV_15/24_L21B); ITU-T G.9701 Table Z-5";
    
          }
    
          leaf link-state-l2.2-seconds {
            type seconds-counter-15min;
            units "1 second";
            description
              "Reports the time spent in LinkState L2.2 in seconds,
    accumulated over the relevant period, rounded up to the
    nearest second.";
            reference
              "ITU-T G.997.2 clause 7.14.3.3
              (CURR/PREV_15/24_L22); ITU-T G.9701 Table Z-5";
    
          }
        }  // grouping line-performance-ftu-o-15min-parameters
    
        grouping line-performance-ftu-o-24hr-parameters {
          description
            "Defines the 24 hour performance parameters applicable only
    to the FAST Transceiver Unit - central Office (FTU-O) of FAST
    lines.";
          leaf link-state-l2.1n-seconds {
            type seconds-counter-24hr;
            units "1 second";
            description
              "Reports the time spent in LinkState L2.1N in seconds,
    accumulated over the relevant period, rounded up to the
    nearest second.";
            reference
              "ITU-T G.997.2 clause 7.14.3.1
              (CURR/PREV_15/24_L21N); ITU-T G.9701 Table Z-5";
    
          }
    
          leaf link-state-l2.1b-seconds {
            type seconds-counter-24hr;
            units "1 second";
            description
              "Reports the time spent in LinkState L2.1B in seconds,
    accumulated over the relevant period, rounded up to the
    nearest second.";
            reference
              "ITU-T G.997.2 clause 7.14.3.2
              (CURR/PREV_15/24_L21B); ITU-T G.9701 Table Z-5";
    
          }
    
          leaf link-state-l2.2-seconds {
            type seconds-counter-24hr;
            units "1 second";
            description
              "Reports the time spent in LinkState L2.2 in seconds,
    accumulated over the relevant period, rounded up to the
    nearest second.";
            reference
              "ITU-T G.997.2 clause 7.14.3.3
              (CURR/PREV_15/24_L22); ITU-T G.9701 Table Z-5";
    
          }
        }  // grouping line-performance-ftu-o-24hr-parameters
    
        grouping line-performance-parameters {
          description
            "Defines the performance parameters for FAST lines.";
          leaf loss-of-signal {
            type bbf-yang:performance-counter32;
            description
              "Reports a count of the Loss-of-signal (LOS) failures.";
            reference
              "ITU-T G.997.2 clause 7.7.4 (CURR/PREV_NE/FE_15/24_LOS).";
    
          }
    
          leaf loss-of-margin {
            type bbf-yang:performance-counter32;
            description
              "Reports a count of the Loss-of-margin (LOM) failures.";
            reference
              "ITU-T G.997.2 clause 7.7.6 (CURR/PREV_NE/FE_15/24_LOM).";
    
          }
    
          leaf loss-of-rmc {
            type bbf-yang:performance-counter32;
            description
              "Reports a count of the Loss-of-RMC (LOR) failures.";
            reference
              "ITU-T G.997.2 clause 7.7.5 (CURR/PREV_NE/FE_15/24_LOR).";
    
          }
    
          leaf loss-of-power {
            type bbf-yang:performance-counter32;
            description
              "reports a count of the Loss-of-power (LPR) failures.";
            reference
              "ITU-T G.997.2 clause 7.7.7 (CURR/PREV_NE/FE_15/24_LPR).";
    
          }
    
          leaf successful-bit-swaps {
            type bbf-yang:performance-counter32;
            description
              "Reports a count of the successful bit swap primitives
    (success_BSW). The successful bit swap primitive
    (success_BSW) is defined in clause 11.3.1.6/G.9701.";
            reference
              "ITU-T G.997.2 clause 7.7.21 (CURR/PREV_NE/FE_15/24_BSW).";
    
          }
    
          leaf successful-autonomous-sra {
            type bbf-yang:performance-counter32;
            description
              "Reports a count of the successful autonomous SRA primitives
    (success_SRA). The successful autonomous SRA primitive
    (success_SRA) is defined in clause 11.3.1.6/G.9701.";
            reference
              "ITU-T G.997.2 clause 7.7.22 (CURR/PREV_NE/FE_15/24_SRA).";
    
          }
    
          leaf successful-fra {
            type bbf-yang:performance-counter32;
            description
              "Reports a count of the successful FRA primitives
    (success_FRA). The successful FRA primitive (success_FRA)
    is defined in clause 11.3.1.6/G.9701.";
            reference
              "ITU-T G.997.2 clause 7.7.23 (CURR/PREV_NE/FE_15/24_FRA).";
    
          }
    
          leaf successful-rpa {
            type bbf-yang:performance-counter32;
            description
              "Reports a count of the successful RPA primitives
    (success_RPA). The successful RPA primitive (success_RPA)
    is defined in clause 11.3.1.6/G.9701.";
            reference
              "ITU-T G.997.2 clause 7.7.24 (CURR/PREV_NE/FE_15/24_RPA).";
    
          }
    
          list inminpeq {
            if-feature bbf-fast:impulse-noise-monitoring;
            key "inminpeq-index";
            description
              "Reports the count of the INMAINPEQi anomalies occurring on
    the line during the accumulation period.";
            reference
              "ITU-T G.997.2 clause 7.7.28.1
              (CURR/PREV_NE/FE_15/24_INMINPEQ).
              ITU-T G.9701 clause 11.4.4.7.3.1.";
    
            leaf inminpeq-index {
              type uint8 {
                range "1..17";
              }
              description
                "Identifies the INMAINPEQ histogram bin.";
            }
    
            leaf inminpeq {
              type bbf-yang:performance-counter32;
              description
                "Count of the INMAINPEQ anomalies.";
            }
          }  // list inminpeq
    
          leaf inmame {
            if-feature bbf-fast:impulse-noise-monitoring;
            type bbf-yang:performance-counter32;
            description
              "Reports the count of the INMAME anomalies occurring on the
    line during the accumulation period.";
            reference
              "ITU-T G.997.2 clause 7.7.28.2
              (CURR/PREV_NE/FE_15/24_INMAME).
              ITU-T G.9701 clause 11.4.4.7.3.2.";
    
          }
    
          list inmiat {
            if-feature bbf-fast:impulse-noise-monitoring;
            key "inminiat-index";
            description
              "Reports the count of the INMAIATi anomalies occurring on the
    line during the accumulation period.";
            reference
              "ITU-T G.997.2 clause 7.7.28.3 (CURR/PREV_NE/FE_15/24_INMIAT).
              ITU-T G.9701 clause 11.4.4.7.3.3.";
    
            leaf inminiat-index {
              type uint8 {
                range "0..7";
              }
              description
                "Identifies the INMAIAT histogram bin.";
            }
    
            leaf inmiat {
              type bbf-yang:performance-counter32;
              description
                "Count of the INMAIAT anomalies.";
            }
          }  // list inmiat
    
          leaf inmblfc {
            if-feature bbf-fast:impulse-noise-monitoring;
            type bbf-yang:performance-counter32;
            description
              "Reports the count of the INMBLFC anomalies occurring on the
    line during the accumulation period.";
            reference
              "ITU-T G.997.2 clause 7.7.28.4
              (CURR/PREV_NE/FE_15/24_INMBLFC).
              ITU-T G.9701 clause 11.4.4.7.3.4.";
    
          }
        }  // grouping line-performance-parameters
    
        grouping line-performance-15min-parameters {
          description
            "Defines the 15 minute performance parameters for FAST lines.";
          leaf errored-seconds {
            type seconds-counter-15min;
            description
              "Reports the count of errored seconds (ES). 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).";
    
          }
    
          leaf severely-errored-seconds {
            type seconds-counter-15min;
            description
              "Reports the count of severely errored seconds (SES).
    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).";
    
          }
    
          leaf loss-of-signal-seconds {
            type seconds-counter-15min;
            description
              "Reports the count of loss of signal (los) seconds (LOSS).
    A los second (LOSS) is defined in clause 11.4.4.4/G.9701.";
            reference
              "ITU-T G.997.2 clause 7.7.10 (CURR/PREV_NE/FE_15/24_LOSS).";
    
          }
    
          leaf loss-of-rmc-seconds {
            type seconds-counter-15min;
            description
              "Reports the count of loss of Robust Managmenet Channel (RMC)
    (lor) seconds (LORS). A lor second (LORS) is defined in
    clause 11.4.4.5/G.9701.";
            reference
              "ITU-T G.997.2 clause 7.7.11 (CURR/PREV_NE/FE_15/24_LORS).";
    
          }
    
          leaf unavailable-seconds {
            type seconds-counter-15min;
            description
              "Reports the count of unavailable seconds (UAS). 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).";
    
          }
        }  // grouping line-performance-15min-parameters
    
        grouping line-performance-24hr-parameters {
          description
            "Defines the 24 hour performance parameters for FAST lines.";
          leaf errored-seconds {
            type seconds-counter-24hr;
            description
              "Reports the count of errored seconds (ES). 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).";
    
          }
    
          leaf severely-errored-seconds {
            type seconds-counter-24hr;
            description
              "Reports the count of severely errored seconds (SES).
    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).";
    
          }
    
          leaf loss-of-signal-seconds {
            type seconds-counter-24hr;
            description
              "Reports the count of loss of signal (los) seconds (LOSS).
    A los second (LOSS) is defined in clause 11.4.4.4/G.9701.";
            reference
              "ITU-T G.997.2 clause 7.7.10 (CURR/PREV_NE/FE_15/24_LOSS).";
    
          }
    
          leaf loss-of-rmc-seconds {
            type seconds-counter-24hr;
            description
              "Reports the count of loss of Robust Management Channel (RMC)
    (lor) seconds (LORS). A lor second (LORS) is defined in
    clause 11.4.4.5/G.9701.";
            reference
              "ITU-T G.997.2 clause 7.7.11 (CURR/PREV_NE/FE_15/24_LORS).";
    
          }
    
          leaf unavailable-seconds {
            type seconds-counter-24hr;
            description
              "Reports the count of unavailable seconds (UAS). 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).";
    
          }
        }  // grouping line-performance-24hr-parameters
    
        grouping line-performance {
          description
            "Defines the parameters required for performance
    management of FAST lines.";
          container performance {
            description
              "Performance parameters.";
            container intervals-15min {
              description
                "15 minute interval performance history.";
              container current {
                description
                  "Contains the counts that are currently accumulating.";
                container ftu-o {
                  description
                    "Fast Transceiver Unit - central Office (FTU-O).";
                  uses performance-history-measured-time;
    
                  uses line-performance-parameters;
    
                  uses line-performance-15min-parameters;
    
                  uses line-performance-ftu-o-parameters;
    
                  uses line-performance-ftu-o-15min-parameters;
                }  // container ftu-o
    
                container ftu-r {
                  description
                    "Fast Transceiver Unit - Remote side (FTU-R).";
                  uses performance-history-measured-time;
    
                  uses line-performance-parameters;
    
                  uses line-performance-15min-parameters;
                }  // container ftu-r
              }  // container current
    
              uses performance-15min-history-parameters;
    
              list history {
                key "interval-number";
                max-elements 96;
                description
                  "A history of 15 minute intervals.";
                leaf interval-number {
                  type performance-15min-history-interval;
                  description
                    "The number of the interval relative to the current
    interval.";
                }
    
                container ftu-o {
                  description
                    "Fast Transceiver Unit - central Office (FTU-O).";
                  uses performance-history-15min-interval-parameters;
    
                  uses line-performance-parameters;
    
                  uses line-performance-15min-parameters;
    
                  uses line-performance-ftu-o-parameters;
    
                  uses line-performance-ftu-o-15min-parameters;
                }  // container ftu-o
    
                container ftu-r {
                  description
                    "Fast Transceiver Unit - Remote side (FTU-R).";
                  uses performance-history-15min-interval-parameters;
    
                  uses line-performance-parameters;
    
                  uses line-performance-15min-parameters;
                }  // container ftu-r
              }  // list history
            }  // container intervals-15min
    
            container intervals-24hr {
              if-feature bbf-fast:performance-24hr;
              description
                "24 hour interval performance history.";
              container current {
                description
                  "Contains the counts that are currently accumulating.";
                container ftu-o {
                  description
                    "Fast Transceiver Unit - central Office (FTU-O).";
                  uses performance-history-measured-time;
    
                  uses line-performance-parameters;
    
                  uses line-performance-24hr-parameters;
    
                  uses line-performance-ftu-o-parameters;
    
                  uses line-performance-ftu-o-24hr-parameters;
                }  // container ftu-o
    
                container ftu-r {
                  description
                    "Fast Transceiver Unit - Remote side (FTU-R).";
                  uses performance-history-measured-time;
    
                  uses line-performance-parameters;
    
                  uses line-performance-24hr-parameters;
                }  // container ftu-r
              }  // container current
    
              uses performance-24hr-history-parameters;
    
              list history {
                key "interval-number";
                max-elements 7;
                description
                  "A history of 24 hour intervals.";
                leaf interval-number {
                  type performance-24hr-history-interval;
                  description
                    "The number of the interval relative to the current
    interval.";
                }
    
                container ftu-o {
                  description
                    "Fast Transceiver Unit - central Office (FTU-O).";
                  uses performance-history-24hr-interval-parameters;
    
                  uses line-performance-parameters;
    
                  uses line-performance-24hr-parameters;
    
                  uses line-performance-ftu-o-parameters;
    
                  uses line-performance-ftu-o-24hr-parameters;
                }  // container ftu-o
    
                container ftu-r {
                  description
                    "Fast Transceiver Unit - Remote side (FTU-R).";
                  uses performance-history-24hr-interval-parameters;
    
                  uses line-performance-parameters;
    
                  uses line-performance-24hr-parameters;
                }  // container ftu-r
              }  // list history
            }  // container intervals-24hr
          }  // container performance
        }  // grouping line-performance
    
        grouping channel-test-parameters {
          description
            "Defines channel test parameters.";
          leaf error-free-bits {
            type error-free-bits-count;
            description
              "Reports the number of error-free bits (see clause
    11.4.1.1.6/G.9701) passed over the alpha reference
    point at the receiver, divided by 65536.";
            reference
              "ITU-T G.997.2 clause 7.11.5.1-7.11.5.4 (EFB-C15M,
              EFB-P15M,EFB-C24H,EFB-P24H); ITU-T G.9701 Clause
              11.4.1.1.6.";
    
          }
    
          leaf minimum-error-free-throughput {
            type error-free-throughput;
            description
              "Reports the minimum error-free throughput (see
    clause 11.4.1.1.3/G.9701).";
            reference
              "ITU-T G.997.2 clause 7.11.5.5-7.11.5.8 (MINEFTR-C15M,
              MINEFTR-P15M,MINEFTR-C24H,MINEFTR-P24H); ITU-T G.9701
              Clause 11.4.1.1.3.";
    
          }
        }  // grouping channel-test-parameters
    
        grouping channel-performance-parameters {
          description
            "Defines the performance parameters for FAST bearer
    channels.";
          uses channel-test-parameters;
    
          leaf code-violations {
            type bbf-yang:performance-counter32;
            description
              "Reports a count of the cyclic redundancy check anomalies
    (crc). 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).";
    
          }
    
          leaf uncorrected-dtus {
            type bbf-yang:performance-counter32;
            description
              "Reports a count of the uncorrected Data Transfer Unit (DTU)
    anomalies (rtx-uc). 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.5 (CURR/PREV_NE/FE_15/24_RTXUC).";
    
          }
    
          leaf retransmitted-dtus {
            type bbf-yang:performance-counter32;
            description
              "Reports a count of the retransmitted Data Transfer Unit (DTU)
    anomalies (rtx-tx). 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.6 (CURR/PREV_NE/FE_15/24_RTXTX).";
    
          }
    
          leaf minimum-andeftr {
            if-feature bbf-fast:andeftr;
            type bbf-yang:data-rate32;
            description
              "Reports the minimum All NOI with Data symbols Error-Free
    Throughput Rate (ANDEFTR) over the associated time
    interval.";
            reference
              "ITU-T G.997.2 clause 7.8.9
              (MINANDEFTR_CURR/PREV_NE/FE_15/24)";
    
          }
    
          leaf maximum-andeftr {
            if-feature bbf-fast:andeftr;
            type bbf-yang:data-rate32;
            description
              "Reports the maximum All NOI with Data symbols Error-Free
    Throughput Rate (ANDEFTR) over the associated time
    interval.";
            reference
              "ITU-T G.997.2 clause 7.8.10
              (MAXANDEFTR_CURR/PREV_NE/FE_15/24)";
    
          }
    
          leaf sum-andeftr {
            if-feature bbf-fast:andeftr;
            type uint32;
            units "65536 bits";
            description
              "Reports the sum of All NOI with Data symbols Error-Free
    Throughput Rate (ANDEFTR) bits, divided by 65536, over the
    associated time interval.
    
    Note: SUMANDEFTR and ANDEFTRDS can be used to compute the
          mean of ANDEFTR.";
            reference
              "ITU-T G.997.2 clause 7.8.11
              (SUMANDEFTR_CURR/PREV_NE/FE_15/24)";
    
          }
        }  // grouping channel-performance-parameters
    
        grouping channel-performance-parameters-15min {
          description
            "Defines the 15 minute performance parameters for FAST bearer
    channels.";
          leaf low-andeftr-seconds {
            if-feature bbf-fast:andeftr;
            type seconds-counter-15min;
            description
              "Reports the count of Low All NOI with Data symbols Error-Free
    Throughput Rate (ANDEFTR) seconds.";
            reference
              "ITU-T G.997.2 clause 7.8.7 (CURR/PREV_NE/FE_15_LANDEFTRS)";
    
          }
    
          leaf andeftr-defined-seconds {
            if-feature bbf-fast:andeftr;
            type seconds-counter-15min;
            description
              "Reports the count of All NOI with Data symbols Error-Free
    Throughput Rate (ANDEFTR) defined seconds.";
            reference
              "ITU-T G.997.2 clause 7.8.8 (CURR/PREV_NE/FE_15_ANDEFTRDS)";
    
          }
        }  // grouping channel-performance-parameters-15min
    
        grouping channel-performance-parameters-24hr {
          description
            "Defines the 24 hour performance parameters for FAST bearer
    channels.";
          leaf low-andeftr-seconds {
            if-feature bbf-fast:andeftr;
            type seconds-counter-24hr;
            description
              "Reports the count of Low All NOI with Data symbols Error-Free
    Throughput Rate (ANDEFTR) seconds.";
            reference
              "ITU-T G.997.2 clause 7.8.7 (CURR/PREV_NE/FE_24_LANDEFTRS)";
    
          }
    
          leaf andeftr-defined-seconds {
            if-feature bbf-fast:andeftr;
            type seconds-counter-24hr;
            description
              "Reports the count of All NOI with Data symbols Error-Free
    Throughput Rate (ANDEFTR) defined seconds.";
            reference
              "ITU-T G.997.2 clause 7.8.8 (CURR/PREV_NE/FE_24_ANDEFTRDS)";
    
          }
        }  // grouping channel-performance-parameters-24hr
    
        grouping channel-performance {
          description
            "Defines the parameters required for performance
    management of FAST lines.";
          container performance {
            description
              "Performance parameters.";
            container intervals-15min {
              description
                "15 minute interval performance history.";
              container current {
                description
                  "Contains the counts that are currently accumulating.";
                container ftu-o {
                  description
                    "Fast Transceiver Unit - central Office.";
                  uses performance-history-measured-time;
    
                  uses channel-performance-parameters;
    
                  uses channel-performance-parameters-15min;
                }  // container ftu-o
    
                container ftu-r {
                  description
                    "Fast Transceiver Unit - Remote side.";
                  uses performance-history-measured-time;
    
                  uses channel-performance-parameters;
    
                  uses channel-performance-parameters-15min;
                }  // container ftu-r
              }  // container current
    
              uses performance-15min-history-parameters;
    
              list history {
                key "interval-number";
                max-elements 96;
                description
                  "A history of 15 minute intervals.";
                leaf interval-number {
                  type performance-15min-history-interval;
                  description
                    "The number of the interval relative to the current
    interval.";
                }
    
                container ftu-o {
                  description
                    "Fast Transceiver Unit - central Office.";
                  uses performance-history-15min-interval-parameters;
    
                  uses channel-performance-parameters;
    
                  uses channel-performance-parameters-15min;
                }  // container ftu-o
    
                container ftu-r {
                  description
                    "Fast Transceiver Unit - Remote side.";
                  uses performance-history-15min-interval-parameters;
    
                  uses channel-performance-parameters;
    
                  uses channel-performance-parameters-15min;
                }  // container ftu-r
              }  // list history
            }  // container intervals-15min
    
            container intervals-24hr {
              if-feature bbf-fast:performance-24hr;
              description
                "24 hour interval performance history.";
              container current {
                description
                  "Contains the counts that are currently accumulating.";
                container ftu-o {
                  description
                    "Fast Transceiver Unit - central Office.";
                  uses performance-history-measured-time;
    
                  uses channel-performance-parameters;
    
                  uses channel-performance-parameters-24hr;
                }  // container ftu-o
    
                container ftu-r {
                  description
                    "Fast Transceiver Unit - Remote side.";
                  uses performance-history-measured-time;
    
                  uses channel-performance-parameters;
    
                  uses channel-performance-parameters-24hr;
                }  // container ftu-r
              }  // container current
    
              uses performance-24hr-history-parameters;
    
              list history {
                key "interval-number";
                max-elements 96;
                description
                  "A history of 24 hour intervals.";
                leaf interval-number {
                  type performance-24hr-history-interval;
                  description
                    "The number of the interval relative to the current
    interval.";
                }
    
                container ftu-o {
                  description
                    "Fast Transceiver Unit - central Office.";
                  uses performance-history-24hr-interval-parameters;
    
                  uses channel-performance-parameters;
    
                  uses channel-performance-parameters-24hr;
                }  // container ftu-o
    
                container ftu-r {
                  description
                    "Fast Transceiver Unit - Remote side.";
                  uses performance-history-24hr-interval-parameters;
    
                  uses channel-performance-parameters;
    
                  uses channel-performance-parameters-24hr;
                }  // container ftu-r
              }  // list history
            }  // container intervals-24hr
          }  // container performance
        }  // grouping channel-performance
    
        grouping channel-status-parameters {
          description
            "Bearer channel status parameters applicable to both
    upstream and downstream.";
          leaf net-data-rate {
            type bbf-yang:data-rate32-or-undetermined;
            description
              "Reports the Net Data Rate (NDR) as defined in clause
    11.4.1.1.1 of [ITU-T G.9701]. A special value (undetermined)
    indicates that the NDR is undetermined. The object is updated
    only in L0 link state.";
            reference
              "ITU-T G.997.2 clause 7.11.1.1 (NDR).";
    
          }
    
          leaf net-data-rate-in-l2.1 {
            type bbf-yang:data-rate32-or-undetermined;
            description
              "Reports the Net Data Rate (NDR) in L2.1N and L2.1B link
    states as defined in clause 11.4.1.1.12 of [ITU-T G.9701]. A
    special value (undetermined) indicates that the NDR is
    undetermined. The object is updated only in L2.1N and L2.1B
    link states.";
            reference
              "ITU-T G.997.2 clause 7.11.6.1 (L2.1-NDRds/us).";
    
          }
    
          leaf net-data-rate-in-l2.2 {
            type bbf-yang:data-rate32-or-undetermined;
            description
              "Reports the Net Data rate (NDR) in L2.2 link state as defined
    in clause 11.4.1.1.13 of [ITU-T G.9701]. A special value
    (undetermined) indicates that the NDR is undetermined. The
    object is updated only in L2.2 link state. ";
            reference
              "ITU-T G.997.2 clause 7.11.6.2 (L2.2-NDRds/us)";
    
          }
    
          leaf expected-throughput {
            type bbf-yang:data-rate32-or-undetermined;
            description
              "Reports the expected throughput as defined in clause
    11.4.1.1.3 of [ITU-T G.9701]. A special value (undetermined)
    indicates that the NDR is undetermined. The object is updated
    only in L0 link state.";
            reference
              "ITU-T G.997.2 clause 7.11.1.2 (ETR).";
    
          }
    
          leaf expected-throughput-in-l2.1 {
            type bbf-yang:data-rate32-or-undetermined;
            description
              "Reports the expected throughput in L2.1N and L2.1B link
    state as defined in clause 11.4.1.1.14 of [ITU-T G.9701]. A
    special value (undetermined) indicates that the expected
    throughput is undetermined. The object is updated only in
    L2.1N and L2.1B link states.";
            reference
              "ITU-T G.997.2 clause 7.11.6.3 (L2.1-ETRds/us).";
    
          }
    
          leaf expected-throughput-in-l2.2 {
            type bbf-yang:data-rate32-or-undetermined;
            description
              "Reports the expected throughput in L2.2 link state as
    defined in clause 11.4.1.1.15 of [ITU-T G.9701]. A special
    value (undetermined) indicates that the expected throughput
    is undetermined. The object is updated only in L2.2 link
    state.";
            reference
              "ITU-T G.997.2 clause 7.11.6.4 (L2.2-ETRds/us).";
    
          }
    
          leaf gamma-data-rate {
            type bbf-yang:data-rate32-or-undetermined;
            description
              "Reports the Net Data Rate (NDR) as defined in clause
    7.11.1.1, lowered by any throughput capability limitations
    remaining in the Dynamic Resource Allocation (DRA) or L2+
    functions, assuming no user data is transmitted over all the
    other lines. A special value (undetermined) indicates that
    the NDR is undetermined. The object is updated only in L0
    link state.";
            reference
              "ITU-T G.997.2 clause 7.11.1.3 (GDR).";
    
          }
    
          leaf attainable-net-data-rate {
            type bbf-yang:data-rate32-or-undetermined;
            description
              "Reports the attainable Net Data Rate (NDR) as defined in
    clause 11.4.1.1.2 of [ITU-T G.9701]. A special value
    (undetermined) indicates that the attainable NDR is
    undetermined. The object is updated only in L0 link state.";
            reference
              "ITU-T G.997.2 clause 7.11.2.1 (ATTNDR).";
    
          }
    
          leaf attainable-expected-throughput {
            type bbf-yang:data-rate32-or-undetermined;
            description
              "Reports the attainable expected throughput (ETR) as
    defined in clause 11.4.1.1.4 of [ITU-T G.9701]. A special
    value (undetermined) indicates that the attainable expected
    throughput is undetermined. The object is updated only in L0
    link state.";
            reference
              "ITU-T G.997.2 clause 7.11.2.2 (ATTETR).";
    
          }
    
          leaf attainable-gamma-data-rate {
            type bbf-yang:data-rate32-or-undetermined;
            description
              "Reports the attainable Net Data Rate (NDR) (as defined in
    clause 7.11.2.1), lowered by any throughput capability
    limitations remaining in the Dynamic Resource Allocation
    (DRA) or L2+ functions, assuming no user data is
    transmitted over all the other Lines, and assuming Maximum
    Gamma Data Rate (MAXGDR) (as defined in clause 7.2.1.3) is
    configured to its maximum valid value. A special value
    (undetermined) indicates that the attainable Gamma Data Rate
    (GDR) is undetermined. The object is updated only in
    L0 link state.";
            reference
              "ITU-T G.997.2 clause 7.11.2.3 (ATTGDR).";
    
          }
    
          leaf actual-inp-against-shine {
            type uint16 {
              range "0..2046 | 2047";
            }
            units "1 symbol";
            description
              "Reports the actual Impulse Noise Protection (INP) against
    Single High Output Noise Event (SHINE) as defined in
    clause 11.4.1.1.4/G.9701. A special value, 2047,
    indicates an actual INP against SHINE of 2047 symbols
    or higher.";
            reference
              "ITU-T G.997.2 clause 7.11.3.1 (ACTINP); ITU-T G.9701
              Clause 11.4.1.1.4.";
    
          }
    
          leaf actual-inp-against-rein {
            type uint8 {
              range "0..62 | 63";
            }
            units "1 symbol";
            description
              "Reports the actual Impulse Noise Protection (INP) against
    Repetitive Electrical Impulse Noise (REIN) as defined in
    clause 11.4.1.1.5/G.9701. A special value indicates
    an actual INP against REIN of 63 symbols or higher.";
            reference
              "ITU-T G.997.2 clause 7.11.3.2 (ACTINP_REIN); ITU-T
              G.9701 Clause 11.4.1.1.5.";
    
          }
    
          leaf dtu-fec-codeword-length {
            type uint8 {
              range "32..255";
            }
            units "bytes";
            description
              "Reports the Data Transfer Unit (DTU) Forward Error
    Correction (FEC) codeword length as defined in
    clause 9.3/G.9701.";
            reference
              "ITU-T G.997.2 clause 7.11.4.1 (DTU-NFEC); ITU-T
              G.9701 Clause 9.3.";
    
          }
    
          leaf dtu-fec-redundancy {
            type uint8 {
              range
                "2 | 4 | 6 | 8 | 10 | 12 | 16";
            }
            units "bytes";
            description
              "Reports the Data Transfer Unit (DTU) Forward Error
    Correction (FEC) codeword redundancy as defined
    in clause 9.3/G.9701.";
            reference
              "ITU-T G.997.2 clause 7.11.4.2 (DTU-RFEC); ITU-T
              G.9701 Clause 9.3.";
    
          }
    
          leaf fec-codewords-per-dtu {
            type uint8 {
              range "1..16";
            }
            description
              "Reports the number of Forware Error Correction (FEC) codeword
    per Data Transfer Unit (DTU) as defined in clause
    9.3/G.9701.";
            reference
              "ITU-T G.997.2 clause 7.11.4.3 (DTU_Q); ITU-T G.9701
              Clause 9.3.";
    
          }
        }  // grouping channel-status-parameters
    
        grouping channel-status {
          description
            "Defines the parameters that define the operational status
    of a FAST bearer channel.";
          container downstream {
            description
              "Downstream channel status.";
            uses channel-status-parameters;
          }  // container downstream
    
          container upstream {
            description
              "Upstream channel status.";
            uses channel-status-parameters;
          }  // container upstream
        }  // grouping channel-status
    
        grouping ftu-inventory-parameters {
          description "Inventory parameters.";
          reference
            "ITU-T G.997.2 clause 7.13.";
    
          leaf g.994.1-vendor-id {
            type binary {
              length "8";
            }
            description
              "Reports the ITU-T G.994.1 vendor ID as inserted by the
    FAST Transceiver Unit - central Office (FTU-O) or FAST
    Transceiver Unit - Remote side (FTU-R) in the ITU-T G.994.1
    CL message and as defined in clause 9.3.3.1/G.994.1.";
            reference
              "ITU-T G.997.2 clause 7.13.1.1 (FTUO_GHS_VENDOR) and
              7.13.1.2 (FTUR_GHS_VENDOR).";
    
          }
    
          leaf version-number {
            type binary {
              length "0..16";
            }
            description
              "Reports the version number as inserted by the FAST
    Transceiver Unit - central Office (FTU-O) or FAST Transceiver
    Unit - Remote side (FTU-R) in the embedded operations channel
    (see clause 11.2.2.10/G.9701). It is for version control and
    is vendor specific information.";
            reference
              "ITU-T G.997.2 clause 7.13.1.3 (FTUO_VERSION) and clause
              7.13.1.4 (FTUR_VERSION).";
    
          }
    
          leaf self-test-result {
            type binary;
            description
              "Reports the results from the most recent self-test
    procedure, initiated at power-up (see clause 12.1.2/G.9701)
    The first octet of the self-test result is 00hex if the
    self-test passed and 01hex if the self-test failed. The
    interpretation of the other octets is vendor discretionary
    and can be interpreted in combination with the FAST
    Transceiver Unit - central Office (FTU-O) or FAST Transceiver
    Unit - Remote side (FTU-R) ITU-T G.994.1 vendor ID and system
    vendor ID.";
            reference
              "ITU-T G.997.2 clause 7.13.1.5 (FTUO_SELFTEST) and clause
              7.13.1.6 (FTUR_SELFTEST).";
    
          }
    
          leaf system-vendor-id {
            type binary {
              length "8";
            }
            description
              "Reports the FAST Transceiver Unit (FTU) system vendor ID as
    inserted by the FAST Transceiver Unit - central Office
    (FTU-O) or FAST Transceiver Unit - Remote side (FTU-R) in the
    embedded operations channel (see clause 11.2.2.10/G.9701) and
    as defined in clause 9.3.3.1/G.994.1.";
            reference
              "ITU-T G.997.2 clause 7.13.2.1 (DPU_SYSTEM_VENDOR) and
              clause 7.13.2.2 (NT_SYSTEM_VENDOR).";
    
          }
    
          leaf system-serial-number {
            type binary {
              length "0..32";
            }
            description
              "Reports the FAST Transceiver Unit (FTU) serial number as
    inserted by the FAST Transceiver Unit - central Office
    (FTU-O) or FAST Transceiver Unit - Remote side (FTU-R) in the
    embedded operations channel (see clause 11.2.2.10/G.9701). It
    is vendor specific information. The combination of system
    vendor ID and system serial number creates a unique number
    for each FTU system.";
            reference
              "ITU-T G.997.2 clause 7.13.2.3 (DPU_SYSTEM_SERIALNR) and
              clause 7.13.2.4 (NT_SYSTEM_SERIALNR).";
    
          }
    
          leaf profiles-supported {
            type profiles;
            description
              "Reports for each profile whether the FAST Transceiver Unit
    (FTU) supports operation according to that profile.";
            reference
              "ITU-T G.997.2 clause 7.13.1.7 (FTUO_PROFILES) and clause
              7.13.1.8 (FTUR_PROFILES); ITU-T G.9701 clause 6";
    
          }
    
          leaf annex-x-supported {
            if-feature bbf-fast:annex-x;
            type boolean;
            description
              "Indicates whether Annex X is supported by the FAST
    Transceiver Unit (FTU).";
            reference
              "ITU-T G.997.2 clause T.4.1 and T.4.2
              (ANNEX_X_SUPPORT_FTU_O/R);
              ITU-T G.9701 clause X.7.1.1.1 and X.7.1.2.1.";
    
          }
    
          leaf annex-d-supported {
            if-feature bbf-fast:annex-d;
            type boolean;
            description
              "Indicates whether Annex D is supported by the FAST
    Transceiver Unit (FTU).";
            reference
              "ITU-T G.997.2 clause T.4.4 and T.4.5
              (ANNEX_D_SUPPORT_FTU_O/R);
              ITU-T G.9701 clause D.6.1.1.1 and D.6.1.2.1.";
    
          }
    
          leaf srec-supported {
            if-feature bbf-fast:srec;
            type boolean;
            description
              "Indicates whether Showtime Reconfiguration (SREC) is
    supported by the FAST Transceiver Unit (FTU).";
            reference
              "ITU-T G.997.2 clause 7.13.1.9 and 7.13.1.10
              (ANNEX_R_SUPPORT_FTU_O/R);
              ITU-T G.9701 Annex R.";
    
          }
        }  // grouping ftu-inventory-parameters
    
        grouping ftu-o-inventory-parameters {
          description
            "Inventory parameters applicable only to the FAST Transceiver
    Unit - central Office (FTU-O).";
          leaf vce-id {
            type union {
              type enumeration {
                enum "not-in-vectored-group" {
                  value 0;
                  description
                    "The line is not in a vectored group.";
                }
              }
              type uint8 {
                range "1..255";
              }
            }
            description
              "For the line in a vectored group, the Vectoring Control
    Entity (VCE) ID uniquely identifies the VCE that manages and
    controls the vectored group to which the line belongs. It
    consists of one octet and valid ranges are from 1 to 255. A
    special value (not-in-vectored-group) means the line is not
    in a vectored group.";
            reference
              "ITU-T G.997.2 clause 7.13.2.5 (VCE_ID);
              ITU-T G.9701 clause 11.4.5.1.1";
    
          }
    
          leaf vce-port-index {
            type union {
              type enumeration {
                enum "not-in-vectored-group" {
                  value 0;
                  description
                    "The line is not in a vectored group.";
                }
              }
              type vce-port-index;
            }
            description
              "For the line in a vectored group, the Vectoring Control
    Entity (VCE) port index is the physical index that uniquely
    identifies the VCE port to which the line is connected. It
    is an integer from 1 to the maximum number of lines supported
    by the VCE. The combination of VCE ID and VCE port index
    creates a unique identifier for each vectored FAST
    Transceiver Unit - central Office (FTU-O)/-R. A special value
    (not-in-vectored-group) means the line is not in a vectored
    group.";
            reference
              "ITU-T G.997.2 clause 7.13.2.6 (VCE_PORT_INDEX);
              ITU-T G.9701 clause 11.4.5.1.2";
    
          }
    
          leaf idta-supported {
            if-feature (bbf-fast:dta and bbf-fast:annex-x);
            type boolean;
            description
              "Indicates whether independent Dynamic Time Assignment (iDTA)
    is supported by the FAST Transceiver Unit - central Office
    (FTU-O).";
            reference
              "ITU-T G.997.2 clause T.4.3 (DTA_SUPPORT_FTU_O);
              ITU-T G.9701 clause X.7.1.1.1.";
    
          }
        }  // grouping ftu-o-inventory-parameters
    
        grouping ftu-inventory {
          description
            "Nodes defining the structure and content of FTU inventory.";
          container ftu-o {
            description
              "Inventory parameters reported by the FAST Transceiver Unit -
    central Office (FTU-O).";
            uses ftu-inventory-parameters;
    
            uses ftu-o-inventory-parameters;
          }  // container ftu-o
    
          container ftu-r {
            description
              "Inventory parameters reported by the FAST Transceiver Unit -
    Remote side (FTU-R).";
            uses ftu-inventory-parameters;
          }  // container ftu-r
        }  // grouping ftu-inventory
    
        // objects
        container fast {
          description "FAST configuration.";
          container service {
            description
              "Service profile configuration.";
          }  // container service
    
          container spectrum {
            description
              "Spectrum profile configuration.";
          }  // container spectrum
    
          container quality {
            description
              "Quality profile configuration.";
          }  // container quality
    
          container thresholds {
            description
              "Threshold configuration.";
          }  // container thresholds
    
          container vectors {
            description "Vectors of profiles.";
          }  // container vectors
        }  // container fast
    
        augment /if:interfaces/if:interface/bbf-fastdsl:line {
          when
            "bbf-fastdsl:configured-mode = 'bbf-fastdsl:mode-fast'" {
            description
              "Applicable when G.fast mode is configured.";
          }
          description
            "Data nodes for the configuration of FAST lines.";
          container line {
            presence
              "If present, indicates the interface is configured to operate
    in FAST mode.";
            description
              "Line configuration data for FAST interfaces.";
          }  // container line
        }
    
        augment /if:interfaces-state/if:interface/bbf-fastdsl:line {
          when
            "bbf-fastdsl:operational-mode = 'bbf-fastdsl:mode-fast'" {
            description
              "Applicable when G.fast is the current mode of operation.";
          }
          description
            "Data nodes for the operational state of FAST lines.";
          container line {
            presence
              "If present, indicates the interface is operating in FAST
    mode.";
            description
              "Line state data for FAST interfaces.";
            container channel {
              description
                "Bearer channel state data for FAST interfaces.";
            }  // container channel
          }  // container line
        }
    
        augment /bbf-fast:fast/bbf-fast:service {
          description
            "Data nodes for service-related configuration profiles.";
          list downstream-data-rate-profile {
            key "name";
            description
              "A list of downstream data rate profiles.";
            leaf name {
              type bbf-yang:string-ascii64;
              description
                "Uniquely identifies the profile.";
            }
    
            uses data-rate-profile;
          }  // list downstream-data-rate-profile
    
          list upstream-data-rate-profile {
            key "name";
            description
              "A list of upstream data rate profiles.";
            leaf name {
              type bbf-yang:string-ascii64;
              description
                "Uniquely identifies the profile.";
            }
    
            uses data-rate-profile;
          }  // list upstream-data-rate-profile
    
          list low-power-data-rate-profile {
            key "name";
            description
              "A list of low power data rate profiles.";
            leaf name {
              type bbf-yang:string-ascii64;
              description
                "Uniquely identifies the profile.";
            }
    
            uses low-power-data-rate-profile;
          }  // list low-power-data-rate-profile
        }
    
        augment /bbf-fast:fast/bbf-fast:spectrum {
          description
            "Data nodes for spectrum-related configuration
    profiles.";
          list line-spectrum-profile {
            key "name";
            description
              "A list of line spectrum profiles.";
            leaf name {
              type bbf-yang:string-ascii64;
              description
                "A name that uniquely identifies the
    profile.";
            }
    
            uses line-spectrum-profile;
          }  // list line-spectrum-profile
    
          list radio-frequency-interference-profile {
            key "name";
            description
              "A list of Radio Frequency Interference (RFI) profiles.";
            leaf name {
              type bbf-yang:string-ascii64;
              description
                "A name that uniquely identifies the profile.";
            }
    
            uses rfi-profile;
          }  // list radio-frequency-interference-profile
    
          list upstream-power-back-off-profile {
            key "name";
            description
              "A list of upstream power back-off profiles.";
            leaf name {
              type bbf-yang:string-ascii64;
              description
                "A name that uniquely identifies the profile.";
            }
    
            uses upstream-power-back-off-parameters;
          }  // list upstream-power-back-off-profile
        }
    
        augment /bbf-fast:fast/bbf-fast:quality {
          description
            "Data nodes for quality-related configuration profiles.";
          list noise-margin-profile {
            key "name";
            description
              "A list of noise margin profiles.";
            leaf name {
              type bbf-yang:string-ascii64;
              description
                "A name that uniquely identifies the profile.";
            }
    
            uses noise-margin-profile;
          }  // list noise-margin-profile
    
          list fast-rate-adaptation-profile {
            key "name";
            description
              "A list of fast rate adaptation profiles.";
            leaf name {
              type bbf-yang:string-ascii64;
              description
                "A name that uniquely identifies the profile.";
            }
    
            uses fast-rate-adaptation-profile;
          }  // list fast-rate-adaptation-profile
    
          list vectoring-profile {
            key "name";
            description
              "A list of vectoring profiles.";
            leaf name {
              type bbf-yang:string-ascii64;
              description
                "A name that uniquely identifies the profile.";
            }
    
            uses vectoring-profile;
          }  // list vectoring-profile
    
          list fast-retrain-policy-profile {
            key "name";
            description
              "A list of fast retrain policy profiles.";
            leaf name {
              type bbf-yang:string-ascii64;
              description
                "A name that uniquely identifies the profile.";
            }
    
            uses fast-retrain-policy-profile;
          }  // list fast-retrain-policy-profile
    
          list retransmission-profile {
            key "name";
            description
              "A list of retransmission profiles.";
            leaf name {
              type bbf-yang:string-ascii64;
              description
                "A name that uniquely identifies the profile.";
            }
    
            uses retransmission-profile;
          }  // list retransmission-profile
    
          list impulse-noise-monitoring-profile {
            if-feature impulse-noise-monitoring;
            key "name";
            description
              "A list of impulse noise monitoring profiles.";
            leaf name {
              type bbf-yang:string-ascii64;
              description
                "A name that uniquely identifies the profile.";
            }
    
            uses impulse-noise-monitoring-profile;
          }  // list impulse-noise-monitoring-profile
        }
    
        augment /bbf-fast:fast/bbf-fast:service {
          description
            "Data nodes for TDD configuration profiles.";
          list time-division-duplexing-profile {
            key "name";
            description
              "A list of Time Division Duplexing (TDD) profiles.";
            leaf name {
              type bbf-yang:string-ascii64;
              description
                "A name that uniquely identifies the profile.";
            }
    
            uses tdd-profile;
          }  // list time-division-duplexing-profile
        }
    
        augment /bbf-fast:fast/bbf-fast:thresholds {
          description
            "Data nodes to support performance threshold profiles and
    templates.";
          list line-threshold-profile {
            key "name";
            description
              "Profile defining thresholds for line specific
    performance parameters.";
            leaf name {
              type bbf-yang:string-ascii64;
              description
                "Uniquely identifies the line threshold profile.";
            }
    
            uses line-thresholds;
          }  // list line-threshold-profile
    
          list channel-threshold-profile {
            key "name";
            description
              "Profile defining thresholds for bearer channel specific
    performance parameters.";
            leaf name {
              type bbf-yang:string-ascii64;
              description
                "Uniquely identifies the channel threshold profile.";
            }
    
            uses channel-thresholds;
          }  // list channel-threshold-profile
        }
    
        augment /if:interfaces-state/if:interface/bbf-fastdsl:line/bbf-fast:line {
          description
            "Augment the line to add threshold state data.";
          notification fast-15min-threshold-crossing-alert {
            description
              "A threshold has been crossed during the current 15 minute
    interval.";
            leaf tca-identity {
              type identityref {
                base fast-15min-threshold-crossing-alert;
              }
              mandatory true;
              description
                "A unique identity associated with each threshold.";
            }
          }  // notification fast-15min-threshold-crossing-alert
    
          notification fast-24hr-threshold-crossing-alert {
            if-feature performance-24hr;
            description
              "A threshold has been crossed during the current 24 hour
    interval.";
            leaf tca-identity {
              type identityref {
                base fast-24hr-threshold-crossing-alert;
              }
              mandatory true;
              description
                "A unique identity associated with each threshold.";
            }
          }  // notification fast-24hr-threshold-crossing-alert
        }
    
        augment /bbf-fast:fast/bbf-fast:vectors {
          description
            "Data nodes to support line configuration vectors.";
          list line-config-vector {
            key "name";
            description
              "A list of line configuration vectors also referred to as a
    vector of profiles (VoP).";
            leaf name {
              type bbf-yang:string-ascii64;
              description
                "Uniquely identifies the line configuration vector.";
            }
    
            uses profile-vector;
          }  // list line-config-vector
        }
    
        augment /bbf-fast:fast/bbf-fast:thresholds {
          description
            "Data nodes to support performance threshold profiles and
    templates.";
          list threshold-template {
            key "name";
            description
              "A template defining the threshold profiles to apply to
    performance parameters of a FAST interface.";
            leaf name {
              type bbf-yang:string-ascii64;
              description
                "Uniquely identifies the line configuration vector.";
            }
    
            leaf ftu-o-15min-line-threshold-profile {
              type line-threshold-profile-ref;
              mandatory true;
              description
                "Reference to a line threshold profile for FAST Transceiver
    Unit - central Office (FTU-O) thresholds related to 15
    minute performance counters.";
            }
    
            leaf ftu-o-24hr-line-threshold-profile {
              if-feature performance-24hr;
              type line-threshold-profile-ref;
              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
        }
    
        augment /if:interfaces/if:interface/bbf-fastdsl:line/bbf-fast:line {
          description
            "Data nodes to support the assignment of a profile vector.";
          choice profile-config {
            default "no-profiles-attached";
            description
              "Provides methods for direct or indirect attachment of
    the profile vector.";
            leaf no-profiles-attached {
              type empty;
              description
                "If present, indicates that no profiles are attached
    to this line.";
            }
    
            case direct-attachment-mode {
              uses profile-vector;
            }  // case direct-attachment-mode
            leaf line-config-vector {
              type line-config-vector-ref;
              mandatory true;
              description
                "Assigns a Line Configuration Vector to a FAST line.";
            }
          }  // choice profile-config
    
          leaf threshold-template {
            type threshold-template-ref;
            description
              "Assigns a threshold template to a FAST line. If no threshold
    template is assigned, threshold crossing alert (TCA)
    reporting for all thresholds is disabled.";
          }
    
          leaf srec-allowed {
            if-feature srec;
            type boolean;
            default "false";
            description
              "Indicates whether the Showtime Reconfiguration (SREC)
    procedures shall not be used (SREC_allowed = false), or the
    SREC procedures may be used (SREC_allowed = true) to force a
    new configuration onto the line. The conditions to use the
    SREC procedures are specified in Annex R of [ITU-T G.9701].";
            reference
              "ITU-T G.997.2 clause 7.1.13.1 (SREC_ALLOWED),
              ITU-T G.9701 annex R.";
    
          }
        }
    
        augment /if:interfaces/if:interface/bbf-fastdsl:line/bbf-fast:line {
          description
            "Data nodes to support tests on the line.";
          container test-mode {
            description
              "Test modes associated with a line.";
            uses line-test-modes;
          }  // container test-mode
    
          container update-test {
            description
              "Update test parameters for a line.";
            uses line-update-test-parameters;
          }  // container update-test
    
          container read-test {
            description
              "Test parameter configuration for a line associated with
    how test parameters are read.";
            uses line-read-test-parameters;
          }  // container read-test
    
          container link-state {
            description
              "Link state test configuration.";
            uses link-state-test-parameters;
          }  // container link-state
        }
    
        augment /if:interfaces-state/if:interface/bbf-fastdsl:line/bbf-fast:line {
          description
            "Data nodes for the performance status parameters of FAST
    lines.";
          uses line-performance;
        }
    
        augment /if:interfaces-state/if:interface/bbf-fastdsl:line/bbf-fast:line/bbf-fast:channel {
          description
            "Data nodes for the performance status parameters of
    FAST bearer channels.";
          uses channel-performance;
        }
    
        augment /if:interfaces-state/if:interface/bbf-fastdsl:line/bbf-fast:line {
          description
            "Data nodes for the operational status of FAST lines.";
          container status {
            config false;
            description "Status parameters.";
            uses line-status;
          }  // container status
        }
    
        augment /if:interfaces-state/if:interface/bbf-fastdsl:line/bbf-fast:line/bbf-fast:channel {
          description
            "Data nodes for the operational status of FAST bearer
    channels.";
          container status {
            config false;
            description
              "Channel status parameters.";
            uses channel-status;
          }  // container status
        }
    
        augment /if:interfaces-state/if:interface/bbf-fastdsl:line/bbf-fast:line {
          description
            "Data nodes for the inventory parameters of FAST lines.";
          container inventory {
            config false;
            description "Inventory parameters.";
            uses ftu-inventory;
          }  // container inventory
        }
    
        augment /if:interfaces-state/if:interface/bbf-fastdsl:line {
          if-feature availability;
          description
            "Augment the state data of an interface with operational status
    for availability. ";
          uses bbf-avail:availability {
            refine availability {
              description
                "Operational status defining the availability of a FAST
    line.";
            }
          }
        }
      }  // module bbf-fast
    

© 2023 YumaWorks, Inc. All rights reserved.