Toru Furusawa | 2898889 | 2017-10-30 17:28:40 -0700 | [diff] [blame] | 1 | module tapi-otsi {
|
Yuta HIGUCHI | 80d0bbd | 2018-02-28 11:13:11 -0800 | [diff] [blame] | 2 | namespace "urn:onf:otcc:yang:tapi-otsi";
|
Toru Furusawa | 2898889 | 2017-10-30 17:28:40 -0700 | [diff] [blame] | 3 | prefix tapi-otsi;
|
| 4 | import tapi-common {
|
| 5 | prefix tapi-common;
|
| 6 | }
|
| 7 | import tapi-connectivity {
|
| 8 | prefix tapi-connectivity;
|
| 9 | }
|
| 10 | import tapi-topology {
|
| 11 | prefix tapi-topology;
|
| 12 | }
|
Yuta HIGUCHI | 80d0bbd | 2018-02-28 11:13:11 -0800 | [diff] [blame] | 13 | organization "ONF OTCC (Open Transport Configuration & Control) Project";
|
| 14 | contact " |
| 15 | Project Web: <https://wiki.opennetworking.org/display/OTCC/TAPI> |
| 16 | Project List: <mailto:transport-api@opennetworking.org> |
| 17 | Editor: Karthik Sethuraman |
| 18 | <mailto:karthik.sethuraman@necam.com>";
|
| 19 | description "
|
| 20 | This module contains TAPI OTSi Model definitions.
|
| 21 | Source: TapiOtsi.uml
|
| 22 | Copyright (c) 2018 Open Networking Foundation (ONF). All rights reserved.
|
| 23 | License: This module is distributed under the Apache License 2.0";
|
Yuta HIGUCHI | 7f165b1 | 2018-03-25 19:05:29 -0700 | [diff] [blame] | 24 | revision 2018-03-07 {
|
Yuta HIGUCHI | e1ca23f | 2018-04-06 10:05:45 -0700 | [diff] [blame] | 25 | description "ONF Transport API version 2.0.2
|
| 26 | This YANG module has been generated from the TAPI UML Model using the IISOMI-Eagle xmi2yang mapping tool.
|
| 27 | Changes in this revision: <https://github.com/OpenNetworkingFoundation/TAPI/blob/develop/CHANGE_LOG/change-log.2.0.2.md>";
|
| 28 | reference "ONF-TR-527, ONF-TR-512, ONF-TR-531, RFC 6020, RFC 6087 and ONF TAPI UML model
|
| 29 | <https://github.com/OpenNetworkingFoundation/TAPI/tree/v2.0.2/UML>";
|
| 30 | }
|
| 31 | revision 2018-02-16 {
|
| 32 | description "ONF Transport API version 2.0.1
|
| 33 | This YANG module has been generated from the TAPI UML Model using the IISOMI-Eagle xmi2yang mapping tool.
|
| 34 | Changes in this revision: <https://github.com/OpenNetworkingFoundation/TAPI/blob/develop/CHANGE_LOG/change-log.2.0.1.md>";
|
| 35 | reference "ONF-TR-527, ONF-TR-512, ONF-TR-531, RFC 6020, RFC 6087 and ONF TAPI UML model
|
| 36 | <https://github.com/OpenNetworkingFoundation/TAPI/tree/v2.0.1/UML>";
|
| 37 | }
|
| 38 | revision 2018-01-02 {
|
| 39 | description "ONF Transport API version 2.0.0
|
| 40 | This YANG module has been generated from the TAPI UML Model using the IISOMI-Eagle xmi2yang mapping tool.
|
| 41 | Changes in this revision: <https://github.com/OpenNetworkingFoundation/TAPI/blob/develop/CHANGE_LOG/change-log.2.0.0.md>";
|
| 42 | reference "ONF-TR-527, ONF-TR-512, ONF-TR-531, RFC 6020, RFC 6087 and ONF TAPI UML model
|
| 43 | <https://github.com/OpenNetworkingFoundation/TAPI/tree/v2.0.0/UML>";
|
Toru Furusawa | 2898889 | 2017-10-30 17:28:40 -0700 | [diff] [blame] | 44 | }
|
| 45 | augment "/tapi-common:context/tapi-topology:topology/tapi-topology:node/tapi-topology:owned-node-edge-point/tapi-connectivity:connection-end-point" {
|
| 46 | uses otsi-connection-end-point-spec;
|
| 47 | description "Augments the base LayerProtocol information in ConnectionEndPoint with OCH-specific information";
|
| 48 | }
|
| 49 | augment "/tapi-common:context/tapi-topology:topology/tapi-topology:node/tapi-topology:owned-node-edge-point" {
|
| 50 | uses otsi-node-edge-point-spec;
|
| 51 | description "Augments the base LayerProtocol information in NodeEdgePoint with OCH-specific information";
|
| 52 | }
|
| 53 | /***********************
|
| 54 | * package object-classes
|
| 55 | **********************/
|
Yuta HIGUCHI | 80d0bbd | 2018-02-28 11:13:11 -0800 | [diff] [blame] | 56 | grouping otsi-client-adaptation-pac {
|
Toru Furusawa | 2898889 | 2017-10-30 17:28:40 -0700 | [diff] [blame] | 57 | description "none";
|
| 58 | }
|
| 59 | grouping otsi-connection-end-point-spec {
|
Yuta HIGUCHI | 80d0bbd | 2018-02-28 11:13:11 -0800 | [diff] [blame] | 60 | container otsi-adapter {
|
| 61 | config false;
|
| 62 | uses otsi-client-adaptation-pac;
|
| 63 | description "none";
|
| 64 | }
|
| 65 | container otsi-termination {
|
| 66 | config false;
|
| 67 | uses otsi-termination-pac;
|
| 68 | description "none";
|
| 69 | }
|
| 70 | container otsi-ctp {
|
| 71 | config false;
|
| 72 | uses otsi-ctp-pac;
|
| 73 | description "none";
|
| 74 | }
|
Toru Furusawa | 2898889 | 2017-10-30 17:28:40 -0700 | [diff] [blame] | 75 | description "none";
|
| 76 | }
|
| 77 | grouping otsi-termination-pac {
|
wu | 6a418d2 | 2018-02-02 01:49:21 -0500 | [diff] [blame] | 78 | list selected-nominal-central-frequency {
|
| 79 | config false;
|
Toru Furusawa | 2898889 | 2017-10-30 17:28:40 -0700 | [diff] [blame] | 80 | uses nominal-central-frequency-or-wavelength;
|
| 81 | 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.
|
| 82 | 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.
|
| 83 | ";
|
| 84 | }
|
wu | 6a418d2 | 2018-02-02 01:49:21 -0500 | [diff] [blame] | 85 | list supportable-lower-nominal-central-frequency {
|
Toru Furusawa | 2898889 | 2017-10-30 17:28:40 -0700 | [diff] [blame] | 86 | config false;
|
| 87 | uses nominal-central-frequency-or-wavelength;
|
| 88 | description "none";
|
| 89 | }
|
wu | 6a418d2 | 2018-02-02 01:49:21 -0500 | [diff] [blame] | 90 | list supportable-upper-nominal-central-frequency {
|
Toru Furusawa | 2898889 | 2017-10-30 17:28:40 -0700 | [diff] [blame] | 91 | config false;
|
| 92 | uses nominal-central-frequency-or-wavelength;
|
| 93 | description "none";
|
| 94 | }
|
wu | 6a418d2 | 2018-02-02 01:49:21 -0500 | [diff] [blame] | 95 | list selected-application-identifier {
|
| 96 | config false;
|
Toru Furusawa | 2898889 | 2017-10-30 17:28:40 -0700 | [diff] [blame] | 97 | uses application-identifier;
|
| 98 | 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.";
|
| 99 | }
|
wu | 6a418d2 | 2018-02-02 01:49:21 -0500 | [diff] [blame] | 100 | list supportable-application-identifier {
|
Toru Furusawa | 2898889 | 2017-10-30 17:28:40 -0700 | [diff] [blame] | 101 | config false;
|
| 102 | uses application-identifier;
|
| 103 | description "none";
|
| 104 | }
|
| 105 | description "none";
|
| 106 | }
|
Yuta HIGUCHI | 80d0bbd | 2018-02-28 11:13:11 -0800 | [diff] [blame] | 107 | grouping otsi-pool-pac {
|
Toru Furusawa | 2898889 | 2017-10-30 17:28:40 -0700 | [diff] [blame] | 108 | list available-frequency-slot {
|
| 109 | config false;
|
| 110 | uses frequency-slot;
|
| 111 | description "none";
|
| 112 | }
|
| 113 | list occupied-frequency-slot {
|
| 114 | config false;
|
| 115 | uses frequency-slot;
|
| 116 | description "none";
|
| 117 | }
|
| 118 | description "none";
|
| 119 | }
|
| 120 | grouping otsi-node-edge-point-spec {
|
Yuta HIGUCHI | 80d0bbd | 2018-02-28 11:13:11 -0800 | [diff] [blame] | 121 | container otsi-pool {
|
| 122 | config false;
|
| 123 | uses otsi-pool-pac;
|
| 124 | description "none";
|
| 125 | }
|
Toru Furusawa | 2898889 | 2017-10-30 17:28:40 -0700 | [diff] [blame] | 126 | description "none";
|
| 127 | }
|
| 128 | grouping otsi-routing-spec {
|
| 129 | leaf optical-routing-strategy {
|
| 130 | type optical-routing-strategy;
|
| 131 | description "none";
|
| 132 | }
|
| 133 | description "none";
|
| 134 | }
|
Yuta HIGUCHI | 80d0bbd | 2018-02-28 11:13:11 -0800 | [diff] [blame] | 135 | grouping otsi-ctp-pac {
|
Toru Furusawa | 2898889 | 2017-10-30 17:28:40 -0700 | [diff] [blame] | 136 | list selected-frequency-slot {
|
wu | 6a418d2 | 2018-02-02 01:49:21 -0500 | [diff] [blame] | 137 | config false;
|
Toru Furusawa | 2898889 | 2017-10-30 17:28:40 -0700 | [diff] [blame] | 138 | uses frequency-slot;
|
| 139 | description "none";
|
| 140 | }
|
| 141 | description "none";
|
| 142 | }
|
Toru Furusawa | 2898889 | 2017-10-30 17:28:40 -0700 | [diff] [blame] | 143 |
|
| 144 | /***********************
|
| 145 | * package type-definitions
|
| 146 | **********************/
|
Toru Furusawa | 2898889 | 2017-10-30 17:28:40 -0700 | [diff] [blame] | 147 | grouping application-identifier {
|
| 148 | leaf application-identifier-type {
|
| 149 | type application-identifier-type;
|
| 150 | description "none";
|
| 151 | }
|
| 152 | leaf application-identifier-value {
|
| 153 | type string;
|
| 154 | description "none";
|
| 155 | }
|
| 156 | description "none";
|
| 157 | }
|
| 158 | grouping nominal-central-frequency-or-wavelength {
|
| 159 | leaf grid-type {
|
| 160 | type grid-type;
|
| 161 | description "Specifies the frequency grid standard used to determine the nominal central frequency and frequency slot width";
|
| 162 | }
|
| 163 | leaf adjustment-granularity {
|
| 164 | type adjustment-granularity;
|
| 165 | description "Adjustment granularity in Gigahertz. As per ITU-T G.694.1, it is used to calculate nominal central frequency (in THz)";
|
| 166 | }
|
| 167 | leaf channel-number {
|
| 168 | type uint64;
|
| 169 | 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:
|
| 170 | 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";
|
| 171 | }
|
| 172 | 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.
|
| 173 | As per ITU-T G.694.1, the nominal central frequency (in THz) is calculated as follows:
|
| 174 | 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
|
| 175 | 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
|
| 176 | For FLEX grid type, the adjusmentGranularity is 0.00625 THz and the slot width is variable in increments of 12.5 GHz";
|
| 177 | }
|
| 178 | typedef optical-routing-strategy {
|
| 179 | type enumeration {
|
wu | 6a418d2 | 2018-02-02 01:49:21 -0500 | [diff] [blame] | 180 | enum OPTIMAL_OSNR {
|
Toru Furusawa | 2898889 | 2017-10-30 17:28:40 -0700 | [diff] [blame] | 181 | description "none";
|
| 182 | }
|
wu | 6a418d2 | 2018-02-02 01:49:21 -0500 | [diff] [blame] | 183 | enum NO_RELAY {
|
Toru Furusawa | 2898889 | 2017-10-30 17:28:40 -0700 | [diff] [blame] | 184 | description "none";
|
| 185 | }
|
wu | 6a418d2 | 2018-02-02 01:49:21 -0500 | [diff] [blame] | 186 | enum MIN_RELAY {
|
Toru Furusawa | 2898889 | 2017-10-30 17:28:40 -0700 | [diff] [blame] | 187 | description "none";
|
| 188 | }
|
wu | 6a418d2 | 2018-02-02 01:49:21 -0500 | [diff] [blame] | 189 | enum PREFERRED_NO_CHANGE_WAVELENGTH_AS_RESTORE {
|
Toru Furusawa | 2898889 | 2017-10-30 17:28:40 -0700 | [diff] [blame] | 190 | description "none";
|
| 191 | }
|
wu | 6a418d2 | 2018-02-02 01:49:21 -0500 | [diff] [blame] | 192 | enum PREFERRED_NO_SKIPPING_WAVELENGTH {
|
Toru Furusawa | 2898889 | 2017-10-30 17:28:40 -0700 | [diff] [blame] | 193 | description "none";
|
| 194 | }
|
| 195 | }
|
| 196 | description "none";
|
| 197 | }
|
| 198 | typedef application-identifier-type {
|
wu | 6a418d2 | 2018-02-02 01:49:21 -0500 | [diff] [blame] | 199 | type enumeration {
|
| 200 | enum PROPRIETARY {
|
| 201 | description "none";
|
| 202 | }
|
| 203 | enum ITUT_G959_1 {
|
| 204 | description "none";
|
| 205 | }
|
| 206 | enum ITUT_G698_1 {
|
| 207 | description "none";
|
| 208 | }
|
| 209 | enum ITUT_G698_2 {
|
| 210 | description "none";
|
| 211 | }
|
| 212 | enum ITUT_G696_1 {
|
| 213 | description "none";
|
| 214 | }
|
| 215 | enum ITUT_G695 {
|
| 216 | description "none";
|
| 217 | }
|
Toru Furusawa | 2898889 | 2017-10-30 17:28:40 -0700 | [diff] [blame] | 218 | }
|
| 219 | description "none";
|
| 220 | }
|
| 221 | typedef grid-type {
|
wu | 6a418d2 | 2018-02-02 01:49:21 -0500 | [diff] [blame] | 222 | type enumeration {
|
| 223 | enum DWDM {
|
| 224 | description "Fixed frequency grid in C & L bands as specified in ITU-T G.694.1
|
| 225 | ";
|
| 226 | }
|
| 227 | enum CWDM {
|
| 228 | description "Fixed frequency grid as specified in ITU-T G.694.2";
|
| 229 | }
|
| 230 | enum FLEX {
|
| 231 | description "Flexible frequency grid as specified in ITU-T G.694.1. In this case,
|
| 232 | - the allowed frequency slots have a nominal central frequency (in THz) defined by:
|
| 233 | 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
|
| 234 | - and a slot width defined by:
|
| 235 | 12.5 × m where m is a positive integer and 12.5 is the slot width granularity in GHz.
|
| 236 | Any combination of frequency slots is allowed as long as no two frequency slots overlap.";
|
| 237 | }
|
| 238 | enum UNSPECIFIED {
|
| 239 | description "Unspecified/proprietary frequency grid";
|
| 240 | }
|
Toru Furusawa | 2898889 | 2017-10-30 17:28:40 -0700 | [diff] [blame] | 241 | }
|
| 242 | 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.";
|
| 243 | }
|
| 244 | typedef adjustment-granularity {
|
wu | 6a418d2 | 2018-02-02 01:49:21 -0500 | [diff] [blame] | 245 | type enumeration {
|
| 246 | enum G_100GHZ {
|
| 247 | description "0.1 THz";
|
| 248 | }
|
| 249 | enum G_50GHZ {
|
| 250 | description "0.05 THz";
|
| 251 | }
|
| 252 | enum G_25GHZ {
|
| 253 | description "0.025 THz";
|
| 254 | }
|
| 255 | enum G_12_5GHZ {
|
| 256 | description "0.0125 THz";
|
| 257 | }
|
| 258 | enum G_6_25GHZ {
|
| 259 | description "0.00625 THz";
|
| 260 | }
|
Toru Furusawa | 2898889 | 2017-10-30 17:28:40 -0700 | [diff] [blame] | 261 | }
|
| 262 | description "Adjustment granularity in Gigahertz. As per ITU-T G.694.1, it is used to calculate nominal central frequency (in THz)";
|
| 263 | }
|
| 264 | grouping frequency-slot {
|
| 265 | container nominal-central-frequency {
|
| 266 | uses nominal-central-frequency-or-wavelength;
|
| 267 | description "none";
|
| 268 | }
|
| 269 | leaf slot-width-number {
|
| 270 | type uint64;
|
| 271 | 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:
|
| 272 | 12.5 × m where m is a positive integer and 12.5 is the slot width granularity in GHz.";
|
| 273 | }
|
| 274 | 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:
|
| 275 | 12.5 × <slotWidthNumber> where slotWidthNumber is a positive integer and 12.5 is the slot width granularity in GHz";
|
| 276 | }
|
| 277 |
|
| 278 | }
|