idnits 2.17.1 draft-xiaobn-flexe-yang-mod-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 are 10 instances of too long lines in the document, the longest one being 16 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 223 has weird spacing: '...n-group uin...' == Line 227 has weird spacing: '...-number uin...' == Line 229 has weird spacing: '...-number uin...' == Line 250 has weird spacing: '...roup-id uin...' -- The document date (October 22, 2018) is 2012 days in the past. Is this intentional? Checking references for intended status: Informational ---------------------------------------------------------------------------- == Unused Reference: 'I-D.izh-ccamp-flexe-fwk' is defined on line 727, but no explicit reference was found in the text == Outdated reference: A later version (-07) exists of draft-izh-ccamp-flexe-fwk-05 Summary: 1 error (**), 0 flaws (~~), 7 warnings (==), 1 comment (--). Run idnits with the --verbose option for more detailed information about the items above. -------------------------------------------------------------------------------- 2 Internet Engineering Task Force X. Niu, Ed. 3 Internet-Draft Q. Wang, Ed. 4 Intended status: Informational ZTE 5 Expires: April 25, 2019 October 22, 2018 7 A YANG Data Model for Flex Ethernet(FlexE) 8 draft-xiaobn-flexe-yang-mod-00 10 Abstract 12 Flex Ethernet(FlexE) implementation agreement have been published by 13 OIF. FlexE provides a generic mechanism for supporting a variety of 14 Ethernet MAC rates that may or may not correspond to any existing 15 Ethernet PHY rate. 17 This document describes a YANG data model for FlexE. It can be used 18 to manage and control devices supporting FlexE functions. 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 months 31 and may be updated, replaced, or obsoleted by other documents at any 32 time. It is inappropriate to use Internet-Drafts as reference 33 material or to cite them other than as "work in progress." 35 This Internet-Draft will expire on April 25, 2019. 37 Copyright Notice 39 Copyright (c) 2018 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 (https://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 respect 47 to this document. Code Components extracted from this document must 48 include Simplified BSD License text as described in Section 4.e of 49 the Trust Legal Provisions and are provided without warranty as 50 described in the Simplified BSD License. 52 Table of Contents 54 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2 55 2. Terminology . . . . . . . . . . . . . . . . . . . . . . . . . 3 56 2.1. Requirements Language . . . . . . . . . . . . . . . . . . 3 57 2.2. FlexE terminology used in this document . . . . . . . . . 3 58 3. FlexE Reference Configuration Model . . . . . . . . . . . . . 4 59 4. Requirements . . . . . . . . . . . . . . . . . . . . . . . . 4 60 4.1. Requirements . . . . . . . . . . . . . . . . . . . . . . 4 61 5. YANG Data Model for FlexE (Tree Structure) . . . . . . . . . 5 62 6. YANG Module . . . . . . . . . . . . . . . . . . . . . . . . . 7 63 7. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 14 64 8. Authors (Full List) . . . . . . . . . . . . . . . . . . . . . 14 65 9. Contributors . . . . . . . . . . . . . . . . . . . . . . . . 15 66 10. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 15 67 11. Security Considerations . . . . . . . . . . . . . . . . . . . 15 68 12. References . . . . . . . . . . . . . . . . . . . . . . . . . 16 69 12.1. Normative References . . . . . . . . . . . . . . . . . . 16 70 12.2. Informative References . . . . . . . . . . . . . . . . . 16 71 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 17 73 1. Introduction 75 Flex Ethernet (FlexE) implementation agreement version 1.0 76 [OIFFLEXE1] and 2.0 [OIFFLEXE2] have been published by OIF. FlexE 77 provides a generic mechanism for supporting a variety of Ethernet MAC 78 rates that may or may not correspond to any existing Ethernet PHY 79 rate. This includes MAC rates that are both greater than (through 80 bonding) and less than (through sub-rate and channelization) the 81 Ethernet PHY rates used to carry FlexE. 83 This document defines a date model of FlexE, using YANG[RFC7950]. 84 This model mainly deals with the data model of the FlexE Group and 85 the FlexE client. It can be used by an application to configure and 86 modify the parameters of the FlexE Group and the FlexE client, and to 87 receive notifications, e.g. mismatch errors, from devices supporting 88 FlexE functions. 90 Requirements for the FlexE YANG model are considered. And FlexE YANG 91 tree and YANG files are given. 93 2. Terminology 95 A simplified graphical representation of the data model is used in 96 this document. The meaning of the symbols in the YANG data tree 97 presented later in this document is defined in [RFC8340]. They are 98 provided below for reference. 100 o Brackets "[" and "]" enclose list keys. 102 o Abbreviations before data node names: "rw" means configuration 103 (read-write) and "ro" state data (read-only). 105 o Symbols after data node names: "?" means an optional node, "!" 106 means a presence container, and "*" denotes a list and leaf-list. 108 o Parentheses enclose choice and case nodes, and case nodes are also 109 marked with a colon (":"). 111 o Ellipsis ("...") stands for contents of subtrees that are not 112 shown. 114 o Some of the key terms used in this document are listed as follow. 116 2.1. Requirements Language 118 The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", 119 "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this 120 document are to be interpreted as described in RFC 2119 [RFC2119]. 122 2.2. FlexE terminology used in this document 124 a. CSG: Calendar Slot Granularity. It can be 5G or 25G. 126 b. FlexE Calendar: In FlexE IA v1.0, the total capacity of a FlexE 127 Group is represented as a collection of slots which have a 128 granularity of 5G. The calendar for a FlexE Group composed of n 129 100G PHYs is represented as an array of 20n slots (each 130 representing 5G of bandwidth). This calendar is partitioned into 131 sub-calendars, with 20 slots per 100G PHY. Each FlexE client is 132 mapped into one or more calendar slots (based on the bandwidth 133 the FlexE client flow will need). In FlexE IA v2.0[OIFFLEXE2], 134 the total capacity of a FlexE Group is represented as a 135 collection of slots which may have a granularity of 5G or 25G. 136 The calendar for a FlexE Group composed of n 100G FlexE instances 137 from m 100G/200G/400G PHYs is represented as an array of 20n 138 slots (each representing 5G of bandwidth) or 4n slots (25G 139 granularity). 141 c. FlexE Client: An Ethernet flow based on a MAC data rate that may 142 or may not correspond to any Ethernet PHY rate. 144 d. FlexE Group: A FlexE Group is composed of from 1 to n 100G FlexE 145 Instances that are carried by a group of from 1 to m bonded 146 Ethernet PHYs. 148 e. FlexE instance: A 100G FlexE Instance is a unit of information 149 consisting of 100G of capacity able to carry FlexE Client data, 150 together with its associated overhead. 152 Detailed description of these terms can be found in [OIFFLEXE1] and 153 [OIFFLEXE2] . 155 3. FlexE Reference Configuration Model 157 FlexE can be implemented between the FlexE mux and demux in two end 158 devices connected directly by the FlexE links. In this case, FlexE 159 is just a link connection technology. 161 FlexE can also be transported by transport networks. There are three 162 kinds of transport network mapping mechanisms for FlexE signals, that 163 is, FlexE unaware transport, FlexE termination in the transport 164 network and FlexE aware transport. 166 How to configure the ingress or egress of transport network about 167 FlexE mapping relationship may be application specific. In this 168 document, the part of YANG data model for the transport network 169 mapping for FlexE is not included at present. 171 4. Requirements 173 4.1. Requirements 175 This section summarizes the management requirements for the FlexE 176 Group and the FlexE Client. 178 Req-1 The model SHALL support the management of the FlexE Group, 179 consisting of one or more 100G FlexE instances which carried by one 180 or more 100GE, 200GE, 400GE Ethernet PHY(s). 182 The detailed management covers the CURD functions (create, update, 183 read and delete), and lock/unlock. 185 Req-2 The model SHOULD be able to verify that the collection of 186 Ethernet PHY(s) included in a FlexE Group have the same 187 characteristics (e.g. number of PHYs, rate of PHYs, etc.) at the 188 local FlexE shims. If inconsistency exists, notifications (e.g. 189 errors) SHOULD be invoked. 191 Req-3 The model SHOULD be able to verify that the collection of FlexE 192 instances included in a FlexE Group have the same characteristics 193 (e.g. calendar slot granularity, unequipped slots, etc.) at the local 194 FlexE shims. If inconsistency exists, notifications (e.g. errors) 195 SHOULD be invoked. 197 Req-4 The model SHALL allow the addition (or removal) of one or more 198 FlexE clients on a FlexE Group. The addition (or removal) of a FlexE 199 client flow SHALL NOT affect the services for the other FlexE client 200 signals. 202 Req-5 The model SHALL allow FlexE client signals to flexibly span the 203 set of FlexE instances which comprise the FlexE Group. 205 Req-6 The model SHALL support a FlexE client flow resizing without 206 affecting any existing FlexE clients within the same FlexE Group. 208 Req-7 The model SHALL support the switching of a calendar 209 configuration. There are two calendar configurations, A and B. 211 5. YANG Data Model for FlexE (Tree Structure) 212 module: ietf-flexe-yang 213 +--rw flexe-configuration 214 | +--rw flexe-groups 215 | | +--rw flexe-group* [group-name] 216 | | +--rw group-name string 217 | | +--rw group-attributes 218 | | +--rw group-number? uint32 219 | | +--rw calendar-slot-granularity? calendar-slot-granularity 220 | | +--rw flexe-phy-type? flexe-phy-type 221 | | +--rw bonded-phys 222 | | | +--rw flexe-phys* [phy-number-in-group] 223 | | | +--rw phy-number-in-group uint8 224 | | | +--rw local-phy-number? uint16 225 | | +--rw flexe-instances 226 | | | +--rw flexe-instance* [flexe-instance-number] 227 | | | | +--rw flexe-instance-number uint8 228 | | | +--rw uneqipped-flexe-instance* [flexe-instance-number] 229 | | | +--rw flexe-instance-number uint8 230 | | +--rw rx-calendar? calendar-AorB 231 | | +--rw tx-calendar? calendar-AorB 232 | | +--rw tx-calendar-neg? enumeration 233 | | +--rw reply-ca-mode? enumeration 234 | +--rw flexe-clients 235 | +--rw flexe-client* [client-name] 236 | +--rw client-name string 237 | +--rw client-attribute 238 | | +--rw client-number? uint32 239 | | +--rw bandwidth 240 | | +--rw signal-type? flexe-client-signal-rate 241 | | +--rw mac-rate? rt-types:bandwidth-ieee-float32 242 | +--rw used-flexe-resources 243 | +--rw used-rsc* [calendar flexe-group] 244 | +--rw calendar calendar-AorB 245 | +--rw flexe-group string 246 | +--rw flexe-instance? uint8 247 +--ro flexe-group-state 248 +--ro port-group 249 +--ro port-group* [port-group-id] 250 +--ro port-group-id uint32 251 +--ro intf-state? intf-state 253 Figure 1 255 6. YANG Module 257 file "ietf-flexe-yang@2018-10-12.yang" 258 module ietf-flexe-yang { 259 yang-version 1; 260 namespace "urn:ietf:params:xml:ns:yang:ietf-flexe-yang"; 261 prefix "flexe"; 262 import ietf-routing-types { 263 prefix rt-types; 264 } 265 organization 266 "Internet Engineering Task Force (IETF) CCAMP WG"; 267 contact 268 "WG List: 269 ID-draft editor: 270 Xiaobing Niu (niu.xiaobing@zte.com.cn); 271 Qilei Wang (wang.qilei@zte.com.cn); "; 272 description 273 "This module defines a YANG data model for FlexE."; 274 revision 2018-10-12 { 275 description 276 "Initial version."; 277 reference 278 "draft-xiaobn-flexe-yang-mod-00.txt"; 279 } 281 /* typedefs */ 282 typedef calendar-slot-granularity { 283 type enumeration { 284 enum csg-5G { 285 value 1; 286 description "Calendar slot with a 5G granularity"; 287 } 288 enum csg-25G { 289 value 2; 290 description "Calendar slot with a 25G granularity"; 291 } 292 } 293 description 294 "Defines a type representing the granularity of a calendar slot."; 295 } 297 typedef flexe-client-signal-rate { 298 type enumeration { 299 enum flexe-client-signal-10Gbps{ 300 value 1; 301 description 302 "FlexE Client signal rate of 10Gbps"; 304 } 305 enum flexe-client-signal-40Gbps{ 306 value 2; 307 description 308 "FlexE Client signal rate of 40Gbps"; 309 } 310 enum flexe-client-signal-25mGbps{ 311 value 3; 312 description 313 "FlexE Client signal rate of m*25Gbps"; 314 } 315 } 316 description 317 "Defines FlexE Client signal rate, including 10, 40, m*25Gbps."; 318 } 319 typedef flexe-phy-type { 320 type enumeration { 321 enum flexe-phy-100GBASE-R { 322 value 1; 323 description "100GBASE-R PHY"; 324 } 325 enum flexe-phy-200GBASE-R { 326 value 2; 327 description "200GBASE-R PHY"; 328 } 329 enum flexe-phy-400GBASE-R { 330 value 3; 331 description "400GBASE-R PHY"; 332 } 333 } 334 description 335 "Defines types of PHYs in a FlexE group"; 336 } 337 typedef calendar-AorB { 338 type enumeration { 339 enum calendar-A { 340 value 0 ; 341 description 342 "Set the A calendar configuration."; 343 } 344 enum calendar-B { 345 value 1 ; 346 description 347 "Set the B calendar configuration."; 348 } 349 } 350 description 351 "Calendar configuration A or B"; 353 } 354 /* interface states: OK, SF, SD */ 355 typedef intf-state { 356 type enumeration { 357 enum ok { 358 value 0 ; 359 description 360 "The interface state of the FlexE Group is OK."; 361 } 362 enum sf { 363 value 1 ; 364 description 365 "The interface state of the FlexE Group is SF." ; 366 } 367 enum sd { 368 value 2 ; 369 description 370 "The interface state of the FlexE Group is SD."; 371 } 372 } 373 description 374 "Interface state of port group."; 375 } 376 /* grouping */ 377 grouping flexe-client-bandwidth{ 378 leaf signal-type{ 379 type flexe-client-signal-rate; 380 description 381 "Client signal types: 10, 40, m*25 Gbps."; 382 } 383 leaf mac-rate { 384 type rt-types:bandwidth-ieee-float32; 385 description 386 "Bandwidth of clients."; 387 } 388 description 389 "The bandwidth of a FlexE client."; 390 } 392 /* Configuration of FlexE */ 393 container flexe-configuration{ 394 description 395 "FlexE configuration, including configuration of FlexE groups and FlexE clients."; 396 container flexe-groups { 397 description 398 "Container for the FlexE Group"; 399 list flexe-group { 400 key group-name; 401 description 402 "List of FlexE Group"; 403 leaf group-name { 404 type string ; 405 description 406 "The name of a FlexE Group"; 407 } 408 container group-attributes { 409 description 410 "The attributes of a FlexE Group"; 411 leaf group-number { 412 type uint32 { 413 range 1..1048574 ; 414 } 415 description 416 "The FlexE Group number is selected from the range 1~0xFFFFE. 417 The value of 0x00000 and 0xFFFFF may not be used to designate 418 a FlexE Group."; 419 } 420 leaf calendar-slot-granularity{ 421 type calendar-slot-granularity; 422 description 423 "The granularity of calendar slot is 5G or 25G"; 424 reference 425 "OIF FlexE IA 2.0"; 426 } 427 leaf flexe-phy-type{ 428 type flexe-phy-type; 429 description 430 "Types of PHYs, such as 100/200/400GBASE-R"; 431 reference 432 "OIF FlexE IA 2.0"; 433 } 434 container bonded-phys { 435 description 436 "PHYs bonded to form a FlexE Group"; 437 list flexe-phys { 438 key phy-number-in-group; 439 description 440 "One of bonded PHYs in a FlexE Group"; 441 leaf phy-number-in-group{ 442 type uint8 ; 443 description 444 "Refer to the clause 6.1 in FlexE IA 2.0. 445 For 100GBASE-R, the FlxeE PHY number and the 100G FlexE instance 446 number are the same and in the range [1-254]; 447 For 200GBASE-R, each PHY number is in the range [1-126]. 448 For 400GBASE-R, each PHY number is in the range [1-62]."; 450 } 451 leaf local-phy-number{ 452 type uint16 ; 453 description 454 "Local PHY number related to the PHY number 455 in a FlexE group.( with uint16 while not uint8 )"; 456 } 457 } 458 } 460 container flexe-instances { 461 description 462 "FlexE instances in a FlexE Group"; 463 list flexe-instance { 464 key flexe-instance-number; 465 description 466 "List of a FlexE instance in a FlexE Group"; 467 leaf flexe-instance-number{ 468 type uint8 ; 469 description 470 "Logical FlexE instance number"; 471 reference 472 "Clause 6.1 FlexE Group in FlexE IA 2.0. 473 For 100G, instance num=PHY num; 474 For 200G, 8-bit instance num consists of the PHY num in the upper 475 seven bits, and 0 or 1 in the lower order bit. 476 For 400G, 8-bit instance num consists of the PHY num in the upper 477 six bits, and 0,1,2, or 3 in the two lower order bits. "; 478 } 479 } 480 list uneqipped-flexe-instance { 481 key flexe-instance-number; 482 description 483 "Unquipped FlexE instance in a FlexE Group"; 484 leaf flexe-instance-number{ 485 type uint8 ; 486 description 487 "Clause 6.1 FlexE Group in FlexE IA 2.0"; 488 } 489 } 490 } 491 leaf rx-calendar { 492 type calendar-AorB; 493 description 494 "Calendar configuration in the receive direction"; 495 } 496 leaf tx-calendar { 497 type calendar-AorB; 498 description 499 "Calendar configuration in the transmit direction"; 500 } 501 leaf tx-calendar-neg { 502 type enumeration { 503 enum manual { 504 value 1 ; 505 description 506 "Manually configured"; 507 } 508 enum protocol-force { 509 value 2 ; 510 description 511 "Protocol forced"; 512 } 513 enum protocol-normal { 514 value 3 ; 515 description 516 "Protocol normal"; 517 } 518 } 519 description 520 "TX calendar negotiation methods"; 521 } 522 leaf reply-ca-mode { 523 type enumeration { 524 enum never { 525 value 1 ; 526 description 527 "never reply CA (Configuration Ack)"; 528 } 529 enum immediately { 530 value 2 ; 531 description 532 "immediately reply CA (Configuration Ack)"; 533 } 534 enum ask-controller { 535 value 3 ; 536 description 537 "Ask controller for more control"; 538 } 539 } 540 description 541 "Reply CA mode"; 542 } 543 } 544 } 545 } 546 container flexe-clients { 547 description 548 "FlexE clients information"; 549 list flexe-client { 550 key client-name ; 551 description 552 "Attributes of FlexE client" ; 553 leaf client-name { 554 type string ; 555 description 556 "FlexE client name"; 557 } 558 container client-attribute { 559 description 560 "Attributes for specific client."; 561 leaf client-number { 562 type uint32 { 563 range 1..65534 ; 564 } 565 description 566 "Client number in the range of 1~0xFFFF"; 567 } 568 container bandwidth { 569 description "Client bandwidth"; 570 uses flexe-client-bandwidth; 571 } 572 } 573 container used-flexe-resources { 574 description 575 "Used FlexE resources to carry the FlexE client"; 576 list used-rsc { 577 key "calendar flexe-group" ; 578 description 579 "List of used resources"; 580 leaf calendar { 581 type calendar-AorB; 582 description 583 "Calendar configuration"; 584 } 585 leaf flexe-group { 586 type string ; 587 description 588 "FlexE Group"; 589 } 590 leaf flexe-instance { 591 type uint8 ; 592 description 593 "FlexE Instance"; 595 } 596 } 597 } 598 } 599 } /* end of FlexE client */ 600 } 602 /* states of FlexE Group */ 603 container flexe-group-state { 604 config false ; 605 description "State info." ; 606 container port-group { 607 description "Port group state information."; 608 list port-group { 609 key port-group-id ; 610 description "The state information of port-group."; 611 leaf port-group-id { 612 type uint32 { 613 range 1..65536 { 614 description "Port group id."; 615 } 616 } 617 description "Port group id of port group."; 618 } 619 leaf intf-state { 620 type intf-state ; 621 description "Port state of port group."; 622 } 623 } 624 } 625 } 626 } 628 630 7. Acknowledgements 632 8. Authors (Full List) 634 Xiaobing NIU (editor) 636 ZTE 638 Beijing, China 640 Email: niu.xiaobing@zte.com.cn 641 Qilei Wang (editor) 643 ZTE 645 Nanjing, China 647 Email: wang.qilei@zte.com.cn 649 9. Contributors 651 10. IANA Considerations 653 This document registers the following namespace URIs in the IETF XML 654 registry[RFC3688]: 656 URI: urn:ietf:params:xml:ns:yang:ietf-flexe-yang 658 Registrant Contact: The IESG. 660 XML: N/A, the requested URI is an XML namespace. 662 This document registers the following YANG modules in the YANG Module 663 Names registry[RFC6020] : 665 name: ietf-flexe-yang 667 namespace: urn:ietf:params:xml:ns:yang:ietf-flexe-yang 669 reference: RFC XXXX (TDB) 671 11. Security Considerations 673 The YANG module specified in this document defines a schema for data 674 that is designed to be accessed via network management protocols such 675 as NETCONF[RFC6241]. Proper standardized security measures should be 676 implemented. 678 There are a number of data nodes defined in this YANG module that are 679 writable/creatable/deletable. These data nodes may be considered 680 sensitive or vulnerable in some network environments. Write 681 operations (e.g., edit-config) to these data nodes without proper 682 protection can have a negative effect on network operations. 684 12. References 686 12.1. Normative References 688 [OIFFLEXE1] 689 OIF, "Flex Ethernet Implementation Agreement 1.0(OIF- 690 FLEXE-01.0); 03/2016", http://www.oiforum.com/wp- 691 content/uploads/OIF-FLEXE-01.0.pdf, March 2016. 693 [OIFFLEXE2] 694 OIF, "Flex Ethernet Implementation Agreement 2.0(OIF- 695 FLEXE-02.0); 06/2018", http://www.oiforum.com/wp- 696 content/uploads/OIF-FLEXE-02.0.pdf, June 2018. 698 [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate 699 Requirement Levels", BCP 14, RFC 2119, 700 DOI 10.17487/RFC2119, March 1997, 701 . 703 [RFC3688] Mealling, M., "The IETF XML Registry", BCP 81, RFC 3688, 704 DOI 10.17487/RFC3688, January 2004, 705 . 707 [RFC6020] Bjorklund, M., Ed., "YANG - A Data Modeling Language for 708 the Network Configuration Protocol (NETCONF)", RFC 6020, 709 DOI 10.17487/RFC6020, October 2010, 710 . 712 [RFC6241] Enns, R., Ed., Bjorklund, M., Ed., Schoenwaelder, J., Ed., 713 and A. Bierman, Ed., "Network Configuration Protocol 714 (NETCONF)", RFC 6241, DOI 10.17487/RFC6241, June 2011, 715 . 717 [RFC7950] Bjorklund, M., Ed., "The YANG 1.1 Data Modeling Language", 718 RFC 7950, DOI 10.17487/RFC7950, August 2016, 719 . 721 [RFC8340] Bjorklund, M. and L. Berger, Ed., "YANG Tree Diagrams", 722 BCP 215, RFC 8340, DOI 10.17487/RFC8340, March 2018, 723 . 725 12.2. Informative References 727 [I-D.izh-ccamp-flexe-fwk] 728 Hussain, I., Valiveti, R., Wang, Q., Andersson, L., Chen, 729 M., and z. zhenghaomian@huawei.com, "GMPLS Routing and 730 Signaling Framework for Flexible Ethernet (FlexE)", draft- 731 izh-ccamp-flexe-fwk-05 (work in progress), March 2018. 733 Authors' Addresses 735 Xiaobing Niu (editor) 736 ZTE 737 Beijing 738 CN 740 Email: niu.xiaobing@zte.com.cn 742 Qilei Wang (editor) 743 ZTE 744 Nanjing 745 CN 747 Email: wang.qilei@zte.com.cn