idnits 2.17.1 draft-ietf-i2rs-yang-l3-topology-05.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 250 has weird spacing: '... prefix ine...' == The document seems to contain a disclaimer for pre-RFC5378 work, but was first submitted on or after 10 November 2008. The disclaimer is usually necessary only for documents that revise or obsolete older RFCs, and that take significant amounts of text from those RFCs. If you can contact all authors of the source material and they are willing to grant the BCP78 rights to the IETF Trust, you can and should remove the disclaimer. Otherwise, the disclaimer is needed and you can ignore this comment. (See the Legal Provisions document at https://trustee.ietf.org/license-info for more information.) -- The document date (November 16, 2016) is 2716 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) == Outdated reference: A later version (-20) exists of draft-ietf-i2rs-yang-network-topo-08 ** Obsolete normative reference: RFC 6536 (Obsoleted by RFC 8341) == Outdated reference: A later version (-10) exists of draft-acee-rtgwg-yang-rib-extend-02 == Outdated reference: A later version (-23) exists of draft-ietf-i2rs-ephemeral-state-22 -- Obsolete informational reference (is this intentional?): RFC 8022 (Obsoleted by RFC 8349) Summary: 1 error (**), 0 flaws (~~), 6 warnings (==), 2 comments (--). Run idnits with the --verbose option for more detailed information about the items above. -------------------------------------------------------------------------------- 2 Network Working Group A. Clemm 3 Internet-Draft Sympotech 4 Intended status: Standards Track J. Medved 5 Expires: May 20, 2017 Cisco 6 R. Varga 7 Pantheon Technologies SRO 8 X. Liu 9 Ericsson 10 I. Bryskin 11 Huawei 12 A. Guo 13 Adva Optical 14 H. Ananthakrishnan 15 Packet Design 16 N. Bahadur 17 Bracket Computing 18 V. Beeram 19 Juniper Networks 20 November 16, 2016 22 A YANG Data Model for Layer 3 Topologies 23 draft-ietf-i2rs-yang-l3-topology-05.txt 25 Abstract 27 This document defines a YANG data model for layer 3 network 28 topologies. 30 Status of This Memo 32 This Internet-Draft is submitted in full conformance with the 33 provisions of BCP 78 and BCP 79. 35 Internet-Drafts are working documents of the Internet Engineering 36 Task Force (IETF). Note that other groups may also distribute 37 working documents as Internet-Drafts. The list of current Internet- 38 Drafts is at http://datatracker.ietf.org/drafts/current/. 40 Internet-Drafts are draft documents valid for a maximum of six months 41 and may be updated, replaced, or obsoleted by other documents at any 42 time. It is inappropriate to use Internet-Drafts as reference 43 material or to cite them other than as "work in progress." 45 This Internet-Draft will expire on May 20, 2017. 47 Copyright Notice 49 Copyright (c) 2016 IETF Trust and the persons identified as the 50 document authors. All rights reserved. 52 This document is subject to BCP 78 and the IETF Trust's Legal 53 Provisions Relating to IETF Documents 54 (http://trustee.ietf.org/license-info) in effect on the date of 55 publication of this document. Please review these documents 56 carefully, as they describe your rights and restrictions with respect 57 to this document. Code Components extracted from this document must 58 include Simplified BSD License text as described in Section 4.e of 59 the Trust Legal Provisions and are provided without warranty as 60 described in the Simplified BSD License. 62 This document may contain material from IETF Documents or IETF 63 Contributions published or made publicly available before November 64 10, 2008. The person(s) controlling the copyright in some of this 65 material may not have granted the IETF Trust the right to allow 66 modifications of such material outside the IETF Standards Process. 67 Without obtaining an adequate license from the person(s) controlling 68 the copyright in such materials, this document may not be modified 69 outside the IETF Standards Process, and derivative works of it may 70 not be created outside the IETF Standards Process, except to format 71 it for publication as an RFC or to translate it into languages other 72 than English. 74 Table of Contents 76 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 3 77 2. Definitions and Acronyms . . . . . . . . . . . . . . . . . . 4 78 3. Model Structure . . . . . . . . . . . . . . . . . . . . . . . 5 79 4. Layer 3 Unicast Topology Model Overview . . . . . . . . . . . 5 80 5. Layer 3 Unicast Topology YANG Module . . . . . . . . . . . . 7 81 6. Extending the Model . . . . . . . . . . . . . . . . . . . . . 14 82 6.1. Example 1: OSPF Topology . . . . . . . . . . . . . . . . 14 83 6.1.1. Model Overview . . . . . . . . . . . . . . . . . . . 14 84 6.1.2. OSPF Topology YANG Module . . . . . . . . . . . . . . 16 85 6.2. Example 2: IS-IS Topology . . . . . . . . . . . . . . . . 21 86 6.2.1. Model Overview . . . . . . . . . . . . . . . . . . . 21 87 6.2.2. IS-IS Topology YANG Module . . . . . . . . . . . . . 23 88 7. Interactions with Other YANG Modules . . . . . . . . . . . . 28 89 8. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 28 90 9. Security Considerations . . . . . . . . . . . . . . . . . . . 29 91 10. Contributors . . . . . . . . . . . . . . . . . . . . . . . . 29 92 11. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 30 93 12. References . . . . . . . . . . . . . . . . . . . . . . . . . 30 94 12.1. Normative References . . . . . . . . . . . . . . . . . . 30 95 12.2. Informative References . . . . . . . . . . . . . . . . . 31 96 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 31 98 1. Introduction 100 This document introduces a YANG [RFC7950] [RFC6991] data model for 101 Layer 3 network topologies, specifically Layer 3 Unicast. The model 102 allows an application to have a holistic view of the topology of a 103 Layer 3 network, all contained in a single conceptual YANG datastore. 105 The data model builds on top of, and augments, the data model for 106 network topologies defined in 107 [I-D.draft-ietf-i2rs-yang-network-topo]. An earlier revision of that 108 Internet Draft contained not just the general model for network 109 topologies, but also the model for layer 3 network topologies that is 110 being specified here. However, we decided to "split" the earlier 111 draft to separate the truly general aspects of a topology data model, 112 which apply to any type of topology, from the application of this 113 model to a particular domain, here: a Layer 3 network. 115 The document also shows how the model can be further refined to cover 116 different Layer 3 Unicast topology types. For this purpose, example 117 models are introduced that cover IS-IS [RFC1195] and OSPF [RFC2328]. 118 Those examples are intended purely for illustrative purposes; we 119 expect that full-blown IS-IS and OSPF models will be more 120 comprehensive and refined than the examples shown here. 122 There are multiple applications for a topology data model. A number 123 of use cases have been defined in section 6 of 124 [I-D.draft-ietf-i2rs-usecase-reqs-summary]. For example, nodes 125 within the network can use the data model to capture their 126 understanding of the overall network topology and expose it to a 127 network controller. A network controller can then use the 128 instantiated topology data to compare and reconcile its own view of 129 the network topology with that of the network elements that it 130 controls. Alternatively, nodes within the network could propagate 131 this understanding to compare and reconcile this understanding either 132 amongst themselves or with help of a controller. Beyond the network 133 element itself, a network controller might even use the data model to 134 represent its view of the topology that it controls and expose it to 135 applications north of itself. 137 There are several reasons to choose YANG to define the data model. 138 Data defined using YANG can be exposed by a server to client 139 applications and controllers via Netconf [RFC6241]. The fact that 140 YANG can potentially be used with different protocols and interfaces 141 provides for a degree of "future-proofing" of model implementations. 143 Also, YANG can serve as the basis for model-driven toolchains, such 144 as used in the Open Daylight project [OpenDaylight]. 146 The data model for Layer 3 Unicast topologies defined in this 147 document is specified in a YANG module "ietf-l3-unicast-topology". 148 To do so, it augments general network topology model defined in 149 [I-D.draft-ietf-i2rs-yang-network-topo] with information specific to 150 Layer 3 Unicast. This way, the general topology model is extended to 151 be able to meet the needs of Layer 3 Unicast topologies. 153 Information that is kept in the Traffic Engineering Database (TED) is 154 specified in a separate model and outside the scope of this 155 specification. 157 2. Definitions and Acronyms 159 Datastore: A conceptual store of instantiated management information, 160 with individual data items represented by data nodes which are 161 arranged in hierarchical manner. 163 Data subtree: An instantiated data node and the data nodes that are 164 hierarchically contained within it. 166 HTTP: Hyper-Text Transfer Protocol 168 IGP: Interior Gateway Protocol 170 IS-IS: Intermediate System to Intermediate System protocol 172 LSP: Label Switched Path 174 NETCONF: Network Configuration Protocol 176 OSPF: Open Shortest Path First, a link state routing protocol 178 URI: Uniform Resource Identifier 180 ReST: Representational State Transfer, a style of stateless interface 181 and protocol that is generally carried over HTTP 183 SRLG: Shared Risk Link Group 185 TED: Traffic Engineering Database 187 YANG: A data definition language for NETCONF 189 3. Model Structure 191 The Layer 3 Unicast topology model is defined by YANG module "l3- 192 unicast-topology". The relationship of this module with other YANG 193 modules is roughly depicted in the figure below. 195 +-----------------------------+ 196 | +-----------------------+ | 197 | | ietf-network | | 198 | +----------^------------+ | 199 | | | 200 | +-----------------------+ | 201 | | ietf-network-topology | | 202 | +----------+------------+ | 203 +-------------^---------------+ 204 | 205 | 206 +-----------^-------------+ 207 | L3-UNICAST-TOPOLOGY | 208 +----+---------------+----+ 209 ^ ^ 210 | | 211 | | 212 +--------^-----+ +-----^---------+ 213 | ospf-topology| | isis-topology | 214 +--------------+ +---------------+ 216 Figure 1: Overall model structure 218 YANG modules "ietf-network" and "ietf-network-topology" collectively 219 define the basic network topology model. YANG module "ietf-l3- 220 unicast-topology" augments those models with additional definitions 221 needed to represent Layer 3 Unicast topologies. This module in turn 222 can be augmented by YANG modules with additional definitions for 223 specific types of Layer 3 Unicast topologies, such as OSPF and for 224 IS-IS topologies. 226 4. Layer 3 Unicast Topology Model Overview 228 The Layer 3 Unicast topology model is defined by YANG module "ietf- 229 l3-unicast-topology" and depicted in the following diagram. Brackets 230 enclose list keys, "rw" means configuration, "ro" operational state 231 data, "?" designates optional nodes, "*" designates nodes that can 232 have multiple instances. Parantheses enclose choice and case nodes. 233 The prefix "nd:" refers to the YANG module for networks; the prefix 234 "lnk:" refers to the YANG module for network topology. In the 235 interest of brevity, notifications are not depicted. 237 module: ietf-l3-unicast-topology 238 augment /nd:networks/nd:network/nd:network-types: 239 +--rw l3-unicast-topology! 240 augment /nd:networks/nd:network: 241 +--rw l3-topology-attributes 242 +--rw name? string 243 +--rw flag* l3-flag-type 244 augment /nd:networks/nd:network/nd:node: 245 +--rw l3-node-attributes 246 +--rw name? inet:domain-name 247 +--rw flag* node-flag-type 248 +--rw router-id* inet:ip-address 249 +--rw prefix* [prefix] 250 +--rw prefix inet:ip-prefix 251 +--rw metric? uint32 252 +--rw flag* prefix-flag-type 253 augment /nd:networks/nd:network/lnk:link: 254 +--rw l3-link-attributes 255 +--rw name? string 256 +--rw flag* link-flag-type 257 +--rw metric? uint32 258 augment /nd:networks/nd:network/nd:node/lnk:termination-point: 259 +--rw l3-termination-point-attributes 260 +--rw (termination-point-type)? 261 +--:(ip) 262 | +--rw ip-address* inet:ip-address 263 +--:(unnumbered) 264 +--rw unnumbered-id? uint32 266 The module augments the original ietf-network and ietf-network- 267 topology modules as follows: 269 o A new network topology type is introduced, l3-unicast-topology. 270 The corresponding container augments the network-types of the 271 ietf-network module. 273 o Additional topology attributes are introduced, defined in a 274 grouping, which augments the "network" list of the network module. 275 The attributes include a name for the topology, as well as a set 276 of flags (represented through a leaf-list). Each type of flag is 277 represented by a separate identity. This allows to introduce 278 additional flags in augmenting modules using additional identities 279 without needing to revise this module. 281 o Additional data objects for nodes are introduced by augmenting the 282 "node" list of the network module. New objects include again a 283 set of flags, as well as a list of prefixes. Each prefix in turn 284 includes an ip prefix, a metric, and a prefix-specific set of 285 flags. 287 o Links (in the ietf-network-topology module) are augmented with a 288 set of parameters as well, allowing to associate a link with a 289 link name, another set of flags, and a link metric. 291 o Termination points (in the ietf-network-topology module as well) 292 are augmented with a choice of IP address or identifier. 294 In addition, the module defines a set of notifications to alert 295 clients of any events concerning links, nodes, prefixes, and 296 termination points. Each notification includes an indication of the 297 type of event, the topology from which it originated, and the 298 affected node, or link, or prefix, or termination point. In 299 addition, as a convenience to applications, additional data of the 300 affected node, or link, or termination point (respectively) is 301 included. While this makes notifications larger in volume than they 302 would need to be, it avoids the need for subsequent retrieval of 303 context information, which also might have changed in the meantime. 305 5. Layer 3 Unicast Topology YANG Module 307 file "ietf-l3-unicast-topology@2016-11-16.yang" 308 module ietf-l3-unicast-topology { 309 yang-version 1.1; 310 namespace 311 "urn:ietf:params:xml:ns:yang:ietf-l3-unicast-topology"; 312 prefix "l3t"; 313 import ietf-network { 314 prefix "nd"; 315 } 316 import ietf-network-topology { 317 prefix "lnk"; 318 } 319 import ietf-inet-types { 320 prefix "inet"; 321 } 322 organization 323 "IETF I2RS (Interface to the Routing System) Working Group"; 324 contact 325 "WG Web: 326 WG List: 327 WG Chair: Susan Hares 328 329 WG Chair: Russ White 330 331 Editor: Alexander Clemm 332 333 Editor: Jan Medved 334 335 Editor: Robert Varga 336 337 Editor: Xufeng Liu 338 339 Editor: Igor Bryskin 340 341 Editor: Aihua Guo 342 343 Editor: Nitin Bahadur 344 345 Editor: Hariharan Ananthakrishnan 346 347 Editor: Vishnu Pavan Beeram 348 "; 349 description 350 "This module defines a model for Layer 3 Unicast 351 topologies. 352 Copyright (c) 2016 IETF Trust and the persons identified as 353 authors of the code. All rights reserved. 354 Redistribution and use in source and binary forms, with or 355 without modification, is permitted pursuant to, and subject 356 to the license terms contained in, the Simplified BSD License 357 set forth in Section 4.c of the IETF Trust's Legal Provisions 358 Relating to IETF Documents 359 (http://trustee.ietf.org/license-info). 360 This version of this YANG module is part of 361 draft-ietf-i2rs-yang-l3-topology-05; 362 see the RFC itself for full legal notices. 363 NOTE TO RFC EDITOR: Please replace above reference to 364 draft-ietf-i2rs-yang-l3-topology-05 with RFC 365 number when published (i.e. RFC xxxx)."; 366 revision "2016-11-16" { 367 description 368 "Initial revision. 369 NOTE TO RFC EDITOR: Please replace the following reference 370 to draft-ietf-i2rs-yang-l3-topology-05 with 371 RFC number when published (i.e. RFC xxxx)."; 372 reference 373 "draft-ietf-i2rs-yang-l3-topology-05"; 374 } 376 identity flag-identity { 377 description "Base type for flags"; 378 } 379 typedef l3-event-type { 380 type enumeration { 381 enum "add" { 382 description 383 "An Layer 3 node or link or prefix or termination-point has 384 been added"; 385 } 386 enum "remove" { 387 description 388 "An Layer 3 node or link or prefix or termination-point has 389 been removed"; 390 } 391 enum "update" { 392 description 393 "An Layer 3 node or link or prefix or termination-point has 394 been updated"; 395 } 396 } 397 description "Layer 3 Event type for notifications"; 398 } 400 typedef prefix-flag-type { 401 type identityref { 402 base "flag-identity"; 403 } 404 description "Prefix flag attributes"; 405 } 407 typedef node-flag-type { 408 type identityref { 409 base "flag-identity"; 410 } 411 description "Node flag attributes"; 412 } 414 typedef link-flag-type { 415 type identityref { 416 base "flag-identity"; 417 } 418 description "Prefix flag attributes"; 419 } 421 typedef l3-flag-type { 422 type identityref { 423 base "flag-identity"; 424 } 425 description "L3 flag attributes"; 426 } 427 grouping l3-prefix-attributes { 428 description 429 "L3 prefix attributes"; 430 leaf prefix { 431 type inet:ip-prefix; 432 description 433 "IP prefix value"; 434 } 435 leaf metric { 436 type uint32; 437 description 438 "Prefix metric"; 439 } 440 leaf-list flag { 441 type prefix-flag-type; 442 description 443 "Prefix flags"; 444 } 445 } 446 grouping l3-unicast-topology-type { 447 description "Identify the topology type to be L3 unicast."; 448 container l3-unicast-topology { 449 presence "indicates L3 Unicast Topology"; 450 description 451 "The presence of the container node indicates L3 Unicast 452 Topology"; 453 } 454 } 455 grouping l3-topology-attributes { 456 description "Topology scope attributes"; 457 container l3-topology-attributes { 458 description "Containing topology attributes"; 459 leaf name { 460 type string; 461 description 462 "Name of the topology"; 463 } 464 leaf-list flag { 465 type l3-flag-type; 466 description 467 "Topology flags"; 468 } 469 } 470 } 471 grouping l3-node-attributes { 472 description "L3 node scope attributes"; 473 container l3-node-attributes { 474 description 475 "Containing node attributes"; 476 leaf name { 477 type inet:domain-name; 478 description 479 "Node name"; 480 } 481 leaf-list flag { 482 type node-flag-type; 483 description 484 "Node flags"; 485 } 486 leaf-list router-id { 487 type inet:ip-address; 488 description 489 "Router-id for the node"; 490 } 491 list prefix { 492 key "prefix"; 493 description 494 "A list of prefixes along with their attributes"; 495 uses l3-prefix-attributes; 496 } 497 } 498 } 499 grouping l3-link-attributes { 500 description 501 "L3 link scope attributes"; 502 container l3-link-attributes { 503 description 504 "Containing link attributes"; 505 leaf name { 506 type string; 507 description 508 "Link Name"; 509 } 510 leaf-list flag { 511 type link-flag-type; 512 description 513 "Link flags"; 514 } 515 leaf metric { 516 type uint32; 517 description 518 "Link Metric"; 519 } 520 } 521 } 522 grouping l3-termination-point-attributes { 523 description "L3 termination point scope attributes"; 524 container l3-termination-point-attributes { 525 description 526 "Containing termination point attributes"; 527 choice termination-point-type { 528 description 529 "Indicates the termination point type"; 530 case ip { 531 leaf-list ip-address { 532 type inet:ip-address; 533 description 534 "IPv4 or IPv6 address"; 535 } 536 } 537 case unnumbered { 538 leaf unnumbered-id { 539 type uint32; 540 description 541 "Unnumbered interface identifier"; 542 } 543 } 544 } 545 } 546 } 547 augment "/nd:networks/nd:network/nd:network-types" { 548 description 549 "Introduce new network type for L3 unicast topology"; 550 uses l3-unicast-topology-type; 551 } 552 augment "/nd:networks/nd:network" { 553 when "nd:network-types/l3-unicast-topology" { 554 description 555 "Augmentation parameters apply only for networks with 556 L3 unicast topology"; 557 } 558 description 559 "L3 unicast for the network as a whole"; 560 uses l3-topology-attributes; 561 } 562 augment "/nd:networks/nd:network/nd:node" { 563 when "../nd:network-types/l3-unicast-topology" { 564 description 565 "Augmentation parameters apply only for networks with 566 L3 unicast topology"; 567 } 568 description 569 "L3 unicast node level attributes "; 570 uses l3-node-attributes; 572 } 573 augment "/nd:networks/nd:network/lnk:link" { 574 when "../nd:network-types/l3-unicast-topology" { 575 description 576 "Augmentation parameters apply only for networks with 577 L3 unicast topology"; 578 } 579 description 580 "Augment topology link attributes"; 581 uses l3-link-attributes; 582 } 583 augment "/nd:networks/nd:network/nd:node/" 584 +"lnk:termination-point" { 585 when "../../nd:network-types/l3-unicast-topology" { 586 description 587 "Augmentation parameters apply only for networks with 588 L3 unicast topology"; 589 } 590 description "Augment topology termination point configuration"; 591 uses l3-termination-point-attributes; 592 } 593 notification l3-node-event { 594 description 595 "Notification event for L3 node"; 596 leaf l3-event-type { 597 type l3-event-type; 598 description 599 "Event type"; 600 } 601 uses nd:node-ref; 602 uses l3-unicast-topology-type; 603 uses l3-node-attributes; 604 } 605 notification l3-link-event { 606 description 607 "Notification event for L3 link"; 608 leaf l3-event-type { 609 type l3-event-type; 610 description 611 "Event type"; 612 } 613 uses lnk:link-ref; 614 uses l3-unicast-topology-type; 615 uses l3-link-attributes; 616 } 617 notification l3-prefix-event { 618 description 619 "Notification event for L3 prefix"; 621 leaf l3-event-type { 622 type l3-event-type; 623 description 624 "Event type"; 625 } 626 uses nd:node-ref; 627 uses l3-unicast-topology-type; 628 container prefix { 629 description 630 "Containing L3 prefix attributes"; 631 uses l3-prefix-attributes; 632 } 633 } 634 notification termination-point-event { 635 description 636 "Notification event for L3 termination point"; 637 leaf l3-event-type { 638 type l3-event-type; 639 description 640 "Event type"; 641 } 642 uses lnk:tp-ref; 643 uses l3-unicast-topology-type; 644 uses l3-termination-point-attributes; 645 } 646 } 648 650 6. Extending the Model 652 The model can be extended for specific Layer 3 Unicast types. 653 Examples include OSPF and IS-IS topologies. In the following, two 654 additional YANG modules are introduced that define simple topology 655 models for OSPF and IS-IS, respectively. These modules intended to 656 serve as examples that illustrate how the general topology model can 657 be refined across multiple levels; they do not constitute full- 658 fledged OSPF and IS-IS topology models which may be more 659 comprehensive and refined than the models that are described here. 661 6.1. Example 1: OSPF Topology 663 6.1.1. Model Overview 665 The following model shows how the Layer 3 Unicast topology model can 666 be extended to cover OSFP topologies. For this purpose, a set of 667 augmentations are introduced in a separate YANG module, "ietf-ospf- 668 topology", whose structure is depicted in the following diagram. 670 Like before, brackets enclose list keys, "rw" means configuration, 671 "ro" operational state data, "?" designates optional nodes, "*" 672 designates nodes that can have multiple instances. Parantheses 673 enclose choice and case nodes. A "+" at the end of a line indicates 674 a line break. 676 module: ietf-ospf-topology 677 augment /nd:networks/nd:network/nd:network-types/+ 678 l3t:l3-unicast-topology: 679 +--rw ospf! 680 augment /nd:networks/nd:network/l3t:l3-topology-attributes: 681 +--rw ospf-topology-attributes 682 +--rw area-id? area-id-type 683 augment /nd:networks/nd:network/nd:node/l3t:l3-node-attributes: 684 +--rw ospf-node-attributes 685 +--rw (router-type)? 686 | +--:(abr) 687 | | +--rw abr? empty 688 | +--:(asbr) 689 | | +--rw asbr? empty 690 | +--:(internal) 691 | | +--rw internal? empty 692 | +--:(pseudonode) 693 | +--rw pseudonode? empty 694 +--rw dr-interface-id? uint32 695 +--rw multi-topology-id* uint8 696 augment /nd:networks/nd:network/lnk:link/l3t:l3-link-attributes: 697 +--rw ospf-link-attributes 698 +--rw multi-topology-id? uint8 699 augment /l3t:l3-node-event: 700 +---- ospf! 701 +---- ospf-node-attributes 702 +---- (router-type)? 703 | +--:(abr) 704 | | +---- abr? empty 705 | +--:(asbr) 706 | | +---- asbr? empty 707 | +--:(internal) 708 | | +---- internal? empty 709 | +--:(pseudonode) 710 | +---- pseudonode? empty 711 +---- dr-interface-id? uint32 712 +---- multi-topology-id* uint8 713 augment /l3t:l3-link-event: 714 +---- ospf! 715 +---- ospf-link-attributes 716 +---- multi-topology-id? uint8 718 The module augments "ietf-l3-unicast-topology" as follows: 720 o A new topology type for an OSPF topology is introduced. 722 o Additional topology attributes are defined in a new grouping which 723 augments l3-topology-attributes of the ietf-l3-unicast-topology 724 module. The attributes include an OSPF area-id identifying the 725 OSPF area. 727 o Additional data objects for nodes are introduced by augmenting the 728 l3-node-attributes of the l3-unicast-topology module. New objects 729 include router-type, dr-interface-id for pseudonodes, list of 730 multi-topology-ids, ospf node capabilities, and traffic 731 engineering attributes. 733 o Links are augmented with a multi-topology-id and traffic 734 engineering link attributes. 736 o Prefixes are augmented with OSPF specific forwarding address. 738 In addition, the module extends notifications for events concerning 739 Layer 3 nodes, links, termination points, and prefixes with OSPF 740 attributes. 742 It should be noted that the model defined here represents topology 743 and is intended as an example. It does not define how to configure 744 OSPF routers or interfaces. 746 6.1.2. OSPF Topology YANG Module 748 file "ietf-ospf-topology@2016-11-16.yang" 749 module ietf-ospf-topology { 750 yang-version 1.1; 751 namespace "urn:ietf:params:xml:ns:yang:ietf-ospf-topology"; 752 prefix "ospft"; 753 import ietf-yang-types { 754 prefix "yang"; 755 } 756 import ietf-network { 757 prefix "nd"; 758 } 759 import ietf-network-topology { 760 prefix "lnk"; 761 } 762 import ietf-l3-unicast-topology { 763 prefix "l3t"; 764 } 765 organization 766 "IETF I2RS (Interface to the Routing System) Working Group"; 767 contact 768 "WG Web: 769 WG List: 770 WG Chair: Susan Hares 771 772 WG Chair: Russ White 773 774 Editor: Alexander Clemm 775 776 Editor: Jan Medved 777 778 Editor: Robert Varga 779 780 Editor: Xufeng Liu 781 782 Editor: Igor Bryskin 783 784 Editor: Aihua Guo 785 786 Editor: Nitin Bahadur 787 788 Editor: Hariharan Ananthakrishnan 789 790 Editor: Vishnu Pavan Beeram 791 "; 792 description 793 "This module defines a model for OSPF network topologies. 794 Copyright (c) 2016 IETF Trust and the persons identified as 795 authors of the code. All rights reserved. 796 Redistribution and use in source and binary forms, with or 797 without modification, is permitted pursuant to, and subject 798 to the license terms contained in, the Simplified BSD License 799 set forth in Section 4.c of the IETF Trust's Legal Provisions 800 Relating to IETF Documents 801 (http://trustee.ietf.org/license-info). 802 This version of this YANG module is part of 803 draft-ietf-i2rs-yang-l3-topology-05; 804 see the RFC itself for full legal notices. 805 NOTE TO RFC EDITOR: Please replace above reference to 806 draft-ietf-i2rs-yang-l3-topology-05 with RFC 807 number when published (i.e. RFC xxxx)."; 808 revision "2016-11-16" { 809 description 810 "Initial revision. 811 NOTE TO RFC EDITOR: Please replace the following reference 812 to draft-ietf-i2rs-yang-l3-topology-05 with 813 RFC number when published (i.e. RFC xxxx)."; 815 reference 816 "draft-ietf-i2rs-yang-l3-topology-05"; 817 } 818 typedef area-id-type { 819 type yang:dotted-quad; 820 description 821 "Area ID type."; 822 } 823 grouping ospf-topology-type { 824 description 825 "Identifies the OSPF topology type."; 826 container ospf { 827 presence "indiates OSPF Topology"; 828 description 829 "Its presence identifies the OSPF topology type."; 830 } 831 } 832 augment "/nd:networks/nd:network/nd:network-types/" 833 + "l3t:l3-unicast-topology" { 834 description 835 "Defines the OSPF topology type."; 836 uses ospf-topology-type; 837 } 838 augment "/nd:networks/nd:network/l3t:l3-topology-attributes" { 839 when "../nd:network-types/l3t:l3-unicast-topology/ospf" { 840 description 841 "Augment only for OSPF topology"; 842 } 843 description 844 "Augment topology configuration"; 845 container ospf-topology-attributes { 846 description 847 "Containing topology attributes"; 848 leaf area-id { 849 type area-id-type; 850 description 851 "OSPF area ID"; 852 } 853 } 854 } 855 augment "/nd:networks/nd:network/nd:node/l3t:l3-node-attributes" { 856 when "../../nd:network-types/l3t:l3-unicast-topology/ospf" { 857 description 858 "Augment only for OSPF topology"; 859 } 860 description 861 "Augment node configuration"; 862 uses ospf-node-attributes; 864 } 865 augment "/nd:networks/nd:network/lnk:link/l3t:l3-link-attributes" { 866 when "../../nd:network-types/l3t:l3-unicast-topology/ospf" { 867 description 868 "Augment only for OSPF topology"; 869 } 870 description 871 "Augment link configuration"; 872 uses ospf-link-attributes; 873 } 874 grouping ospf-node-attributes { 875 description 876 "OSPF node scope attributes"; 877 container ospf-node-attributes { 878 description 879 "Containing node attributes"; 880 choice router-type { 881 description 882 "Indicates router type"; 883 case abr { 884 leaf abr { 885 type empty; 886 description 887 "The node is ABR"; 888 } 889 } 890 case asbr { 891 leaf asbr { 892 type empty; 893 description 894 "The node is ASBR"; 895 } 896 } 897 case internal { 898 leaf internal { 899 type empty; 900 description 901 "The node is internal"; 902 } 903 } 904 case pseudonode { 905 leaf pseudonode { 906 type empty; 907 description 908 "The node is pseudonode"; 909 } 910 } 911 } 912 leaf dr-interface-id { 913 when "../pseudonode" { 914 description 915 "Valid only for pseudonode"; 916 } 917 type uint32; 918 default "0"; 919 description 920 "For pseudonodes, DR interface-id"; 921 } 922 leaf-list multi-topology-id { 923 type uint8 { 924 range "0..127"; 925 } 926 max-elements "128"; 927 description 928 "List of Multi-Topology Identifier up-to 128 (0-127). 929 See RFC 4915"; 930 } 931 } 932 } 933 grouping ospf-link-attributes { 934 description 935 "OSPF link scope attributes"; 936 container ospf-link-attributes { 937 description 938 "Containing OSPF link attributes"; 939 leaf multi-topology-id { 940 type uint8 { 941 range "0..127"; 942 } 943 description "Multi topology ID"; 944 } 945 } 946 } // ospf-link-attributes 947 augment "/l3t:l3-node-event" { 948 description 949 "OSPF node event"; 950 uses ospf-topology-type; 951 uses ospft:ospf-node-attributes; 952 } 953 augment "/l3t:l3-link-event" { 954 description 955 "OSPF link event"; 956 uses ospf-topology-type; 957 uses ospft:ospf-link-attributes; 958 } 959 } 960 962 6.2. Example 2: IS-IS Topology 964 6.2.1. Model Overview 966 IS-IS topologies are another type of Layer 3 Unicast topology. Like 967 in the case of OSPF topology, a model for IS-IS topology can be 968 defined in a separate module which augments "ietf-l3-unicast-igp- 969 topology". The structure of a corresponding model, "ietf-isis- 970 topology", is depicted in the following diagram. Like before, 971 brackets enclose list keys, "rw" means configuration, "ro" 972 operational state data, "?" designates optional nodes, "*" designates 973 nodes that can have multiple instances. Parantheses enclose choice 974 and case nodes. A "+" at the end of a line indicates a line break. 976 module: ietf-isis-topology 977 augment /nd:networks/nd:network/nd:network-types/+ 978 l3t:l3-unicast-topology: 979 +--rw isis! 980 augment /nd:networks/nd:network/l3t:l3-topology-attributes: 981 +--rw isis-topology-attributes 982 +--rw net? area-address 983 augment /nd:networks/nd:network/nd:node/l3t:l3-node-attributes: 984 +--rw isis-node-attributes 985 +--rw iso 986 | +--rw iso-system-id? system-id 987 | +--rw iso-pseudonode-id? iso-pseudonode-id 988 +--rw net* area-address 989 +--rw multi-topology-id* uint16 990 +--rw level? level 991 augment /nd:networks/nd:network/lnk:link/l3t:l3-link-attributes: 992 +--rw isis-link-attributes 993 +--rw multi-topology-id? uint16 994 augment /l3t:l3-node-event: 995 +---- isis! 996 +---- isis-node-attributes 997 +---- iso 998 | +---- iso-system-id? system-id 999 | +---- iso-pseudonode-id? iso-pseudonode-id 1000 +---- net* area-address 1001 +---- multi-topology-id* uint16 1002 +---- level? level 1003 augment /l3t:l3-link-event: 1004 +---- isis! 1005 +---- isis-link-attributes 1006 +---- multi-topology-id? uint16 1008 The module augments the ietf-l3-unicast-topology as follows: 1010 o A new topology type is introduced for isis. 1012 o Additional topology attributes are introduced in a new grouping 1013 which augments "topology-attributes" of the ietf-l3-unicast- 1014 topology module. The attributes include an ISIS NET-id 1015 identifying the area. 1017 o Additional data objects for nodes are introduced by augmenting 1018 "node-attributes" of the ietf-l3-unicast-topology module. New 1019 objects include router-type, iso-system-id to identify the router, 1020 a list of multi-topology-id, a list of NET ids, and traffic 1021 engineering attributes. 1023 o Links are augmented with multi-topology-id and traffic engineering 1024 link attributes. 1026 In addition, the module augments nodes and links with IS-IS 1027 attributes. 1029 Again, it should be noted that the model defined here represents 1030 topology and is intended as an example. It does not define how to 1031 configure IS-IS routers or interfaces. 1033 6.2.2. IS-IS Topology YANG Module 1035 file "ietf-isis-topology@2016-11-16.yang" 1036 module ietf-isis-topology { 1037 yang-version 1.1; 1038 namespace "urn:ietf:params:xml:ns:yang:ietf-isis-topology"; 1039 prefix "isist"; 1040 import ietf-network { 1041 prefix "nd"; 1042 } 1043 import ietf-network-topology { 1044 prefix "lnk"; 1045 } 1046 import ietf-l3-unicast-topology { 1047 prefix "l3t"; 1048 } 1049 organization 1050 "IETF I2RS (Interface to the Routing System) Working Group"; 1051 contact 1052 "WG Web: 1053 WG List: 1054 WG Chair: Susan Hares 1055 1056 WG Chair: Russ White 1057 1058 Editor: Alexander Clemm 1059 1060 Editor: Jan Medved 1061 1062 Editor: Robert Varga 1063 1064 Editor: Xufeng Liu 1065 1066 Editor: Igor Bryskin 1067 1068 Editor: Aihua Guo 1069 1070 Editor: Nitin Bahadur 1071 1072 Editor: Hariharan Ananthakrishnan 1073 1074 Editor: Vishnu Pavan Beeram 1075 "; 1076 description 1077 "This module defines a model for IS-IS network topologies. 1078 Copyright (c) 2016 IETF Trust and the persons identified as 1079 authors of the code. All rights reserved. 1080 Redistribution and use in source and binary forms, with or 1081 without modification, is permitted pursuant to, and subject 1082 to the license terms contained in, the Simplified BSD License 1083 set forth in Section 4.c of the IETF Trust's Legal Provisions 1084 Relating to IETF Documents 1085 (http://trustee.ietf.org/license-info). 1086 This version of this YANG module is part of 1087 draft-ietf-i2rs-yang-l3-topology-05; 1088 see the RFC itself for full legal notices. 1089 NOTE TO RFC EDITOR: Please replace above reference to 1090 draft-ietf-i2rs-yang-l3-topology-05 with RFC 1091 number when published (i.e. RFC xxxx)."; 1092 revision "2016-11-16" { 1093 description 1094 "Initial revision. 1095 NOTE TO RFC EDITOR: Please replace the following reference 1096 to draft-ietf-i2rs-yang-l3-topology-5 with 1097 RFC number when published (i.e. RFC xxxx)."; 1098 reference 1099 draft-ietf-i2rs-yang-l3-topology-05; 1100 } 1101 typedef iso-pseudonode-id { 1102 type string { 1103 pattern '[0-9a-fA-F]{2}'; 1104 } 1105 description 1106 "ISO pseudonode id for broadcast network."; 1107 } 1108 typedef area-address{ 1109 type string { 1110 pattern '[0-9A-Fa-f]{2}\.([0-9A-Fa-f]{4}\.){0,3}'; 1111 } 1112 description 1113 "This type defines the area address."; 1114 } 1115 typedef system-id { 1116 type string { 1117 pattern 1118 '[0-9A-Fa-f]{4}\.[0-9A-Fa-f]{4}\.[0-9A-Fa-f]{4}'; 1120 } 1121 description 1122 "This type defines ISIS system id using a pattern; 1123 an example of a system id looks like: 0143.0438.AeF0."; 1124 } 1125 typedef level { 1126 type enumeration { 1127 enum "level-1" { 1128 description 1129 "This enum describes L1 only capability."; 1130 } 1131 enum "level-2" { 1132 description 1133 "This enum describes L2 only capability."; 1134 } 1135 enum "level-all" { 1136 description 1137 "This enum describes both levels (L1 and L2) capability."; 1138 } 1139 } 1140 default "level-all"; 1141 description 1142 "This type defines the ISIS level of an object."; 1143 } 1144 grouping isis-topology-type { 1145 description 1146 "Identifies the ISIS topology type."; 1147 container isis { 1148 presence "Indicates ISIS Topology"; 1149 description 1150 "Its presence identifies the ISIS topology type."; 1151 } 1152 } 1153 augment "/nd:networks/nd:network/nd:network-types/" 1154 +"l3t:l3-unicast-topology" { 1155 description 1156 "Defines the ISIS topology type."; 1157 uses isis-topology-type; 1158 } 1159 augment "/nd:networks/nd:network/l3t:l3-topology-attributes" { 1160 when "../nd:network-types/l3t:l3-unicast-topology/isis" { 1161 description 1162 "Augment only for ISIS topology"; 1163 } 1164 description 1165 "Augment topology configuration"; 1166 container isis-topology-attributes { 1167 description 1168 "Containing topology attributes"; 1169 leaf net { 1170 type area-address; 1171 description 1172 "ISO NET ID value"; 1173 } 1174 } 1175 } 1176 augment "/nd:networks/nd:network/nd:node/"+ 1177 "l3t:l3-node-attributes" { 1178 when "../../nd:network-types/l3t:l3-unicast-topology/isis" { 1179 description 1180 "Augment only for ISIS topology"; 1181 } 1182 description 1183 "Augment node configuration"; 1184 uses isis-node-attributes; 1185 } 1186 augment "/nd:networks/nd:network/lnk:link/l3t:l3-link-attributes" { 1187 when "../../nd:network-types/l3t:l3-unicast-topology/isis" { 1188 description 1189 "Augment only for ISIS topology"; 1190 } 1191 description 1192 "Augment link configuration"; 1193 uses isis-link-attributes; 1194 } 1195 grouping isis-node-attributes { 1196 description 1197 "ISIS node scope attributes"; 1198 container isis-node-attributes { 1199 description 1200 "Containing node attributes"; 1201 container iso { 1202 description 1203 "Containing ISO atrributes"; 1204 leaf iso-system-id { 1205 type system-id; 1206 description 1207 "ISO system ID"; 1208 } 1209 leaf iso-pseudonode-id { 1210 type iso-pseudonode-id; 1211 default "00"; 1212 description 1213 "Pseudonode ID"; 1214 } 1215 } 1216 leaf-list net { 1217 type area-address; 1218 max-elements 3; 1219 description 1220 "List of ISO NET IDs"; 1221 } 1222 leaf-list multi-topology-id { 1223 type uint16 { 1224 range "0..4095"; 1225 } 1226 max-elements "128"; 1227 description 1228 "List of Multi Topology Identifier up to 128 (0-127). 1229 RFC 4915"; 1230 } 1231 leaf level { 1232 type level; 1233 description "Level 1, Level 2 or Level 1 and 2"; 1234 } 1235 } 1236 } 1237 grouping isis-link-attributes { 1238 description 1239 "ISIS link scope attributes"; 1240 container isis-link-attributes { 1241 description 1242 "Containing link attributes"; 1243 leaf multi-topology-id { 1244 type uint16 { 1245 range "0..4095"; 1246 } 1247 description 1248 "Multi topology ID"; 1249 } 1250 } 1251 } 1252 augment "/l3t:l3-node-event" { 1253 description 1254 "ISIS node event"; 1255 uses isis-topology-type; 1256 uses isis-node-attributes; 1257 } 1258 augment "/l3t:l3-link-event" { 1259 description 1260 "ISIS link event"; 1261 uses isis-topology-type; 1262 uses isis-link-attributes; 1263 } 1265 } 1267 1269 7. Interactions with Other YANG Modules 1271 As described in section Section 3, the model builds on top of, and 1272 augments, the YANG modules defined in 1273 [I-D.draft-ietf-i2rs-yang-network-topo]. Specifically, module ietf- 1274 l3-unicast-topology augments modules "ietf-network" and "ietf- 1275 network-topology". In addition, the model makes use of data types 1276 that have been defined in [RFC6991]. 1278 The moodel defines a protocol independent YANG data model with layer 1279 3 topology information. It is separate from and not linked with data 1280 models that are used to configure routing protocols or routing 1281 information. This includes e.g. model "ietf-routing" [RFC8022] and 1282 model "ietf-fb-rib" [I-D.draft-acee-rtgwg-yang-rib-extend]. 1284 The model obeys the requirements for the ephemeral state found in the 1285 document [I-D.draft-ietf-i2rs-ephemeral-state]. For ephemeral 1286 topology data that is server provided, the process tasked with 1287 maintaining topology information will load information from the 1288 routing process (such as OSPF) into the data model without relying on 1289 a configuration datastore. 1291 8. IANA Considerations 1293 This document registers the following namespace URIs in the "IETF XML 1294 Registry" [RFC3688]: 1296 URI: urn:ietf:params:xml:ns:yang:ietf-l3-unicast-topology 1297 Registrant Contact: The IESG. 1298 XML: N/A; the requested URI is an XML namespace. 1300 URI:urn:ietf:params:xml:ns:yang:ietf-ospf-topology 1301 Registrant Contact: The IESG. 1302 XML: N/A; the requested URI is an XML namespace. 1304 URI:urn:ietf:params:xml:ns:yang:ietf-isis-topology 1305 Registrant Contact: The IESG. 1306 XML: N/A; the requested URI is an XML namespace. 1308 This document registers the following YANG modules in the "YANG 1309 Module Names" registry [RFC6020]: 1311 Name: ietf-l3-unicast-topology 1312 Namespace: urn:ietf:params:xml:ns:yang:ietf-l3-unicast-topology 1313 Prefix: l3t 1314 Reference: draft-ietf-i2rs-yang-l3-topology-05.txt (RFC form) 1316 Name: ietf-ospf-topology 1317 Namespace: urn:ietf:params:xml:ns:yang:ietf-ospf-topology 1318 Prefix: ospft 1319 Reference: draft-ietf-i2rs-yang-l3-topology-05.txt (RFC form) 1321 Name: ietf-isis-topology 1322 Namespace: urn:ietf:params:xml:ns:yang:ietf-isis-topology 1323 Prefix: isist 1324 Reference: draft-ietf-i2rs-yang-l3-topology-05.txt (RFC form) 1326 9. Security Considerations 1328 The YANG module defined in this memo is designed to be accessed via 1329 the NETCONF protocol [RFC6241]. The lowest NETCONF layer is the 1330 secure transport layer, and the mandatory-to-implement secure 1331 transport is Secure Shell (SSH) [RFC6242]. The NETCONF access 1332 control model [RFC6536] provides the means to restrict access for 1333 particular NETCONF users to a pre-configured subset of all available 1334 NETCONF protocol operations and content. 1336 In general, Layer 3 Unicast topologies are server-provided and 1337 provide ephemeral topology information. As they provide read-only 1338 access to clients, they are less vulnerable. That said, the YANG 1339 module does in principle allow information to be configurable in 1340 certain instances (when the server-provided flag for the topology is 1341 set to false). In such cases, a malicious client could introduce 1342 topologies that are undesired. For example, a client could remove or 1343 add topological links between nodes, which could lead to an undesired 1344 and suboptimal topology, which might impact service levels and 1345 network utilization. It is therefore important that the NETCONF 1346 access control model is vigorously applied to prevent topology 1347 configuration by unauthorized clients. 1349 10. Contributors 1351 The model presented in this paper was contributed to by more people 1352 than can be listed on the author list. Additional contributors 1353 include: 1355 o Ken Gray, Juniper Networks 1357 o Tom Nadeau, Brocade 1359 o Tony Tkacik 1360 o Aleksandr Zhdankin, Cisco 1362 11. Acknowledgements 1364 We wish to acknowledge the helpful contributions, comments, and 1365 suggestions that were received from Ladislav Lhotka, Andy Bierman, 1366 Carlos Pignataro, Joel Halpern, Juergen Schoenwaelder, Alia Atlas, 1367 Susan Hares, Benoit Claise, and Carl Moberg. 1369 12. References 1371 12.1. Normative References 1373 [I-D.draft-ietf-i2rs-yang-network-topo] 1374 Clemm, A., Medved, J., Varga, R., Bahadur, N., 1375 Ananthakrishnan, H., and X. Liu, "A YANG Data Model for 1376 Network Topologies", I-D draft-ietf-i2rs-yang-network- 1377 topo-08, November 2016. 1379 [RFC1195] Callon, R., "Use of OSI IS-IS for Routing in TCP/IP and 1380 Dual Environments", RFC 1195, December 1990. 1382 [RFC2328] Moy, J., "OSPF Version 2", RFC 2328, April 1998. 1384 [RFC3688] Mealling, M., "The IETF XML Registry", RFC 3688, January 1385 2004. 1387 [RFC6020] Bjorklund, M., "YANG - A Data Modeling Language for the 1388 Network Configuration Protocol (NETCONF)", RFC 6020, 1389 October 2010. 1391 [RFC6241] Enns, R., Bjorklund, M., Schoenwaelder, J., and A. 1392 Bierman, "Network Configuration Protocol (NETCONF)", 1393 RFC 6241, June 2011. 1395 [RFC6242] Wasserman, M., "Using the NETCONF Protocol over Secure 1396 Shell (SSH)", RFC 6242, June 2011. 1398 [RFC6536] Bierman, A. and M. Bjorklund, "Network Configuration 1399 Protocol (NETCONF) Access Control Model", RFC 6536, March 1400 2012. 1402 [RFC6991] Schoenwaelder, J., "Common YANG Data Types", RFC 6991, 1403 July 2013. 1405 [RFC7950] Bjorklund, M., "The YANG 1.1 Data Modeling Language", 1406 RFC 7950, August 2016. 1408 12.2. Informative References 1410 [I-D.draft-acee-rtgwg-yang-rib-extend] 1411 Lindem, A. and Y. Qu, "YANG Data Model for RIB 1412 Extensions", I-D draft-acee-rtgwg-yang-rib-extend-02, 1413 October 2016. 1415 [I-D.draft-ietf-i2rs-ephemeral-state] 1416 Haas, J. and S. Hares, "I2RS Ephemeral State 1417 Requirements", I-D draft-ietf-i2rs-ephemeral-state-22, 1418 November 2016. 1420 [I-D.draft-ietf-i2rs-usecase-reqs-summary] 1421 Hares, S. and M. Chen, "Summary of I2RS Use Case 1422 Requirements", I-D draft-ietf-i2rs-usecase-reqs-summary- 1423 03, November 2016. 1425 [OpenDaylight] 1426 Medved, J., Varga, R., Tkacik, T., and K. Gray, 1427 "OpenDaylight: Towards a Model-Driven SDN Controller 1428 architecture", IEEE 15th Int. Symposium on World of 1429 Wireless, Mobile and Multimedia Networks (IEEE WoWMoM 1430 2014), June 2014. 1432 [RFC8022] Lhotka, L. and A. Lindem, "A YANG Data Model for Routing 1433 Management", RFC 8022, November 2016. 1435 Authors' Addresses 1437 Alexander Clemm 1438 Sympotech 1440 EMail: alex@sympotech.com 1442 Jan Medved 1443 Cisco 1445 EMail: jmedved@cisco.com 1447 Robert Varga 1448 Pantheon Technologies SRO 1450 EMail: robert.varga@pantheon.sk 1451 Xufeng Liu 1452 Ericsson 1454 EMail: xliu@kuatrotech.com 1456 Igor Bryskin 1457 Huawei 1459 EMail: Igor.Bryskin@huawei.com 1461 Aihua Guo 1462 Adva Optical 1464 EMail: aguo@advaoptical.com 1466 Hariharan Ananthakrishnan 1467 Packet Design 1469 EMail: hari@packetdesign.com 1471 Nitin Bahadur 1472 Bracket Computing 1474 EMail: nitin_bahadur@yahoo.com 1476 Vishnu Pavan Beeram 1477 Juniper Networks 1479 EMail: vbeeram@juniper.net