mirror of
https://github.com/Telecominfraproject/oopt-gnpy-api.git
synced 2025-10-29 09:02:39 +00:00
Signed-off-by: EstherLerouzic <esther.lerouzic@orange.com> Change-Id: I44c9c96c58fabb79e2b569f7b404036b475b4fde
1776 lines
61 KiB
YANG
1776 lines
61 KiB
YANG
module ietf-optical-impairment-topology {
|
|
yang-version 1.1;
|
|
namespace "urn:ietf:params:xml"
|
|
+ ":ns:yang:ietf-optical-impairment-topology";
|
|
prefix "oit";
|
|
|
|
import ietf-network {
|
|
prefix "nw";
|
|
reference
|
|
"RFC 8345: A YANG Data Model for Network Topologies";
|
|
}
|
|
|
|
import ietf-network-topology {
|
|
prefix "nt";
|
|
reference
|
|
"RFC 8345: A YANG Data Model for Network Topologies";
|
|
}
|
|
|
|
import ietf-te-topology {
|
|
prefix "tet";
|
|
reference
|
|
"RFC 8795: YANG Data Model for Traffic Engineering (TE)
|
|
Topologies";
|
|
}
|
|
|
|
import ietf-te-types {
|
|
prefix "te-types";
|
|
reference
|
|
"RFC YYYY: Updated Common YANG Data Types for Traffic
|
|
Engineering";
|
|
}
|
|
|
|
/* Note: The RFC Editor will replace YYYY with the number assigned
|
|
to the RFC once draft-ietf-teas-rfc8776-update becomes an RFC.*/
|
|
|
|
import ietf-layer0-types {
|
|
prefix "l0-types";
|
|
reference
|
|
"RFC ZZZZ: A YANG Data Model for Layer 0 Types";
|
|
}
|
|
|
|
/* Note: The RFC Editor will replace ZZZZ with the number assigned
|
|
to the RFC once draft-ietf-ccamp-rfc9093-bis becomes an RFC.*/
|
|
|
|
organization
|
|
"IETF CCAMP Working Group";
|
|
|
|
contact
|
|
"WG Web: <https://datatracker.ietf.org/wg/ccamp/>
|
|
WG List: <mailto:ccamp@ietf.org>
|
|
|
|
Editor: Young Lee <younglee.tx@gmail.com>
|
|
Editor: Haomian Zheng <zhenghaomian@huawei.com>
|
|
Editor: Nicola Sambo <nicosambo@gmail.com>
|
|
Editor: Victor Lopez <victor.lopez@nokia.com>
|
|
Editor: Gabriele Galimberti <ggalimbe@cisco.com>
|
|
Editor: Giovanni Martinelli <giomarti@cisco.com>
|
|
Editor: Jean-Luc Auge <jeanluc.auge@orange.com>
|
|
Editor: Le Rouzic Esther <esther.lerouzic@orange.com>
|
|
Editor: Julien Meuric <julien.meuric@orange.com>
|
|
Editor: Italo Busi <Italo.Busi@huawei.com>
|
|
Editor: Dieter Beller <dieter.beller@nokia.com>
|
|
Editor: Sergio Belotti <Sergio.belotti@nokia.com>
|
|
Editor: Griseri Enrico <enrico.griseri@nokia.com>
|
|
Editor: Gert Grammel <ggrammel@juniper.net>";
|
|
|
|
description
|
|
"This module contains a collection of YANG definitions for
|
|
impairment-aware optical networks.
|
|
|
|
Copyright (c) 2024 IETF Trust and the persons identified as
|
|
authors of the code. All rights reserved.
|
|
|
|
Redistribution and use in source and binary forms, with or
|
|
without modification, is permitted pursuant to, and subject
|
|
to the license terms contained in, the Revised BSD
|
|
License set forth in Section 4.c of the IETF Trust's Legal
|
|
Provisions Relating to IETF Documents
|
|
(https://trustee.ietf.org/license-info).
|
|
|
|
This version of this YANG module is part of RFC XXXX; see
|
|
the RFC itself for full legal notices.";
|
|
|
|
// RFC Ed.: replace XXXX with actual RFC number and remove
|
|
// this note
|
|
// replace the revision date with the module publication date
|
|
// the format is (year-month-day)
|
|
revision 2024-05-21 {
|
|
description
|
|
"Initial Version";
|
|
reference
|
|
"RFC XXXX: A Yang Data Model for Impairment-aware
|
|
Optical Networks";
|
|
}
|
|
|
|
/*
|
|
* Identities
|
|
*/
|
|
|
|
identity otsi-protection {
|
|
base te-types:lsp-protection-type;
|
|
description
|
|
"Individual OTSi(G) protection LSP protection type.";
|
|
reference
|
|
"ITU-T G.873.1 v5.2 (02/2022): Optical transport network:
|
|
Linear protection";
|
|
}
|
|
|
|
/*
|
|
* Groupings
|
|
*/
|
|
|
|
grouping amplifier-params {
|
|
description "describes parameters for an amplifier";
|
|
container amplifier {
|
|
description
|
|
"amplifier type, operatonal parameters are described.";
|
|
leaf type-variety {
|
|
type string;
|
|
mandatory true ;
|
|
description
|
|
"String identifier of amplifier type referencing
|
|
a specification in a separate equipment catalog";
|
|
}
|
|
container operational {
|
|
description "amplifier operational parameters";
|
|
list amplifier-element {
|
|
key "frequency-range-id stage-order";
|
|
description
|
|
"The list of parallel amplifier elements within an
|
|
amplifier used to amplify different frequency ranges.
|
|
|
|
Two elements in the list must not have the same range
|
|
or overlapping ranges.";
|
|
leaf frequency-range-id {
|
|
type uint16;
|
|
description
|
|
"The identifier of the frequency range.";
|
|
}
|
|
leaf stage-order {
|
|
type uint8;
|
|
description
|
|
"It allows defining for each spectrum badwidth the
|
|
cascade order of each amplifier-element.";
|
|
}
|
|
leaf name {
|
|
type string;
|
|
description
|
|
"The name of the amplifier element as specified in
|
|
the vendor's specification associated with the
|
|
type-variety.";
|
|
}
|
|
leaf type-variety {
|
|
type string;
|
|
description
|
|
"String identifier of amplifier element type
|
|
referencing a specification in a separate equipment
|
|
catalog.
|
|
|
|
This attributes applies only when the type-variety of
|
|
the amplifier is not sufficient to describe the
|
|
amplifier element type.";
|
|
}
|
|
container frequency-range {
|
|
description
|
|
"The frequency range amplified by the amplifier
|
|
element.";
|
|
uses l0-types:frequency-range;
|
|
}
|
|
container power-param {
|
|
description
|
|
"The optical power after the out-voa of each amplifier
|
|
element.";
|
|
choice power-param {
|
|
mandatory true;
|
|
description
|
|
"Select the mode: channel power or power spectral
|
|
density (PSD).";
|
|
case channel-power {
|
|
leaf nominal-carrier-power {
|
|
type l0-types:power-dbm-or-null;
|
|
mandatory true;
|
|
description
|
|
"Reference channel power.";
|
|
}
|
|
}
|
|
case power-spectral-density {
|
|
leaf nominal-psd {
|
|
type l0-types:psd-or-null;
|
|
mandatory true;
|
|
description
|
|
"Reference power spectral density (PSD).";
|
|
}
|
|
}
|
|
}
|
|
} // container power-param
|
|
leaf pdl {
|
|
type l0-types:power-loss-or-null;
|
|
description "Polarization Dependent Loss (PDL)";
|
|
}
|
|
choice amplifier-element-type {
|
|
mandatory true;
|
|
description
|
|
"Identifies whether the amplifier element is an
|
|
Optical Amplifier (OA) or a Dynamic Gain Equalizer
|
|
(DGE).";
|
|
container optical-amplifier {
|
|
description
|
|
"The attributes applicable only to amplifier
|
|
elements";
|
|
leaf actual-gain {
|
|
type l0-types:power-gain-or-null;
|
|
mandatory true;
|
|
description
|
|
"The value of the gain provided by the
|
|
amplification stage of the optical amplifier.";
|
|
}
|
|
leaf in-voa {
|
|
type l0-types:power-loss-or-null;
|
|
description
|
|
"Loss introduced by the Variable Optical Attenuator
|
|
(VOA) at the input of the amplification stage of
|
|
the amplifier, if present";
|
|
}
|
|
leaf out-voa {
|
|
type l0-types:power-loss-or-null;
|
|
description
|
|
"Loss introduced by the Variable Optical Attenuator
|
|
(VOA) at the output of the amplification stage of
|
|
the amplifier, if present.";
|
|
}
|
|
leaf tilt-target {
|
|
type l0-types:decimal-2-or-null;
|
|
units "dB";
|
|
mandatory true ;
|
|
description
|
|
"The tilt target defined between lower and upper
|
|
frequency of the amplifier frequency range.";
|
|
}
|
|
leaf total-output-power {
|
|
type l0-types:power-dbm-or-null;
|
|
mandatory true;
|
|
description
|
|
"It represent total output power measured in the
|
|
range specified by the frequency-range.
|
|
|
|
Optical power is especially needed to
|
|
re-compute/check consistency of span
|
|
(fiber + concentrated loss) loss value, with
|
|
respect to loss/gain information on elements.";
|
|
}
|
|
leaf raman-direction {
|
|
type enumeration {
|
|
enum co-propagating {
|
|
description
|
|
"Co-propagating indicates that optical pump
|
|
light is injected in the same direction to the
|
|
optical signal that is amplified
|
|
(forward pump).";
|
|
}
|
|
enum counter-propagating {
|
|
description
|
|
"Counter-propagating indicates that optical
|
|
pump light is injected in opposite direction
|
|
to the optical signal that is amplified
|
|
(backward pump).";
|
|
}
|
|
}
|
|
description
|
|
"The direction of injection of the raman pump.";
|
|
}
|
|
list raman-pump {
|
|
key pump-id;
|
|
description
|
|
"The list of pumps for the Raman amplifier.";
|
|
leaf pump-id {
|
|
type uint16;
|
|
description
|
|
"The identifier of a pump within an amplifier
|
|
element.";
|
|
}
|
|
leaf frequency {
|
|
type l0-types:frequency-thz;
|
|
description
|
|
"The raman pump central frequency.";
|
|
}
|
|
leaf power {
|
|
type l0-types:decimal-2-or-null;
|
|
units "Watts";
|
|
description
|
|
"The total pump power considering a depolarized
|
|
pump at the raman pump central frequency.";
|
|
}
|
|
}
|
|
} // container optical-amplifier
|
|
container dynamic-gain-equalizer {
|
|
presence
|
|
"When present it indicates that the amplifier element
|
|
is a Dynamic Gain Equalizer (DGE)";
|
|
description
|
|
"The attributes applicable only to DEG amplifier
|
|
elements.";
|
|
list media-channel {
|
|
key "flexi-n";
|
|
description
|
|
"List of media channels represented as (n,m)";
|
|
|
|
uses l0-types:flexi-grid-frequency-slot {
|
|
refine flexi-m {
|
|
mandatory true;
|
|
}
|
|
}
|
|
|
|
leaf delta-power {
|
|
type l0-types:power-ratio-or-null;
|
|
description
|
|
" Deviation from the reference carrier power
|
|
defined for the OMS.";
|
|
}
|
|
} // media channels list
|
|
} // container dynamic-gain-equalizer
|
|
} // choice amplifier-element-type
|
|
} // list amplifier-element
|
|
} // container operational
|
|
} // container amplifier
|
|
} // grouping amplifier-params
|
|
|
|
grouping fiber-params {
|
|
description
|
|
"String identifier of fiber type referencing a
|
|
specification in a separate equipment catalog";
|
|
container fiber {
|
|
description "fiber characteristics";
|
|
leaf type-variety {
|
|
type string ;
|
|
mandatory true ;
|
|
description "fiber type";
|
|
}
|
|
leaf length {
|
|
type l0-types:decimal-2-or-null;
|
|
units km;
|
|
mandatory true ;
|
|
description "length of fiber";
|
|
}
|
|
leaf loss-coef {
|
|
type l0-types:decimal-2-or-null;
|
|
units dB/km;
|
|
mandatory true ;
|
|
description "loss coefficient of the fiber";
|
|
}
|
|
leaf total-loss {
|
|
type l0-types:power-loss-or-null;
|
|
description
|
|
"The measured total loss of the fiber, which includes
|
|
all possible losses: fiber loss and conn-in and conn-out
|
|
losses.
|
|
|
|
This attribute is not present when the total loss cannot
|
|
be measured.";
|
|
}
|
|
leaf pmd {
|
|
type l0-types:decimal-2-or-null;
|
|
units "ps";
|
|
description "pmd of the fiber";
|
|
}
|
|
leaf conn-in{
|
|
type l0-types:power-loss-or-null;
|
|
description "connector-in";
|
|
}
|
|
leaf conn-out{
|
|
type l0-types:power-loss-or-null;
|
|
description "connector-out";
|
|
}
|
|
}
|
|
}
|
|
|
|
grouping roadm-common-path {
|
|
description
|
|
"The optical impairments of a ROADM which are common to all
|
|
its paths (express path, add path or drop path).";
|
|
leaf roadm-pmd {
|
|
type union {
|
|
type decimal64 {
|
|
fraction-digits 8;
|
|
range "0..max";
|
|
}
|
|
type empty;
|
|
}
|
|
units "ps";
|
|
description
|
|
"Polarization Mode Dispersion (PMD), when known, or an
|
|
empty value when unknown.";
|
|
}
|
|
leaf roadm-cd {
|
|
type l0-types:decimal-5-or-null;
|
|
units "ps/nm";
|
|
description "Chromatic Dispersion (CD)";
|
|
}
|
|
leaf roadm-pdl {
|
|
type l0-types:power-loss-or-null;
|
|
description "Polarization Dependent Loss (PDL)";
|
|
}
|
|
leaf roadm-inband-crosstalk {
|
|
type l0-types:decimal-2-or-null;
|
|
units "dB";
|
|
description
|
|
"In-band crosstalk, or coherent crosstalk, can occur in
|
|
components that can have multiple same wavelength inputs
|
|
with the inputs either routed to different output ports,
|
|
or all but one blocked";
|
|
}
|
|
leaf roadm-maxloss {
|
|
type l0-types:power-loss-or-null;
|
|
description
|
|
"This is the maximum expected path loss from the
|
|
ROADM ingress to the ROADM egress
|
|
assuming no additional path loss is added";
|
|
}
|
|
} // grouping roadm-common-path
|
|
|
|
grouping roadm-express-path {
|
|
description
|
|
"The optical impairments of a ROADM express path.";
|
|
uses roadm-common-path;
|
|
} // grouping roadm-express-path
|
|
|
|
grouping roadm-add-path {
|
|
description
|
|
"The optical impairments of a ROADM add path.";
|
|
uses roadm-common-path {
|
|
refine roadm-inband-crosstalk {
|
|
description
|
|
"In-band crosstalk, or coherent crosstalk,
|
|
can occur in components that can have multiple same
|
|
wavelength inputs,with the inputs either
|
|
routed to different output ports,
|
|
or all but one blocked.
|
|
|
|
In the case of add path it is the total
|
|
of the add block + egress WSS crosstalk contributions.";
|
|
}
|
|
refine roadm-maxloss {
|
|
description
|
|
"This is the maximum expected add path loss from
|
|
the add/drop port input to the ROADM egress,
|
|
assuming no additional add path loss is added.
|
|
This is used to establish the minimum required
|
|
transponder output power required
|
|
to hit the ROADM egress target power
|
|
levels and preventing
|
|
to hit the WSS attenuation limits.
|
|
If the add path contains an internal amplifier
|
|
this loss value should be based
|
|
on worst case expected amplifier gain due to
|
|
ripple or gain uncertainty";
|
|
}
|
|
}
|
|
leaf roadm-pmax {
|
|
type l0-types:power-dbm-or-null;
|
|
description
|
|
"This is the maximum (per carrier) power level
|
|
permitted at the add block input ports,
|
|
that can be handled by the ROADM node.
|
|
This may reflect either add amplifier power
|
|
contraints or WSS adjustment limits.
|
|
Higher power transponders would need to have
|
|
their launch power reduced
|
|
to this value or lower";
|
|
}
|
|
leaf roadm-osnr {
|
|
type l0-types:snr-or-null;
|
|
description
|
|
"Optical Signal-to-Noise Ratio (OSNR).
|
|
If the add path contains the ability to adjust the
|
|
carrier power levels into an add path amplifier
|
|
(if present) to a target value,
|
|
this reflects the OSNR contribution of the
|
|
add amplifier assuming this target value is obtained.
|
|
The worst case OSNR based on the input power and
|
|
NF calculation method, and this value, should be used
|
|
(if both are defined).";
|
|
}
|
|
leaf roadm-noise-figure {
|
|
type l0-types:decimal-5-or-null;
|
|
units "dB";
|
|
description
|
|
"Noise Figure. If the add path contains an amplifier,
|
|
this is the noise figure of that amplifier inferred
|
|
to the add port.
|
|
This permits add path OSNR calculation based
|
|
on the input power levels to the add block
|
|
without knowing the ROADM path losses to
|
|
the add amplifier.";
|
|
}
|
|
} // grouping roadm-add-path
|
|
|
|
grouping roadm-drop-path {
|
|
description
|
|
"The optical impairments of a ROADM drop path";
|
|
uses roadm-common-path {
|
|
refine roadm-inband-crosstalk {
|
|
description
|
|
"In-band crosstalk, or coherent crosstalk, can occur in
|
|
components that can have multiple same wavelength
|
|
inputs,with the inputs either routed to different
|
|
output ports,or all but one blocked.
|
|
|
|
In the case of drop path it is the total
|
|
of the ingress
|
|
to drop e.g. WSS and drop block crosstalk
|
|
contributions.";
|
|
}
|
|
refine roadm-maxloss {
|
|
description
|
|
"The net loss from the ROADM input,to the output
|
|
of the drop block.
|
|
If ROADM ingress to drop path includes an amplifier,
|
|
the amplifier gain reduces the net loss.
|
|
This is before any additional drop path attenuation
|
|
that may be required
|
|
due to drop amplifier power contraints.
|
|
The max value correspond to worst case expected loss,
|
|
including amplifier gain ripple or uncertainty.
|
|
It is the maximum output power of the drop
|
|
amplifier.";
|
|
}
|
|
}
|
|
leaf roadm-minloss {
|
|
type l0-types:power-loss-or-null;
|
|
description
|
|
"The net loss from the ROADM input, to the
|
|
output of the drop block.
|
|
If this ROADM ingress to drop path includes
|
|
an amplifier,the amplifier gain reduces the net loss.
|
|
This is before any additional drop path attenuation
|
|
that may be required due to drop amplifier power
|
|
contraints.
|
|
The min value correspond to best case expected loss,
|
|
including amplifier gain ripple or uncertainty.";
|
|
}
|
|
leaf roadm-typloss {
|
|
type l0-types:power-loss-or-null;
|
|
description
|
|
"The net loss from the ROADM input,
|
|
to the output of the drop block.
|
|
If this ROADM ingress to drop path
|
|
includes an amplifier,
|
|
the amplifier gain reduces the net loss.
|
|
This is before any additional drop path
|
|
attenuation
|
|
that may be required due to drop amplifier
|
|
power contraints.
|
|
The typ value correspond to typical case
|
|
expected loss.";
|
|
}
|
|
leaf roadm-pmin {
|
|
type l0-types:power-dbm-or-null;
|
|
description
|
|
"If the drop path has additional loss
|
|
that is added, for example,
|
|
to hit target power levels into a
|
|
drop path amplifier, or simply, to reduce the
|
|
power of a strong carrier
|
|
(due to ripple,for example),
|
|
then the use of the ROADM input power levels and
|
|
the above drop losses is not appropriate.
|
|
This parameter corresponds to the min per
|
|
carrier power levels
|
|
expected at the output of the drop block.
|
|
A detail example of the comparison using
|
|
these parameters is
|
|
detailed in section xxx of the document yyy.";
|
|
}
|
|
leaf roadm-pmax {
|
|
type l0-types:power-dbm-or-null;
|
|
description
|
|
"If the drop path has additional loss that is added,
|
|
for example, to hit target power levels into a
|
|
drop path amplifier,or simply,to reduce the power
|
|
of a strong carrier(due to ripple,for example),
|
|
then the use of the ROADM input power levels and the
|
|
above drop losses is not appropriate.
|
|
This parameter corresponds to the best case per
|
|
carrier power levels expected at the output of the
|
|
drop block.
|
|
A detail example of the comparison using
|
|
these parameters
|
|
is detailed in section xxx of the document yyy";
|
|
}
|
|
leaf roadm-ptyp {
|
|
type l0-types:power-dbm-or-null;
|
|
description
|
|
"If the drop path has additional loss that is added,
|
|
for example, to hit target power levels into a
|
|
drop path amplifier,or simply,to reduce the
|
|
power of a strong carrier(due to ripple,for example),
|
|
then the use of the ROADM input power levels and
|
|
the above drop losses is not appropriate.
|
|
This parameter corresponds to the typical case
|
|
per carrier power levels expected
|
|
at the output of the drop block.";
|
|
}
|
|
leaf roadm-osnr {
|
|
type l0-types:snr-or-null;
|
|
description
|
|
"Optical Signal-to-Noise Ratio (OSNR).
|
|
Expected OSNR contribution of the drop path
|
|
amplifier(if present)
|
|
for the case of additional drop path loss
|
|
(before this amplifier)
|
|
in order to hit a target power level (per carrier).
|
|
If both, the OSNR based on the ROADM
|
|
input power level
|
|
(Pcarrier =
|
|
Pref+10Log(carrier-baudrate/ref-baud) + delta-power)
|
|
and the input inferred NF(NF.drop),
|
|
and this OSNR value, are defined,
|
|
the minimum value between these two should be used";
|
|
}
|
|
leaf roadm-noise-figure {
|
|
type l0-types:decimal-5-or-null;
|
|
units "dB";
|
|
description
|
|
"Drop path Noise Figure.
|
|
If the drop path contains an amplifier,
|
|
this is the noise figure
|
|
of that amplifier, inferred to the
|
|
ROADM ingress port.
|
|
This permits to determine
|
|
amplifier OSNR contribution
|
|
without having to specify the
|
|
ROADM node's losses to that amplifier.
|
|
This applies for the case of no
|
|
additional drop path loss,
|
|
before the amplifier, in order to reduce the power
|
|
of the carriers to a target value";
|
|
}
|
|
} // grouping roadm-drop-path
|
|
|
|
grouping concentratedloss-params {
|
|
description "concentrated loss";
|
|
container concentratedloss{
|
|
description "concentrated loss";
|
|
leaf loss {
|
|
type l0-types:power-loss-or-null;
|
|
mandatory true;
|
|
description
|
|
"Loss introduced by the concentrated loss element.";
|
|
}
|
|
}
|
|
}
|
|
|
|
grouping oms-general-optical-params {
|
|
description "OMS link optical parameters";
|
|
leaf generalized-snr {
|
|
type l0-types:snr;
|
|
description "generalized snr";
|
|
}
|
|
leaf equalization-mode{
|
|
type identityref {
|
|
base l0-types:type-power-mode;
|
|
}
|
|
description
|
|
"The equalization mode.
|
|
|
|
When not present it indicates that the information about
|
|
the equalization mode is not reported.
|
|
|
|
Reporting this value is needed to support optical
|
|
impairments applications.";
|
|
}
|
|
container power-param {
|
|
description
|
|
"Optical channel power or power spectral densitity (PSD)
|
|
after the ROADM.";
|
|
leaf nominal-carrier-power {
|
|
when "derived-from-or-self(../../equalization-mode, "
|
|
+ "'l0-types:carrier-power')";
|
|
type l0-types:power-dbm-or-null;
|
|
description
|
|
"Reference channel power.";
|
|
}
|
|
leaf nominal-psd {
|
|
when "derived-from-or-self(../../equalization-mode, "
|
|
+ "'l0-types:power-spectral-density')";
|
|
type l0-types:psd-or-null;
|
|
description
|
|
" Reference power spectral density (PSD).";
|
|
}
|
|
} // container power-param
|
|
} // grouping oms-general-optical-params
|
|
|
|
grouping otsi-group {
|
|
description "OTSiG definition , representing client
|
|
digital information stream supported by one or more OTSi";
|
|
|
|
list otsi {
|
|
key "otsi-carrier-id";
|
|
config false;
|
|
description
|
|
"list of OTSi contained in one OTSiG.
|
|
The list could also be of only one element";
|
|
leaf otsi-carrier-id {
|
|
type uint16;
|
|
description "OTSi carrier-id";
|
|
}
|
|
leaf otsi-carrier-frequency {
|
|
type union {
|
|
type l0-types:frequency-thz;
|
|
type empty;
|
|
}
|
|
description
|
|
"OTSi carrier frequency, equivalent to the
|
|
actual configured transmitter frequency, when known, or
|
|
an empty value when unknown.";
|
|
}
|
|
leaf-list e2e-mc-path-id {
|
|
type uint16;
|
|
description
|
|
"The list of the possible end-to-end Media Channel
|
|
(e2e-MC) paths associated with the OTSi which have
|
|
different optical impairments.
|
|
|
|
This list is meaningful in case the OTSi can be associated
|
|
with multiple end-to-end Media Channel (e2e-MC) paths
|
|
(e.g., when OPS protection is configured).
|
|
|
|
The list can be empty when the OTSi has only one
|
|
e2e-MC path.";
|
|
}
|
|
} // OTSi list
|
|
} // OTSiG grouping
|
|
|
|
grouping media-channel-groups {
|
|
description
|
|
"media channel groups.
|
|
|
|
This grouping is not intended to be reused outside of this
|
|
module.";
|
|
|
|
container media-channel-groups {
|
|
presence
|
|
"When present, it indicates that the list media channel
|
|
groups is reported.";
|
|
description
|
|
"The top level container for the list of media channel
|
|
groups.";
|
|
list media-channel-group {
|
|
key "otsi-group-ref";
|
|
description
|
|
"The list of media channel groups";
|
|
leaf otsi-group-ref {
|
|
type leafref {
|
|
path "../../../../../../../otsis/" +
|
|
"otsi-group/otsi-group-id";
|
|
}
|
|
description
|
|
"Reference to the OTSiG to which the OTSis carried by
|
|
this media channel group belong to.";
|
|
}
|
|
list media-channel {
|
|
// key "flexi-n";
|
|
key "media-channel-id";
|
|
unique "flexi-n";
|
|
description
|
|
"list of media channels represented as (n,m)";
|
|
leaf media-channel-id {
|
|
type int16;
|
|
description
|
|
"The identifier of media channel within media channel
|
|
group.
|
|
|
|
It may be equal to the flexi-n attribute, when the
|
|
flexi-n attribute is present.";
|
|
}
|
|
// this grouping add both n.m values
|
|
uses l0-types:flexi-grid-frequency-slot;
|
|
|
|
list otsi-ref {
|
|
key "otsi-carrier-ref";
|
|
description
|
|
"The list of references to the OTSis and their
|
|
end-to-end Media Channel (e2e-MC) paths within the
|
|
OTSiG carried by this media channel.";
|
|
leaf otsi-carrier-ref {
|
|
type leafref {
|
|
path "../../../../../../../../../otsis/" +
|
|
"otsi-group[otsi-group-id=current()" +
|
|
"/../../../otsi-group-ref]/" +
|
|
"otsi/otsi-carrier-id" ;
|
|
}
|
|
description
|
|
"Reference to the OTSi within the OTSiG carried
|
|
by this media channel.";
|
|
}
|
|
leaf-list e2e-mc-path-ref {
|
|
type leafref {
|
|
path "../../../../../../../../../otsis/" +
|
|
"otsi-group[otsi-group-id=current()" +
|
|
"/../../../otsi-group-ref]/" +
|
|
"otsi[otsi-carrier-id=current()" +
|
|
"/../otsi-carrier-ref]/e2e-mc-path-id";
|
|
}
|
|
description
|
|
"References to the end-to-end Media Channel (e2e-MC)
|
|
paths of this OTSi which are routed through this
|
|
media channel.";
|
|
}
|
|
}
|
|
leaf delta-power {
|
|
type l0-types:power-ratio-or-null;
|
|
description
|
|
" Deviation from the reference carrier power defined
|
|
for the OMS.";
|
|
}
|
|
} // media channels list
|
|
} // media-channel-groups list
|
|
}
|
|
} // media media-channel-groups grouping
|
|
|
|
grouping oms-element {
|
|
description "OMS description";
|
|
container OMS-elements {
|
|
presence
|
|
"When present, it indicates that the list of OMS elements
|
|
is reported.";
|
|
description
|
|
"The top level container for the list of OMS elements.";
|
|
list OMS-element {
|
|
key "elt-index";
|
|
description
|
|
"defines the spans and the amplifier blocks of
|
|
the amplified lines";
|
|
leaf elt-index {
|
|
type uint16;
|
|
description
|
|
"ordered list of Index of OMS element
|
|
(whether it's a Fiber, an EDFA or a
|
|
Concentratedloss)";
|
|
}
|
|
leaf oms-element-uid {
|
|
type union {
|
|
type string;
|
|
type empty;
|
|
}
|
|
description
|
|
"Unique id of the element, if it exists and it is known.
|
|
|
|
When unknown, an empty value is reported.
|
|
|
|
When it does not exist, the attribute is not present.";
|
|
}
|
|
container reverse-element-ref {
|
|
description
|
|
"It contains references to the elements which are
|
|
associated with this element in the reverse
|
|
direction.";
|
|
leaf link-ref {
|
|
type leafref {
|
|
path "../../../../../../../../nt:link/nt:link-id";
|
|
}
|
|
description
|
|
"The reference to the OMS link which the OMS elements
|
|
belongs to.";
|
|
}
|
|
leaf-list oms-element-ref {
|
|
type leafref {
|
|
path "../../../../../../../../nt:link[nt:link-id="
|
|
+ "current()/../link-ref]/tet:te/"
|
|
+ "tet:te-link-attributes/OMS-attributes/"
|
|
+ "OMS-elements/OMS-element/elt-index";
|
|
}
|
|
description
|
|
"The references to the OMS elements.";
|
|
}
|
|
}
|
|
choice element {
|
|
mandatory true;
|
|
description "OMS element type";
|
|
case amplifier {
|
|
uses tet:geolocation-container;
|
|
uses amplifier-params;
|
|
}
|
|
case fiber {
|
|
uses fiber-params;
|
|
}
|
|
case concentratedloss {
|
|
uses concentratedloss-params ;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
grouping otsi-ref {
|
|
description
|
|
"References to an OTSi.
|
|
|
|
This grouping is intended to be reused within the
|
|
transceiver's list only.";
|
|
leaf otsi-group-ref {
|
|
type leafref {
|
|
path "../../../../../../otsis/otsi-group/" +
|
|
"otsi-group-id";
|
|
}
|
|
description
|
|
"The OTSi generated by the transceiver's transmitter.";
|
|
}
|
|
leaf otsi-ref {
|
|
type leafref {
|
|
path "../../../../../../otsis/otsi-group" +
|
|
"[otsi-group-id=current()/../otsi-group-ref]/otsi/" +
|
|
"otsi-carrier-id";
|
|
}
|
|
description
|
|
"The OTSi generated by the transceiver's transmitter.";
|
|
}
|
|
}
|
|
|
|
/*
|
|
* Data nodes
|
|
*/
|
|
|
|
augment "/nw:networks/nw:network/nw:network-types"
|
|
+ "/tet:te-topology" {
|
|
description "optical-impairment topology augmented";
|
|
container optical-impairment-topology {
|
|
presence
|
|
"Indicates an impairment-aware topology of optical networks";
|
|
description
|
|
"Container to identify impairment-aware topology type";
|
|
reference
|
|
"RFC8345: A YANG Data Model for Network Topologies.";
|
|
}
|
|
}
|
|
|
|
augment "/nw:networks/nw:network" {
|
|
when "./nw:network-types/tet:te-topology" +
|
|
"/oit:optical-impairment-topology" {
|
|
description
|
|
"This augment is only valid for Optical Impairment
|
|
topology.";
|
|
}
|
|
description
|
|
"Network augmentation for optical impairments data.";
|
|
container otsis {
|
|
presence
|
|
"When present, it indicates that OTSi information is
|
|
reported.";
|
|
description
|
|
"The information about the OTSis configured on the WDM-TE
|
|
link.";
|
|
list otsi-group {
|
|
key "otsi-group-id";
|
|
config false;
|
|
description
|
|
"the list of possible OTSiG representing client digital
|
|
stream";
|
|
leaf otsi-group-id {
|
|
type string;
|
|
description
|
|
"A network-wide unique identifier of otsi-group element.
|
|
It could be structured e.g., as an URI or as an UUID.";
|
|
}
|
|
uses otsi-group;
|
|
} // list of OTSiG
|
|
}
|
|
|
|
container templates {
|
|
config false;
|
|
description
|
|
"Templates for set of parameters which can be common to
|
|
multiple elements.";
|
|
container roadm-path-impairments {
|
|
description
|
|
"The top level container for the list of the set of
|
|
optical impairments related to ROADM paths.";
|
|
list roadm-path-impairment {
|
|
key "roadm-path-impairments-id";
|
|
description
|
|
"The list of the set of optical impairments related to
|
|
ROADM paths.";
|
|
|
|
leaf roadm-path-impairments-id {
|
|
type string;
|
|
description
|
|
"The identifier of the set of optical impairments
|
|
related to a ROADM path.";
|
|
}
|
|
choice impairment-type {
|
|
description "type path impairment";
|
|
case roadm-express-path {
|
|
list roadm-express-path {
|
|
key frequency-range-id;
|
|
description
|
|
"The list of optical impairments on a ROADM express
|
|
path for different frequency ranges.
|
|
|
|
Two elements in the list must not have the same
|
|
range or overlapping ranges.";
|
|
leaf frequency-range-id {
|
|
type uint16;
|
|
description
|
|
"The identifier of the frequency range.";
|
|
}
|
|
container frequency-range {
|
|
description
|
|
"The frequency range for which these optical
|
|
impairments apply.";
|
|
uses l0-types:frequency-range;
|
|
}
|
|
uses roadm-express-path;
|
|
}
|
|
}
|
|
case roadm-add-path {
|
|
list roadm-add-path {
|
|
key frequency-range-id;
|
|
description
|
|
"The list of optical impairments on a ROADM add
|
|
path for different frequency ranges.
|
|
|
|
Two elements in the list must not have the same
|
|
range or overlapping ranges.";
|
|
leaf frequency-range-id {
|
|
type uint16;
|
|
description
|
|
"The identifier of a frequency range.";
|
|
}
|
|
container frequency-range {
|
|
description
|
|
"The frequency range for which these optical
|
|
impairments apply.";
|
|
uses l0-types:frequency-range;
|
|
}
|
|
uses roadm-add-path;
|
|
}
|
|
}
|
|
case roadm-drop-path {
|
|
list roadm-drop-path {
|
|
key frequency-range-id;
|
|
description
|
|
"The list of optical impairments on a ROADM add
|
|
path for different frequency ranges.
|
|
|
|
Two elements in the list must not have the same
|
|
range or overlapping ranges.";
|
|
leaf frequency-range-id {
|
|
type uint16;
|
|
description
|
|
"The identifier of a frequency range.";
|
|
}
|
|
container frequency-range {
|
|
description
|
|
"The frequency range for which these optical
|
|
impairments apply.";
|
|
uses l0-types:frequency-range;
|
|
}
|
|
uses roadm-drop-path;
|
|
}
|
|
}
|
|
}
|
|
} // list roadm-path-impairments
|
|
} // container roadm-path-impairments
|
|
container explicit-transceiver-modes {
|
|
description
|
|
"The top level container for the list of the
|
|
transceivers' explicit modes.";
|
|
list explicit-transceiver-mode {
|
|
key explicit-transceiver-mode-id;
|
|
description
|
|
"The list of the transceivers' explicit modes.";
|
|
leaf explicit-transceiver-mode-id {
|
|
type string;
|
|
description
|
|
"The identifier of the transceivers' explicit mode.";
|
|
}
|
|
uses l0-types:explicit-mode;
|
|
} // list explicit-transceiver-mode
|
|
} // container explicit-transceiver-modes
|
|
} // container templates
|
|
} // augment network
|
|
|
|
augment "/nw:networks/nw:network/nw:node" {
|
|
when "../nw:network-types/tet:te-topology" +
|
|
"/oit:optical-impairment-topology" {
|
|
description
|
|
"This augment is only valid for Optical Impairment.";
|
|
}
|
|
description
|
|
"Node augmentation for optical impairments data.";
|
|
container transponders {
|
|
presence
|
|
"If present, it indicates that the list of transponders is
|
|
reported.";
|
|
description
|
|
"The top level container for the list of transponders.";
|
|
list transponder {
|
|
key "transponder-id";
|
|
config false;
|
|
description "The list of transponders.";
|
|
leaf transponder-id {
|
|
type uint32;
|
|
description "transponder identifier";
|
|
}
|
|
leaf termination-type-capabilities {
|
|
type enumeration {
|
|
enum tunnel-only {
|
|
description
|
|
"The transponder can only be used in an Optical
|
|
Tunnel termination configuration.";
|
|
}
|
|
enum 3r-only {
|
|
description
|
|
"The transponder can only be used in a 3R
|
|
configuration.";
|
|
}
|
|
enum 3r-or-tunnel {
|
|
description
|
|
"The transponder can be configure to be used either
|
|
in an Optical Tunnel termination configuration or in
|
|
a 3R configuration.";
|
|
}
|
|
}
|
|
description
|
|
"Describes whether the transponder can be used in an
|
|
Optical Tunnel termination configuration or in a 3R
|
|
configuration (or both).";
|
|
}
|
|
leaf supported-3r-mode {
|
|
when '(../termination-type-capabilities = "3r-only") or
|
|
(../termination-type-capabilities = "3r-or-tunnel")'
|
|
{
|
|
description
|
|
"Applies only when the transponder supports 3R
|
|
configuration.";
|
|
}
|
|
type enumeration {
|
|
enum unidir {
|
|
description
|
|
"Unidirectional 3R configuration.";
|
|
}
|
|
enum bidir {
|
|
description
|
|
"Bidirectional 3R configuration.";
|
|
}
|
|
}
|
|
description
|
|
"Describes the supported 3R configuration type.";
|
|
}
|
|
list transceiver {
|
|
key "transceiver-id";
|
|
config false;
|
|
min-elements 1;
|
|
description "list of transceiver related to a transponder";
|
|
leaf transceiver-id {
|
|
type uint32;
|
|
description "transceiver identifier";
|
|
}
|
|
uses l0-types:transceiver-capabilities {
|
|
augment "supported-modes/supported-mode/mode/"
|
|
+ "explicit-mode/explicit-mode" {
|
|
description
|
|
"Augment the explicit-mode container with the
|
|
proper leafref.";
|
|
leaf explicit-transceiver-mode-ref {
|
|
type leafref {
|
|
path "../../../../../../../../oit:templates"
|
|
+ "/oit:explicit-transceiver-modes"
|
|
+ "/oit:explicit-transceiver-mode"
|
|
+ "/oit:explicit-transceiver-mode-id";
|
|
}
|
|
description
|
|
"The refernce to the explicit transceiver
|
|
mode template.";
|
|
}
|
|
}
|
|
}
|
|
leaf configured-mode {
|
|
type union {
|
|
type empty;
|
|
type leafref {
|
|
path "../supported-modes/supported-mode/mode-id";
|
|
}
|
|
}
|
|
description
|
|
"Reference to the configured mode for transceiver
|
|
compatibility approach.
|
|
|
|
The empty value is used to report that no mode has
|
|
been configured and there is no default mode.
|
|
|
|
When not present, the configured-mode is not reported
|
|
by the server.";
|
|
}
|
|
uses l0-types:common-transceiver-param;
|
|
container outgoing-otsi {
|
|
when "../../../../../otsis" {
|
|
description
|
|
"It applies only when the OTSi information is
|
|
reported.";
|
|
}
|
|
description
|
|
"The OTSi generated by the transceiver's transmitter.";
|
|
uses otsi-ref;
|
|
}
|
|
container incoming-otsi {
|
|
when "../../../../../otsis" {
|
|
description
|
|
"It applies only when the OTSi information is
|
|
reported.";
|
|
}
|
|
description
|
|
"The OTSi received by the transceiver's received.";
|
|
uses otsi-ref;
|
|
}
|
|
leaf configured-termination-type {
|
|
type enumeration {
|
|
enum unused-transceiver {
|
|
description
|
|
"The transcevier is not used.";
|
|
}
|
|
enum tunnel-termination {
|
|
description
|
|
"The transceiver is currently used in an Optical
|
|
Tunnel termination configuration.";
|
|
}
|
|
enum 3r-regeneration {
|
|
description
|
|
"The transceiver is currently used in a 3R
|
|
configuration.";
|
|
}
|
|
}
|
|
description
|
|
"Describes whether the current configuration of the
|
|
transceiver is used in an Optical Tunnel termination
|
|
configuration or in a 3R configuration.
|
|
|
|
If empty, it means that the information about the
|
|
configured-termination-type is not reported.";
|
|
}
|
|
} // end of list of transceiver
|
|
} // end list of transponder
|
|
}
|
|
container regen-groups {
|
|
presence
|
|
"When present, it indicates that the list of 3R groups
|
|
is reported.";
|
|
description
|
|
"The top level container for the list of 3R groups.";
|
|
list regen-group {
|
|
key "group-id";
|
|
config false;
|
|
description
|
|
"The list of 3R groups.
|
|
|
|
Any 3R group represent a group of transponder in which an
|
|
a an electrical connectivity is either in place or could
|
|
be dynamically provided, to associated transponders used
|
|
for 3R regeneration.";
|
|
leaf group-id {
|
|
type uint32;
|
|
description
|
|
"Group identifier used an index to access elements in the
|
|
list of 3R groups.";
|
|
}
|
|
leaf regen-metric {
|
|
type uint32;
|
|
description
|
|
"The cost permits choice among different group of
|
|
transponders during path computation";
|
|
}
|
|
leaf-list transponder-ref {
|
|
type leafref {
|
|
path "../../../transponders/transponder/transponder-id";
|
|
}
|
|
description
|
|
"The list of transponder belonging to this 3R group.";
|
|
}
|
|
} // end 3R-group
|
|
}
|
|
}
|
|
|
|
augment "/nw:networks/nw:network/nt:link/tet:te"
|
|
+ "/tet:te-link-attributes" {
|
|
when "../../../nw:network-types/tet:te-topology/"
|
|
+ "oit:optical-impairment-topology" {
|
|
description
|
|
"This augment is only valid for Optical Impairment
|
|
topology.";
|
|
}
|
|
description "Optical Link augmentation for impairment data.";
|
|
container OMS-attributes {
|
|
config false;
|
|
description "OMS attributes";
|
|
uses oms-general-optical-params;
|
|
uses media-channel-groups;
|
|
uses oms-element;
|
|
}
|
|
}
|
|
|
|
augment "/nw:networks/nw:network/nw:node/tet:te"
|
|
+ "/tet:tunnel-termination-point" {
|
|
when "../../../nw:network-types/tet:te-topology/"
|
|
+ "oit:optical-impairment-topology" {
|
|
description
|
|
"This augment is only valid for Optical Impairment
|
|
topology.";
|
|
}
|
|
description
|
|
"Tunnel termination point augmentation for impairment data.";
|
|
|
|
list ttp-transceiver {
|
|
when "../../../transponders" {
|
|
description
|
|
"It applies only when the list of transponders is
|
|
reported.";
|
|
}
|
|
key "transponder-ref transceiver-ref";
|
|
config false;
|
|
min-elements 1;
|
|
description
|
|
"The list of the transceivers used by the TTP.";
|
|
leaf transponder-ref {
|
|
type leafref {
|
|
path "../../../../transponders/transponder/transponder-id";
|
|
}
|
|
description
|
|
"The reference to the transponder hosting the transceiver
|
|
of the TTP.";
|
|
}
|
|
leaf transceiver-ref {
|
|
type leafref {
|
|
path "../../../../transponders/transponder" +
|
|
"[transponder-id=current()/../transponder-ref]/" +
|
|
"transceiver/transceiver-id";
|
|
}
|
|
description
|
|
"The reference to the transceiver of the TTP.";
|
|
}
|
|
} // list of transceivers
|
|
} // end of augment
|
|
|
|
// Should this leaf be moved to te-topology?
|
|
augment "/nw:networks/nw:network/nw:node/nt:termination-point" {
|
|
when "../../nw:network-types/tet:te-topology/"
|
|
+ "oit:optical-impairment-topology" {
|
|
description
|
|
"This augment is only valid for Optical Impairment
|
|
topology";
|
|
}
|
|
description
|
|
"Augment LTP";
|
|
leaf protection-type {
|
|
type identityref {
|
|
base te-types:lsp-protection-type;
|
|
}
|
|
description
|
|
"The protection type that this LTP is capable of.
|
|
|
|
When not present it indicates that the information about
|
|
the protection type is not reported.";
|
|
}
|
|
}
|
|
|
|
augment "/nw:networks/nw:network/nw:node/nt:termination-point"
|
|
+ "/tet:te" {
|
|
when "../../../nw:network-types/tet:te-topology/"
|
|
+ "oit:optical-impairment-topology" {
|
|
description
|
|
"This augment is only valid for Optical Impairment
|
|
topology";
|
|
}
|
|
description
|
|
"Augment TE attributes of an LTP";
|
|
|
|
leaf inter-layer-sequence-number {
|
|
type uint32;
|
|
description
|
|
"The inter-layer-sequence-number (ILSN) is used to report
|
|
additional connectivity constraints between a client layer
|
|
Link Termination Point (LTP), such as a muxponder port, and
|
|
the server layer Tunnel Termination Point (TTP).
|
|
|
|
A client service cannot be setup between two client layer
|
|
LTPs which report different values of the ILSN.
|
|
|
|
This attribute is not reported when there are no additional
|
|
connectivity constraints.
|
|
|
|
Therefore, a client service can be setup when at least one
|
|
of the two client layer LTPs does not report any ILSN or
|
|
both client layer LTPs report the same ILSN value and the
|
|
corresponding server layer TTPs have at least one common
|
|
server-layer switching capability and at least one common
|
|
client-layer switching capability.";
|
|
}
|
|
}
|
|
|
|
augment "/nw:networks/nw:network/nw:node/tet:te"
|
|
+ "/tet:te-node-attributes" {
|
|
when "../../../nw:network-types/tet:te-topology"
|
|
+ "/oit:optical-impairment-topology" {
|
|
description
|
|
"This augment is only valid for Optical Impairment
|
|
topology";
|
|
}
|
|
description
|
|
"node attributes augmentantion for optical-impairment ROADM
|
|
node";
|
|
|
|
} // augmentation for optical-impairment ROADM
|
|
|
|
augment "/nw:networks/nw:network/nw:node/tet:te/"
|
|
+ "tet:information-source-entry/tet:connectivity-matrices"{
|
|
when "../../../../nw:network-types/tet:te-topology/"
|
|
+ "oit:optical-impairment-topology" {
|
|
description
|
|
"This augment is only valid for Optical Impairment
|
|
topology ";
|
|
}
|
|
description
|
|
"Augment default TE node connectivity matrix information
|
|
source.";
|
|
|
|
leaf roadm-path-impairments {
|
|
type leafref {
|
|
path "../../../../../oit:templates"
|
|
+ "/oit:roadm-path-impairments/oit:roadm-path-impairment"
|
|
+ "/oit:roadm-path-impairments-id";
|
|
}
|
|
config false;
|
|
description
|
|
"Pointer to the list set of ROADM optical impairments";
|
|
}
|
|
} // augmentation connectivity-matrices information-source
|
|
|
|
augment "/nw:networks/nw:network/nw:node/tet:te/"
|
|
+ "tet:information-source-entry/tet:connectivity-matrices/"
|
|
+ "tet:connectivity-matrix" {
|
|
when "../../../../../nw:network-types/tet:te-topology/"
|
|
+ "oit:optical-impairment-topology" {
|
|
description
|
|
"This augment is only valid for Optical Impairment
|
|
topology ";
|
|
}
|
|
description
|
|
"Augment TE node connectivity matrix entry information
|
|
source.";
|
|
leaf roadm-path-impairments {
|
|
type leafref {
|
|
path "../../../../../../oit:templates"
|
|
+ "/oit:roadm-path-impairments/oit:roadm-path-impairment"
|
|
+ "/oit:roadm-path-impairments-id";
|
|
}
|
|
config false;
|
|
description
|
|
"Pointer to the list set of ROADM optical impairments";
|
|
}
|
|
} // augmentation connectivity-matrix information-source
|
|
|
|
augment "/nw:networks/nw:network/nw:node/tet:te/"
|
|
+ "tet:te-node-attributes/tet:connectivity-matrices" {
|
|
when "../../../../nw:network-types/tet:te-topology/"
|
|
+ "oit:optical-impairment-topology" {
|
|
description
|
|
"This augment is only valid for Optical Impairment
|
|
topology ";
|
|
}
|
|
description
|
|
"Augment default TE node connectivity matrix.";
|
|
leaf roadm-path-impairments {
|
|
type leafref {
|
|
path "../../../../../oit:templates"
|
|
+ "/oit:roadm-path-impairments/oit:roadm-path-impairment"
|
|
+ "/oit:roadm-path-impairments-id";
|
|
}
|
|
config false; /*the identifier in the list */
|
|
/*"roadm-path-impairments" of ROADM optical impairment*/
|
|
/*is read-only as the rest of attributes*/
|
|
description "pointer to the list set of ROADM optical
|
|
impairments";
|
|
}
|
|
} // augmentation connectivity-matrices
|
|
|
|
augment "/nw:networks/nw:network/nw:node/tet:te/"
|
|
+ "tet:te-node-attributes/"
|
|
+ "tet:connectivity-matrices/tet:connectivity-matrix" {
|
|
when "../../../../../nw:network-types/tet:te-topology/"
|
|
+ "oit:optical-impairment-topology" {
|
|
description
|
|
"This augment is only valid for
|
|
Optical Impairment topology ";
|
|
}
|
|
description
|
|
"Augment TE node connectivity matrix entry.";
|
|
leaf roadm-path-impairments {
|
|
type leafref {
|
|
path "../../../../../../oit:templates"
|
|
+ "/oit:roadm-path-impairments/oit:roadm-path-impairment"
|
|
+ "/oit:roadm-path-impairments-id";
|
|
}
|
|
config false;
|
|
description "pointer to the list set of ROADM optical
|
|
impairments";
|
|
}
|
|
} // augmentation connectivity-matrix
|
|
|
|
augment "/nw:networks/nw:network/nw:node/tet:te/"
|
|
+ "tet:te-node-attributes/tet:connectivity-matrices/"
|
|
+ "tet:connectivity-matrix/tet:from" {
|
|
when "../../../../../../nw:network-types/tet:te-topology/"
|
|
+ "oit:optical-impairment-topology" {
|
|
description
|
|
"This augment is only valid for
|
|
Optical Impairment topology ";
|
|
}
|
|
description
|
|
"Augment the attributes for the 'from' LTP for the TE node
|
|
connectivity matrix entry.";
|
|
list additional-ltp {
|
|
when "derived-from-or-self(../../../../../../"
|
|
+ "nt:termination-point"
|
|
+ "[nt:tp-id=current()/../../tet:to/tet:tp-ref]/"
|
|
+ "oit:protection-type,"
|
|
+ "'oit:otsi-protection')" {
|
|
description
|
|
"This list applies only when the 'to' LTP for this
|
|
connectivity matrix entry supports individual OTSi(G)
|
|
protection.";
|
|
}
|
|
key "ltp-ref";
|
|
config false;
|
|
description
|
|
"The restricted list of the potential secondary LTPs that
|
|
can be selected when the 'from' LTP of this connectivity
|
|
matrix entry is selected as a working LTP.
|
|
|
|
If this list is empty, all the other LTPs that can reach
|
|
the 'to' LTP of this connectivity matrix entry can be
|
|
selected as secondary LTPs.";
|
|
leaf ltp-ref {
|
|
type leafref {
|
|
path "../../../../../../../nt:termination-point/nt:tp-id";
|
|
}
|
|
description
|
|
"The reference to the potential secondary LTP that can be
|
|
selected when the 'from' LTP of this connectivity matrix
|
|
entry is selected as a working LTP";
|
|
}
|
|
leaf roadm-path-impairments {
|
|
type leafref {
|
|
path "../../../../../../../../oit:templates"
|
|
+ "/oit:roadm-path-impairments/oit:roadm-path-impairment"
|
|
+ "/oit:roadm-path-impairments-id";
|
|
}
|
|
description
|
|
"Pointer to ROADM optical impairments of the ROADM path
|
|
between this secondary 'from' LTP and the 'to' LTP of
|
|
this connectivity matrix entry.";
|
|
}
|
|
}
|
|
} // augmentation connectivity-matrix from
|
|
|
|
augment "/nw:networks/nw:network/nw:node/tet:te/"
|
|
+ "tet:te-node-attributes/tet:connectivity-matrices/"
|
|
+ "tet:connectivity-matrix/tet:to" {
|
|
when "../../../../../../nw:network-types/tet:te-topology/"
|
|
+ "oit:optical-impairment-topology" {
|
|
description
|
|
"This augment is only valid for
|
|
Optical Impairment topology ";
|
|
}
|
|
description
|
|
"Augment the attributes for the 'to' LTP for the TE node
|
|
connectivity matrix entry.";
|
|
list additional-ltp {
|
|
when "derived-from-or-self(../../../../../../"
|
|
+ "nt:termination-point"
|
|
+ "[nt:tp-id=current()/../../tet:from/tet:tp-ref]/"
|
|
+ "oit:protection-type,"
|
|
+ "'oit:otsi-protection')" {
|
|
description
|
|
"This list applies only when the 'from' LTP for this
|
|
connectivity matrix entry supports individual OTSi(G)
|
|
protection.";
|
|
}
|
|
key "ltp-ref";
|
|
config false;
|
|
description
|
|
"The restricted list of the potential secondary LTPs that
|
|
can be selected when the 'to' LTP of this connectivity
|
|
matrix entry is selected as a working LTP.
|
|
|
|
If this list is empty, all the other LTPs that can be
|
|
reached from the 'from' LTP of this connectivity matrix
|
|
entry can be selected as secondary LTPs.";
|
|
leaf ltp-ref {
|
|
type leafref {
|
|
path "../../../../../../../nt:termination-point/nt:tp-id";
|
|
}
|
|
description
|
|
"The reference to the potential secondary LTP that can be
|
|
selected when the 'to' LTP of this connectivity matrix
|
|
entry is selected as a working LTP";
|
|
}
|
|
leaf roadm-path-impairments {
|
|
type leafref {
|
|
path "../../../../../../../../oit:templates"
|
|
+ "/oit:roadm-path-impairments/oit:roadm-path-impairment"
|
|
+ "/oit:roadm-path-impairments-id";
|
|
}
|
|
description
|
|
"Pointer to ROADM optical impairments of the ROADM path
|
|
between the 'from' LTP of this connectivity matrix entry
|
|
and this secondary LTP.";
|
|
}
|
|
}
|
|
} // augmentation connectivity-matrix to
|
|
|
|
augment "/nw:networks/nw:network/nw:node/tet:te/"
|
|
+ "tet:tunnel-termination-point/"
|
|
+ "tet:local-link-connectivities" {
|
|
when "../../../../nw:network-types/tet:te-topology/"
|
|
+ "oit:optical-impairment-topology" {
|
|
description
|
|
"This augment is only valid for Optical Impairment topology ";
|
|
}
|
|
description
|
|
"Augment default TTP LLC.";
|
|
leaf add-path-impairments {
|
|
type leafref {
|
|
path "../../../../../oit:templates"
|
|
+ "/oit:roadm-path-impairments/oit:roadm-path-impairment"
|
|
+ "/oit:roadm-path-impairments-id" ;
|
|
}
|
|
config false;
|
|
description "pointer to the list set of ROADM optical
|
|
impairments";
|
|
}
|
|
leaf drop-path-impairments {
|
|
type leafref {
|
|
path "../../../../../oit:templates"
|
|
+ "/oit:roadm-path-impairments/oit:roadm-path-impairment"
|
|
+ "/oit:roadm-path-impairments-id" ;
|
|
}
|
|
config false;
|
|
description "pointer to the list set of ROADM
|
|
optical impairments";
|
|
}
|
|
} // augmentation local-link-connectivities
|
|
|
|
augment "/nw:networks/nw:network/nw:node/tet:te/"
|
|
+ "tet:tunnel-termination-point/"
|
|
+ "tet:local-link-connectivities/"
|
|
+ "tet:local-link-connectivity" {
|
|
when "../../../../../nw:network-types/tet:te-topology/"
|
|
+ "oit:optical-impairment-topology" {
|
|
description
|
|
"This augment is only valid for
|
|
Optical Impairment topology ";
|
|
}
|
|
description
|
|
"Augment TTP LLC entry.";
|
|
leaf add-path-impairments {
|
|
type leafref {
|
|
path "../../../../../../oit:templates"
|
|
+ "/oit:roadm-path-impairments/oit:roadm-path-impairment"
|
|
+ "/oit:roadm-path-impairments-id" ;
|
|
}
|
|
config false;
|
|
description "pointer to the list set of ROADM optical
|
|
impairments";
|
|
}
|
|
leaf drop-path-impairments {
|
|
type leafref {
|
|
path "../../../../../../oit:templates"
|
|
+ "/oit:roadm-path-impairments/oit:roadm-path-impairment"
|
|
+ "/oit:roadm-path-impairments-id" ;
|
|
}
|
|
config false;
|
|
description "pointer to the list set of ROADM optical
|
|
impairments";
|
|
}
|
|
list llc-transceiver {
|
|
key "ttp-transponder-ref ttp-transceiver-ref";
|
|
config false;
|
|
description
|
|
"The list of transceivers having a LLC different from the
|
|
default LLC.";
|
|
leaf ttp-transponder-ref {
|
|
type leafref {
|
|
path "../../../../ttp-transceiver/transponder-ref";
|
|
}
|
|
description
|
|
"The reference to the transponder hosting the transceiver
|
|
of this LLCL entry.";
|
|
}
|
|
leaf ttp-transceiver-ref {
|
|
type leafref {
|
|
path "../../../../ttp-transceiver/transceiver-ref";
|
|
}
|
|
description
|
|
"The reference to the the transceiver of this LLCL entry.";
|
|
}
|
|
leaf is-allowed {
|
|
type boolean;
|
|
description
|
|
"'true' - connectivity from this transceiver is allowed;
|
|
'false' - connectivity from this transceiver is
|
|
disallowed.";
|
|
}
|
|
leaf add-path-impairments {
|
|
type leafref {
|
|
path "../../../../../../../oit:templates"
|
|
+ "/oit:roadm-path-impairments/oit:roadm-path-impairment"
|
|
+ "/oit:roadm-path-impairments-id" ;
|
|
}
|
|
description "pointer to the list set of ROADM optical
|
|
impairments";
|
|
}
|
|
leaf drop-path-impairments {
|
|
type leafref {
|
|
path "../../../../../../../oit:templates"
|
|
+ "/oit:roadm-path-impairments/oit:roadm-path-impairment"
|
|
+ "/oit:roadm-path-impairments-id" ;
|
|
}
|
|
description "pointer to the list set of ROADM
|
|
optical impairments";
|
|
}
|
|
}
|
|
list additional-ltp {
|
|
when "derived-from-or-self(../../../tet:protection-type,"
|
|
+ "'oit:otsi-protection')" {
|
|
description
|
|
"This list applies only to TTPs that support individual
|
|
OTSi(G) protection.";
|
|
}
|
|
key "ltp-ref";
|
|
config false;
|
|
description
|
|
"The restricted list of the potential secondary LTPs that
|
|
can be selected when the LTP associated with this LLCP
|
|
entry is selected as a working LTP.
|
|
|
|
If this list is empty, all the other LTPs that can be
|
|
reached by this TTP can be selected as secondary LTPs.";
|
|
leaf ltp-ref {
|
|
type leafref {
|
|
path "../../../../../../nt:termination-point/nt:tp-id";
|
|
}
|
|
description
|
|
"The reference to potential secondary LTP that can be
|
|
selected when the LTP associated with this LLCP entry is
|
|
selected as a working LTP";
|
|
}
|
|
leaf add-path-impairments {
|
|
type leafref {
|
|
path "../../../../../../../oit:templates"
|
|
+ "/oit:roadm-path-impairments/oit:roadm-path-impairment"
|
|
+ "/oit:roadm-path-impairments-id" ;
|
|
}
|
|
description "pointer to the list set of ROADM optical
|
|
impairments";
|
|
}
|
|
leaf drop-path-impairments {
|
|
type leafref {
|
|
path "../../../../../../../oit:templates"
|
|
+ "/oit:roadm-path-impairments/oit:roadm-path-impairment"
|
|
+ "/oit:roadm-path-impairments-id" ;
|
|
}
|
|
description "pointer to the list set of ROADM
|
|
optical impairments";
|
|
}
|
|
}
|
|
} // augmentation local-link-connectivity
|
|
} |