netconfcentral logo

bbf-fast-line-spectrum-profile-body@2020-01-17



  submodule bbf-fast-line-spectrum-profile-body {

    yang-version 1.1;

    belongs-to bbf-fast {
        prefix bbf-fast;
    }

    include bbf-fast-base;

    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:   Ken Kerpez, ASSIA, Inc.

PS Leader:   Joey Boyd, ADTRAN

WA Director: Sven Ooghe, Nokia

WA Director: Joey Boyd, ADTRAN";

    description
      "This submodule contains a collection of YANG definitions for
managing line spectrum profiles.

Copyright (c) 2016-2020 Broadband Forum

Redistribution and use in source and binary forms, with or
without modification, are permitted provided that the following
conditions are met:

1. Redistributions of source code must retain the above copyright
   notice, this list of conditions and the following disclaimer.

2. Redistributions in binary form must reproduce the above
   copyright notice, this list of conditions and the following
   disclaimer in the documentation and/or other materials
   provided with the distribution.

3. Neither the name of the copyright holder nor the names of its
   contributors may be used to endorse or promote products
   derived from this software without specific prior written
   permission.

THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND
CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES,
INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR
CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

The above license is used as a license under copyright only.
Please reference the Forum IPR Policy for patent licensing terms
<https://www.broadband-forum.org/ipr-policy>.

Any moral rights which are necessary to exercise under the above
license grant are also deemed granted under this license.

This version of this YANG module is part of TR-355a2; see
the TR itself for full legal notices.";

    revision "2020-01-17" {
      description
        "Amendment 2 Corrigendum 2.
* Approval Date:    2020-01-17
* Publication Date: 2020-01-17.";
      reference
        "TR-355a2c2: YANG Modules for FTTdp Management
        	    <https://www.broadband-forum.org/download/
        		   TR-355_Amendment-2.pdf>";

    }

    revision "2019-10-21" {
      description
        "Amendment 2 Corrigendum 1.
* Approval Date:    2019-10-21
* Publication Date: 2019-10-21.";
      reference
        "TR-355a2c1: YANG Modules for FTTdp Management
        	    <https://www.broadband-forum.org/download/
        		   TR-355_Amendment-2.pdf>";

    }

    revision "2019-06-11" {
      description
        "Amendment 2.
* Approval Date:    2019-06-11
* Publication Date: 2019-06-11.";
      reference
        "TR-355a2: YANG Modules for FTTdp Management
        	  <https://www.broadband-forum.org/technical/download/
        		 TR-355_Amendment-2.pdf>";

    }

    revision "2018-10-01" {
      description
        "Amendment 1.
* Approval Date:    2018-10-01
* Publication Date: 2018-10-01.";
      reference
        "TR-355a1: YANG Modules for FTTdp Management
        	  <https://www.broadband-forum.org/technical/download/
        		 TR-355_Amendment-1.pdf>";

    }

    revision "2017-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>";

    }


    typedef profiles {
      type bits {
        bit g.9701-profile-106a {
          position 0;
          description
            "ITU-T G.9701 profile 106a.";
        }
        bit g.9701-profile-106b {
          position 1;
          description
            "ITU-T G.9701 profile 106b.";
        }
        bit g.9701-profile-212a {
          position 2;
          description
            "ITU-T G.9701 profile 212a.";
        }
        bit g.9701-profile-106c {
          position 3;
          description
            "ITU-T G.9701 profile 106c.";
        }
        bit g.9701-profile-212c {
          position 4;
          description
            "ITU-T G.9701 profile 212c.";
        }
      }
      description
        "Identifies supported FAST profiles.";
      reference
        "ITU-T G.9701 clause 6.";

    }

    typedef psd-level {
      type uint8 {
        range "0..200";
      }
      units "-0.5 dBm/Hz";
      description
        "Defines a Power Spectral Density (PSD) level in the range 0 to
-100 dBm/Hz.";
    }

    typedef sub-carrier-index {
      type uint16 {
        range "0..4095";
      }
      description
        "Identifies a sub-carrier.";
    }

    typedef psd-level-sub-carrier-index {
      type uint32 {
        range "39..4096";
      }
      description
        "Identifies a sub-carrier used for Power Spectral Density (PSD)
level configuration";
    }

    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;
        must ". <= ../stop-index" {
          description
            "The start index must be less than or equal to the stop
index";
        }
        description
          "The sub-carrier index identifying the start of a range of
