idnits 2.17.1 draft-ietf-teas-yang-sr-te-topo-02.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 206 has weird spacing: '...r-bound uin...' == Line 207 has weird spacing: '...r-bound uin...' == Line 225 has weird spacing: '...r-bound uin...' == Line 226 has weird spacing: '...r-bound uin...' == Line 228 has weird spacing: '...r-bound uin...' == (9 more instances...) == The document seems to lack the recommended RFC 2119 boilerplate, even if it appears to use RFC 2119 keywords. (The document does seem to have the reference to RFC 2119 which the ID-Checklist requires). -- The document date (July 1, 2018) is 2119 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) == Missing Reference: 'RFC3688' is mentioned on line 640, but not defined == Missing Reference: 'RFC6020' is mentioned on line 655, but not defined == Outdated reference: A later version (-22) exists of draft-ietf-teas-yang-te-topo-18 == Outdated reference: A later version (-30) exists of draft-ietf-spring-sr-yang-08 Summary: 0 errors (**), 0 flaws (~~), 12 warnings (==), 1 comment (--). Run idnits with the --verbose option for more detailed information about the items above. -------------------------------------------------------------------------------- 2 Network Working Group X. Liu 3 Internet-Draft Volta Networks 4 Intended status: Standards Track I. Bryskin 5 Expires: January 2, 2019 Huawei Technologies 6 V. Beeram 7 Juniper Networks 8 T. Saad 9 Cisco Systems Inc 10 H. Shah 11 Ciena 12 S. Litkowski 13 Orange Business Service 14 July 1, 2018 16 YANG Data Model for SR and SR TE Topologies 17 draft-ietf-teas-yang-sr-te-topo-02 19 Abstract 21 This document defines a YANG data model for Segment Routing (SR) 22 topology and Segment Routing (SR) traffic engineering (TE) topology. 24 Status of This Memo 26 This Internet-Draft is submitted in full conformance with the 27 provisions of BCP 78 and BCP 79. 29 Internet-Drafts are working documents of the Internet Engineering 30 Task Force (IETF). Note that other groups may also distribute 31 working documents as Internet-Drafts. The list of current Internet- 32 Drafts is at https://datatracker.ietf.org/drafts/current/. 34 Internet-Drafts are draft documents valid for a maximum of six months 35 and may be updated, replaced, or obsoleted by other documents at any 36 time. It is inappropriate to use Internet-Drafts as reference 37 material or to cite them other than as "work in progress." 39 This Internet-Draft will expire on January 2, 2019. 41 Copyright Notice 43 Copyright (c) 2018 IETF Trust and the persons identified as the 44 document authors. All rights reserved. 46 This document is subject to BCP 78 and the IETF Trust's Legal 47 Provisions Relating to IETF Documents 48 (https://trustee.ietf.org/license-info) in effect on the date of 49 publication of this document. Please review these documents 50 carefully, as they describe your rights and restrictions with respect 51 to this document. Code Components extracted from this document must 52 include Simplified BSD License text as described in Section 4.e of 53 the Trust Legal Provisions and are provided without warranty as 54 described in the Simplified BSD License. 56 Table of Contents 58 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2 59 1.1. Terminology . . . . . . . . . . . . . . . . . . . . . . . 2 60 1.2. Tree Diagrams . . . . . . . . . . . . . . . . . . . . . . 3 61 2. Modeling Considerations . . . . . . . . . . . . . . . . . . . 3 62 2.1. Segment Routing (SR) Topology . . . . . . . . . . . . . . 3 63 2.2. Segment Routing (SR) TE Topology . . . . . . . . . . . . 3 64 2.3. Relations to ietf-segment-routing . . . . . . . . . . . . 4 65 2.4. Topology Type Modeling . . . . . . . . . . . . . . . . . 5 66 2.5. Topology Attributes . . . . . . . . . . . . . . . . . . . 5 67 2.6. Node Attributes . . . . . . . . . . . . . . . . . . . . . 5 68 2.7. Link Termination Point Attributes . . . . . . . . . . . . 6 69 2.8. Link in the Topology Model . . . . . . . . . . . . . . . 7 70 3. Model Structure . . . . . . . . . . . . . . . . . . . . . . . 7 71 4. YANG Module . . . . . . . . . . . . . . . . . . . . . . . . . 9 72 5. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 15 73 6. Security Considerations . . . . . . . . . . . . . . . . . . . 15 74 7. References . . . . . . . . . . . . . . . . . . . . . . . . . 16 75 7.1. Normative References . . . . . . . . . . . . . . . . . . 16 76 7.2. Informative References . . . . . . . . . . . . . . . . . 16 77 Appendix A. Companion YANG Model for Non-NMDA Compliant 78 Implementations . . . . . . . . . . . . . . . . . . 18 79 A.1. SR Topology State Module . . . . . . . . . . . . . . . . 18 80 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 21 82 1. Introduction 84 This document defines a YANG [RFC7950] data model for describing the 85 presentations of Segment Routing (SR) topology and Segment Routing 86 (SR) traffic engineering (TE) topology. The version of the model 87 limits the transport type to an MPLS dataplane. 89 1.1. Terminology 91 The keywords "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", 92 "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and 93 "OPTIONAL" in this document are to be interpreted as described in BCP 94 14, [RFC2119]. 96 The following terms are defined in [RFC7950] and are not redefined 97 here: 99 o augment 101 o data model 103 o data node 105 1.2. Tree Diagrams 107 Tree diagrams used in this document follow the notation defined in 108 [RFC8340]. 110 2. Modeling Considerations 112 2.1. Segment Routing (SR) Topology 114 The Layer 3 network topology model is discussed in [RFC8346]. The 115 Segment Routing (SR) topology model proposed in this document 116 augments and uses the ietf-l3-unicast-igp-topology module defined in 117 [RFC8346]. SR related attributes are covered in the ietf-sr-topology 118 model. 120 +------------------------------+ 121 | Layer 3 Network Topology | 122 | ietf-l3-unicast-topology | 123 +------------------------------+ 124 | 125 | 126 | 127 V 128 +------------------------+ 129 | SR Topology | 130 | ietf-sr-topology | 131 +------------------------+ 133 2.2. Segment Routing (SR) TE Topology 135 When traffic engineering is enabled on an SR topology, there will be 136 associations between objects in SR topologies and objects in TE 137 topologies. An SR TE topology is both an SR topology and a layer 3 138 TE topology. Multiple inheritance is used to achieve such relations. 140 +------------------+ +---------------------+ 141 | SR Topology | | L3 TE Topology | 142 | ietf-sr-topology | | ietf-l3-te-topology | 143 +------------------+ +---------------------+ 144 \ / 145 \ / 146 \ / 147 v v 148 +------------------------+ 149 | SR TE Topology | 150 | | 151 +------------------------+ 153 Each type of topologies is indicated by "network-types" defined in 154 [RFC8345]. For the three types of topologies above, the data 155 representations are: 157 L3 Topology: 159 /nd:networks/nd:network/nd:network-types/l3-unicast-topology 161 L3 TE Topology: 163 /nd:networks/nd:network/nd:network-types/l3-unicast-topology/l3-te 165 SR Topology: 167 /nd:networks/nd:network/nd:network-types/l3-unicast-topology/sr 169 SR TE Topology: (multiple inheritance) 171 /nd:networks/nd:network/nd:network-types/l3-unicast-topology/l3-te 172 /nd:networks/nd:network/nd:network-types/l3-unicast-topology/sr 174 2.3. Relations to ietf-segment-routing 176 [I-D.ietf-spring-sr-yang] defines ietf-segment-routing that is a 177 model intended to be used on network elements to configure or operate 178 segment routing; ietf-sr-topology defined in this document is 179 intended to be used on a controller for the network-wide operations 180 such as path computation. 182 SR topology model shares many modeling constructs defined in ietf- 183 segment-routing. The module ietf-sr-topology uses the types and 184 groupings defined in ietf-segment-routing. 186 2.4. Topology Type Modeling 188 A new topology type is defined in this document, to indicate a 189 topology that is a Segment Routing (SR) topology. 191 augment /nw:networks/nw:network/nw:network-types 192 /l3t:l3-unicast-topology: 193 +--rw sr! 195 2.5. Topology Attributes 197 The Segment Routing attributes with topology-wide impacts are modeled 198 by augmenting the container "l3-topology-attributes" in the L3 199 topology model. SRGB (Segment Routing Global Block) is covered in 200 this augmentation. A SR domain is mapped to a topology in this 201 model. 203 augment /nw:networks/nw:network/l3t:l3-topology-attributes: 204 +--rw sr 205 +--rw srgb* [lower-bound upper-bound] 206 +--rw lower-bound uint32 207 +--rw upper-bound uint32 209 2.6. Node Attributes 211 The Segment Routing attributes within the node scope are modeled by 212 augmenting the sub tree /nw:networks/nw:network/nw:node/ in the L3 213 topology model. 215 The SR attributes that have node-scope impact are modeled by 216 augmenting the container "l3-node-attributes" in the L3 topology 217 model, including the SR capabilities, SRGB (Segment Routing Global 218 Block), and SRLB (Segment Routing Local Block) specified on this 219 mode. This model also provides the information about how these SR 220 attributes are learned: 222 augment /nw:networks/nw:network/nw:node/l3t:l3-node-attributes: 223 +--rw sr 224 +--rw srgb* [lower-bound upper-bound] 225 | +--rw lower-bound uint32 226 | +--rw upper-bound uint32 227 +--rw srlb* [lower-bound upper-bound] 228 | +--rw lower-bound uint32 229 | +--rw upper-bound uint32 230 +--rw node-capabilities 231 | +--rw transport-planes* [transport-plane] 232 | | +--rw transport-plane identityref 233 | +--rw readable-label-stack-depth? uint8 234 +--ro information-source? enumeration 235 +--ro information-source-state 236 +--ro credibility-preference? uint16 238 The SR attributes that are related to a IGP-Prefix segment are 239 modeled by augmenting the list entry "prefix" in the L3 topology 240 model: 242 augment /nw:networks/nw:network/nw:node/l3t:l3-node-attributes 243 /l3t:prefix: 244 +--rw sr! 245 +--rw value-type? enumeration 246 +--rw start-sid uint32 247 +--rw range? uint32 248 +--rw algorithm? identityref 249 +--rw last-hop-behavior? enumeration 250 | {sid-last-hop-behavior}? 251 +--rw is-local? boolean 253 2.7. Link Termination Point Attributes 255 A link termination point in the topology model is mapped to an 256 interface from the Segment Routing perspective. The Adjacency 257 Segment attributes on an interface are modeled within a link 258 termination point. The modeling structure is as follows: 260 augment /nw:networks/nw:network/nw:node/nt:termination-point 261 /l3t:l3-termination-point-attributes: 262 +--rw sr! 263 +--rw value-type? enumeration 264 +--rw sid uint32 265 +--rw advertise-protection? enumeration 266 +--rw is-local? boolean 267 +--ro is-backup? boolean 268 +--ro is-part-of-set? boolean 269 +--ro is-on-lan? boolean 270 +--ro information-source? enumeration 271 +--ro information-source-state 272 +--ro credibility-preference? uint16 274 The usage of the leaf "advertise-protection" is described in 275 [I-D.ietf-spring-sr-yang]. 277 Since YANG models are usually implemented with persistent 278 configuration datastores, this model supports only persistent 279 Adjacency Segments. 281 Both IGP and BGP can be supported by the model, the leaf 282 "information-source" is used to indicate where the information is 283 from. 285 The bundling capability of the Adjacency Segemnt is achieved by re- 286 using the existing modeling construct (i.e. "bundle-stack-level") 287 under /nw:networks/nw:network/nt:link/tet:te 288 [I-D.ietf-teas-yang-te-topo] 290 2.8. Link in the Topology Model 292 A link in the topology model connects the termination point on the 293 source node to the termination point on the destination node. When 294 such a link is instantiated, the bindings between the nodes and the 295 corresponding Adj-SIDs are formed, and the resulting FIB entries are 296 installed. 298 3. Model Structure 300 The model tree structure of the Segment Routing (SR) topology module 301 is as shown below: 303 module: ietf-sr-topology 304 augment /nw:networks/nw:network/nw:network-types 305 /l3t:l3-unicast-topology: 306 +--rw sr! 307 augment /nw:networks/nw:network/l3t:l3-topology-attributes: 308 +--rw sr 309 +--rw srgb* [lower-bound upper-bound] 310 +--rw lower-bound uint32 311 +--rw upper-bound uint32 312 augment /nw:networks/nw:network/nw:node/l3t:l3-node-attributes: 313 +--rw sr 314 +--rw srgb* [lower-bound upper-bound] 315 | +--rw lower-bound uint32 316 | +--rw upper-bound uint32 317 +--rw srlb* [lower-bound upper-bound] 318 | +--rw lower-bound uint32 319 | +--rw upper-bound uint32 320 +--rw node-capabilities 321 | +--rw transport-planes* [transport-plane] 322 | | +--rw transport-plane identityref 323 | +--rw readable-label-stack-depth? uint8 324 +--ro information-source? enumeration 325 +--ro information-source-state 326 +--ro credibility-preference? uint16 327 augment /nw:networks/nw:network/nw:node/l3t:l3-node-attributes 328 /l3t:prefix: 329 +--rw sr! 330 +--rw value-type? enumeration 331 +--rw start-sid uint32 332 +--rw range? uint32 333 +--rw algorithm? identityref 334 +--rw last-hop-behavior? enumeration 335 | {sid-last-hop-behavior}? 336 +--rw is-local? boolean 337 augment /nw:networks/nw:network/nw:node/nt:termination-point 338 /l3t:l3-termination-point-attributes: 339 +--rw sr! 340 +--rw value-type? enumeration 341 +--rw sid uint32 342 +--rw advertise-protection? enumeration 343 +--rw is-local? boolean 344 +--ro is-backup? boolean 345 +--ro is-part-of-set? boolean 346 +--ro is-on-lan? boolean 347 +--ro information-source? enumeration 348 +--ro information-source-state 349 +--ro credibility-preference? uint16 351 4. YANG Module 353 file "ietf-sr-topology@2018-06-22.yang" 354 module ietf-sr-topology { 355 yang-version 1.1; 356 namespace "urn:ietf:params:xml:ns:yang:ietf-sr-topology"; 357 prefix "srt"; 359 import ietf-network { 360 prefix "nw"; 361 reference "RFC 8345: A YANG Data Model for Network Topologies"; 362 } 363 import ietf-network-topology { 364 prefix "nt"; 365 reference "RFC 8345: A YANG Data Model for Network Topologies"; 366 } 367 import ietf-l3-unicast-topology { 368 prefix "l3t"; 369 reference "RFC 8346: A YANG Data Model for Layer 3 Topologies"; 370 } 371 import ietf-segment-routing-common { 372 prefix "sr-cmn"; 373 reference 374 "I-D.ietf-spring-sr-yang: YANG Data Model for Segment Routing"; 375 } 377 organization 378 "IETF Traffic Engineering Architecture and Signaling (TEAS) 379 Working Group"; 381 contact 382 "WG Web: 383 WG List: 385 Editor: Xufeng Liu 386 388 Editor: Igor Bryskin 389 391 Editor: Vishnu Pavan Beeram 392 394 Editor: Tarek Saad 395 397 Editor: Himanshu Shah 398 400 Editor: Stephane Litkowski 401 "; 403 description 404 "YANG data model for representing and manipulating Segment 405 Routing Topologies. 407 Copyright (c) 2018 IETF Trust and the persons identified as 408 authors of the code. All rights reserved. 410 Redistribution and use in source and binary forms, with or 411 without modification, is permitted pursuant to, and subject to 412 the license terms contained in, the Simplified BSD License set 413 forth in Section 4.c of the IETF Trust's Legal Provisions 414 Relating to IETF Documents 415 (http://trustee.ietf.org/license-info). 417 This version of this YANG module is part of RFC XXXX; see the 418 RFC itself for full legal notices."; 420 revision 2018-06-22 { 421 description "Initial revision"; 422 reference 423 "RFC XXXX: YANG Data Model for SR and SR TE Topologies"; 424 } 426 grouping sr-topology-type { 427 description 428 "Identifies the SR topology type."; 429 container sr { 430 presence "Indiates SR Topology"; 431 description 432 "Its presence identifies the SR topology type."; 433 } 434 } 436 augment "/nw:networks/nw:network/nw:network-types/" 437 + "l3t:l3-unicast-topology" { 438 description 439 "Defines the SR topology type."; 440 uses sr-topology-type; 441 } 443 augment "/nw:networks/nw:network/l3t:l3-topology-attributes" { 444 when "../nw:network-types/l3t:l3-unicast-topology/srt:sr" { 445 description "Augment only for SR topology."; 447 } 448 description "Augment topology configuration"; 449 uses sr-topology-attributes; 450 } 452 augment "/nw:networks/nw:network/nw:node/l3t:l3-node-attributes" { 453 when "../../nw:network-types/l3t:l3-unicast-topology/srt:sr" { 454 description "Augment only for SR topology."; 455 } 456 description "Augment node configuration."; 457 uses sr-node-attributes; 458 } 460 augment "/nw:networks/nw:network/nw:node/l3t:l3-node-attributes" 461 + "/l3t:prefix" { 462 when "../../../nw:network-types/l3t:l3-unicast-topology/srt:sr" { 463 description "Augment only for SR topology."; 464 } 465 description "Augment node prefix."; 466 uses sr-node-prefix-attributes; 467 } 469 augment "/nw:networks/nw:network/nw:node/nt:termination-point/" 470 + "l3t:l3-termination-point-attributes" { 471 when "../../../nw:network-types/l3t:l3-unicast-topology/" 472 + "srt:sr" { 473 description "Augment only for SR topology."; 474 } 475 description "Augment termination point configuration"; 476 uses sr-tp-attributes; 477 } 479 grouping sr-topology-attributes { 480 description "SR topology scope attributes."; 481 container sr { 482 description 483 "Containing SR attributes."; 484 uses sr-cmn:srgb-cfg; 485 } // sr 486 } // sr-topology-attributes 488 grouping information-source-attributes { 489 description 490 "The attributes identifying source that has provided the 491 related information, and the source credibility."; 492 leaf information-source { 493 type enumeration { 494 enum "unknown" { 495 description "The source is unknown."; 496 } 497 enum "locally-configured" { 498 description "Configured entity."; 499 } 500 enum "ospfv2" { 501 description "OSPFv2."; 502 } 503 enum "ospfv3" { 504 description "OSPFv3."; 505 } 506 enum "isis" { 507 description "ISIS."; 508 } 509 enum "system-processed" { 510 description "System processed entity."; 511 } 512 enum "other" { 513 description "Other source."; 514 } 515 } 516 config false; 517 description 518 "Indicates the source of the information."; 519 } 520 container information-source-state { 521 config false; 522 description 523 "The container contains state attributes related to 524 the information source."; 525 leaf credibility-preference { 526 type uint16; 527 description 528 "The preference value to calculate the traffic 529 engineering database credibility value used for 530 tie-break selection between different 531 information-source values. 532 Higher value is more preferable."; 533 } 534 } 535 } // information-source-attributes 537 grouping sr-node-attributes { 538 description "SR node scope attributes."; 539 container sr { 540 description 541 "Containing SR attributes."; 542 uses sr-cmn:srgb-cfg; 543 uses sr-cmn:srlb-cfg; 544 uses sr-cmn:node-capabilities; 545 // Operational state data 546 uses information-source-attributes; 547 } // sr 548 } // sr-node-attributes 550 grouping sr-node-prefix-attributes { 551 description "Containing SR attributes for a prefix."; 552 container sr { 553 presence "Presence indicates SR is enabled."; 554 description 555 "Containing SR attributes for a prefix."; 556 uses sr-cmn:prefix-sid-attributes; 557 uses sr-cmn:last-hop-behavior; 558 leaf is-local { 559 type boolean; 560 description 561 "'true' if the SID is local."; 562 } 563 } // sr 564 } // sr-node-prefix-attributes 566 grouping sr-tp-attributes { 567 description "SR termination point scope attributes"; 568 container sr { 569 presence "Presence indicates SR is enabled."; 570 description 571 "Containing SR attributes."; 572 uses sr-cmn:sid-value-type; 573 leaf sid { 574 type uint32; 575 mandatory true; 576 description 577 "Adjacency SID, which can be either IGP-Adjacency SID 578 or BGP PeerAdj SID, depending on the context."; 579 } 580 leaf advertise-protection { 581 type enumeration { 582 enum "single" { 583 description 584 "A single Adj-SID is associated 585 with the adjacency and reflects 586 the protection configuration."; 587 } 588 enum "dual" { 589 description 590 "Two Adj-SIDs will be associated 591 with the adjacency if interface 592 is protected. In this case 593 one will be enforced with 594 backup flag set, the other 595 will be enforced to backup flag unset. 596 In case, protection is not configured, 597 a single Adj-SID will be advertised 598 with backup flag unset."; 599 } 600 } 601 description 602 "If set, the Adj-SID refers to an 603 adjacency being protected."; 604 } 605 leaf is-local { 606 type boolean; 607 description 608 "'true' if the SID is local."; 609 } 610 leaf is-backup { 611 type boolean; 612 config false; 613 description 614 "'true' if the SID is a backup."; 615 } 616 leaf is-part-of-set { 617 type boolean; 618 config false; 619 description 620 "'true' if the SID is part of a set."; 621 } 622 leaf is-on-lan { 623 type boolean; 624 config false; 625 description 626 "'true' if on a lan."; 627 } 628 uses information-source-attributes; 629 } // sr 630 } // sr-tp-attributes 631 } 632 634 5. IANA Considerations 636 RFC Ed.: In this section, replace all occurrences of 'XXXX' with the 637 actual RFC number (and remove this note). 639 This document registers the following namespace URIs in the IETF XML 640 registry [RFC3688]: 642 -------------------------------------------------------------------- 643 URI: urn:ietf:params:xml:ns:yang:ietf-sr-topology 644 Registrant Contact: The IESG. 645 XML: N/A, the requested URI is an XML namespace. 646 -------------------------------------------------------------------- 648 -------------------------------------------------------------------- 649 URI: urn:ietf:params:xml:ns:yang:ietf-sr-topology-state 650 Registrant Contact: The IESG. 651 XML: N/A, the requested URI is an XML namespace. 652 -------------------------------------------------------------------- 654 This document registers the following YANG modules in the YANG Module 655 Names registry [RFC6020]: 657 -------------------------------------------------------------------- 658 name: ietf-sr-topology 659 namespace: urn:ietf:params:xml:ns:yang:ietf-sr-topology 660 prefix: srt 661 reference: RFC XXXX 662 -------------------------------------------------------------------- 664 -------------------------------------------------------------------- 665 name: ietf-sr-topology-state 666 namespace: urn:ietf:params:xml:ns:yang:ietf-sr-topology-state 667 prefix: srt-s 668 reference: RFC XXXX 669 -------------------------------------------------------------------- 671 6. Security Considerations 673 The configuration, state, action and notification data defined in 674 this document are designed to be accessed via the NETCONF protocol 675 [RFC6241]. The data-model by itself does not create any security 676 implications. The security considerations for the NETCONF protocol 677 are applicable. The NETCONF protocol used for sending the data 678 supports authentication and encryption. 680 7. References 682 7.1. Normative References 684 [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate 685 Requirement Levels", BCP 14, RFC 2119, 686 DOI 10.17487/RFC2119, March 1997, 687 . 689 [RFC6241] Enns, R., Ed., Bjorklund, M., Ed., Schoenwaelder, J., Ed., 690 and A. Bierman, Ed., "Network Configuration Protocol 691 (NETCONF)", RFC 6241, DOI 10.17487/RFC6241, June 2011, 692 . 694 [RFC7950] Bjorklund, M., Ed., "The YANG 1.1 Data Modeling Language", 695 RFC 7950, DOI 10.17487/RFC7950, August 2016, 696 . 698 [RFC8342] Bjorklund, M., Schoenwaelder, J., Shafer, P., Watsen, K., 699 and R. Wilton, "Network Management Datastore Architecture 700 (NMDA)", RFC 8342, DOI 10.17487/RFC8342, March 2018, 701 . 703 7.2. Informative References 705 [RFC8340] Bjorklund, M. and L. Berger, Ed., "YANG Tree Diagrams", 706 BCP 215, RFC 8340, DOI 10.17487/RFC8340, March 2018, 707 . 709 [RFC8345] Clemm, A., Medved, J., Varga, R., Bahadur, N., 710 Ananthakrishnan, H., and X. Liu, "A YANG Data Model for 711 Network Topologies", RFC 8345, DOI 10.17487/RFC8345, March 712 2018, . 714 [RFC8346] Clemm, A., Medved, J., Varga, R., Liu, X., 715 Ananthakrishnan, H., and N. Bahadur, "A YANG Data Model 716 for Layer 3 Topologies", RFC 8346, DOI 10.17487/RFC8346, 717 March 2018, . 719 [I-D.ietf-teas-yang-te-topo] 720 Liu, X., Bryskin, I., Beeram, V., Saad, T., Shah, H., and 721 O. Dios, "YANG Data Model for Traffic Engineering (TE) 722 Topologies", draft-ietf-teas-yang-te-topo-18 (work in 723 progress), June 2018. 725 [I-D.ietf-spring-sr-yang] 726 Litkowski, S., Qu, Y., Sarkar, P., and J. Tantsura, "YANG 727 Data Model for Segment Routing", draft-ietf-spring-sr- 728 yang-08 (work in progress), December 2017. 730 Appendix A. Companion YANG Model for Non-NMDA Compliant Implementations 732 The YANG module ietf-sr-topology defined in this document is designed 733 to be used in conjunction with implementations that support the 734 Network Management Datastore Architecture (NMDA) defined in 735 [RFC8342]. In order to allow implementations to use the model even 736 in cases when NMDA is not supported, the following companion module, 737 ietf-sr-topology-state, is defined as state model, which mirrors the 738 module ietf-sr-topology defined earlier in this document. However, 739 all data nodes in the companion module are non-configurable, to 740 represent the applied configuration or the derived operational 741 states. 743 The companion module, ietf-sr-topology-state, is redundant and SHOULD 744 NOT be supported by implementations that support NMDA. 746 As the structure of the companion module mirrors that of the 747 coorespinding NMDA model, the YANG tree of the companion module is 748 not depicted separately. 750 A.1. SR Topology State Module 752 file "ietf-sr-topology-state@2018-06-22.yang" 753 module ietf-sr-topology-state { 754 yang-version 1.1; 755 namespace "urn:ietf:params:xml:ns:yang:ietf-sr-topology-state"; 756 prefix "srt-s"; 758 import ietf-sr-topology { 759 prefix "srt"; 760 } 761 import ietf-network-state { 762 prefix "nw-s"; 763 reference "RFC 8345: A YANG Data Model for Network Topologies"; 764 } 765 import ietf-network-topology-state { 766 prefix "nt-s"; 767 reference "RFC 8345: A YANG Data Model for Network Topologies"; 768 } 769 import ietf-l3-unicast-topology-state { 770 prefix "l3t-s"; 771 reference "RFC 8346: A YANG Data Model for Layer 3 Topologies"; 772 } 773 import ietf-segment-routing-common { 774 prefix "sr-cmn"; 775 reference 776 "I-D.ietf-spring-sr-yang: YANG Data Model for Segment Routing"; 778 } 780 organization 781 "IETF Traffic Engineering Architecture and Signaling (TEAS) 782 Working Group"; 784 contact 785 "WG Web: 786 WG List: 788 Editor: Xufeng Liu 789 791 Editor: Igor Bryskin 792 794 Editor: Vishnu Pavan Beeram 795 797 Editor: Tarek Saad 798 800 Editor: Himanshu Shah 801 803 Editor: Stephane Litkowski 804 "; 806 description 807 "YANG data model for representing operational state information 808 of Segment Routing Topologies, when NMDA is not supported. 810 Copyright (c) 2018 IETF Trust and the persons identified as 811 authors of the code. All rights reserved. 813 Redistribution and use in source and binary forms, with or 814 without modification, is permitted pursuant to, and subject to 815 the license terms contained in, the Simplified BSD License set 816 forth in Section 4.c of the IETF Trust's Legal Provisions 817 Relating to IETF Documents 818 (http://trustee.ietf.org/license-info). 820 This version of this YANG module is part of RFC XXXX; see the 821 RFC itself for full legal notices."; 823 revision 2018-06-22 { 824 description "Initial revision"; 825 reference 826 "RFC XXXX: YANG Data Model for SR and SR TE Topologies"; 827 } 829 augment "/nw-s:networks/nw-s:network/nw-s:network-types/" 830 + "l3t-s:l3-unicast-topology" { 831 description 832 "Defines the SR topology type."; 833 uses srt:sr-topology-type; 834 } 836 augment "/nw-s:networks/nw-s:network/" 837 + "l3t-s:l3-topology-attributes" { 838 when "../nw-s:network-types/l3t-s:l3-unicast-topology/srt-s:sr" { 839 description "Augment only for SR topology."; 840 } 841 description "Augment topology configuration"; 842 uses srt:sr-topology-attributes; 843 } 845 augment "/nw-s:networks/nw-s:network/nw-s:node/" 846 + "l3t-s:l3-node-attributes" { 847 when "../../nw-s:network-types/l3t-s:l3-unicast-topology/" 848 + "srt-s:sr" { 849 description "Augment only for SR topology."; 850 } 851 description "Augment node configuration."; 852 uses srt:sr-node-attributes; 853 } 855 augment "/nw-s:networks/nw-s:network/nw-s:node/" 856 + "l3t-s:l3-node-attributes/l3t-s:prefix" { 857 when "../../../nw-s:network-types/l3t-s:l3-unicast-topology/" 858 + "srt-s:sr" { 859 description "Augment only for SR topology."; 860 } 861 description "Augment node prefix."; 862 uses srt:sr-node-prefix-attributes; 863 } 865 augment "/nw-s:networks/nw-s:network/nw-s:node/" 866 + "nt-s:termination-point/" 867 + "l3t-s:l3-termination-point-attributes" { 868 when "../../../nw-s:network-types/l3t-s:l3-unicast-topology/" 869 + "srt-s:sr" { 870 description "Augment only for SR topology."; 871 } 872 description "Augment termination point configuration"; 873 uses srt:sr-tp-attributes; 875 } 877 grouping sr-topology-attributes { 878 description "SR topology scope attributes."; 879 container sr { 880 description 881 "Containing SR attributes."; 882 uses sr-cmn:srgb-cfg; 883 } // sr 884 } // sr-topology-attributes 885 } 886 888 Authors' Addresses 890 Xufeng Liu 891 Volta Networks 893 EMail: xufeng.liu.ietf@gmail.com 895 Igor Bryskin 896 Huawei Technologies 898 EMail: Igor.Bryskin@huawei.com 900 Vishnu Pavan Beeram 901 Juniper Networks 903 EMail: vbeeram@juniper.net 905 Tarek Saad 906 Cisco Systems Inc 908 EMail: tsaad@cisco.com 910 Himanshu Shah 911 Ciena 913 EMail: hshah@ciena.com 914 Stephane Litkowski 915 Orange Business Service 917 EMail: stephane.litkowski@orange.com