idnits 2.17.1 draft-wang-ccamp-flexe-yang-cm-00.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 : ---------------------------------------------------------------------------- ** There is 1 instance of too long lines in the document, the longest one being 4 characters in excess of 72. Miscellaneous warnings: ---------------------------------------------------------------------------- == The copyright year in the IETF Trust and authors Copyright Line does not match the current year == Line 153 has weird spacing: '...-number uin...' == The document doesn't use any RFC 2119 keywords, yet seems to have RFC 2119 boilerplate text. -- The document date (July 8, 2021) is 1024 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: 'RFC8341' is defined on line 411, but no explicit reference was found in the text Summary: 1 error (**), 0 flaws (~~), 4 warnings (==), 1 comment (--). Run idnits with the --verbose option for more detailed information about the items above. -------------------------------------------------------------------------------- 1 Network Working Group M. Wang 2 Internet Draft L. Han 3 Intended status: Standards Track China Mobile 4 Y. Jiang 5 Huawei 6 Expires: January 8021 July 8, 2021 8 YANG Data Model for FlexE Management 9 draft-wang-ccamp-flexe-yang-cm-00 11 Abstract 13 This document defines a service provider targeted YANG data model 14 for the configuration and management of a Flex Ethernet (FlexE) 15 network, including FlexE groups. It also supports the configuration 16 of each FlexE client as an interface. The YANG module in this 17 document conforms to the Network Management Datastore Architecture 18 (NMDA). 20 Status of this Memo 22 This Internet-Draft is submitted in full conformance with the 23 provisions of BCP 78 and BCP 79. 25 Internet-Drafts are working documents of the Internet Engineering 26 Task Force (IETF). Note that other groups may also distribute 27 working documents as Internet-Drafts. The list of current Internet- 28 Drafts is at https://datatracker.ietf.org/drafts/current/. 30 Internet-Drafts are draft documents valid for a maximum of six 31 months and may be updated, replaced, or obsoleted by other documents 32 at any time. It is inappropriate to use Internet-Drafts as 33 reference material or to cite them other than as "work in progress." 35 This Internet-Draft will expire on January 8, 2020. 37 Copyright Notice 39 Copyright (c) 2021 IETF Trust and the persons identified as the 40 document authors. All rights reserved. 42 This document is subject to BCP 78 and the IETF Trust's Legal 43 Provisions Relating to IETF Documents 44 (http://trustee.ietf.org/license-info) in effect on the date of 45 publication of this document. Please review these documents 46 carefully, as they describe your rights and restrictions with 47 respect to this document. Code Components extracted from this 48 document must include Simplified BSD License text as described in 49 Section 4.e of the Trust Legal Provisions and are provided without 50 warranty as described in the Simplified BSD License. 52 Table of Contents 54 1. Introduction ............................................. 2 55 1.1. Conventions used in this document ..................... 2 56 1.2. Terminology ........................................... 3 57 2. YANG model hierarchy for FlexE ........................... 3 58 3. YANG Module for FlexE group interface .................... 5 59 4. Security Considerations .................................. 9 60 5. IANA Considerations ..................................... 10 61 6. References .............................................. 10 62 6.1. Normative References ................................. 10 63 6.2. Informative References ............................... 10 64 7. Acknowledgments ......................................... 10 66 1. Introduction 68 From a service provider's point of view, a transport network with 69 FlexE support are usually deployed with all FlexE Groups configured 70 at first, and then FlexE clients are added one by one at a later 71 stage. 73 Furthermore, when a FlexE transport network is used to backhaul 5G 74 mobile services, synchronization channel can also be imbed in a 75 FlexE PHY. The specific PHY used for synchronization channel can be 76 retrieved for management. 78 Thus, this document defines a service provider targeted YANG data 79 model for the configuration and management of a Flex Ethernet (FlexE) 80 network, including FlexE groups. It also supports the configuration 81 of each FlexE client as an interface. The data model of the FlexE 82 client is augmented based on the generic interfaces data model as 83 defined in [RFC8343], the FlexE attributes are based on the FlexE 84 2.1 Implementation Agreement as specified in [FLEXE]. 86 The YANG modules in this document conforms to the Network Management 87 Datastore Architecture (NMDA) [RFC8342]. 89 1.1. Conventions used in this document 91 The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL 92 NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", 93 "MAY", and "OPTIONAL" in this document are to be interpreted as 94 described in BCP 14 [RFC2119] [RFC8174] when, and only when, they 95 appear in all capitals, as shown here. 97 1.2. Terminology 99 Most terminologies used in this document are extracted from [FLEXE]. 101 FlexE: Flex Ethernet. 103 FlexE Client: An Ethernet flow based on a MAC data rate that may or 104 may not correspond to any Ethernet PHY rate. 106 FlexE Group: A FlexE Group is composed of from 1 to n Ethernet PHYs. 108 FlexE Instance: A FlexE Instance is a unit of information consisting 109 of 100G of capacity able to carry FlexE Client data, together with 110 its associated overhead. 112 Ethernet PHY: an entity representing Ethernet Physical Coding 113 Sublayer (PCS), Physical Media Attachment (PMA), and Physical Media 114 Dependent (PMD) layers. Each PHY is consisted of one or more FlexE 115 Instance (e.g., a 400GBASE-R PHY has four FlexE Instances). 117 FlexE Calendar: The total capacity of a FlexE Group is represented 118 as a collection of slots. The calendar for a FlexE Group composed 119 of n PHYs is represented in each PHY as an array of slots (e.g., 120 each representing 5Gbps of bandwidth), i.e., timeslot-list string. 122 2. YANG model hierarchy for FlexE 124 This section describes the hierarchy of the YANG modules for the 125 FlexE management. 127 Configuration management of FlexE groups include: 129 - flexe-groups specifies management configuration of all FlexE 130 groups, and flexe-phys further specifies management configuration of 131 a list of PHYs in a specific Flex Group. 133 Configuration management of a FlexE client include: 135 - flexe-client specifies the FlexE slots used for the FlexE Client 136 in the FlexE group. 138 A simplified YANG tree diagram [RFC8340] representing the data model 139 is typically used by YANG modules. This document uses the same tree 140 diagram syntax as described in [RFC8340]. 142 A tree diagram of the module is depicted as the following: 144 module: ietf-flexe-cm 145 +--rw flexe 146 +--rw flexe-groups 147 +--rw flexe-group* [group-index] 148 +--rw index uint32 149 +--rw group-num? uint32 150 +--rw negotiation-mode? negotiation-mode-type 151 +--ro total-bandwidth? string 152 +--ro free-bandwidth? string 153 +--ro sync-phy-number uint32 154 +--rw flexe-phys 155 +--rw flexe-phy-list* [port-name] 156 +--rw port-name if:interface-ref 157 +--rw phy-number? uint32 158 +--ro free-timeslot-list? string 159 +--ro used-timeslot-list? string 161 augment /if:interfaces/if:interface: 162 +--rw flexe-client 163 +--rw client-index? uint32 164 +--rw group-index? leafref 165 +--rw client-num? uint32 166 +--rw timeslot-lists 167 +--rw timeslot-list* [port-name] 168 +--rw port-name? if:interface-ref 169 +--rw time-slot? string 171 3. YANG Module for FlexE group interface 173 The following YANG data module augments the interface container 174 defined in RFC 8343 for a FlexE group interface. It imports iana-if- 175 type [RFC7224] and ietf-interfaces [RFC8343]. 177 file "ietf-flexe-cm@2021-06-18.yang" 178 module ietf-flexe-cm { 179 yang-version 1.1; 180 namespace "urn:ietf:params:xml:ns:yang:ietf-flexe-cm"; 181 prefix "flexe-cm"; 183 import iana-if-type { 184 prefix ianaift; 185 } 186 import ietf-interfaces { 187 prefix if; 188 reference 189 "RFC8343: A YANG Data Model for Interface Management"; 190 } 192 organization "IETF CCAMP Working Group"; 193 contact 194 "WG Web: http://tools.ietf.org/wg/ccamp/ 195 WG List: 196 Author: Minxue Wang 197 198 Author: Liuyan Han 199 200 Author: Yuanlong Jiang 201 "; 202 description 203 "This YANG module defines a data model for the configuration 204 of a FlexE network and its clients."; 206 revision "2021-06-18" { 207 description "Initial version"; 208 reference 209 "draft-wang-ccamp-flexe-yang-cm-00: YANG Data Model for FlexE 210 Management"; 211 } 213 typedef negotiation-mode-type { 214 type enumeration { 215 enum "dynamic" { 216 value 1; 217 description 218 "Dynamic mode."; 219 } 220 enum "static" { 221 value 2; 222 description 223 "Static mode."; 224 } 225 } 226 description 227 "Negotiation mode of a FlexE group."; 228 } 230 container flexe { 231 description 232 "Specify FlexE configuration information."; 233 container flexe-groups { 234 description 235 "List of FlexE groups."; 236 list flexe-group { 237 key "index"; 238 description 239 "Configure FlexE group."; 240 leaf index { 241 type uint32 { 242 range "1..65535"; 243 } 244 description 245 "FlexE group index."; 246 } 247 leaf group-num { 248 type uint32 { 249 range "1..1048574"; 250 } 251 description 252 "FlexE group number, as specified in OIF FlexE 2.1."; 253 } 254 leaf negotiation-mode { 255 type negotiation-mode-type; 256 default "dynamic"; 257 description 258 "FlexE group calendar negotiation mode."; 259 } 260 leaf total-bandwidth { 261 type string { 262 length "1..9"; 263 } 264 config false; 265 description 266 "FlexE group total bandwidth in Gbit/s, such as 10."; 267 } 268 leaf free-bandwidth { 269 type string { 270 length "1..9"; 271 } 272 config false; 273 description 274 "FlexE group free bandwidth in Gbit/s, such as 100."; 275 } 276 leaf sync-phy-number { 277 type uint32 { 278 range "1..254"; 279 } 280 config false; 281 description 282 "Current FlexE PHY number used for synchronization."; 283 } 284 container flexe-phys { 285 description 286 "List of physical port information in a FlexE Group."; 287 list flexe-phy { 288 key "port-name"; 289 description 290 "FlexE PHY port name."; 291 leaf port-name { 292 type if:interface-ref; 293 description 294 "Physical port name. "; 295 } 296 leaf flexe-phy-number { 297 type uint32 { 298 range "1..254"; 299 } 300 description 301 "Number of a FlexE physical port. The PHY number of 302 a 100G port is an integer ranging from 1 to 254. 303 The PHY number of a 50G port is an integer ranging 304 from 1 to 126."; 305 } 306 leaf free-timeslot-list { 307 type string { 308 length "1..199"; 309 } 310 config false; 311 description 312 "Free timeslots."; 313 } 314 leaf used-timeslot-list { 315 type string { 316 length "1..199"; 317 } 318 config false; 319 description 320 "Timeslots that have been used."; 321 } 322 } 323 } 324 } 325 } 326 } 328 augment "/if:interfaces/if:interface" { 329 when "if:type = 'ianaift:flexEclient'" { 330 description "Applies to FlexE client interfaces"; 331 } 333 description 334 "Augment interface model with FlexE client interface specific 335 configuration nodes. Each flexEclient interface represents a 336 FlexE Client configured in a device."; 338 container flexe-client { 339 description 340 "FlexE client."; 341 leaf client-index { 342 type uint32 { 343 range "1..65535"; 344 } 345 description 346 "FlexE client index."; 347 } 348 leaf group-index { 349 type leafref { 350 path "/flexe-cm:flexe/flexe-cm:flexe-groups/flexe-cm:flexe-group" 351 + "/flexe-cm:index"; 352 } 353 description 354 "FlexE group index configured for a client."; 355 } 356 leaf client-num { 357 type uint32 { 358 range "1..65534"; 359 } 360 description 361 "FlexE Client number."; 362 } 363 container timeslot-lists { 364 description 365 "List of binding timeslots."; 366 list timeslot-list { 367 key "port-name"; 368 description 369 "Configure binding timeslots."; 370 leaf port-name { 371 type if:interface-ref; 372 description 373 "FlexE physical port name."; 374 } 375 leaf time-slot { 376 type string { 377 length "1..199"; 378 } 379 description 380 "Set timeslot. The string consists of one or more 381 numbers separated by commas (,) or hyphens (-)."; 382 } 383 } 384 } 385 } 386 } 387 } 388 390 4. Security Considerations 392 TBD. 394 5. IANA Considerations 396 TBD. 398 6. References 400 6.1. Normative References 402 [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate 403 Requirement Levels", BCP 14, RFC 2119, March 1997 405 [RFC7224] Bjorklund, M., "IANA Interface Type YANG Module", RFC 7224, 406 May 2014 408 [RFC8174] Leiba, B., "Ambiguity of Uppercase vs Lowercase in RFC 409 2119 Key Words", BCP 14, RFC 8174, May 2017 411 [RFC8341] Bierman, A. and Bjorklund, M., "Network Configuration 412 Protocol (NETCONF) Access Control Model", RFC 8341, 413 March 2018 415 [RFC8342] Bjorklund, M., Schoenwaelder, J., Shafer, P., Watsen, K., 416 and R. Wilton, "Network Management Datastore 417 Architecture (NMDA)", RFC 8342, March 2018 419 [RFC8343] Bjorklund, M., "A YANG Data Model for Interface 420 Management", RFC 8343, March 2018 422 6.2. Informative References 424 [FLEXE] OIF, "Flex Ethernet 2.1 Implementation Agreement", FlexE 425 2.1, July 2019 427 [RFC8340] Bjorklund, M., and Berger, L., "YANG Tree Diagrams", RFC 428 8340, March 2018 430 7. Acknowledgments 432 TBD. 434 Authors' Addresses 436 Minxue Wang 437 China Mobile 438 No.32 Xuanwumen West Street 439 Beijing 100053, China 440 Email: wangminxue@chinamobile.com 442 Liuyan Han 443 China Mobile 444 No.32 Xuanwumen West Street 445 Beijing 100053, China 446 Email: hanliuyan@chinamobile.com 448 Yuanlong Jiang 449 Huawei Technologies Co., Ltd. 450 Bantian, Longgang district 451 Shenzhen 518129, China 452 Email: jiangyuanlong@huawei.com