bbf-vdsl

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

  • Version: 2022-05-23

    bbf-vdsl@2022-05-23


    
      module bbf-vdsl {
    
        yang-version 1.1;
    
        namespace "urn:bbf:yang:bbf-vdsl";
    
        prefix bbf-vdsl;
    
        include bbf-vdsl-base-body;
        include bbf-vdsl-test-mode-body;
        include bbf-vdsl-base;
        include bbf-vdsl-line;
        include bbf-vdsl-inventory-body;
        include bbf-vdsl-xtu;
        include bbf-vdsl-data-rate-profile-body;
        include bbf-vdsl-service-profiles;
        include bbf-vdsl-line-spectrum-profile-body;
        include bbf-vdsl-mode-specific-psd-profile-body;
        include bbf-vdsl-upstream-power-back-off-profile-body;
        include bbf-vdsl-downstream-power-back-off-profile-body;
        include bbf-vdsl-radio-frequency-interference-profile-body;
        include bbf-vdsl-spectrum-profiles;
        include bbf-vdsl-noise-margin-profile-body;
        include bbf-vdsl-impulse-noise-protection-delay-profile-body;
        include bbf-vdsl-virtual-noise-profile-body;
        include bbf-vdsl-sos-profile-body;
        include bbf-vdsl-impulse-noise-monitoring-profile-body;
        include bbf-vdsl-re-initialization-policy-profile-body;
        include bbf-vdsl-vectoring-profile-body;
        include bbf-vdsl-data-gathering-profile-body;
        include bbf-vdsl-quality-profiles;
        include bbf-vdsl-line-status-body;
        include bbf-vdsl-xtu-line-status-body;
        include bbf-vdsl-xtu-band-status-body;
        include bbf-vdsl-xtu-channel-status-body;
        include bbf-vdsl-status-monitoring;
        include bbf-vdsl-xtu-line-performance-body;
        include bbf-vdsl-xtu-channel-performance-body;
        include bbf-vdsl-performance-management;
        include bbf-vdsl-xtu-line-threshold-profile-body;
        include bbf-vdsl-xtu-channel-threshold-profile-body;
        include bbf-vdsl-threshold-management;
        include bbf-vdsl-threshold-crossing-alert-body;
        include bbf-vdsl-xtu-sub-carrier-status-body;
        include bbf-vdsl-xtu-data-gathering-report-body;
        include bbf-vdsl-test-diagnostics;
        include bbf-vdsl-pointers;
        include bbf-vdsl-availability;
    
        organization
          "Broadband Forum <https://www.broadband-forum.org>
    Common YANG Work Area";
    
        contact
          "Comments or questions about this Broadband Forum YANG module
    should be directed to <mailto:help@broadband-forum.org>.
    
    Editor:      Ken Kerpez, ASSIA, Inc.
    
    Editor:      Joey Boyd, Adtran
    
    PS Leader:   Joey Boyd, Adtran
    
    WA Director: Sven Ooghe, Nokia
    
    WA Director: Joey Boyd, Adtran";
    
        description
          "This module contains a collection of YANG definitions for
    supporting the Broadband Forum requirements on management of Very
    High-speed Digital Subscriber Line (VDSL) interfaces as defined
    in ITU-T G.993.x, ITU-T G.997.1 and BBF TR-252. As such, this
    module is specific to access network equipment (e.g.,
    BBF-specified Access Nodes and FTTdp DPUs).
    
    Copyright (c) 2016-2022 Broadband Forum
    
    Redistribution and use in source and binary forms, with or
    without modification, are permitted provided that the following
    conditions are met:
    
    1. Redistributions of source code must retain the above copyright
       notice, this list of conditions and the following disclaimer.
    
    2. Redistributions in binary form must reproduce the above
       copyright notice, this list of conditions and the following
       disclaimer in the documentation and/or other materials
       provided with the distribution.
    
    3. Neither the name of the copyright holder nor the names of its
       contributors may be used to endorse or promote products
       derived from this software without specific prior written
       permission.
    
    THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND
    CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES,
    INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
    MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
    DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR
    CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
    SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
    NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
    LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
    CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
    STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
    ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
    ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
    
    The above license is used as a license under copyright only.
    Please reference the Forum IPR Policy for patent licensing terms
    <https://www.broadband-forum.org/ipr-policy>.
    
    Any moral rights which are necessary to exercise under the above
    license grant are also deemed granted under this license.
    
    This version of this YANG module is part of TR-355a4; see
    the TR itself for full legal notices.";
    
        revision "2022-05-23" {
          description
            "Amendment 4.
    * Approval Date:    2022-05-23
    * Publication Date: 2022-05-23.";
          reference
            "TR-355a4: YANG Modules for FTTdp Management
            	    <https://www.broadband-forum.org/download/
            		   TR-355_Amendment-4.pdf>";
    
        }
    
        revision "2020-10-13" {
          description
            "Amendment 3.
    * Approval Date:    2020-10-13
    * Publication Date: 2020-10-13.";
          reference
            "TR-355a3: YANG Modules for FTTdp Management
            	    <https://www.broadband-forum.org/download/
            		   TR-355_Amendment-3.pdf>";
    
        }
    
        revision "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 virtual-noise {
          description
            "Indicates support for virtual noise.";
          reference
            "Broadband Forum TR-252i3 - 5.7 DSL Quality Management
            related profiles; Virtual Noise Profile.";
    
        }
    
        feature sos {
          description
            "Indicates support for Save Our Showtime (SOS).";
          reference
            "Broadband Forum TR-252i3 - 5.7 DSL Quality Management
            related profiles; SOS Profile.";
    
        }
    
        feature impulse-noise-monitoring {
          description
            "Indicates support for impulse noise monitoring.";
          reference
            "Broadband Forum TR-252i3 - 5.7 DSL Quality Management
            related profiles; Impulse Noise Monitoring Profile.";
    
        }
    
        feature re-initialization-policy {
          description
            "Indicates support for re-initialization policy.";
          reference
            "Broadband Forum TR-252i3 - 5.7 DSL Quality Management
            related profiles; Re-initialization Policy Profile.";
    
        }
    
        feature vectoring {
          description
            "Indicates support for vectoring.";
          reference
            "Broadband Forum TR-252i3 - 5.7 DSL Quality Management
            related profiles; Vectoring Profile.";
    
        }
    
        feature data-gathering {
          description
            "Indicates support for data gathering.";
          reference
            "Broadband Forum TR-252i3 - 5.7 DSL Quality Management
            related profiles; Data Gathering Profile.";
    
        }
    
        feature data-rate-profile-leftr {
          description
            "Indicates support for the configuration of Low Error-Free
    Throughput Rate (LEFTR) as part of the data rate profile.";
        }
    
        feature maxeftr {
          description
            "Indicates support for Maximum Error Free Throughput Rate
    (MAXEFTR).";
        }
    
        feature successful-sra {
          description
            "Indicates support for reporting successful Seamless Rate
    Adaptation (SRA).";
        }
    
        feature vdsl2-lr {
          description
            "Indicates support for VDSL2 Long Reach (VDSL2-LR).";
        }
    
        feature strongfext {
          description
            "Indicates support for Strong Far-End Crosstalk (STRONGFEXT).";
        }
    
        feature performance-24hr {
          description
            "Indicates that collection of 24 hour performance intervals
    is supported.";
        }
    
        feature availability {
          description
            "Indicates support for retrieving availability of a VDSL
    interface.";
        }
    
        // identities
    
        identity vdsl-threshold-crossing-alert {
          description
            "Base identity for VDSL threshold crossing alerts (TCA).
    
    This identity is abstract and is not be used for a
    threshold crossing alert.";
        }
    
        identity vdsl-15min-threshold-crossing-alert {
          base vdsl-threshold-crossing-alert;
          description
            "A threshold crossing alert associated with performance
    counters collected over the current 15 minute interval
    for xDSL Transceiver Unit - Central office (xDSL Transceiver
    Unit - Central office (xTU-C))/xTU-R channels and lines.
    
    This identity is abstract and is not be used for a
    threshold crossing alert.";
        }
    
        identity vdsl-24hr-threshold-crossing-alert {
          base vdsl-threshold-crossing-alert;
          description
            "A threshold crossing alert associated with performance
    counters collected over the current 24 hour interval
    for xDSL Transceiver Unit - Central office (xDSL Transceiver
    Unit - Central office (xTU-C))/xTU-R channels and lines.
    
    This identity is abstract and is not be used for a
    threshold crossing alert.";
        }
    
        identity xtu-c-15min-channel-code-violations-tca {
          base vdsl-15min-threshold-crossing-alert;
          description
            "The number of channel code violations during the current 15
    minute interval has exceeded the configured xDSL Transceiver
    Unit - Central office (xTU-C) threshold. This threshold
    crossing alert is optional.";
        }
    
        identity xtu-c-15min-channel-forward-error-corrections-tca {
          base vdsl-15min-threshold-crossing-alert;
          description
            "The number of forward-error-corrections during the current 15
    minute interval has exceeded the configured xDSL Transceiver
    Unit - Central office (xTU-C) threshold. This threshold
    crossing alert is optional.";
        }
    
        identity xtu-c-15min-channel-uncorrected-dtus-tca {
          base vdsl-15min-threshold-crossing-alert;
          description
            "The number of received uncorrected Data Transfer Units (DTU)
    during the current 15 minute interval has exceeded the
    configured xDSL Transceiver Unit - Central office (xTU-C)
    threshold. This threshold crossing alert is optional.";
        }
    
        identity xtu-c-15min-line-forward-error-correction-seconds-tca {
          base vdsl-15min-threshold-crossing-alert;
          description
            "The number of line forward error correction seconds during the
    current 15 minute interval has exceeded the configured xDSL
    Transceiver Unit - Central office (xTU-C) threshold. This
    threshold crossing alert is optional.";
        }
    
        identity xtu-c-15min-line-errored-seconds-tca {
          base vdsl-15min-threshold-crossing-alert;
          description
            "The number of line Errored Seconds (ES) during the current 15
    minute interval has exceeded the configured xDSL Transceiver
    Unit - Central office (xTU-C) threshold.";
        }
    
        identity xtu-c-15min-line-severely-errored-seconds-tca {
          base vdsl-15min-threshold-crossing-alert;
          description
            "The number of line Severely Errored Seconds (SES) during the
    current 15 minute interval has exceeded the configured xDSL
    Transceiver Unit - Central office (xTU-C) threshold.";
        }
    
        identity xtu-c-15min-line-loss-of-signal-seconds-tca {
          base vdsl-15min-threshold-crossing-alert;
          description
            "The number of line Loss of Signal Seconds (LOSS) during the
    current 15 minute interval has exceeded the configured xDSL
    Transceiver Unit - Central office (xTU-C) threshold. This
    threshold crossing alert is optional.";
        }
    
        identity xtu-c-15min-line-unavailable-seconds-tca {
          base vdsl-15min-threshold-crossing-alert;
          description
            "The number of line Unavailable Seconds (UAS) during the
    current 15 minute interval has exceeded the configured xDSL
    Transceiver Unit - Central office (xTU-C) threshold.";
        }
    
        identity xtu-c-15min-line-leftr-seconds-tca {
          base vdsl-15min-threshold-crossing-alert;
          description
            "The number of line Low Error-Free Throughput Rate (LEFTR)
    defect seconds during the current 15 minute interval has
    exceeded the configured xDSL Transceiver Unit - Central office
    (xTU-C) threshold.";
        }
    
        identity xtu-c-15min-line-full-initializations-tca {
          base vdsl-15min-threshold-crossing-alert;
          description
            "The number of line full initializations during the current
    15 minute interval has exceeded the configured xDSL Transceiver
    Unit - Central office (xTU-C) threshold.";
        }
    
        identity xtu-c-15min-line-failed-full-initializations-tca {
          base vdsl-15min-threshold-crossing-alert;
          description
            "The number of line failed full initializations during the
    current 15 minute interval has exceeded the configured xDSL
    Transceiver Unit - Central office (xTU-C) threshold.";
        }
    
        identity xtu-c-15min-line-fast-initializations-tca {
          base vdsl-15min-threshold-crossing-alert;
          description
            "The number of line fast initializations during the current 15
    minute interval has exceeded the configured xDSL Transceiver
    Unit - Central office (xTU-C) threshold. This threshold
    crossing alert is optional.";
        }
    
        identity xtu-c-15min-line-failed-fast-initializations-tca {
          base vdsl-15min-threshold-crossing-alert;
          description
            "The number of line failed fast initializations during the
    current 15 minute interval has exceeded the configured xDSL
    Transceiver Unit - Central office (xTU-C) threshold. This
    threshold crossing alert is optional.";
        }
    
        identity xtu-c-15min-line-spontaneous-interruptions-tca {
          base vdsl-15min-threshold-crossing-alert;
          description
            "The number of line spontaneous interuptions during the current
    15 minute interval has exceeded the configured xDSL Transceiver
    Unit - Central office (xTU-C) threshold. This threshold
    crossing alert is optional.";
        }
    
        identity xtu-r-15min-channel-code-violations-tca {
          base vdsl-15min-threshold-crossing-alert;
          description
            "The number of channel code violations during the
    current 15 minute interval has exceeded the configured xDSL
    Transceiver Unit - Remote side (xTU-R) threshold. This
    threshold crossing alert is optional.";
        }
    
        identity xtu-r-15min-channel-forward-error-corrections-tca {
          base vdsl-15min-threshold-crossing-alert;
          description
            "The number of forward-error-corrections during the current 15
    minute interval has exceeded the configured xDSL Transceiver
    Unit - Remote side (xTU-R) threshold. This threshold crossing
    alert is optional.";
        }
    
        identity xtu-r-15min-channel-uncorrected-dtus-tca {
          base vdsl-15min-threshold-crossing-alert;
          description
            "The number of received uncorrected Data Transfer Units (DTU)
    during the current 15 minute interval has exceeded the
    configured xDSL Transceiver Unit - Remote side (xTU-R)
    threshold. This threshold crossing alert is optional.";
        }
    
        identity xtu-r-15min-line-forward-error-correction-seconds-tca {
          base vdsl-15min-threshold-crossing-alert;
          description
            "The number of line forward error correction seconds during the
    current 15 minute interval has exceeded the configured xDSL
    Transceiver Unit - Remote side (xTU-R) threshold. This
    threshold crossing alert is optional.";
        }
    
        identity xtu-r-15min-line-errored-seconds-tca {
          base vdsl-15min-threshold-crossing-alert;
          description
            "The number of line Errored Seconds (ES) during the current 15
    minute interval has exceeded the configured xDSL Transceiver
    Unit - Remote side (xTU-R) threshold.";
        }
    
        identity xtu-r-15min-line-severely-errored-seconds-tca {
          base vdsl-15min-threshold-crossing-alert;
          description
            "The number of line Severely Errored Seconds (SES) during the
    current 15 minute interval has exceeded the configured xDSL
    Transceiver Unit - Remote side (xTU-R) threshold.";
        }
    
        identity xtu-r-15min-line-loss-of-signal-seconds-tca {
          base vdsl-15min-threshold-crossing-alert;
          description
            "The number of line Loss of Signal Seconds (LOSS) during the
    current 15 minute interval has exceeded the configured xDSL
    Transceiver Unit - Remote side (xTU-R) threshold. This
    threshold crossing alert is optional.";
        }
    
        identity xtu-r-15min-line-unavailable-seconds-tca {
          base vdsl-15min-threshold-crossing-alert;
          description
            "The number of line Unavailable Seconds (UAS) during the
    current 15 minute interval has exceeded the configured xDSL
    Transceiver Unit - Remote side (xTU-R) threshold.";
        }
    
        identity xtu-r-15min-line-leftr-seconds-tca {
          base vdsl-15min-threshold-crossing-alert;
          description
            "The number of line Low Error-Free Throughput Rate (LEFTR)
    defect seconds during the current 15 minute interval has
    exceeded the configured xDSL Transceiver Unit - Remote side
    (xTU-R) threshold.";
        }
    
        identity xtu-c-24hr-channel-code-violations-tca {
          base vdsl-24hr-threshold-crossing-alert;
          description
            "The number of channel code violations during the
    current 24 hour interval has exceeded the configured xDSL
    Transceiver Unit - Central office (xTU-C) threshold. This
    threshold crossing alert is optional.";
        }
    
        identity xtu-c-24hr-channel-forward-error-corrections-tca {
          base vdsl-24hr-threshold-crossing-alert;
          description
            "The number of forward-error-corrections during the current 24
    hour interval has exceeded the configured xDSL Transceiver
    Unit - Central office (xTU-C) threshold. This threshold
    crossing alert is optional.";
        }
    
        identity xtu-c-24hr-channel-uncorrected-dtus-tca {
          base vdsl-24hr-threshold-crossing-alert;
          description
            "The number of received uncorrected DTUs during the current
    24 hour interval has exceeded the configured xDSL Transceiver
    Unit - Central office (xTU-C) threshold. This threshold
    crossing alert is optional.";
        }
    
        identity xtu-c-24hr-line-forward-error-correction-seconds-tca {
          base vdsl-24hr-threshold-crossing-alert;
          description
            "The number of line forward error correction seconds during the
    current 24 hour interval has exceeded the configured xDSL
    Transceiver Unit - Central office (xTU-C) threshold. This
    threshold crossing alert is optional.";
        }
    
        identity xtu-c-24hr-line-errored-seconds-tca {
          base vdsl-24hr-threshold-crossing-alert;
          description
            "The number of line Errored Seconds (ES) during the current 24
    hour interval has exceeded the configured xDSL Transceiver
    Unit - Central office (xTU-C) threshold.";
        }
    
        identity xtu-c-24hr-line-severely-errored-seconds-tca {
          base vdsl-24hr-threshold-crossing-alert;
          description
            "The number of line Severely Errored Seconds (SES) during the
    current 24 hour interval has exceeded the configured xDSL
    Transceiver Unit - Central office (xTU-C) threshold.";
        }
    
        identity xtu-c-24hr-line-loss-of-signal-seconds-tca {
          base vdsl-24hr-threshold-crossing-alert;
          description
            "The number of line Loss of Signal Seconds (LOSS) during the
    current 24 hour interval has exceeded the configured xDSL
    Transceiver Unit - Central office (xTU-C) threshold. This
    threshold crossing alert is optional.";
        }
    
        identity xtu-c-24hr-line-unavailable-seconds-tca {
          base vdsl-24hr-threshold-crossing-alert;
          description
            "The number of line Unavailable Seconds (UAS) during the
    current 24 hour interval has exceeded the configured xDSL
    Transceiver Unit - Central office (xTU-C) threshold.";
        }
    
        identity xtu-c-24hr-line-leftr-seconds-tca {
          base vdsl-24hr-threshold-crossing-alert;
          description
            "The number of line Low Error-Free Throughput Rate (LEFTR)
    defect seconds during the current 24 hour interval has exceeded
    the configured xDSL Transceiver Unit - Central office (xTU-C)
    threshold.";
        }
    
        identity xtu-c-24hr-line-full-initializations-tca {
          base vdsl-24hr-threshold-crossing-alert;
          description
            "The number of line full initializations during the current
    24 hour interval has exceeded the configured xDSL Transceiver
    Unit - Central office (xTU-C) threshold.";
        }
    
        identity xtu-c-24hr-line-failed-full-initializations-tca {
          base vdsl-24hr-threshold-crossing-alert;
          description
            "The number of line failed full initializations during the
    current 24 hour interval has exceeded the configured xDSL
    Transceiver Unit - Central office (xTU-C) threshold.";
        }
    
        identity xtu-c-24hr-line-fast-initializations-tca {
          base vdsl-24hr-threshold-crossing-alert;
          description
            "The number of line fast initializations during the current 24
    hour interval has exceeded the configured xDSL Transceiver
    Unit - Central office (xTU-C) threshold. This threshold
    crossing alert is optional.";
        }
    
        identity xtu-c-24hr-line-failed-fast-initializations-tca {
          base vdsl-24hr-threshold-crossing-alert;
          description
            "The number of line failed fast initializations during the
    current 24 hour interval has exceeded the configured xDSL
    Transceiver Unit - Central office (xTU-C) threshold. This
    threshold crossing alert is optional.";
        }
    
        identity xtu-c-24hr-line-spontaneous-interruptions-tca {
          base vdsl-24hr-threshold-crossing-alert;
          description
            "The number of line spontaneous interuptions during the current
    24 hour interval has exceeded the configured xDSL Transceiver
    Unit - Central office (xTU-C) threshold. This threshold
    crossing alert is optional.";
        }
    
        identity xtu-r-24hr-channel-code-violations-tca {
          base vdsl-24hr-threshold-crossing-alert;
          description
            "The number of channel code violations during the current 24
    hour interval has exceeded the configured xDSL Transceiver
    Unit - Remote side (xTU-R) threshold. This threshold crossing
    alert is optional.";
        }
    
        identity xtu-r-24hr-channel-forward-error-corrections-tca {
          base vdsl-24hr-threshold-crossing-alert;
          description
            "The number of forward-error-corrections during the current 24
    hour interval has exceeded the configured xDSL Transceiver
    Unit - Remote side (xTU-R) threshold. This threshold crossing
    alert is optional.";
        }
    
        identity xtu-r-24hr-channel-uncorrected-dtus-tca {
          base vdsl-24hr-threshold-crossing-alert;
          description
            "The number of received uncorrected Data Transfer Units (DTU)
    during the current 24 hour interval has exceeded the configured
    xDSL Transceiver Unit - Remote side (xTU-R) threshold. This
    threshold crossing alert is optional.";
        }
    
        identity xtu-r-24hr-line-forward-error-correction-seconds-tca {
          base vdsl-24hr-threshold-crossing-alert;
          description
            "The number of line forward error correction seconds during the
    current 24 hour interval has exceeded the configured xDSL
    Transceiver Unit - Remote side (xTU-R) threshold. This
    threshold crossing alert is optional.";
        }
    
        identity xtu-r-24hr-line-errored-seconds-tca {
          base vdsl-24hr-threshold-crossing-alert;
          description
            "The number of line Errored Seconds (ES) during the current 24
    hour interval has exceeded the configured xDSL Transceiver
    Unit - Remote side (xTU-R) threshold.";
        }
    
        identity xtu-r-24hr-line-severely-errored-seconds-tca {
          base vdsl-24hr-threshold-crossing-alert;
          description
            "The number of line Severely Errored Seconds (SES) during the
    current 24 hour interval has exceeded the configured xDSL
    Transceiver Unit - Remote side (xTU-R) threshold.";
        }
    
        identity xtu-r-24hr-line-loss-of-signal-seconds-tca {
          base vdsl-24hr-threshold-crossing-alert;
          description
            "The number of line Loss of Signal Seconds (LOSS) during the
    current 24 hour interval has exceeded the configured xDSL
    Transceiver Unit - Remote side (xTU-R) threshold. This
    threshold crossing alert is optional.";
        }
    
        identity xtu-r-24hr-line-unavailable-seconds-tca {
          base vdsl-24hr-threshold-crossing-alert;
          description
            "The number of line Unavailable Seconds (UAS) during the current
    24 hour interval has exceeded the configured xDSL Transceiver
    Unit - Remote side (xTU-R) threshold.";
        }
    
        identity xtu-r-24hr-line-leftr-seconds-tca {
          base vdsl-24hr-threshold-crossing-alert;
          description
            "The number of line Low Error-Free Throughput Rate (LEFTR)
    defect seconds during the current 24 hour interval has exceeded
    the configured xDSL Transceiver Unit - Remote side (xTU-R)
    threshold.";
        }
    
        // typedefs
        typedef sub-carrier-index {
          type uint16 {
            range "0..8191";
          }
          description
            "Identifies a sub-carrier.";
        }
    
        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 line-identifier {
          type string {
            length "1..64";
          }
          description "Identifies a line.";
        }
    
        typedef performance-15min-history-interval {
          type uint8 {
            range "1..96";
          }
          description
            "Defines the range of 15 minute intervals and defines
    the position of the interval relative to the current interval
    where 1 is the most recent interval.";
        }
    
        typedef performance-24hr-history-interval {
          type uint8 {
            range "1..28";
          }
          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 performance-15min-interval {
          type uint8 {
            range "0..96";
          }
          description
            "Defines the range of 15 minute intervals.";
        }
    
        typedef performance-24hr-interval {
          type uint8 {
            range "0..28";
          }
          description
            "Defines the range of 24 hour intervals.";
        }
    
        typedef xts-descriptor {
          type enumeration {
            enum "xts1" {
              value 0;
              description
                "Regional standards. The transmission system is recommended
    to be used for ATIS-0600413.";
              reference
                "ATIS-0600413";
    
            }
            enum "xts2" {
              value 1;
              description
                "Regional standards. The transmission system is recommended
    to be used for Annex C of ETSI TS 101 388.";
              reference
                "ETIS TS 101 388 Annex C";
    
            }
            enum "xts3" {
              value 2;
              description
                "G.992.1 operation over POTS non-overlapped spectrum.";
              reference
                "ITU-T G.992.1 Annex A";
    
            }
            enum "xts4" {
              value 3;
              description
                "G.992.1 operation over POTS overlapped spectrum.";
              reference
                "ITU-T G.992.1 Annex A";
    
            }
            enum "xts5" {
              value 4;
              description
                "G.992.1 operation over ISDN non-overlapped spectrum.";
              reference
                "ITU-T G.992.1 Annex B";
    
            }
            enum "xts6" {
              value 5;
              description
                "G.992.1 operation over ISDN overlapped spectrum.";
              reference
                "ITU-T G.992.1 Annex B";
    
            }
            enum "xts7" {
              value 6;
              description
                "G.992.1 operation in conjunction with TCM ISDN
    non-overlapped spectrum.";
              reference
                "ITU-T G.992.1 Annex C";
    
            }
            enum "xts8" {
              value 7;
              description
                "G.992.1 operation in conjunction with TCM ISDN
    overlapped spectrum.";
              reference
                "ITU-T G.992.1 Annex C";
    
            }
            enum "xts9" {
              value 8;
              description
                "G.992.2 operation over POTS non-overlapped spectrum.";
              reference
                "ITU-T G.992.2 Annex A";
    
            }
            enum "xts10" {
              value 9;
              description
                "G.992.2 operation over POTS overlapped spectrum.";
              reference
                "ITU-T G.992.2 Annex B";
    
            }
            enum "xts11" {
              value 10;
              description
                "G.992.2 operation in conjunction with TCM ISDN
    non-overlapped spectrum.";
              reference
                "ITU-T G.992.2 Annex C";
    
            }
            enum "xts12" {
              value 11;
              description
                "G.992.2 operation in conjunction with TCM ISDN
    overlapped spectrum.";
              reference
                "ITU-T G.992.2 Annex C";
    
            }
            enum "xts19" {
              value 12;
              description
                "G.992.3 operation over POTS non-overlapped spectrum.";
              reference
                "ITU-T G.992.3 Annex A";
    
            }
            enum "xts20" {
              value 13;
              description
                "G.992.3 operation over POTS overlapped spectrum.";
              reference
                "ITU-T G.992.3 Annex A";
    
            }
            enum "xts21" {
              value 14;
              description
                "G.992.3 operation over ISDN non-overlapped spectrum.";
              reference
                "ITU-T G.992.3 Annex B";
    
            }
            enum "xts22" {
              value 15;
              description
                "G.992.3 operation over ISDN overlapped spectrum.";
              reference
                "ITU-T G.992.3 Annex B";
    
            }
            enum "xts23" {
              value 16;
              description
                "G.992.3 operation in conjunction with TCM ISDN
    non-overlapped spectrum.";
              reference
                "ITU-T G.992.3 Annex C";
    
            }
            enum "xts24" {
              value 17;
              description
                "G.992.3 operation in conjunction with TCM ISDN
    overlapped spectrum.";
              reference
                "ITU-T G.992.3 Annex C";
    
            }
            enum "xts25" {
              value 18;
              description
                "G.992.4 operation over POTS non-overlapped spectrum.";
              reference
                "ITU-T G.992.4 Annex A";
    
            }
            enum "xts26" {
              value 19;
              description
                "G.992.4 operation over POTS overlapped spectrum.";
              reference
                "ITU-T G.992.4 Annex A";
    
            }
            enum "xts29" {
              value 20;
              description
                "G.992.3 all digital mode operation with non-overlapped
    spectrum.";
              reference
                "ITU-T G.992.3 Annex I";
    
            }
            enum "xts30" {
              value 21;
              description
                "G.992.3 all digital mode operation with overlapped
    spectrum.";
              reference
                "ITU-T G.992.3 Annex I";
    
            }
            enum "xts31" {
              value 22;
              description
                "G.992.3 all digital mode operation with non-overlapped
    spectrum.";
              reference
                "ITU-T G.992.3 Annex J";
    
            }
            enum "xts32" {
              value 23;
              description
                "G.992.3 all digital mode operation with overlapped
    spectrum.";
              reference
                "ITU-T G.992.3 Annex J";
    
            }
            enum "xts33" {
              value 24;
              description
                "G.992.4 all digital mode operation with non-overlapped
    spectrum.";
              reference
                "ITU-T G.992.4 Annex I";
    
            }
            enum "xts34" {
              value 25;
              description
                "G.992.4 all digital mode operation with overlapped
    spectrum.";
              reference
                "ITU-T G.992.4 Annex I";
    
            }
            enum "xts35" {
              value 26;
              description
                "G.992.3 reach extended operation over POTS, Mode 1
    (non-overlapped, wide upstream).";
              reference
                "ITU-T G.992.3 Annex L";
    
            }
            enum "xts36" {
              value 27;
              description
                "G.992.3 reach extended operation over POTS, Mode 2
    (non-overlapped, narrow upstream).";
              reference
                "ITU-T G.992.3 Annex L";
    
            }
            enum "xts37" {
              value 28;
              description
                "G.992.3 reach extended operation over POTS, Mode 3
    (overlapped, wide upstream).";
              reference
                "ITU-T G.992.3 Annex L";
    
            }
            enum "xts38" {
              value 29;
              description
                "G.992.3 reach extended operation over POTS, Mode 4
    (overlapped, narrow upstream).";
              reference
                "ITU-T G.992.3 Annex L";
    
            }
            enum "xts39" {
              value 30;
              description
                "G.992.3 extended upstream operation over POTS
    non-overlapped spectrum.";
              reference
                "ITU-T G.992.3 Annex M";
    
            }
            enum "xts40" {
              value 31;
              description
                "G.992.3 extended upstream operation over POTS
    overlapped spectrum.";
              reference
                "ITU-T G.992.3 Annex M";
    
            }
            enum "xts41" {
              value 32;
              description
                "G.992.5 operation over POTS non-overlapped spectrum.";
              reference
                "ITU-T G.992.5 Annex A";
    
            }
            enum "xts42" {
              value 33;
              description
                "G.992.5 operation over POTS overlapped spectrum.";
              reference
                "ITU-T G.992.5 Annex A";
    
            }
            enum "xts43" {
              value 34;
              description
                "G.992.5 operation over ISDN non-overlapped spectrum.";
              reference
                "ITU-T G.992.5 Annex B";
    
            }
            enum "xts44" {
              value 35;
              description
                "G.992.5 operation over ISDN overlapped spectrum.";
              reference
                "ITU-T G.992.5 Annex B";
    
            }
            enum "xts45" {
              value 36;
              description
                "G.992.5 operation in conjunction with TCM ISDN
    non-overlapped spectrum.";
              reference
                "ITU-T G.992.5 Annex C";
    
            }
            enum "xts46" {
              value 37;
              description
                "G.992.5 operation in conjunction with TCM ISDN
    overlapped spectrum.";
              reference
                "ITU-T G.992.5 Annex C";
    
            }
            enum "xts47" {
              value 38;
              description
                "G.992.5 all digital mode operation with non-overlapped
    spectrum.";
              reference
                "ITU-T G.992.5 Annex I";
    
            }
            enum "xts48" {
              value 39;
              description
                "G.992.5 all digital mode operation with overlapped
    spectrum.";
              reference
                "ITU-T G.992.5 Annex I";
    
            }
            enum "xts49" {
              value 40;
              description
                "G.992.5 all digital mode operation with non-overlapped
    spectrum.";
              reference
                "ITU-T G.992.5 Annex J";
    
            }
            enum "xts50" {
              value 41;
              description
                "G.992.5 all digital mode operation with overlapped
    spectrum.";
              reference
                "ITU-T G.992.5 Annex J";
    
            }
            enum "xts51" {
              value 42;
              description
                "G.992.5 extended upstream operation over POTS
    non-overlapped spectrum.";
              reference
                "ITU-T G.992.5 Annex M";
    
            }
            enum "xts52" {
              value 43;
              description
                "G.992.5 extended upstream operation over POTS
    overlapped spectrum (Annex M of [I.";
              reference
                "ITU-T G.992.5 Annex M";
    
            }
            enum "xts57" {
              value 44;
              description
                "G.993.2 Region A (North America).";
              reference
                "ITU-T G.993.2 Annex A";
    
            }
            enum "xts58" {
              value 45;
              description
                "G.993.2 Region B (Europe).";
              reference
                "ITU-T G.993.2 Annex B";
    
            }
            enum "xts59" {
              value 46;
              description
                "G.993.2 Region C (Japan).";
              reference
                "ITU-T G.993.2 Annex C";
    
            }
            enum "xts60" {
              value 47;
              description
                "G.993.2 Region N (China).";
              reference
                "ITU-T G.993.2 Annex N";
    
            }
          }
          description
            "This defines the transmission system types to be
    allowed by the near-end xDSL Transceiver Unit (xTU) on this
    line.";
          reference
            "ITU-T G.997.1 clause 7.3.1.1.1 (XTSE)";
    
        }
    
        typedef us0mask-descriptor {
          type union {
            type enumeration {
              enum "all" {
                value 0;
                description
                  "Select all US0 masks.";
              }
            }
            type bits {
              bit o1b1 {
                position 0;
                description
                  "Octet 1 bit 1, EU-32.";
              }
              bit o1b2 {
                position 1;
                description
                  "Octet 1 bit 2, EU-36.";
              }
              bit o1b3 {
                position 2;
                description
                  "Octet 1 bit 3, EU-40.";
              }
              bit o1b4 {
                position 3;
                description
                  "Octet 1 bit 4, EU-44.";
              }
              bit o1b5 {
                position 4;
                description
                  "Octet 1 bit 5, EU-48.";
              }
              bit o1b6 {
                position 5;
                description
                  "Octet 1 bit 6, EU-52.";
              }
              bit o1b7 {
                position 6;
                description
                  "Octet 1 bit 7, EU-56.";
              }
              bit o1b8 {
                position 7;
                description
                  "Octet 1 bit 8, EU-60.";
              }
              bit o2b1 {
                position 8;
                description
                  "Octet 2 bit 1, EU-64.";
              }
              bit o2b2 {
                position 9;
                description
                  "Octet 2 bit 2, EU-128.";
              }
              bit o3b1 {
                position 16;
                description
                  "Octet 3 bit 1, ADLU-32.";
              }
              bit o3b2 {
                position 17;
                description
                  "Octet 3 bit 2, ADLU-36.";
              }
              bit o3b3 {
                position 18;
                description
                  "Octet 3 bit 3, ADLU-40.";
              }
              bit o3b4 {
                position 19;
                description
                  "Octet 3 bit 4, ADLU-44.";
              }
              bit o3b5 {
                position 20;
                description
                  "Octet 3 bit 5, ADLU-48.";
              }
              bit o3b6 {
                position 21;
                description
                  "Octet 3 bit 6, ADLU-52.";
              }
              bit o3b7 {
                position 22;
                description
                  "Octet 3 bit 7, ADLU-56.";
              }
              bit o3b8 {
                position 23;
                description
                  "Octet 3 bit 8, ADLU-60.";
              }
              bit o4b1 {
                position 24;
                description
                  "Octet 4 bit 1, ADLU-64.";
              }
              bit o4b2 {
                position 25;
                description
                  "Octet 4 bit 2, ADLU-128.";
              }
            }
          }
          description
            "Defines us0mask so it can be used for both configuration in
    line-spectrum-profile and status in line-xtu-status.
    This contains the US0 PSD masks for the near-end xDSL
    Transceiver Unit (xTU) on the line. This parameter is only
    defined for Annex A of [ITU-T G.993.2]. It is represented as a
    bitmap (0 or false if not allowed, and 1 or true if allowed).";
          reference
            "ITU-T G.997.1 clause 7.3.1.2.18 (US0MASK) and Table 7-8;
            ITU-T G.993.2 Annex A";
    
        }
    
        typedef limitmask-descriptor {
          type bits {
            bit o1b1 {
              position 0;
              description
                "Octet 1, bit 1; Profile class 8.";
            }
            bit o1b2 {
              position 1;
              description
                "Octet 1, bit 2; Profile class 8.";
            }
            bit o1b3 {
              position 2;
              description
                "Octet 1, bit 3; Profile class 8.";
            }
            bit o1b4 {
              position 3;
              description
                "Octet 1, bit 4; Profile class 8.";
            }
            bit o2b1 {
              position 8;
              description
                "Octet 2, bit 1; Profile class 8.";
            }
            bit o2b2 {
              position 9;
              description
                "Octet 2, bit 2; Profile class 8.";
            }
            bit o3b1 {
              position 16;
              description
                "Octet 3, bit 1; Profile class 12.";
            }
            bit o3b2 {
              position 17;
              description
                "Octet 3, bit 2; Profile class 12.";
            }
            bit o3b3 {
              position 18;
              description
                "Octet 3, bit 3; Profile class 12.";
            }
            bit o3b4 {
              position 19;
              description
                "Octet 3, bit 4; Profile class 12.";
            }
            bit o4b1 {
              position 24;
              description
                "Octet 4, bit 1; Profile class 12.";
            }
            bit o4b2 {
              position 25;
              description
                "Octet 4, bit 2; Profile class 12.";
            }
            bit o5b1 {
              position 32;
              description
                "Octet 5, bit 1; Profile class 17.";
            }
            bit o5b2 {
              position 33;
              description
                "Octet 5, bit 2; Profile class 17.";
            }
            bit o5b3 {
              position 34;
              description
                "Octet 5, bit 3; Profile class 17.";
            }
            bit o5b4 {
              position 35;
              description
                "Octet 5, bit 4; Profile class 17.";
            }
            bit o6b1 {
              position 40;
              description
                "Octet 6, bit 1; Profile class 17.";
            }
            bit o6b2 {
              position 41;
              description
                "Octet 6, bit 2; Profile class 17.";
            }
            bit o7b1 {
              position 48;
              description
                "Octet 7, bit 1; Profile class 30.";
            }
            bit o7b2 {
              position 49;
              description
                "Octet 7, bit 2; Profile class 30.";
            }
            bit o7b3 {
              position 50;
              description
                "Octet 7, bit 3; Profile class 30.";
            }
            bit o8b1 {
              position 56;
              description
                "Octet 8, bit 1; Profile class 30.";
            }
            bit o8b2 {
              position 57;
              description
                "Octet 8, bit 2; Profile class 30.";
            }
            bit o9b1 {
              position 64;
              description
                "Octet 9, bit 1; Profile class 35.";
            }
            bit o9b2 {
              position 65;
              description
                "Octet 9, bit 2; Profile class 35.";
            }
            bit o9b3 {
              position 66;
              description
                "Octet 9, bit 3; Profile class 35.";
            }
          }
          description
            "This contains the G.993.2 limit Power Spectral Density (PSD)
    masks of the selected PSD mask class, enabled by the near-end
    xDSL Transceiver Unit (xTU) on this line for each class of
    profiles.";
          reference
            "ITU-T G.997.1 clause 7.3.1.2.16 (LIMITMASK) and Table 7-7";
    
        }
    
        typedef classmask-descriptor {
          type enumeration {
            enum "none" {
              value 0;
              description
                "No class mask selected.";
            }
            enum "class1" {
              value 1;
              description
                "Classmask 1 of Table 7-7 of ITU-T G.997.1.";
            }
            enum "class2" {
              value 2;
              description
                "Classmask 2 of Table 7-7 of ITU-T G.997.1.";
            }
            enum "class3" {
              value 3;
              description
                "Classmask 3 of Table 7-7 of ITU-T G.997.1.";
            }
            enum "class5" {
              value 4;
              description
                "Classmask 5 of Table 7-7 of ITU-T G.997.1.";
            }
            enum "class6" {
              value 5;
              description
                "Classmask 6 of Table 7-7 of ITU-T G.997.1.";
            }
            enum "class8" {
              value 6;
              description
                "Classmask 8 of Table 7-7 of ITU-T G.997.1.";
            }
            enum "class9" {
              value 7;
              description
                "Classmask 9 of Table 7-7 of ITU-T G.997.1.";
            }
          }
          description
            "One CLASSMASK parameter is defined per the G.993.2 Annex
    enabled in the xDSL Transmission System Enabling (XTSE). It
    selects a single Power Spectral Density (PSD) mask class
    per the G.993.2 Annex that is activated at the VDSL
    Transceiver Unit - central Office (VTU-O).";
          reference
            "ITU-T G.997.1 clause 7.3.1.2.15 (CLASSMASK) and Table 7-6";
    
        }
    
        typedef profiles {
          type bits {
            bit profile-8a {
              position 1;
              description "G.993.2 profile 8a.";
            }
            bit profile-8b {
              position 2;
              description "G.993.2 profile 8b.";
            }
            bit profile-8c {
              position 3;
              description "G.993.2 profile 8c.";
            }
            bit profile-8d {
              position 4;
              description "G.993.2 profile 8d.";
            }
            bit profile-12a {
              position 5;
              description "G.993.2 profile 12a.";
            }
            bit profile-12b {
              position 6;
              description "G.993.2 profile 12b.";
            }
            bit profile-17a {
              position 7;
              description "G.993.2 profile 17a.";
            }
            bit profile-30a {
              position 8;
              description "G.993.2 profile 30a.";
            }
            bit profile-35b {
              position 9;
              description "G.993.2 profile 35b.";
            }
          }
          description "VDSL2 profiles.";
          reference
            "ITU-T G.993.2";
    
        }
    
        typedef band {
          type enumeration {
            enum "upstream" {
              value 0;
              description
                "Transmission from the xDSL Transceiver Unit - Remote side
    (xTU-R) to the xDSL Transceiver Unit - Central office
    (xTU-C) (refers to the single upstream band for
    ADSL/ADSL2/ADSL2plus or to all upstream traffic for
    VDSL2).";
            }
            enum "downstream" {
              value 1;
              description
                "Transmission from the xDSL Transceiver Unit - Central
    office (xTU-R) to the xDSL Transceiver Unit - Remote side
    (xTU-C) (refers to the single downstream band for
    ADSL/ADSL2/ADSL2plus or to all downstream traffic for
    VDSL2).";
            }
            enum "us0" {
              value 2;
              description "Upstream band 0.";
            }
            enum "us1" {
              value 3;
              description "Upstream band 1.";
            }
            enum "us2" {
              value 4;
              description "Upstream band 2.";
            }
            enum "us3" {
              value 5;
              description "Upstream band 3.";
            }
            enum "us4" {
              value 6;
              description "Upstream band 4.";
            }
            enum "ds1" {
              value 7;
              description "Downstream band 1.";
            }
            enum "ds2" {
              value 8;
              description "Downstream band 2.";
            }
            enum "ds3" {
              value 9;
              description "Downstream band 3.";
            }
            enum "ds4" {
              value 10;
              description "Downstream band 4.";
            }
          }
          description
            "Represents the available upstream and downstream bands.";
        }
    
        typedef downstream-data-rate-profile-ref {
          type leafref {
            path "/bbf-vdsl:vdsl/bbf-vdsl:service/bbf-vdsl:downstream-data-rate-profile/bbf-vdsl:name";
          }
          description
            "Downstream Data Rate Profile identifier.";
        }
    
        typedef upstream-data-rate-profile-ref {
          type leafref {
            path "/bbf-vdsl:vdsl/bbf-vdsl:service/bbf-vdsl:upstream-data-rate-profile/bbf-vdsl:name";
          }
          description
            "Upstream Data Rate Profile identifier.";
        }
    
        typedef line-spectrum-profile-ref {
          type leafref {
            path "/bbf-vdsl:vdsl/bbf-vdsl:spectrum/bbf-vdsl:line-spectrum-profile/bbf-vdsl:name";
          }
          description
            "Line Spectrum Profile identifier.";
        }
    
        typedef mode-specific-psd-profile-ref {
          type leafref {
            path "/bbf-vdsl:vdsl/bbf-vdsl:spectrum/bbf-vdsl:mode-specific-psd-profile/bbf-vdsl:name";
          }
          description
            "Mode Specific Power Spectral Density (PSD) Profile
    identifier.";
        }
    
        typedef upstream-power-back-off-profile-ref {
          type leafref {
            path "/bbf-vdsl:vdsl/bbf-vdsl:spectrum/bbf-vdsl:upstream-power-back-off-profile/bbf-vdsl:name";
          }
          description
            "Upstream Power Back-Off (UPBO) Profile identifier.";
        }
    
        typedef downstream-power-back-off-profile-ref {
          type leafref {
            path "/bbf-vdsl:vdsl/bbf-vdsl:spectrum/bbf-vdsl:downstream-power-back-off-profile/bbf-vdsl:name";
          }
          description
            "Downstream Power Back-Off (DPBO) Profile identifier.";
        }
    
        typedef radio-frequency-interference-profile-ref {
          type leafref {
            path "/bbf-vdsl:vdsl/bbf-vdsl:spectrum/bbf-vdsl:radio-frequency-interference-profile/bbf-vdsl:name";
          }
          description
            "Radio Frequency Interference (RFI) Profile identifier.";
        }
    
        typedef noise-margin-profile-ref {
          type leafref {
            path "/bbf-vdsl:vdsl/bbf-vdsl:quality/bbf-vdsl:noise-margin-profile/bbf-vdsl:name";
          }
          description
            "Noise Margin Profile identifier.";
        }
    
        typedef impulse-noise-protection-delay-profile-ref {
          type leafref {
            path "/bbf-vdsl:vdsl/bbf-vdsl:quality/bbf-vdsl:impulse-noise-protection-delay-profile/bbf-vdsl:name";
          }
          description
            "Inpulse Noise Protection (INP) Delay Profile identifier.";
        }
    
        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 line-threshold-profile-ref {
          type leafref {
            path "/bbf-vdsl:vdsl/bbf-vdsl:thresholds/bbf-vdsl:line-threshold-profile/bbf-vdsl:name";
          }
          description
            "xDSL Transceiver Unit (xTU) Line Threshold Profile name.";
        }
    
        typedef channel-threshold-profile-ref {
          type leafref {
            path "/bbf-vdsl:vdsl/bbf-vdsl:thresholds/bbf-vdsl:channel-threshold-profile/bbf-vdsl:name";
          }
          description
            "xDSL Transceiver Unit (xTU) Channel Threshold Profile name.";
        }
    
        typedef per-sub-carrier-group-uint8 {
          type binary {
            length "0..512";
          }
          description
            "A binary type where each octet represents data belonging to
    a sub-carrier group. The first octet represents sub-carrier
    group 0 and the last represents sub-carrier group 511.";
        }
    
        typedef per-sub-carrier-group-uint16 {
          type binary {
            length "0..1024";
          }
          description
            "A binary type where each pair of octets represents data
    belonging to a sub-carrier group. The first two octets
    represents sub-carrier group 0 and the last two represents
    sub-carrier group 511. In each pair of octets, the most
    significant byte is loaded first.";
        }
    
        typedef per-sub-carrier-group-int16-tuple {
          type binary {
            length "0..2048";
          }
          description
            "A binary type where a tuple of octet pairs represent data
    belonging to a sub-carrier group. The first tuple represents
    sub-carrier group 0 and the last tuple represents sub-carrier
    group 511. In each pair of octets in the tuple, the most
    significant byte is loaded first. The order of the tuple is
    determined by the node to which this type is associated.";
        }
    
        typedef per-sub-carrier-group-uint16-tuple {
          type binary {
            length "0..2048";
          }
          description
            "A binary type where a tuple of octet pairs represent data
    belonging to a sub-carrier group. The first tuple represents
    sub-carrier group 0 and the last tuple represents sub-carrier
    group 511. In each pair of octets in the tuple, the most
    significant byte is loaded first. The order of the tuple is
    determined by the node to which this type is associated.";
        }
    
        typedef per-sub-carrier-nibble {
          type binary {
            length "4096";
          }
          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 8191.";
        }
    
        typedef per-sub-carrier-uint16 {
          type binary {
            length "16384";
          }
          description
            "A binary type where each pair of octets represents data
    belonging to a sub-carrier. The first two octets represent
    sub-carrier 0 and the last two represent sub-carrier 8191.
    In each pair of octets, the most significant byte is loaded
    first.";
        }
    
        typedef sub-carrier-group-size {
          type uint8 {
            range "1 | 2 | 4 | 8 | 16";
          }
          description
            "This parameter is the number of subcarriers per group. The
    valid values are 1, 2, 4, 8 and 16. For ADSL, this parameter is
    equal to 1 and, for VDSL2, it is equal to the size of a
    subcarrier group used to compute these parameters.";
          reference
            "ITU-T G.993.2 clause 11.4.1";
    
        }
    
        typedef loop-diagnostics-result {
          type enumeration {
            enum
              "no-loop-diagnostics-results-available" {
              value 0;
              description
                "No measurement results are available when no Loop
    Diagnostics mode procedures has been performed yet or
    after Loop Diagnostics mode results have been
    deleted.";
            }
            enum
              "loop-diagnostics-failed-results-invalid" {
              value 1;
              description
                "Loop Diagnostics mode results are invalid after the
    most recent Loop Diagnostics mode procedures failed.";
            }
            enum
              "loop-diagnostics-succeeded-results-valid" {
              value 2;
              description
                "Loop Diagnostics mode results are valid after the
    most recent Loop Diagnostics mode procedures
    succeeded.";
            }
          }
          description
            "The overall results of the Loop Diagnostics mode.";
          reference
            "ITU-T G.997.1 clause 7.5.1.45 (LDR)";
    
        }
    
        typedef line-config-vector-ref {
          type leafref {
            path "/bbf-vdsl:vdsl/bbf-vdsl:vectors/bbf-vdsl:line-config-vector/bbf-vdsl:name";
          }
          description
            "xDSL Line Configuration Vector identifier.";
        }
    
        typedef threshold-template-ref {
          type leafref {
            path "/bbf-vdsl:vdsl/bbf-vdsl:thresholds/bbf-vdsl:threshold-template/bbf-vdsl:name";
          }
          description
            "xDSL Line Threshold Template name.";
        }
    
        // groupings
        grouping psdmask-descriptor {
          description
            "This grouping is used to define a Power Spectral Density (PSD)
    mask.";
          list psdmask {
            must "count(../psdmask) != 1" {
              error-message
                "Only one 'psdmask' is defined.";
              description
                "The Power Spectral Density (PSD) mask list must either be
    empty or have at least 2 elements.";
            }
            key "sub-carrier";
            description
              "This list defines a Power Spectral Density (PSD) level per
    sub-carrier. The default is an empty list indicating no PSD
    mask.";
            leaf sub-carrier {
              type sub-carrier-index;
              description
                "The sub-carrier index.";
            }
    
            leaf psd-level {
              type uint8 {
                range "0..190";
              }
              units "-0.5 dBm per Hz";
              mandatory true;
              description
                "Power Spectral Density (PSD) level. Valid values: 0 to 190
    (0 to -95 dBm per Hz).";
            }
          }  // list psdmask
        }  // grouping psdmask-descriptor
    
        grouping test-mode {
          description
            "Data nodes used to invoke test modes and update test
    parameters.";
          container test-mode {
            description
              "Update test parameters.";
            leaf power-management-state-forced {
              type enumeration {
                enum "0" {
                  value 0;
                  description
                    "Force the line to transition from the L3 idle state
    to the L0 full-on state (i.e., both xTUs are in
    showtime). This transition requires the (short or full)
    initialization procedures. After reaching the L0 state,
    the line may transition into or exit from the L2 low
    power state (if L2 state is defined and enabled). If
    the L0 state is not reached (after a vendor
    discretionary number of retries and/or within a vendor
    discretionary timeout), then an Initialization failure
    occurs. Whenever the line is in the L3 state, attempts
    will be made to transition to the L0 state until it is
    forced into another state through this configuration
    parameter.";
                }
                enum "2" {
                  value 1;
                  description
                    "Force the line to transition from L0 full on to L2 low
    power state. This transition requires the entry into L2
    mode. This is an out-of-service test value for
    triggering the L2 mode and is valid only for
    Recommendations supporting L2 mode. This parameter
    value is only applicable for operation according to
    G.992.3, G.992.4 or G.992.5. If not applicable, this
    value is ignored until its use is defined.";
                }
                enum "3" {
                  value 2;
                  description
                    "Force the line to transition from the L0 full-on or
    L2 low power state to the L3 idle state. This
    transition requires the (orderly) shutdown procedure.
    After reaching the L3 state, the line will remain in
    the L3 idle state until it is forced into another
    state through this configuration parameter.";
                }
                enum "4" {
                  value 3;
                  description
                    "No power management state forced.";
                }
              }
              default "4";
              description
                "This configuration parameter defines the line states to
    be forced by the near-end xDSL Transceiver Unit (xTU) on
    this line. The default is enum 4, no power management state
    forced.";
              reference
                "ITU-T G.997.1 7.3.1.1.3 (PMSF)";
    
            }
    
            leaf loop-diagnostics-mode-forced {
              type enumeration {
                enum "0" {
                  value 0;
                  description
                    "Inhibits the near-end xDSL Transceiver Unit (xTU) from
    performing loop diagnostic mode procedures on the line.
    Loop diagnostic mode procedures may still be initiated
    by the far-end xTU.";
                }
                enum "1" {
                  value 1;
                  description
                    "Forces the near-end xDSL Transceiver Unit (xTU) to
    perform the loop diagnostic procedures.";
                }
                enum "2" {
                  value 2;
                  description
                    "No loop diagnostic mode forced.";
                }
              }
              default "2";
              description
                "This configuration parameter defines whether the line
    should be forced into the loop diagnostic mode by the
    near-end xDSL Transceiver Unit (xTU) on this line. The
    default is no loop diagnostic mode forced, corresponding to
    enum 2.
    
    Upon completion of the loop diagnostics mode procedures,
    the xTUs return to the IDLE state. The loop diagnostic mode
    data are available at least until the loop diagnostics mode
    is no longer forced (i.e., until a value different from
    enum 1 is configured). When the loop diagnostics mode is no
    longer forced, the xTUs resume normal operation.
    
    A configuration change to enum '0' or enum '2' (i.e., to
    loop diagnostics mode no longer forced) is required before
    forcing the line again into loop diagnostics mode.";
              reference
                "ITU-T G.997.1 clause 7.3.1.1.8 (LDSF)";
    
            }
    
            leaf auto-mode-cold-start-forced {
              type uint8 {
                range "0..1";
              }
              description
                "This parameter is defined in order to improve testing of
    the performance of xTUs supporting automode when it is
    enabled in the Management Information Base (MIB). The valid
    values are 0 and 1. A change in value of this parameter
    indicates a change in loop conditions applied to the
    devices under test. The xTUs will reset any historical
    information used for automode, for shortening G.994.1
    handshake, or for shortening the initialization procedure.
    The default is no automode cold start forced.";
              reference
                "ITU-T G.997.1 clause 7.3.1.1.10";
    
            }
          }  // container test-mode
        }  // grouping test-mode
    
        grouping update-test {
          description
            "This is defined so that test parameters can be forced to
    be updated.";
          container xtu-c {
            description
              "The update-test-ne is performed on the xDSL Transceiver
    Unit - Central office (xTU-C).";
            leaf update-test-ne {
              type uint8 {
                range "0..1";
              }
              default "0";
              status deprecated;
              description
                "This parameter is defined to force an update of the
    near-end test parameters that can be updated during
    showtime. The parameter is configurable over the
    Q-interface and the valid values are 0 and 1. When this
    parameter is set (its value is changed from 0 to 1), the
    near-end test parameters will be updated in the Access Node
    (AN) Management Information Base (MIB) within 10 seconds.
    The update request flag for the near-end test parameters is
    defined in the AN MIB and is independent of any autonomous
    update process in the system. The parameter will be reset
    (its value changed back to 0) by the AN after a period
    shorter than 3 minutes to allow reception of another update
    request. The 3 minute period starts since the last time the
    flag was set (externally or by an autonomous process in the
    system). This applies only to the elements maintained in
    the AN.
    
    A configuration change back to 0 is required before
    initiating another update.";
              reference
                "ITU-T G.997.1 clause 7.5.1.36.1 (UPDATE-TEST-NE)";
    
            }
    
            action update-near-end-test {
              description
                "Forces an update of the test parameters that can be
    updated during showtime.";
              reference
                "ITU-T G.997.1 clause 7.5.1.36.1 (UPDATE-TEST-NE)";
    
            }  // rpc update-near-end-test
    
            leaf xlin-disturber-vce-port-index-ds {
              type vce-port-index;
              default "undefined";
              description
                "The requested XLIN downstream disturber Vectoring Control
    Entity (VCE) port index.";
            }
    
            leaf xlin-disturber-vce-port-index-us {
              type vce-port-index;
              default "undefined";
              description
                "The requested XLIN upstream disturber Vectoring Control
    Entity (VCE) port index.";
            }
          }  // container xtu-c
    
          container xtu-r {
            description
              "The update-test-fe is performed on the xDSL Transceiver
    Unit - Remote site (xTU-R).";
            leaf update-test-fe {
              type uint8 {
                range "0..1";
              }
              default "0";
              status deprecated;
              description
                "This parameter is defined to force an update of the
    far-end test parameters that can be updated during
    showtime. The parameter is configurable over the
    Q-interface and the valid values are 0 and 1. When this
    parameter is set (its value is changed from 0 to 1), the
    far-end test parameters will be updated in the Access Node
    (AN) Management Information Base (MIB) within 30 seconds.
    The update request flag for the far-end test parameters is
    defined in the AN MIB and is independent of any autonomous
    update process in the system. The parameter will be reset
    (its value changed back to 0) by the AN after a period
    shorter than 3 minutes to allow reception of another update
    request. The 3 minute period starts since the last time the
    flag was set (externally or by an autonomous process in the
    system). This applies only to the elements maintained in
    the AN.
    
    A configuration change back to 0 is required before
    initiating another update.";
              reference
                "ITU-T G.997.1 clause 7.5.1.36.2 (UPDATE-TEST-FE)";
    
            }
    
            action update-far-end-test {
              description
                "Forces an update of the test parameters that can be
    updated during showtime.";
              reference
                "ITU-T G.997.1 clause 7.5.1.36.2 (UPDATE-TEST-FE)";
    
            }  // rpc update-far-end-test
          }  // container xtu-r
        }  // grouping update-test
    
        grouping inventory {
          description
            "The xDSL Transceiver Unit (xTU) parameters represent an xDSL
    transceiver at either end of the xDSL Line. This has two
    instantiations: an xDSL Transceiver Unit - Central office
    (xTU-C), and an xDSL Transceiver Unit - Remote side (xTU-R).";
          leaf g.994.1-vendor-id {
            type binary {
              length "8";
            }
            description
              "The xDSL Transceiver Unit - Central office (xTU-C) G.994.1
    vendor ID is the vendor ID as inserted by the xTU-C in the
    G.994.1 CL message. It consists of 8 binary octets, including
    a country code followed by a (regionally allocated) provider
    code, as defined in [ITU-T T.35]:
     - T.35 country code (2 octets)
     - T.35 provider code (vendor identification) (4 octets)
     - T.35 provider oriented code (vendor revision number) (2
       octets)
    The G.994.1 vendor ID should typically identify the vendor of
    the xTU-C G.994.1 functionality, whether implemented in
    hardware or software. It is not intended to indicate the
    system integrator.";
            reference
              "ITU-T G.997.1 clauses 7.4.1 and 7.4.2;
              ITU-T G.994.1";
    
          }
    
          leaf system-vendor-id {
            type binary {
              length "8";
            }
            description
              "The xDSL Transceiver Unit system vendor ID is the vendor ID
    as inserted by the xDSL Transceiver Unit - Central office
    (xTU-C) in the overhead messages or by the by the xDSL
    Transceiver Unit - Remote side (xTU-R) in the embedded
    operations channel. It consists of 8 binary octets, with same
    format as the xTU-C G.994.1 vendor ID
    (xtu-g.994.1-vendor-id).";
            reference
              "ITU-T G.997.1 clauses 7.4.3 and 7.4.4;
              ITU-T G.994.1";
    
          }
    
          leaf version-number {
            type binary {
              length "0..16";
            }
            description
              "The xDSL Transceiver Unit version number is the version
    number as inserted by the xDSL Transceiver Unit - Central
    office (xTU-C) in the overhead messages, or by the xDSL
    Transceiver Unit - Remote side (xTU-R) in the embedded
    operations channel. It is for version control and is vendor
    specific information. For the XTU-C, this consists of up to
    16 binary octets. For the XTU-R, this consists of up to 16
    ASCII characters. It contains the xTU-R firmware version and
    the xTU-R model. Both are encoded in this order and
    separated by a space character, i.e., <xTU-R firmware
    version> <xTU-R model>.";
            reference
              "ITU-T G.997.1 clauses 7.4.5 and 7.4.6";
    
          }
    
          leaf serial-number {
            type binary {
              length "0..32";
            }
            description
              "The xDSL Transceiver Unit serial number is the serial number
    as inserted by the xDSL Transceiver Unit - Central office
    (xTU-C) in the overhead messages, or by the xDSL Transceiver
    Unit - Remote side (xTU-R) in the embedded operations
    channel. It is vendor specific information. For the XTU-C,
    this consists of up to 32 ASCII characters. For this XTU-R,
    this contains the equipment serial number, the equipment
    model and the equipment firmware version. All are encoded in
    this order and separated by space characters, i.e.,
    <equipment serial number> <equipment model> <equipment
    firmware version>.";
            reference
              "ITU-T G.997.1 clauses 7.4.7 and 7.4.8";
    
          }
    
          leaf self-test-result {
            type uint32;
            description
              "This parameter defines the xDSL Transceiver Unit self-test
    result. It is coded as a 32-bit integer. The most significant
    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 G.994.1 and system vendor
    IDs.";
            reference
              "ITU-T G.997.1 clauses 7.4.9 and 7.4.10;
              ITU-T G.994.1";
    
          }
    
          leaf-list transmission-system-capabilities {
            type xts-descriptor;
            description
              "This parameter defines the xDSL Transceiver Unit capability
    list of the different transmission system types. It is coded
    in a bit-map representation with the bits defined in the
    reference. This parameter may be derived from the handshaking
    procedures defined in ITU-T G.994.1.";
            reference
              "ITU-T G.997.1 clauses 7.3.1.1.1, 7.4.11 and 7.4.12;
              ITU-T G.994.1";
    
          }
    
          leaf vdsl2-lr-support {
            if-feature bbf-vdsl:vdsl2-lr;
            type boolean;
            description
              "This parameter indicates the support of VDSL2 Long Reach
    (VDSL2-LR) mode. The parameter is set to 'false' if VDSL2-LR
    mode is not supported and set to 'true' if VDSL2-LR mode is
    supported.";
            reference
              "ITU-T G.997.1 clause 7.4.14 (VDSL2-LR_SUPPORT_O/R)";
    
          }
    
          leaf strongfext-support {
            if-feature bbf-vdsl:strongfext;
            type boolean;
            description
              "This parameter indicates the support of operation
    according to ITU-T G.993.5 Annex A.
    The parameter is set to 'false' if Strong Far-End Crosstalk
    (STRONGFEXT) mode is not supported and set to 'true' if
    STRONGFEXT mode is supported.";
            reference
              "ITU-T G.997.1 clause 7.4.15 (STRONGFEXT_MODE_SUPPORT_O/R);
              ITU-T G.993.5 Annex A";
    
          }
        }  // grouping inventory
    
        grouping vce {
          description
            "Parameters for Vectoring Control Entity (VCE) identity.";
          leaf vce-id {
            type union {
              type uint8 {
                range "1..255";
              }
              type enumeration {
                enum "not-in-vectored-group" {
                  value 0;
                  description
                    "Indicates that the line is not in a vectored group.";
                }
              }
            }
            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 (enum not-in-vectored-group) means the line is
    not in a vectored group.";
            reference
              "ITU-T G.997.1 clause 7.4.13.1 (VCE_ID)";
    
          }
    
          leaf vce-port-index {
            type uint16;
            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 value 0 indicates the line is not in a vectored
    group.";
            reference
              "ITU-T G.997.1 clause 7.4.13.2 (VCE_port_index)";
    
          }
        }  // grouping vce
    
        grouping data-rate-profile {
          description
            "Data rate profile for upstream and downstream.";
          leaf minimum-net-data-rate {
            type bbf-yang:data-rate32;
            must ". <= ../maximum-net-data-rate" {
              error-message
                "'minimum-net-data-rate' is greater than 'maximum-net-data-rate'.";
              description
                "The minimum net data rate must be less than or equal the
    maximum net data rate.";
            }
            default "0";
            description
              "If retransmission is not used in a given transmit direction,
    this parameter specifies the minimum net data rate for the
    bearer channel as desired by the operator of the system. The
    data rate is coded in steps of 1000 bits per second.";
            reference
              "ITU-T G.997.1 clause 7.3.2.1.1";
    
          }
    
          leaf maximum-net-data-rate {
            type bbf-yang:data-rate32;
            default "4294967295";
            description
              "If retransmission is not used in a given transmit direction,
    this parameter specifies the maximum net data rate for the
    bearer channel as desired by the operator of the system. The
    data rate is coded in steps of 1000 bits bit per second.";
            reference
              "ITU-T G.997.1 clause 7.3.2.1.3";
    
          }
    
          leaf minimum-data-rate-in-low-power-state {
            type bbf-yang:data-rate32;
            default "0";
            description
              "This parameter specifies the minimum net data rate for the
    bearer channel as desired by the operator of the system
    during the low power state (L1/L2). The power management low
    power states L1 and L2 are defined in ITU-T G.992.2 and
    ITU-T G.992.3, respectively. The data rate is coded in
    steps of 1000 bits per second. This parameter is only
    applicable to the downstream direction in case of operation
    according to G.992.2, G.992.3, G.992.4 or G.992.5. If not
    applicable, its value is ignored until its use is defined.";
            reference
              "ITU-T G.997.1 clause 7.3.2.1.5;
              ITU-T G.992.2;
              ITU-T G.992.3";
    
          }
    
          leaf maximum-bit-error-ratio {
            type enumeration {
              enum "1e-3" {
                value 0;
                description
                  "Bit error ratio 1e-3.";
              }
              enum "1e-5" {
                value 1;
                description
                  "Bit error ratio 1e-5.";
              }
              enum "1e-7" {
                value 2;
                description
                  "Bit error ratio 1e-7.";
              }
            }
            default "1e-7";
            description
              "If retransmission is not used in a given transmit direction,
    this parameter specifies the maximum bit error ratio for the
    bearer channel as desired by the operator of the system. The
    bit error ratio can take the values 10^-3, 10^-5 or 10^-7.
    The default is 1e-7.";
            reference
              "ITU-T G.997.1 clause 7.3.2.6";
    
          }
    
          leaf data-rate-threshold-upshift {
            type bbf-yang:data-rate32;
            default "0";
            description
              "If retransmission is not used in a given transmit direction,
    this parameter is a threshold on the net data rate upshift
    achieved over one or more bearer channel data rate
    adaptations. An upshift rate change alarm (event) is
    triggered when the actual data rate exceeds the data rate at
    the last entry into showtime by more than the threshold. The
    data rate threshold is coded in 1000 bits per second. The
    default of 0 corresponds to no event on a threshold
    crossing.";
            reference
              "ITU-T G.997.1 clause 7.3.2.8.1";
    
          }
    
          leaf data-rate-threshold-downshift {
            type bbf-yang:data-rate32;
            default "0";
            description
              "If retransmission is not used in a given transmit direction,
    this parameter is a threshold on the net data rate downshift
    achieved over one or more bearer channel data rate
    adaptations. A downshift rate change alarm (event) is
    triggered when the actual data rate is below the data rate at
    the last entry into showtime by more than the threshold. The
    data rate threshold is coded in 1000 bits per second. The
    default of 0 corresponds to no event on a threshold
    crossing.";
            reference
              "ITU-T G.997.1 clause 7.3.2.8.2";
    
          }
    
          leaf minimum-sos-data-rate {
            type bbf-yang:data-rate32;
            default "0";
            description
              "This parameter specifies the minimum net data rate for the
    bearer channel required for a valid Save Our Showtime (SOS)
    request in the direction of the bearer channel. The value
    will be coded as an unsigned integer representing the data
    rate is coded in steps of 1000 bits per second.";
            reference
              "ITU-T G.997.1 clause 7.3.2.1.6 (MIN-SOS-DR)";
    
          }
    
          leaf minimum-expected-throughput-rtx {
            type bbf-yang:data-rate32;
            must
              ". <= ../maximum-expected-throughput-rtx" {
              error-message
                "'minimum-expected-throughput-rtx' is greater than 'maximum-expected-throughput-rtx'.";
              description
                "The minimum expected throughput must be less than or equal
    to the maximum expected throughput for retransmission.";
            }
            default "0";
            description
              "If retransmission is used in a given transmit direction,
    this parameter specifies the minimum expected throughput
    for the bearer channel. The rate is coded in steps of 1000
    bits per second.";
            reference
              "ITU-T G.997.1 clause 7.3.2.1.8 (MINETR_RTX);
              ITU-T G.998.4 clause 11.1.1";
    
          }
    
          leaf maximum-expected-throughput-rtx {
            type bbf-yang:data-rate32;
            must
              ". <= ../maximum-net-data-rate-rtx" {
              error-message
                "'maximum-expected-throughput-rtx' is greater than  'maximum-net-data-rate-rtx'.";
              description
                "The maximum expected throughput must be less than or equal
    to the maximum net data rate for retransmission.";
            }
            default "4294967295";
            description
              "If retransmission is used in a given transmit direction, this
    parameter specifies the maximum expected throughput for the
    bearer channel. The rate is coded in steps of 1000 bits per
    second.";
            reference
              "ITU-T G.997.1 clause 7.3.2.1.9 (MAXETR_RTX);
              ITU-T G.998.4 clause 11.1.2";
    
          }
    
          leaf maximum-net-data-rate-rtx {
            type bbf-yang:data-rate32;
            default "4294967295";
            description
              "If retransmission is used in a given transmit direction, this
    parameter specifies the maximum net data rate for the bearer
    channel. The rate is coded in steps of 1000 bits per
    second.";
            reference
              "ITU-T G.997.1 clause 7.3.2.1.10 (MAXNDR_RTX);
              ITU-T G.998.4 clause 11.1.3";
    
          }
    
          leaf target-net-data-rate {
            type bbf-yang:data-rate32;
            default "4294967295";
            description
              "If retransmission is not used in a given transmit direction,
    this parameter specifies the target net data rate of the
    bearer channel. The target expected throughput is coded in
    steps of 1000 bits per second.";
            reference
              "ITU-T G.997.1 clause 7.3.2.19.1 (TARGET_NDR);
              ITU-T G.993.5";
    
          }
    
          leaf target-expected-throughput {
            type bbf-yang:data-rate32;
            default "4294967295";
            description
              "If retransmission is used in a given transmit direction, this
    parameter specifies the target expected throughput for the
    bearer channel. The target expected throughput is coded in
    steps of 1000 bits per second.";
            reference
              "ITU-T G.997.1 clause 7.3.2.19.2 (TARGET_ETR);
              ITU-T G.993.5";
    
          }
    
          leaf leftr-defect-threshold {
            if-feature bbf-vdsl:data-rate-profile-leftr;
            type union {
              type uint8 {
                range "0..99";
              }
              type enumeration {
                enum "etr-default-threshold" {
                  value 0;
                  description
                    "Indicates that the Expected Throughput Rate (ETR) shall
    be used as the default threshold for declaring a Low
    Error-Free Throughput Rate (leftr) defect.";
                }
              }
            }
            units "0.01";
            default "etr-default-threshold";
            description
              "If retransmission is used in a given transmit direction,
    LEFTR_THRESH specifies the threshold for declaring a leftr
    defect. The value is coded as a fraction of the NDR with
    valid range from 0.00 to 0.99 in increments of 0.01. The
    value 0.00 implies no leftr-defects are declared. A special
    value of (enum etr-default-threshold) means the Expected
    Throughput Rate (ETR) shall be used as the default threshold
    for declaring a Low Error-Free Throughput Rate (leftr)
    defect.";
            reference
              "ITU-T G.997.1 clause 7.3.1.12 (LEFTR_THRESH);
              ITU-T G.998.4 clause 11.1.12";
    
          }
        }  // grouping data-rate-profile
    
        grouping mode-specific-psd-profile {
          description
            "These configuration parameters depend on a transmission mode.
    Each transmission mode enabled in a Line Spectrum Profile is
    covered by one and only one of the Mode Specific Power Spectral
    Density (PSD) Profiles contained in that Line Spectrum
    Profile.";
          leaf ts {
            type xts-descriptor;
            mandatory true;
            description
              "This indicates the transmission system type this mode
    specific profile is used with.";
            reference
              "ITU-T G.997.1 clause 7.3.1.1.1 (XTSE)";
    
          }
    
          leaf maximum-nominal-psd-ds {
            type int16 {
              range "-600..-300";
            }
            units "0.1 dBm per Hz";
            default "-400";
            description
              "This parameter represents the maximum nominal transmit
    Power Spectral Density (PSD) in the downstream direction
    during initialization and showtime (in dBm per Hz). A single
    MAXNOMPSDds parameter is defined per mode enabled in the
    xDSL Transmission System Enabling (XTSE) line configuration
    parameter. It ranges from -60 to -30 dBm per Hz, with 0.1 dB
    steps.";
            reference
              "ITU-T G.997.1 clause 7.3.1.2.1 (MAXNOMPSDds)";
    
          }
    
          leaf maximum-nominal-psd-us {
            type int16 {
              range "-600..-300";
            }
            units "0.1 dBm per Hz";
            default "-380";
            description
              "This parameter represents the maximum nominal transmit
    PSD in the upstream direction during initialization and
    showtime (in dBm per Hz). A single MAXNOMPSDus parameter is
    defined per mode enabled in the xDSL Transmission System
    Enabling (XTSE) line configuration parameter. It ranges from
    -60 to -30 dBm per Hz, with 0.1 dB steps.";
            reference
              "ITU-T G.997.1 clause 7.3.1.2.2 (MAXNOMPSDus)";
    
          }
    
          leaf maximum-aggregate-transmit-power-ds {
            type uint8 {
              range "0..255";
            }
            units "0.1 dBm";
            default "255";
            description
              "This parameter represents the maximum nominal aggregate
    transmit power in the downstream direction during
    initialization and showtime (in dBm). It ranges from 0 to
    25.5 dBm, with 0.1 dB steps.";
            reference
              "ITU-T G.997.1 clause 7.3.1.2.3 (MAXNOMATPds)";
    
          }
    
          leaf maximum-aggregate-transmit-power-us {
            type uint8 {
              range "0..255";
            }
            units "0.1 dBm";
            default "255";
            description
              "This parameter represents the maximum nominal aggregate
    transmit power in the upstream direction during
    initialization and showtime (in dBm). It ranges from 0 to
    25.5 dBm, with 0.1 dB steps.";
            reference
              "ITU-T G.997.1 clause 7.3.1.2.4 (MAXNOMATPus)";
    
          }
    
          leaf maximum-aggregate-receive-power-us {
            type union {
              type int16 {
                range "-255..255";
              }
              type enumeration {
                enum "unbounded" {
                  value 0;
                  description
                    "Indicates that that no upstream maximum aggregate
    receive power limit is to be applied (i.e., the maximum
    value is unbounded).";
                }
              }
            }
            units "0.1 dBm";
            default "unbounded";
            description
              "This parameter represents the maximum upstream aggregate
    receive power over a set of subcarriers (in dBm) as
    specified in the relevant Recommendation. The xTU-C will
    request an upstream power cutback such that the upstream
    aggregate receive power over that set of subcarriers is
    at or below the configured maximum value. It ranges from
    -25.5 to 25.5 dBm, with 0.1 dB steps. A special value of
    (enum unbounded) is used to indicate that no upstream
    maximum aggregate receive power limit is to be applied
    (i.e., the maximum value is unbounded).";
            reference
              "ITU-T G.997.1 clause 7.3.1.2.5 (MAXRXPWRus)";
    
          }
    
          container psd-mask-ds {
            description
              "This configuration parameter defines the downstream PSD
    mask applicable at the U-C2 reference point as defined
    in the respective Recommendation. A modified PSD mask,
    as defined in clause 7.3.1.2.13, may apply at the U-C2
    reference point. This Management Information Base (MIB)
    Power Spectral Density (PSD) mask may impose PSD
    restrictions in addition to the Limit PSD mask defined in the
    relevant Recommendations ITU-T G.992.5 and ITU-T G.993.2.
    NOTE - In ITU-T G.993.2, the PSDMASKds parameter is
    referred to as MIBMASKds.
    The downstream PSD mask in the CO-MIB will be specified
    through a set of breakpoints. Each breakpoint will consist
    of a subcarrier index t, with a subcarrier spacing of 4.3125
    kHz, and a MIB PSD mask level (expressed in dBm per Hz) at
    that subcarrier. The set of breakpoints can then be
    represented as [(t1, PSD1), (t2, PSD2), , (tN, PSDN)]. The
    subcarrier index will be coded as an unsigned integer. The
    MIB PSD mask level will be coded as an unsigned integer
    representing the MIB PSD mask levels 0 dBm per Hz to -127.5
    dBm per Hz, in steps of 0.5 dBm per Hz, with valid range from
    0 to -95 dBm per Hz. The maximum number of breakpoints is 32
    for ITU-T G.992.5 and ITU-T G.993.2. The default is an
    empty list indicating no PSD mask.";
            reference
              "ITU-T G.997.1 clauses 7.3.1.2.9 (PSDMASKds) and
              7.3.1.2.13";
    
            uses psdmask-descriptor {
              refine 
            }
          }  // container psd-mask-ds
    
          leaf upstream_psd_mask_selection {
            type uint8 {
              range "1..9";
            }
            default "9";
            description
              "This configuration parameter defines which upstream Power
    Spectral Density (PSD) mask is enabled. This parameter is
    used only for Annexes J and M of ITU-T G.992.3 and ITU-T
    G.992.5. As only one selection parameter is defined in the
    MIB, the same selection value applies to all relevant modes
    enabled in the xDSL Transmission System Enabling (XTSE) line
    configuration parameter. It ranges from 1 to 9 and selects
    the mask with the definitions of Table 7-5 of ITU-T
    G.997.1.";
            reference
              "ITU-T G.997.1 clause 7.3.1.2.11 and Table 7-5";
    
          }
    
          container psd-mask-us {
            description
              "This configuration parameter defines the upstream Power
    Spectral Density (PSD) mask applicable at the U-R2 reference
    point as defined in the respective Recommendation. This
    Management Information Base (MIB) PSD mask may impose PSD
    restrictions in addition to the Limit PSD mask defined in the
    relevant Recommendations ITU-T G.992.3 Annex J and M,
    ITU-T G.992.5 Annex J and M, and ITU-T G.993.2.
    NOTE - In ITU-T G.993.2, the PSDMASKus parameter is
    referred to as MIBMASKus and does not include breakpoints to
    shape US0.
    The upstream PSD mask in the CO-MIB will be specified through
    a set of breakpoints. Each breakpoint will consist of a
    subcarrier index t, with a subcarrier spacing of 4.3125 kHz,
    and a MIB PSD mask level (expressed in dBm per Hz) at that
    subcarrier. The set of breakpoints can then be represented as
    [(t1, PSD1), (t2, PSD2), , (tN, PSDN)]. The subcarrier index
    will be coded as an unsigned integer. The MIB PSD mask level
    will be coded as an unsigned integer representing the MIB PSD
    mask levels 0 dBm per Hz to -127.5 dBm per Hz, in steps of
    0.5 dBm per Hz, with valid range from 0 to -95 dBm per Hz.
    The maximum number of breakpoints is 4 for ITU-T G.992.3
    Annex J and M and ITU-T G.992.5 Annex J and M, and 16 for
    ITU-T G.993.2. The default is an empty list indicating no
    PSD mask.";
            reference
              "ITU-T G.997.1 clause 7.3.1.2.12 (PSDMASKus)";
    
            uses psdmask-descriptor {
              refine 
            }
          }  // container psd-mask-us
    
          leaf limitmask {
            type limitmask-descriptor;
            must
              "(../ts!='xts57' and ../ts!='xts58' and ../ts!='xts59'
     and ../ts!='xts60' and .='') or .!=''" {
              error-message
                "The transmission system is VDSL, however, no 'limitmask' is configured.";
              description
                "If the transmission system is VDSL, then the limitmask
    must be populated.";
            }
            default "";
            description
              "This configuration parameter contains the G.993.2 limit
    Power Spectral Density (PSD) masks of the selected PSD mask
    class, enabled by the near-end xTU on this line for each
    class of profiles.
    One LIMITMASK parameter is defined per the G.993.2 Annex
    enabled in the xDSL Transmission System Enabling (XTSE).
    For each profile class, several limit PSD masks of the
    selected PSD mask class (CLASSMASK) may be enabled. The
    enabling parameter is coded in a bit-map representation
    (0 if the associated mask is not allowed, 1 if it is
    allowed). The profiles are grouped into profile classes.
    The default is an empty bit list, corresponding to no VDSL2
    limit masks enabled.";
            reference
              "ITU-T G.997.1 clause 7.3.1.2.16 (LIMITMASK)";
    
          }
    
          leaf us0disable {
            type limitmask-descriptor;
            default "";
            description
              "This configuration parameter indicates if the use of US0
    is disabled for each limit Power Spectral Density (PSD) mask
    enabled in the LIMITMASK parameter. One US0DISABLE parameter
    is defined per the G.993.2 Annex enabled in the xDSL
    Transmission System Enabling (XTSE).
    For each limit PSD mask enabled in the LIMITMASK
    parameter, a bit will indicate if US0 is disabled. The
    disabling parameter is coded as a bit-map. The bit is
    set to 1 if US0 is disabled for the associated limit
    mask. The bit-map has the same structure as the
    LIMITMASK parameter.
    The default is an empty bit list, corresponding to VDSL2 US0
    enabled for each limit PSD mask enabled in the LIMITMASK
    parameter.";
            reference
              "ITU-T G.997.1 clause 7.3.1.2.17 (US0DISABLE)";
    
          }
    
          leaf classmask {
            type classmask-descriptor;
            must
              "(../ts!='xts57' and ../ts!='xts58' and ../ts!='xts59')
     or (../ts='xts57' and ((.='class1') or (.='class2')))
     or (../ts='xts58' and ((.='class1') or (.='class2')
     or (.='class3') or (.='class5') or (.='class6')
     or (.='class8') or (.='class9')))
     or (../ts='xts59' and ((.='class1') or (.='class2')))
     or (../ts='xts60' and (.='class1'))" {
              error-message
                "The transmission system is VDSL, however, the configured 'classmask' does not align with ITU-T G.997.1.";
              description
                "If the transmission system is VDSL, the classmask must
    align with Table 7-6 in ITU-T G.997.1.";
            }
            default "none";
            description
              "The parameter configures CLASSMASK. The default is 'none',
    corresponding to no VDSL2 classmask selected.";
            reference
              "ITU-T G.997.1 clause 7.3.1.2.15 (CLASSMASK) and Table 7-6";
    
          }
    
          leaf vdsl2-lr-enable {
            if-feature bbf-vdsl:vdsl2-lr;
            type bits {
              bit short {
                position 0;
                description
                  "VDSL2 Long Reach (VDSL2-LR) short loop operation type is
    allowed.";
              }
              bit medium {
                position 1;
                description
                  "VDSL2 Long Reach (VDSL2-LR) medium loop operation type is
    allowed.";
              }
              bit long {
                position 2;
                description
                  "VDSL2 Long Reach (VDSL2-LR) long loop operation type is
    allowed.";
              }
            }
            must
              ".='' or (../ts='xts58' and
    ((../classmask='class3') or (../classmask='class5') or
    (../classmask='class6') or (../classmask='class8') or
    (../classmask='class9')))" {
              error-message
                "'vdsl2-lr-enable' is enabled with an invalid 'classmask'.";
              description
                "VDSL2 Long Reach (VDSL2-LR) mode may be enabled only for
    operation according to G.993.2 Annex B with specific
    classmasks.";
            }
            default "";
            description
              "This configuration parameter contains the ITU-T G.993.2
    VDSL2 Long Reach (VDSL2-LR) operation types to be allowed by
    the near-end xTU on this line.
    It is coded as a list of operation types.
    The default is an empty bit list, corresponding to the
    VDSL2-LR mode being disabled on this line.";
            reference
              "ITU-T G.997.1 clause 7.3.1.16.1";
    
          }
        }  // grouping mode-specific-psd-profile
    
        grouping sub-carrier-range {
          description
            "Defines a sub-carrier band, i.e., a set of contigious
    sub-carriers.";
          leaf start-index {
            type sub-carrier-index;
            description
              "The sub-carrier index identifying the start of a range of
    sub-carriers (inclusive).";
          }
    
          leaf stop-index {
            type sub-carrier-index;
            must ". >= ../start-index" {
              error-message
                "'stop-index' is less than '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 line-spectrum-profile {
          description
            "The Line Spectrum Profile contains the parameters that are
    mainly set during the service delivery phase.";
          leaf power-management-mode {
            type union {
              type enumeration {
                enum "all" {
                  value 0;
                  description
                    "All power management modes enabled.";
                }
              }
              type bits {
                bit bit0 {
                  position 0;
                  description
                    "L3 state (idle state).";
                }
                bit bit1 {
                  position 1;
                  description
                    "L1/L2 state (low power state).";
                }
              }
            }
            default "all";
            description
              "This configuration parameter defines the line states the
    xDSL Transceiver Unit - Central office (xTU-C) or xDSL
    Transceiver Unit - Remote side (xTU-R) may autonomously
    transition to on this line. The default is 'all',
    corresponding to all power management states allowed.";
            reference
              "ITU-T G.997.1 clause 7.3.1.1.4 (PMMode)";
    
          }
    
          leaf l0-minimum-time {
            type uint8 {
              range "0..255";
            }
            units "seconds";
            default "127";
            description
              "This parameter represents the minimum time (in seconds)
    between an exit from the L2 state and the next entry
    into the L2 state. It ranges from 0 to 255 seconds.";
            reference
              "ITU-T G.997.1 clause 7.3.1.1.5 (L0-TIME)";
    
          }
    
          leaf l2-minimum-time {
            type uint8 {
              range "0..255";
            }
            units "seconds";
            default "127";
            description
              "This parameter represents the minimum time (in seconds)
    between an entry into the L2 state and the first power trim
    in the L2 state and between two consecutive power trims in
    the L2 state. It ranges from 0 to 255 seconds.";
            reference
              "ITU-T G.997.1 clause 7.3.1.1.6 (L2-TIME)";
    
          }
    
          leaf l2-maximum-aggregate-power-reduction-per {
            type uint8 {
              range "0..31";
            }
            units "dB";
            must
              ". <= ../l2-maximum-aggregate-power-reduction-total" {
              error-message
                "'l2-maximum-aggregate-power-reduction-per' is greater than 'l2-maximum-aggregate-power-reduction-total'.";
              description
                "The maximum aggregate transmit power reduction per L2
    request or power trim must be less than or equal to the
    maximum aggregate transmit power reduction that can be
    performed in an L2 state.";
            }
            default "1";
            description
              "This parameter represents the maximum aggregate transmit
    power reduction (in dB) that can be performed in the L2
    request (i.e., at transition of L0 to L2 state) or through a
    single power trim in the L2 state. It ranges from 0 dB to 31
    dB in steps of 1 dB.";
            reference
              "ITU-T G.997.1 clause 7.3.1.1.7 (L2-ATPR)";
    
          }
    
          leaf l2-maximum-aggregate-power-reduction-total {
            type uint8 {
              range "0..31";
            }
            units "dB";
            default "10";
            description
              "This parameter represents the total maximum aggregate
    transmit power reduction (in dB) that can be performed in an
    L2 state. This is the sum of all reductions of L2 Request
    (i.e., at transition of L0 to L2 state) and power trims. It
    ranges from 0 dB to 31 dB in steps of 1 dB.";
            reference
              "ITU-T G.997.1 clause 7.3.1.1.9 (L2-ATPRT)";
    
          }
    
          leaf-list carmaskds {
            type uint16 {
              range "0..511";
            }
            description
              "This configuration parameter is a list of sub-carriers which
    are masked on this line in the downstream direction ranging
    from 0 to the highest supported sub-carrier index-1.
    For ITU-T G.992.3, ITU-T G.992.4, and ITU-T G.992.5,
    the highest sub-carrier index is defined in the corresponding
    Recommendations.
    For ITU-T G.992.1, the highest sub-carrier index = 256 and
    for ITU-T G.992.2, the highest sub-carrier index = 128.
    If no elements exist, there are no masked sub-carriers.";
            reference
              "ITU-T G.997.1 clause 7.3.1.2.6 (CARMASKds)";
    
          }
    
          leaf-list carmaskus {
            type uint16 {
              range "0..63";
            }
            description
              "This configuration parameter is a list of sub-carriers which
    are masked on this line in the upstream direction ranging
    from 0 to the highest supported sub-carrier index-1.
    For ITU-T G.992.3] ITU-T G.992.4, and ITU-T G.992.5,
    the highest sub-carrier index is defined in the corresponding
    Recommendations.
    For Annex A of ITU-T G.992.1 and ITU-T G.992.2,
    the highest sub-carrier index = 32 and
    for Annex B of ITU-T G.992.1, the highest sub-carrier
    index = 64. If no elements exist, there are no masked
    sub-carriers.";
            reference
              "ITU-T G.997.1 clause 7.3.1.2.7 (CARMASKus)";
    
          }
    
          list vdsl2-carmask {
            key "start-index";
            max-elements 16;
            description
              "This configuration parameter defines the restrictions,
    additional to the band plan, to determine the set of
    subcarriers allowed for transmission in both upstream and
    downstream directions.
    
    The VDSL2-CARMASK will describe the not masked subcarriers
    as one or more frequency bands. Each band is represented by
    start and stop subcarrier indices with a subcarrier spacing
    of 4.3125 kHz. The valid range of subcarrier indices
    specifying the VDSL2-CARMASK is from to at least the index of
    the highest allowed subcarrier in both transmission
    directions among all profiles enabled by the parameter
    PROFILES.
    
    Up to 16 bands may be specified. Other subcarriers will be
    masked.
    
    For profiles using 8.625 kHz tone spacing, the odd
    subcarrier indices i4.3125 in VDSL2-CARMASK will be
    transformed into actual subcarrier indices i8.625 using
    the following rule:
      - for the start frequency of each band:
          i8.625 = (i4.3125 + 1)/2
      - for the stop frequency of each band:
          i8.625 = (i4.3125 - 1)/2.
    
    The default is an empty list indicating no masked
    sub-carriers.";
            reference
              "ITU-T G.997.1 clauses 7.3.1.1.11 and 7.3.1.2.8
              (VDSL2-CARMASK)";
    
            uses sub-carrier-range;
          }  // list vdsl2-carmask
    
          leaf msgminds {
            type uint8 {
              range "4..248";
            }
            units "kilobits per second";
            default "16";
            description
              "This parameter defines the minimum rate of the message based
    overhead that will be maintained by the xDSL Transceiver Unit
    (xTU) in the downstream direction (MSGMINds). MSGMINds is
    expressed in bits per second and ranges from 4000 to 248000
    bits per second with 1000 bits per second steps. Valid values
    are specified in the relevant ITU-T Recommendation, e.g.,
    ITU-T G.992.3 and ITU-T G.993.2.";
            reference
              "ITU-T G.997.1 clause 7.3.1.5.2 (MSGMINds)";
    
          }
    
          leaf msgminus {
            type uint8 {
              range "4..248";
            }
            units "kilobits per second";
            default "16";
            description
              "This parameter defines the minimum rate of the message based
    overhead that will be maintained by the xDSL Transceiver Unit
    (xTU) in the upstream direction (MSGMINus). MSGMINus is
    expressed in bits per second and ranges from 4000 to 248000
    bits per second with 1000 bits per second steps. Valid values
    are specified in the relevant ITU-T Recommendation, e.g.,
    ITU-T G.992.3 and ITU-T G.993.2.";
            reference
              "ITU-T G.997.1 clause 7.3.1.5.1 (MSGMINus)";
    
          }
    
          leaf profiles {
            type union {
              type enumeration {
                enum "all" {
                  value 0;
                  description
                    "Used to indicate that all profiles are allowed.";
                }
              }
              type profiles;
            }
            default "all";
            description
              "This configuration parameter contains the ITU-T G.993.2
    profiles to be allowed by the near-end xDSL Transceiver Unit
    (xTU) on this line. It is coded as a list of profiles or the
    special value 'all'. The default is 'all', corresponding to
    all profiles allowed.";
            reference
              "ITU-T G.997.1 clause 7.3.1.1.11 (PROFILES)";
    
          }
    
          leaf us0mask {
            type us0mask-descriptor;
            default "all";
            description
              "This parameter contains the US0 Power Spectral Density (PSD)
    masks to be allowed by the near-end xDSL Transceiver Unit
    (xTU) on the line. The default is 'all', corresponding to all
    US0 PSD masks allowed.
    
    This parameter only applies to ITU-T G.993.2 Annex A.";
          }
    
          leaf cyclic-extension-flag {
            type boolean;
            default "false";
            description
              "This parameter is a bit that enables the use of the
    optional cyclic extension values. If the value is set to
    true, the optional cyclic extension values may be
    used. Otherwise, the cyclic extension will be forced to
    the mandatory length (5N/32).";
            reference
              "ITU-T G.997.1 clause 7.3.1.6.1 (CEFLAG)";
    
          }
    
          leaf rtx-mode-ds {
            type enumeration {
              enum "0" {
                value 0;
                description
                  "RTX_FORBIDDEN: ITU-T G.998.4 retransmission not
    allowed.";
              }
              enum "1" {
                value 1;
                description
                  "RTX_PREFERRED: ITU-T G.998.4 retransmission is preferred
    by the operator (i.e., if ITU-T G.998.4 Retransmission
    (RTX) capability is supported by both xTUs, the xTUs will
    select ITU-T G.998.4 operation for this direction).";
              }
              enum "2" {
                value 2;
                description
                  "RTX_FORCED: Force the use of the ITU-T G.998.4
    retransmission (RTX) (i.e., if ITU-T G.998.4 RTX
    capability in this direction is not supported by both
    xTUs or not selected by the xTUs, an initialization
    failure will result).";
              }
              enum "3" {
                value 3;
                description
                  "RTX_TESTMODE: Force the use of the ITU-T G.998.4
    retransmission (RTX) in test mode (i.e., if ITU-T G.998.4
    RTX capability is not supported by both XTUs or not
    selected by the XTUs, an initialization failure will
    result).";
              }
            }
            default "1";
            description
              "This parameter controls the mode of operation of ITU-T
    G.998.4 retransmission in the downstream direction. In
    ITU-T G.992.3 and ITU-T G.992.5 only the downstream
    parameter RTX_MODE_ds is relevant, the value in the
    upstream direction will be ignored. In ITU-T G.993.2,
    both parameters are relevant. This parameter has 4 valid
    values. The default value is enum 1, corresponding to
    RTX_PREFERRED.";
            reference
              "ITU-T G.997.1 clause 7.3.1.11 (RTX_MODE_ds)";
    
          }
    
          leaf rtx-mode-us {
            type enumeration {
              enum "0" {
                value 0;
                description
                  "RTX_FORBIDDEN: ITU-T G.998.4 retransmission not
    allowed.";
              }
              enum "1" {
                value 1;
                description
                  "RTX_PREFERRED: ITU-T G.998.4 retransmission (RTX) is
    preferred by the operator (i.e., if ITU-T G.998.4 RTX
    capability is supported by both xTUs, the xTUs will
    select ITU-T G.998.4 operation for this direction).";
              }
              enum "2" {
                value 2;
                description
                  "RTX_FORCED: Force the use of the ITU-T G.998.4
    retransmission (RTX) (i.e., if ITU-T G.998.4 RTX
    capability in this direction is not supported by both
    xTUs or not selected by the xTUs, an initialization
    failure will result).";
              }
              enum "3" {
                value 3;
                description
                  "RTX_TESTMODE: Force the use of the ITU-T G.998.4
    retransmission (RTX) in test mode (i.e., if ITU-T G.998.4
    RTX capability is not supported by both xTUs or not
    selected by the xTUs, an initialization failure will
    result).";
              }
            }
            default "1";
            description
              "This parameter controls the mode of operation of ITU-T
    G.998.4 retransmission in the upstream direction. In ITU-T
    G.992.3 and ITU-T G.992.5 only the downstream parameter
    RTX_MODE_ds is relevant, the value in the upstream direction
    will be ignored. In ITU-T G.993.2, both parameters are
    relevant. This parameter has 4 valid values. The default
    value is enum 1, corresponding to RTX_PREFERRED.
    NOTE - Due to the optionality of ITU-T G.998.4 retransmission
    in upstream direction, the use of RTX_FORCED in upstream may
    lead to initialization failure, even if the xDSL Transceiver
    Unit (xTU) is supporting ITU-T G.998.4 (in downstream).";
            reference
              "ITU-T G.997.1 clause 7.3.1.11 (RTX_MODE_us)";
    
          }
        }  // grouping line-spectrum-profile
    
        grouping upstream-power-back-off-profile {
          description
            "This configures Upstream Power Back-Off (UPBO).";
          leaf upbo-electrical-length {
            type uint16 {
              range "0..1280";
            }
            units "0.1 dB";
            default "0";
            description
              "This parameter defines the electrical length expressed
    in dB at 1 MHz, kl0, configured by the Central Office
    Management Information Base (CO-MIB). The value
    ranges from 0 to 128 dB in steps of 0.1 dB.";
            reference
              "ITU-T G.997.1 clause 7.3.1.2.14 (UPBOKL)";
    
          }
    
          leaf upbo-force-electrical-length {
            type boolean;
            default "false";
            description
              "This parameter is a flag that forces the VTU-R to use the
    electrical length of the Central Office Management
    Information Base (CO-MIB) (UPBOKL) to compute the Upstream
    Power Back-Off (UPBO). The value will be forced if the flag
    is set to true. Otherwise, if false the xDSL Transceiver
    Units (xTU) will determine the electrical length.";
            reference
              "ITU-T G.997.1 clause 7.3.1.2.14 (UPBOKLF)";
    
          }
    
          list upbopsd-pb {
            key "band";
            description
              "This parameter defines the Upstream Power Back-Off (UPBO)
    reference Power Spectral Density (PSD) used to compute the
    upstream power back-off for each upstream band except US0. A
    UPBOPSD defined for each band will consist of two parameters
    [a, b]. Parameter a ranges from 40 dBm per Hz to 80.95 dBm
    per Hz in steps of 0.01 dBm per Hz; and parameter b ranges
    from 0 to 40.95 dBm per Hz in steps of 0.01 dBm perHz. The
    UPBO reference PSD at the frequency f expressed in MHz will
    be equal to a bvf. The set of parameter values a = 40 dBm per
    Hz, b = 0 dBm per Hz is a special configuration to disable
    UPBO in the respective upstream band.";
            reference
              "ITU-T G.997.1 clause 7.3.1.2.14 (UPBOPSD-pb)";
    
            leaf band {
              type uint8 {
                range "0..4";
              }
              description
                "Identifies the upstream band, e.g., a value of 1 denotes
    US1.";
            }
    
            leaf upbopsd-a {
              type uint16 {
                range "4000..8095";
              }
              units "0.01 dBm per Hz";
              default "4000";
              description
                "Upstream Power Back-Off (UPBO) parameter A.";
            }
    
            leaf upbopsd-b {
              type uint16 {
                range "0..4095";
              }
              units "0.01 dBm per Hz";
              default "0";
              description
                "Upstream Power Back-Off (UPBO) parameter B.";
            }
          }  // list upbopsd-pb
    
          list upbo-reference-electrical-length-pb {
            key "band";
            description
              "This parameter defines the Upstream Power Back-Off (UPBO)
    reference electrical length used to compute the upstream
    power back-off for each upstream band except US0, for the
    optional Equalized Far-End Crosstalk (FEXT) UPBO method. The
    value ranges from 1.8 to 63.5 dB in steps of 0.1 dB. The use
    of the special value (enum equalized-fext-upbo-disabled)
    is described in clause 7.2.1.3.2 of ITU-T G.993.2 for
    kl0_REF=0.";
            reference
              "ITU-T G.997.1 clause 7.3.1.2.14 (UPBOKLREF-pb);
              ITU-T G.993.2 clause 7.2.1.3.2";
    
            leaf band {
              type uint8 {
                range "0..4";
              }
              description
                "Identifies the upstream band, e.g., a value of 1 denotes
    US1.";
            }
    
            leaf upbo-reference-electrical-length {
              type union {
                type uint16 {
                  range "18..635";
                }
                type enumeration {
                  enum
                    "equalized-fext-upbo-disabled" {
                    value 0;
                    description
                      "Indicates that equalized Far-End Crosstalk (FEXT)
    Upstream Power Back-Off (UPBO) is disabled.";
                  }
                }
              }
              units "0.1 dB";
              default
                "equalized-fext-upbo-disabled";
              description
                "The Upstream Power Back-Off (UPBO) reference electrical
    length.";
            }
          }  // list upbo-reference-electrical-length-pb
    
          leaf aele-mode {
            type enumeration {
              enum "0" {
                value 0;
                description
                  "kl0[band] = ELE-M0 VTU-O kl0 estimate.";
              }
              enum "1" {
                value 1;
                description
                  "kl0[band] = ELEDS [dB], with band in the set
    {upbo_bands}.";
              }
              enum "2" {
                value 2;
                description
                  "kl0[band] = ELE[band] [dB], with band in the set
    {upbo_bands}.";
              }
              enum "3" {
                value 3;
                description
                  "kl0[band] = MIN(ELEUS, ELEDS) [dB], with band in the
    set {upbo_bands}.";
              }
            }
            default "0";
            description
              "This parameter defines the Upstream Power Back-Off (UPBO)
    electrical length estimation mode to be used in the
    alternative electrical length estimation method (ELE-M1). The
    value of this parameter is 0, 1, 2 or 3. The default is enum
    0, kl0[band] = ELE-M0 VTU-O kl0 estimate.";
            reference
              "ITU-T G.997.1 clause 7.3.1.2.14 (AELE-MODE);
              ITU-T G.993.2 clause 7.2.1.3.2.2 (ELE-M1)";
    
          }
    
          leaf upbo-elmt {
            type uint8 {
              range "0..15";
            }
            units "percent";
            default "0";
            description
              "This parameter defines the Upstream Power Back-Off (UPBO)
    electrical length minimum threshold percentile in percent
    used in the alternative electrical length estimation method
    (ELE-M1). It is set by network management via the Central
    Office Management Information Base (CO-MIB). The parameter
    ranges from 0 to 15 percent in steps of 1 percent. This value
    is communicated to the VDSL Transceiver Unit - Remote side
    (VTU-R) in accordance with ITU-T G.994.1 at start-up.";
            reference
              "ITU-T G.997.1 clause 7.3.1.2.14 (UPBOELMT);
              ITU-T G.993.2 clause 7.2.1.3.2.2 (ELE-M1)";
    
          }
        }  // grouping upstream-power-back-off-profile
    
        grouping downstream-power-back-off-profile {
          description
            "This configures Downstream Power Back-Off (DPBO),
    generally for static spectral compatibility of VDSL
    with ADSL, ADSL2, or ADSL2plus.";
          container dpboepsd {
            description
              "Assumed exchange Power Spectral Density (PSD) mask
    (DPBOEPSD). This parameter defines the PSD mask that is
    assumed to be permitted at the exchange. This parameter will
    use the same format as PSDMASKds. The maximum number of
    breakpoints for DPBOEPSD is 16.
    The default is an empty list indicating no Downstream Power
    Back-Off (DPBO).";
            reference
              "ITU-T G.997.1 clause 7.3.1.2.13 (DPBOEPSD)";
    
            uses psdmask-descriptor {
              refine 
            }
          }  // container dpboepsd
    
          leaf dpboesel {
            type uint16 {
              range "0..511";
            }
            units "0.5 dB";
            default "0";
            description
              "Exchange side (E-side) electrical length (DPBOESEL). This
    configuration parameter defines the assumed electrical length
    of cables (E-side cables) connecting exchange based DSL
    services to a remote flexibility point (cabinet), that hosts
    the xTU-C that is subject to spectrally shaped downstream
    power back-off depending on this length. For this parameter
    the electrical length is defined as the loss (in dB) of an
    equivalent length of hypothetical cable at a reference
    frequency defined by the network operator or in spectrum
    management regulations. DPBOESEL will be coded as an unsigned
    integer representing an electrical length from 0 dB to 255.5
    dB in steps of 0.5 dB. All values in the range are valid.
    If DPBOESEL is set to zero, the Downstream Power Back-Off
    (DPBO) in this clause will be disabled.";
            reference
              "ITU-T G.997.1 clause 7.3.1.2.13 (DPBOESEL)";
    
          }
    
          container dpboescm {
            description
              "Exchange side (E-side) cable model (DPBOESCM). This
    configuration parameter defines a cable model in terms of
    three scalars DPBOESCMA, DPBOESCMB and DPBOESCMC that will be
    used to describe the frequency dependent loss of E-side
    cables.
    where ESCM is expressed in dB and f is expressed in MHz.
    Parameters DPBOESCMA, DPBOESCMB, DPBOESCMC will be coded
    as unsigned integers representing a scalar value from -1
    to 1.5 in steps of 2^-8. = 1/256.
    dpboescma, dpboescmb, and dpboescmc are defined with an
    offset of -1.0 in units of 1/256, so DPBOESCMA =
    dpboescma/256 - 1.0, DPBOESCMB = dpboescmb/256 - 1.0,
    and DPBOESCMC = dpboescmc/256 - 1.0.";
            reference
              "ITU-T G.997.1 clause 7.3.1.2.13 (DPBOESCM)";
    
            leaf dpboescma {
              type uint16 {
                range "0..640";
              }
              default "0";
              description
                "DPBOESCMA = dpboescma/256 - 1.0.";
            }
    
            leaf dpboescmb {
              type uint16 {
                range "0..640";
              }
              default "0";
              description
                "DPBOESCMB = dpboescmb/256 - 1.0.";
            }
    
            leaf dpboescmc {
              type uint16 {
                range "0..640";
              }
              default "0";
              description
                "DPBOESCMC = dpboescmc/256 - 1.0.";
            }
          }  // container dpboescm
    
          leaf dpbomus {
            type uint8 {
              range "0..255";
            }
            units "-0.5 dBm per Hz";
            default "0";
            description
              "Minimum usable signal (DPBOMUS). DPBOMUS defines the
    assumed minimum usable receive PSD mask (in dBm per Hz) for
    exchange based services, used to modify parameter
    DPBOFMAX defined below. It will be coded as an unsigned
    integer representing a Power Spectral Density (PSD) mask
    level from 0 dBm per Hz to -127.5 dBm per Hz in steps of
    0.5 dB.";
            reference
              "ITU-T G.997.1 clause 7.3.1.2.13 (DPBOMUS)";
    
          }
    
          leaf dpbofmin {
            type uint16 {
              range "0..2048";
            }
            units "4.3125 kHz";
            default "0";
            description
              "Downstream Power Back-Off (DPBO) span minimum frequency
    (DPBOFMIN). DPBOFMIN defines the minimum frequency from which
    the DPBO will be applied. It ranges from 0 kHz to 8832 kHz in
    steps of 4.3125 kHz.";
            reference
              "ITU-T G.997.1 clause 7.3.1.2.13 (DPBOFMIN)";
    
          }
    
          leaf dpbofmax {
            type uint16 {
              range "32..8191";
            }
            units "4.3125 kHz";
            must ". >= ../dpbofmin" {
              error-message
                "'dpbofmax' is less than 'dpbofmin'.";
              description
                "The Downstream Power Back-Off (DPBO) span maximum frequency
    must be greater than or equal to the DPBO span minimum
    frequency.";
            }
            default "8191";
            description
              "Downstream Power Back-Off (DPBO) span maximum frequency
    (DPBOFMAX). DPBOFMAX defines the maximum frequency at which
    DPBO may be applied. It ranges from 138 kHz to 35323.6875 kHz
    in steps of 4.3125 kHz.";
            reference
              "ITU-T G.997.1 clause 7.3.1.2.13 (DPBOFMAX)";
    
          }
        }  // grouping downstream-power-back-off-profile
    
        grouping radio-frequency-interference-profile {
          description
            "Radio Frequency Interference (RFI) notches are necessary when
    radio services may be disturbed during operation, or to protect
    DSL Lines from RFI.";
          list rfibands {
            key "start-index";
            max-elements 16;
            description
              "For ITU-T G.992.5, this configuration parameter defines
    the subset of downstream Power Spectral Density (PSD) mask
    breakpoints, as specified in PSDMASK, that will be used to
    notch an Radio Frequency Interference (RFI) band. This subset
    consists of couples of consecutive subcarrier indices
    belonging to breakpoints: [ti; ti + 1], corresponding to the
    low level of the notch. The specific interpolation around
    these points is defined in the relevant Recommendations
    (e.g., ITU-T G.992.5). The CO-MIB will define the RFI
    notches using breakpoints in PSDMASKds as specified in the
    relevant Recommendations (e.g., ITU-T G.992.5).
    For ITU-T G.993.2, this configuration parameter defines
    the bands where the PSD will be reduced as specified in
    clause 7.2.1.2 of ITU-T G.993.2. Each band will be
    represented by a start and stop subcarrier indices with a
    subcarrier spacing of 4.3125 kHz. Up to 16 bands may be
    specified. This parameter defines the RFI bands for both
    upstream and downstream directions. The default is an empty
    list indicating no RFI bands.";
            reference
              "ITU-T G.997.1 clause 7.3.1.2.10 (RFIBANDS);
              ITU-T G.993.2 clause 7.2.1.2;
              ITU-T G.992.5";
    
            uses sub-carrier-range;
          }  // list rfibands
        }  // grouping radio-frequency-interference-profile
    
        grouping noise-margin-profile {
          description
            "Noise margins are important for line robustness and can be
    configured independently from other spectrum related
    parameters to reduce the amount of combinations.";
          leaf minimum-noise-margin {
            type uint16 {
              range "0..310";
            }
            units "0.1 dB";
            must ". <= ../target-noise-margin" {
              error-message
                "'minimum-noise-margine' is greater than 'target-noise-margin'.";
              description
                "The minimum noise margin must be less than or equal to
    the target noise margin.";
            }
            default "0";
            description
              "This is the minimum noise margin the receiver will
    tolerate. If the noise margin falls below this level,
    the receiver requests the transmitter to increase the
    transmit power. If an increase to transmit power is not
    possible, a Loss of Margin (LOM) defect occurs, the
    receiver will fail and attempt to re-initialize and the
    NMS will be notified. The minimum noise margin ranges
    from 0 to 31 dB, with 0.1 dB steps.";
            reference
              "ITU-T G.997.1 clauses 7.3.1.3.5 (MINSNRMds) and 7.3.1.3.6
              (MINSNRMus)";
    
          }
    
          leaf target-noise-margin {
            type uint16 {
              range "0..310";
            }
            units "0.1 dB";
            must
              "../maximum-noise-margin = 'unbounded' or
    . <= ../maximum-noise-margin" {
              error-message
                "'target-noise-margin' is greater than 'maximum-noise-margin'.";
              description
                "If the maximum noise margin is not unbounded, the target
    noise margin must be less than or equal to the maximum
    noise margin.";
            }
            default "60";
            description
              "This is the noise margin that the receiver will achieve,
    relative to the Bit Error Rate (BER) requirement for each of
    the bearer channels, or better, to successfully complete
    initialization. The target noise margin ranges from 0 to
    31 dB, with 0.1 dB steps.";
            reference
              "ITU-T G.997.1 clauses 7.3.1.3.1 (TARSNRMds) and 7.3.1.3.2
              (TARSNRMus)";
    
          }
    
          leaf maximum-noise-margin {
            type union {
              type uint16 {
                range "0..310";
              }
              type enumeration {
                enum "unbounded" {
                  value 0;
                  description
                    "Indicates that no delay variation bound is imposed.";
                }
              }
            }
            units "0.1 dB";
            default "unbounded";
            description
              "This is the maximum noise margin the receiver will try
    to sustain. If the noise margin is above this level, the
    receiver will request the transmitter to reduce the
    transmit power to get a noise margin below this limit
    (if this functionality is supported by the relevant DSL
    Recommendation). The maximum noise margin ranges from 0
    to 31 dB with 0.1 dB steps.
    A special value (enum unbounded) is used to indicate that
    a reduction in transmit power is not required for the
    purpose of reducing the noise margin below the maximum
    noise margin limit (i.e., the maximum noise margin value
    is unbounded).";
            reference
              "ITU-T G.997.1 clauses 7.3.1.3.3 (MAXSNRMds) and 7.3.1.3.4
              (MAXSNRMus)";
    
          }
    
          leaf ra-mode {
            type enumeration {
              enum "1" {
                value 0;
                description "Mode 1 = MANUAL.";
              }
              enum "2" {
                value 1;
                description "Mode 2 = AT_INIT.";
              }
              enum "3" {
                value 2;
                description "Mode 3 = DYNAMIC.";
              }
              enum "4" {
                value 3;
                description
                  "Mode 4 = DYNAMIC with SOS.";
              }
            }
            default "4";
            description
              "This parameter specifies the mode of operation of a
    rate-adaptive xDSL Transceiver Unit (xTU) in the transmit
    direction. The parameter is used only if the rate-adaptive
    functionality is supported.
    The default is enum 4, corresponding to Mode 4
    = DYNAMIC with SOS.";
            reference
              "ITU-T G.997.1 clauses 7.3.1.4.1 (RA-MODEds) and 7.3.1.4.2
              (RA-MODEus)";
    
          }
    
          leaf upshift-noise-margin {
            type uint16 {
              range "0..310";
            }
            units "0.1 dB";
            must
              "(../ra-mode != '3' and ../ra-mode != '4') or
    (. >= ../target-noise-margin and
    (../maximum-noise-margin = 'unbounded' or
    . <= ../maximum-noise-margin))" {
              error-message
                "'upshift-noise-margin' is less than 'target-noise-margin' and/or is greater than 'maximum-noise-margin'.";
              description
                "If the RA-MODE is equal to 3 or 4, the upshift target
    noise margin must be greater than or equal to the
    target noise margin and less than or equal to the
    maximum noise margin.";
            }
            default "70";
            description
              "If the noise margin is above the downstream upshift
    noise margin and stays above that for more than the time
    specified by the minimum upshift rate adaptation
    interval, the receiver will attempt to increase the net
    data rate. The upshift noise margin ranges from 0 to 31
    dB, with 0.1 dB steps.";
            reference
              "ITU-T G.997.1 clauses 7.3.1.4.3 (RA-USNRMds) and 7.3.1.4.4
              (RA-USNRMus)";
    
          }
    
          leaf minimum-time-interval-upshift-sra {
            type uint16 {
              range "0..16383";
            }
            units "seconds";
            default "8";
            description
              "This parameter defines the interval of time the noise
    margin should stay above the upshift noise margin before
    the receiver will attempt to increase the net data rate.
    The time interval ranges from 0 to 16383 seconds with steps
    of one second.";
            reference
              "ITU-T G.997.1 clauses 7.3.1.4.5 (RA-UTIMEds) and 7.3.1.4.6
              (RA-UTIMEus)";
    
          }
    
          leaf downshift-noise-margin {
            type uint16 {
              range "0..310";
            }
            units "0.1 dB";
            must
              "(../ra-mode != '3' and ../ra-mode != '4') or
    (. >= ../minimum-noise-margin and
    . <= ../target-noise-margin)" {
              error-message
                "'ra-mode' is either 3 or 4 and 'downshift-noise-margin' is less than 'minimum-noise-margin' and/or greater than 'target-noise-margin'.";
              description
                "If the RA-MODE is equal to 3 or 4, the downshift target
    noise margin must be greater than or equal to the minimum
    noise margin and less than or equal to the target noise
    margin.";
            }
            default "50";
            description
              "If the noise margin is below the noise margin and stays
    below that for more than the time specified by the
    minimum rate adaptation interval in the direction of
    transmission, the receiver will attempt to decrease the
    net data rate. The downshift noise margin ranges from 0
    to 31 dB, with 0.1 dB steps.";
            reference
              "ITU-T G.997.1 clauses 7.3.1.4.7 (RA-DSNRMds) and 7.3.1.4.8
              (RA-DSNRMus)";
    
          }
    
          leaf minimum-time-interval-downshift-sra {
            type uint16 {
              range "0..16383";
            }
            units "second";
            default "2";
            description
              "This parameter defines the interval of time the noise
    margin should stay below the downshift noise margin in
    the direction of transmission before the receiver will
    attempt to decrease the net data rate. The time interval
    ranges from 0 to 16383 seconds with steps of one second.";
            reference
              "ITU-T G.997.1 clauses 7.3.1.4.9 (RA-DTIMEds) and 7.3.1.4.10
              (RA-DTIMEus)";
    
          }
        }  // grouping noise-margin-profile
    
        grouping noise-margin-profile-upstream {
          description
            "Noise margin configuration nodes for the upstream noise
    margin profile.";
          uses noise-margin-profile;
    
          leaf snr-mode {
            type enumeration {
              enum "1" {
                value 0;
                description
                  "If Signal-to-Noise Ratio mode (SNRMODE) equals 1, the
    virtual noise is disabled.";
              }
              enum "2" {
                value 1;
                description
                  "If Signal-to-Noise Ratio mode (SNRMODE) equals 2, the
    transmitter-referred virtual noise is enabled.";
              }
              enum "3" {
                value 2;
                description
                  "If Signal-to-Noise Ratio mode (SNRMODE) equals 3, the
    receiver-referred virtual noise is enabled.";
              }
              enum "4" {
                value 3;
                description
                  "If Signal-to-Noise Ratio mode (SNRMODE) equals 4, the
    receiver-referred virtual noise together with the virtual
    noise scaling factor is enabled.";
              }
            }
            default "1";
            description
              "This parameter enables the virtual noise.";
            reference
              "ITU-T G.997.1 clause 7.3.1.7.2 (SNRMODEus)";
    
          }
        }  // grouping noise-margin-profile-upstream
    
        grouping noise-margin-profile-downstream {
          description
            "Noise margin configuration nodes for the downstream noise
    margin profile.";
          uses noise-margin-profile;
    
          leaf snr-mode {
            type enumeration {
              enum "1" {
                value 0;
                description
                  "If Signal-to-Noise Ratio mode (SNRMODE) equals 1, the
    virtual noise is disabled.";
              }
              enum "2" {
                value 1;
                description
                  "If Signal-to-Noise Ratio mode (SNRMODE) equals 2, the
    virtual noise is enabled.";
              }
              enum "4" {
                value 2;
                description
                  "If Signal-to-Noise Ratio mode (SNRMODE) equals 4, the
    virtual noise together with the virtual noise scaling
    factor is enabled.";
              }
            }
            default "1";
            description
              "This parameter enables the virtual noise.";
            reference
              "ITU-T G.997.1 clause 7.3.1.7.1 (SNRMODEds)";
    
          }
        }  // grouping noise-margin-profile-downstream
    
        grouping impulse-noise-protection-delay-profile {
          description
            "The Impulse Noise Protection (INP) Delay profile contains
    INP-Delay parameters for each pair of upstream and downstream
    channels.";
          leaf force-framer-setting-inp {
            type boolean;
            default "false";
            description
              "If retransmission is not used in a given transmit direction,
    this parameter indicates that the framer settings of the
    bearer will be selected such that the Impulse Noise
    Protection (INP) computed according to the formula specified
    in the relevant Recommendation is greater than or equal to
    the minimal impulse noise protection requirement.
    This flag will have the same value for all the bearers
    of one line in the same direction.";
            reference
              "ITU-T G.997.1 clause 7.3.2.5 (FORCEINP)";
    
          }
    
          leaf minimum-inp {
            type uint8 {
              range
                "0..2 | 4 | 6 | 8 | 10 | 12 | 14 | 16 | 18
    | 20 | 22 | 24 | 26 | 28 | 30 | 32";
            }
            units "0.5 symbols";
            default "0";
            description
              "If retransmission is not used in a given transmit direction,
    this parameter specifies the minimum Impulse Noise Protection
    (INPMIN) for the bearer channel if it is transported over DMT
    symbols with a subcarrier spacing of 4.3125 kHz. The impulse
    noise protection is expressed in Discrete Multi-Tone (DMT)
    symbols with a subcarrier spacing of 4.3125 kHz and can take
    the values and any integer from 0 to 16, inclusive.
    If the xDSL Transceiver Unit (xTU) does not support the
    configured INPMIN value, it will use the nearest supported
    impulse noise protection greater than INPMIN.";
            reference
              "ITU-T G.997.1 clause 7.3.2.3 (INPMIN)";
    
          }
    
          leaf minimum-inp-8 {
            type uint8 {
              range "0..16";
            }
            units "symbols";
            default "0";
            description
              "If retransmission is not used in a given transmit direction,
    this parameter specifies the minimum Impulse Noise Protection
    (INP) for the bearer channel if it is transported over
    Discrete Multi-Tone (DMT) symbols with a subcarrier spacing
    of 8.625 kHz. The impulse noise protection is expressed in
    DMT symbols with a subcarrier spacing of 8.625 kHz and can
    take any integer value from 0 to 16, inclusive.";
            reference
              "ITU-T G.997.1 clause 7.3.2.4 (INPMIN8)";
    
          }
    
          leaf maximum-interleaving-delay {
            type union {
              type uint8 {
                range "2..63";
              }
              type enumeration {
                enum "S0" {
                  value 0;
                  description
                    "The value S0 indicates no delay bound is being
    imposed.";
                }
                enum "S1" {
                  value 1;
                  description
                    "The value S1 indicates the fast latency path will be
    used in the G.992.1 operating mode and S and D will
    be selected such that S <= 1 and D = 1 in
    [ITU-T G.992.2], [ITU-T G.992.3], [ITU-T G.992.4],
    [ITU-T G.992.5] and [ITU-T G.993.2]
    operating modes.";
                }
                enum "S2" {
                  value 2;
                  description
                    "The value S2 indicates a delay bound of 1 millisecond
    in [ITU-T G.993.2].";
                }
              }
            }
            units "milliseconds";
            default "16";
            description
              "If retransmission is not used in a given transmit direction,
    this parameter is the maximum one-way interleaving delay
    introduced by the Physical Media Specific Transmission
    Convergence (PMS-TC) between the alpha and the beta reference
    points, in the direction of the bearer channel. The one-way
    interleaving delay is defined in individual ADSL
    Recommendations as Roundup(S*D) /4 milliseconds, where S is
    the S-factor and D is the Interleaving Depth and Roundup(x)
    denotes rounding to the higher integer. The xDSL Transceiver
    Units (xTU) will choose the S and D values such that the
    actual one-way interleaving delay is less than or equal to
    the configured maximum interleaving delay.";
            reference
              "ITU-T G.997.1 clauses 7.3.2.2 and 7.5.2.3";
    
          }
    
          leaf maximum-delay-rtx {
            type uint8 {
              range "1..63";
            }
            units "milliseconds";
            default "16";
            description
              "If retransmission is used in a given transmit direction,
    this parameter specifies the maximum for the instantaneous
    delay due to the effect of retransmission only. The delay
    ranges from 1 to 63 milliseconds by steps of 1 milisecond.";
            reference
              "ITU-T G.997.1 clause 7.3.2.11 (DELAYMAX_RTX);
              ITU-T G.998.4";
    
          }
    
          leaf minimum-delay-rtx {
            type uint8 {
              range "0..62";
            }
            units "milliseconds";
            must ". < ../maximum-delay-rtx" {
              error-message
                "'minimum-delay-rtx' is greater than or equal to 'maximum-delay-rtx'.";
              description
                "The minimum delay must be less than the maximum delay for
    retransmission.";
            }
            default "0";
            description
              "If retransmission is used in a given transmit direction,
    this parameter specifies the minimum for the instantaneous
    delay due to the effect of retransmission only. The delay
    ranges from 0 to 62 milliseconds by steps of 1 millisecond.";
            reference
              "ITU-T G.997.1 clause 7.3.2.12 (DELAYMIN_RTX);
              ITU-T G.998.4";
    
          }
    
          leaf minimum-inp-against-shine-rtx {
            type uint8 {
              range "0..63";
            }
            units "symbols";
            default "0";
            description
              "If retransmission is used in a given transmit direction,
    this parameter specifies the minimum Impulse Noise
    Protection (INP) against Single High Impulse Noise Event
    (SHINE) for the bearer channel if it is transported over
    Discrete Multi-Tone (DMT) symbols with a subcarrier spacing
    of 4.3125 kHz. The impulse noise protection is expressed in
    DMT symbols with a subcarrier spacing of 4.3125 kHz and can
    take any integer value from 0 to 63, inclusive.";
            reference
              "ITU-T G.997.1 clause 7.3.2.13 (INPMIN_SHINE_RTX)";
    
          }
    
          leaf minimum-inp-against-shine-8-rtx {
            type uint8 {
              range "0..127";
            }
            units "symbols";
            default "0";
            description
              "If retransmission is used in a given transmit direction,
    this parameter specifies the minimum impulse noise
    protection against Single High Impulse Noise Event (SHINE)
    for the bearer channel if it is transported over Discrete
    Multi-Tone (DMT) symbols with a subcarrier spacing of
    8.625 kHz. The impulse noise protection is expressed
    in DMT symbols with a subcarrier spacing of 8.625 kHz
    and can take any integer value from 0 to 127,
    inclusive.";
            reference
              "ITU-T G.997.1 clause 7.3.2.14 (INPMIN8_SHINE_RTX)";
    
          }
    
          leaf shine-ratio-rtx {
            type uint8 {
              range "0..100";
            }
            units "0.001";
            default "0";
            description
              "If retransmission is used in a given transmit direction,
    this parameter specifies the Single High Impulse Noise Event
    (SHINE) ratio. The values range from 0 to 0.100 in increments
    of 0.001.";
            reference
              "ITU-T G.997.1 clause 7.3.2.15 (SHINERATIO_RTX);
              ITU-T G.998.4";
    
          }
    
          leaf minimum-inp-against-rein-rtx {
            type uint8 {
              range "0..7";
            }
            units "symbols";
            default "0";
            description
              "If retransmission is used in a given transmit direction,
    this parameter specifies the minimum impulse noise
    protection against Repetitive Electrical Impulse Noise (REIN)
    for the bearer channel if it is transported over Discrete
    Multi-Tone (DMT) symbols with a subcarrier spacing of 4.3125
    kHz. The impulse noise protection is expressed in DMT symbols
    with a subcarrier spacing of 4.3125 kHz and can take any
    integer value from 0 to 7, inclusive.";
            reference
              "ITU-T G.997.1 clause 7.3.2.16 (INPMIN_REIN_RTX)";
    
          }
    
          leaf minimum-inp-against-rein-8-rtx {
            type uint8 {
              range "0..13";
            }
            units "symbols";
            default "0";
            description
              "If retransmission is used in a given transmit direction,
    this parameter specifies the minimum impulse noise
    protection against Repetitive Electrical Impulse Noise (REIN)
    for the bearer channel if it is transported over Discrete
    Multi-Tone (DMT) symbols with a subcarrier spacing of 8.625
    kHz. The impulse noise protection is expressed in DMT symbols
    with a subcarrier spacing of 8.625 kHz and can take any
    integer value from 0 to 13, inclusive.";
            reference
              "ITU-T G.997.1 clause 7.3.2.17 (INPMIN8_REIN_RTX)";
    
          }
    
          leaf rein-inter-arrival-time-rtx {
            type enumeration {
              enum "0" {
                value 0;
                description
                  "The value 0 indicates an inter-arrival time derived from
    Repetitive Electrical Impulse Noise (REIN) at 100 Hz.";
              }
              enum "1" {
                value 1;
                description
                  "The value 1 indicates an inter-arrival time derived from
    Repetitive Electrical Impulse Noise (REIN) at 120 Hz.";
              }
            }
            default "0";
            description
              "If retransmission is used in a given transmit direction, this
    parameter specifies the inter-arrival time that is assumed
    for Repetitive Electrical Impulse Noise (REIN) protection.
    The value 0 indicates an inter-arrival time derived from a
    REIN at 100 Hz. The value 1 indicates an inter-arrival time
    derived from a REIN at 120 Hz. The default is enum 0,
    corresponding to 100 Hz.";
            reference
              "ITU-T G.997.1 clause 7.3.2.18 (IAT_REIN_RTX)";
    
          }
    
          leaf maximum-delay-variation {
            type union {
              type uint8 {
                range "1..254";
              }
              type enumeration {
                enum "unbounded" {
                  value 0;
                  description
                    "Indicates that no delay variation bound is imposed.";
                }
              }
            }
            units "0.1 milliseconds";
            default "unbounded";
            description
              "This parameter specifies the maximum value for the delay
    variation allowed in an On-Line Reconfiguration (OLR)
    procedure. It ranges from 0.1 to 25.4 in steps of 0.1
    milliseconds. A special value (enum unbounded) indicates that
    no delay variation bound is imposed.";
            reference
              "ITU-T G.997.1 clause 7.3.2.9 (DVMAX)";
    
          }
    
          leaf channel-initialization-policy {
            type enumeration {
              enum "0" {
                value 0;
                description "CIpolicy=0.";
              }
              enum "1" {
                value 1;
                description "CIpolicy=1.";
              }
              enum "2" {
                value 2;
                description "CIpolicy=2.";
              }
            }
            default "0";
            description
              "If retransmission is not used in a given transmit direction,
    this parameter indicates which policy will be applied to
    determine the transceiver configuration parameters at
    initialization. The valid values for Channel Initialization
    Policy (CIPOLICY) are 0, 1 and 2. They are defined in the
    respective Recommendations. The default is enum 0,
    corresponding to CIpolicy=0.";
            reference
              "ITU-T G.997.1 clause 7.3.2.10 (CIPOLICY); ITU-T G.993.2
              clause 12.3.7";
    
          }
        }  // grouping impulse-noise-protection-delay-profile
    
        grouping impulse-noise-protection-delay-profile-downstream {
          description
            "The Impulse Noise Protection (INP) Delay profile contains
    INP-Delay parameters for each downstream channel.";
          leaf mdosplit {
            type union {
              type uint8 {
                range "0 | 5..95 | 100";
              }
              type enumeration {
                enum "vendor-discretionary" {
                  value 0;
                  description
                    "Indicates that that the VDSL Transceiver Unit - central
    Office (VTU-O) is allowed to use a vendor discretionary
    algorithm.";
                }
              }
            }
            units "percent";
            default "vendor-discretionary";
            description
              "The line configuration parameter MAXDELAYOCTET-split
    (MDOSPLIT) defines the percentage of the MAXDELAYOCTET_ext if
    operating in G.998.4 or MAXDELAYOCTET in other cases
    allocated to the downstream direction. All of the remaining
    MAXDELAYOCTET or MAXDELAYOCTET_ext will be allocated for use
    in the upstream direction. The detailed specification is in
    ITU-T G.993.2 and G.998.4. MDOSPLIT will be expressed as a
    percentage, with valid range from 5 percent to 95 percent
    inclusive, in steps of 1 percent. The value 0% is valid only
    if the maximum downstream interleaving delay is configured
    with the special value S1 and retransmission is disabled in
    the downstream direction. The value 100% is valid only if the
    maximum upstream interleaving delay is configured with the
    special value S1 and retransmission is disabled in the
    upstream direction. A special value (enum
    vendor-discretionary) indicates that the VDSL Transceiver
    Unit - central Office (VTU-O) is allowed to use a vendor
    discretionary algorithm.";
            reference
              "ITU-T G.997.1 clauses 7.3.2.2 and 7.3.1.14 (MDOSPLIT);
              ITU-T G.993.2;
              ITU-T G.998.4";
    
          }
    
          leaf attndr-method {
            type enumeration {
              enum "0" {
                value 0;
                description "Basic method.";
              }
              enum "1" {
                value 1;
                description
                  "Improved method using INP_min0.";
              }
              enum "2" {
                value 2;
                description
                  "Improved method assuming INP_min0=0.";
              }
            }
            default "0";
            description
              "This downstream parameter specifies the method to be used for
    the calculation of the Attainable Net Data Rate (ATTNDR) in
    the downstream and upstream direction. The parameter can take
    three values 0, 1 and 2. The default is enum 0, corresponding
    to the basic method.";
            reference
              "ITU-T G.997.1 clause 7.3.1.15.1 (ATTNDR_METHOD);
              ITU-T G.993.2 clause 11.4.1.1.7";
    
          }
    
          leaf attndr-mdosplit {
            type union {
              type uint8 {
                range "0 | 5..95 | 100";
              }
              type enumeration {
                enum "vendor-discretionary" {
                  value 0;
                  description
                    "Indicates that the VDSL Transceiver Unit - central
    Office (VTU-O) is allowed to use a vendor discretionary
    algorithm.";
                }
              }
            }
            units "percent";
            default "vendor-discretionary";
            description
              "The line configuration parameter Attainable Net Data Rate
    MAXDELAYOCTET Split (ATTNDR_MDOSPLIT) defines the percentage
    of the MAXDELAYOCTET_ext if operating in G.998.4 or
    MAXDELAYOCTET in other cases allocated to the downstream
    direction to be used in the improved method for calculation
    of the Attainable Net Data Rate (ATTNDR). All of the
    remaining MAXDELAYOCTET_ext or MAXDELAYOCTET will be
    allocated for use in the upstream direction. The detailed
    specification is in ITU-T G.993.2 and G.998.4.
    The valid values are identical to the values of the line
    configuration parameter MDOSPLIT. A special value
    (enum vendor-discretionary) indicates that the VDSL
    Transceiver Unit - central Office (VTU-O) is allowed to use a
    vendor discretionary algorithm.";
            reference
              "ITU-T G.997.1 clause 7.3.1.15.2 (ATTNDR_MDOSPLIT);
              ITU-T G.993.2;
              ITU-T G.998.4";
    
          }
        }  // grouping impulse-noise-protection-delay-profile-downstream
    
        grouping impulse-noise-protection-delay-profile-upstream {
          description
            "The Impulse Noise Protection (INP) Delay profile contains
    INP-Delay parameters for each upstream channel.";
          leaf mdosplit {
            type union {
              type uint8 {
                range "0 | 5..95 | 100";
              }
              type enumeration {
                enum "vendor-discretionary" {
                  value 0;
                  description
                    "Indicates that that the VDSL Transceiver Unit - central
    Office (VTU-O) is allowed to use a vendor discretionary
    algorithm.";
                }
              }
            }
            units "percent";
            default "vendor-discretionary";
            status deprecated;
            description
              "The value of downstream and upstream MAXDELAY0CTET split
    (MDOSPLIT) must add to 100%. As such, configuration of the
    downstream MDOSPLIT is sufficient as the upstream will always
    be 100 minus the downstream MDOSPLIT. For this reason, this
    node has been deprecated.
    
    The line configuration parameter MAXDELAYOCTET-split
    (MDOSPLIT) defines the percentage of the MAXDELAYOCTET_ext
    if operating in G.998.4 or MAXDELAYOCTET in other cases
    allocated to the downstream direction. All of the remaining
    MAXDELAYOCTET or MAXDELAYOCTET_ext will be allocated for use
    in the upstream direction. The detailed specification is in
    ITU-T G.993.2 and G.998.4. MDOSPLIT will be expressed as a
    percentage, with valid range from 5 percent to 95 percent
    inclusive, in steps of 1 percent. The value 0% is valid only
    if the maximum downstream interleaving delay is configured
    with the special value S1 and retransmission is disabled in
    the downstream direction. The value 100% is valid only if the
    maximum upstream interleaving delay is configured with the
    special value S1 and retransmission is disabled in the
    upstream direction. A special value (enum
    vendor-discretionary) indicates that the VDSL Transceiver
    Unit - central Office (VTU-O) is allowed to use a vendor
    discretionary algorithm.";
            reference
              "ITU-T G.997.1 clauses 7.3.2.2 and 7.3.1.14 (MDOSPLIT);
              ITU-T G.993.2;
              ITU-T G.998.4";
    
          }
    
          leaf attndr-method {
            type enumeration {
              enum "0" {
                value 0;
                description "Basic method.";
              }
              enum "1" {
                value 1;
                description
                  "Improved method using INP_min0.";
              }
              enum "2" {
                value 2;
                description
                  "Improved method assuming INP_min0=0.";
              }
            }
            default "0";
            status deprecated;
            description
              "Attainable Net Data Rate Method (ATTNDR_METHOD) is only valid
    for the downstream direction and is now deprecated for the
    upstream. Any configured value for upstream ATTNDR_METHOD is
    to be ignored.
    
    This downstream parameter specifies the method to be used for
    the calculation of the Attainable Net Data Rate (ATTNDR) in
    the downstream and upstream direction. The parameter can take
    three values 0, 1 and 2. The default is enum 0, corresponding
    to the basic method.";
            reference
              "ITU-T G.997.1 clause 7.3.1.15.1 (ATTNDR_METHOD);
              ITU-T G.993.2 clause 11.4.1.1.7";
    
          }
    
          leaf attndr-mdosplit {
            type union {
              type uint8 {
                range "0 | 5..95 | 100";
              }
              type enumeration {
                enum "vendor-discretionary" {
                  value 0;
                  description
                    "Indicates that the VDSL Transceiver Unit - central
    Office (VTU-O) is allowed to use a vendor discretionary
    algorithm.";
                }
              }
            }
            units "percent";
            default "vendor-discretionary";
            status deprecated;
            description
              "Attainable Net Data Rate MAXDELAYOCTET Split
    (ATTNDR_MDOSPLIT) is only valid for the downstream direction
    and is now deprecated for the upstream. Any configured value
    for upstream ATTNDR_MDOSPLIT is to be ignored.
    
    The line configuration parameter ATTNDR_MDOSPLIT defines
    the percentage of the MAXDELAYOCTET_ext if operating in
    G.998.4 or MAXDELAYOCTET in other cases allocated to the
    downstream direction to be used in the improved method
    for calculation of the ATTNDR. All of the remaining
    MAXDELAYOCTET_ext or MAXDELAYOCTET will be allocated for
    use in the upstream direction. The detailed specification is
    in ITU-T G.993.2 and G.998.4. The valid values are identical
    to the values of the line configuration parameter MDOSPLIT.
    A special value (enum vendor-discretionary) indicates that
    the VDSL Transceiver Unit - central Office (VTU-O) is allowed
    to use a vendor discretionary algorithm.";
            reference
              "ITU-T G.997.1 clause 7.3.1.15.2 (ATTNDR_MDOSPLIT);
              ITU-T G.993.2;
              ITU-T G.998.4";
    
          }
        }  // grouping impulse-noise-protection-delay-profile-upstream
    
        grouping vn-descriptor {
          description
            "Specifies the format of the Virtual Noise (VN) PSD.";
          list psdmask {
            key "sub-carrier";
            description
              "The virtual noise Power Spectral Density (PSD) level.";
            leaf sub-carrier {
              type sub-carrier-index;
              description "Sub-carrier index.";
            }
    
            leaf psd-level {
              type union {
                type uint8 {
                  range "0..200";
                }
                type enumeration {
                  enum "zero-watts-per-hz" {
                    value 0;
                    description
                      "Indicates a noise level of 0 Watts per Hz (minus
    infinity dBm per Hz).";
                  }
                }
              }
              units "-0.5 dBm per Hz";
              mandatory true;
              description
                "The noise level, ranges from -40 dBm per Hz to -140 dBm per
    Hz in steps of -0.5 dBm per Hz, with an offset of -40 dBm
    per Hz. The virtual noise level = -psd-level/2 -40 dBm per
    Hz. A special value of (enum zero-watts-per-hz) indicates
    a noise level of 0 Watts per Hz (minus infinity dBm per
    Hz). The default is an empty list, corresponding to no
    virtual noise defined.";
            }
          }  // list psdmask
        }  // grouping vn-descriptor
    
        grouping virtual-noise-profile {
          description
            "Configuration parameters for downstream Virtual Noise (VN).";
          container virtual-noise {
            must "count(psdmask) != 1" {
              error-message
                "Only one 'psdmask' is defined.";
              description
                "There must be either 0 or 2 to 32 Power Spectral Density
    (PSD) mask breakpoints defined.";
            }
            description
              "This configuration parameter VN defines the transmitter
    referred virtual noise (TXREFVN). The TXREFVN is specified
    through a set of breakpoints. Each breakpoint consists of a
    subcarrier index t, with a subcarrier spacing of 4.3125 kHz,
    and a noise Power Spectral Density (PSD) level (expressed in
    dBm per Hz) at that subcarrier. The set of breakpoints can
    then be represented as [(t1, PSD1), (t2, PSD2), (tN, PSDN)].
    The subcarrier index is coded as an unsigned integer. The
    noise level ranges from -40 dBm per Hz to -140 dBm per Hz in
    steps of 0.5 dBm per Hz. A special value of (enum
    zero-watts-per-hz) indicates a noise level of 0 Watts per Hz.
    The maximum number of breakpoints is 32. The default is an
    empty list, corresponding to no virtual noise defined.";
            reference
              "ITU-T G.997.1 clause 7.3.1.7.3 (VNds)";
    
            uses vn-descriptor {
              refine 
            }
          }  // container virtual-noise
    
          container fext-txrefvnds {
            description
              "For ITU-T G.992.3 (ADSL2) Annex C and ITU-T G.992.5
    (ADSL2plus) Annex C, the transmitter referred virtual noise
    (see clause 7.3.1.7.3) specified for FEXTR duration is
    defined as Far-End Crosstalk (FEXT) downstream transmitter
    referred virtual noise (FEXT TXREFVNds). The default is an
    empty list, corresponding to no virtual noise defined.";
            reference
              "ITU-T G.997.1 clause 7.3.1.7.3.1 (FEXT TXREFVNds)";
    
            uses vn-descriptor;
          }  // container fext-txrefvnds
    
          container next-txrefvnds {
            description
              "For ITU-T G.992.3 (ADSL2) Annex C and ITU-T G.992.5
    (ADSL2plus) Annex C, the transmitter referred virtual noise
    specified for NEXTR duration is defined as Near-End Crosstalk
    (NEXT) downstream transmitter referred virtual noise (NEXT
    TXREFVNds). The default is an empty list, corresponding to no
    virtual noise defined.";
            reference
              "ITU-T G.997.1 clauses 7.3.1.7.3 and 7.3.1.7.3.2
              (NEXT TXREFVNds)";
    
            uses vn-descriptor;
          }  // container next-txrefvnds
    
          leaf txrefvnsfds {
            type int8 {
              range "-128..127";
            }
            units "0.5 dB";
            default "0";
            description
              "If SNRM_MODE = 4, this configuration parameter defines the
    downstream transmitter referred virtual noise scaling factor.
    The valid values for the transmitter referred virtual noise
    scaling factor range from -64.0 dB to 63.5 dB, in steps of
    0.5 dB. The default is an empty list, corresponding to no
    virtual noise defined.";
            reference
              "ITU-T G.997.1 clause 7.3.1.7.6 (TXREFVNSFds)";
    
          }
        }  // grouping virtual-noise-profile
    
        grouping virtual-noise-profile-upstream {
          description
            "Configuration parameters for upstream Virtual Noise (VN).";
          container virtual-noise {
            must "count(psdmask) != 1" {
              error-message
                "Only one 'psdmask' is defined.";
              description
                "There must be either 0 or 2 to 16 Power Spectral Density
    (PSD) mask breakpoints defined.";
            }
            description
              "This configuration parameter Virtual Noise (VN) defines the
    transmitter referred virtual noise (TXREFVN). The TXREFVN is
    specified through a set of breakpoints. Each breakpoint
    consists of a subcarrier index t, with a subcarrier spacing
    of 4.3125 kHz, and a noise Power Spectral Density (PSD) level
    (expressed in dBm per Hz) at that subcarrier. The set of
    breakpoints can then be represented as [(t1, PSD1),
    (t2, PSD2), (tN, PSDN)]. The subcarrier index is coded as an
    unsigned integer. The noise level ranges from -40 dBm per Hz
    to -140 dBm per Hz in steps of 0.5 dBm per Hz. A special
    value of (enum zero-watts-per-hz) indicates a noise level of
    0 Watts per Hz. The maximum number of breakpoints is 16.
    The default is an empty list, corresponding to no virtual
    noise defined.";
            reference
              "ITU-T G.997.1 clause 7.3.1.7.4 (VNus)";
    
            uses vn-descriptor {
              refine 
            }
          }  // container virtual-noise
    
          leaf rxrefvnsfus {
            type int8 {
              range "-128..127";
            }
            units "0.5 dB";
            default "0";
            description
              "If SNRM_MODE = 4, this configuration parameter defines the
    receiver-referred virtual noise scaling factor. The valid
    values for the receiver-referred virtual noise scaling factor
    range from -64.0 dB to 63.5 dB, in steps of 0.5 dB. The
    default is an empty list, corresponding to no virtual noise
    defined.";
            reference
              "ITU-T G.997.1 clause 7.3.1.7.5 (RXREFVNSFus)";
    
          }
        }  // grouping virtual-noise-profile-upstream
    
        grouping sos-profile {
          description
            "The Save Our Showtime (SOS) Profile provides the parameters to
    configure the optional procedure for VDSL2 SOS, which rapidly
    falls back to a lower speed without a re-initialization.";
          leaf sos-time {
            type union {
              type uint8 {
                range "1..255";
              }
              type enumeration {
                enum "disabled" {
                  value 0;
                  description
                    "Indicates that the standard Save Our Showtime (SOS)
    triggering criteria are disabled, i.e., vendor
    discretionary values may be used.";
                }
              }
            }
            units "64 milliseconds";
            default "disabled";
            description
              "The parameter SOS-TIME is used in the specification of the
    receiver initiated Save Our Showtime (SOS). If the value of
    this parameter is not zero, the standard SOS triggering
    criteria are enabled, and the value corresponds with duration
    of the time window used in the standard SOS triggering
    criteria in the direction of transmission. The special value
    (enum disabled) indicates that the standard SOS triggering
    criteria are disabled, i.e., vendor discretionary values may
    be used instead of the values configured in the Management
    Information Base (MIB) for the following parameters:
    SOS-NTONES, SOS-CRC, SOS-TIME. The valid range of values is
    from 64 milliseconds to 16320 milliseconds in steps of 64
    milliseconds.
    
    If any of the nodes 'sos-time', 'sos-ntones', or 'sos-crc'
    are configured to be 'disabled', then the behavior is the
    same as 'sos-time' being disabled.";
            reference
              "ITU-T G.997.1 clauses 7.3.1.10.1 (SOS-TIME-ds) and
              7.3.1.10.2 (SOS-TIME-us);
              ITU-T G.993.2 clause 13.4.3";
    
          }
    
          leaf sos-ntones {
            type union {
              type uint8 {
                range "1..100";
              }
              type enumeration {
                enum "disabled" {
                  value 0;
                  description
                    "Indicates that the standard Save Our Showtime (SOS)
    triggering criteria are disabled, i.e., vendor
    discretionary values may be used.";
                }
              }
            }
            units "percent";
            default "disabled";
            description
              "This parameter is defined as the minimum percentage of
    tones in the MEDLEY SET in the direction of transmission
    that will be degraded in order to arm the first sub-condition
    of the standard Save Our Showtime (SOS) triggering criteria.
    The parameter SOS-NTONES is defined as a percentage of tones.
    The valid range of values is from 1 to 100 in steps of 1. The
    special value (enum disabled) indicates that the standard SOS
    triggering criteria are disabled.
    
    If any of the nodes 'sos-time', 'sos-ntones', or 'sos-crc'
    are configured to be 'disabled', then the behavior is the
    same as 'sos-time' being disabled.";
            reference
              "ITU-T G.997.1 clauses 7.3.1.10.3 (SOS-NTONES-ds) and
              7.3.1.10.4 (SOS-NTONES-us);
              ITU-T G.993.2 clause 13.4.3.2";
    
          }
    
          leaf sos-crc {
            type union {
              type uint16 {
                range "1..65535";
              }
              type enumeration {
                enum "disabled" {
                  value 0;
                  description
                    "Indicates that the standard Save Our Showtime (SOS)
    triggering criteria are disabled, i.e., vendor
    discretionary values may be used.";
                }
              }
            }
            default "disabled";
            description
              "This parameter is defined as the minimum number of
    normalized Cyclic Redundancy Check (CRC) anomalies received
    in SOS-TIME seconds in order to arm the second sub-condition
    of the standard Save Our Showtime (SOS) triggering criteria
    in the direction of transmission. The valid range of SOS-CRC
    values is 0.02 to ((2^16)-1)*0.02, in steps of 0.02.
    Additionally, the special value (enum disabled) indicates
    that the standard SOS triggering criteria are disabled.
    
    If any of the nodes 'sos-time', 'sos-ntones', or 'sos-crc'
    are configured to be 'disabled', then the behavior is the
    same as 'sos-time' being disabled.";
            reference
              "ITU-T G.997.1 clauses 7.3.1.10.5 (SOS-CRC-ds) and 7.3.1.10.6
              (SOS-CRC-us);
              ITU-T G.993.2 clause 13.4.3.2";
    
          }
    
          leaf max-sos {
            type union {
              type uint8 {
                range "1..15";
              }
              type enumeration {
                enum "unlimited" {
                  value 0;
                  description
                    "Indicates that there is no limit on the maximum
    allowed number of Save Our Showtime (SOS) recoveries
    within this time interval.";
                }
              }
            }
            default "unlimited";
            description
              "This parameter is used in G.993.2 de-activation. If the
    number of successful Save Our Showtime (SOS) procedures in
    the direction of transmission performed within a 120 second
    interval exceeds MAX-SOS, the modem will transition to the L3
    state. The valid range of values is 1 to 15. The special
    value (enum unlimited) indicates that there is no limit on
    the maximum allowed number of SOS recoveries within this time
    interval.";
            reference
              "ITU-T G.997.1 clauses 7.3.1.10.7 (MAX-SOS-ds) and 7.3.1.10.8
              (MAX-SOS-us);
              ITU-T G.993.2 clause 12.1.4";
    
          }
    
          leaf snrmoffset-roc {
            type uint16 {
              range "0..310";
            }
            units "0.1 dB";
            default "0";
            description
              "The parameter is defined as the Signal-To-Noise (SNR) Margin
    offset for the Robust Overhead Channel (ROC) in the direction
    of transmission. The parameter is used in the specification
    of the channel initialization policy. The valid range of SNR
    margin offset values is from 0 to 31 dB, with 0.1 dB steps.";
            reference
              "ITU-T G.997.1 clauses 7.3.1.10.9 (SNRMOFFSET-ROC-ds) and
              7.3.1.10.10 (SNRMOFFSET-ROC-us);
              ITU-T G.993.2 clause 12.3.7.1";
    
          }
    
          leaf inpmin-roc {
            type uint8 {
              range "0..8";
            }
            units "T4k periods";
            default "0";
            description
              "This parameter contains the minimum impulse noise protection
    (INPMIN) to apply on the Robust Overhead Channel (ROC) in the
    direction of transmission. The minimum impulse noise
    protection is an integer ranging from 0 to 8 representing the
    number of T4k periods. A T4k period is about 250
    microseconds.";
            reference
              "ITU-T G.997.1 clauses 7.3.1.10.11 (INPMIN-ROC-ds) and
              7.3.1.10.12 (INPMIN-ROC-us)";
    
          }
        }  // grouping sos-profile
    
        grouping impulse-noise-monitoring-profile {
          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 xDSL Transceiver Unit
    (xTU).";
          leaf inmiato {
            type uint16 {
              range "3..511";
            }
            units "DMT symbols";
            default "3";
            description
              "This is the Inter Arrival Time (IAT) offset that the xDSL
    Transceiver Unit (xTU) receiver will use to determine in
    which bin of the inter arrival time histogram the IAT is
    reported. The valid values for INMIATO ranges from 3 to 511
    Discrete Multi-Tone (DMT) symbols in steps of 1 DMT symbol.";
            reference
              "ITU-T G.997.1 clause 7.3.1.9.1 (INMIATO)";
    
          }
    
          leaf inmiats {
            type uint8 {
              range "0..7";
            }
            units "DMT symbols";
            default "0";
            description
              "This is the Inter Arrival Time (IAT) step that the xDSL
    Transceiver Unit (xTU) receiver will use to determine in
    which bin of the inter arrival time histogram the IAT is
    reported. The valid values for INMIATS range from 0 to 7 in
    steps of 1.";
            reference
              "ITU-T G.997.1 clause 7.3.1.9.2 (INMIATS)";
    
          }
    
          leaf inmcc {
            type uint8 {
              range "0..64";
            }
            units "DMT symbols";
            default "0";
            description
              "This is the Impulse Noise Monitoring Cluster Continuation
    (INMCC) value that the xDSL Transceiver Unit (xTU) receiver
    will use in the cluster indication process described in the
    relevant ITU-T Recommendation. The valid values for INMCC
    range from 0 to 64 Discrete Multi-Tone (DMT) symbols in steps
    of one DMT symbol.";
            reference
              "ITU-T G.997.1 clause 7.3.1.9.3 (INMCC)";
    
          }
    
          leaf inm-inpeq-mode {
            type enumeration {
              enum "0" {
                value 0;
                description
                  "INM_INPEQ_MODE = 0.";
              }
              enum "1" {
                value 1;
                description
                  "INM_INPEQ_MODE = 1.";
              }
              enum "2" {
                value 2;
                description
                  "INM_INPEQ_MODE = 2.";
              }
              enum "3" {
                value 3;
                description
                  "INM_INPEQ_MODE = 3.";
              }
              enum "4" {
                value 4;
                description
                  "INM_INPEQ_MODE = 4.";
              }
            }
            default "0";
            description
              "This is the Impulse Noise Monitoring (INM) equivalent Impulse
    Noise Protection (INP) mode that the xDSL Transceiver Unit
    (xTU) receiver will use in the computation of the Equivalent
    INP, as defined in the relevant ITU-T Recommendation. The
    valid values for INM_INPEQ_MODE are 0, 1, 2, 3, and 4.
    The default value is enum 0, corresponding to
    INM_INPEQ_MODE = 0.";
            reference
              "ITU-T G.997.1 clause 7.3.1.9.4 (INM_INPEQ_MODE);
              ITU-T G.993.2 clause 11.4.2.2.1";
    
          }
    
          leaf inm-inpeq-format {
            type enumeration {
              enum "0" {
                value 0;
                description "Linear scale.";
              }
              enum "1" {
                value 1;
                description "Logarithmic scale.";
              }
            }
            default "0";
            description
              "Defines the way the scale is configured for the INM_INPEQ
    histogram.";
            reference
              "ITU-T G.997.1 clause 7.3.1.9.5;
              ITU-T G.993.2 clause 11.4.2.2.6";
    
          }
    
          leaf inm-enable {
            type boolean;
            default "false";
            status deprecated;
            description
              "If true, enables Impulse Noise Monitoring (INM).";
          }
        }  // grouping impulse-noise-monitoring-profile
    
        grouping re-initialization-policy-profile {
          description
            "Configuration of the re-initialization policy allows control
    of re-initialization based on error performance thresholds
    of the line.";
          leaf ripolicy {
            type uint8 {
              range "0..1";
            }
            default "0";
            description
              "The re-initialization policy (RIPOLICY) parameter indicates w
    which policy will be applied to determine the triggers for
    re-initialization in the direction of transmisson.
    If RIPOLICY=1 is configured and it is detected during ITU-T
    G.993.2 initialization that RIPOLICY=1 is not supported in
    the direction of transmission by either of the xDSL
    Transceiver Units (xTU), the xTUs will fallback to
    RIPOLICY=0. The valid values for RIPOLICY are 0 and 1. The
    default is RIPOLICY=0.";
            reference
              "ITU-T G.997.1 clauses 7.3.1.1.12.1 (RIPOLICYds),
              7.3.1.1.12.2 (RIPOLICYus), 7.3.1.1.13 and 7.2.1.1.5;
              ITU-T G.993.2 clause 12.1.4";
    
          }
    
          leaf reinit-time-threshold {
            type uint8 {
              range "5..31";
            }
            default "10";
            description
              "The parameter REINIT_TIME_THRESHOLD defines the threshold
    for re-initialization based on Severely Errored Seconds
    (SES), to be used by the xDSL Transceiver Unit (xTU) receiver
    when re-initialization policy 1 is used in the direction of
    transmission. The valid range is from 5 to 31.";
            reference
              "ITU-T G.997.1 clauses 7.3.1.1.13.1 and 7.3.1.1.13.2;
              ITU-T G.993.2 clause 12.1.4";
    
          }
        }  // grouping re-initialization-policy-profile
    
        grouping vectoring-profile {
          description
            "The Vectoring mechanism is defined by ITU-T Recommendation
    G.993.5. The Vectoring Profile contains part of the Vectoring
    related configuration parameters while the rest of the
    parameters are located in the data rate profile.";
          list vector-band-control {
            key "start-index";
            max-elements 8;
            description
              "This configuration parameter is an array of pairs of
    sub-carrier indices (a(i), b(i)). Each pair specifies a
    frequency band starting from sub-carrier index a(i) and
    ending at sub-carrier index b(i) (including both start and
    end points) in which Far-End Crosstalk (FEXT) cancellation
    for the line is not required. Up to 8 frequency bands may be
    configured. The same value of this parameter will be set for
    all lines of the same vector group.
    The default is an empty list, corresponding to no vectoring
    frequency-band control.";
            reference
              "ITU-T G.997.1 clauses 7.3.1.13.1 (VECTOR_BAND_CONTROLus) and
              7.3.1.13.2 (VECTOR_BAND_CONTROLds)";
    
            uses sub-carrier-range;
          }  // list vector-band-control
    
          leaf fext-cancel-priority {
            type enumeration {
              enum "LOW" {
                value 0;
                description
                  "Low priority for Far-End Crosstalk (FEXT) cancellation.";
              }
              enum "HIGH" {
                value 1;
                description
                  "High priority for Far-End Crosstalk (FEXT)
    cancellation.";
              }
            }
            default "HIGH";
            description
              "This parameter specifies line priority for the line in the
    vectored group in the direction of transmission. Two line
    priorities are defined as LOW and HIGH. The default is
    HIGH.";
            reference
              "ITU-T G.997.1 clauses 7.3.1.13.3 (FEXT_CANCEL_PRIORITYus) and
              7.3.1.13.4 (FEXT_CANCEL_PRIORITYds);
              ITU-T G.993.5";
    
          }
    
          leaf fext-cancel-enable {
            type enumeration {
              enum "1" {
                value 0;
                description
                  "Far-End Crosstalk (FEXT) cancellation enabled.";
              }
              enum "0" {
                value 1;
                description
                  "Far-End Crosstalk (FEXT) cancellation disabled.";
              }
            }
            default "1";
            description
              "A value of 1 enables and a value of 0 disables Far-End
    Crosstalk (FEXT) cancellation in the direction of
    transmission from all the other vectored lines into the line
    in the vectored group. The default is enum 1, corresponding
    to FEXT cancellation enabled.";
            reference
              "ITU-T G.997.1 clauses 7.3.1.13.5 (FEXT_CANCEL_ENABLEus) and
              7.3.1.13.6 (FEXT_CANCEL_ENABLEds)";
    
          }
    
          leaf xlin-group-size-req {
            type uint8 {
              range
                "1 | 2 | 4 | 8 | 16 | 32 | 64";
            }
            default "1";
            description
              "This parameter is the requested value of XLIN Group size
    (XLING) in the direction of transmission. The valid values
    are 1, 2, 4, 8, 16, 32, and 64.";
            reference
              "ITU-T G.997.1 clauses 7.3.1.13.7 (XLINGREQds) and clause
              7.3.1.13.8 (XLINGREQus)";
    
          }
        }  // grouping vectoring-profile
    
        grouping vectoring-profile-non-directional {
          description
            "Configuration data that is not associated with the upstream
    or downstream directions.";
          leaf vector-mode-enable {
            type union {
              type enumeration {
                enum "all" {
                  value 0;
                  description
                    "All vector modes enabled.";
                }
              }
              type bits {
                bit bit0 {
                  position 0;
                  description
                    "Initialization in ITU-T G.993.2 mode with neither
    Annex X nor Annex Y enabled.";
                }
                bit bit1 {
                  position 1;
                  description
                    "Initialization in ITU-T G.993.2 Annex X.";
                }
                bit bit2 {
                  position 2;
                  description
                    "Initialization in ITU-T G.993.2 Annex Y.";
                }
                bit bit3 {
                  position 3;
                  description
                    "Initialization in ITU-T G.993.5.";
                }
              }
            }
            default "all";
            description
              "This configuration parameter defines the vectoring
    initialization type to be allowed by the VDSL Transceiver
    Unit - Central office (VTU-O) on the line. The default is
    'all', corresponding to all vectoring modes allowed.";
            reference
              "ITU-T G.997.1 clause 7.3.1.13.9 (VECTORMODE_ENABLE)";
    
          }
    
          leaf strongfext-mode {
            if-feature bbf-vdsl:strongfext;
            type enumeration {
              enum "disabled" {
                value 0;
                description
                  "Operation according to G.993.5 Annex A is disable.";
              }
              enum "preferred" {
                value 1;
                description
                  "Operation according to G.993.5 Annex A is preferred.";
              }
              enum "forced" {
                value 2;
                description
                  "Operation according to G.993.5 Annex A is forced.";
              }
              enum "forced-above-17mhz" {
                value 3;
                description
                  "Operation according to G.993.5 Annex A is forced above
    17MHz.";
              }
            }
            default "disabled";
            description
              "This configuration parameter specifies if operation according
    to G.993.5 Annex A is disabled, preferred, forced, or forced
    above 17MHz.";
            reference
              "ITU-T G.997.1 clause 7.3.1.17.1;
              ITU-T G.993.5 Annex A";
    
          }
        }  // grouping vectoring-profile-non-directional
    
        grouping data-gathering-profile {
          description
            "These parameters are used to configure data gathering
    functionality.";
          list logging-depth-event-percentage-o {
            key "event-number";
            description
              "This parameter is the percentage of the data gathering
    event buffer assigned to event type i at the VDSL Transceiver
    Unit - central Office (VTU-O). The ID, i, of the event type
    is defined in Table 11-43 of ITU-T G.993.2. Values are
    expressed in increments of 0.5% from 0 to 100%.";
            reference
              "ITU-T G.997.1 clause 7.3.6.1
              (LOGGING_DEPTH_EVENT_PERCENTAGE_Oi);
              ITU-T G.993.2 Table 11-43";
    
            leaf event-number {
              type uint8;
              description
                "Identifies the event type at the VDSL Transceiver Unit -
    central Office (VTU-O).";
              reference
                "ITU-T G.993.2 Table 11-43";
    
            }
    
            leaf percentage {
              type uint8 {
                range "0..200";
              }
              units "0.5 percent";
              default "0";
              description
                "This parameter is the percentage of the data gathering
    event buffer assigned to the event type.";
            }
          }  // list logging-depth-event-percentage-o
    
          leaf logging-depth-reporting-o {
            type uint32;
            units "6 bytes";
            default "0";
            description
              "This parameter is the logging depth that is requested for
    reporting the VDSL Transceiver Unit - central Office (VTU-O)
    event trace buffer in the Central Office Management
    Information Base (CO-MIB), in number of 6-byte data gathering
    records.";
            reference
              "ITU-T G.997.1 clause 7.3.6.3 (LOGGING_DEPTH_REPORTING_O)";
    
          }
    
          list logging-depth-event-percentage-r {
            key "event-number";
            description
              "This parameter is the percentage of the data gathering
    event buffer assigned to event type i at the VDSL Transceiver
    Unit - remote Side (VTU-R). The ID, i, of the event type is
    defined in Table 11-43 of ITU-T G.993.2. Values are
    expressed in increments of 0.5% from 0 to 100%.";
            reference
              "ITU-T G.997.1 clause 7.3.6.2
              (LOGGING_DEPTH_EVENT_PERCENTAGE_Ri);
              ITU-T G.993.2 Table 11-43";
    
            leaf event-number {
              type uint8;
              description
                "Identifies the event type.";
              reference
                "ITU-T G.993.2 Table 11-43";
    
            }
    
            leaf percentage {
              type uint8 {
                range "0..200";
              }
              units "0.5 percent";
              default "0";
              description
                "This parameter is the percentage of the data gathering
    event buffer assigned to the event type for the VDSL
    Transceiver Unit - remote Side (VTU-R).";
            }
          }  // list logging-depth-event-percentage-r
    
          leaf logging-depth-reporting-r {
            type uint32;
            units "6 bytes";
            default "0";
            description
              "This parameter is the logging depth that is requested for
    reporting the VDSL Transceiver Unit - remote Side (VTU-R)
    event trace buffer in the Central Office Management
    Information Base (CO-MIB), in number of 6-byte data gathering
    records.";
            reference
              "ITU-T G.997.1 clause 7.3.6.4";
    
          }
    
          leaf logging-report-newer-first {
            type boolean;
            default "false";
            description
              "If true, this parameter instructs the VDSL Transceiver Unit -
    remote Side (VTU-R) to report newer events first, from the
    beginning of the event trace buffer. If false, this parameter
    instructs the VTU-R to report older events first, from the
    end of the event trace buffer. This parameter only applies to
    the VTU-R.";
            reference
              "ITU-T G.997.1 clause 7.3.6.5 (LOGGING_REPORT_NEWER_FIRST)";
    
          }
        }  // grouping data-gathering-profile
    
        grouping line-status {
          description
            "The xDSL Line status parameters represent status/state data
    nodes for an individual physical transmission line.";
          leaf xdsl-transmission-system {
            type xts-descriptor;
            description
              "This indicates the current xDSL Transmission System.";
            reference
              "ITU-T G.997.1 clause 7.3.1.1.1 (XTSE)";
    
          }
    
          leaf line-power-management-state {
            type enumeration {
              enum "L0" {
                value 0;
                description
                  "Synchronized - This line state (L0) is when
    the line has full transmission (i.e., showtime).";
              }
              enum "L1" {
                value 1;
                description
                  "Power down data transmission - This line state
    (L1) is when there is transmission on the line but the
    net data rate is reduced (e.g., only for OAM and higher
    layer connection and session control). This state
    applies to ITU-T G.992.2 only.";
              }
              enum "L2" {
                value 2;
                description
                  "Power down data transmission - This line state
    (L2) is when there is transmission on the line but the
    net data rate is reduced (e.g., only for OAM and higher
    layer connection and session control). This state
    applies to ITU-T G.992.3 and ITU-T G.992.4 only.";
              }
              enum "L3" {
                value 3;
                description
                  "No-power - This line state (L3) is when there
    is no power transmitted on the line at all.";
              }
            }
            description
              "This parameter identifies the power management state of
    the line.";
            reference
              "ITU-T G.997.1 clause 7.5.1.5";
    
          }
    
          leaf initialization-success-failure-cause {
            type enumeration {
              enum "successful" {
                value 0;
                description "Successful.";
              }
              enum "config-error" {
                value 1;
                description
                  "Configuration error. This error occurs with
    inconsistencies in configuration parameters. For
    example, when the line is initialized in an xDSL
    transmission system where an xDSL Transceiver Unit (xTU)
    does not support the configured maximum delay or the
    configured minimum or maximum data rate for one or more
    bearer channels.";
              }
              enum "config-not-feasible" {
                value 2;
                description
                  "Configuration not feasible on the line. This error
    occurs if the minimum data rate cannot be reached on
    the line with the minimum noise margin, maximum Power
    Spectral Density (PSD) level, maximum delay and maximum
    bit error ratio for one or more bearer channels.";
              }
              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 G.994.1
    handshaking procedure or due to a timeout.";
              }
              enum "no-far-end-xtu-detected" {
                value 4;
                description
                  "No peer xDSL Transceiver Unit (xTU) detected. This error
    occurs if the peer xTU is not powered or not connected or
    if the line is too long to allow detection of a peer
    xTU.";
              }
              enum "unknown" {
                value 5;
                description
                  "Any other or unknown initialization failure cause.";
              }
              enum "rtx-not-selected" {
                value 6;
                description
                  "ITU T G.998.4 retransmission mode was not selected
    while RTX_MODE = FORCED or with
    RTX_MODE = RTX_TESTMODE.";
              }
            }
            description
              "This parameter indicates whether the last full
    initialization procedure was successful. If the last
    initialization procedure was not successful, this
    parameter provides the reason.";
            reference
              "ITU-T G.997.1 clause 7.5.1.6";
    
          }
    
          leaf vdsl2-lr-actual-op-type {
            if-feature bbf-vdsl:vdsl2-lr;
            type enumeration {
              enum "disabled" {
                value 0;
                description
                  "Operation according to VDSL2 Long Reach (VDSL2-LR) mode
    is disabled.";
              }
              enum "short" {
                value 1;
                description
                  "Operating according to VDSL2 Long Reach (VDSL2-LR) short
    loop operation type.";
              }
              enum "medium" {
                value 2;
                description
                  "Operation according to VDSL2 Long Reach (VDSL2-LR) medium
    loop operation type.";
              }
              enum "long" {
                value 3;
                description
                  "Operation according to VDSL2 Long Reach (VDSL2-LR) long
    loop operation type.";
              }
            }
            description
              "This parameter reports the actual operation type
    of the VDSL2 Long Reach (VDSL2-LR) mode.";
            reference
              "ITU-T G.997.1 clause 7.5.1.44.1 (VDSL2-LR_ACTOPTYPE)";
    
          }
        }  // grouping line-status
    
        grouping xtu-c-line-failure-parameters {
          description
            "xDSL Transceiver Unit - Central office (xTU-C) failure
    parameters.";
          leaf los {
            type boolean;
            description
              "A Loss of Signal (LOS) failure is declared after 2.5 +- 0.5
    seconds of contiguous LOS defect, or, if LOS defect is
    present when the criteria for Loss of Frame (LOF) failure
    declaration have been met (see LOF definition below). A LOS
    failure is cleared after 10 +- 0.5 seconds of no LOS
    defect.";
            reference
              "ITU-T G.997.1 clause 7.1.1.1.1";
    
          }
    
          leaf lof {
            type boolean;
            description
              "A Loss of Frame (LOF) failure is declared after 2.5 +- 0.5
    seconds of contiguous Severly Errored Frame (SEF) defect,
    except when an LOS defect or failure is present (see LOS
    definition above). A LOF failure is cleared when LOS failure
    is declared, or after 10 +- 0.5 seconds of no SEF defect.";
            reference
              "ITU-T G.997.1 clause 7.1.1.1.2";
    
          }
    
          leaf lpr {
            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.1 clause 7.1.1.1.3";
    
          }
    
          leaf linit {
            type boolean;
            description
              "If the line is forced to the L0 state (or into loop
    diagnostic mode) and an attempt to reach the L0 state (or to
    successfully complete the loop diagnostic procedures) fails
    (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 given by the line
    initialization (LINIT) failure (see clause 7.5.1.6). A line
    initialization failure will be conveyed to the NMS by the
    xDSL Transceiver Unit - Central office (xTU-C) (over the
    Q-interface) and should be conveyed to the NMS by the xDSL
    Transceiver Unit - Remote side (xTU-R) (over the
    T-/S-interface) after it is detected.";
            reference
              "ITU-T G.997.1 clause 7.1.1.3";
    
          }
    
          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, except when an Loss of Signal (LOS) or Loss of
    Frame (LOF) defect or failure is present (see los and lof
    definitions above). A LOM failure is cleared when LOS or LOF
    failure is declared, or after 10 +- 0.5 seconds of no LOM
    defect.";
            reference
              "ITU-T G.997.1 clause 7.1.1.1.4";
    
          }
        }  // grouping xtu-c-line-failure-parameters
    
        grouping xtu-r-line-failure-parameters {
          description
            "xDSL Transceiver Unit - Remote side (xTU-R) line failure
    parameters.";
          leaf los-fe {
            type boolean;
            description
              "A Far-End Loss of Signal (LOS-FE) failure is declared after
    2.5 +- 0.5 seconds of contiguous far-end Loss of Signal (LOS)
    defects, or, if far-end LOS defect is present when the
    criteria for Loss of Frame (LOF) failure declaration have
    been met (see LOF definition below). A far-end LOS failure is
    cleared after 10 +- 0.5 seconds of no far-end LOS defect.";
            reference
              "ITU-T G.997.1 clause 7.1.1.2.1";
    
          }
    
          leaf lof-fe {
            type boolean;
            description
              "A Far-End Loss of Frame (LOF-FE) failure is declared after
    2.5 +- 0.5 seconds of contiguous Remote Defect Indication
    (RDI) defects, except when a far-end Loss of Signal (LOS)
    defect or failure is present (see LOS definition above). A
    far-end Loss of Frame (LOF) failure is cleared when far-end
    LOS failure is declared, or after 10 +- 0.5 seconds of no RDI
    defect.";
            reference
              "ITU-T G.997.1 clause 7.1.1.2.2";
    
          }
    
          leaf lpr-fe {
            type boolean;
            description
              "A Far-End Loss of Power (LPR-FE) failure is declared after
    the occurrence of a far-end LPR primitive followed by 2.5 +-
    0.5 seconds of contiguous near-end Loss of Signal (LOS)
    defects. A far-end LPR failure is cleared after 10 +- 0.5
    seconds of no near-end LOS defect.";
            reference
              "ITU-T G.997.1 clause 7.1.1.2.3";
    
          }
    
          leaf loss-of-margin-fe {
            type boolean;
            description
              "A Far-End Loss of Margin (LOM-FE) failure is declared when a
    re-initialization is triggered by a persistent far-end lom
    defect, except when an Far-End Loss of Signal (LOS-FE) or
    Far-End Loss of Frame (LOF-FE) defect or failure is present
    (see los-fe and lof-fe definitions above). A far-end LOM
    failure is cleared when far end LOS or LOF failure is
    declared, or after 10 +- 0.5 seconds of no far-end LOM
    defect.";
            reference
              "ITU-T G.997.1 clause 7.1.1.2.4";
    
          }
        }  // grouping xtu-r-line-failure-parameters
    
        grouping xtu-line-status {
          description
            "Status parameters for the line.";
          leaf snr-margin {
            type union {
              type int16 {
                range "-640..630";
              }
              type enumeration {
                enum "out-of-range" {
                  value 0;
                  description
                    "Indicates that the value is out of range to
    be represented.";
                }
              }
            }
            units "0.1 dB";
            status obsolete;
            description
              "The signal-to-noise ratio (SNR) margin is the maximum
    increase, in dB, of the noise power received at the
    receiver, such that the Bit Error Rate (BER) requirements are
    met for all bearer channels (SNRMds for xDSL Transceiver
    Unit - Remote side (xTU-R) / SNRMus for xDSL Transceiver
    Unit - Central office (xTU-C)). The SNR margin ranges from
    -64 dB to +63 dB, with 0.1 dB steps. A special value (enum
    out-of-range) indicates the parameter is out of range to be
    represented.";
            reference
              "ITU-T G.997.1 clauses 7.5.1.13 (SNRMds) and 7.5.1.16
              (SNRMus)";
    
          }
    
          leaf profile {
            type profiles;
            description
              "This parameter defines the profile in use. It is coded in a
    bit-map representation (0 if in use, 1 if not in use).";
            reference
              "ITU-T G.997.1 clauses 7.3.1.1.11 and 7.5.1.2";
    
          }
    
          leaf limitmask {
            type limitmask-descriptor;
            description
              "This configuration parameter contains the G.993.2 limit
    PSD masks of the selected Power Spectral Density (PSD) mask
    class, that is used by the near-end xDSL Transceiver Unit
    (xTU) on this line. One LIMITMASK parameter is defined per
    the G.993.2 Annex.";
            reference
              "ITU-T G.997.1 clause 7.5.1.3";
    
          }
    
          leaf us0mask {
            type us0mask-descriptor;
            description
              "This parameter contains none or the one US0 Power Spectral
    Density (PSD) masks in use by the near-end xDSL Transceiver
    Unit (xTU) on the line.";
            reference
              "ITU-T G.997.1 clause 7.5.1.4";
    
          }
    
          leaf actual-cyclic-extension {
            type uint8 {
              range "2..16";
            }
            units "n samples";
            description
              "This parameter reports the cyclic extension used on the
    line. It is coded as an unsigned integer from 2 to 16 in
    units of N/32 samples, where 2N is the Inverse Discrete
    Fourier Transform (IDFT) size.";
            reference
              "ITU-T G.997.1 clause 7.5.1.32 (ACTUALCE)";
    
          }
    
          leaf actual-aele-mode {
            type enumeration {
              enum "0" {
                value 0;
                description
                  "kl0[band] = ELE-M0 VDSL Transceiver Unit - central Office
    (VTU-O) kl0 estimate.";
              }
              enum "1" {
                value 1;
                description
                  "kl0[band] = ELEDS [dB], with band in the set
    {upbo_bands}.";
              }
              enum "2" {
                value 2;
                description
                  "kl0[band] = ELE[band] [dB], with band in the set
    {upbo_bands}.";
              }
              enum "3" {
                value 3;
                description
                  "kl0[band] = MIN(ELEUS, ELEDS) [dB], with band in the
    set {upbo_bands}.";
              }
            }
            description
              "This parameter reports the actual Alternative Electrical
    Length Estimation Mode (AELE-MODE). The value of this
    parameter is 0, 1, 2 or 3.";
            reference
              "ITU-T G.997.1 clause 7.5.1.23.7 (ACT-AELE-MODE);
              ITU-T G.993.2 clause 7.2.1.3.2.1 (AELE-MODE)";
    
          }
    
          leaf actual-vector-mode {
            type enumeration {
              enum "0" {
                value 0;
                description
                  "If Actual Vector Mode (ACTVECTORMODE) equals 0, the line
    is initialized in G.993.2 mode different from Annex X or
    Annex Y.";
              }
              enum "1" {
                value 1;
                description
                  "If Actual Vector Mode (ACTVECTORMODE) equals 1, the line
    is initialized in G.993.2 Annex X.";
              }
              enum "2" {
                value 2;
                description
                  "If Actual Vector Mode (ACTVECTORMODE) equals 2, the line
    is initialized in G.993.2 Annex Y.";
              }
              enum "3" {
                value 3;
                description
                  "If Actual Vector Mode (ACTVECTORMODE) equals 3, the line
    is initialized in G.993.5.";
              }
            }
            description
              "This parameter reports the vectoring initialization type
    of the line.";
            reference
              "ITU-T G.997.1 clause 7.5.1.43.1 (ACTVECTORMODE)";
    
          }
    
          leaf attndr-actual-method {
            type uint8 {
              range "0..2";
            }
            description
              "This parameter indicates the actual Attainable Net Data Rate
    (ATTNDR) Method used for calculation of the ATTNDR in the
    downstream and upstream direction.";
            reference
              "ITU-T G.997.1 clause 7.5.1.41.1 (ATTNDR_ACTMETHOD);
              ITU-T G.993.2 clause 11.4.1.1.7";
    
          }
        }  // grouping xtu-line-status
    
        grouping xtu-line-status-receiver-directional {
          description
            "Directional line status for receiver.";
          leaf actual-snr-mode {
            type enumeration {
              enum "1" {
                value 0;
                description
                  "If the Actual Signal-to-Noise Ratio Mode (ACTSNRMODE)
    equals 1, the virtual noise is inactive.";
              }
              enum "2" {
                value 1;
                description
                  "For downstream, if the Actual Signal-to-Noise Ratio Mode
    (ACTSNRMODE) equals 2, the virtual noise is active.
    For upstream, if ACTSNRMODE equals 2,
    the transmitter-referred virtual noise is active.";
              }
              enum "3" {
                value 2;
                description
                  "For upstream, if the Actual Signal-to-Noise Ratio Mode
    (ACTSNRMODE) equals 3, the receiver-referred virtual
    noise is active.";
              }
              enum "4" {
                value 3;
                description
                  "For downstream, If the Actual Signal-to-Noise Ratio Mode
    (ACTSNRMODE) equals 4, the virtual noise together with
    the virtual noise scaling factor is active.
    For upstream, if ACTSNRMODE equals 4, the receiver-
    referred virtual noise together with the virtual noise
    scaling factor is active.";
              }
            }
            description
              "This parameter indicates if the transmitter referred virtual
    noise is active on the line in the direction toward the
    receiver (ACTSNRMODEds for xDSL Transceiver Unit - Remote
    side (xTU-R) / ACTSNRMODEus for xDSL Transceiver Unit -
    Central office (xTU-C)).";
            reference
              "ITU-T G.997.1 clauses 7.5.1.15 (ACTSNRMODEds) and 7.5.1.18
              (ACTSNRMODEus)";
    
          }
    
          leaf attainable-net-data-rate {
            type bbf-yang:data-rate32-or-undetermined;
            description
              "This parameter indicates the maximum net data rate currently
    attainable from the transmitter (ATTNDRds for xDSL
    Transceiver Unit - Central office (xTU-C) / ATTNDRus for
    xDSL Transceiver Unit - Remote side (xTU-R)). The rate is
    coded in steps of 1000 bits per second.";
            reference
              "ITU-T G.997.1 clauses 7.5.1.19 (ATTNDRds) and 7.5.1.20
              (ATTNDRus)";
    
          }
    
          leaf trellis {
            type boolean;
            description
              "This parameter reports whether trellis coding is in use in
    the direction of transmission. It is represented as one bit
    coded as 0 (false) if the trellis is not used and as 1 (true)
    if the trellis is used.";
            reference
              "ITU-T G.997.1 claused 7.5.1.30 (TRELLISds) and 7.5.1.31
              (TRELLISus)";
    
          }
    
          leaf actual-ra-mode {
            type enumeration {
              enum "1" {
                value 0;
                description
                  "If the Actual Rate Adaptation Mode (ACT-RA-MODE) equals
    1, the link is operating in RA-MODE 1 (MANUAL).";
              }
              enum "2" {
                value 1;
                description
                  "If the Actual Rate Adaptation Mode (ACT-RA-MODE) equals
    2, the link is operating in RA-MODE 2 (AT_INIT).";
              }
              enum "3" {
                value 2;
                description
                  "If the Actual Rate Adaptation Mode (ACT-RA-MODE) equals
    3, the link is operating in RA-MODE 3 (DYNAMIC).";
              }
              enum "4" {
                value 3;
                description
                  "If the Actual Rate Adaptation Mode (ACT-RA-MODE) equals
    4, the link is operating in RA-MODE 4 (DYNAMIC with
    SOS).";
              }
            }
            description
              "This parameter indicates the actual active Rate Adatpation
    Mode (RA-MODE) in the direction of transmission.";
            reference
              "ITU-T G.997.1 claused 7.5.1.33.1 (ACT-RA-MODEds) and
              7.5.1.33.2 (ACT-RA-MODEus)";
    
          }
    
          leaf rxthrh {
            type uint8 {
              range "36..100";
            }
            units "dB";
            description
              "This parameter reports the received signal level threshold
    (RXTHRH) value used in the alternative electrical length
    estimation method (ELE-M1) in the direction of transmission.
    This parameter represents an offset from -100 dBm per Hz, and
    ranges from -64 dB to 0 dB in steps of 1 dB.";
            reference
              "ITU-T G.997.1 clauses 7.2.1.3.2.2 (ELE-M1), 7.5.1.23.5
              (RXThrHds) and 7.5.1.23.6 (RXThrHus)";
    
          }
    
          leaf actual-inp-roc {
            type uint8 {
              range "0..254 | 255";
            }
            units "0.1 T4k periods";
            description
              "This parameter reports the Actual Impulse Noise Protection
    (ACTINP) of the Robust Overhead Channel (ROC) in the
    direction of transmission. The format and usage is identical
    to the channel status parameter ACTINP.
    
    A special value (255) is used to indicate the ACTINP is
    greater than 25.4 T4k periods where a T4k period is about
    250 microseconds.";
            reference
              "ITU-T G.997.1 clauses 7.5.1.34.1 (ACTINP-ROC-ds), 7.5.1.34.2
              (ACTINP-ROC-us) and 7.5.2.4 (ACTINP)";
    
          }
    
          leaf snr-margin-roc {
            type union {
              type int16 {
                range "-640..630";
              }
              type enumeration {
                enum "out-of-range" {
                  value 0;
                  description
                    "Indicates that the value is out of range to
    be represented.";
                }
              }
            }
            units "0.1 dB";
            description
              "This parameter reports the actual signal-to-noise ratio
    margin of the Robust Overhead Channel (ROC) in the direction
    of transmission.
    The format is identical to the format of the line status
    parameter Signal-to-Noise Ratio Margin (SNRM). The SNRM-ROC
    ranges from -64 dB to +63 dB, with 0.1 dB steps. A special
    value (enum out-of-range) indicates the parameter is out of
    range to be represented.";
            reference
              "ITU-T G.997.1 clauses 7.5.1.35.1 (SNRM-ROC-ds), 7.5.1.35.2
              (SNRM-ROC-us) and 7.5.1.13 (SNRM)";
    
          }
    
          leaf stamp-olr {
            type time-stamp-or-undefined;
            description
              "This parameter indicates the date/time of the last
    successful On-Line Reconfiguration (OLR) execution in the
    direction of transmission that has modified the bits or
    gains. This date/time-stamp will include information on the
    Year, Month, Day, Hour, Minute and Second of the last OLR.";
            reference
              "ITU-T G.997.1 clauses 7.5.1.37.1 (STAMP-OLR-ds) and
              7.5.1.37.2 (STAMP-OLR-us)";
    
          }
    
          leaf actual-ripolicy {
            type enumeration {
              enum "0" {
                value 0;
                description
                  "Re-Initialization Policy (RIPOLICY) 0.";
              }
              enum "1" {
                value 1;
                description
                  "Re-Initialization Policy (RIPOLICY) 1.";
              }
            }
            description
              "This parameter indicates the actual Re-Initialization Policy
    (RIPOLICY) in use in the direction of transmission.";
            reference
              "ITU-T G.997.1 clauses 7.5.1.40.1 (ACTRIPOLICYds) and
              7.5.1.40.2 (ACTRIPOLICYus)";
    
          }
    
          leaf rtx-used {
            type enumeration {
              enum "1" {
                value 0;
                description
                  "Retransmission (RTX) in use.";
              }
              enum "2" {
                value 1;
                description
                  "Retransmission (RTX) not in use, due to RTX_MODE =
    FORBIDDEN.";
              }
              enum "3" {
                value 2;
                description
                  "Retransmission (RTX) not in use, due to not supported by
    the XTU-C.";
              }
              enum "4" {
                value 3;
                description
                  "Retransmission (RTX) not in use, due to not supported by
    the XTU-R.";
              }
              enum "5" {
                value 4;
                description
                  "Retransmission (RTX) not in use, due to not supported by
    the XTU-C and XTU-R.";
              }
            }
            description
              "This parameter specifies whether ITU-T G.998.4 Retransmission
    (RTX) is used (i.e., active in showtime) in a given transmit
    direction. In ITU-T G.992.3 and ITU-T G.992.5 only the
    downstream parameter RTX_USED is relevant and the value in
    the upstream direction is ignored. In ITU-T G.993.2, both
    parameters are relevant.";
            reference
              "ITU-T G.997.1 clause 7.5.1.38 (RTX_USED)";
    
          }
    
          leaf attndr-actual-inp {
            type uint16 {
              range "0..2046 | 2047";
            }
            units "0.1 symbols";
            description
              "If retransmission is not used in the direction of
    transmission, this parameter indicates the actual impulse
    noise protection used in the improved calculation of the
    Attainable Net Data Rate (ATTNDR) in the direction of
    transmission.
    If retransmission is used in the direction of transmission,
    this parameter indicates the actual impulse noise protection
    against Single High Impulse Noise Event (SHINE) used in the
    improved calculation of the ATTNDR in the direction of
    transmission.
    The value is coded in fractions of Discrete Multi-Tone (DMT)
    symbols with a granularity of 0.1 symbols. The range is from
    0 to 204.6. A special value of 2047 indicates an Actual
    Impulse Noise Protection (ACTINP) of 204.7 or higher.";
            reference
              "ITU-T G.997.1 clauses 7.5.1.41.2 (ATTNDR_ACTINPds) and
              7.5.1.41.3 (ATTNDR_ACTINPus)";
    
          }
    
          leaf attndr-actual-inp-rein {
            type uint8 {
              range "0..254 | 255";
            }
            units "0.1 symbols";
            description
              "If retransmission is used in the direction of transmission,
    this parameter reports the actual impulse noise protection
    (INP) against Repetitive Electrical Impulse Noise (REIN) used
    in the improved calculation of the Attainable Net Data Rate
    (ATTNDR) in the direction of transmission.
    The value is coded in fractions of Discrete Multi-Tone (DMT)
    symbols with a granularity of 0.1 symbols. The value is coded
    in fractions of DMT symbols with a granularity of 0.1
    symbols. The range is from 0 to 25.4. A special value of 255
    indicates an ATTNDR_ACTINP_REIN of 25.5 or higher.";
            reference
              "ITU-T G.997.1 clauses 7.5.1.41.4 (ATTNDR_ACTINP_REINds) and
              7.5.1.41.5 (ATTNDR_ACTINP_REINus)";
    
          }
    
          leaf attndr-actual-delay {
            type uint8 {
              range "0..254 | 255";
            }
            units "0.1 milliseconds";
            description
              "This parameter indicates the actual delay used in the
    improved calculation of the Attainable Net Data Rate (ATTNDR)
    in the direction of transmission. The value is coded in with
    a granularity of 0.1 milliseconds. The range is from 0 to
    25.4 milliseconds. A special value of 255 indicates an actual
    delay of 25.5 milliseconds or higher.";
            reference
              "ITU-T G.997.1 clauses 7.5.1.41.6 (ATTNDR_ACTDELAYds) and
              7.5.1.41.7 (ATTNDR_ACTDELAYus)";
    
          }
    
          leaf snr-margin {
            type union {
              type int16 {
                range "-640..630";
              }
              type enumeration {
                enum "out-of-range" {
                  value 0;
                  description
                    "Indicates that the value is out of range to
    be represented.";
                }
              }
            }
            units "0.1 dB";
            description
              "The Signal-to-Noise Ratio (SNR) margin is the maximum
    increase, in dB, of the noise power received at the
    receiver, such that the Bit Error Rate (BER) requirements are
    met for all bearer channels (SNRMds for xDSL Transceiver
    Unit - Remote side (xTU-R) / SNRMus for xDSL Transceiver
    Unit - Central office (xTU-C)). The SNR margin ranges from
    -64 dB to +63 dB, with 0.1 dB steps. A special value (enum
    out-of-range) indicates the parameter is out of range to be
    represented.";
            reference
              "ITU-T G.997.1 clauses 7.5.1.13 (SNRMds) and 7.5.1.16
              (SNRMus)";
    
          }
        }  // grouping xtu-line-status-receiver-directional
    
        grouping xtu-line-status-transmitter-directional {
          description
            "Directional line status for transmitter.";
          leaf last-transmitted-state {
            type uint8;
            description
              "This parameter represents the last successful transmitted
    initialization state known by the transmitter in the last
    full initialization performed on the line (Downstream for
    xDSL Transceiver Unit - Central office (xTU-C) / Upstream for
    xDSL Transceiver Unit - Remote side (xTU-R)). Initialization
    states are defined in the individual xDSL Recommendations and
    are counted from 0 (if ITU-T G.994.1 is used) or 1 (if
    ITU-T G.994.1 is not used) up to showtime. This parameter
    will be interpreted along with the xDSL transmission system.
    This parameter is available only when, after a failed full
    initialization, the loop diagnostic procedures are activated
    on the line. Loop diagnostic procedures can be activated by
    the operator of the system (through the line state forced
    line configuration parameter) or autonomously by the xTU-C or
    xTU-R.";
            reference
              "ITU-T G.997.1 clauses 7.5.1.7 and 7.5.1.8";
    
          }
    
          leaf actual-psd {
            type union {
              type int16 {
                range "-900..0";
              }
              type enumeration {
                enum "out-of-range" {
                  value 0;
                  description
                    "Indicates that the parameter is out of range to be
    represented.";
                }
              }
            }
            units "0.1 dB";
            description
              "This parameter is the average transmit Power Spectral Density
    (PSD) over the used subcarriers (subcarriers to which user
    data are allocated) delivered by the xDSL Transceiver Unit -
    Central office (xTU-C) at the U-C reference point (ACTPSDds),
    or delivered by the xDSL Transceiver Unit - Unit - Remote
    side (xTU-R) at the U-R reference point (ACTPSDus), at the
    instant of measurement. The PSD level ranges from -90 dBm per
    Hz to 0 dBm per Hz, with 0.1 dB steps. A special value (enum
    out-of-range) indicates the parameter is out of range to be
    represented.";
            reference
              "ITU-T G.997.1 clauses 7.5.1.21 (ACTPSDds) and 7.5.1.22
              (ACTPSDus);
              ITU-T G.992.3 clause 8.5.1";
    
          }
    
          leaf actual-aggregate-transmit-power {
            type union {
              type int16 {
                range "-310..310";
              }
              type enumeration {
                enum "out-of-range" {
                  value 0;
                  description
                    "Indicates that the parameter is out of range to be
    represented.";
                }
              }
            }
            units "0.1 dB";
            description
              "This parameter is the total amount of transmit power
    delivered by the xDSL Transceiver Unit - Central office
    (xTU-C) at the U-C reference point (ACTPSDds), or by the xDSL
    Transceiver Unit - Remote side (xTU-R) at the U-R reference
    point (ACTPSDus), at the instant of measurement. The total
    output power level ranges from -31 dBm to +31 dBm, with
    0.1 dB steps. A special value (enum out-of-range) indicates
    the parameter is out of range to be represented.";
            reference
              "ITU-T G.997.1 clauses 7.5.1.24 (ACTATPds) and 7.5.1.25
              (ACTATPus);
              ITU-T G.992.3 clause 8.12.3.8;
              ITU-T G.993.2 clause 10.3.4.2.1";
    
          }
    
          leaf aggachndr {
            type bbf-yang:data-rate32-or-undetermined;
            description
              "This parameter reports the aggregate achievable net data
    rate of the (Near-end) VDSL Transceiver Unit - central Office
    (VTU-O) or (Far-end) VDSL Transceiver Unit - Remote side
    (VTU-R) as specified in G.998.4. The value is coded in step
    of 1000 bits per second. A special value indicates that the
    aggregate achievable net data rate value is reported as being
    undetermined.";
            reference
              "ITU-T G.997.1 clauses 7.5.1.42.1 (AGGACHNDR_NE) and
              7.5.1.42.2 (AGGACHNDR_FE)";
    
          }
        }  // grouping xtu-line-status-transmitter-directional
    
        grouping xtu-c-status {
          description
            "xDSL Transceiver Unit - Central office (xTU-C) line status.
    This represents transmission in the upstream direction.";
          leaf stamp-test-ne {
            type time-stamp-or-undefined;
            description
              "This parameter is defined in the Access Node Management
    Information Base (AN MIB) and indicates the date/time when
    the near-end test parameters that can change during showtime
    were last updated. This date/time-stamp will include
    information on the Year, Month, Day, Hour, Minute and Second
    of the last update.";
            reference
              "ITU-T G.997.1 clause 7.5.1.36.3 (STAMP-TEST-NE)";
    
          }
    
          container failures {
            description
              "xDSL Transceiver Unit - Central office (xTU-C) line
    failures.";
            uses xtu-c-line-failure-parameters;
          }  // container failures
    
          container downstream {
            description
              "Downstream xDSL Transceiver Unit (xTU) status.";
            uses xtu-line-status-transmitter-directional;
          }  // container downstream
    
          container upstream {
            description
              "Upstream xDSL Transceiver Unit (xTU) status.";
            uses xtu-line-status-receiver-directional;
          }  // container upstream
        }  // grouping xtu-c-status
    
        grouping xtu-r-status {
          description
            "xDSL Transceiver Unit - Remote side (xTU-R) line status. This
    represents transmission in the downstream direction.";
          leaf stamp-test-fe {
            type time-stamp-or-undefined;
            description
              "This parameter is defined in the Access Node Management
    Information Base (AN MIB) and indicates the date/time when
    the far-end test parameters that can change during showtime
    were last updated. This date/time-stamp will include
    information on the Year, Month, Day, Hour, Minute and Second
    of the last update.";
            reference
              "ITU-T G.997.1 clause 7.5.1.36.4 (STAMP-TEST-FE)";
    
          }
    
          container failures {
            description
              "xDSL Transceiver Unit - Remote side (xTU-R) line failures.";
            uses xtu-r-line-failure-parameters;
          }  // container failures
    
          container downstream {
            description
              "Downstream xDSL Transceiver Unit (xTU) status.";
            uses xtu-line-status-receiver-directional;
          }  // container downstream
    
          container upstream {
            description
              "Upstream xDSL Transceiver Unit (xTU) status.";
            uses xtu-line-status-transmitter-directional;
          }  // container upstream
        }  // grouping xtu-r-status
    
        grouping xtu-band-status {
          description
            "The xDSL Transceiver Unit (xTU) Band Status parameters
    represent current band status and measurements at a particular
    xTU.";
          list line-attenuation {
            key "band";
            description
              "Line attenuation (LATN) per band.";
            leaf band {
              type uint8 {
                range "0..4";
              }
              description
                "Identifies the frequency band. For example, 0 denotes
    US0.";
            }
    
            leaf attenuation {
              type union {
                type uint16 {
                  range "0..1270";
                }
                type enumeration {
                  enum "out-of-range" {
                    value 0;
                    description
                      "Indicates that the line attenuation per band is
    out of range to be represented.";
                  }
                }
              }
              units "0.1 dB";
              description
                "This parameter is defined per usable band. It is squared
    magnitude of the channel characteristics function H(f)
    averaged over this band, and measured during loop
    diagnostic mode and initialization (LATNds for xDSL
    Transceiver Unit - Remote side (xTU-R) / LATNus for xDSL
    Transceiver Unit - Central office (xTU-C)). The exact
    definition is included in the relevant xDSL ITU-T
    Recommendation. The line attenuation ranges per band from
    0 to +127 dB, with 0.1 dB steps. A special value (enum
    out-of-range) indicates the line attenuation per band is
    out of range to be represented.
    For ADSL systems, a single parameter is defined for
    band = 0, as only a single band is usable.";
              reference
                "ITU-T G.997.1 clauses 7.5.1.9 (LATNds) and 7.5.1.10
                (LATNus)";
    
            }
          }  // list line-attenuation
    
          list signal-attenuation {
            key "band";
            description
              "Signal attenuation (SATN) per band.";
            leaf band {
              type uint8 {
                range "0..4";
              }
              description
                "Identifies the frequency band. For example, 0 denotes
    US0.";
            }
    
            leaf attenuation {
              type union {
                type uint16 {
                  range "0..1270";
                }
                type enumeration {
                  enum "out-of-range" {
                    value 0;
                    description
                      "Indicates that the value is out of range to be
    represented.";
                  }
                }
              }
              units "0.1 dB";
              description
                "This parameter is defined per usable band. It is the
    measured difference between the total power transmitted
    in this band and the total power received in this band
    during loop diagnostic mode, initialization and showtime
    (SATNds for xDSL Transceiver Unit - Remote side (xTU-R) /
    SATNus for xDSL Transceiver Unit - Central office (xTU-C)).
    The exact definition is included in the relevant DSL ITU-T
    Recommendation. The signal attenuation per band ranges
    from 0 to +127 dB, with 0.1 dB steps. A special value
    (enum out-of-range) indicates the signal attenuation per
    band is out of range to be represented.
    For ADSL systems, a single parameter is defined for
    band = 0, as only a single band is usable.";
              reference
                "ITU-T G.997.1 clauses 7.5.1.11 (SATNds) and 7.5.1.12
                (SATNus)";
    
            }
          }  // list signal-attenuation
    
          list snr-margin {
            key "band";
            description
              "Signal-to-Noise Ratio (SNR) margin per band.";
            leaf band {
              type uint8 {
                range "0..4";
              }
              description
                "Identifies the frequency band. For example, 0 denotes
    US0.";
            }
    
            leaf margin {
              type union {
                type int16 {
                  range "-640..630";
                }
                type enumeration {
                  enum "out-of-range" {
                    value 0;
                    description
                      "Indicates that the value is out of range to be
    represented.";
                  }
                }
              }
              units "0.1 dB";
              description
                "This parameter is defined per usable band. The
    signal-to-noise ratio margin per band is the maximum
    increase in dB of the received noise power, such that
    the BER requirements are met for all bearer channels in
    the direction of transmission (SNRMpbds for xDSL
    Transceiver Unit - Remote side (xTU-R) / SNRMpbus for xDSL
    Transceiver Unit - Central office (xTU-C)). The SNR margin
    per band ranges from -64 dB to +63 dB, with 0.1 dB steps.
    A special value (enum out-of-range) indicates the parameter
    is out of range to be represented.
    For ADSL systems, a single parameter is defined for
    band = 0, as a single band is usable.";
              reference
                "ITU-T G.997.1 clauses 7.5.1.14 (SNRMpbds) and 7.5.1.17
                (SNRMpbus)";
    
            }
          }  // list snr-margin
    
          list upbo-electrical-length-pbn {
            key "band";
            description
              "Upstream Power Back-off (UPBO) electrical length per band.";
            leaf band {
              type uint8 {
                range "0..4";
              }
              description
                "Identifies the frequency band. For example, 0 denotes
    US0.";
            }
    
            leaf upbo-electrical-length {
              type union {
                type uint16 {
                  range "0..1280";
                }
                type enumeration {
                  enum "out-of-range" {
                    value 0;
                    description
                      "Indicates that the estimate is greater than
    128 dB.";
                  }
                }
              }
              units "0.1 dB";
              description
                "This parameter is a vector of Upstream Power Back-off
    (UPBO) electrical length per-band estimates for each
    supported upstream band, expressed in dB at 1 MHz (kl0)
    calculated by the VTU (UPBOKLE-pb for the VTU-O,
    UPBOKLE-r-pb for the VTU-R), based on separate measurements
    in the supported upstream bands excluding US0. The value
    ranges from 0 to 128 dB in steps of 0.1 dB, with special
    value (enum out-of-range) which indicates that the estimate
    is greater than 128 dB. This parameter is needed for the
    alternative electrical length estimation method (ELE-M1).";
              reference
                "ITU-T G.997.1 clauses 7.5.1.23.3 (UPBOKLE-pb) and
                7.5.1.23.4 (UPBOKLE-R-pb)";
    
            }
          }  // list upbo-electrical-length-pbn
        }  // grouping xtu-band-status
    
        grouping xtu-channel-status {
          description
            "The xDSL Transceiver Unit (xTU) Channel Status parameters
    represent current channel status/measurements at a particular
    xTU.";
          leaf actual-data-rate {
            type bbf-yang:data-rate32-or-undetermined;
            description
              "Actual data rate or expected throughput (ETR).";
            reference
              "ITU-T G.997.1 clause 7.5.2.1";
    
          }
    
          leaf previous-data-rate {
            type bbf-yang:data-rate32-or-undetermined;
            description
              "Previous data rate or expected throughput (ETR). This
    parameter reports the previous net data rate or ETR the
    bearer channel was operating at just before the latest net
    data rate or ETR change event occurred, excluding all
    transitions between L0 state and L1 or L2 states.";
            reference
              "ITU-T G.997.1 clause 7.5.2.2";
    
          }
    
          leaf actual-delay {
            type uint16;
            units "milliseconds";
            description
              "Actual delay due to interleaving or retransmission. The
    actual delay is coded in milliseconds (rounded to the nearest
    milliseconds).";
            reference
              "ITU-T G.997.1 clause 7.5.2.3";
    
          }
    
          leaf actual-inp {
            type uint16 {
              range "0..2047";
            }
            units "0.1 symbols";
            description
              "Actual Impulse Noise Protection (ACTINP). The value is coded
    in fractions of DMT symbols with a granularity of 0.1
    symbols.
    If retransmission is not used in a given transmit direction,
    this parameter reports the interleaved error correction
    INP. For ITU-T G993.2, the special value 255 indicates an
    ACTINP of 25.5 or higher.
    If retransmission is used in a given transmit direction,
    this parameter reports the actual impulse noise protection
    (INP) against SHINE (under specific conditions detailed in
    ITU T G.998.4) on the bearer channel in the L0 state.
    The special value 2047 indicates an ACTINP of 204.7
    or higher.";
            reference
              "ITU-T G.997.1 clause 7.5.2.4 (ACTINP)";
    
          }
    
          leaf inpreport {
            type enumeration {
              enum "0" {
                value 0;
                description
                  "If set to 0, the Actual Impulse Noise Protection (ACTINP)
    is computed according to the INP_no_erasure formula.";
              }
              enum "1" {
                value 1;
                description
                  "If set to 1, the Actual Impulse Noise Protection (ACTINP)
    is the value estimated by the xDSL Transceiver Unit (xTU)
    receiver.";
              }
            }
            description
              "This parameter reports the method used to compute the
    Actual Impulse Noise Protection (ACTINP). If set to 0, the
    ACTINP is computed according to the INP_no_erasure formula.
    If set to 1, the ACTINP is the value estimated by the xDSL
    Transceiver Unit (xTU) receiver.";
            reference
              "ITU-T G.997.1 clause 7.5.2.5 (INPREPORT);
              ITU-T G.993.2 clause 6";
    
          }
    
          leaf nfec {
            type uint8 {
              range "0..255";
            }
            units "bytes";
            description
              "This parameter reports the actual Reed-Solomon codeword
    size used in the latency path in which the bearer channel
    is transported. The value is coded in bytes. It ranges from 0
    to 255.";
            reference
              "ITU-T G.997.1 clause 7.5.2.6.1 (NFEC)";
    
          }
    
          leaf rfec {
            type uint8 {
              range "0..16";
            }
            units "bytes";
            description
              "This parameter reports the actual number of Reed-Solomon
    redundancy bytes per codeword used in the latency path
    in which the bearer channel is transported. The value is
    coded in bytes. It ranges from 0 to 16. The value 0
    indicates no Reed-Solomon coding.";
            reference
              "ITU-T G.997.1 clause 7.5.2.6.2 (RFEC)";
    
          }
    
          leaf actual-number-of-bits-per-symbol {
            type uint32 {
              range "0..131071";
            }
            units "bits";
            description
              "This parameter reports the actual number of bits per
    symbol assigned to the latency path in which the bearer
    channel is transported. This value does not include
    trellis overhead. The value is coded in bits. It ranges
    from 0 to 131071.";
            reference
              "ITU-T G.997.1 clause 7.5.2.6.3 (LSYMB)";
    
          }
    
          leaf actual-interleaving-depth {
            type uint16 {
              range "1..4096";
            }
            description
              "This parameter reports the actual depth of the interleaver
    used in the latency path in which the bearer channel is
    transported. The value ranges from 1 to 4096 in steps of 1.
    The value 1 indicates no interleaving.";
            reference
              "ITU-T G.997.1 clause 7.5.2.6.4 (INTLVDEPTH)";
    
          }
    
          leaf actual-interleaving-block-length {
            type uint8 {
              range "4..255";
            }
            description
              "This parameter reports the actual block length of the
    interleaver used in the latency path in which the bearer
    channel is transported. The value ranges from 4 to 255
    in steps of 1.";
            reference
              "ITU-T G.997.1 clause 7.5.2.6.5 (INTLVBLOCK)";
    
          }
    
          leaf actual-latency-path {
            type uint8 {
              range "0..3";
            }
            description
              "This parameter reports the index of the actual latency path
    in which the bearer is transported. The valid values are 0,
    1, 2, 3.";
            reference
              "ITU-T G.997.1 clause 7.5.2.7 (LPATH)";
    
          }
    
          leaf fec-codewords-per-dtu {
            type uint8 {
              range "1..64";
            }
            description
              "This parameter reports the number of Reed-Solomon Forward
    Error Correction (FEC) codewords per Data Transfer Unit
    (DTU), used in the latency path in which the bearer channel
    is transported, also known as the Q parameter. This parameter
    only applies to systems supporting ITU-T G.998.4.";
            reference
              "ITU-T G.997.1 clause 7.5.2.6.6 (RSPERDTU);
              ITU-T G.998.4 clause 9.4.3.";
    
          }
        }  // grouping xtu-channel-status
    
        grouping actual-ndr-inp-rein {
          description
            "This grouping contains Actual Net Data Rate (ACTNDR) and
    Actual Net Data Rate against Repetitive Electrical Impulse
    Noise (ACTINP-REIN).";
          leaf actual-ndr {
            type bbf-yang:data-rate32-or-undetermined;
            description
              "This parameter is independent of whether retransmission is
    used or not in a given transmit direction.
    - In L0 state, this parameter reports the net data rate (as
      specified in ITU-T G.992.3, ITU-T G.992.5 or ITU-T
      G.993.2) at which the bearer channel is operating.
    - In L2 state, the parameter contains the net data rate (as
      specified in ITU-T G.992.3, ITU-T G.992.5 or ITU-T
      G.993.2) in the previous L0 state.
    The data rate is coded in steps of 1000 bits per second.";
            reference
              "ITU-T G.997.1 clause 7.5.2.8 (ACTNDR)";
    
          }
    
          leaf actual-inp-against-rein {
            type uint8 {
              range "0..255";
            }
            units "0.1 symbols";
            description
              "If retransmission is used in a given transmit direction, this
    parameter reports the actual Impulse Noise Protection (INP)
    against Repetitive Electrical Impulse Noise (ACTINP-REIN)
    (under specific conditions detailed in ITU T G.998.4) on
    the bearer channel in the L0 state. In the L2 state, the
    parameter contains the INP in the previous L0 state. The
    value is coded in fractions of DMT symbols with a granularity
    of 0.1 symbols. The range is from 0 to 25.4. A special value
    of 255 indicates an ACTINP_REIN of 25.5 or higher.";
            reference
              "ITU-T G.997.1 7.5.2.9 (ACTINP_REIN)";
    
          }
        }  // grouping actual-ndr-inp-rein
    
        grouping xtu-c-line-performance {
          description
            "Line performance data for a given xDSL Transceiver Unit -
    Central office (xTU-C).";
          leaf measured-time {
            type uint32;
            units "seconds";
            description
              "Reports the amount of time, measured in seconds, that
    statistics for this interval have been counted.";
            reference
              "ITU-T G.997.2 clause 7.7.1 and 7.8.1";
    
          }
    
          leaf invalid-data-flag {
            type boolean;
            description
              "Reports the validity of the corresponding performance
    monitoring data. true = invalid.";
            reference
              "ITU-T G.997.2 clause 7.7.2 and 7.8.2";
    
          }
    
          leaf forward-error-correction-seconds-l {
            type bbf-yang:performance-counter32;
            units "seconds";
            description
              "This parameter is a count of 1 second intervals with one
    or more Forward Error Correction (FEC) anomalies summed over
    all received bearer channels.";
            reference
              "ITU-T G.997.1 clause 7.2.1.1.1 (FECS-L)";
    
          }
    
          leaf errored-seconds-l {
            type bbf-yang:performance-counter32;
            units "seconds";
            description
              "This parameter is a count of 1 second intervals with one
    or more Cyclic Redundancy Check (CRC-8) anomalies summed over
    all received bearer channels, or one or more Loss of Signal
    (LOS) defects, or one or more Severely Errored Frame (SEF)
    defects, or one or more Loss of Power (LPR) defects.";
            reference
              "ITU-T G.997.1 clause 7.2.1.1.2 (ES-L)";
    
          }
    
          leaf severely-errored-seconds-l {
            type bbf-yang:performance-counter32;
            units "seconds";
            description
              "This parameter is a count of severely errored seconds (SES).
    An SES is declared if, during a 1 second interval, there are
    18 or more Cyclic Redundancy Check (CRC-8) anomalies in one
    or more of the received bearer channels, or one or more Loss
    of Signal (LOS) defects, or one or more Severely Errored
    Frame (SEF) defects, or one or more Loss of Power (LPR)
    defects. If ITU-T G.998.4 is supported and retransmission
    is enabled in the near-end received direction, a SES is also
    declared if, during a 1 second interval, there is one or more
    Severe Loss of Error-Free Throughput (SEFTR) defect in the
    near-end received direction.";
            reference
              "ITU-T G.997.1 clause 7.2.1.1.3 (SES-L)";
    
          }
    
          leaf loss-of-signal-seconds-l {
            type bbf-yang:performance-counter32;
            units "seconds";
            description
              "This parameter is a count of 1 second intervals containing
    one or more Loss of Signal (LOS) defects.";
            reference
              "ITU-T G.997.1 clause 7.2.1.1.4 (LOSS-L)";
    
          }
    
          leaf unavailable-seconds-l {
            type bbf-yang:performance-counter32;
            units "seconds";
            description
              "This parameter is a count of 1 second intervals for which the
    xDSL line is unavailable. Some parameter counts are inhibited
    during unavailability.";
            reference
              "ITU-T G.997.1 clauses 7.2.1.1.5 (UAS-L) and 7.2.7.13";
    
          }
    
          list inminpeq-l {
            key "inminpeq-index";
            description
              "This parameter is a count of the near-end INMAINPEQi
    anomalies occurring on the line during the accumulation
    period. This parameter is subject to inhibiting.
    
    A special value (enum inactive) indicates that this counter
    is not active on the line. This occurs when the feature
    'impulse-noise-monitoring' is not supported.";
            reference
              "ITU-T G.997.1 clauses 7.2.1.4.1 (INMINPEQ1..17-L) and
              7.2.7.13";
    
            leaf inminpeq-index {
              type uint8 {
                range "1..17";
              }
              description
                "Identifies the INMAINPEQ histogram bin.";
            }
    
            leaf inminpeq-l {
              type bbf-yang:performance-counter32-or-inactive;
              description
                "Count of the near-end INMAINPEQ anomalies.";
            }
          }  // list inminpeq-l
    
          leaf inmme-l {
            type bbf-yang:performance-counter32-or-inactive;
            description
              "This parameter is a count of the near-end INMAME anomalies
    occurring on the line during the accumulation period. This
    parameter is subject to inhibiting.
    
    A special value (enum inactive) indicates that this counter
    is not active on the line. This occurs when the feature
    'impulse-noise-monitoring' is not supported.";
            reference
              "ITU-T G.997.1 clause 7.2.1.4.2 (INMME-L) and 7.2.7.13";
    
          }
    
          list inmiat-l {
            key "inminiat-index";
            description
              "This parameter is a count of the near-end INMAIATi anomalies
    occurring on the line during the accumulation period. This
    parameter is subject to inhibiting.
    
    A special value (enum inactive) indicates that this counter
    is not active on the line. This occurs when the feature
    'impulse-noise-monitoring' is not supported.";
            reference
              "ITU-T G.997.1 clause 7.2.1.4.3 (INMIAT0..7-L) and 7.2.7.13";
    
            leaf inminiat-index {
              type uint8 {
                range "0..7";
              }
              description
                "Identifies the INMAIAT histogram bin.";
            }
    
            leaf inmiat-l {
              type bbf-yang:performance-counter32-or-inactive;
              description
                "Count of the near-end INMAIAT anomalies.";
            }
          }  // list inmiat-l
    
          leaf sos-success-ne {
            type bbf-yang:performance-counter32-or-inactive;
            description
              "This parameter is a count of the total number of successful
    Save our Showtime (SOS) procedures initiated by the near-end
    xDSL Transceiver Unit (xTU) on the line during the
    accumulation period.
    
    A special value (enum inactive) indicates that this counter
    is not active on the line. This occurs when the feature 'sos'
    is not supported.";
            reference
              "ITU-T G.997.1 clauses 7.2.1.6.1 (SOS-SUCCESS-NE) and 7.2.7;
              ITU-T G.993.2 clause 12.1.4";
    
          }
    
          leaf leftr-defects-seconds-counter-ne {
            type bbf-yang:performance-counter32;
            units "seconds";
            description
              "Near-end line Low Error-Free Throughput (LEFTR) defects
    seconds counter. If retransmission is used in a given
    transmit direction, this parameter is a count of the seconds
    with a near-end 'leftr' defect present. This near-end counter
    is only defined for upstream.";
            reference
              "ITU-T G.997.1 clause 7.2.1.1.6;
              ITU-T G.998.4 clause 11.4.1";
    
          }
    
          leaf error-free-bits-counter-ne {
            type bbf-yang:performance-counter32;
            description
              "Near-end line error-free bits counter. If retransmission
    is used in a given transmit direction, this parameter is
    a count of the number of error-free bits passed over the
    Beta1 reference point, divided by 65536 = 2^16.
    This near-end counter is only defined for upstream.";
            reference
              "ITU-T G.997.1 clause 7.2.1.1.7;
              ITU-T G.998.4 clause 11.4.2";
    
          }
    
          leaf minimum-error-free-throughput-ne {
            type bbf-yang:performance-counter32;
            units "bits per second";
            description
              "Near-end Minimum Error-Free Throughput (MINEFTR). If
    retransmission is used in a given transmit direction, this
    parameter MINEFTR reports the minimum of the EFTR observed
    over the 15 minute or 24 hour accumulation period. The value
    is reported in bits per second.
    This near-end value is only defined for upstream.";
            reference
              "ITU-T G.997.1 clause 7.2.1.1.8 (MINEFTR);
              ITU-T G.998.4 clause 11.4.3";
    
          }
    
          leaf full-initializations {
            type bbf-yang:performance-counter32;
            description
              "This parameter is a count of the total number of full
    initializations attempted on the line (successful and failed)
    during the accumulation period.";
            reference
              "ITU-T G.997.1 clauses 7.2.1.3.1 and 7.2.7";
    
          }
    
          leaf failed-full-initializations {
            type bbf-yang:performance-counter32;
            description
              "This performance parameter is a count of the total number of
    failed full initializations during the accumulation period. A
    failed full initialization is when showtime is not reached at
    the end of the full initialization procedure.";
            reference
              "ITU-T G.997.1 clauses 7.2.1.3.2 and 7.2.7";
    
          }
    
          leaf short-initializations {
            type bbf-yang:performance-counter32-or-inactive;
            description
              "This parameter is a count of the total number of fast
    retrains or short initializations attempted on the line
    (successful and failed) during the accumulation period.
    
    A special value (enum inactive) indicates that this counter
    is not active on the line as this is only applicable when
    running in an ADSL mode of operation.";
            reference
              "ITU-T G.997.1 clauses 7.2.1.3.3 and 7.2.7";
    
          }
    
          leaf failed-short-initializations {
            type bbf-yang:performance-counter32-or-inactive;
            description
              "This performance parameter is a count of the total number of
    failed fast retrains or short initializations during the
    accumulation period. A failed fast retrain or short
    initialization is when showtime is not reached at the end of
    the fast retrain or short initialization procedure, e.g.,
    when: A Cyclic Redundancy Check (CRC) error is detected, a
    time-out occurs, or a fast retrain profile is unknown.
    
    A special value (enum inactive) indicates that this counter
    is not active on the line as this is only applicable when
    running in an ADSL mode of operation.";
            reference
              "ITU-T G.997.1 clauses 7.2.1.3.4 and 7.2.7";
    
          }
    
          leaf loss-of-power-intrpt {
            type bbf-yang:performance-counter32-or-inactive;
            description
              "This parameter is a count of the number of lpr_intrpt
    anomalies occurring during the accumulation period. A special
    value (enum inactive) indicates that this counter is not
    active on the line. Threshold reports for this counter are
    not specified.";
            reference
              "ITU-T G.997.1 clause 7.2.1.8.1 (LPR_INTRPT);
              ITU-T G.993.2 clause 11.3.1.1";
    
          }
    
          leaf host-reinit-interruptions {
            type bbf-yang:performance-counter32-or-inactive;
            description
              "This parameter is a count of the number of hri_intrpt
    anomalies occurring during the accumulation period. A special
    value (enum inactive) indicates that this counter is not
    active on the line. Threshold reports for this counter are
    not specified.";
            reference
              "ITU-T G.997.1 clause 7.2.1.8.2 (HRI_INTRPT);
              ITU-T G.993.2 clause 11.3.1.1";
    
          }
    
          leaf spontaneous-intrpt {
            type bbf-yang:performance-counter32-or-inactive;
            description
              "This parameter is a count of the number of spont_intrpt
    anomalies occurring during the accumulation period. A special
    value (enum inactive) indicates that this counter is not
    active on the line. Threshold reports are specified for the
    24-hour interval counter only.";
            reference
              "ITU-T G.997.1 clause 7.2.1.8.3 (SPONT_INTRPT);
              ITU-T G.993.2 clause 11.3.1.1";
    
          }
    
          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.1 clause 7.1.1.1.1";
    
          }
    
          leaf loss-of-frame {
            type bbf-yang:performance-counter32;
            description
              "Reports a count of the Loss of Frame (LOF) failures.";
            reference
              "ITU-T G.997.1 clause 7.1.1.1.2";
    
          }
    
          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.1 clause 7.1.1.1.3";
    
          }
    
          leaf maximum-error-free-throughput-ne {
            if-feature bbf-vdsl:maxeftr;
            type bbf-yang:performance-counter32;
            units "bits per second";
            description
              "Near-end Maximum Error-Free Throughput (MAXEFTR). If
    retransmission is used in a given transmit direction, this
    parameter MAXEFTR reports the maximum of the EFTR observed
    over the 15 minute or 24 hour accumulation period. The value
    is reported in bits per second. This near-end value is only
    defined for upstream.";
            reference
              "ITU-T G.997.1 clause 7.2.1.1.9 (MAXEFTR);
              ITU-T G.998.4 clause 11.4.4";
    
          }
    
          leaf sra-success-ne {
            if-feature bbf-vdsl:successful-sra;
            type bbf-yang:performance-counter32;
            description
              "This parameter is a count of the total number of successful
    Seamless Rate Adaptation (SRA) procedures initiated by the
    near-end xDSL Transceiver Unit (xTU) on the line during the
    accumulation period.";
            reference
              "ITU-T G.997.1 clause 7.2.9 (SRA-SUCCESS-NE);
              ITU-T G.993.2 clause 11.3.1.6";
    
          }
        }  // grouping xtu-c-line-performance
    
        grouping xtu-r-line-performance {
          description
            "Line performance data for a given xDSL Transceiver Unit -
    Remote side (xTU-R).";
          leaf measured-time {
            type uint32;
            units "seconds";
            description
              "Reports the amount of time, measured in seconds, that
    statistics for this interval have been counted.";
            reference
              "ITU-T G.997.2 clause 7.7.1 and 7.8.1";
    
          }
    
          leaf invalid-data-flag {
            type boolean;
            description
              "Reports the validity of the corresponding performance
    monitoring data. true = invalid.";
            reference
              "ITU-T G.997.2 clause 7.7.2 and 7.8.2";
    
          }
    
          leaf forward-error-correction-seconds-lfe {
            type bbf-yang:performance-counter32;
            units "seconds";
            description
              "This parameter is a count of 1 second intervals with one or
    more Far-End Forward Error Correction  (FFEC) anomalies
    summed over all transmitted bearer channels.";
            reference
              "ITU-T G.997.1 clause 7.2.1.2.1 (FECS-LFE)";
    
          }
    
          leaf errored-seconds-lfe {
            type bbf-yang:performance-counter32;
            units "seconds";
            description
              "This parameter is a count of 1 second intervals with one or
    more Far-End Block Error (FEBE) anomalies summed over all
    transmitted bearer channels, or one or more Far-End Loss of
    of Signal (LOS-FE) defects, or one or more Remote Defect
    Indication (RDI) defects, or one or more Far-End Loss of
    Power (LPR-FE) defects.";
            reference
              "ITU-T G.997.1 clause 7.2.1.2.2 (ES-LFE)";
    
          }
    
          leaf severely-errored-seconds-lfe {
            type bbf-yang:performance-counter32;
            units "seconds";
            description
              "This parameter is a count of severely errored seconds (SES).
    An SES is declared if, during a 1 second interval, there are
    18 or more Far-End Block Error (FEBE) anomalies in one or
    more of the transmitted bearer channels, or one or more
    Far-End Loss of Signal (LOS-FE) defects, or one or more
    Remote Defect Indication (RDI) defects, or one or more
    Far-End Loss of Power (LPR-FE) defects. If [ITU-T G.998.4] is
    supported and retransmission is enabled in the far-end
    received direction, a SES-LFE is also declared if, during a
    1 second interval, there is one or more severe loss of
    error-free throughput (seftr) defect in the far-end received
    direction.";
            reference
              "ITU-T G.997.1 clause 7.2.1.2.3 (SES-LFE)";
    
          }
    
          leaf loss-of-signal-seconds-lfe {
            type bbf-yang:performance-counter32;
            units "seconds";
            description
              "This parameter is a count of 1 second intervals containing
    one or more far-end Loss of Signal (LOS) defects.";
            reference
              "ITU-T G.997.1 clause 7.2.1.2.4 (LOSS-LFE)";
    
          }
    
          leaf unavailable-seconds-lfe {
            type bbf-yang:performance-counter32;
            units "seconds";
            description
              "This parameter is a count of 1 second intervals for which the
    far-end xDSL line is unavailable. Some parameter counts are
    inhibited during unavailability.";
            reference
              "ITU-T G.997.1 clauses 7.2.1.2.5 (UAS-LFE) and 7.2.7.13";
    
          }
    
          list inminpeq-lfe {
            key "inminpeq-index";
            description
              "This parameter is a count of the far-end INMAINPEQi
    anomalies occurring on the line during the accumulation
    period. This parameter is subject to inhibiting.";
            reference
              "ITU-T G.997.1 clauses 7.2.1.5.1 (INMINPEQ1..17-LFE) and
              7.2.7.13";
    
            leaf inminpeq-index {
              type uint8 {
                range "1..17";
              }
              description
                "Identifies the INMAINPEQ histogram bin.";
            }
    
            leaf inminpeq-lfe {
              type bbf-yang:performance-counter32-or-inactive;
              description
                "Count of the far-end INMAINPEQ anomalies.
    
    A special value (enum inactive) indicates that this
    counter is not active on the line. This occurs when the
    feature 'impulse-noise-monitoring' is not supported.";
            }
          }  // list inminpeq-lfe
    
          leaf inmme-lfe {
            type bbf-yang:performance-counter32-or-inactive;
            description
              "This parameter is a count of the far-end INMAME anomalies
    occurring on the line during the accumulation period.
    
    A special value (enum inactive) indicates that this counter
    is not active on the line. This occurs when the feature
    'impulse-noise-monitoring' is not supported.";
            reference
              "ITU-T G.997.1 clauses 7.2.1.5.2 (INMME-LFE) and 7.2.7.13";
    
          }
    
          list inmiat-lfe {
            key "inminiat-index";
            description
              "This parameter is a count of the far-end INMAIATi anomalies
    occurring on the line during the accumulation period. This
    parameter is subject to inhibiting.";
            reference
              "ITU-T G.997.1 clauses 7.2.1.5.3 (INMIAT0..7-LFE) and
              7.2.7.13";
    
            leaf inminiat-index {
              type uint8 {
                range "0..7";
              }
              description
                "Identifies the INMAIAT histogram bin.";
            }
    
            leaf inmiat-lfe {
              type bbf-yang:performance-counter32-or-inactive;
              description
                "Count of the far-end INMAIAT anomalies.
    
    A special value (enum inactive) indicates that this
    counter is not active on the line. This occurs when the
    feature 'impulse-noise-monitoring' is not supported.";
            }
          }  // list inmiat-lfe
    
          leaf sos-success-fe {
            type bbf-yang:performance-counter32-or-inactive;
            description
              "This parameter is a count of the total number of successful
    Save our Showtime (SOS) procedures initiated by the far-end
    xDSL Transceiver Unit (xTU) on the line during the
    accumulation period.
    
    A special value (enum inactive) indicates that this counter
    is not active on the line. This occurs when the feature 'sos'
    is not supported.";
            reference
              "ITU-T G.997.1 clauses 7.2.1.7.1 (SOS-SUCCESS-FE) and 7.2.7;
              ITU-T G.993.2 clause 12.1.4";
    
          }
    
          leaf leftr-defects-seconds-counter-lfe {
            type bbf-yang:performance-counter32;
            units "seconds";
            description
              "Far-end line Low Error-Free Throughput (LEFTR) defects
    seconds counter. If retransmission is used in a given
    transmit direction, this parameter is a count of the seconds
    with a far-end leftr defect present. The far-end counter is
    only defined for downstream.";
            reference
              "ITU-T G.997.1 clause 7.2.1.2.6;
              ITU-T G.998.4 clause 11.4.1";
    
          }
    
          leaf error-free-bits-counter-lfe {
            type bbf-yang:performance-counter32;
            description
              "Far-end line error-free bits counter. If retransmission
    is used in a given transmit direction, this parameter is
    a count of the number of error-free bits passed over the
    Beta1 reference point, divided by 65536 = 2^16. This far-end
    counter is only defined for downstream.";
            reference
              "ITU-T G.997.1 clause 7.2.1.2.7;
              ITU-T G.998.4 clause 11.4.2";
    
          }
    
          leaf minimum-error-free-throughput-lfe {
            type bbf-yang:performance-counter32;
            units "bits per second";
            description
              "Far-end minimum error-free throughput (MINEFTR). If
    retransmission is used in a given transmit direction, this
    parameter MINEFTR reports the minimum of the EFTR observed
    over the 15 minute or 24 hour accumulation period. The value
    is reported in bits per second. This far-end value is only
    defined for downstream.";
            reference
              "ITU-T G.997.1 clause 7.2.1.2.8 (MINEFTR);
              ITU-T G.998.4 clause 11.4.3";
    
          }
    
          leaf loss-of-signal-fe {
            type bbf-yang:performance-counter32;
            description
              "Reports a count of the far-end Loss of Signal (LOS)
    failures.";
            reference
              "ITU-T G.997.1 clause 7.1.1.2.1";
    
          }
    
          leaf loss-of-frame-fe {
            type bbf-yang:performance-counter32;
            description
              "Reports a count of the Loss of Frame (LOF) failures.";
            reference
              "ITU-T G.997.1 clause 7.1.1.2.2";
    
          }
    
          leaf loss-of-power-fe {
            type bbf-yang:performance-counter32;
            description
              "Reports a count of the Loss of Power (LPR) failures.";
            reference
              "ITU-T G.997.1 clause 7.1.1.2.3";
    
          }
    
          leaf maximum-error-free-throughput-lfe {
            if-feature bbf-vdsl:maxeftr;
            type bbf-yang:performance-counter32;
            units "bits per second";
            description
              "Far-end maximum error-free throughput (MAXEFTR). If
    retransmission is used in a given transmit direction, this
    parameter MAXEFTR reports the maximum of the EFTR observed
    over the 15 minute or 24 hour accumulation period. The value
    is reported in bits per second. This far-end value is only
    defined for downstream.";
            reference
              "ITU-T G.997.1 clause 7.2.1.2.9 (MAXEFTR);
              ITU-T G.998.4 clause 11.4.4";
    
          }
    
          leaf sra-success-fe {
            if-feature bbf-vdsl:successful-sra;
            type bbf-yang:performance-counter32;
            description
              "This parameter is a count of the total number of successful
    Seamless Rate Adaptation (SRA) procedures initiated by the
    far-end xDSL Transceiver Unit (xTU) on the line during the
    accumulation period.";
            reference
              "ITU-T G.997.1 clause 7.2.9 (SRA-SUCCESS-FE);
              ITU-T G.993.2 clause 11.3.1.7";
    
          }
        }  // grouping xtu-r-line-performance
    
        grouping line-time-stamp {
          description
            "Time stamp for line performance parameters.";
          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";
    
          }
        }  // grouping line-time-stamp
    
        grouping xtu-channel-performance-c {
          description
            "The xDSL Transceiver Unit (xTU) Channel (near-end) performance
    parameters represent channel performance related data for a
    particular channel associated with a particular xDSL
    Transceiver Unit - Central office (xTU-C).";
          leaf measured-time {
            type uint32;
            units "seconds";
            description
              "Reports the amount of time, measured in seconds, that
    statistics for this interval have been counted.";
            reference
              "ITU-T G.997.2 clauses 7.7.1 and 7.8.1";
    
          }
    
          leaf invalid-data-flag {
            type boolean;
            description
              "Reports the validity of the corresponding performance
    monitoring data.  true = invalid.";
            reference
              "ITU-T G.997.2 clauses 7.7.2 and 7.8.2";
    
          }
    
          leaf code-violations-c {
            type bbf-yang:performance-counter32;
            description
              "This parameter is a count of CRC-8 anomalies (the number
    of incorrect Cyclic Redundancy Check (CRC)) occurring in the
    bearer channel during the accumulation period. This parameter
    is subject to inhibiting - see ITU-T G.997.1 clause
    7.2.7.13.";
            reference
              "ITU-T G.997.1 clause 7.2.2.1.1 (CV-C)";
    
          }
    
          leaf forward-error-corrections-c {
            type bbf-yang:performance-counter32;
            description
              "This parameter is a count of Forward Error Correction (FEC)
    anomalies (the number of corrected code words) occurring in
    the bearer channel during the accumulation period. This
    parameter is subject to inhibiting.";
            reference
              "ITU-T G.997.1 clauses 7.2.2.1.2 (FEC-C) and 7.2.7.13";
    
          }
    
          leaf uncorrected-dtu-c {
            type bbf-yang:performance-counter32;
            description
              "This parameter is a count of rtx-uc anomalies (the number of
    uncorrected Data Transfer Units (DTU)) occurring in the
    bearer channel during the accumulation period. This parameter
    only applies to systems supporting ITU-T G.998.4. This
    parameter is subject to inhibiting.";
            reference
              "ITU-T G.997.1 clauses 7.2.2.1.3 (RTXUC-C) and 7.2.7.13;
              ITU-T G.998.4 clause 12";
    
          }
    
          leaf retransmitted-dtu-c {
            type bbf-yang:performance-counter32;
            description
              "This parameter is a count of rtx-tx anomalies (the number of
    retransmitted Data Transfer Units (DTU)) occurring in the
    bearer channel during the accumulation period. This parameter
    only applies to systems supporting ITU-T G.998.4. This
    parameter is subject to inhibiting.";
            reference
              "ITU-T G.997.1 clauses 7.2.2.1.4 (RTXTX-C) and 7.2.7.13;
              ITU-T G.998.4 clause 12";
    
          }
        }  // grouping xtu-channel-performance-c
    
        grouping xtu-channel-performance-cfe {
          description
            "The xDSL Transceiver Unit (xTU) Channel far-end performance
    parameters represent channel performance related data for a
    particular channel associated with a particular xDSL
    Transceiver Unit - Remote side (xTU-R).";
          leaf measured-time {
            type uint32;
            units "seconds";
            description
              "Reports the amount of time, measured in seconds, that
    statistics for this interval have been counted.";
            reference
              "ITU-T G.997.2 clauses 7.7.1 and 7.8.1";
    
          }
    
          leaf invalid-data-flag {
            type boolean;
            description
              "Reports the validity of the corresponding performance
    monitoring data.  true = invalid.";
            reference
              "ITU-T G.997.2 clauses 7.7.2 and 7.8.2";
    
          }
    
          leaf code-violations-cfe {
            type bbf-yang:performance-counter32;
            description
              "This parameter is a count of Far-End Block Error (FEBE)
    anomalies occurring in the bearer channel during the
    accumulation period. This parameter is subject to
    inhibiting.";
            reference
              "ITU-T G.997.1 clauses 7.2.2.2.1 (CV-CFE) and 7.2.7.13";
    
          }
    
          leaf forward-error-corrections-cfe {
            type bbf-yang:performance-counter32;
            description
              "This parameter is a count of Far-End Forward Error Correction
    (FFEC) anomalies occurring in the bearer channel during the
    accumulation period. This parameter is subject to
    inhibiting.";
            reference
              "ITU-T G.997.1 clauses 7.2.2.2.2 (FEC-CFE) and 7.2.7.13";
    
          }
    
          leaf uncorrected-dtu-cfe {
            type bbf-yang:performance-counter32;
            description
              "This parameter is a count of far-end rtx-uc anomalies (the
    number of uncorrected Data Transfer Units (DTU)) occurring in
    the bearer channel during the accumulation period. This
    parameter only applies to systems supporting ITU-T G.998.4.
    This parameter is subject to inhibiting.";
            reference
              "ITU-T G.997.1 clauses 7.2.2.2.3 (RTXUC-CFE) and 7.2.7.13;
              ITU-T G.998.4 clause 12";
    
          }
    
          leaf retransmitted-dtu-cfe {
            type bbf-yang:performance-counter32;
            description
              "This parameter is a count of far-end rtx-tx anomalies (the
    number of retransmitted Data Transfer Units (DTU)) occurring
    in the bearer channel during the accumulation period. This
    parameter only applies to systems supporting ITU-T G.998.4.
    This parameter is subject to inhibiting.";
            reference
              "ITU-T G.997.1 clauses 7.2.2.2.4 (RTXTX-CFE) and 7.2.7.13;
              ITU-T G.998.4 clause 12";
    
          }
        }  // grouping xtu-channel-performance-cfe
    
        grouping performance-history-15min-parameters {
          description
            "Defines common parameters required of historical
    performance counters across 15 minute intervals.";
          leaf number-of-intervals {
            type performance-15min-interval;
            description
              "The total number of 15 minute PM intervals for which data
    was collected.";
          }
    
          leaf non-valid-intervals {
            type performance-15min-interval;
            description
              "The number of 15 minute PM intervals for which the data
    is considered to be invalid or incomplete.";
          }
        }  // grouping performance-history-15min-parameters
    
        grouping performance-history-24hr-parameters {
          description
            "Defines common parameters required of historical
    performance counters across 24 hour intervals.";
          leaf number-of-intervals {
            type performance-24hr-interval;
            description
              "The total number of 24 hour performance monitoring
    intervals for which data was collected.";
          }
    
          leaf non-valid-intervals {
            type performance-24hr-interval;
            description
              "The number of 24 hour performance monitoring
    intervals for which the data is considered to be
    invalid or incomplete.";
          }
        }  // grouping performance-history-24hr-parameters
    
        grouping xtu-channel-time-stamp {
          description
            "Time stamp of channel performance parameters.";
          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.8.3";
    
          }
        }  // grouping xtu-channel-time-stamp
    
        grouping line-threshold-profile {
          description
            "The xDSL Line Threshold Template parameters represent a
    complete set of performance monitoring thresholds for an xDSL
    line.";
          leaf forward-error-correction-seconds-threshold {
            type uint32;
            units "seconds";
            default "0";
            description
              "This parameter is the performance monitoring threshold for
    threshold reports of Forward Error Correction Seconds (FECS).
    A special value (0) indicates the threshold is disabled.";
            reference
              "ITU-T G.997.1 clause 7.2.7";
    
          }
    
          leaf errored-seconds-threshold {
            type uint32;
            units "seconds";
            default "0";
            description
              "This parameter is the performance monitoring threshold for
    threshold reports of Errored Seconds (ES). A special value
    (0) indicates the threshold is disabled.";
            reference
              "ITU-T G.997.1 clause 7.2.7";
    
          }
    
          leaf severely-errored-seconds-threshold {
            type uint32;
            units "seconds";
            default "0";
            description
              "This parameter is the performance monitoring threshold for
    for threshold reports of Severely Errored Seconds (SES).
    A special value (0) indicates the threshold is disabled.";
            reference
              "ITU-T G.997.1 clause 7.2.7";
    
          }
    
          leaf loss-of-signal-seconds-threshold {
            type uint32;
            units "seconds";
            default "0";
            description
              "This parameter is the performance monitoring threshold for
    threshold reports of Loss of Signal Seconds Line (LOSS). A
    special value (0) indicates the threshold is disabled.";
            reference
              "ITU-T G.997.1 clause 7.2.7";
    
          }
    
          leaf unavailable-seconds-threshold {
            type uint32;
            units "seconds";
            default "0";
            description
              "This parameter is the performance monitoring threshold for
    threshold reports of Unavailable Seconds (UAS). A special
    value (0) indicates the threshold is disabled.";
            reference
              "ITU-T G.997.1 clause 7.2.7";
    
          }
    
          leaf leftr-defects-seconds-threshold {
            type uint32;
            units "seconds";
            default "0";
            description
              "This parameter is the performance monitoring threshold for
    for threshold reports of near-end line Low Error-Free
    Throughput (LEFTR) defects seconds. The near-end line leftr
    defects seconds counter is only defined in upstream. A
    special value (0) indicates the threshold is disabled.";
            reference
              "ITU-T G.997.1 clause 7.2.7";
    
          }
    
          leaf leftr-defect-threshold {
            type union {
              type uint8 {
                range "0..99";
              }
              type enumeration {
                enum "etr-default-threshold" {
                  value 0;
                  description
                    "Indicates that the Expected Throughput Rate (ETR) shall
    be used as the default threshold for declaring a Low
    Error-Free Throughput (LEFTR) defect.";
                }
              }
            }
            units "0.01";
            default "etr-default-threshold";
            status deprecated;
            description
              "If retransmission is used in a given transmit direction,
    LEFTR_THRESH specifies the threshold for declaring a leftr
    defect. The value is coded as a fraction of the Net Data Rate
    (NDR) with valid range from 0.00 to 0.99 in increments of
    0.01. The value 0.00 implies no leftr-defects are declared.
    A special value of (enum etr-default-threshold) means the
    Expected Throughput Rate (ETR) shall be used as the default
    threshold for declaring a leftr defect.
    
    This configuration has been deprecated as it is not intended
    to be a performance threshold.";
            reference
              "ITU-T G.997.1 clause 7.3.1.12;
              ITU-T G.998.4 clause 11.1.12";
    
          }
    
          leaf full-initializations-threshold {
            type uint32;
            default "0";
            description
              "This parameter is the performance monitoring threshold for
    threshold reports of the full initializations attempted on
    the line (successful and failed) during the accumulation
    period. A special value (0) indicates the threshold is
    disabled.";
            reference
              "ITU-T G.997.1 clause 7.2.7";
    
          }
    
          leaf failed-full-initializations-threshold {
            type uint32;
            default "0";
            description
              "This performance parameter is the performance monitoring
    threshold for threshold reports of the total number of
    failed full initializations during the accumulation period.
    A special value (0) indicates the threshold is disabled.";
            reference
              "ITU-T G.997.1 clause 7.2.7";
    
          }
    
          leaf short-initializations-threshold {
            type uint32;
            default "0";
            description
              "This parameter is is the performance monitoring threshold for
    threshold reports of the total number of fast retrains or
    short initializations attempted on the line (successful and
    failed) during the accumulation period. A special value (0)
    indicates the threshold is disabled.";
            reference
              "ITU-T G.997.1 clause 7.2.7";
    
          }
    
          leaf failed-short-initializations-threshold {
            type uint32;
            default "0";
            description
              "This performance parameter is the performance monitoring
    threshold for threshold reports of the total number of
    failed fast retrains or short initializations during the
    accumulation period. A special value (0) indicates the
    threshold is disabled.";
            reference
              "ITU-T G.997.1 clause 7.2.7";
    
          }
    
          leaf spontaneous-interruptions-threshold {
            type uint32;
            default "0";
            description
              "This parameter is a count is the performance monitoring
    threshold for threshold reports of the spont_intrpt
    anomalies occurring during the accumulation period. Only
    the counters on the current and previous 24 hour intervals
    are supported. Threshold reports are specified for the 24
    hour interval counter only. A special value (0) indicates the
    threshold is disabled.";
            reference
              "ITU-T G.997.1 clause 7.2.7";
    
          }
        }  // grouping line-threshold-profile
    
        grouping channel-threshold-profile {
          description
            "The Channel Threshold parameters represent a set of performance
    monitoring thresholds for a particular channel associated with
    an xDSL Line at a particular xTU.";
          leaf code-violations-threshold {
            type uint32;
            default "0";
            description
              "This parameter is the performance monitoring threshold
    for threshold reports of Code Violations (CV).
    A special value (0) indicates the threshold is disabled.";
            reference
              "ITU-T G.997.1 clause 7.2.7";
    
          }
    
          leaf forward-error-corrections-threshold {
            type uint32;
            default "0";
            description
              "This parameter is the performance monitoring threshold
    for threshold reports of Forward Error Corrections (FEC).
    A special value (0) indicates the threshold is disabled.";
            reference
              "ITU-T G.997.1 clause 7.2.7";
    
          }
    
          leaf uncorrected-dtus-threshold {
            type uint32;
            default "0";
            description
              "This parameter is the performance monitoring threshold
    for threshold reports of uncorrected Data Transfer Units
    (DTUs). This parameter only applies to systems supporting
    ITU-T G.998.4.
    A special value (0) indicates the threshold is disabled.";
            reference
              "ITU-T G.997.1 clauses 7.2.2.1.3 and 7.2.2.2.3;
              ITU-T G.998.4 clause 12";
    
          }
    
          leaf retransmitted-dtus-threshold {
            type uint32;
            default "0";
            description
              "This parameter is the performance monitoring threshold
    for threshold reports of retransmitted Data Transfer Units
    (DTUs). This parameter only applies to systems supporting
    ITU-T G.998.4.
    A special value (0) indicates the threshold is disabled.";
            reference
              "ITU-T G.997.1 clauses 7.2.2.1.4 and 7.2.2.2.4;
              ITU-T G.998.4 clause 12";
    
          }
        }  // grouping channel-threshold-profile
    
        grouping xtu-sub-carrier-status {
          description
            "The xDSL Transceiver Unit (xTU) Sub-Carrier Status data nodes
    represent current detailed status / measurements relating to a
    particular sub-carrier or a sub-carrier group in an xDSL Line
    at a particular xTU.";
          container hlin {
            description
              "State data nodes related to sub-carrier Hlin.";
            leaf hlin-scale {
              type uint16 {
                range "1..65535";
              }
              description
                "This parameter is the scale factor to be applied to the
    Hlin(f) values. It is represented as an unsigned integer
    in the range from 1 to 65535 = 2^16 - 1. This parameter
    is only available after a loop diagnostic procedure.";
              reference
                "ITU-T G.997.1 clauses 7.5.1.26.1 (HLINSCds) and 7.5.1.26.7
                (HLINSCus)";
    
            }
    
            leaf hlin-sub-carrier-group-size {
              type sub-carrier-group-size;
              description
                "This parameter is the number of subcarriers per group
    used to report HLINps.";
              reference
                "ITU-T G.997.1 clauses 7.5.1.26.2 (HLINGds) and 7.5.1.26.8
                (HLINGus)";
    
            }
    
            leaf hlinps {
              type per-sub-carrier-group-int16-tuple;
              description
                "This parameter is an array of complex values in linear
    scale for Hlin(f). Each array entry represents the
    Hlin(f = i*HLING*deltaf) value for a particular
    subcarrier group index i. The Hlin(f) is represented as
    ((HLINSC/2^15) * ((a(i) + j * b(i))/2^15)), where a(i)
    and b(i) are signed integers in the (-2^15 + 1) to
    (+2^15 - 1) range.
    
    For each 16-bit tuple, the first 16-bit value, a(i), can
    have values in the range -32767 to 32767. The second
    16-bit value, b(i), can have values in the range -32767
    to 32767. In each tuple the value for a(i) is loaded
    first.
    
    A special value (-32768) indicates that no measurement
    could be done for this subcarrier group because it is out
    of the passband or that the attenuation is out of range to
    be represented.
    
    This parameter is only available after a loop diagnostic
    procedure.";
              reference
                "ITU-T G.997.1 clauses 7.5.1.26.3 (HLINpsds) and 7.5.1.26.9
                (HLINpsus)";
    
            }
          }  // container hlin
    
          container hlog {
            description
              "State data nodes related to sub-carrier Hlog.";
            leaf hlog-measurement-time {
              type uint16 {
                range "1..65535";
              }
              units "symbols";
              description
                "This parameter contains the number of symbols used to
    measure the Hlog(f) values. It is represented as an
    unsigned integer in the range from 1 to 2^16 - 1.";
              reference
                "ITU-T G.997.1 clauses 7.5.1.26.4  (HLOGMTds) and
                7.5.1.26.10 (HLOGMTus)";
    
            }
    
            leaf hlog-sub-carrier-group-size {
              type sub-carrier-group-size;
              description
                "This parameter is the number of subcarriers per group
    used to report HLOGps.";
              reference
                "ITU-T G.997.1 clauses 7.5.1.26.5 (HLOGGds) and 7.5.1.26.11
                (HLOGGus)";
    
            }
    
            leaf hlogps {
              type per-sub-carrier-group-uint16;
              description
                "This parameter is an array of real values in dB for
    Hlog(f). Each array entry represents the real Hlog(f = i
    * HLOGG * deltaf) value for a particular subcarrier
    group subcarrier index i. The real Hlog(f) value is
    represented as (6 - m(i)/10), where m(i) is an unsigned
    integer in the range from 0 to 1022.
    
    A special value (1023) indicates that no measurement could
    be done for this subcarrier group because it is out of the
    passband or that the attenuation is out of range to be
    represented.";
              reference
                "ITU-T G.997.1 clauses 7.5.1.26.6 (HLOGpsds) and 7.5.1.26.12
                (HLOGpsus)";
    
            }
          }  // container hlog
    
          container qln {
            description
              "State data nodes related to sub-carrier Quiet Line
    Noise (QLN).";
            leaf qln-measurement-time {
              type uint16 {
                range "1..65535";
              }
              units "symbols";
              description
                "This parameter contains the number of symbols used to
    measure the QLN(f) values. It is an unsigned integer in
    the range from 1 to 2^16 - 1.";
              reference
                "ITU-T G.997.1 clauses 7.5.1.27.1 (QLNMTds) and 7.5.1.27.4
                (QLNMTus)";
    
            }
    
            leaf qln-sub-carrier-group-size {
              type sub-carrier-group-size;
              description
                "This parameter is the number of subcarriers per group
    used to report QLNps.";
              reference
                "ITU-T G.997.1 clauses 7.5.1.27.2 (QLNGds) and 7.5.1.27.5
                (QLNGus)";
    
            }
    
            leaf qlnps {
              type per-sub-carrier-group-uint8;
              description
                "This parameter is an array of real values in dBm perHz for
    QLN(f). Each array entry represents the QLN(f = i * QLNG
    * deltaf) value for a particular subcarrier group index
    i. The QLN(f) is represented as (-23 - n(i)/2), where
    n(i) is an unsigned integer in the range from 0 to 254.
    
    A special value (255) indicates that no measurement could
    be done for this subcarrier group because it is out of the
    passband or that the noise PSD is out of range to be
    represented.";
              reference
                "ITU-T G.997.1 clauses 7.5.1.27.3 (QLNpsds) and 7.5.1.27.6
                (QLNpsus)";
    
            }
          }  // container qln
    
          container snr {
            description
              "State data nodes related to sub-carrier Signal-to-Noise
    Ratio (SNR) values.";
            leaf snr-measurement-time {
              type uint16 {
                range "1..65535";
              }
              units "symbols";
              description
                "This parameter contains the number of symbols used to
    measure the SNR(f) values. It is an unsigned integer in
    the range from 1 to 2^16 - 1.";
              reference
                "ITU-T G.997.1 clauses 7.5.1.28.1 (SNRMTds) and 7.5.1.28.4
                (SNRMTus)";
    
            }
    
            leaf snr-sub-carrier-group-size {
              type sub-carrier-group-size;
              description
                "This parameter is the number of subcarriers per group
    used to report SNRps.";
              reference
                "ITU-T G.997.1 clauses 7.5.1.28.2 (SNRGds) and 7.5.1.28.5
                (SNRGus)";
    
            }
    
            leaf snrps {
              type per-sub-carrier-group-uint8;
              description
                "This parameter is an array of real values in dB for
    SNR(f). Each array entry represents the SNR(f = i * SNRG
    * deltaf) value for a particular subcarrier group index
    i. The SNR(f) is represented as (-32 + snr(i)/2), where
    snr(i) is an unsigned integer in the range from 0 to 254.
    
    A special value (255) indicates that no measurement could
    be done for this subcarrier group because it is out of
    the passband or that the SNR is out of range to be
    represented.";
              reference
                "ITU-T G.997.1 clauses 7.5.1.28.3 (SNRpsds) and 7.5.1.28.6
                (SNRpsus)";
    
            }
          }  // container snr
    
          leaf bitsps {
            type per-sub-carrier-nibble;
            description
              "This parameter defines the downstream bits allocation table
    per subcarrier. It is an array of integer values in the 0 to
    15 range for each subcarrier. The reported bits of
    subcarriers out of the MEDLEY set will be set to 0. This
    parameter will be reported with the most recent values when
    read over the Q-interface.";
            reference
              "ITU-T G.997.1 clauses 7.5.1.29.1 (BITSpsds) and 7.5.1.29.2
              (BITSpsus)";
    
          }
    
          leaf gainsps {
            type per-sub-carrier-uint16;
            description
              "This parameter defines the gains allocation table per
    subcarrier. It is an array of integer values in the 0 to
    4095 range for each subcarrier. The gain value is represented
    as a multiple of 1/512 on linear scale. The reported gains of
    subcarriers out of the MEDLEY set will be set to 0. This
    arameter will be reported with the most recent values when
    read over the Q interface.";
            reference
              "ITU-T G.997.1 clauses 7.5.1.29.3 (GAINSpsds) and 7.5.1.29.4
              (GAINSpsus)";
    
          }
        }  // grouping xtu-sub-carrier-status
    
        grouping transmit-psd {
          description
            "Transmit Power Spectral Density (PSD) parameters.";
          leaf tssps {
            type per-sub-carrier-group-uint16-tuple;
            description
              "This parameter contains the transmit spectrum shaping
    parameters expressed as the set of breakpoints exchanged
    during G.994.1. Each breakpoint consists of a subcarrier
    index and the associated shaping parameter. The shaping
    parameter is an integer value in the 0 to 126 range. It
    is represented as a multiple of -0.5 dB.
    
    A special value (255) indicates that the subcarrier is not
    transmitted.
    
    This is encoded as an array of 16-bit tuples where the first
    16-bit value represents the sub-carrier index and the second
    represents the shaping parameter.
    
    TSS only applies to G.992.3 and G.992.5.";
            reference
              "ITU-T G.997.1 clauses 7.5.1.29.5 (TSSpsds) and 7.5.1.29.6
              (TSSpsus)";
    
          }
    
          leaf mrefpsd {
            type per-sub-carrier-group-uint16-tuple;
            description
              "This parameter will contain the set of breakpoints, which for
    downstream are exchanged in the MREFPSDds fields of the O-PRM
    message of ITU-T G.993.2, and which for upstream are
    exchanged in the MREFPSDus fields of the R-PRM message of
    ITU-T G.993.2.
    
    This is encoded as an array of 16-bit tuples where the first
    16-bit value represents the sub-carrier index and the second
    represents the Power Spectral Density (PSD).
    
    The format of the PSD is as specified in [ITU-T G.993.2],
    using 12 bits to indicate MREFPSD level in steps of 0.1 dB
    with an offset of -140 dBm per Hz.
    
    MEDLEY Reference PSD (MREFPSD) only applies to G.993.2.";
            reference
              "ITU-T G.997.1 clauses 7.5.1.29.7 (MREFPSDds) and 7.5.1.29.8
              (MREFPSDus)";
    
          }
        }  // grouping transmit-psd
    
        grouping xlin {
          description
            "Crosstalk coupling, XLIN(f), parameters.";
          container xlin {
            description
              "State data nodes related to sub-carrier Xlin.";
            leaf xlin-scale {
              type uint16 {
                range "0..65535";
              }
              description
                "This parameter is the scale factor to be applied to the
    Xlinps values.";
              reference
                "ITU-T G.997.1 clauses 7.5.1.39.1 (XLINSCds) and 7.5.1.39.5
                (XLINSCus)";
    
            }
    
            leaf xlin-sub-carrier-group-size {
              type sub-carrier-group-size;
              description
                "This parameter is the number of subcarriers per group
    used to report Xlinps.";
              reference
                "ITU-T G.997.1 clauses 7.5.1.39.2 (XLINGds) and 7.5.1.39.6
                (XLINGus)";
    
            }
    
            leaf xlin-disturber {
              type vce-port-index;
              description
                "The Xlin disturber Vectoring Control Entity (VCE) port
    index.";
            }
    
            list xlinbands {
              key "band-index";
              description
                "XLINBANDS contains pairs of (start_subcarrier_index,
    stop_subcarrier_index) for every band in which XLINps is
    reported.";
              reference
                "ITU-T G.997.1 clauses 7.5.1.38.3 (XLINBANDSds) and
                7.5.1.38.7 (XLINBANDSus)";
    
              leaf band-index {
                type uint16;
                description "Xlin band index.";
              }
    
              uses sub-carrier-range {
                refine 
              }
            }  // list xlinbands
    
            leaf xlinps {
              type per-sub-carrier-group-int16-tuple;
              description
                "For each given Vectoring Control Entity (VCE) port index k,
    this parameter is a one-dimensional array of complex values
    in linear scale for Far-End Crosstalk (FEXT) coupling
    coefficients Xlin(f) originating from the loop connected to
    the VCE port k into the loop for which Xlin(f) is being
    reported. Each array entry represents the
    Xlinds(f = n*deltaf) value for a  particular subcarrier
    index n. The Xlin(f = n*deltaf) value is represented as
    ((XLINSC/2^15) * ((a(n) + j*b(n))/2^15)), where a(n) and
    b(n) are signed integers in the (-2^15 + 1) to (+2^15 - 1)
    range. The format of XLINps is defined in ITU-T G.993.5.
    
    For each 16-bit tuple, the first 16-bit value, a(n), can
    have values in the range -32767 to 32767. The second
    16-bit value, b(n), can have values in the range -32767
    to 32767. In each tuple the value for a(n) is loaded
    first.
    
    A special value (-32768) indicates that no measurement
    could be done from line k into this line for subcarrier n;
    
    Another special value indicates that there is no phase
    information and the magnitude of Xlin(f = n*deltaf) is
    ((XLINSC/2^15)*(a(n)/2^15)), and for G.993.5 this special
    value is indicated as a(n) >= 0 and b(n) = 0
    for all reported n.";
              reference
                "ITU-T G.997.1 clauses 7.5.1.38.4 (XLINpsds) and 7.5.1.38.8
                (XLINpsus)";
    
            }
          }  // container xlin
        }  // grouping xlin
    
        grouping xtu-data-gathering-report {
          description
            "These parameters are obtained from the data gathering
    functionality in the xDSL modems for use in testing and
    diagnostics.";
          leaf logging-depth {
            type uint32;
            units "6 bytes";
            description
              "This parameter is the maximum depth of the entire data
    gathering event buffer at the VDSL Transceiver Unit (VTU),
    in number of 6-byte data gathering records.";
            reference
              "ITU-T G.997.1 clauses 7.5.3.1 (LOGGING_DEPTH_O) and 7.5.3.2
              (LOGGING_DEPTH_R)";
    
          }
    
          leaf actual-logging-depth-reporting {
            type uint32;
            units "6 bytes";
            description
              "This parameter is actual logging depth that is used for
    reporting the VDSL Transceiver Unit - central Office (VTU-O)
    event trace buffer in the Central Office Management
    Information Base (CO-MIB), or for reporting the VDSL
    Transceiver Unit - Remote side (VTU-R) event trace buffer
    over the embedded operations channel (eoc), in number of
    6-byte data gathering records.";
            reference
              "ITU-T G.997.1 clauses 7.5.3.3 (ACT_logging_depth_reporting_O)
              and 7.5.3.4 (ACT_logging_depth_reporting_R)";
    
          }
    
          leaf event-trace-buffer {
            type binary;
            description
              "This parameter is the event trace buffer containing the
    event records that originated at the VDSL Transceiver Unit
    (VTU).";
            reference
              "ITU-T G.997.1 clauses 7.5.3.5 (EVENT_TRACE_BUFFER_O) and
              7.5.3.6 (EVENT_TRACE_BUFFER_R)";
    
          }
        }  // grouping xtu-data-gathering-report
    
        grouping line-config-vector-body {
          description
            "Line Configuration Vector.";
          container channel {
            description
              "Channel profiles. All profile identifiers must be
    configured.";
            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 impulse-noise-protection-delay-profile {
              type impulse-noise-protection-delay-profile-ref;
              mandatory true;
              description
                "References an impulse noise protection delay profile to be
    used to configure the line.";
            }
          }  // container channel
    
          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 downstream-power-back-off-profile {
            type downstream-power-back-off-profile-ref;
            mandatory true;
            description
              "References a downstream 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 an radio frequency interference 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 virtual-noise-profile {
            if-feature bbf-vdsl:virtual-noise;
            type leafref {
              path "/bbf-vdsl:vdsl/bbf-vdsl:quality/bbf-vdsl:virtual-noise-profile/bbf-vdsl:name";
            }
            mandatory true;
            description
              "References a virtual noise profile to be used to configure
    the line.";
          }
    
          leaf sos-profile {
            if-feature bbf-vdsl:sos;
            type leafref {
              path "/bbf-vdsl:vdsl/bbf-vdsl:quality/bbf-vdsl:sos-profile/bbf-vdsl:name";
            }
            mandatory true;
            description
              "References a Save Our Showtime (SOS) profile to be used to
    configure the line.";
          }
    
          leaf impulse-noise-monitoring-profile {
            if-feature bbf-vdsl:impulse-noise-monitoring;
            type leafref {
              path "/bbf-vdsl:vdsl/bbf-vdsl:quality/bbf-vdsl:impulse-noise-monitoring-profile/bbf-vdsl:name";
            }
            mandatory true;
            description
              "References an impulse noise monitoring profile to be used to
    configure the line.";
          }
    
          leaf re-initialization-policy-profile {
            if-feature bbf-vdsl:re-initialization-policy;
            type leafref {
              path "/bbf-vdsl:vdsl/bbf-vdsl:quality/bbf-vdsl:re-initialization-policy-profile/bbf-vdsl:name";
            }
            mandatory true;
            description
              "References a re-initialization policy profile to be used to
    configure the line.";
          }
    
          leaf vectoring-profile {
            if-feature bbf-vdsl:vectoring;
            type leafref {
              path "/bbf-vdsl:vdsl/bbf-vdsl:quality/bbf-vdsl:vectoring-profile/bbf-vdsl:name";
            }
            mandatory true;
            description
              "References a vectoring profile to be used to configure the
    line.";
          }
    
          leaf data-gathering-profile {
            if-feature bbf-vdsl:data-gathering;
            type leafref {
              path "/bbf-vdsl:vdsl/bbf-vdsl:quality/bbf-vdsl:data-gathering-profile/bbf-vdsl:name";
            }
            mandatory true;
            description
              "References a data gathering profile to be used to configure
    the line.";
          }
        }  // grouping line-config-vector-body
    
        // objects
        container vdsl {
          description "VDSL 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 vdsl
    
        augment /if:interfaces/if:interface/bbf-fastdsl:line {
          when
            "bbf-fastdsl:configured-mode = 'bbf-fastdsl:mode-vdsl'" {
            description
              "Applicable when VDSL mode is configured.";
          }
          description
            "Data nodes for the administrative state of DSL lines.";
          container line {
            presence
              "If present, indicates the interface is configured to operate
    in VDSL mode.";
            description
              "xDSL line-specific parameters.";
          }  // container line
        }
    
        augment /if:interfaces-state/if:interface/bbf-fastdsl:line {
          when
            "bbf-fastdsl:operational-mode = 'bbf-fastdsl:mode-vdsl'" {
            description
              "Applicable when VDSL is the current mode of operation.";
          }
          description
            "Data nodes for the operational state of DSL lines.";
          container line {
            presence
              "If present, indicates the interface is operaterting in VDSL
    mode.";
            description
              "xDSL line-specific parameters.";
            container channel {
              description
                "xDSL channel-specific parameters.";
            }  // container channel
          }  // container line
        }
    
        augment /if:interfaces/if:interface/bbf-fastdsl:line/bbf-vdsl:line {
          description "xDSL Line configuration.";
          uses test-mode;
    
          uses update-test;
        }
    
        augment /if:interfaces-state/if:interface/bbf-fastdsl:line/bbf-vdsl:line {
          description
            "xDSL Termination Unit (xTU).";
          container inventory {
            description
              "xDSL Termination Unit (xTU) inventory.";
            container xtu-c {
              description
                "xDSL Termination Unit - Central office (xTU-C) inventory.";
              uses inventory;
    
              uses vce;
            }  // container xtu-c
    
            container xtu-r {
              description
                "xDSL Termination Unit - Remote side (xTU-R) inventory.";
              uses inventory;
            }  // container xtu-r
          }  // container inventory
        }
    
        augment /bbf-vdsl:vdsl/bbf-vdsl:service {
          description
            "Service related profiles.";
          list downstream-data-rate-profile {
            key "name";
            description
              "Downstream Data Rate Profile.";
            leaf name {
              type bbf-yang:string-ascii64;
              description
                "Downstream Data Rate Profile identifier.";
            }
    
            uses data-rate-profile;
          }  // list downstream-data-rate-profile
    
          list upstream-data-rate-profile {
            key "name";
            description
              "Upstream Data Rate Profile.";
            leaf name {
              type bbf-yang:string-ascii64;
              description
                "Upstream Data Rate Profile identifier.";
            }
    
            uses data-rate-profile;
          }  // list upstream-data-rate-profile
        }
    
        augment /bbf-vdsl:vdsl/bbf-vdsl:spectrum {
          description
            "Spectrum related profiles.";
          list line-spectrum-profile {
            key "name";
            description "Line Spectrum Profile.";
            leaf name {
              type bbf-yang:string-ascii64;
              description
                "Line Spectrum Profile identifier.";
            }
    
            list xtse {
              key "ts";
              min-elements 1;
              description
                "Identifies a mode specific Power Spectral Density (PSD)
    profile for each transmission system type.";
              leaf ts {
                type xts-descriptor;
                description
                  "Identifies the transmission system type.";
                reference
                  "ITU-T G.997.1 clause 7.3.1.1.1 (XTSE)";
    
              }
    
              leaf mode-specific-psd-profile {
                type mode-specific-psd-profile-ref;
                must
                  "/bbf-vdsl:vdsl/bbf-vdsl:spectrum
    /bbf-vdsl:mode-specific-psd-profile
    [bbf-vdsl:name=current()]/bbf-vdsl:ts = ../ts" {
                  error-message
                    "The transmission system used in this line spectrum profile does not match the one used in the referenced mode specific PSD profile.";
                  description
                    "The transmission system used in the mode specific
    profile must be the same as the one coupled to this
    profile.";
                }
                mandatory true;
                description
                  "Identifies the mode specific Power Spectral Density (PSD)
    profile for this transmission system type.";
                reference
                  "ITU-T G.997.1 clause 7.3.1.1.1 (XTSE)";
    
              }
            }  // list xtse
    
            uses line-spectrum-profile;
          }  // list line-spectrum-profile
    
          list mode-specific-psd-profile {
            key "name";
            description
              "Mode Specific Power Spectral Density (PSD) Profile.";
            leaf name {
              type bbf-yang:string-ascii64;
              description
                "Mode Specific Power Spectral Density (PSD) Profile
    identifier.";
            }
    
            uses mode-specific-psd-profile;
          }  // list mode-specific-psd-profile
    
          list upstream-power-back-off-profile {
            key "name";
            description
              "Upstream Power Back-Off (UPBO) Profile.";
            leaf name {
              type bbf-yang:string-ascii64;
              description
                "Upstream Power Back-Off (UPBO) Profile identifier.";
            }
    
            uses upstream-power-back-off-profile;
          }  // list upstream-power-back-off-profile
    
          list downstream-power-back-off-profile {
            key "name";
            description
              "Downstream Power Back-Off (DPBO) Profile.";
            leaf name {
              type bbf-yang:string-ascii64;
              description
                "Downstream Power Back-Off (DPBO) Profile identifier.";
            }
    
            uses downstream-power-back-off-profile;
          }  // list downstream-power-back-off-profile
    
          list radio-frequency-interference-profile {
            key "name";
            description
              "Radio Frequency Interference (RFI) Profile.";
            leaf name {
              type bbf-yang:string-ascii64;
              description
                "Radio Frequency Interference (RFI) Profile identifier.";
            }
    
            uses radio-frequency-interference-profile;
          }  // list radio-frequency-interference-profile
        }
    
        augment /bbf-vdsl:vdsl/bbf-vdsl:quality {
          description
            "Quality Management related profiles.";
          list noise-margin-profile {
            key "name";
            description "Noise Margin Profile.";
            leaf name {
              type bbf-yang:string-ascii64;
              description
                "Noise Margin Profile identifier.";
            }
    
            container downstream {
              description
                "Downstream Noise Margin Profile.";
              uses noise-margin-profile-downstream;
            }  // container downstream
    
            container upstream {
              description
                "Upstream Noise Margin Profile.";
              uses noise-margin-profile-upstream;
            }  // container upstream
          }  // list noise-margin-profile
    
          list impulse-noise-protection-delay-profile {
            key "name";
            description
              "Inpulse Noise Protection (INP) Delay Profile.";
            leaf name {
              type bbf-yang:string-ascii64;
              description
                "Inpulse Noise Protection (INP) Delay Profile identifier.";
            }
    
            container downstream {
              description
                "Downstream Inpulse Noise Protection (INP) Delay Profile.";
              uses impulse-noise-protection-delay-profile;
    
              uses impulse-noise-protection-delay-profile-downstream;
            }  // container downstream
    
            container upstream {
              description
                "Upstream Inpulse Noise Protection (INP) Delay Profile.";
              uses impulse-noise-protection-delay-profile;
    
              uses impulse-noise-protection-delay-profile-upstream;
            }  // container upstream
          }  // list impulse-noise-protection-delay-profile
    
          list virtual-noise-profile {
            if-feature virtual-noise;
            key "name";
            description "Virtual Noise Profile.";
            leaf name {
              type bbf-yang:string-ascii64;
              description
                "Virtual Noise Profile identifier.";
            }
    
            container downstream {
              description
                "Downstream Virtual Noise Profile.";
              uses virtual-noise-profile;
            }  // container downstream
    
            container upstream {
              description
                "Upstream Virtual Noise Profile.";
              uses virtual-noise-profile-upstream;
            }  // container upstream
          }  // list virtual-noise-profile
    
          list sos-profile {
            if-feature sos;
            key "name";
            description
              "Save Our Showtime (SOS) Profile.";
            leaf name {
              type bbf-yang:string-ascii64;
              description
                "Save Our Showtime (SOS) Profile identifier.";
            }
    
            container downstream {
              description
                "Downstream Save Our Showtime (SOS) Profile.";
              uses sos-profile;
            }  // container downstream
    
            container upstream {
              description
                "Upstream Save Our Showtime (SOS) Profile.";
              uses sos-profile;
            }  // container upstream
          }  // list sos-profile
    
          list impulse-noise-monitoring-profile {
            if-feature impulse-noise-monitoring;
            key "name";
            description
              "Impulse Noise Monitoring (INM) Profile.";
            leaf name {
              type bbf-yang:string-ascii64;
              description
                "Impulse Noise Monitoring (INM) Profile identifier.";
            }
    
            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.1 clause 7.3.1.9.6 (INM_ENABLE)";
    
            }
    
            container downstream {
              description
                "Downstream Impulse Noise Monitoring (INM) Profile.";
              uses impulse-noise-monitoring-profile;
            }  // container downstream
    
            container upstream {
              description
                "Upstream Impulse Noise Monitoring (INM) Profile.";
              uses impulse-noise-monitoring-profile;
            }  // container upstream
          }  // list impulse-noise-monitoring-profile
    
          list re-initialization-policy-profile {
            if-feature re-initialization-policy;
            key "name";
            description
              "Re-Initialization Policy Profile.";
            leaf name {
              type bbf-yang:string-ascii64;
              description
                "Re-Initialization Policy Profile identifier.";
            }
    
            container downstream {
              description
                "Downstream Re-Initialization Policy Profile.";
              uses re-initialization-policy-profile;
            }  // container downstream
    
            container upstream {
              description
                "Upstream Re-Initialization Policy Profile.";
              uses re-initialization-policy-profile;
            }  // container upstream
          }  // list re-initialization-policy-profile
    
          list vectoring-profile {
            if-feature vectoring;
            key "name";
            description "Vectoring Profile.";
            leaf name {
              type bbf-yang:string-ascii64;
              description
                "Vectoring Profile identifier.";
            }
    
            uses vectoring-profile-non-directional;
    
            container downstream {
              description
                "Downstream Vectoring Profile.";
              uses vectoring-profile;
            }  // container downstream
    
            container upstream {
              description
                "Upstream Vectoring Profile.";
              uses vectoring-profile;
            }  // container upstream
          }  // list vectoring-profile
    
          list data-gathering-profile {
            if-feature data-gathering;
            key "name";
            description
              "Data Gathering Profile.";
            leaf name {
              type bbf-yang:string-ascii64;
              description
                "Data Gathering Profile identifier.";
            }
    
            container vtu {
              description
                "VDSL2 Transceiver Unit (VTU) Data Gathering Profile.";
              uses data-gathering-profile;
            }  // container vtu
          }  // list data-gathering-profile
        }
    
        augment /if:interfaces-state/if:interface/bbf-fastdsl:line/bbf-vdsl:line {
          description
            "xDSL Transeciver Unit (xTU) Line Status.";
          container status {
            description
              "The xDSL Transeciver Unit (xTU) Line Status parameters
    represent current line status and measurements at a
    particular xTU.";
            uses line-status;
    
            uses xtu-line-status;
    
            container xtu-c {
              description
                "xDSL Transeciver Unit - Central office (xTU-C) Line
    Status.";
              uses xtu-c-status;
    
              container band-status {
                description
                  "Per band status parameters. For ADSL systems,
    a single parameter is defined for band = 0.";
                uses xtu-band-status;
              }  // container band-status
            }  // container xtu-c
    
            container xtu-r {
              description
                "xDSL Transeciver Unit - Remote side (xTU-R) Line Status.";
              uses xtu-r-status;
    
              container band-status {
                description
                  "Per band status parameters. For ADSL systems,
    a single parameter is defined for band = 0.";
                uses xtu-band-status;
              }  // container band-status
            }  // container xtu-r
          }  // container status
        }
    
        augment /if:interfaces-state/if:interface/bbf-fastdsl:line/bbf-vdsl:line/bbf-vdsl:channel {
          description
            "xDSL Transeciver Unit (xTU) channel status.";
          container status {
            description
              "xDSL Transeciver Unit (xTU) channel status.";
            container xtu-c {
              description
                "xDSL Transeciver Unit - Central office (xTU-C) channel
    status. This contains status parameters for transmission
    in the upstream direction.";
              container upstream {
                description
                  "These data nodes apply to the upstream direction of
    transmission.";
                uses xtu-channel-status;
    
                uses actual-ndr-inp-rein;
              }  // container upstream
            }  // container xtu-c
    
            container xtu-r {
              description
                "xDSL Transeciver Unit - Remote side (xTU-R) channel status.
    This contains status parameters for transmission in the
    downstream direction.";
              container downstream {
                description
                  "These data nodes apply to the downstream direction of
    transmission.";
                uses xtu-channel-status;
    
                uses actual-ndr-inp-rein;
              }  // container downstream
            }  // container xtu-r
          }  // container status
        }
    
        augment /if:interfaces-state/if:interface/bbf-fastdsl:line/bbf-vdsl:line {
          description
            "xDSL Transmission Unit (xTU) Line Performance.";
          container performance {
            description
              "Performance parameters.";
            container intervals-15min {
              description
                "15 minute interval line performance counters.";
              container current {
                description
                  "Contains the counts that are currently accumulating.";
                container xtu-c {
                  description
                    "xDSL Transmission Unit - Central office (xTU-C).";
                  uses xtu-c-line-performance;
                }  // container xtu-c
    
                container xtu-r {
                  description
                    "xDSL Transmission Unit - Remote side (xTU-R).";
                  uses xtu-r-line-performance;
                }  // container xtu-r
              }  // container current
    
              uses performance-history-15min-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 xtu-c {
                  description
                    "xDSL Transmission Unit - Central office (xTU-C).";
                  uses line-time-stamp;
    
                  uses xtu-c-line-performance;
                }  // container xtu-c
    
                container xtu-r {
                  description
                    "xDSL Transmission Unit - Remote side (xTU-R).";
                  uses line-time-stamp;
    
                  uses xtu-r-line-performance;
                }  // container xtu-r
              }  // list history
            }  // container intervals-15min
    
            container intervals-24hr {
              if-feature performance-24hr;
              description
                "24 hour interval line performance counters.";
              container current {
                description
                  "Contains the counts that are currently accumulating.";
                container xtu-c {
                  description
                    "xDSL Transmission Unit - Central office (xTU-C).";
                  uses xtu-c-line-performance;
                }  // container xtu-c
    
                container xtu-r {
                  description
                    "xDSL Transmission Unit - Remote side (xTU-R).";
                  uses xtu-r-line-performance;
                }  // container xtu-r
              }  // container current
    
              uses performance-history-24hr-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 xtu-c {
                  description
                    "xDSL Transmission Unit - Central office (xTU-C).";
                  uses line-time-stamp;
    
                  uses xtu-c-line-performance;
                }  // container xtu-c
    
                container xtu-r {
                  description
                    "xDSL Transmission Unit - Remote side (xTU-R).";
                  uses line-time-stamp;
    
                  uses xtu-r-line-performance;
                }  // container xtu-r
              }  // list history
            }  // container intervals-24hr
          }  // container performance
        }
    
        augment /if:interfaces-state/if:interface/bbf-fastdsl:line/bbf-vdsl:line/bbf-vdsl:channel {
          description
            "xDSL Transmission Unit Channel Performance config.";
          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 xtu-c {
                  description
                    "xDSL Transmission Unit - Central office (xTU-C).";
                  uses xtu-channel-performance-c;
                }  // container xtu-c
    
                container xtu-r {
                  description
                    "xDSL Transmission Unit - Remote side (xTU-R).";
                  uses xtu-channel-performance-cfe;
                }  // container xtu-r
              }  // container current
    
              uses performance-history-15min-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 xtu-c {
                  description
                    "xDSL Transmission Unit - Central office (xTU-C).";
                  uses xtu-channel-time-stamp;
    
                  uses xtu-channel-performance-c;
                }  // container xtu-c
    
                container xtu-r {
                  description
                    "xDSL Transmission Unit - Remote side (xTU-R).";
                  uses xtu-channel-time-stamp;
    
                  uses xtu-channel-performance-cfe;
                }  // container xtu-r
              }  // list history
            }  // container intervals-15min
    
            container intervals-24hr {
              if-feature performance-24hr;
              description
                "24 hour interval performance history.";
              container current {
                description
                  "Contains the counts that are currently accumulating.";
                container xtu-c {
                  description
                    "xDSL Transmission Unit - Central office (xTU-C).";
                  uses xtu-channel-performance-c;
                }  // container xtu-c
    
                container xtu-r {
                  description
                    "xDSL Transmission Unit - Remote side (xTU-R).";
                  uses xtu-channel-performance-cfe;
                }  // container xtu-r
              }  // container current
    
              uses performance-history-24hr-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 xtu-c {
                  description
                    "xDSL Transmission Unit - Central office (xTU-C).";
                  uses xtu-channel-time-stamp;
    
                  uses xtu-channel-performance-c;
                }  // container xtu-c
    
                container xtu-r {
                  description
                    "xDSL Transmission Unit - Remote side (xTU-R).";
                  uses xtu-channel-time-stamp;
    
                  uses xtu-channel-performance-cfe;
                }  // container xtu-r
              }  // list history
            }  // container intervals-24hr
          }  // container performance
        }
    
        augment /bbf-vdsl:vdsl/bbf-vdsl:thresholds {
          description
            "xDSL Performance Threshold Management.";
          list line-threshold-profile {
            key "name";
            description
              "xDSL Transceiver Unit (xTU) Line Threshold Profiles.";
            leaf name {
              type bbf-yang:string-ascii64;
              description
                "xDSL Transceiver Unit (xTU) Line Threshold Profile name.";
            }
    
            uses line-threshold-profile;
          }  // list line-threshold-profile
    
          list channel-threshold-profile {
            key "name";
            description
              "xDSL Transceiver Unit (xTU) Channel Threshold Profiles.";
            leaf name {
              type bbf-yang:string-ascii64;
              description
                "xDSL Transceiver Unit (xTU) Channel Threshold Profile
    name.";
            }
    
            uses channel-threshold-profile;
          }  // list channel-threshold-profile
        }
    
        augment /if:interfaces-state/if:interface/bbf-fastdsl:line/bbf-vdsl:line {
          description
            "Augment the line to add threshold state data.";
          notification vdsl-15min-threshold-crossing-alert {
            description
              "A threshold has been crossed during the current 15 minute
    interval.";
            leaf tca-identity {
              type identityref {
                base vdsl-15min-threshold-crossing-alert;
              }
              mandatory true;
              description
                "A unique identity associated with each threshold.";
            }
          }  // notification vdsl-15min-threshold-crossing-alert
    
          notification vdsl-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 vdsl-24hr-threshold-crossing-alert;
              }
              mandatory true;
              description
                "A unique identity associated with each threshold.";
            }
          }  // notification vdsl-24hr-threshold-crossing-alert
        }
    
        augment /if:interfaces-state/if:interface/bbf-fastdsl:line/bbf-vdsl:line {
          description
            "xDSL Testing / Diagnostics.";
          container diagnostics {
            description
              "xDSL Testing / Diagnostics.";
            leaf loop-diagnostics-mode-status {
              type enumeration {
                enum "inactive" {
                  value 0;
                  description
                    "Loop Diagnostics mode procedures are inhibited.";
                }
                enum "loop-diagnostics-ongoing" {
                  value 1;
                  description
                    "Loop Diagnostics mode procedures are ongoing.";
                }
              }
              description
                "Reports the status of the Loop Diagnostics mode procedures
    
    Upon the near-end xDSL Transceiver Unit (xTU) being forced
    to perform the Loop Diagnostic mode procedures, the Loop
    Diagnostic mode Status (LDS) shall become
    'loop-diagnostics-ongoing'.
    
    Upon failure or successful completion of the Loop
    Diagnostics mode procedures, the Loop Diagnostic mode
    Status (LDS) shall become 'inactive' and the Access Node
    (AN)/Distribution Point Unit (DPU) Maintenance Entity (ME)
    shall send a notification to the NMS.";
              reference
                "ITU-T G.997.1 clause 7.5.1.44 (LDS)";
    
            }
    
            leaf loop-diagnostics-mode-results {
              type loop-diagnostics-result;
              description
                "The overall results of the Loop Diagnostics mode.";
              reference
                "ITU-T G.997.1 clause 7.5.1.45 (LDR)";
    
            }
    
            notification loop-diagnostics-completed {
              description
                "Notifies that the loop diagnostics have completed.";
              leaf result {
                type loop-diagnostics-result;
                mandatory true;
                description
                  "The overall results of the Loop Diagnostics mode.";
                reference
                  "ITU-T G.997.1 clause 7.5.1.45 (LDR)";
    
              }
            }  // notification loop-diagnostics-completed
    
            container xtu-c {
              description
                "Diagnostics data nodes for the xDSL Transceiver Unit -
    Central office (xTU-C).";
              container downstream {
                description
                  "Downstream xDSL Transceiver Unit (xTU) Sub-Carrier
    status.";
                uses transmit-psd;
    
                uses xlin;
              }  // container downstream
    
              container upstream {
                description
                  "Upstream xDSL Transceiver Unit (xTU) Sub-Carrier
    status.";
                uses xtu-sub-carrier-status;
    
                uses xlin;
              }  // container upstream
    
              container data-gathering-report {
                description
                  "Reports data gathered by the receiver.";
                uses xtu-data-gathering-report;
              }  // container data-gathering-report
            }  // container xtu-c
    
            container xtu-r {
              description
                "Diagnostics data nodes for the xDSL Transceiver Unit -
    Remote side (xTU-R).";
              container downstream {
                description
                  "Downstream xDSL Transceiver Unit (xTU) Sub-Carrier
    status.";
                uses xtu-sub-carrier-status;
              }  // container downstream
    
              container upstream {
                description
                  "Upstream xDSL Transceiver Unit (xTU) Sub-Carrier
    status.";
                uses transmit-psd;
              }  // container upstream
    
              container data-gathering-report {
                description
                  "Reports data gathered by the receiver.";
                uses xtu-data-gathering-report;
              }  // container data-gathering-report
            }  // container xtu-r
          }  // container diagnostics
        }
    
        augment /bbf-vdsl:vdsl/bbf-vdsl:vectors {
          description
            "xDSL Line Configuration Vector.";
          list line-config-vector {
            key "name";
            description
              "xDSL Line Configuration Vector.";
            leaf name {
              type bbf-yang:string-ascii64;
              description
                "xDSL Line Configuration Vector Identifier.";
            }
    
            uses line-config-vector-body;
          }  // list line-config-vector
        }
    
        augment /bbf-vdsl:vdsl/bbf-vdsl:thresholds {
          description
            "xDSL Performance Threshold Management.";
          list threshold-template {
            key "name";
            description
              "xDSL Line Threshold Template.";
            grouping threshold-profile {
              description
                "Defines 15 minute and 24 hour line and channel profiles.";
              leaf xtu-15min-line-profile {
                type line-threshold-profile-ref;
                mandatory true;
                description
                  "Reference to a line threshold profile for thresholds
    related to 15 minute performance counters.";
              }
    
              leaf xtu-24hr-line-profile {
                if-feature bbf-vdsl:performance-24hr;
                type line-threshold-profile-ref;
                mandatory true;
                description
                  "Reference to a line threshold profile for thresholds
    related to 24 hour performance counters.";
              }
    
              leaf xtu-15min-channel-threshold-profile {
                type channel-threshold-profile-ref;
                mandatory true;
                description
                  "Reference to a channel threshold profile for thresholds
    related to 15 minute performance counters.";
              }
    
              leaf xtu-24hr-channel-threshold-profile {
                if-feature bbf-vdsl:performance-24hr;
                type channel-threshold-profile-ref;
                mandatory true;
                description
                  "Reference to a channel threshold profile for thresholds
    related to 24 hour performance counters.";
              }
            }  // grouping threshold-profile
            leaf name {
              type bbf-yang:string-ascii64;
              description "Template name.";
            }
    
            container xtu-c {
              description
                "xDSL Tranceiver Unit - Central office (xTU-C) threshold
    profile pointer.";
              uses threshold-profile;
            }  // container xtu-c
    
            container xtu-r {
              description
                "xDSL Tranceiver Unit - Remote side (xTU-R) threshold
    profile pointer.";
              uses threshold-profile;
            }  // container xtu-r
          }  // list threshold-template
        }
    
        augment /if:interfaces/if:interface/bbf-fastdsl:line/bbf-vdsl:line {
          description
            "Augment FastDSL line configuration with VDSL line
    configuration.";
          choice profile-config {
            description
              "The method for configuring profiles used on this VDSL line.
    If no method is configured, the default behavior is
    equivalent to the presence of 'no-profiles-attached'.";
            leaf no-profiles-attached {
              type empty;
              description
                "If present, indicates that no profiles are attached
    to this line.";
            }
    
            case direct-attachment-mode {
              uses line-config-vector-body;
            }  // case direct-attachment-mode
            leaf line-config-vector {
              type line-config-vector-ref;
              description
                "xDSL Line Configuration Vector identifier.
    This identifier must be configured if indirect
    attachment mode is used.";
            }
          }  // choice profile-config
    
          leaf threshold-template {
            type threshold-template-ref;
            description
              "xDSL Line Threshold Template identifier. If no threshold
    template is assigned, threshold crossing alert (TCA)
    reporting for all thresholds is disabled.";
          }
        }
    
        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 VDSL
    line.";
            }
          }
        }
      }  // module bbf-vdsl
    

© 2023 YumaWorks, Inc. All rights reserved.