bbf-selt

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

  • Version: 2022-05-23

    bbf-selt@2022-05-23


    
      module bbf-selt {
    
        yang-version 1.1;
    
        namespace "urn:bbf:yang:bbf-selt";
    
        prefix bbf-selt;
    
        include bbf-selt-base;
        include bbf-selt-pointers;
        include bbf-selt-pmd;
        include bbf-selt-pmd-control-body;
        include bbf-selt-pmd-status-body;
        include bbf-selt-pmd-profiles;
        include bbf-selt-pmd-profile-body;
        include bbf-selt-processing-profiles;
        include bbf-selt-processing-profile-body;
        include bbf-selt-result-parameters;
        include bbf-selt-pmd-measurement-parameter-body;
        include bbf-selt-processing-derived-parameter-body;
    
        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
         Single Ended Line Test (SELT) as defined in ITU-T G.996.2 and
         BBF TR-298. 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-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 selt-p {
          description
            "Indicates support for Single Ended Line Test Processing
    (SELT-P) profiles.";
          reference
            "ITU-T G.996.2 Annex B";
    
        }
    
        feature extended-bandwidth-selt-uer {
          description
            "Indicates support for extended bandwidth Single Ended Line Test
    (SELT) for reporting the Uncalibrated Echo Response (UER).";
        }
    
        feature extended-bandwidth-selt-qln {
          description
            "Indicates support for extended bandwidth Single Ended Line Test
    (SELT) for reporting Quiet Line Noise (QLN).";
        }
    
        feature extended-bandwidth-selt-tflog {
          description
            "Indicates support for extended bandwidth Single Ended Line Test
    (SELT) for reporting the logarithmic power transfer function
    Tflog(f).";
        }
    
        // typedefs
        typedef pmd-function {
          type enumeration {
            enum "uer-measurement" {
              value 1;
              description
                "Triggers the Central Office (CO) Single Ended Line Test
    Physical Medium Dependent (SELT-PMD) to start an
    Uncalibrated Echo Response (UER) measurement.";
              reference
                "ITU-T G.996.2 clause A.2.3.1 (SELT-UME-C)";
    
            }
            enum "qln-measurement" {
              value 2;
              description
                "Triggers the Central Office (CO) Single Ended Line Test
    Physical Medium Dependent (SELT-PMD) to start a Quiet Line
    Noise (QLN) measurement.";
              reference
                "ITU-T G.996.2 clause A.2.3.3 (SELT-QME-C)";
    
            }
          }
          description
            "The Central Office (CO) Single Ended Line Test Physical Medium
    Dependent (SELT-PMD) function.";
        }
    
        typedef uer-measurement-duration {
          type uint8 {
            range "5..240";
          }
          units "seconds";
          description
            "This parameter is the maximum allowed time for Singe Ended
    Line Test (SELT) Uncalibrated Echo Response (UER) measurement,
    between the time of the start command written by the Single
    Ended Line Test Physical Medium Dependent Management Entity
    (SELT-PMD-ME), and the time the result is available for read
    operation by SELT-PMD-ME.
    
    NOTE - The above duration includes internal pre-processing and
           post-processing.
    
    It is configurable between 5 seconds and 240 seconds, in steps
    of 1 second.";
          reference
            "ITU-T G.996.2 clause A.2.1.1 (SELT-UER-MMD-C, SELT-UER-MMD-R)";
    
        }
    
        typedef qln-measurement-duration {
          type uint8 {
            range "1..240";
          }
          units "seconds";
          description
            "This parameter is the maximum allowed time for Singe Ended
    Line Test (SELT) Quiet Line Noise (QLN) measurement, between
    the time of the start command written by the Single Ended Line
    Test Physical Medium Dependent Management Entity (SELT-PMD-ME),
    and the time the result is available for read operation by
    SELT-PMD-ME.
    
    NOTE - The above duration includes internal pre-processing and
           post-processing.
    
    It is configurable between 1 second and 240 seconds, in steps
    of 1 second.";
          reference
            "ITU-T G.996.2 clause A.2.1.2 (SELT-QLN-MMD-C, SELT-QLN-MMD-R)";
    
        }
    
        typedef pmd-profile-ref {
          type leafref {
            path "/bbf-selt:selt/bbf-selt:profiles/bbf-selt:pmd-profile/bbf-selt:name";
          }
          description
            "Used to reference a Physical Medium Dependent (PMD) profile.";
        }
    
        typedef pmd-result {
          type enumeration {
            enum
              "no-measurement-results-available" {
              value 0;
              description
                "No measurement results are available when no mesurement has
    been performed yet or after measurement results have been
    deleted.";
            }
            enum
              "measurement-failed-results-invalid" {
              value 1;
              description
                "The measurement results are invalid after the most recent
    measurement failed.";
            }
            enum
              "measurement-succeeded-results-valid" {
              value 2;
              description
                "The measurement results are valid after the most recent
    measurement succeeded.";
            }
          }
          description
            "The overall results of the SELT PMD measurement.";
        }
    
        typedef sub-carrier-index {
          type uint16 {
            range "0..8191";
          }
          description
            "Identifies a sub-carrier.";
        }
    
        typedef per-sub-carrier-uint8 {
          type binary {
            length "0..8192";
          }
          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 octet represents the sub-carrier
    group (length - 1).";
        }
    
        typedef per-sub-carrier-int32-tuple {
          type binary {
            length "0..65536";
          }
          description
            "A binary type where each group of 8 octets represents a tuple.
    A tuple consists of two 4-octet groups and represents data
    belonging to a sub-carrier. The first tuple represents
    sub-carrier group 0 and the last tuple represents sub-carrier
    group (length/8 - 1). In each 4-octet group in the tuple,
    the most significant byte is loaded first. The order of the
    tuples is determined by the node to which this type is
    associated.";
        }
    
        typedef per-sub-carrier-uint16 {
          type binary {
            length "0..16384";
          }
          description
            "A binary type where each pair of octets represents data
    belonging to a sub-carrier group. The first pair represents
    sub-carrier group 0 and the last represents sub-carrier
    group (length/2 - 1).";
        }
    
        // groupings
        grouping selt-pmd-control {
          description
            "Defines the parameters contained in the PMD control object.";
          leaf uer-measurement-enable-c {
            type boolean;
            default "false";
            status deprecated;
            description
              "If true, triggers the Central Office (CO) Single Ended Line
    Test Physical Medium Dependent (SELT-PMD) to start an
    Uncalibrated Echo Response (UER) measurement.
    
    A configuration change back to 'false' is required before
    initiating another update.";
            reference
              "ITU-T G.996.2 clause A.2.3.1 (SELT-UME-C)";
    
          }
    
          leaf qln-measurement-enable-c {
            type boolean;
            default "false";
            status deprecated;
            description
              "If true, triggers the Central Office (CO) Single Ended Line
    Test Physical Medium Dependent (SELT-PMD) to start a Quiet
    Line Noise (QLN) measurement.
    
    A configuration change back to 'false' is required before
    initiating another update.";
            reference
              "ITU-T G.996.2 clause A.2.3.3 (SELT-QME-C)";
    
          }
        }  // grouping selt-pmd-control
    
        grouping pmd-control {
          description
            "Physical Medium Dependent (PMD) control configuration.";
          leaf pmd-control {
            type enumeration {
              enum "disable" {
                value 0;
                description
                  "The Central Office (CO) Single Ended Line Test Physical
    Medium Dependent (SELT-PMD) is not configured for a
    measurement.";
              }
              enum "enable" {
                value 1;
                description
                  "The Central Office (CO) Single Ended Line Test Physical
    Medium Dependent (SELT-PMD) is configured for a
    measurement.";
              }
            }
            default "disable";
            description
              "The Central Office (CO) Single Ended Line Test Physical
    Medium Dependent (SELT-PMD) is by default 'disable'. When
    'disable', the line is in normal operation (e.g., in the L0
    state if the line is configured with AdminStatus=up). When
    'enable', the Access Node (AN)/Distribution Point Unit (DPU)
    Maintenance Entity (ME) shall force the line to the L3
    state.";
          }
    
          action request-pmd-function-c {
            description
              "A measurement is by default not triggered. A measurement is
    triggered when the action is sent with the appropriate
    function specified. One or more measurements may be triggered
    while the Central Office (CO) Single Ended Line Test Physical
    Medium Dependent (SELT-PMD) is configured 'enable', possibly
    with different CO SELT-PMD configuration parameters. If the
    triggered measurement cannot be executed, then the
    Access Node (AN)/Distribution Point Unit (DPU) Maintenance
    Entity (ME) rejects this action and the CO SELT-PMD status
    remains 'inactive'.";
            input {
              leaf pmd-function {
                type union {
                  type enumeration {
                    enum "abort" {
                      value 0;
                      description
                        "Triggers the Central Office (CO) Single Ended Line
    Test Physical Medium Dependent (SELT-PMD) to abort
    any currently ongoing measurement.";
                    }
                  }
                  type pmd-function;
                }
                description
                  "The action being requested.";
              }
            }
          }  // rpc request-pmd-function-c
        }  // grouping pmd-control
    
        grouping co-cpe-parameters {
          description
            "Parameters to define the configuration common between the
    Central Office (CO) CO Single Ended Line Test Physical Medium
    Dependent (SELT-PMD) and Customer Premises Equipment (CPE)
    SELT-PMD.";
          leaf uer-measurement-duration {
            type uer-measurement-duration;
            description
              "The Uncalibrated Echo Response (UER) duration for the
    Single Ended Line Test Physical Medium Dependent
    (SELT-PMD).";
            reference
              "ITU-T G.996.2 clause A.2.1.1 (SELT-UER-MMD-C,
              SELT-UER-MMD-R)";
    
          }
    
          leaf qln-measurement-duration {
            type qln-measurement-duration;
            description
              "The Quiet Line Noise(QLN) duration for the Single Ended Line
    Test Physical Medium Dependent (SELT-PMD).";
            reference
              "ITU-T G.996.2 clause A.2.1.2 (SELT-QLN-MMD-C,
              SELT-QLN-MMD-R)";
    
          }
        }  // grouping co-cpe-parameters
    
        grouping pmd-profile {
          description
            "Defines the parameters contained in a Physical Medium Dependent
    (PMD) profile.";
          container c {
            description
              "Managed data nodes applicable to the Central Office (CO)
    Single Ended Line Test Physical Medium Dependent
    (SELT-PMD).";
            uses co-cpe-parameters;
          }  // container c
    
          container r {
            description
              "Managed data nodes applicable to the Customer Premises
    Equipment (CPE) Single Ended Line Test Physical Medium
    Dependent (SELT-PMD).";
            uses co-cpe-parameters;
          }  // container r
        }  // grouping pmd-profile
    
        grouping downstream-upstream-parameters {
          description
            "Parameters to define the configuration common between the
    downstream and upstream directions.";
          container capacity-estimate-signal-psd {
            description
              "This configuration parameter defines the Power Spectral
    Density (PSD) template of the transmit signal to be used in
    capacity estimate evaluation. The PSD template CAP-SIGNALPSD
    shall be specified through a set of breakpoints. Each
    breakpoint shall consist of a frequency index, tn, and a
    signal PSD level (expressed in dBm/Hz). The parameter shall
    be a set of breakpoints represented by [(t1, PSD1),
    (t2, PSD2), ..., (tN, PSDN)], where t1 and tN represent,
    respectively, the lower frequency of the lowest band over
    which the capacity estimate is to be calculated, and the
    highest frequency of highest band over which the capacity
    estimate is to be calculated. In the case of an estimation of
    capacity for a multi-band xDSL, the set of breakpoints shall
    describe the stopbands situated inbetween passbands.
    
    NOTE - Stopbands may be described as brickwall stopbands
           using the lowest valid value (-200 dBm/Hz) or may be
           described more elaborately.
    
    The breakpoints shall be defined so that tn < tn+1 for n = 1
    to N - 1. The frequency fn corresponding to the index tn can
    be found as: fn = tn * Df. The value of Df = 4.3125 kHz and
    is independent of the subcarrier spacing used for the DMT
    modulation of the xDSL.
    
    The range of valid values for index tn is 0 to 8191 in steps
    of 1. The range of valid values for PSD is -30 to -200
    dBm per Hz in steps of 0.1 dBm per Hz.";
            reference
              "ITU-T G.996.2 clause B.2.1.2 (CAP-SIGNALPSD)";
    
            list psd {
              key "t";
              max-elements 48;
              description
                "A list of Power Spectral Density (PSD) values per
    breakpoint, t.";
              leaf t {
                type uint16 {
                  range "0..8191";
                }
                description
                  "The breakpoint index.";
              }
    
              leaf psd {
                type int16 {
                  range "-2000..-300";
                }
                units "0.1 dBm per Hz";
                mandatory true;
                description
                  "The Power Spectral Density (PSD) value.";
              }
            }  // list psd
          }  // container capacity-estimate-signal-psd
    
          container capacity-estimate-noise-psd {
            description
              "This configuration parameter defines the Power Spectral
    Density (PSD) template of the received noise to be used in
    capacity estimate evaluation. The PSD template CAP-NOISEPSD
    shall be specified through a set of breakpoints. Each
    breakpoint shall consist of a frequency index tn and a signal
    PSD level (expressed in dBm/Hz). The parameter shall be a set
    of breakpoints that are represented by [(t1, PSD1),
    (t2, PSD2), ... ,(tN, PSDN)], where t1 and tN are,
    respectively, the lower frequency of the lowest band over
    which the capacity estimate is to be calculated, and the
    highest frequency of highest band over which the capacity
    estimate is to be calculated.
    
    In the case of an estimation of capacity for a multi-band
    xDSL, with the CAP-SIGNALPSD stopbands described as
    brickwall stopbands, the set of breakpoints for CAP-NOISEPSD
    is not required to describe the noise in the stopbands
    situated inbetween passbands. In case the CAP-SIGNALPSD
    stopbands are not described as brickwall stopbands, the set
    of breakpoints for CAP-NOISEPSD shall describe the noise in
    the stopbands situated inbetween passbands. The breakpoints
    shall be defined so that tn < tn+1 for n = 1 to N - 1. The
    frequency fn corresponding to the index tn can be found as:
    fn = tn * Df. The value of Df = 4.3125 kHz and is
    independent of the subcarrier spacing used for the DMT
    modulation of the xDSL.
    
    The range of valid values for index tn is 0 to 8191, in
    steps of 1. The range of valid values for PSD is -30 to -200
    dBm per Hz, in steps of 0.1 dBm per Hz.";
            reference
              "ITU-T G.996.2 clause B.2.1.3 (CAP-NOISEPSD)";
    
            list psd {
              key "t";
              max-elements 128;
              description
                "A list of Power Spectral Density (PSD) values per
    breakpoint, t.";
              leaf t {
                type uint16 {
                  range "0..8191";
                }
                description
                  "The breakpoint index.";
              }
    
              leaf psd {
                type int16 {
                  range "-2000..-30";
                }
                units "0.1 dBm per Hz";
                mandatory true;
                description
                  "The Power Spectral Density (PSD) value.";
              }
            }  // list psd
          }  // container capacity-estimate-noise-psd
    
          leaf capacity-estimate-target-noise-margin {
            type uint16 {
              range "0..310";
            }
            units "0.1 dB";
            description
              "This is the noise margin to be used in capacity estimate
    evaluation, relative to a Bit Error Rate (BER) requirement
    of 1E-7.
    
    The range of valid values for CAP-TARSNRM expressed in dB is
    0 to 31 dB, in steps of 0.1 dB.";
            reference
              "ITU-T G.996.2 clause B.2.1.4 (CAP-TARSNRM)";
    
          }
        }  // grouping downstream-upstream-parameters
    
        grouping processing-profile {
          description
            "Defines the parameters contained in a processing profile.";
          leaf capacity-estimate-calculation-enabling {
            type boolean;
            description
              "This parameter specifies if the Single Ended Line Test
    Processing (SELT-P) function shall perform the 'downstream
    capacity' and 'upstream capacity' estimations, if supported.
    This parameter is expressed as a boolean flag and takes the
    value 'false' if xDSL performance estimation is not required,
    true otherwise.";
            reference
              "ITU-T G.996.2 clause B.2.1.1 (CECE)";
    
          }
    
          container downstream {
            description
              "Data nodes applicable in the downstream direction.";
            uses downstream-upstream-parameters;
          }  // container downstream
    
          container upstream {
            description
              "Data nodes applicable in the upstream direction.";
            uses downstream-upstream-parameters;
          }  // container upstream
        }  // grouping processing-profile
    
        grouping pmd-status {
          description
            "Status parameters for the Physical Medium Dependent (PMD)
    object.";
          leaf selt-status-c {
            type enumeration {
              enum "inactive" {
                value 0;
                description
                  "The Central Office (CO) Single Ended Line Test Physical
    Medium Dependent (SELT-PMD) is inactive.";
              }
              enum "uer-ongoing" {
                value 1;
                description
                  "The Central Office (CO) Single Ended Line Test Physical
    Medium Dependent (SELT-PMD) has an Uncalibrated Echo
    Response (UER) measurement ongoing.";
              }
              enum "qln-ongoing" {
                value 2;
                description
                  "The Central Office (CO) Single Ended Line Test Physical
    Medium Dependent (SELT-PMD) has a Quiet Line Noise (QLN)
    measurement ongoing.";
              }
            }
            description
              "The status of the Central Office (CO) Single Ended Line Test
    Physical Medium Dependent (SELT-PMD) measurement.
    
    Upon the CO SELT PMD request triggering an Uncalibrated Echo
    Response (UER) measurement, the CO SELT PMD status shall
    become 'uer-ongoing' if the measurement is executed.
    
    Upon the CO SELT PMD request triggering a Quiet Line Noise
    (QLN) measurement, the CO SELT PMD status shall become
    'qln-ongoing' if the measurement is executed.
    
    Upon abortion, failure or successful completion of the UER or
    QLN measurement, the CO SELT PMD status shall become
    'inactive' and the Access Node (AN)/Distribution Point Unit
    (DPU) Management Entity (ME) shall send a notification to the
    NMS.";
            reference
              "ITU-T G.996.2 clause A.3.3";
    
          }
    
          leaf uer-results-c {
            type pmd-result;
            description
              "The status of the Central Office (CO) Single Ended Line Test
    Physical Medium Dependent (SELT-PMD) Uncalibrated Echo
    Response (UER) measurement results.";
            reference
              "ITU-T G.996.2 clause A.3.4";
    
          }
    
          leaf qln-results-c {
            type pmd-result;
            description
              "The status of the Central Office (CO) Single Ended Line Test
    Physical Medium Dependent (SELT-PMD) Quiet Line Noise (QLN)
    measurement results.";
            reference
              "ITU-T G.996.2 clause A.3.5";
    
          }
        }  // grouping pmd-status
    
        grouping co-cpe-measurement-parameters {
          description
            "Defines the measurement parameters common between the Central
    Office (CO) Single Ended Line Test Physical Medium Dependent
    (SELT-PMD) and Customer Premises Equipment (CPE) SELT-PMD.";
          container uncalibrated-echo-response {
            description
              "The Uncalibrated Echo Response, UER(i* UER_G*Df), shall be
    represented in linear format by a scale factor and a
    normalized complex number a(i)+j*b(i), where i is a frequency
    index i ranging from 0 to NSC-1, the subcarrier spacing,
    Df = 4.3125 kHz, and (NSC-1) x UER_G x Df is the highest
    frequency supported by the SELT-PMD functionality.
    
    The UER granularity parameter, UER_G, has three valid
    values: 1, 2, and 12, indicating whether the measurements
    were performed using a subcarrier spacing of 4.3125 kHz,
    8.625 kHz, or 51.75 kHz respectively.
    
    The scale factor shall be coded as a 32-bit unsigned integer.
    Both a(i) and b(i) shall be coded as 32 bit 2's complement
    signed integers. The value of UER(i* UER_G*Df) shall be
    defined as:
      UER(i* UER_G*Df) = (scale/2^31)*(a(i)+j*b(i))/2^31.
    In order to maximize precision, the scale factor shall be
    chosen such that max(|a(i)|, |b(i)|) over all i is equal to
    2^31-1.
    
    NOTE - This data format supports an UER(f) granularity of
    2-31 and an UER(f) dynamic range of approximately +6 dB to
    -186 dB, however it does not imply any future accuracy
    requirements.
    
    An UER(i*UER_G* Df) value indicated as a(i) = b(i) = -2^31 is
    a special value. It indicates that no measurement could be
    done for this subcarrier either because it is not supported
    by the Single Ended Line Test Physical Medium Dependent
    (SELT-PMD) function, or that the value is out of range
    to be represented.";
            reference
              "ITU-T G.996.2 clause A.2.2.1 (SELT-UER-C, SELT-UER-R)";
    
            leaf scale-factor {
              type uint32;
              description
                "The scale factor used in the Uncalibrated Echo Response
    (UER) measurement.";
            }
    
            leaf uer-g {
              type uint8 {
                range "1 | 2 | 12";
              }
              description
                "The Single Ended Line Test Uncalibrated Echo Response Group
    size (SELT-UER_G) is a reported parameter identifying the
    UER frequency spacing, which is equal to SELT-UER_G x Df
    with Df = 4.3125 kHz. SELT-UER_G has three valid values:
    1, 2, and 12. Section A.2.2.1 refers to SELT-UER_G as the
    UER granularity parameter, UER_G.";
              reference
                "ITU-T G.996.2 clause A.2.2.2 (SELT-UER_G)";
    
            }
    
            leaf uer {
              type per-sub-carrier-int32-tuple;
              description
                "An array of tuples representing the a(i) and b(i) values
    as described below. In each tuple, a(i) is loaded first.";
              reference
                "ITU-T G.996.2 clause A.2.2.1 (SELT-UER-C, SELT-UER-R)";
    
            }
          }  // container uncalibrated-echo-response
    
          leaf uncalibrated-echo-response-variance {
            type per-sub-carrier-uint8;
            description
              "The REL_VAR_UER(f) provides the relative variance of the
    Uncalibrated Echo Response by the Single Ended Line Test
    Physical Medium Dependent (SELT-PMD) function for each
    frequency i * UER_G * Df, where i ranges from 0 to NSC-1,
    Df = 4.3125 kHz, and (NSC-1) * UER_G * Df is the highest
    frequency supported by the SELT-PMD functionality.
    
    The relative variance of the Uncalibrated Echo Response
    REL_VAR_UER(i* UER_G *Df) shall be represented as an 8-bit
    unsigned integer v(i), where i is the subcarrier index
    i = 0 to NSC-1. The value of REL_VAR_UER(i* UER_G *Df) shall
    be defined as REL_VAR_UER(i* UER_G *Df) = 3 - v(i)/2 dB.
    The number v(i) is an 8-bit unsigned integer in the range 0
    to 254. This data format supports a REL_VAR_UER(i) over a
    range from -124 dB to +3 dB for each carrier with a
    granularity from 0.5 dB. Out of range values shall be
    clamped to the closest range bound. The special value v(i) =
    255 indicates that no measurement is available for that
    carrier.";
            reference
              "ITU-T G.996.2 clause A.2.2.2 (SELT-UER-VAR-C,
              SELT-UER-VAR-R)";
    
          }
    
          container quiet-line-noise {
            description
              "The Single Ended Line Test Quiet Line Noise (SELTQLN)
    provides the quiet line noise Power Spectral Density (PSD)
    as measured by the Single Ended Line Test Physical Medium
    Dependent (SELT-PMD) function (see clause A.1.1.2) for
    each sub-carrier frequency i x SELTQLN_G x Df where i ranges
    from 0 to NSC-1, Df = 4.3125 kHz, and
    (NSC-1) x SELTQLN_G x Df is the highest frequency supported
    by the SELT-PMD functionality.
    
    SELTQLN_G has three valid values: 1, 2, and 12, indicating
    whether the measurements were performed using a subcarrier
    spacing of 4.3125 kHz, 8.625 kHz, or of 51.75 kHz
    respectively.
    
    SELT quiet line noise SELTQLN(i x SELTQLN_G x Df) shall be
    represented as an 8 bit unsigned integer n(i), where i is the
    subcarrier index i = 0 to NSC-1. The value of
    SELTQLN(i x SELTQLN_G x Df) shall be defined as
    SELTQLN(i x SELTQLN_G x Df ) = -23 - (n(i)/2) dBm/Hz. This
    data format supports a SELTQLN(f) granularity of 0.5 dB and
    an SELTQLN(f) dynamic range of -150 to -23 dBm/Hz.";
            reference
              "ITU-T G.996.2 clause A.2.2.3 (SELT-QLN-C, SELT-QLN-R)";
    
            leaf seltqln-g {
              type uint8 {
                range "1 | 2 | 12";
              }
              description
                "The Single Ended Line Test Quiet Line Noise Group size
    (SELTQLN_G) is a reported parameter identifying the
    SELTQLN frequency spacing, which is equal to SELTQLN_G x Df
    with Df = 4.3125 kHz. SELTQLN_G has three valid values:
    1, 2, and 12.";
              reference
                "ITU-T G.996.2 clause A.2.2.3 (SELTQLN_G)";
    
            }
    
            leaf qln {
              type per-sub-carrier-uint8;
              description
                "An array of values representing n(i).";
            }
          }  // container quiet-line-noise
        }  // grouping co-cpe-measurement-parameters
    
        grouping pmd-measurement-parameters {
          description
            "Defines the Single Ended Line Test Physical Medium Dependent
    (SELT-PMD) measurement parameters.";
          container c {
            description
              "Parameters applicable to the Central Office (CO) Single Ended
    Line Test Physical Medium Dependent (SELT-PMD).";
            uses co-cpe-measurement-parameters;
          }  // container c
    
          container r {
            description
              "Parameters applicable to the Customer Premises Equipment
    (CPE) Single Ended Line Test Physical Medium Dependent
    (SELT-PMD).";
            uses co-cpe-measurement-parameters;
          }  // container r
        }  // grouping pmd-measurement-parameters
    
        grouping downstream-upstream-derived-parameters {
          description
            "Derived parameters that are common between the downstream and
    upstream directions.";
          leaf capacity-estimate {
            type bbf-yang:data-rate32;
            description
              "This parameter represents a best-effort estimate of the
    achievable net data rate (in kilobits per second) on the loop
    under test, under the following assumptions:
    
    - Fast mode (i.e., operation with interleaver depth D=1, and
      INP=0 (no impulse noise protection))
    - use of Trellis coding
    - target margin equal to CAP-TARSNRM (see clause B.2.1.4)
    - transmit signal PSD at the U-interface of the
      xTU-transmitter equal to CAP-SIGNALPSD
    - noise PSD at the U-interface of the xTU-receiver equal to
      CAP-NOISEPSD
    - support of bit loading from 1 to 15 bits included, in
      steps of 1 bit increments.
    
    As the capacity is a best-effort estimate, accuracy for this
    parameter is vendor proprietary. The parameter in the
    downstream direction is CAPACITYds, and the parameter in the
    upstream direction is CAPACITYus.";
            reference
              "ITU-T G.996.2 clauses B.2.1.2, B.2.1.3 and B.2.2.7
              (CAP-EST)";
    
          }
        }  // grouping downstream-upstream-derived-parameters
    
        grouping processing-derived-parameters {
          description
            "Defines the Single Ended Line Test Processing (SELT-P) derived
    parameters.";
          leaf loop-termination-indicator {
            type enumeration {
              enum "open" {
                value 0;
                description "Open.";
              }
              enum "short" {
                value 1;
                description "Short.";
              }
              enum "powered-by-cpe" {
                value 2;
                description
                  "Powered on Customer Premises Equipment (CPE).";
              }
              enum "unknown" {
                value 3;
                description
                  "Unknown (i.e., failure in identifying the termination).";
              }
            }
            description
              "Loop termination indicator is a three state indication of
    the loop termination defined as follows.
    
    1) Open
    2) Short
    3) Powered on CPE
    4) Unknown (i.e., failure in identifying the termination).";
            reference
              "ITU-T G.996.2 clause B.2.2.1 (LOOP-TERM)";
    
          }
    
          leaf loop-length {
            type uint16 {
              range "0..16383";
            }
            units "meters";
            description
              "This parameter is the physical length (in metres) of the
    loop between the U-C and the U-R interface. The loop length
    shall be measured with a granularity of 1 meter, with valid
    range of 0 to 16383 meters.";
            reference
              "ITU-T G.996.2 clause B.2.2.2 (LOOP-LEN)";
    
          }
    
          container loop-topology {
            description
              "The loop topology consists of a description of the loop
    structure, with indication of the physical length of each
    loop segment. In this parameter, a loop segment is defined
    as delimited by either a loop termination, or the presence
    of a bridged tap.
    
    NOTE 1 - Two cables with different gauges/cable-types
    	 connected in series are considered as a single loop
    	 segment.
    
    The loop topology is reported as a list of loop segments,
    using the following conventions:
    
    1) The first loop segment in the list shall be the segment
       connected to the Single Ended Line Test Physical Medium
       Dependent (SELT-PMD) block measuring the SELT-PMD
       measurement parameters (i.e., the SELT-PMD block shall be
       the starting point of the topology description).
    2) Subsequent loop segments in the list shall describe the
       loop in the direction toward the farend loop termination.
    3) Consecutive loop segments indicated as 'bridged tap'
       represent bridged taps, each branching off from the main
       loop at the same point.
    
    NOTE 2 - Identification of a bridged tap branching off on a
    	 bridged tap is not supported by this parameter.
    	 A single loop segment is specified with two
    	 sub-parameters: loop segment length (see clause
    	 B.1.1.3.1) and loop segment bridged tap indicator
    	 (see clause B.1.1.3.2).
    
    If this parameter is supported, reporting of up to three
    segments is a mandatory capability. Reporting of additional
    segments is optional.";
            reference
              "ITU-T G.996.2 clause B.2.2.3 (LOOP-TOPOLOGY)";
    
            list loop {
              key "i";
              description
                "A list of loop segments including the length and whether
    there is a bridged tap.";
              leaf i {
                type uint8;
                description
                  "The segment number. The first loop segment in the list
    shall be the segment connected to the Single Ended Line
    Test Physical Medium Dependent (SELT-PMD) block measuring
    the SELT-PMD measurement parameters (i.e., the SELT-PMD
    block shall be the starting point of the topology
    description). Subsequent loop segments in the list shall
    shall describe the loop in the direction toward the
    far-end loop termination.";
              }
    
              leaf len {
                type uint16 {
                  range "0..16383";
                }
                units "meters";
                description
                  "This parameter specifies the physical length of the loop
    segment, in metres. The loop segment length shall be
    measured with a granularity of 1 meter, with a valid
    range of 0 to 16383 meters.";
                reference
                  "ITU-T G.996.2 clause B.1.1.3.1 (LOOP_SEGM_LENGTH)";
    
              }
    
              leaf bti {
                type enumeration {
                  enum "in-series" {
                    value 0;
                    description "In series.";
                  }
                  enum "bridged-tap" {
                    value 1;
                    description "Bridged tap.";
                  }
                }
                description
                  "This parameter specifies whether the loop segment is a
    bridged tap or arranged in series (i.e., not branching,
    not a bridged tap).
    
    The valid values are:
    
    1) in series
    2) bridged tap.";
                reference
                  "ITU-T G.996.2 clause B.1.1.3.1 (LOOP_SEGM_LENGTH)";
    
              }
            }  // list loop
          }  // container loop-topology
    
          container attenuation-characteristics {
            description
              "The line attenuation TFlog(f) is the logarithmic power
    transfer function of the line as a function of frequency
    when both the near-end and far-end line terminations have
    the following values:
    
    - Source impedance = purely resistive equal to 100 ohms
    - Termination impedance = purely resistive equal to 100 ohms
    
    The definition for reporting the line attenuation TFlog(f)
    depends on whether or not the option for extended bandwidth
    Single Ended Line Test (SELT) is applied.
    
    The function TFlog(f) consists of an array of values
    TFlog(i * TFlog_G * Df), with Df = 4.3125 kHz.
    
    NOTE - In the case where the instantiation of the LT unit is
           the same as the instantiation of the xTU transceiver
           unit, this value may be independent of the subcarrier
           spacing used for the xDSL DMT modulation.
    
    The range of valid values for the index i is 0 to 8191.
    
    The attenuation characteristics group size, TFlog_G, has
    three valid values: 1, 2, and 12, indicating whether the
    measurements were performed using a subcarrier spacing of
    4.3125 kHz, 8.625 kHz, or 51.75 kHz respectively.
    
    The range of valid values for TFlog(i * Df) is from +6.0 dB
    down to -96.2 dB, with a granularity of 0.1 dB (represented
    as values 0 to 1022). A special value, 1023, is used to
    indicate that no measurement could be done for this
    subcarrier because the attenuation is out of the range that
    can be represented.";
            reference
              "ITU-T G.996.2 clause B.2.2.6 (ATT-CHAR)";
    
            leaf tflog-g {
              type uint8 {
                range "1 | 2 | 12";
              }
              description
                "The attenuation characteristics group size (TFlog_G) is a
    reported parameter identifying the attenuation
    characteristics, TFlog(f), at a frequency spacing equal to
    TFlog_G x Df with Df = 4.3125 kHz. TFlog_G has three valid
    values: 1, 2, and 12.";
            }
    
            leaf tflog {
              type per-sub-carrier-uint16;
              description
                "An array of values for Tflog(f).";
            }
          }  // container attenuation-characteristics
    
          leaf missing-micro-filter {
            type boolean;
            description
              "This parameter is a binary indication of a missing or
    incorrectly installed splitter or micro-filter at the U-R
    reference point. A value of 'true' for this flag represents a
    missing splitter. This parameter is only defined for the
    SELT-P-R functionality.";
            reference
              "ITU-T G.996.2 clause B.2.2.4 (MIS-FILTER)";
    
          }
    
          container downstream {
            description
              "Managed data nodes applicable in the downstream direction.";
            uses downstream-upstream-derived-parameters;
          }  // container downstream
    
          container upstream {
            description
              "Managed data nodes applicable in the upstream direction.";
            uses downstream-upstream-derived-parameters;
          }  // container upstream
        }  // grouping processing-derived-parameters
    
        // objects
        container selt {
          description
            "Single Ended Line Test (SELT) configuration.";
          container profiles {
            description
              "Configuration profiles.";
          }  // container profiles
        }  // container selt
    
        augment /if:interfaces/if:interface {
          when "if:type = 'ianaift:fastdsl'" {
            description
              "Only applicable when the interface type is 'fastdsl'.";
          }
          description
            "Data nodes for the configuration of Single Ended Line Test
    (SELT).";
          container selt {
            presence
              "If present, indicates that the interface is capable of
    performing Single Ended Line Test (SELT) functionality as
    defined in ITU-T G.996.2.";
            description
              "Configuration data for Single Ended Line Test (SELT).";
          }  // container selt
        }
    
        augment /if:interfaces-state/if:interface {
          when "if:type = 'ianaift:fastdsl'" {
            description
              "Only applicable when the interface type is 'fastdsl'.";
          }
          description
            "Data nodes for the operational state data of Single Ended Line
    Test (SELT).";
          container selt {
            presence
              "If present, indicates that the interface is capable of
    performing Single Ended Line Test (SELT) functionality as
    defined in ITU-T G.996.2.";
            description
              "Operational state data for Single Ended Line Test (SELT).";
          }  // container selt
        }
    
        augment /bbf-selt:selt/bbf-selt:profiles {
          description
            "Data nodes for Physical Medium Dependent (PMD) configuration
    profiles.";
          list pmd-profile {
            key "name";
            description
              "A list of Physical Medium Dependent (PMD) profiles.";
            leaf name {
              type bbf-yang:string-ascii64;
              description
                "A name that uniquely identifies the profile.";
            }
    
            uses pmd-profile;
          }  // list pmd-profile
        }
    
        augment /bbf-selt:selt/bbf-selt:profiles {
          if-feature selt-p;
          description
            "Data nodes for processing profiles.";
          list processing-profile {
            key "name";
            description
              "A list of processing profiles.";
            leaf name {
              type bbf-yang:string-ascii64;
              description
                "A name that uniquely identifies the profile.";
            }
    
            uses processing-profile;
          }  // list processing-profile
        }
    
        augment /if:interfaces/if:interface/bbf-selt:selt {
          description
            "Data nodes to support the assignment of Single Ended Line Test
    (SELT) configuration.";
          leaf pmd-profile {
            type pmd-profile-ref;
            status deprecated;
            description
              "References a Single Ended Line Test Physical Medium
    Dependent (SELT-PMD) profile. This method of configuration
    has been deprecated. The 'profile-config' method should
    instead be used.";
          }
    
          leaf processing-profile {
            if-feature selt-p;
            type leafref {
              path "/bbf-selt:selt/bbf-selt:profiles/bbf-selt:processing-profile/bbf-selt:name";
            }
            status deprecated;
            description
              "References a Single Ended Line Test Processing (SELT-P)
    profile. This method of configuration has been deprecated.
    The 'profile-config' method should instead be used.";
          }
    
          container selt-pmd-control {
            status deprecated;
            description
              "Data nodes to support the Single Ended Line Test Physical
    Medium Dependent (SELT-PMD) control object.
    
    This container was mistakenly renamed to 'pmd-control'
    starting in Amendment 1 and is now added back to allow a
    backward compatible transition from Issue 1 to Amendment 4 or
    later.";
            uses selt-pmd-control {
              status deprecated;
            }
          }  // container selt-pmd-control
    
          container pmd-control {
            status deprecated;
            description
              "Data nodes to support the Single Ended Line Test Physical
    Medium Dependent (SELT-PMD) control object.";
            uses selt-pmd-control {
              status deprecated;
            }
          }  // container pmd-control
    
          choice profile-config {
            description
              "The method for configuring profiles used for a Single Ended
    Line Test (SELT) on this interface. 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.";
            }
            container direct-attachment-mode {
              description
                "Configuration associated with assigning Single Ended Line
    Test (SELT) profiles.";
              leaf pmd-profile {
                type pmd-profile-ref;
                mandatory true;
                description
                  "References a Single Ended Line Test Physical Medium
    Dependent (SELT-PMD) profile.";
              }
    
              leaf processing-profile {
                if-feature selt-p;
                type leafref {
                  path "/bbf-selt:selt/bbf-selt:profiles/bbf-selt:processing-profile/bbf-selt:name";
                }
                mandatory true;
                description
                  "References a Single Ended Line Test Processing (SELT-P)
    profile.";
              }
            }  // container direct-attachment-mode
          }  // choice profile-config
        }
    
        augment /if:interfaces/if:interface/bbf-selt:selt/bbf-selt:profile-config/bbf-selt:direct-attachment-mode/bbf-selt:direct-attachment-mode {
          description
            "Data nodes for the configuration of Single Ended Line Test
    Physical Medium Dependent (SELT-PMD) control.";
          container pmd-control {
            description
              "Data nodes to support the Single Ended Line Test
    Physical Medium Dependent (SELT-PMD) control object.";
            uses pmd-control;
          }  // container pmd-control
        }
    
        augment /if:interfaces-state/if:interface/bbf-selt:selt {
          description
            "Data nodes for the configuration of Single Ended Line Test
    Physical Medium Dependent (SELT-PMD) status.";
          container pmd-status {
            description
              "Data nodes to support the Single Ended Line Test
    Physical Medium Dependent (SELT-PMD) control object.";
            uses pmd-status;
          }  // container pmd-status
    
          notification selt-pmd-completed {
            description
              "Indicates that a Single Ended Line Test Physical Medium
    Dependent (SELT-PMD) function has failed, succeeded
    or has been aborted.";
            leaf function {
              type pmd-function;
              mandatory true;
              description
                "The function that was performed or attempted to perform.";
            }
    
            leaf result {
              type pmd-result;
              mandatory true;
              description
                "The result of the attempted execution of the Single Ended
    Line Test Physical Medium Dependent (SELT-PMD) function.";
            }
          }  // notification selt-pmd-completed
        }
    
        augment /if:interfaces-state/if:interface/bbf-selt:selt {
          description
            "Data nodes to support the reporting of SELT result
    parameters.";
          container pmd-measurement-parameters {
            description
              "Single Ended Line Test Physical Medium Dependent (SELT-PMD)
    measurement parameters.";
            uses pmd-measurement-parameters;
          }  // container pmd-measurement-parameters
    
          container processing-derived-parameters {
            if-feature selt-p;
            description
              "Single Ended Line Test Processing (SELT-P) derived
    parameters.";
            uses processing-derived-parameters;
          }  // container processing-derived-parameters
        }
      }  // module bbf-selt
    

© 2023 YumaWorks, Inc. All rights reserved.