idnits 2.17.1 draft-liu-teas-yang-sr-te-topo-01.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 194 has weird spacing: '...r-bound uin...' == Line 195 has weird spacing: '...r-bound uin...' == Line 200 has weird spacing: '...r-bound uin...' == Line 201 has weird spacing: '...r-bound uin...' == Line 204 has weird spacing: '...t-plane ide...' == (1 more instance...) -- The document date (October 30, 2016) is 2734 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 477, but not defined == Missing Reference: 'RFC6020' is mentioned on line 486, but not defined == Unused Reference: 'RFC6021' is defined on line 513, but no explicit reference was found in the text == Unused Reference: 'I-D.ietf-teas-yang-te-topo' is defined on line 541, but no explicit reference was found in the text == Unused Reference: 'I-D.ietf-spring-sr-yang' is defined on line 546, but no explicit reference was found in the text ** Obsolete normative reference: RFC 6021 (Obsoleted by RFC 6991) == Outdated reference: A later version (-20) exists of draft-ietf-i2rs-yang-network-topo-06 == Outdated reference: A later version (-16) exists of draft-ietf-i2rs-yang-l3-topology-04 == Outdated reference: A later version (-22) exists of draft-ietf-teas-yang-te-topo-06 == Outdated reference: A later version (-30) exists of draft-ietf-spring-sr-yang-05 Summary: 1 error (**), 0 flaws (~~), 16 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 Kuatro Technologies 4 Intended status: Standards Track I. Bryskin 5 Expires: May 3, 2017 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 October 30, 2016 16 YANG Data Model for Layer 3 TE Topologies 17 draft-liu-teas-yang-sr-te-topo-01 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 http://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 May 3, 2017. 41 Copyright Notice 43 Copyright (c) 2016 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 (http://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 2. Modeling Considerations . . . . . . . . . . . . . . . . . . . 3 61 2.1. Segment Routing (SR) topology . . . . . . . . . . . . . . 3 62 2.2. Segment Routing (SR) TE topology . . . . . . . . . . . . 3 63 2.3. Relations to ietf-segment-routing . . . . . . . . . . . . 4 64 2.4. Open Items . . . . . . . . . . . . . . . . . . . . . . . 4 65 3. Model Structure . . . . . . . . . . . . . . . . . . . . . . . 4 66 4. YANG Module . . . . . . . . . . . . . . . . . . . . . . . . . 6 67 5. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 11 68 6. Security Considerations . . . . . . . . . . . . . . . . . . . 11 69 7. References . . . . . . . . . . . . . . . . . . . . . . . . . 11 70 7.1. Normative References . . . . . . . . . . . . . . . . . . 11 71 7.2. Informative References . . . . . . . . . . . . . . . . . 12 72 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 12 74 1. Introduction 76 This document defines a YANG [RFC7950] data model for describing the 77 presentations of Segment Routing (SR) topology and Segment Routing 78 (SR) traffic engineering (TE) topology. 80 1.1. Terminology 82 The keywords "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", 83 "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and 84 "OPTIONAL" in this document are to be interpreted as described in BCP 85 14, [RFC2119]. 87 The following terms are defined in [RFC7950] and are not redefined 88 here: 90 o augment 92 o data model 94 o data node 96 2. Modeling Considerations 98 2.1. Segment Routing (SR) topology 100 The Layer 3 network topology model is discussed in 101 [I-D.ietf-i2rs-yang-l3-topology]. The Segment Routing (SR) topology 102 model proposed in this document augments and uses the ietf-l3- 103 unicast-igp-topology module defined in 104 [I-D.ietf-i2rs-yang-l3-topology]. SR related attributes are covered 105 in the ietf-sr-topology model. 107 +------------------------------+ 108 | Layer 3 Network Topology | 109 | ietf-l3-unicast-topology | 110 +------------------------------+ 111 | 112 | 113 | 114 V 115 +------------------------+ 116 | SR Topology | 117 | ietf-sr-topology | 118 +------------------------+ 120 2.2. Segment Routing (SR) TE topology 122 When traffic engineering is enabled on an SR topology, there will be 123 associations between objects in SR topologies and objects in TE 124 topologies. An SR TE topology is both an SR topology and a layer 3 125 TE topology. Multiple inheritance is used to achieve such relations. 127 +------------------+ +---------------------+ 128 | SR Topology | | L3 TE Topology | 129 | ietf-sr-topology | | ietf-l3-te-topology | 130 +------------------+ +---------------------+ 131 \ / 132 \ / 133 \ / 134 v v 135 +------------------------+ 136 | SR TE Topology | 137 | | 138 +------------------------+ 140 Each type of topologies is indicated by "network-types" defined in 141 [I-D.ietf-i2rs-yang-network-topo]. For the three types of topologies 142 above, the data representations are: 144 L3 Topology: 146 /nw:networks/nw:network/nw:network-types/l3-unicast-topology 148 L3 TE Topology: 150 /nw:networks/nw:network/nw:network-types/l3-unicast-topology/l3-te 152 SR Topology: 154 /nw:networks/nw:network/nw:network-types/l3-unicast-topology/sr 156 SR TE Topology: (multiple inheritance) 158 /nw:networks/nw:network/nw:network-types/l3-unicast-topology/l3-te 159 /nw:networks/nw:network/nw:network-types/l3-unicast-topology/sr 161 2.3. Relations to ietf-segment-routing 163 [I-D.ietf-spring-sr-yang]defines ietf-segment-routing that is a model 164 intended to be used on network elements to configure or operate 165 segment routing; ietf-sr-topology defined in this document is 166 intended to be used on a controller for the network-wide operations 167 such as path computation. 169 SR topology model shares many modeling constructs defined in ietf- 170 segment-routing. The module ietf-sr-topology uses the types and 171 groupings defined in ietf-segment-routing. 173 2.4. Open Items 175 a. Protection on link: The feature of link protection will be 176 modeled in the next revision. 178 b. Link bundle: The feature of link bundle will be modeled in the 179 next revision. 181 3. Model Structure 183 The model tree structure of the Segment Routing (SR) topology module 184 is as shown below: 186 module: ietf-sr-topology 187 augment /nw:networks/nw:network/nw:network-types/ 188 l3t:l3-unicast-topology: 189 +--rw sr! 190 augment /nw:networks/nw:network/l3t:l3-topology-attributes: 191 +--rw sr 192 +--rw config 193 +--rw srgb* [lower-bound upper-bound] 194 +--rw lower-bound uint32 195 +--rw upper-bound uint32 196 augment /nw:networks/nw:network/nw:node/l3t:l3-node-attributes: 197 +--rw sr 198 +--rw config 199 | +--rw srgb* [lower-bound upper-bound] 200 | | +--rw lower-bound uint32 201 | | +--rw upper-bound uint32 202 | +--rw node-capabilities 203 | +--rw transport-planes* [transport-plane] 204 | | +--rw transport-plane identityref 205 | +--rw readable-label-stack-depth? uint8 206 +--ro state 207 +--ro information-source? enumeration 208 +--ro information-source-state 209 | +--ro credibility-preference? uint16 210 +--ro node-capabilities 211 +--ro transport-planes* [transport-plane] 212 | +--ro transport-plane identityref 213 +--ro readable-label-stack-depth? uint8 214 augment /nw:networks/nw:network/nw:node/l3t:l3-node-attributes/ 215 l3t:prefix: 216 +--rw sr! 217 +--rw value-type? enumeration 218 +--rw start-sid uint32 219 +--rw range? uint32 220 +--rw algorithm? identityref 221 +--rw last-hop-behavior? enumeration {sid-last-hop-behavior}? 222 +--rw is-local? boolean 223 augment /nw:networks/nw:network/nw:node/nt:termination-point/ 224 l3t:l3-termination-point-attributes: 225 augment /nw:networks/nw:network/nt:link/l3t:l3-link-attributes: 226 +--rw sr 227 +--rw config 228 | +--rw sid? uint32 229 | +--rw value-type? enumeration 230 | +--rw is-local? boolean 231 | +--ro is-part-of-set? boolean 232 | +--ro is-on-lan? boolean 233 +--ro state 234 +--ro information-source? enumeration 235 +--ro information-source-state 236 +--ro credibility-preference? uint16 238 4. YANG Module 240 file "ietf-sr-topology@2016-10-28.yang" 241 module ietf-sr-topology { 242 yang-version 1.1; 243 namespace "urn:ietf:params:xml:ns:yang:ietf-sr-topology"; 244 prefix "srt"; 246 import ietf-network { 247 prefix "nw"; 248 } 249 import ietf-network-topology { 250 prefix "nt"; 251 } 252 import ietf-l3-unicast-topology { 253 prefix "l3t"; 254 } 255 import ietf-segment-routing-common { 256 prefix "sr-cmn"; 257 } 259 organization "TBD"; 260 contact "TBD"; 261 description "L3 TE Topology model"; 263 revision 2016-10-28 { 264 description "Initial revision"; 265 reference "TBD"; 266 } 268 grouping sr-topology-type { 269 description 270 "Identifies the SR topology type."; 271 container sr { 272 presence "Indiates SR Topology"; 273 description 274 "Its presence identifies the SR topology type."; 275 } 276 } 278 augment "/nw:networks/nw:network/nw:network-types/" 279 + "l3t:l3-unicast-topology" { 280 description 281 "Defines the SR topology type."; 282 uses sr-topology-type; 283 } 284 augment "/nw:networks/nw:network/l3t:l3-topology-attributes" { 285 when "../nw:network-types/l3t:l3-unicast-topology/sr" { 286 description "Augment only for SR topology."; 287 } 288 description "Augment topology configuration"; 289 uses sr-topology-attributes; 290 } 292 augment "/nw:networks/nw:network/nw:node/l3t:l3-node-attributes" { 293 when "../../nw:network-types/l3t:l3-unicast-topology/sr" { 294 description "Augment only for SR topology."; 295 } 296 description "Augment node configuration."; 297 uses sr-node-attributes; 298 } 300 augment "/nw:networks/nw:network/nw:node/l3t:l3-node-attributes" 301 + "/l3t:prefix" { 302 when "../../../nw:network-types/l3t:l3-unicast-topology/sr" { 303 description "Augment only for SR topology."; 304 } 305 description "Augment node prefix."; 306 uses sr-node-prefix-attributes; 307 } 309 augment "/nw:networks/nw:network/nw:node/nt:termination-point/" 310 + "l3t:l3-termination-point-attributes" { 311 when "../../../nw:network-types/l3t:l3-unicast-topology/" 312 + "sr" { 313 description "Augment only for SR topology."; 314 } 315 description "Augment termination point configuration"; 316 uses sr-tp-attributes; 317 } 319 augment "/nw:networks/nw:network/nt:link/l3t:l3-link-attributes" { 320 when "../../nw:network-types/l3t:l3-unicast-topology/sr" { 321 description "Augment only for SR topology."; 322 } 323 description "Augment link configuration."; 324 uses sr-link-attributes; 325 } 327 grouping sr-topology-attributes { 328 description "SR topology scope attributes."; 329 container sr { 330 description 331 "Containing SR attributes."; 333 container config { 334 description 335 "Configuraiton attributes."; 336 uses sr-cmn:srgb-cfg; 337 } 338 } // sr 339 } // sr-topology-attributes 341 grouping information-source-attributes { 342 description 343 "The attributes identifying source that has provided the 344 related information, and the source credibility."; 345 leaf information-source { 346 type enumeration { 347 enum "unknown" { 348 description "The source is unknown."; 349 } 350 enum "locally-configured" { 351 description "Configured entity."; 352 } 353 enum "ospfv2" { 354 description "OSPFv2."; 355 } 356 enum "ospfv3" { 357 description "OSPFv3."; 358 } 359 enum "isis" { 360 description "ISIS."; 361 } 362 enum "system-processed" { 363 description "System processed entity."; 364 } 365 enum "other" { 366 description "Other source."; 367 } 368 } 369 description 370 "Indicates the source of the information."; 371 } 372 container information-source-state { 373 description 374 "The container contains state attributes related to 375 the information source."; 376 leaf credibility-preference { 377 type uint16; 378 description 379 "The preference value to calculate the traffic 380 engineering database credibility value used for 381 tie-break selection between different 382 information-source values. 383 Higher value is more preferable."; 384 } 385 } 386 } // information-source-attributes 388 grouping sr-node-attributes { 389 description "SR node scope attributes."; 390 container sr { 391 description 392 "Containing SR attributes."; 393 container config { 394 description 395 "Configuraiton attributes."; 396 uses sr-cmn:srgb-cfg; 397 uses sr-cmn:node-capabilities; 398 } // config 399 container state { 400 config false; 401 description 402 "Operational state data."; 403 uses information-source-attributes; 404 uses sr-cmn:node-capabilities; 405 } 406 } // sr 407 } // sr-node-attributes 409 grouping sr-node-prefix-attributes { 410 description "Containing SR attributes for a prefix."; 411 container sr { 412 presence "Presence indicates SR is enabled."; 413 description 414 "Containing SR attributes for a prefix."; 415 uses sr-cmn:prefix-sid-attributes; 416 uses sr-cmn:last-hop-behavior; 417 leaf is-local { 418 type boolean; 419 description 420 "'true' if the SID is local."; 421 } 422 } // sr 423 } // sr-node-prefix-attributes 425 grouping sr-tp-attributes { 426 description "SR termination point scope attributes"; 427 } // sr-tp-attributes 428 grouping sr-link-attributes { 429 description "SR link scope attributes"; 430 container sr { 431 description 432 "Containing SR attributes."; 433 container config { 434 description 435 "Configuraiton attributes."; 436 leaf sid { 437 type uint32; 438 description 439 "SID."; 440 } 441 uses sr-cmn:sid-value-type; 442 leaf is-local { 443 type boolean; 444 description 445 "'true' if the SID is local."; 446 } 447 leaf is-part-of-set { 448 type boolean; 449 config false; 450 description 451 "'true' if the SID is part of a set."; 452 } 453 leaf is-on-lan { 454 type boolean; 455 config false; 456 description 457 "'true' if on a lan."; 458 } 459 } 460 container state { 461 config false; 462 description 463 "Operational state data."; 464 uses information-source-attributes; 465 } 466 } // sr 467 } // sr-link-attributes 468 } 469 471 5. IANA Considerations 473 RFC Ed.: In this section, replace all occurrences of 'XXXX' with the 474 actual RFC number (and remove this note). 476 This document registers the following namespace URIs in the IETF XML 477 registry [RFC3688]: 479 -------------------------------------------------------------------- 480 URI: urn:ietf:params:xml:ns:yang:ietf-sr-topology 481 Registrant Contact: The IESG. 482 XML: N/A, the requested URI is an XML namespace. 483 -------------------------------------------------------------------- 485 This document registers the following YANG modules in the YANG Module 486 Names registry [RFC6020]: 488 -------------------------------------------------------------------- 489 name: ietf-sr-topology 490 namespace: urn:ietf:params:xml:ns:yang:ietf-sr-topology 491 prefix: srt 492 reference: RFC XXXX 493 -------------------------------------------------------------------- 495 6. Security Considerations 497 The configuration, state, action and notification data defined in 498 this document are designed to be accessed via the NETCONF protocol 499 [RFC6241]. The data-model by itself does not create any security 500 implications. The security considerations for the NETCONF protocol 501 are applicable. The NETCONF protocol used for sending the data 502 supports authentication and encryption. 504 7. References 506 7.1. Normative References 508 [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate 509 Requirement Levels", BCP 14, RFC 2119, 510 DOI 10.17487/RFC2119, March 1997, 511 . 513 [RFC6021] Schoenwaelder, J., Ed., "Common YANG Data Types", 514 RFC 6021, DOI 10.17487/RFC6021, October 2010, 515 . 517 [RFC6241] Enns, R., Ed., Bjorklund, M., Ed., Schoenwaelder, J., Ed., 518 and A. Bierman, Ed., "Network Configuration Protocol 519 (NETCONF)", RFC 6241, DOI 10.17487/RFC6241, June 2011, 520 . 522 [RFC7950] Bjorklund, M., Ed., "The YANG 1.1 Data Modeling Language", 523 RFC 7950, DOI 10.17487/RFC7950, August 2016, 524 . 526 7.2. Informative References 528 [I-D.ietf-i2rs-yang-network-topo] 529 Clemm, A., Medved, J., Varga, R., Tkacik, T., Bahadur, N., 530 Ananthakrishnan, H., and X. Liu, "A Data Model for Network 531 Topologies", draft-ietf-i2rs-yang-network-topo-06 (work in 532 progress), September 2016. 534 [I-D.ietf-i2rs-yang-l3-topology] 535 Clemm, A., Medved, J., Varga, R., Tkacik, T., Liu, X., 536 Bryskin, I., Guo, A., Ananthakrishnan, H., Bahadur, N., 537 and V. Beeram, "A YANG Data Model for Layer 3 Topologies", 538 draft-ietf-i2rs-yang-l3-topology-04 (work in progress), 539 September 2016. 541 [I-D.ietf-teas-yang-te-topo] 542 Liu, X., Bryskin, I., Beeram, V., Saad, T., Shah, H., and 543 O. Dios, "YANG Data Model for TE Topologies", draft-ietf- 544 teas-yang-te-topo-06 (work in progress), October 2016. 546 [I-D.ietf-spring-sr-yang] 547 Litkowski, S., Qu, Y., Sarkar, P., and J. Tantsura, "YANG 548 Data Model for Segment Routing", draft-ietf-spring-sr- 549 yang-05 (work in progress), October 2016. 551 Authors' Addresses 553 Xufeng Liu 554 Kuatro Technologies 555 8281 Greensboro Drive, Suite 200 556 McLean VA 22102 557 USA 559 EMail: xliu@kuatrotech.com 560 Igor Bryskin 561 Huawei Technologies 563 EMail: Igor.Bryskin@huawei.com 565 Vishnu Pavan Beeram 566 Juniper Networks 568 EMail: vbeeram@juniper.net 570 Tarek Saad 571 Cisco Systems Inc 573 EMail: tsaad@cisco.com 575 Himanshu Shah 576 Ciena 578 EMail: hshah@ciena.com 580 Stephane Litkowski 581 Orange Business Service 583 EMail: stephane.litkowski@orange.com