idnits 2.17.1 draft-ietf-ccamp-layer1-types-06.txt: Checking boilerplate required by RFC 5378 and the IETF Trust (see https://trustee.ietf.org/license-info): ---------------------------------------------------------------------------- No issues found here. Checking nits according to https://www.ietf.org/id-info/1id-guidelines.txt: ---------------------------------------------------------------------------- No issues found here. Checking nits according to https://www.ietf.org/id-info/checklist : ---------------------------------------------------------------------------- No issues found here. Miscellaneous warnings: ---------------------------------------------------------------------------- == The copyright year in the IETF Trust and authors Copyright Line does not match the current year == Line 293 has weird spacing: '...ad-rate uin...' -- The document date (May 13, 2020) is 1445 days in the past. Is this intentional? Checking references for intended status: Proposed Standard ---------------------------------------------------------------------------- (See RFCs 3967 and 4897 for information about using normative references to lower-maturity documents in RFCs) == Unused Reference: 'I-D.ietf-ccamp-transport-nbi-app-statement' is defined on line 1471, but no explicit reference was found in the text -- Possible downref: Non-RFC (?) normative reference: ref. 'ITU-Tg7044' -- Possible downref: Non-RFC (?) normative reference: ref. 'ITU-Tg709' -- Possible downref: Non-RFC (?) normative reference: ref. 'ITU-Tgsup43' -- Possible downref: Non-RFC (?) normative reference: ref. 'MEF63' ** Downref: Normative reference to an Informational RFC: RFC 7963 -- Possible downref: Non-RFC (?) normative reference: ref. 'Telcordia' == Outdated reference: A later version (-12) exists of draft-ietf-ccamp-client-signal-yang-02 == Outdated reference: A later version (-26) exists of draft-ietf-ccamp-l1csm-yang-11 == Outdated reference: A later version (-18) exists of draft-ietf-ccamp-otn-topo-yang-10 == Outdated reference: A later version (-20) exists of draft-ietf-ccamp-otn-tunnel-model-10 == Outdated reference: A later version (-17) exists of draft-ietf-ccamp-transport-nbi-app-statement-10 Summary: 1 error (**), 0 flaws (~~), 8 warnings (==), 6 comments (--). Run idnits with the --verbose option for more detailed information about the items above. -------------------------------------------------------------------------------- 2 CCAMP Working Group H. Zheng 3 Internet-Draft I. Busi 4 Intended status: Standards Track Huawei Technologies 5 Expires: November 14, 2020 May 13, 2020 7 A YANG Data Model for Layer 1 Types 8 draft-ietf-ccamp-layer1-types-06 10 Abstract 12 This document defines a collection of common data types and groupings 13 in YANG data modeling language for layer 1 networks. These derived 14 common types and groupings are intended to be imported by modules 15 that specifies the OTN networks, including the topology, tunnel, 16 client signal adaptation and service. 18 Status of This Memo 20 This Internet-Draft is submitted in full conformance with the 21 provisions of BCP 78 and BCP 79. 23 Internet-Drafts are working documents of the Internet Engineering 24 Task Force (IETF). Note that other groups may also distribute 25 working documents as Internet-Drafts. The list of current Internet- 26 Drafts is at https://datatracker.ietf.org/drafts/current/. 28 Internet-Drafts are draft documents valid for a maximum of six months 29 and may be updated, replaced, or obsoleted by other documents at any 30 time. It is inappropriate to use Internet-Drafts as reference 31 material or to cite them other than as "work in progress." 33 This Internet-Draft will expire on November 14, 2020. 35 Copyright Notice 37 Copyright (c) 2020 IETF Trust and the persons identified as the 38 document authors. All rights reserved. 40 This document is subject to BCP 78 and the IETF Trust's Legal 41 Provisions Relating to IETF Documents 42 (https://trustee.ietf.org/license-info) in effect on the date of 43 publication of this document. Please review these documents 44 carefully, as they describe your rights and restrictions with respect 45 to this document. Code Components extracted from this document must 46 include Simplified BSD License text as described in Section 4.e of 47 the Trust Legal Provisions and are provided without warranty as 48 described in the Simplified BSD License. 50 Table of Contents 52 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2 53 2. Terminology and Notations . . . . . . . . . . . . . . . . . . 3 54 3. Prefix in Data Node Names . . . . . . . . . . . . . . . . . . 3 55 4. Layer 1 Types Overview . . . . . . . . . . . . . . . . . . . 3 56 4.1. Relationship with other Modules . . . . . . . . . . . . . 3 57 4.2. Content in Layer 1 Type Module . . . . . . . . . . . . . 3 58 4.3. OTN Label and Label Range . . . . . . . . . . . . . . . . 5 59 4.4. ODUflex . . . . . . . . . . . . . . . . . . . . . . . . . 6 60 4.4.1. Resizable ODUflex . . . . . . . . . . . . . . . . . . 8 61 5. YANG Code for Layer1 Types . . . . . . . . . . . . . . . . . 9 62 6. Security Considerations . . . . . . . . . . . . . . . . . . . 27 63 7. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 28 64 8. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 28 65 9. Contributors . . . . . . . . . . . . . . . . . . . . . . . . 28 66 10. References . . . . . . . . . . . . . . . . . . . . . . . . . 29 67 10.1. Normative References . . . . . . . . . . . . . . . . . . 29 68 10.2. Informative References . . . . . . . . . . . . . . . . . 31 69 Appendix A. Examples of OTN Label Ranges . . . . . . . . . . . . 32 70 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 38 72 1. Introduction 74 This document introduces a collection of common data types which 75 would be used in Layer 1 networks. The derived types and groupings 76 are designed to be the common types applicable for modeling Traffic 77 Engineering (TE) features for Layer 1 networks. 79 Typical Layer 1 network, the Optical Transport Networking, was 80 specified in [RFC7062]. Corresponding routing and signaling protocol 81 have been specified in [RFC7138] and [RFC7139]. The types and 82 groupings defined in this document is consistent to these document, 83 and will be imported in other Layer 1 data models, including but not 84 restrictive to, [I-D.ietf-ccamp-otn-topo-yang], 85 [I-D.ietf-ccamp-otn-tunnel-model], 86 [I-D.ietf-ccamp-client-signal-yang] and [I-D.ietf-ccamp-l1csm-yang]. 88 The data model in this draft has only types defined including 89 groupings, typedef and identities. There is no need to include 90 configuration and state data according to the new Network Management 91 Datastore Architecture [RFC8342]. The content in this draft is in 92 consistent with other specifications, including [MEF63] for Layer 1 93 service attributes, [ITU-Tg709] and [ITU-Tgsup43] for OTN data plane 94 definitions. 96 2. Terminology and Notations 98 Refer to [RFC7062] for the key terms used in this document, and the 99 terminology for describing YANG data models can be found in 100 [RFC7950]. 102 3. Prefix in Data Node Names 104 In this document, names of data nodes and other data model objects 105 are prefixed using the standard prefix associated with the 106 corresponding YANG imported modules. 108 +-------------+---------------------------+----------------------+ 109 | Prefix | YANG module | Reference | 110 +-------------+---------------------------+----------------------+ 111 | l1-types | ietf-layer1-types | This Document | 112 +-------------+---------------------------+----------------------+ 114 4. Layer 1 Types Overview 116 4.1. Relationship with other Modules 118 This document defines one YANG module for common Layer 1 types. The 119 objective is to specifies common Layer 1 TE types that can be 120 imported by layer 1 specific technology, for example OTN, in its 121 technology-specific modules such as topology and tunnels. It is 122 worth noting that the generic traffic-engineering (TE) types module 123 is specified in [I-D.ietf-teas-yang-te-types] as ietf-te-types, and 124 both the module ietf-te-types and ietf-layer1-types are needed to be 125 imported when the OTN is configured. Generic attributes such as te- 126 bandwidth and te-label, are indicated in ietf-te-types in 127 [I-D.ietf-teas-yang-te-types], while the OTN-specific attributes, 128 such as odu-type, are indicated in ietf-layer1-types in this 129 document. 131 4.2. Content in Layer 1 Type Module 133 The module ietf-layer1-types contains the following YANG reusable 134 types and groupings: 136 tributary-slot-granularity: 138 This is to define the granularity of the server layer ODU Link (HO 139 ODUk or ODUCn) supporting a client layer ODU LSP (LO ODUj or ODUk, 140 respectively). Three granularities, 1.25G/2.5G/5G, have been 141 specified. 143 odu-type: 145 This is to specify the type of ODUk LSP, including the types 146 specified in [RFC7139] and [RFC7963]. 148 client-signal: 150 This is to specify the client signal types of OTN networks. The 151 initial input was the G-PID specified in [RFC7139]. Identities about 152 a few categories of client signal types, including ETH, STM-n, OC 153 [Telcordia] and Fiber Channel have been specified. 155 otn-label-range-type: 157 The label range type of OTN has two different representations, 158 tributary slots (TS) and tributary port number (TPN), according to 159 [RFC7139]. Respective representation is specified under this same 160 base type. 162 otn-link-bandwidth: 164 This grouping defines the link bandwidth information and could be 165 used in OTN topology model for bandwidth representation. All the 166 bandwidth related sections in generic module, 167 [I-D.ietf-teas-yang-te-types], need to be augmented with this 168 grouping for the usage of Layer 1. 170 otn-path-bandwidth: 172 This grouping defines the path bandwidth information and could be 173 used in OTN topology model for bandwidth representation. All the 174 bandwidth related sections in generic module, 175 [I-D.ietf-teas-yang-te-types], need to be augmented with this 176 grouping for the usage of Layer 1. This grouping is also applicable 177 to set up the OTN tunnel. 179 otn-label-range-info and otn-label-step: 181 These groupings are used for the augmentation of OTN label in a 182 specific way. 184 otn-label-start-end and otn-label-hop: 186 These groupings are used for the augmentation of label for OTN link 187 and path respectively. 189 optical-interface-func: 191 The optical interface function is specified in [MEF63]. This 192 grouping describes the functionality which encodes bits for 193 transmission and the corresponding decode upon reception. 195 service-performance-metric: 197 The service performance metric is a quantitative characterization of 198 Layer 1 characteristic information delivery quality experienced by 199 the Layer 1 subscriber. 201 4.3. OTN Label and Label Range 203 As described in [RFC7139], the OTN label usually represents the 204 Tributary Port Number (TPN) and the related set of Tributary Slots 205 (TS) assigned to a client layer ODU LSP (LO ODUj or ODUk) on a given 206 server layer ODU (HO-ODU or ODUCn, respectively) Link (e.g., ODU2 LSP 207 over ODU3 Link). Some special OTN label values are also defined for 208 an ODUk LSP being setup over an OTUk Link. 210 The same OTN label shall be assigned to the same ODUk LSP at the two 211 ends of an OTN Link. 213 As described in [RFC7139], TPN can be a number from 1 to 4095 and TS 214 are numbered from 1 to 4095, although the actual maximum values 215 depend on the type of server layer ODU. For example, a server layer 216 ODU4 provides 80 time slots (numbered from 1 to 80) and the TPN 217 values can be any number from 1 to 80. 219 The OTN Label Range represents the values for the TPN and TS that are 220 available for ODUk LSPs to be setup over a given OTN Link. 222 The OTN Label Range is defined by the label-restriction list, defined 223 in [I-D.ietf-teas-yang-te-types], which, for OTN, should be augmented 224 using the otn-label-range-info grouping. 226 Each entry in the label-restriction list represents either the range 227 of the available TPN values or the range of the available TS values: 228 the range-type attribute in the otn-label-range-info grouping defines 229 the type of range for each entry of the list. 231 Each entry of the label-restriction list, as defined in 232 [I-D.ietf-teas-yang-te-types], defines a label-start, a label-end, a 233 label-step and a range-bitmap. The label-start and label-end 234 definitions for OTN should be augmented using the otn-label-start-end 235 grouping. The label-step definition for OTN should be augmented 236 using the otn-label-step grouping. It is expected that the otn- 237 label-step will always be equal to its default value (i.e., 1), which 238 is defined in [I-D.ietf-teas-yang-te-types]. 240 As described in [RFC7139], in some cases, the TPN assignment rules is 241 flexible (e.g., ODU4 Link) while in other cases the TPN assignment 242 rules are fixed (e.g., ODU1 Link). In the former case, both TPN and 243 TS ranges are reported, while in the latter case, the TPN range is 244 not reported to indicate that the TPN shall be set equal to the TS 245 number assigned to the ODUk LSP. 247 As described in [RFC7139], in some cases, the TPN assignment rules 248 depends on the TS Granularity (e.g., ODU2 or ODU3 Links). Different 249 entries in the label-restriction list will report different TPN 250 ranges for each TS granularity supported by the link, as indicated by 251 the tsg attribute in the otn-label-range-info grouping. 253 As described in [RFC7139], in some cases, the TPN ranges are 254 different for different types of ODUk LSPs. For example, on an ODU2 255 Link with 1,25G TS granularity, there is TPN range 1-4 for ODU1 and 256 another TPN range 1-8 in common for ODU0 and ODUflex. Different 257 entries in the label-restriction list will report different TPN 258 ranges for different set of ODUk types, as indicated by the odu-type- 259 list in the otn-label-range-info grouping. 261 Appendix A provides some examples of how the TPN and TS label ranges 262 described in Table 3 and Table 4 of [RFC7139] can be represented in 263 YANG using the groupings defined in this document. 265 4.4. ODUflex 267 ODUflex is a type of ODU which has a flexible bit rate which should 268 be configured when setting up an ODUflex LSP. 270 [ITU-Tg709], defines six types of ODUflex: ODUflex(CBR), 271 ODUflex(GFP), ODUflex(GFP,n,k), ODUflex(IMP), ODUflex(IMP,s) and 272 ODUflex(FlexE-aware). 274 The main difference between these types of ODUflex is the formula 275 used to calculate the nominal bit rate of the ODUflex, as described 276 in Table 7-2 of [ITU-Tg709]. A choice has been defined to describe 277 these cases: 279 +--rw (oduflex-type)? 280 +--:(generic) 281 | +--rw nominal-bit-rate uint64 282 +--:(cbr) 283 | +--rw client-type identityref 284 +--:(gfp-n-k) 285 | +--rw gfp-n uint8 286 | +--rw gfp-k? l1-types:gfp-k 287 +--:(flexe-client) 288 | +--rw flexe-client 289 | l1-types:flexe-client-rate 290 +--:(flexe-aware) 291 | +--rw flexe-aware-n uint16 292 +--:(packet) 293 +--rw opuflex-payload-rate uint64 295 The (generic) case has been added to allow defining the ODUflex 296 nominal bit rate independently from the type of ODUflex. This could 297 be useful for forward compatibility in the transit domain/nodes where 298 the setup of ODUflex LSPs does not depend from the ODUflex type. 300 In order to simplify interoperability it is recommended to use 301 (generic) case only when needed and to use the ODUflex specific type 302 case whenever possible. 304 The (cbr) case is used for Constant Bit Rate (CBR) client signals. 305 The client-type indicates which is the CBR client signal carried by 306 the ODUflex and, implicitly, also the client signal bit rate which is 307 used to calculate the ODUflex(CBR) nominal bit rate as described in 308 Table 7-2 of [ITU-Tg709]. 310 The (gfp-n-k) case is used for GFP-F mapped client signals based on 311 ODUk.ts and n 1.25G tributary slots. The gfp-k defines the nominal 312 bit-rate of the ODUk.ts which, together with the value of gfp-n, is 313 used to calculated the ODUflex(GFP,n,k) nominal bit rate as described 314 in Table 7-8 and Table L-7 of [ITU-Tg709] . With few exceptions, 315 shown in Table L-7 of [ITU-Tg709], the nominal bit-rate of the 316 ODUk.ts could be inferred from the value of n, as shown in Table 7-8 317 of [ITU-Tg709] and therefore the gfp-k is optional. 319 The (flexe-client) case is used for IMP mapped FlexE Client signals, 320 The flexe-client represents the type of FlexE Client carried by the 321 ODUflex which implicitly defines the value of s used to calculate the 322 ODUflex(s) nominal bit rate as described in Table 7-2 of [ITU-Tg709]. 323 The '10G' and '40G' enumeration values are used for 10G and 40G FlexE 324 Clients to implicitly define the values of s=2 and s=8. For the n x 325 25G FlexE Clients the value of n is used to defines the value of s=5 326 x n. 328 The (flexe-aware) case is used for FlexE-aware client signals. The 329 flexe-aware-n represents the value n (n = n1 + n2 + ... + np) which 330 is used to calculate the ODUflex(FlexE-aware) nominal bit rate as 331 described in Table 7-2 of [ITU-Tg709]. 333 When (packet) case is used for both the GFP-F mapped client signals 334 and the IMP mapped client signals. The opuflex-payload-rate is 335 either the GFP-F encapsulated packet client nominal bit rate or the 336 64b/66b encoded packet client nominal bit rate. The calculation of 337 ODUflex(GFP) nominal bit rate is defined in section 12.2.5 of 338 [ITU-Tg709], and the calculation of ODUflex(IMP) nominal bit rate is 339 defined in section 12.2.6 of [ITU-Tg709]. The same formula is used 340 in both cases. 342 Section 5.1 and 5.2 of [RFC7139] defines two rules to compute the 343 number of tributary slots to be allocated to ODUflex(CBR) and 344 ODUflex(GFP) LSPs when carried over an HO-ODUk link. According to 345 section 19.6 of [ITU-Tg709], the rules in section 5.2 applies only to 346 ODUflex(GFP,n,k) while the rules defined in section 5.1 applies to 347 any other ODUflex type, including but not being limited to 348 ODUflex(CBR). Section 20.5 of [ITU-Tg709] defines the rules to 349 compute the number of tributary slots to be allocated to ODUflex LSPs 350 when carried over an ODUCn link. 352 Following the [ITU-Tg709] definitions, the rules defined for 353 ODUflex(GFP,n,k) are used only when the (gfp-n-k) case is used. In 354 all the other cases, including the (generic) case, the rules defined 355 any other ODUflex type are used. 357 The number of available ODUs, defined for each ODUk type, including 358 ODUflex, together with the number of available time-slots, reported 359 as part of the OTN label range, provides sufficient information to 360 infer the OTN link bandwidth availability for ODUflex LSPs. This 361 information is independent from the ODUflex type. 363 4.4.1. Resizable ODUflex 365 Resizable ODUflex is a special type of ODUflex that supports the 366 procedures defined in [ITU-Tg7044] for hitless resizing of the 367 ODUflex nominal bit rate. 369 Two odu-type identities have been defined for ODUflex: 371 o The ODUflex identity, which is used with any type of non-resizable 372 ODUflex, as defined in Table 7-2 of [ITU-Tg709]. 374 o The ODUflex-resizable identity, which used only with resizable 375 ODUflex(GFP,n,k). 377 These two identities are used to identify whether an ODUflex(GFP,n,k) 378 LSP shall or not support the [ITU-Tg7044] hitless resizing procedures 379 as well as whether an OTN link supports only the setup of non- 380 resizable ODUflex LSPs or also the setup of resizable 381 ODUflex(GFP,n,k) LSP but with different capabilities (e.g., a lower 382 number of LSPs). 384 5. YANG Code for Layer1 Types 386 file "ietf-layer1-types@2020-05-13.yang" 387 module ietf-layer1-types { 388 yang-version 1.1; 389 namespace "urn:ietf:params:xml:ns:yang:ietf-layer1-types"; 390 prefix "l1-types"; 392 organization 393 "IETF CCAMP Working Group"; 394 contact 395 "WG Web: 396 WG List: 398 Editor: Haomian Zheng 399 401 Editor: Italo Busi 402 "; 404 description 405 "This module defines Layer 1 types. The model fully conforms 406 to the Network Management Datastore Architecture (NMDA). 408 Copyright (c) 2020 IETF Trust and the persons 409 identified as authors of the code. All rights reserved. 411 Redistribution and use in source and binary forms, with or 412 without modification, is permitted pursuant to, and subject 413 to the license terms contained in, the Simplified BSD License 414 set forth in Section 4.c of the IETF Trust's Legal Provisions 415 Relating to IETF Documents 416 (https://trustee.ietf.org/license-info). 417 This version of this YANG module is part of RFC XXXX; see 418 the RFC itself for full legal notices."; 420 revision "2020-05-13" { 421 description 422 "Initial Version"; 423 reference 424 "RFC XXXX: A YANG Data Model for Layer 1 Types"; 425 // RFC Editor: replace XXXX with actual RFC number, update date 426 // information and remove this note 427 } 429 typedef otn-tpn { 430 type uint16 { 431 range "1..4095"; 432 } 433 description 434 "Tributary Port Number for OTN. "; 435 reference 436 "RFC7139: GMPLS Signaling Extensions for Control of Evolving 437 G.709 Optical Transport Networks."; 438 } 440 typedef otn-ts { 441 type uint16 { 442 range "1..4095"; 443 } 444 description 445 "Tributary Slot for OTN. "; 446 reference 447 "RFC7139: GMPLS Signaling Extensions for Control of Evolving 448 G.709 Optical Transport Networks."; 449 } 451 typedef otn-label-range-type { 452 type enumeration { 453 enum trib-slot { 454 description 455 "Defines a range of OTN tributary slots. "; 456 } 457 enum trib-port { 458 description 459 "Defines a range of OTN tributary ports. "; 460 } 461 } 462 description 463 "Defines the type of OTN label range: TS or TPN. "; 464 } 466 typedef gfp-k { 467 type enumeration { 468 enum 2 { 469 description 470 "The ODU2.ts rate (1,249,177.230 kbit/s) is used 471 to compute the rate of an ODUflex(GFP,n,2). "; 472 } 473 enum 3 { 474 description 475 "The ODU3.ts rate (1,254,470.354 kbit/s) is used 476 to compute the rate of an ODUflex(GFP,n,3). "; 477 } 478 enum 4 { 479 description 480 "The ODU4.ts rate (1,301,467.133 kbit/s) is used 481 to compute the rate of an ODUflex(GFP,n,4). "; 482 } 483 } 484 description 485 "The ODUk.ts used to compute the rate of an ODUflex(GFP,n,k)"; 486 reference 487 "Table 7-8 and L-7 of G.709"; 488 } 490 typedef flexe-client-rate { 491 type union { 492 type uint16; 493 type enumeration { 494 enum "10G" { 495 description 496 "Represents a 10G FlexE Client signal (s=2)"; 497 } 498 enum "40G" { 499 description 500 "Represents a 40G FlexE Client signal (s=8)"; 501 } 502 } 503 } 504 description 505 "The FlexE Client signal rate (s x 5,156,250.000 kbit/s) 506 used to compute the rate of an ODUflex(IMP, s). 507 Valid values for s are s=2 (10G), s=4 (40G) and 508 s=5 x n (n x 25G). 509 In the first two cases an enumeration value 510 (either 10G or 40G) is used, while in the latter case 511 the value of n is used"; 512 reference 513 "Table 7-2 of G.709"; 514 } 516 identity tributary-slot-granularity { 517 description 518 "Tributary slot granularity"; 519 reference 520 "G.709/Y.1331, February 2016: Interfaces for the Optical 521 Transport Network (OTN)"; 522 } 524 identity tsg-1.25G { 525 base tributary-slot-granularity; 526 description 527 "1.25G tributary slot granularity"; 528 } 530 identity tsg-2.5G { 531 base tributary-slot-granularity; 532 description 533 "2.5G tributary slot granularity"; 534 } 536 identity tsg-5G { 537 base tributary-slot-granularity; 538 description 539 "5G tributary slot granularity"; 540 } 542 identity odu-type { 543 description 544 "Base identity for the type of ODU protocol."; 545 } 547 identity ODU0 { 548 base odu-type; 549 description 550 "ODU0 protocol (1.24Gb/s). "; 551 reference "RFC7139/ITU-T G.709"; 552 } 554 identity ODU1 { 555 base odu-type; 556 description 557 "ODU1 protocol (2.49Gb/s)."; 558 reference "RFC7139/ITU-T G.709"; 559 } 561 identity ODU1e { 562 base odu-type; 563 description 564 "ODU1e protocol (10.35Gb/s)."; 566 reference "RFC7963/ITU-T G.sup43"; 567 } 569 identity ODU2 { 570 base odu-type; 571 description 572 "ODU2 protocol (10.03Gb/s)."; 573 reference "RFC7139/ITU-T G.709"; 574 } 576 identity ODU2e { 577 base odu-type; 578 description 579 "ODU2e protocol (10.39Gb/s)."; 580 reference "RFC7139/ITU-T G.709"; 581 } 583 identity ODU3 { 584 base odu-type; 585 description 586 "ODU3 protocol (40.31Gb/s)."; 587 reference "RFC7139/ITU-T G.709"; 588 } 590 identity ODU3e1 { 591 base odu-type; 592 description 593 "ODU3e1 protocol (41.77Gb/s)."; 594 reference "RFC7963/ITU-T G.sup43"; 595 } 597 identity ODU3e2 { 598 base odu-type; 599 description 600 "ODU3e2 protocol (41.78Gb/s)."; 601 reference "RFC7963/ITU-T G.sup43"; 602 } 604 identity ODU4 { 605 base odu-type; 606 description 607 "ODU4 protocol (104.79Gb/s)."; 608 reference "RFC7139/ITU-T G.709"; 609 } 611 identity ODUflex { 612 base odu-type; 613 description 614 "ODUflex protocol (flexibile bit rate, not resizable). 615 It could be used for any type of ODUflex, including 616 ODUflex(CBR), ODUflex(GFP), ODUflex(GFP,n,k), ODUflex(IMP,s), 617 ODUflex(IMP) and ODUflex(FlexE-aware)."; 618 reference "RFC7139/ITU-T G.709"; 619 } 621 identity ODUflex-resizable { 622 base odu-type; 623 description 624 "ODUflex protocol (flexibile bit rate, resizable). 625 It could be used only for ODUflex(GFP,n,k)."; 626 reference "RFC7139/ITU-T G.709 and ITU-T G.7044"; 627 } 629 identity client-signal { 630 description 631 "Base identity from which specific client signals for the 632 tunnel are derived"; 633 } 635 identity ETH-1Gb { 636 base client-signal; 637 description 638 "Client signal type of 1GbE"; 639 reference "RFC7139/ITU-T G.709"; 640 } 642 identity ETH-10Gb-LAN { 643 base client-signal; 644 description 645 "Client signal type of ETH-10Gb-LAN (10.3 Gb/s)"; 646 reference "RFC7139/ITU-T G.709/IEEE 802.3 Clause 49"; 647 } 649 identity ETH-10Gb-WAN { 650 base client-signal; 651 description 652 "Client signal type of ETH-10Gb-WAN (9.95 Gb/s)"; 653 reference "RFC7139/ITU-T G.709/IEEE 802.3 Clause 50"; 654 } 656 identity ETH-40Gb { 657 base client-signal; 658 description 659 "Client signal type of 40GbE"; 660 reference "RFC7139/ITU-T G.709"; 661 } 662 identity ETH-100Gb { 663 base client-signal; 664 description 665 "Client signal type of 100GbE"; 666 reference "RFC7139/ITU-T G.709"; 667 } 669 identity STM-1 { 670 base client-signal; 671 description 672 "Client signal type of STM-1"; 673 reference "RFC7139/ITU-T G.709"; 674 } 676 identity STM-4 { 677 base client-signal; 678 description 679 "Client signal type of STM-4"; 680 reference "RFC7139/ITU-T G.709"; 681 } 683 identity STM-16 { 684 base client-signal; 685 description 686 "Client signal type of STM-16"; 687 reference "RFC7139/ITU-T G.709"; 688 } 690 identity STM-64 { 691 base client-signal; 692 description 693 "Client signal type of STM-64"; 694 reference "RFC7139/ITU-T G.709"; 695 } 697 identity STM-256 { 698 base client-signal; 699 description 700 "Client signal type of STM-256"; 701 reference "RFC7139/ITU-T G.709"; 702 } 704 identity OC-3 { 705 base client-signal; 706 description 707 "Client signal type of OC3"; 708 reference "Telcordia GR-253-CORE"; 709 } 710 identity OC-12 { 711 base client-signal; 712 description 713 "Client signal type of OC12"; 714 reference "Telcordia GR-253-CORE"; 715 } 717 identity OC-48 { 718 base client-signal; 719 description 720 "Client signal type of OC48"; 721 reference "Telcordia GR-253-CORE"; 722 } 724 identity OC-192 { 725 base client-signal; 726 description 727 "Client signal type of OC192"; 728 reference "Telcordia GR-253-CORE"; 729 } 731 identity OC-768 { 732 base client-signal; 733 description 734 "Client signal type of OC768"; 735 reference "Telcordia GR-253-CORE"; 736 } 738 identity FC-100 { 739 base client-signal; 740 description 741 "Client signal type of Fibre Channel FC-100"; 742 reference "RFC4328/RFC7139"; 743 } 745 identity FC-200 { 746 base client-signal; 747 description 748 "Client signal type of Fibre Channel FC-200"; 749 reference "RFC4328/RFC7139"; 750 } 752 identity FC-400 { 753 base client-signal; 754 description 755 "Client signal type of Fibre Channel FC-400"; 756 reference "RFC4328/RFC7139"; 757 } 758 identity FC-800 { 759 base client-signal; 760 description 761 "Client signal type of Fibre Channel FC-800"; 762 reference "RFC4328/RFC7139"; 763 } 765 identity FC-1200 { 766 base client-signal; 767 description 768 "Client signal type of Fibre Channel FC-1200"; 769 reference "RFC4328/RFC7139"; 770 } 772 identity FC-1600 { 773 base client-signal; 774 description 775 "Client signal type of Fibre Channel FC-1600"; 776 reference "RFC4328/RFC7139"; 777 } 779 identity FC-3200 { 780 base client-signal; 781 description 782 "Client signal type of Fibre Channel FC-3200"; 783 reference "RFC4328/RFC7139"; 784 } 786 identity FICON-4G { 787 base client-signal; 788 description 789 "Client signal type of Fibre Connection 4G"; 790 reference "RFC4328/RFC7139"; 791 } 793 identity FICON-8G { 794 base client-signal; 795 description 796 "Client signal type of Fibre Connection 8G"; 797 reference "RFC4328/RFC7139"; 798 } 800 identity coding-func { 801 description 802 "Base identity from which coding function is derived."; 803 reference "MEF63: Subscriber Layer 1 Service Attributes"; 804 } 805 identity ETH-1000X { 806 base "coding-func"; 807 description 808 "PCS clause 36 coding function that corresponds to 809 1000BASE-X"; 810 reference "MEF63: Subscriber Layer 1 Service Attributes"; 811 } 813 identity ETH-10GW { 814 base "coding-func"; 815 description 816 "PCS clause 49 and WIS clause 50 coding func that 817 corresponds to 10GBASE-W (WAN PHY)"; 818 reference "MEF63: Subscriber Layer 1 Service Attributes"; 819 } 821 identity ETH-10GR { 822 base "coding-func"; 823 description 824 "PCS clause 49 coding function that corresponds to 825 10GBASE-R (LAN PHY)"; 826 reference "MEF63: Subscriber Layer 1 Service Attributes"; 827 } 829 identity ETH-40GR { 830 base "coding-func"; 831 description 832 "PCS clause 82 coding function that corresponds to 833 40GBASE-R"; 834 reference "MEF63: Subscriber Layer 1 Service Attributes"; 835 } 837 identity ETH-100GR { 838 base "coding-func"; 839 description 840 "PCS clause 82 coding function that corresponds to 841 100GBASE-R"; 842 reference "MEF63: Subscriber Layer 1 Service Attributes"; 843 } 845 identity optical-interface-func { 846 description 847 "base identity from which optical-interface-function is 848 derived."; 849 reference "MEF63: Subscriber Layer 1 Service Attributes"; 850 } 852 identity SX-PMD-1000 { 853 base "optical-interface-func"; 854 description 855 "SX-PMD-clause-38 Optical Interface function for 856 1000BASE-X PCS-36"; 857 reference "MEF63: Subscriber Layer 1 Service Attributes"; 858 } 860 identity LX-PMD-1000 { 861 base "optical-interface-func"; 862 description 863 "LX-PMD-clause-38 Optical Interface function for 864 1000BASE-X PCS-36"; 865 reference "MEF63: Subscriber Layer 1 Service Attributes"; 866 } 868 identity LX10-PMD-1000 { 869 base "optical-interface-func"; 870 description 871 "LX10-PMD-clause-59 Optical Interface function for 872 1000BASE-X PCS-36"; 873 reference "MEF63: Subscriber Layer 1 Service Attributes"; 874 } 876 identity BX10-PMD-1000 { 877 base "optical-interface-func"; 878 description 879 "BX10-PMD-clause-59 Optical Interface function for 880 1000BASE-X PCS-36"; 881 reference "MEF63: Subscriber Layer 1 Service Attributes"; 882 } 884 identity LW-PMD-10G { 885 base "optical-interface-func"; 886 description 887 "LW-PMD-clause-52 Optical Interface function for 888 10GBASE-W PCS-49-WIS-50"; 889 reference "MEF63: Subscriber Layer 1 Service Attributes"; 890 } 892 identity EW-PMD-10G { 893 base "optical-interface-func"; 894 description 895 "EW-PMD-clause-52 Optical Interface function for 896 10GBASE-W PCS-49-WIS-50"; 897 reference "MEF63: Subscriber Layer 1 Service Attributes"; 898 } 900 identity LR-PMD-10G { 901 base "optical-interface-func"; 902 description 903 "LR-PMD-clause-52 Optical Interface function for 904 10GBASE-R PCS-49"; 905 reference "MEF63: Subscriber Layer 1 Service Attributes"; 906 } 908 identity ER-PMD-10G { 909 base "optical-interface-func"; 910 description 911 "ER-PMD-clause-52 Optical Interface function for 912 10GBASE-R PCS-49"; 913 reference "MEF63: Subscriber Layer 1 Service Attributes"; 914 } 916 identity LR4-PMD-40G { 917 base "optical-interface-func"; 918 description 919 "LR4-PMD-clause-87 Optical Interface function for 920 40GBASE-R PCS-82"; 921 reference "MEF63: Subscriber Layer 1 Service Attributes"; 922 } 924 identity ER4-PMD-40G { 925 base "optical-interface-func"; 926 description 927 "ER4-PMD-clause-87 Optical Interface function for 928 40GBASE-R PCS-82"; 929 reference "MEF63: Subscriber Layer 1 Service Attributes"; 930 } 932 identity FR-PMD-40G { 933 base "optical-interface-func"; 934 description 935 "FR-PMD-clause-89 Optical Interface function for 936 40GBASE-R PCS-82"; 937 reference "MEF63: Subscriber Layer 1 Service Attributes"; 938 } 940 identity LR4-PMD-100G { 941 base "optical-interface-func"; 942 description 943 "LR4-PMD-clause-88 Optical Interface function for 944 100GBASE-R PCS-82"; 945 reference "MEF63: Subscriber Layer 1 Service Attributes"; 946 } 948 identity ER4-PMD-100G { 949 base "optical-interface-func"; 950 description 951 "ER4-PMD-clause-88 Optical Interface function for 952 100GBASE-R PCS-82"; 953 reference "MEF63: Subscriber Layer 1 Service Attributes"; 954 } 956 identity service-performance-metric { 957 description 958 "Base identity of service-specific performance metric"; 959 reference "MEF63: Subscriber Layer 1 Service Attributes"; 960 } 962 identity one-way-delay { 963 base "service-performance-metric"; 964 description "one way delay."; 965 reference "MEF63: Subscriber Layer 1 Service Attributes"; 966 } 968 identity one-way-errored-second { 969 base "service-performance-metric"; 970 description "one way errored second"; 971 reference "MEF63: Subscriber Layer 1 Service Attributes"; 972 } 974 identity one-way-severely-errored-second { 975 base "service-performance-metric"; 976 description "one way severely errored second"; 977 reference "MEF63: Subscriber Layer 1 Service Attributes"; 978 } 980 identity one-way-unavailable-second { 981 base "service-performance-metric"; 982 description "one way unavailable second"; 983 reference "MEF63: Subscriber Layer 1 Service Attributes"; 984 } 986 identity one-way-availability { 987 base "service-performance-metric"; 988 description "one way availability"; 989 reference "MEF63: Subscriber Layer 1 Service Attributes"; 990 } 992 grouping otn-link-bandwidth { 993 description "link bandwidth attributes for OTN"; 994 list odulist { 995 key "odu-type"; 996 description 997 "OTN bandwidth definition"; 998 leaf odu-type { 999 type identityref { 1000 base odu-type; 1001 } 1002 description "ODU type"; 1003 } 1004 leaf number { 1005 type uint16; 1006 description "Number of ODUs"; 1007 } 1008 } 1009 } 1011 grouping otn-path-bandwidth { 1012 description 1013 "path bandwidth attributes for OTN"; 1014 leaf odu-type { 1015 type identityref { 1016 base odu-type; 1017 } 1018 description "ODU type"; 1019 } 1020 choice oduflex-type { 1021 when "odu-type = 'ODUflex' or 'ODUflex-resizable'" { 1022 description 1023 "applicable when odu-type is ODUflex or ODUflex-resizable"; 1024 } 1025 description 1026 "Types of ODUflex used to compute the ODUflex 1027 nominal bit rate."; 1028 reference 1029 "Table 7-2 of G.709"; 1030 case generic { 1031 leaf nominal-bit-rate { 1032 type uint64; 1033 units "bps"; 1034 mandatory true; 1035 description 1036 "Nominal ODUflex bit rate."; 1037 } 1038 } 1039 case cbr { 1040 leaf client-type { 1041 type identityref { 1042 base client-signal; 1043 } 1044 mandatory true; 1045 description 1046 "The CBR client signal for an ODUflex(CBR)."; 1047 } 1048 } 1049 case gfp-n-k { 1050 leaf gfp-n { 1051 type uint8 { 1052 range "1..80"; 1053 } 1054 mandatory true; 1055 description 1056 "The value of n for an ODUflex(GFP,n,k)."; 1057 reference 1058 "Tables 7-8 and L-7 of G.709"; 1059 } 1060 leaf gfp-k { 1061 type gfp-k; 1062 description 1063 "The value of k for an ODUflex(GFP,n,k). 1064 If omitted, it is calculated from the value of gfp-n 1065 as described in Table 7-8 of G.709"; 1066 reference 1067 "Tables 7-8 and L-7 of G.709"; 1068 } 1069 } 1070 case flexe-client { 1071 leaf flexe-client { 1072 type flexe-client-rate; 1073 mandatory true; 1074 description 1075 "The rate of the FlexE-client for an ODUflex(IMP,s)."; 1076 } 1077 } 1078 case flexe-aware { 1079 leaf flexe-aware-n { 1080 type uint16; 1081 mandatory true; 1082 description 1083 "The rate of FlexE-aware client signal 1084 for ODUflex(FlexE-aware)"; 1085 } 1086 } 1087 case packet { 1088 leaf opuflex-payload-rate { 1089 type uint64; 1090 units "Kbps"; 1091 mandatory true; 1092 description 1093 "Either the GFP-F encapsulated packet client nominal 1094 bit rate for an ODUflex(GFP) or the 64b/66b encoded 1095 packet client nominal bit rate for an ODUflex(IMP)."; 1096 } 1097 } 1098 } 1099 } 1101 grouping otn-label-range-info { 1102 description 1103 "label range information for OTN, is dependent on the 1104 range-type, must be used together with the following 1105 groupings: otn-label-start-end and otn-label-step. "; 1106 leaf range-type { 1107 type otn-label-range-type; 1108 description "The type of range (e.g., TPN or TS) 1109 to which the label range applies"; 1110 } 1111 leaf tsg { 1112 type identityref { 1113 base tributary-slot-granularity; 1114 } 1115 description 1116 "Tributary slot granularity (TSG) to which the label range 1117 applies. 1118 This leaf shall be present when the range-type is TS; 1119 This leaf can be omitted when mapping an ODUk over an OTUk 1120 Link. In this case the range-type is tpn, with only one 1121 entry (ODUk), and the tpn range has only one value (1)."; 1122 reference 1123 "G.709/Y.1331, February 2016: Interfaces for the 1124 Optical Transport Network (OTN)"; 1125 } 1126 leaf-list odu-type-list { 1127 type identityref { 1128 base odu-type; 1129 } 1130 description 1131 "List of ODU types to which the label range applies. 1132 An Empty odu-type-list means that the label range 1133 applies to all the supported ODU types."; 1134 } 1135 leaf priority { 1136 type uint8; 1137 description 1138 "Priority in Interface Switching Capability 1139 Descriptor (ISCD)."; 1140 reference "RFC4203."; 1142 } 1143 } 1145 grouping otn-label-start-end { 1146 description 1147 "The OTN label-start or label-end used to specify an OTN label 1148 range. this grouping is dependent on the range-type, 1149 must be used together with the following groupings: 1150 otn-label-range-info and otn-label-step."; 1151 choice range-type { 1152 description 1153 "OTN label range type, either TPN range or TS range"; 1154 case trib-port { 1155 leaf otn-tpn { 1156 when "../../../range-type = 'trib-port'" { 1157 description 1158 "valid only when range-type represented by trib-port"; 1159 } 1160 type otn-tpn; 1161 description 1162 "Tributary Port Number."; 1163 reference 1164 "RFC7139: GMPLS Signaling Extensions for Control of 1165 Evolving G.709 Optical Transport Networks."; 1166 } 1167 } 1168 case trib-slot { 1169 leaf otn-ts { 1170 when "../../../range-type = 'trib-slot'" { 1171 description 1172 "valid only when range-type represented by trib-slot"; 1173 } 1174 type otn-ts; 1175 description 1176 "Tributary Slot Number."; 1177 reference 1178 "RFC7139: GMPLS Signaling Extensions for Control of 1179 Evolving G.709 Optical Transport Networks."; 1180 } 1181 } 1182 } 1183 } 1185 grouping otn-label-hop { 1186 description "OTN Label. "; 1187 reference "RFC7139, section 6. "; 1188 leaf otn-tpn { 1189 type otn-tpn; 1190 description 1191 "Tributary Port Number."; 1192 reference 1193 "RFC7139: GMPLS Signaling Extensions for Control of Evolving 1194 G.709 Optical Transport Networks."; 1195 } 1196 leaf tsg { 1197 type identityref { 1198 base tributary-slot-granularity; 1199 } 1200 description "Tributary slot granularity."; 1201 reference 1202 "G.709/Y.1331, February 2016: Interfaces for the 1203 Optical Transport Network (OTN)"; 1204 } 1205 leaf ts-list { 1206 type string { 1207 pattern "([1-9][0-9]{0,3}(-[1-9][0-9]{0,3})?" 1208 + "(,[1-9][0-9]{0,3}(-[1-9][0-9]{0,3})?)*)"; 1209 } 1210 description 1211 "A list of available tributary slots ranging 1212 between 1 and 4095. If multiple values or 1213 ranges are given, they all must be disjoint 1214 and must be in ascending order. 1215 For example 1-20,25,50-1000."; 1216 reference 1217 "RFC 7139: GMPLS Signaling Extensions for Control 1218 of Evolving G.709 Optical Transport Networks"; 1219 } 1220 } 1222 grouping otn-label-step { 1223 description 1224 "Label step for OTN, is dependent on the range-type, 1225 must be used together with the following groupings: 1226 otn-label-range-info and otn-label-start-end. "; 1227 choice range-type { 1228 description 1229 "OTN label range type, either TPN range or TS range"; 1230 case trib-port { 1231 leaf otn-tpn { 1232 when "../../../range-type = 'trib-port'" { 1233 description 1234 "valid only when range-type represented by trib-port"; 1235 } 1236 type otn-tpn; 1237 description 1238 "Label step which represents possible increments for 1239 Tributary Port Number."; 1240 reference 1241 "RFC7139: GMPLS Signaling Extensions for Control of 1242 Evolving G.709 Optical Transport Networks."; 1243 } 1244 } 1245 case trib-slot { 1246 leaf otn-ts { 1247 when "../../../range-type = 'trib-slot'" { 1248 description 1249 "valid only when range-type represented by trib-slot"; 1250 } 1251 type otn-ts; 1252 description 1253 "Label step which represents possible increments for 1254 Tributary Slot Number."; 1255 reference 1256 "RFC7139: GMPLS Signaling Extensions for Control of 1257 Evolving G.709 Optical Transport Networks."; 1258 } 1259 } 1260 } 1261 } 1262 } 1263 1265 6. Security Considerations 1267 The YANG module specified in this document defines a schema for data 1268 that is designed to be accessed via network management protocols such 1269 as NETCONF [RFC6241] or RESTCONF [RFC8040]. The lowest NETCONF layer 1270 is the secure transport layer, and the mandatory-to-implement secure 1271 transport is Secure Shell (SSH) [RFC6242]. The lowest RESTCONF layer 1272 is HTTPS, and the mandatory-to-implement secure transport is TLS 1273 [RFC8446]. 1275 The NETCONF access control model [RFC8341] provides the means to 1276 restrict access for particular NETCONF or RESTCONF users to a 1277 preconfigured subset of all available NETCONF or RESTCONF protocol 1278 operations and content. 1280 The YANG module in this document defines layer 1 type definitions 1281 (i.e., typedef, identity and grouping statements) in YANG data 1282 modeling language to be imported and used by other layer 1 1283 technology-specific modules. When imported and used, the resultant 1284 schema will have data nodes that can be writable, or readable. The 1285 access to such data nodes may be considered sensitive or vulnerable 1286 in some network environments. Write operations (e.g., edit-config) 1287 to these data nodes without proper protection can have a negative 1288 effect on network operations. 1290 The security considerations spelled out in the YANG 1.1 specification 1291 [RFC7950] apply for this document as well. 1293 7. IANA Considerations 1295 It is proposed that IANA should assign new URIs from the "IETF XML 1296 Registry" [RFC3688] as follows: 1298 URI: urn:ietf:params:xml:ns:yang:ietf-layer1-types 1299 Registrant Contact: The IESG 1300 XML: N/A; the requested URI is an XML namespace. 1302 This document registers following YANG modules in the YANG Module 1303 Names registry [RFC7950]. 1305 name: ietf-layer1-types 1306 namespace: urn:ietf:params:xml:ns:yang:ietf-layer1-types 1307 prefix: l1-types 1308 reference: RFC XXXX 1310 8. Acknowledgements 1312 The authors and the working group give their sincere thanks for 1313 Robert Wilton for the YANG doctor review, and Tom Petch for his 1314 comments during the model and document development. 1316 9. Contributors 1318 Dieter Beller 1319 Nokia 1320 Email: dieter.beller@nokia.com 1322 Sergio Belotti 1323 Nokia 1324 Email: sergio.belotti@nokia.com 1326 Yanlei Zheng 1327 China Unicom 1328 Email: zhengyanlei@chinaunicom.cn 1329 Aihua Guo 1330 Futurewei Technologies 1331 Email: aihuaguo@futurewei.com 1333 Young Lee 1334 Samsung 1335 Email: younglee.tx@gmail.com 1337 Lei Wang 1338 China Mobile 1339 Email: wangleiyj@chinamobile.com 1341 Oscar Gonzalez de Dios 1342 Telefonica 1343 Email: oscar.gonzalezdedios@telefonica.com 1345 Xufeng Liu 1346 Volta Networks 1347 Email: xufeng.liu.ietf@gmail.com 1349 Yunbin Xu 1350 CAICT 1351 Email: xuyunbin@caict.ac.cn 1353 Anurag Sharma 1354 Google 1355 Email: ansha@google.com 1357 Rajan Rao 1358 Infinera 1359 Email: rrao@infinera.com 1361 Victor Lopez 1362 Telefonica 1363 Email: victor.lopezalvarez@telefonica.com 1365 Yunbo Li 1366 China Mobile 1367 Email: liyunbo@chinamobile.com 1369 10. References 1371 10.1. Normative References 1373 [I-D.ietf-teas-yang-te-types] 1374 Saad, T., Gandhi, R., Liu, X., Beeram, V., and I. Bryskin, 1375 "Traffic Engineering Common YANG Types", draft-ietf-teas- 1376 yang-te-types-13 (work in progress), November 2019. 1378 [ITU-Tg7044] 1379 International Telecommunication Union, "Hitless adjustment 1380 of ODUflex(GFP)", ITU-T G.7044, October 2011. 1382 [ITU-Tg709] 1383 International Telecommunication Union, "Interfaces for the 1384 optical transport network", ITU-T G.709, March 2020. 1386 [ITU-Tgsup43] 1387 International Telecommunication Union, "Transport of IEEE 1388 10GBASE-R in optical transport networks (OTN)", 1389 ITU-T G.sup43, February 2011. 1391 [MEF63] Metro Ethernet Forum, "Subscriber Layer1 Service 1392 Attributes Technical Specification", MEF 63, August 2018. 1394 [RFC3688] Mealling, M., "The IETF XML Registry", BCP 81, RFC 3688, 1395 DOI 10.17487/RFC3688, January 2004, 1396 . 1398 [RFC6241] Enns, R., Ed., Bjorklund, M., Ed., Schoenwaelder, J., Ed., 1399 and A. Bierman, Ed., "Network Configuration Protocol 1400 (NETCONF)", RFC 6241, DOI 10.17487/RFC6241, June 2011, 1401 . 1403 [RFC6242] Wasserman, M., "Using the NETCONF Protocol over Secure 1404 Shell (SSH)", RFC 6242, DOI 10.17487/RFC6242, June 2011, 1405 . 1407 [RFC7139] Zhang, F., Ed., Zhang, G., Belotti, S., Ceccarelli, D., 1408 and K. Pithewan, "GMPLS Signaling Extensions for Control 1409 of Evolving G.709 Optical Transport Networks", RFC 7139, 1410 DOI 10.17487/RFC7139, March 2014, 1411 . 1413 [RFC7950] Bjorklund, M., Ed., "The YANG 1.1 Data Modeling Language", 1414 RFC 7950, DOI 10.17487/RFC7950, August 2016, 1415 . 1417 [RFC7963] Ali, Z., Bonfanti, A., Hartley, M., and F. Zhang, "RSVP-TE 1418 Extension for Additional Signal Types in G.709 Optical 1419 Transport Networks (OTNs)", RFC 7963, 1420 DOI 10.17487/RFC7963, August 2016, 1421 . 1423 [RFC8040] Bierman, A., Bjorklund, M., and K. Watsen, "RESTCONF 1424 Protocol", RFC 8040, DOI 10.17487/RFC8040, January 2017, 1425 . 1427 [RFC8341] Bierman, A. and M. Bjorklund, "Network Configuration 1428 Access Control Model", STD 91, RFC 8341, 1429 DOI 10.17487/RFC8341, March 2018, 1430 . 1432 [RFC8342] Bjorklund, M., Schoenwaelder, J., Shafer, P., Watsen, K., 1433 and R. Wilton, "Network Management Datastore Architecture 1434 (NMDA)", RFC 8342, DOI 10.17487/RFC8342, March 2018, 1435 . 1437 [RFC8446] Rescorla, E., "The Transport Layer Security (TLS) Protocol 1438 Version 1.3", RFC 8446, DOI 10.17487/RFC8446, August 2018, 1439 . 1441 [Telcordia] 1442 Telcordia, "Synchronous Optical Network Transport Systems: 1443 Common Generic Criteria, Issue 5", Telcordia GR-253-CORE, 1444 October 2009. 1446 10.2. Informative References 1448 [I-D.ietf-ccamp-client-signal-yang] 1449 Zheng, H., Guo, A., Busi, I., Snitser, A., Lazzeri, F., 1450 Xu, Y., Zhao, Y., Liu, X., and G. Fioccola, "A YANG Data 1451 Model for Transport Network Client Signals", draft-ietf- 1452 ccamp-client-signal-yang-02 (work in progress), May 2020. 1454 [I-D.ietf-ccamp-l1csm-yang] 1455 Lee, Y., Lee, K., Zheng, H., Dhody, D., Dios, O., and D. 1456 Ceccarelli, "A YANG Data Model for L1 Connectivity Service 1457 Model (L1CSM)", draft-ietf-ccamp-l1csm-yang-11 (work in 1458 progress), March 2020. 1460 [I-D.ietf-ccamp-otn-topo-yang] 1461 Zheng, H., Busi, I., Liu, X., Belotti, S., and O. Dios, "A 1462 YANG Data Model for Optical Transport Network Topology", 1463 draft-ietf-ccamp-otn-topo-yang-10 (work in progress), 1464 March 2020. 1466 [I-D.ietf-ccamp-otn-tunnel-model] 1467 Zheng, H., Busi, I., Belotti, S., Lopezalvarez, V., and Y. 1468 Xu, "OTN Tunnel YANG Model", draft-ietf-ccamp-otn-tunnel- 1469 model-10 (work in progress), March 2020. 1471 [I-D.ietf-ccamp-transport-nbi-app-statement] 1472 Busi, I., King, D., Zheng, H., and Y. Xu, "Transport 1473 Northbound Interface Applicability Statement", draft-ietf- 1474 ccamp-transport-nbi-app-statement-10 (work in progress), 1475 November 2019. 1477 [I-D.ietf-netmod-artwork-folding] 1478 Watsen, K., Auerswald, E., Farrel, A., and Q. WU, 1479 "Handling Long Lines in Inclusions in Internet-Drafts and 1480 RFCs", draft-ietf-netmod-artwork-folding-12 (work in 1481 progress), January 2020. 1483 [RFC7062] Zhang, F., Ed., Li, D., Li, H., Belotti, S., and D. 1484 Ceccarelli, "Framework for GMPLS and PCE Control of G.709 1485 Optical Transport Networks", RFC 7062, 1486 DOI 10.17487/RFC7062, November 2013, 1487 . 1489 [RFC7138] Ceccarelli, D., Ed., Zhang, F., Belotti, S., Rao, R., and 1490 J. Drake, "Traffic Engineering Extensions to OSPF for 1491 GMPLS Control of Evolving G.709 Optical Transport 1492 Networks", RFC 7138, DOI 10.17487/RFC7138, March 2014, 1493 . 1495 Appendix A. Examples of OTN Label Ranges 1497 This appendix provides some examples of how the TPN and TS label 1498 ranges described in Table 3 and Table 4 of [RFC7139] can be 1499 represented in YANG using the groupings defined in this document. 1501 It also considers the OTUk links in addition to HO-ODUk links. 1503 The JSON code examples provided in this appendix provides some 1504 embedded comments following the conventions in section 3.2 of [I- 1505 D.ietf-ccamp-transport-nbi-app-statement] and have been folded using 1506 the tool in [I-D.ietf-netmod-artwork-folding]. 1508 ========== NOTE: '\\' line wrapping per BCP XXX (RFC XXXX) ========== 1510 { 1511 "examples of label-restrictions for different OTN Links": [ 1512 { 1513 "// ": "HO-ODU1 or OTU1 Link", 1514 "label-restrictions": { 1515 "label-restriction": [ 1516 { 1517 "index ": 1, 1518 "// ___DEFAULT___ restriction": "inclusive", 1519 "range-type": "label-range-trib-port", 1520 "// ___NOT-PRESENT___ tsg": "", 1521 "odu-type-list": "[ ODU1 ]", 1522 "// ___DEFAULT___ priority": 7, 1523 "// tpn-range": 1, 1524 "// ___ COMMENT ___": "Since no TS range and no TSG are \ 1525 \reported for ODU1, the link is an OTU1 Link. TS allocation is not n\ 1526 \eeded and TPN shall be set to '1' for mapping ODU1 over OTU1. This \ 1527 \entry is not present if the OTN Link is an HO-ODU1 Link." 1528 }, 1529 { 1530 "index ": 2, 1531 "// ___DEFAULT___ restriction": "inclusive", 1532 "range-type": "label-range-trib-slot", 1533 "tsg": "tsg-1.25G", 1534 "odu-type-list": "[ ODU0 ]", 1535 "// ts-range": "1-2", 1536 "// ___ COMMENT ___": "Since no TPN range is reportd for\ 1537 \ ODU0 with 1.25G TSG, the TPN allocation rule is fixed (TPN = TS#) \ 1538 \for mapping LO-ODU0 over HO-ODU1 with 1.25G TSG. See Table 4 of [RF\ 1539 \C7139]." 1540 } 1541 ] 1542 } 1543 }, 1544 { 1545 "// ": "HO-ODU2 or OTU2 Link", 1546 "label-restrictions": { 1547 "label-restriction": [ 1548 { 1549 "index ": 1, 1550 "// ___DEFAULT___ restriction": "inclusive", 1551 "range-type": "label-range-trib-port", 1552 "// ___NOT-PRESENT___ tsg": "", 1553 "odu-type-list": "[ ODU2 ]", 1554 "// ___ DEFAULT ___ priority": 7, 1555 "// tpn-range": 1, 1556 "// ___ COMMENT ___": "Since no TS range and no TSG are \ 1557 \reported for ODU2, the link is an OTU2 Link. TS allocation is not n\ 1558 \eeded and TPN shall be set to '1' for mapping ODU2 over OTU2. This \ 1559 \entry is not present if the OTN Link is an HO-ODU2 Link." 1560 }, 1561 { 1562 "index ": 2, 1563 "// ___DEFAULT___ restriction": "inclusive", 1564 "range-type": "label-range-trib-slot", 1565 "tsg": "tsg-1.25G", 1566 "odu-type-list": "[ ODUFlex-cbr, ODUFlex-gfp, ODU0, ODU1\ 1567 \ ]", 1568 "// ___ DEFAULT ___ priority": 7, 1569 "// ts-range": "1-8" 1570 }, 1571 { 1572 "index ": 3, 1573 "// ___DEFAULT___ restriction": "inclusive", 1574 "range-type": "label-range-trib-port", 1575 "tsg": "tsg-1.25G ", 1576 "odu-type-list": "[ ODUFlex-cbr, ODUFlex-gfp, ODU0 ]", 1577 "// ___ DEFAULT ___ priority": 7, 1578 "// tpn-range": "1-8", 1579 "// ___ COMMENT ___": "Since this TPN range is reported \ 1580 \for ODUflex and ODU0 with 1.25G TSG, the TPN assignment rule is fle\ 1581 \xible within a common range for mapping LO-ODUflex and LO-ODU0 over\ 1582 \ HO-ODU2 with 1.25G TSG. See Table 4 of [RFC7139]." 1583 }, 1584 { 1585 "index ": 4, 1586 "// ___DEFAULT___ restriction": "inclusive", 1587 "range-type": "label-range-trib-port", 1588 "tsg": "tsg-1.25G", 1589 "odu-type-list": "[ ODU1 ]", 1590 "// ___ DEFAULT ___ priority": 7, 1591 "// tpn-range": "1-4", 1592 "// ___ COMMENT ___": "Since this TPN range is reported \ 1593 \for ODU1 with 1.25G TSG, the TPN assignment rule is flexible within\ 1594 \ a common range for mapping LO-ODU1 over HO-ODU2 with 1.25G TSG. Se\ 1595 \e Table 4 of [RFC7139]." 1596 }, 1597 { 1598 "index ": 5, 1599 "// ___DEFAULT___ restriction": "inclusive", 1600 "range-type": "label-range-trib-slot", 1601 "tsg": "tsg-2.5G", 1602 "odu-type-list": "[ ODU1 ]", 1603 "// ___ DEFAULT ___ priority": 7, 1604 "// ts-range": "1-4", 1605 "// ___ COMMENT ___": "Since no TPN range is reported fo\ 1606 \r ODU1 with 2.5G TSG, the TPN allocation rule is fixed (TPN = TS#) \ 1607 \for mapping LO-ODU1 over HO-ODU2 with 2.5G TSG. See Table 3 of [RFC\ 1608 \7139]." 1609 } 1610 ] 1611 } 1612 }, 1613 { 1614 "// ": "HO-ODU3 or OTU3 Link", 1615 "label-restrictions": { 1616 "label-restriction": [ 1617 { 1618 "index ": 1, 1619 "// ___DEFAULT___ restriction": "inclusive", 1620 "range-type": "label-range-trib-port", 1621 "// ___NOT-PRESENT___ tsg": "", 1622 "odu-type-list": "[ ODU3 ]", 1623 "// ___ DEFAULT ___ priority": 7, 1624 "// tpn-range": 1, 1625 "// ___ COMMENT ___": "Since no TS range and no TSG are \ 1626 \reported for ODU3, the link is an OTU3 Link. TS allocation is not n\ 1627 \eeded and TPN shall be set to '1' for mapping ODU3 over OTU3. This \ 1628 \entry is not present if the OTN Link is an HO-ODU3 Link." 1629 }, 1630 { 1631 "index ": 2, 1632 "// ___DEFAULT___ restriction": "inclusive", 1633 "range-type": "label-range-trib-slot", 1634 "tsg": "tsg-1.25G", 1635 "odu-type-list": "[ ODUFlex-cbr, ODUFlex-gfp, ODU0, ODU1\ 1636 \, ODU2, ODU2e ]", 1637 "// ___ DEFAULT ___ priority": 7, 1638 "// ts-range": "1-32" 1639 }, 1640 { 1641 "index ": 3, 1642 "// ___DEFAULT___ restriction": "inclusive", 1643 "range-type": "label-range-trib-port", 1644 "tsg": "tsg-1.25G", 1645 "odu-type-list": "[ ODUFlex-cbr, ODUFlex-gfp, ODU0, ODU2\ 1646 \e ]", 1647 "// ___ DEFAULT ___ priority": 7, 1648 "// tpn-range": "1-32", 1649 "// ___ COMMENT ___": "Since this TPN range is reported \ 1650 \for ODUflex, ODU0 and ODU2e with 1.25G TSG, the TPN assignment rule\ 1651 \ is flexible within a common range for mapping LO-ODUflex, LO-ODU0 \ 1652 \and LO-ODU2e over HO-ODU3 with 1.25G TSG. See Table 4 of [RFC7139]." 1653 }, 1654 { 1655 "index ": 4, 1656 "// ___DEFAULT___ restriction": "inclusive", 1657 "range-type": "label-range-trib-port", 1658 "tsg": "tsg-1.25G", 1659 "odu-type-list": "[ ODU1 ]", 1660 "// ___ DEFAULT ___ priority": 7, 1661 "// tpn-range": "1-16", 1662 "// ___ COMMENT ___": "Since this TPN range is reported \ 1663 \for ODU1 with 1.25G TSG, the TPN assignment rule is flexible within\ 1664 \ a common range for mapping LO-ODU1 over HO-ODU3 with 1.25G TSG. Se\ 1665 \e Table 4 of [RFC7139]." 1666 }, 1667 { 1668 "index ": 5, 1669 "// ___DEFAULT___ restriction": "inclusive", 1670 "range-type": "label-range-trib-port", 1671 "tsg": "tsg-1.25G", 1672 "odu-type-list": "[ ODU2 ]", 1673 "// ___ DEFAULT ___ priority": 7, 1674 "// tpn-range": "1-4", 1675 "// ___ COMMENT ___": "Since this TPN range is reported \ 1676 \for ODU2 with 1.25G TSG, the TPN assignment rule is flexible within\ 1677 \ a common range for mapping LO-ODU2 over HO-ODU3 with 1.25G TSG. Se\ 1678 \e Table 4 of [RFC7139]." 1679 }, 1680 { 1681 "index ": 6, 1682 "// ___DEFAULT___ restriction": "inclusive", 1683 "range-type": "label-range-trib-slot", 1684 "tsg": "tsg-2.5G", 1685 "odu-type-list": "[ ODU1, ODU2 ]", 1686 "// ___ DEFAULT ___ priority": 7, 1687 "// ts-range": "1-16" 1688 }, 1689 { 1690 "index ": 7, 1691 "// ___DEFAULT___ restriction": "inclusive", 1692 "range-type": "label-range-trib-port", 1693 "tsg": "tsg-2.5G ", 1694 "odu-type-list": "[ ODU2 ]", 1695 "// ___ DEFAULT ___ priority": 7, 1696 "// tpn-range": "1-4", 1697 "// ___ COMMENT ___": "Since this TPN range is reported \ 1698 \for ODU2 with 2.5G TSG, the TPN assignment rule is flexible within \ 1699 \a common range for mapping LO-ODU2 over HO-ODU3. Since no TPN range\ 1700 \ is reported for ODU1 with 2.5G TSG, the TPN allocation rule is fix\ 1701 \ed (TPN = TS#) for mapping LO-ODU1 over HO-ODU3 with 2.5G TSG. See \ 1702 \Table 3 of [RFC7139]." 1703 } 1704 ] 1705 } 1706 }, 1707 { 1708 "// ": "HO-ODU4 or OTU4 Link", 1709 "label-restrictions": { 1710 "label-restriction": [ 1711 { 1712 "index ": 1, 1713 "// ___DEFAULT___ restriction": "inclusive", 1714 "range-type": "label-range-trib-port", 1715 "// ___NOT-PRESENT___ tsg": "", 1716 "odu-type-list": "[ ODU4 ]", 1717 "// ___ DEFAULT ___ priority": 7, 1718 "// tpn-range": 1, 1719 "// ___ COMMENT ___": "Since no TS range and no TSG are \ 1720 \reported for ODU4, the link is an OTU4 Link. TS allocation is not n\ 1721 \eeded and TPN shall be set to '1' for mapping ODU4 over OTU4. This \ 1722 \entry is not present if the OTN Link is an HO-ODU4 Link." 1723 }, 1724 { 1725 "index ": 2, 1726 "// ___DEFAULT___ restriction": "inclusive", 1727 "range-type": "label-range-trib-slot", 1728 "tsg": "tsg-1.25G", 1729 "odu-type-list": "[ ODUFlex-cbr, ODUFlex-gfp, ODU0, ODU1\ 1730 \, ODU2, ODU2e, ODU3 ]", 1731 "// ___ DEFAULT ___ priority": 7, 1732 "// ts-range": "1-80" 1733 }, 1734 { 1735 "index ": 3, 1736 "// ___DEFAULT___ restriction": "inclusive", 1737 "range-type": "label-range-trib-port", 1738 "tsg": "tsg-1.25G", 1739 "odu-type-list": "[ ODUFlex-cbr, ODUFlex-gfp, ODU0, ODU1\ 1740 \, ODU2, ODU2e, ODU3 ]", 1741 "// ___ DEFAULT ___ priority": 7, 1742 "// tpn-range": "1-80", 1743 "// ___ COMMENT ___": "Since this TPN range is reported \ 1744 \for any LO-ODUj with 1.25G TSG, the TPN assignment rule is flexible\ 1745 \ within a common range for mapping any LO-ODUj over HO-ODU4 with 1.\ 1746 \25G TSG. See Table 4 of [RFC7139]." 1747 } 1748 ] 1749 } 1750 }, 1751 { 1752 "// ": "ODUC1 Link", 1753 "label-restrictions": { 1754 "label-restriction": [ 1755 { 1756 "index ": 1, 1757 "// ___DEFAULT___ restriction": "inclusive", 1758 "range-type": "label-range-trib-slot", 1759 "tsg": "tsg-5G", 1760 "odu-type-list": "[ ODUFlex-cbr, ODUFlex-gfp, ODU0, ODU1\ 1761 \, ODU2, ODU2e, ODU3, ODU4 ]", 1762 "// ___ DEFAULT ___ priority": 7, 1763 "// ts-range": "1-20", 1764 "// ___ COMMENT ___": "Since the TS range is specified f\ 1765 \or any ODUk, the OTN Link is an ODUCn Link." 1766 }, 1767 { 1768 "index ": 2, 1769 "// ___DEFAULT___ restriction": "inclusive", 1770 "range-type": "label-range-trib-port", 1771 "tsg": "tsg-5G", 1772 "odu-type-list": "[ ODUFlex-cbr, ODUFlex-gfp, ODU0, ODU1\ 1773 \, ODU2, ODU2e, ODU3, ODU4 ]", 1774 "// ___ DEFAULT ___ priority": 7, 1775 "// tpn-range": "1-10", 1776 "// ___ COMMENT ___": "Since this TPN range is reported \ 1777 \for any ODUk with 5G TSG, the TPN assignment rule is flexible withi\ 1778 \n a common range for mapping any ODUk over ODUCn with 5G TSG." 1779 } 1780 ] 1781 } 1782 } 1783 ] 1784 } 1786 Authors' Addresses 1788 Haomian Zheng 1789 Huawei Technologies 1790 H1, Huawei Xiliu Beipo Village, Songshan Lake 1791 Dongguan, Guangdong 523808 1792 China 1794 Email: zhenghaomian@huawei.com 1796 Italo Busi 1797 Huawei Technologies 1798 Milan 1799 Italy 1801 Email: Italo.Busi@huawei.com