blob: 427639a570ccb29f69d9aef02cda2a31e14de94e [file] [log] [blame]
module tapi-otsi {
namespace "urn:onf:otcc:yang:tapi-otsi";
prefix tapi-otsi;
import tapi-common {
prefix tapi-common;
}
import tapi-connectivity {
prefix tapi-connectivity;
}
import tapi-topology {
prefix tapi-topology;
}
organization "ONF OTCC (Open Transport Configuration & Control) Project";
contact "
Project Web: <https://wiki.opennetworking.org/display/OTCC/TAPI>
Project List: <mailto:transport-api@opennetworking.org>
Editor: Karthik Sethuraman
<mailto:karthik.sethuraman@necam.com>";
description "
This module contains TAPI OTSi Model definitions.
Source: TapiOtsi.uml
Copyright (c) 2018 Open Networking Foundation (ONF). All rights reserved.
License: This module is distributed under the Apache License 2.0";
revision 2018-03-07 {
description "ONF Transport API version 2.0.2
This YANG module has been generated from the TAPI UML Model using the IISOMI-Eagle xmi2yang mapping tool version .
<https://wiki.opennetworking.org/display/OIMT/IISOMI>
Changes in this revision: <https://github.com/OpenNetworkingFoundation/TAPI/blob/develop/change-log.md>";
reference "ONF-TR-527, ONF-TR-512, ONF-TR-531, RFC 6020, RFC 6087 and ONF TAPI UML model
<https://github.com/OpenNetworkingFoundation/TAPI/tree/develop/UML>";
}
augment "/tapi-common:context/tapi-topology:topology/tapi-topology:node/tapi-topology:owned-node-edge-point/tapi-connectivity:connection-end-point" {
uses otsi-connection-end-point-spec;
description "Augments the base LayerProtocol information in ConnectionEndPoint with OCH-specific information";
}
augment "/tapi-common:context/tapi-topology:topology/tapi-topology:node/tapi-topology:owned-node-edge-point" {
uses otsi-node-edge-point-spec;
description "Augments the base LayerProtocol information in NodeEdgePoint with OCH-specific information";
}
/***********************
* package object-classes
**********************/
grouping otsi-client-adaptation-pac {
description "none";
}
grouping otsi-connection-end-point-spec {
container otsi-adapter {
config false;
uses otsi-client-adaptation-pac;
description "none";
}
container otsi-termination {
config false;
uses otsi-termination-pac;
description "none";
}
container otsi-ctp {
config false;
uses otsi-ctp-pac;
description "none";
}
description "none";
}
grouping otsi-termination-pac {
list selected-nominal-central-frequency {
config false;
uses nominal-central-frequency-or-wavelength;
description "This attribute indicates the nominal central frequency or wavelength of the optical channel associated with the OCh Trail Termination function. The value of this attribute is a pair {LinkType, Integer}, in which LinkType is DWDM, or CWDM, or NO_WDM. When LinkType is DWDM, the integer represents the nominal central frequency in unit of MHz. When LinkType is CWDM, the integer represents the nominal central wavelength in unit of pm (picometer). When LinkType is NO_WDM, the Integer field is null. For frequency and wavelength, the value shall be within the range of the maximum and minimum central frequencies or wavelengths specified for the corresponding application code used at the OCh Trail Termination.
This attribute is required for the OCh Trial Termination Point Source at the transmitter. For the OCh Trail Termination Point Sink at the receiver, this attribute may not be needed since the receiver is required to operate at any frequency/wavelength between the maximum and minimum range for the standard application code.
";
}
list supportable-lower-nominal-central-frequency {
config false;
uses nominal-central-frequency-or-wavelength;
description "none";
}
list supportable-upper-nominal-central-frequency {
config false;
uses nominal-central-frequency-or-wavelength;
description "none";
}
list selected-application-identifier {
config false;
uses application-identifier;
description "This attribute indicates the selected Application Identifier that is used by the OCh trail termination function. The syntax of ApplicationIdentifier is a pair {ApplicationIdentifierType, PrintableString}. The value of ApplicationIdentifierType is either STANDARD or PROPRIETARY. The value of PrintableString represents the standard application code as defined in the ITU-T Recommendations or a vendor-specific proprietary code. If the ApplicationIdentifierType is STANDARD the value of PrintableString represents a standard application code as defined in the ITU-T Recommendations. If the ApplicationIdentifierType is PROPRIETARY, the first six characters of the PrintableString must contain the Hexadecimal representation of an OUI assigned to the vendor whose implementation generated the Application Identifier; the remaining octets of the PrintableString are unspecified. The value of this attribute of an object instance has to be one of the values identified in the attribute SupportableApplicationIdentifierList of the same object instance. The values and value ranges of the optical interface parameters of a standard application code must be consistent with those values specified in the ITU-T Recommendation for that application code.";
}
list supportable-application-identifier {
config false;
uses application-identifier;
description "none";
}
description "none";
}
grouping otsi-pool-pac {
list available-frequency-slot {
config false;
uses frequency-slot;
description "none";
}
list occupied-frequency-slot {
config false;
uses frequency-slot;
description "none";
}
description "none";
}
grouping otsi-node-edge-point-spec {
container otsi-pool {
config false;
uses otsi-pool-pac;
description "none";
}
description "none";
}
grouping otsi-routing-spec {
leaf optical-routing-strategy {
type optical-routing-strategy;
description "none";
}
description "none";
}
grouping otsi-ctp-pac {
list selected-frequency-slot {
config false;
uses frequency-slot;
description "none";
}
description "none";
}
/***********************
* package type-definitions
**********************/
grouping application-identifier {
leaf application-identifier-type {
type application-identifier-type;
description "none";
}
leaf application-identifier-value {
type string;
description "none";
}
description "none";
}
grouping nominal-central-frequency-or-wavelength {
leaf grid-type {
type grid-type;
description "Specifies the frequency grid standard used to determine the nominal central frequency and frequency slot width";
}
leaf adjustment-granularity {
type adjustment-granularity;
description "Adjustment granularity in Gigahertz. As per ITU-T G.694.1, it is used to calculate nominal central frequency (in THz)";
}
leaf channel-number {
type uint64;
description "As per ITU-T G.694.1, this attribute is denoted as 'n' and is used to calculate the nominal central frequency (in THz) as follows:
193.1 + <channelNumber> × <adjustmentGranularity> where channelNumber is a positive or negative integer including 0 and adjustment_granularity is the nominal central frequency granularity in THz";
}
description "This data-type holds the information to determine the nominal central frequency of a FIXED grid (DWDM or CWDM) and FLEX grid type systems.
As per ITU-T G.694.1, the nominal central frequency (in THz) is calculated as follows:
193.1 + <channelNumber> × <adjustmentGranularity> where channelNumber is a positive or negative integer including 0 and <adjustment_granularity> is the nominal central frequency granularity in THz
For FIXED grid types, the adjustmentGranularity is one of (0.1/0.05/0.025/0.0125) THz corresponding to channel spacing of one of (100/50/25/12.5) GHz
For FLEX grid type, the adjusmentGranularity is 0.00625 THz and the slot width is variable in increments of 12.5 GHz";
}
typedef optical-routing-strategy {
type enumeration {
enum OPTIMAL_OSNR {
description "none";
}
enum NO_RELAY {
description "none";
}
enum MIN_RELAY {
description "none";
}
enum PREFERRED_NO_CHANGE_WAVELENGTH_AS_RESTORE {
description "none";
}
enum PREFERRED_NO_SKIPPING_WAVELENGTH {
description "none";
}
}
description "none";
}
typedef application-identifier-type {
type enumeration {
enum PROPRIETARY {
description "none";
}
enum ITUT_G959_1 {
description "none";
}
enum ITUT_G698_1 {
description "none";
}
enum ITUT_G698_2 {
description "none";
}
enum ITUT_G696_1 {
description "none";
}
enum ITUT_G695 {
description "none";
}
}
description "none";
}
typedef grid-type {
type enumeration {
enum DWDM {
description "Fixed frequency grid in C & L bands as specified in ITU-T G.694.1
";
}
enum CWDM {
description "Fixed frequency grid as specified in ITU-T G.694.2";
}
enum FLEX {
description "Flexible frequency grid as specified in ITU-T G.694.1. In this case,
- the allowed frequency slots have a nominal central frequency (in THz) defined by:
193.1 + n × 0.00625 where n is a positive or negative integer including 0 and 0.00625 is the nominal central frequency granularity in THz
- and a slot width defined by:
12.5 × m where m is a positive integer and 12.5 is the slot width granularity in GHz.
Any combination of frequency slots is allowed as long as no two frequency slots overlap.";
}
enum UNSPECIFIED {
description "Unspecified/proprietary frequency grid";
}
}
description "The frequency grid standard that specify reference set of frequencies used to denote allowed nominal central frequencies that may be used for defining applications.";
}
typedef adjustment-granularity {
type enumeration {
enum G_100GHZ {
description "0.1 THz";
}
enum G_50GHZ {
description "0.05 THz";
}
enum G_25GHZ {
description "0.025 THz";
}
enum G_12_5GHZ {
description "0.0125 THz";
}
enum G_6_25GHZ {
description "0.00625 THz";
}
}
description "Adjustment granularity in Gigahertz. As per ITU-T G.694.1, it is used to calculate nominal central frequency (in THz)";
}
grouping frequency-slot {
container nominal-central-frequency {
uses nominal-central-frequency-or-wavelength;
description "none";
}
leaf slot-width-number {
type uint64;
description "As per ITU-T G.694.1, this attribute is denoted as 'm' and is used to calculate the slot width (in GHz) as follows:
12.5 × m where m is a positive integer and 12.5 is the slot width granularity in GHz.";
}
description "The frequency range allocated to a slot and unavailable to other slots within a flexible grid. A frequency slot is defined by its nominal central frequency. As per ITU-T G.694.1 the slot width is calculated as follows:
12.5 × <slotWidthNumber> where slotWidthNumber is a positive integer and 12.5 is the slot width granularity in GHz";
}
}