bbf-ghn

An experimental YANG module supporting Vector of Profiles for G.hn lines. Copyright (c) 2018, Broadband Forum Redistribution a...

  • Version: 2018-07-13

    bbf-ghn@2018-07-13


    
      module bbf-ghn {
    
        yang-version 1.1;
    
        namespace "urn:bbf:yang:bbf-ghn";
    
        prefix bbf-ghn;
    
        include bbf-ghn-base;
        include bbf-ghn-pointers;
        include bbf-ghn-types;
        include bbf-ghn-perf-types;
        include bbf-ghn-node-profiles;
        include bbf-ghn-node-id-profile-body;
        include bbf-ghn-domain-profiles;
        include bbf-ghn-scheduling-profile-body;
        include bbf-ghn-security-profile-body;
        include bbf-ghn-dba-profile-body;
        include bbf-ghn-domain-id-profile-body;
        include bbf-ghn-link-profiles;
        include bbf-ghn-line-spectrum-profile-body;
        include bbf-ghn-channel-estimation-profile-body;
        include bbf-ghn-domain-state;
        include bbf-ghn-domain-status-body;
        include bbf-ghn-local-node-info;
        include bbf-ghn-local-node-info-body;
        include bbf-ghn-node-state;
        include bbf-ghn-node-inventory-body;
        include bbf-ghn-node-status-body;
        include bbf-ghn-link-state;
        include bbf-ghn-link-status-body;
        include bbf-ghn-performance-management;
        include bbf-ghn-node-performance-body;
        include bbf-ghn-link-performance-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:      Marcos Martinez, Marvell Semiconductor Inc.
    
    PS Leader:   Joey Boyd, ADTRAN
    
    PS Leader:   Ken Kerpez, ASSIA
    
    WA Director: Joey Boyd, ADTRAN
    
    WA Director: Sven Ooghe, Nokia";
    
        description
          "An experimental YANG module supporting Vector of Profiles
    for G.hn lines.
    
    Copyright (c) 2018, 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-374; see
    the TR itself for full legal notices.";
    
        revision "2018-07-13" {
          description
            "Initial revision.
    * Approval Date:    2018-06-04.
    * Publication Date: see revision date above.";
          reference
            "TR-374: Yang Modules for Management of G.hn Systems in FTTdp
            	Architecture <https://www.broadband-forum.org/technical
            			      /download/TR-374.pdf>";
    
        }
    
    
        // features
    
        feature performance-24hr {
          description
            "Indicates that collection of 24 hour performance intervals
    is supported.";
        }
    
        // typedefs
        typedef cycle-duration {
          type union {
            type uint8 {
              range "5..100";
            }
            type enumeration {
              enum "powerline" {
                value 0;
                description
                  "Indicates that the Medium Access Control (MAC) cycle
    length is 2 alternate current (AC) cycles.";
              }
            }
          }
          units "milliseconds";
          description
            "Duration in ms of the MAC cycle.";
          reference
            "ITU-T G.9961 clause 8.2.2";
    
        }
    
        typedef domain-name {
          type string {
            pattern '[0-9a-fA-F]{32}';
          }
          description
            "Domain Name of the G.hn domain connected to this interface.";
          reference
            "ITU-T G.9961 clause 8.6.1";
    
        }
    
        typedef device-id {
          type uint8 {
            range "0..250";
          }
          description
            "Device ID of a G.hn node.";
          reference
            "ITU-T G.9961 clause 8.7.1.1";
    
        }
    
        typedef sub-carrier-grouping {
          type uint8 {
            range "1 | 2 | 4 | 8 | 16";
          }
          description
            "Group ID selected for reporting the
    Bit Allocation Table (BAT).";
          reference
            "ITU-T G.9960 Table 7-13";
    
        }
    
        typedef tid {
          type uint16 {
            range "0..4095";
          }
          description
            "Sub-carrier index information.";
          reference
            "ITU-T G.9961 clause 8.11";
    
        }
    
        typedef bpc {
          type binary;
          description
            "A binary type where each octet represents data belonging to
    a sub-carrier group. The first octet represents sub-carrier
    group 0.";
        }
    
        typedef dni {
          type string {
            pattern '[0-9a-fA-F]{4}';
          }
          description
            "Domain Name Identifier of the G.hn domain.";
          reference
            "ITU-T G.9961 clause 8.6.8.2.1";
    
        }
    
        typedef oui {
          type yang:hex-string {
            length "3";
          }
          description
            "Organizationally Unique Identifier (OUI).";
          reference
            "IEEE standards association - Registration authority
            (http://standards.ieee.org/develop/regauth";
    
        }
    
        typedef encryption-mode {
          type enumeration {
            enum "nn" {
              value 0;
              description
                "This parameter represents a Node to Node key (NN).";
            }
            enum "nmk" {
              value 1;
              description
                "This parameter represents a Network Membership key
    (NMK).";
            }
            enum "none" {
              value 2;
              description
                "No data encryption is used.";
            }
          }
          description
            "Encryption mode of the G.hn domain.";
          reference
            "ITU-T G.9961 clause 9";
    
        }
    
        typedef bandplan {
          type enumeration {
            enum "25-mhz-pb" {
              value 0;
              description
                "Node operating in the 25 MHz-PB bandplan.";
            }
            enum "50-mhz-pb" {
              value 1;
              description
                "Node operating in the 50 MHz-PB bandplan.";
            }
            enum "100-mhz-pb" {
              value 2;
              description
                "Node operating in the 100 MHz-PB bandplan.";
            }
            enum "50-mhz-tb" {
              value 3;
              description
                "Node operating in the 50 MHz-TB bandplan.";
            }
            enum "100-mhz-tb" {
              value 4;
              description
                "Node operating in the 100 MHz-TB bandplan.";
            }
            enum "200-mhz-tb" {
              value 5;
              description
                "Node operating in the 200 MHz-TB bandplan.";
            }
            enum "50-mhz-cb" {
              value 6;
              description
                "Node operating in the 50 MHz-CB bandplan.";
            }
            enum "100-mhz-cb" {
              value 7;
              description
                "Node operating in the 100 MHz-CB bandplan.";
            }
            enum "200-mhz-cb" {
              value 8;
              description
                "Node operating in the 200 MHz-CB bandplan.";
            }
            enum "50-mhz-crf" {
              value 9;
              description
                "Node operating in the 50 MHz-CRF bandplan.";
            }
            enum "100-mhz-crf" {
              value 10;
              description
                "Node operating in the 100 MHz-CRF bandplan.";
            }
          }
          description
            "Valid bandplan definitions.";
          reference
            "ITU-T G.9960 clause 6";
    
        }
    
        typedef medium {
          type enumeration {
            enum "plc" {
              value 0;
              description "Powerline-medium.";
              reference
                "ITU-T G.9964 clause 6.2";
    
            }
            enum "coaxial" {
              value 1;
              description "Coaxial-medium.";
              reference
                "ITU-T G.9964 clause 6.3";
    
            }
            enum "phoneline" {
              value 2;
              description "Phone-line-medium.";
              reference
                "ITU-T G.9964 clause 6.1";
    
            }
            enum "pof" {
              value 3;
              description
                "Plastic-Optical-Fiber.";
              reference
                "ITU-T G.9960 annex F";
    
            }
          }
          description
            "Medium used by this interface.";
          reference
            "ITU-T G.9960 and ITU-T G.9964";
    
        }
    
        typedef medium-access {
          type enumeration {
            enum "siso" {
              value 0;
              description
                "Single-input; Single output medium access.";
            }
            enum "mimo" {
              value 1;
              description
                "Multiple-input; Multiple output medium access.";
            }
          }
          description
            "Medium access used by this interface.";
          reference
            "ITU-T G.9963";
    
        }
    
        typedef last-event {
          type uint32;
          units "seconds";
          description
            "Number of seconds That passed since the last event.";
        }
    
        typedef event-counter32-or-unknown {
          type union {
            type uint32;
            type enumeration {
              enum "unknown" {
                value 0;
                description
                  "Indicates that the state of this counter is unknown.";
              }
            }
          }
          description
            "An event-counter32-or-unknown type represents a
    non-negative integer which may increase but shall never
    exceed a maximum value.  The maximum value can not be
    greater than 2^32-1 (4294967295 decimal).
    The default value for the maximum value is 2^32-1.
    The value of a event-counter32-or-inactive has its
    maximum value whenever the information being modeled is
    greater than or equal to its maximum value.
    A special value (enum unknown) indicates that the value of
    this counter is unknown is not active on the line.";
        }
    
        typedef forced-resignation-cause {
          type enumeration {
            enum "unknown" {
              value 0;
              description
                "Unknown cause of forced resignation.";
            }
            enum "sc-failure" {
              value 1;
              description
                "Security Controller not found in the domain.";
            }
          }
          description
            "Cause of a forced resignation.";
          reference
            "ITU-T G.9961 clause 8.6.1.1.4.5";
    
        }
    
        typedef unsuccessful-registration-cause {
          type enumeration {
            enum "unespecified" {
              value 0;
              description
                "No reason specified for unsuccessful registration.";
            }
            enum "insufficient-bandwidth" {
              value 1;
              description
                "Insufficient bandwidth resources.";
            }
            enum "invalid-parameters" {
              value 2;
              description
                "Invalid set of registration parameters.";
            }
            enum "invalid-regid" {
              value 3;
              description "Invalid REGID.";
            }
            enum "admission-limit-expired" {
              value 4;
              description
                "Admission limit expired.";
            }
            enum "domain-master-authentication" {
              value 5;
              description
                "Domain Master not authenticated.";
            }
            enum "invalid-bandplan" {
              value 6;
              description
                "Reported bandplan is outside the range indicated
    by the minimum and maximum bandplan allowed in the
    domain.";
            }
            enum "domain-master-in-t2" {
              value 7;
              description
                "Domain Master is in t2 interval.";
            }
          }
          description
            "Cause of an unsuccessful registration.";
          reference
            "ITU-T G.9961 clause 8.6.1.1.1";
    
        }
    
        typedef mac-address {
          type enumeration {
            enum "regid" {
              value 0;
              description
                "The MAC address corresponds to a REGID of a G.hn node.";
            }
            enum "client" {
              value 1;
              description
                "The MAC address corresponds to a client associated to a
    G.hn node.";
            }
          }
          description "Type of MAC address.";
          reference
            "ITU-T G.9961 clause 8.1.2";
    
        }
    
        typedef percentage-or-inactive {
          type union {
            type uint32;
            type enumeration {
              enum "inactive" {
                value 0;
                description
                  "Indicates that this setting shall be ignored.";
              }
            }
          }
          units "%";
          description
            "Describes a parameter that can be set as a percentage.
    The value inactive is used to indicate that the parameter
    is not used and shall be ignored.";
        }
    
        typedef number-of-sub-carrier-mask {
          type uint8 {
            range "0..32";
          }
          units "masks";
          description
            "Number of sub-carrier masks defined";
          reference
            "ITU-T G.9961 clause 8.8.5.5.";
    
        }
    
        typedef number-of-radio-amateur-mask {
          type uint8 {
            range "0..10";
          }
          units "masks";
          description
            "Number of radio-amateur masks defined.";
          reference
            "ITU-T G.9961 clause 8.8.5.5";
    
        }
    
        typedef data-rate {
          type uint32;
          units "1024 bit/second";
          description "Data rate in kbps.";
        }
    
        typedef group-size {
          type uint8 {
            range "0..4";
          }
          description
            "Group size for channel estimation.";
          reference
            "ITU-T G.9960 Table 7-13";
    
        }
    
        typedef scheduling-profile-ref {
          type leafref {
            path "/bbf-ghn:ghn/bbf-ghn:domain/bbf-ghn:scheduling-profile/bbf-ghn:name";
          }
          description
            "Used to reference a scheduling profile.";
        }
    
        typedef security-profile-ref {
          type leafref {
            path "/bbf-ghn:ghn/bbf-ghn:domain/bbf-ghn:security-profile/bbf-ghn:name";
          }
          description
            "Used to reference a security profile.";
        }
    
        typedef dba-profile-ref {
          type leafref {
            path "/bbf-ghn:ghn/bbf-ghn:domain/bbf-ghn:dba-profile/bbf-ghn:name";
          }
          description
            "Used to reference a DBA profile.";
        }
    
        typedef domain-id-profile-ref {
          type leafref {
            path "/bbf-ghn:ghn/bbf-ghn:domain/bbf-ghn:domain-id-profile/bbf-ghn:name";
          }
          description
            "Used to reference a domain-id profile.";
        }
    
        typedef node-id-profile-ref {
          type leafref {
            path "/bbf-ghn:ghn/bbf-ghn:node/bbf-ghn:node-id-profile/bbf-ghn:name";
          }
          description
            "Used to reference a node-id profile.";
        }
    
        typedef line-spectrum-profile-ref {
          type leafref {
            path "/bbf-ghn:ghn/bbf-ghn:link/bbf-ghn:line-spectrum-profile/bbf-ghn:name";
          }
          description
            "Used to reference a line spectrum profile.";
        }
    
        typedef channel-estimation-profile-ref {
          type leafref {
            path "/bbf-ghn:ghn/bbf-ghn:link/bbf-ghn:channel-estimation-profile/bbf-ghn:name";
          }
          description
            "Used to reference a channel estimation profile.";
        }
    
        typedef domain-config-vector-ref {
          type leafref {
            path "/bbf-ghn:ghn/bbf-ghn:vectors/bbf-ghn:domain-config-vector/bbf-ghn:name";
          }
          description
            "Used to reference a domain configuration vector of profiles.";
        }
    
        typedef node-config-vector-ref {
          type leafref {
            path "/bbf-ghn:ghn/bbf-ghn:vectors/bbf-ghn:node-config-vector/bbf-ghn:name";
          }
          description
            "Used to reference a node configuration vector of profiles.";
        }
    
        typedef link-config-vector-ref {
          type leafref {
            path "/bbf-ghn:ghn/bbf-ghn:vectors/bbf-ghn:link-config-vector/bbf-ghn:name";
          }
          description
            "Used to reference a link configuration vector of profiles.";
        }
    
        typedef seconds-counter-15min {
          type bbf-yang:performance-counter32 {
            range "0..900";
          }
          description
            "A performance counter which counts the number of seconds an
    event has occurred during a 15 minute interval.";
        }
    
        typedef seconds-counter-24hr {
          type bbf-yang:performance-counter32 {
            range "0..86400";
          }
          description
            "A performance counter which counts the number of seconds an
    event has occurred during a 24 hour interval.";
        }
    
        typedef performance-15min-interval {
          type uint8 {
            range "0..96";
          }
          description
            "Defines the range of 15 minute intervals.";
        }
    
        typedef performance-15min-history-interval {
          type performance-15min-interval {
            range "1..96";
          }
          description
            "Defines the range of 15 minute intervals and defines
    the position of the interval relative to the current interval
    where 1 is the most recent interval.";
        }
    
        typedef performance-24hr-interval {
          type uint8 {
            range "0..7";
          }
          description
            "Defines the range of 24 hour intervals.";
        }
    
        typedef performance-24hr-history-interval {
          type performance-24hr-interval {
            range "1..7";
          }
          description
            "Defines the range of 24 hour intervals and defines
    the position of the interval relative to the current interval
    where 1 is the most recent interval.";
        }
    
        // objects
        container ghn {
          description
            "This container includes the profiles and associated
    configuration parameters of the G.hn interface.
    It is divided in three sections:
      - domain: Includes all the domain-wide profiles
      - node: Includes all the node-wide profiles
      - link: Includes all the link-wide profiles";
          container domain {
            description
              "Domain-related configuration data.";
            list scheduling-profile {
              key "name";
              description
                "A list of scheduling profiles.";
              leaf name {
                type string;
                description
                  "A name that uniquely identifies the
    profile.";
              }
    
              leaf mac-cycle-duration {
                type cycle-duration;
                default "40";
                description
                  "Medium Access Control (MAC) cycle duration.";
                reference
                  "ITU-T G.9961 clause 8.2.2";
    
              }
    
              leaf split-ratio {
                type uint8 {
                  range "0..100";
                }
                units "%";
                default "50";
                description
                  "Split ratio of the DS/US system. This figure represents
    the percentage of the time allocated to DS. The percentage
    of the time allocated to US is 100 minus this number.";
              }
    
              leaf topology-update-interval {
                type uint8;
                units "0.1s";
                description
                  "Topology update interval for the nodes of a G.hn domain";
                reference
                  "ITU-T G.9961 clause 8.8.5.8.1";
    
              }
            }  // list scheduling-profile
    
            list security-profile {
              key "name";
              description
                "A list of security profiles.";
              leaf name {
                type string;
                description
                  "A name that uniquely identifies the
    profile.";
              }
    
              leaf encryption-enabled {
                type boolean;
                default "true";
                description
                  "Defines if the security mechanism is enabled
    in G.hn links or not.";
                reference
                  "ITU-T G.9961 clause 9";
    
              }
    
              leaf encryption-mode {
                type encryption-mode;
                default "nmk";
                description
                  "Defines the security mechanism followed by the G.hn link.";
                reference
                  "ITU-T G.9961 clause 9.2";
    
              }
    
              leaf mic-size {
                type uint8 {
                  range "4 | 8 | 16";
                }
                description
                  "Defines the he selected Message Integrity Check (MIC)
    size used in the domain.";
                reference
                  "ITU-T G.9961 clause 9.1.1.2";
    
              }
    
              leaf-list target-domains {
                type bbf-yang:string-ascii64;
                description
                  "A list of target domain names for network admission.";
              }
            }  // list security-profile
    
            list dba-profile {
              key "name";
              description
                "A list of Dynamic Bandwidth Allocation profiles.";
              leaf name {
                type string;
                description
                  "A name that uniquely identifies the
    profile.";
              }
    
              leaf split-ratio {
                type percentage-or-inactive;
                description
                  "Split ratio between downstream and upstream directions
    for this prorofile. It is represented as an integer value
    between 0 and 100. when set to inactive, the split ratio is
    not used and the domain master us free to allocate
    resources following its own criteria.";
              }
            }  // list dba-profile
    
            list domain-id-profile {
              key "name";
              description
                "A list of domain-id profiles.";
              leaf name {
                type string;
                description
                  "A name that uniquely identifies the
    profile.";
              }
    
              leaf domain-name {
                type domain-name;
                description
                  "The domain name of the domain connected through
    this G.hn interface.";
                reference
                  "ITU-T G.9961 clause 8.8.5.2";
    
              }
    
              leaf minimum-supported-bandplan {
                type bandplan;
                description
                  "Minimum bandplan to be able to enter the domain.";
                reference
                  "ITU-T G.9960 clause 6";
    
              }
    
              leaf maximum-supported-bandplan {
                type bandplan;
                description
                  "Maximum bandplan to be able to enter the domain.";
                reference
                  "ITU-T G.9960 clause 6";
    
              }
            }  // list domain-id-profile
          }  // container domain
    
          container node {
            description
              "Node-related configuration data.";
            list node-id-profile {
              key "name";
              description
                "A list of node-id profiles.";
              leaf name {
                type string;
                description
                  "A name that uniquely identifies the
    profile.";
              }
    
              leaf force-dm {
                type boolean;
                description
                  "True if the node is forced to be a domain master (DM).";
                reference
                  "ITU-T G.9960 clause 5.1.2.1";
    
              }
    
              leaf force-sc {
                type boolean;
                description
                  "True if the node is forced to be an SC.";
                reference
                  "ITU-T G.9961 clause 9";
    
              }
    
              leaf bandplan {
                type bandplan;
                description
                  "Default bandplan used by the node operating
    in the G.hn domain.";
                reference
                  "ITU-T G.9960 clause 6";
    
              }
    
              leaf medium {
                type medium;
                default "coaxial";
                description
                  "Medium type of the interface.";
                reference
                  "ITU-T G.9960 and ITU-T G.9964";
    
              }
    
              leaf medium-access-type {
                type medium-access;
                default "siso";
                description
                  "Medium access used by this interface.";
                reference
                  "ITU-T G.9963";
    
              }
            }  // list node-id-profile
          }  // container node
    
          container link {
            description
              "Link-related configuration data.";
            list line-spectrum-profile {
              key "name";
              description
                "A list of line spectrum profiles.";
              leaf name {
                type string;
                description
                  "A name that uniquely identifies the
    profile.";
              }
    
              list sub-carrier-mask {
                key "notch-number";
                description
                  "List of sub carrier mask applied to the link.";
                leaf notch-number {
                  type number-of-sub-carrier-mask;
                  description "Notch number.";
                }
    
                leaf lowest-index {
                  type tid;
                  description
                    "Lowest index for this sub-carrier mask.";
                  reference
                    "ITU-T G.9964 clause 5.1";
    
                }
    
                leaf highest-index {
                  type tid;
                  description
                    "Highest index for this sub-carrier mask.";
                  reference
                    "ITU-T G.9964 clause 5.1";
    
                }
              }  // list sub-carrier-mask
    
              list radio-amateur-mask {
                key "notch-number";
                description
                  "List of radio amateur mask applied to the link.";
                leaf notch-number {
                  type number-of-radio-amateur-mask;
                  description "Notch number.";
                }
    
                leaf lowest-index {
                  type tid;
                  description
                    "Lowest index for this radio-amateur mask.";
                  reference
                    "ITU-T G.9964 clause 5.3";
    
                }
    
                leaf highest-index {
                  type tid;
                  description
                    "Highest index for this radio-amateur mask.";
                  reference
                    "ITU-T G.9964 clause 5.3";
    
                }
              }  // list radio-amateur-mask
            }  // list line-spectrum-profile
    
            list channel-estimation-profile {
              key "name";
              description
                "A list of channel-estimation profiles.";
              leaf name {
                type string;
                description
                  "A name that uniquely identifies the
    profile.";
              }
    
              leaf minimum-grouping-size {
                type group-size;
                description
                  "Minimum grouping to be used during channel estimation
    process.";
                reference
                  "ITU-T G.9961 clause 8.11";
    
              }
            }  // list channel-estimation-profile
          }  // container link
    
          container vectors {
            description "Vectors of profiles.";
            list domain-config-vector {
              key "name";
              description
                "A list of domain configuration vectors aka vector of profiles
    (VoP).";
              leaf name {
                type bbf-yang-types:string-ascii64;
                description
                  "Uniquely identifies the line configuration vector.";
              }
    
              leaf scheduling-profile {
                type scheduling-profile-ref;
                mandatory true;
                description
                  "References a time division scheduling profile to be
    used to configure the line.";
              }
    
              leaf security-profile {
                type security-profile-ref;
                mandatory true;
                description
                  "References a security profile to be
    used to configure the line.";
              }
    
              leaf dba-profile {
                type dba-profile-ref;
                mandatory true;
                description
                  "References a Dynamic Bandwidth Allocation (DBA)
    profile to be used to configure the line.";
              }
            }  // list domain-config-vector
    
            list node-config-vector {
              key "name";
              description
                "A list of node configuration vectors aka vector of profiles
    (VoP).";
              leaf name {
                type bbf-yang-types:string-ascii64;
                description
                  "Uniquely identifies the node configuration vector.";
              }
    
              leaf node-id-profile {
                type node-id-profile-ref;
                mandatory true;
                description
                  "References a node id profile to be
    used to configure the node.";
              }
            }  // list node-config-vector
    
            list link-config-vector {
              key "name";
              description
                "A list of link configuration vectors aka vector of profiles
    (VoP).";
              leaf name {
                type bbf-yang-types:string-ascii64;
                description
                  "Uniquely identifies the node configuration vector.";
              }
    
              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 channel-estimation-profile {
                type channel-estimation-profile-ref;
                mandatory true;
                description
                  "References a channel estimation profile to be
    used to configure the line.";
              }
            }  // list link-config-vector
          }  // container vectors
        }  // container ghn
      }  // module bbf-ghn
    

© 2023 YumaWorks, Inc. All rights reserved.