module tapi-otsi { | |
namespace "urn:onf:params:xml:ns: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 "Open Networking Foundation (ONF) / Open Transport Working Group(OTWG) / Transport API (TAPI) Project"; | |
contact " | |
WG Web: TAPI SDK Project <http://opensourcesdn.org/projects/project-snowmass/> | |
WG List: TAPI Discussion list <mailto: transport-api@login.opennetworking.org>, | |
WG Chair: Karthik Sethuraman <mailto:karthik.sethuraman@necam.com>, | |
Editor: Ricard Vilalta <mailto:ricard.vilalta@cttc.es>"; | |
description "none"; | |
revision 2017-05-31 { | |
description "TAPI SDK 2.0-alpha"; | |
reference "ONF-TR-527, ONF-TR-512, ONF-TR-531, RFC 6020 and RFC 6087"; | |
} | |
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-a-client-adaptation-pac { | |
description "none"; | |
} | |
grouping otsi-connection-end-point-spec { | |
container otsi-adapter { | |
config false; | |
uses otsi-a-client-adaptation-pac; | |
description "none"; | |
} | |
list otsi-termination { | |
config false; | |
uses otsi-termination-pac; | |
description "none"; | |
} | |
container otsi-ctp { | |
config false; | |
uses otsi-g-ctp-pac; | |
description "none"; | |
} | |
description "none"; | |
} | |
grouping otsi-termination-pac { | |
container selected-nominal-central-frequency { | |
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. | |
"; | |
} | |
container supportable-lower-nominal-central-frequency { | |
config false; | |
uses nominal-central-frequency-or-wavelength; | |
description "none"; | |
} | |
container supportable-upper-nominal-central-frequency { | |
config false; | |
uses nominal-central-frequency-or-wavelength; | |
description "none"; | |
} | |
container selected-application-identifier { | |
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."; | |
} | |
container supportable-application-identifier { | |
config false; | |
uses application-identifier; | |
description "none"; | |
} | |
description "none"; | |
} | |
grouping otsi-a-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-a-pool-pac; | |
description "none"; | |
} | |
description "none"; | |
} | |
grouping otsi-routing-spec { | |
leaf optical-routing-strategy { | |
type optical-routing-strategy; | |
description "none"; | |
} | |
description "none"; | |
} | |
grouping otsi-g-ctp-pac { | |
list selected-frequency-slot { | |
uses frequency-slot; | |
description "none"; | |
} | |
description "none"; | |
} | |
feature otsia { | |
description "none"; | |
} | |
/*********************** | |
* package type-definitions | |
**********************/ | |
identity application-identifier-type { | |
description "none"; | |
} | |
identity proprietary { | |
base application-identifier-type; | |
description "none"; | |
} | |
identity itut-g-959-1 { | |
base application-identifier-type; | |
description "none"; | |
} | |
identity itut-g-698-1 { | |
base application-identifier-type; | |
description "none"; | |
} | |
identity itut-g-698-2 { | |
base application-identifier-type; | |
description "none"; | |
} | |
identity itut-g-696-1 { | |
base application-identifier-type; | |
description "none"; | |
} | |
identity itut-g-695 { | |
base application-identifier-type; | |
description "none"; | |
} | |
identity grid-type { | |
description "none"; | |
} | |
identity dwdm { | |
base grid-type; | |
description "Fixed frequency grid in C & L bands as specified in ITU-T G.694.1 | |
"; | |
} | |
identity cwdm { | |
base grid-type; | |
description "Fixed frequency grid as specified in ITU-T G.694.2"; | |
} | |
identity flex { | |
base grid-type; | |
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."; | |
} | |
identity unspecified { | |
base grid-type; | |
description "Unspecified/proprietary frequency grid"; | |
} | |
identity adjustment-granularity { | |
description "none"; | |
} | |
identity g-100-ghz { | |
base adjustment-granularity; | |
description "0.1 THz"; | |
} | |
identity g-50-ghz { | |
base adjustment-granularity; | |
description "0.05 THz"; | |
} | |
identity g-25-ghz { | |
base adjustment-granularity; | |
description "0.025 THz"; | |
} | |
identity g-12-5-ghz { | |
base adjustment-granularity; | |
description "0.0125 THz"; | |
} | |
identity g-6-25-ghz { | |
base adjustment-granularity; | |
description "0.00625 THz"; | |
} | |
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 identityref { | |
base application-identifier-type; | |
} | |
description "none"; | |
} | |
typedef grid-type { | |
type identityref { | |
base grid-type; | |
} | |
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 identityref { | |
base adjustment-granularity; | |
} | |
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"; | |
} | |
} |