sub-carriers (inclusive).";
      }

      leaf stop-index {
        type sub-carrier-index;
        must ". >= ../start-index" {
          description
            "The stop index must be greater than or equal to the
start index";
        }
        mandatory true;
        description
          "The sub-carrier index identifying the stop of a range of
sub-carriers (inclusive).";
      }
    }  // grouping sub-carrier-range

    grouping power-and-spectrum-usage-parameters {
      description
        "Power and spectrum usage configuration parameters.";
      reference
        "ITU-T G.997.2 clause 7.1.2.";

      leaf maximum-aggregate-transmit-power {
        type int16 {
          range "-310..310";
        }
        units "0.1dBm";
        default "40";
        description
          "Defines the maximum aggregate transmit power at the U-O2
reference point during initialization and showtime
(in dBm).";
        reference
          "ITU-T G.997.2 clause 7.1.2.1 (MAXATPds) and clause 7.1.2.2
          (MAXATPus); ITU-T G.9701 Clause 7.3.2";

      }

      list carmask {
        key "start-index";
        max-elements 32;
        description
          "This list defines the masked sub-carrier bands. All
sub-carriers within the band, i.e., with indices higher than
or equal to the start sub-carrier index and lower than or
equal to the stop sub-carrier index, are masked, i.e., have
a transmit power set to zero (linear scale).";
        reference
          "ITU-T G.997.2 clause 7.1.2.3 (CARMASKds) and clause 7.1.2.4
          (CARMASKus); ITU-T G.9701 Clause 7.3.1.3.";

        uses sub-carrier-range;
      }  // list carmask
    }  // grouping power-and-spectrum-usage-parameters

    grouping line-spectrum-profile {
      description
        "Defines the parameters contained in a line spectrum
profile.";
      leaf profiles {
        type union {
          type enumeration {
            enum "all" {
              value 0;
              description
                "Used to indicate that all profiles are allowed.";
            }
          }
          type profiles;
        }
        default "all";
        description
          "Defines for each profile whether operation according to
that profile is allowed or disallowed.";
        reference
          "ITU-T G.997.2 clause 7.1.0.1 (PROFILES); ITU-T G.9701
          clause 6.";

      }

      leaf link-state-enabling {
        type enumeration {
          enum "l0-l3-enabled" {
            value 0;
            description
              "L0 and L3 enabled (L2.1N, L2.1B, L2.2 disabled).";
          }
          enum "l0-l3-l2.1n-enabled" {
            value 1;
            description
              "L0, L3 and L2.1N enabled (L2.1B, L2.2 disabled).";
          }
          enum "l0-l3-l2.1n-l2.1b-enabled" {
            value 2;
            description
              "L0, L3, L2.1N and L2.1B enabled (L2.2 disabled).";
          }
          enum
            "l0-l3-l2.1n-l2.1b-l2.2-enabled" {
            value 3;
            description
              "L0, L3, L2.1N, L2.1B and L2.2 enabled.";
          }
        }
        default
          "l0-l3-l2.1n-l2.1b-l2.2-enabled";
        description
          "Selects the set of allowed low power mode states.";
        reference
          "ITU-T G.997.2 clause 7.14.1.2(LS-ENABLE); ITU-T G.9701
          clause 12.1.1.7.2";

      }

      leaf maximum-psd-reduction-in-l2 {
        type uint8 {
          range "0..10 | 255";
        }
        units "dB";
        default "0";
        description
          "Defines the maximum Power Spectral Density (PSD) reduction
allowed during the L2.1N, L2.2B and L2.2 link states for both
the upstream and downstream direction. The special value,
255, indicates there is no maximum bound for the PSD
reduction (i.e., the maximum PSD reduction is infinite).";
        reference
          "ITU-T G.997.2 clause 7.1.10.3 (L2.1-MAXPSDR); ITU-T G.9701
          clause 13.4.1.4.";

      }

      container downstream {
        description
          "Downstream specific line spectrum configuration
parameters.";
        uses power-and-spectrum-usage-parameters;

        list mibpsdmask {
          must
            "count(../mibpsdmask)=0 or
(count(../mibpsdmask[sub-carrier-index=39])=1 and not (
(contains(../../profiles,'g.9701-profile-106a') and
not(../mibpsdmask[sub-carrier-index=2048])) or
(contains(../../profiles,'g.9701-profile-106b') and
not(../mibpsdmask[sub-carrier-index=2048])) or
(contains(../../profiles,'g.9701-profile-212a') and
not(../mibpsdmask[sub-carrier-index=4096])) or
(contains(../../profiles,'g.9701-profile-106c') and
not(../mibpsdmask[sub-carrier-index=2048])) or
(contains(../../profiles,'g.9701-profile-212c') and
not(../mibpsdmask[sub-carrier-index=4096])) or
(../../profiles='all' and
(not(../mibpsdmask[sub-carrier-index=2048]) or
not(../mibpsdmask[sub-carrier-index=4096])))))" {
            description
              "If the MIBPSDMASK is configured, then the mask must
include sub-carrier 39 as well as the highest
sub-carrier for the profile.";
          }
          key "sub-carrier-index";
          max-elements 32;
          description
            "This list defines the Power Spectral Density (PSD) mask
applicable at the U-O2 reference point. Each entry in the
list defines a breakpoint of the PSD mask. Requirements for
a valid Management Information Base (MIB) PSD mask are
defined in G.9701 clauses 7.3.1.1.2.1 and 7.3.1.1.2.2.";
          reference
            "ITU-T G.997.2 clause 7.1.2.5 (MIBPSDMASKds) and clause
            7.1.2.6 (MIBPSDMASKus); ITU-T G.9701 clauses 7.3.1.1.2.1
            and 7.3.1.1.2.2.";

          leaf sub-carrier-index {
            type psd-level-sub-carrier-index;
            description
              "Identifies the sub-carrier for which psd-level applies.";
          }

          leaf psd-level {
            type psd-level;
            mandatory true;
            description
              "The Power Spectral Density (PSD) level of the referenced
sub-carrier.";
          }
        }  // list mibpsdmask

        leaf classmask {
          if-feature classmask;
          type enumeration {
            enum "classmask1" {
              value 0;
              description
                "The limit mask for each profile is as defined in G.9701
classmask1.";
            }
            enum "classmask2" {
              value 1;
              description
                "The limit mask for each profile is as defined in G.9701
classmask2.";
            }
          }
          default "classmask1";
          description
            "Defines, through a classmask selection, which limit mask
shall be used with each profile in the downstream
direction. The classmasks are defined in ITU-T G.9701.";
          reference
            "ITU-T G.997.2 clause 7.1.2.14 (CLASSMASKds);
            ITU-T G.9701 clause 7.3.1.5.";

        }
      }  // container downstream

      container upstream {
        description
          "Upstream specific line spectrum configuration parameters.";
        uses power-and-spectrum-usage-parameters;

        list mibpsdmask {
          must
            "count(../mibpsdmask)=0 or
(count(../mibpsdmask[sub-carrier-index=39])=1 and not (
(contains(../../profiles,'g.9701-profile-106a') and
not(../mibpsdmask[sub-carrier-index=2048])) or
(contains(../../profiles,'g.9701-profile-106b') and
not(../mibpsdmask[sub-carrier-index=2048])) or
(contains(../../profiles,'g.9701-profile-212a') and
not(../mibpsdmask[sub-carrier-index=4096])) or
(contains(../../profiles,'g.9701-profile-106c') and
not(../mibpsdmask[sub-carrier-index=2048])) or
(contains(../../profiles,'g.9701-profile-212c') and
not(../mibpsdmask[sub-carrier-index=4096])) or
(../../profiles='all' and
(not(../mibpsdmask[sub-carrier-index=2048]) or
not(../mibpsdmask[sub-carrier-index=4096])))))" {
            description
              "If the MIBPSDMASK is configured, then the mask must
include sub-carrier 39 as well as the highest
sub-carrier for the profile.";
          }
          key "sub-carrier-index";
          max-elements 32;
          description
            "This list defines the Power Spectral Density (PSD) mask
applicable at the U-O2 reference point. Each entry in the
list defines a breakpoint of the PSD mask. Requirements for
a valid Management Information Base (MIB) PSD mask are
defined in G.9701 clauses 7.3.1.1.2.1 and 7.3.1.1.2.2.";
          reference
            "ITU-T G.997.2 clause 7.1.2.5 (MIBPSDMASKds) and clause
            7.1.2.6 (MIBPSDMASKus); ITU-T G.9701 clauses 7.3.1.1.2.1
            and 7.3.1.1.2.2.";

          leaf sub-carrier-index {
            type psd-level-sub-carrier-index;
            description
              "Identifies the sub-carrier for which psd-level applies.";
          }

          leaf psd-level {
            type psd-level;
            mandatory true;
            description
              "The Power Spectral Density (PSD) level of the referenced
sub-carrier.";
          }
        }  // list mibpsdmask

        leaf classmask {
          if-feature classmask;
          type enumeration {
            enum "classmask1" {
              value 0;
              description
                "Selects limit mask per classmask1.";
            }
          }
          default "classmask1";
          description
            "Defines, through a classmask selection, which limit mask
shall be used with each profile in the upstream direction.
The classmasks are defined in ITU-T G.9701.";
          reference
            "ITU-T G.997.2 clause 7.1.2.15 (CLASSMASKus);
            ITU-T G.9701 clause 7.3.1.5.";

        }
      }  // container upstream
    }  // grouping line-spectrum-profile
  }  // submodule bbf-fast-line-spectrum-profile-body