idnits 2.17.1 draft-litkowski-netmod-isis-cfg-00.txt: Checking boilerplate required by RFC 5378 and the IETF Trust (see https://trustee.ietf.org/license-info): ---------------------------------------------------------------------------- No issues found here. Checking nits according to https://www.ietf.org/id-info/1id-guidelines.txt: ---------------------------------------------------------------------------- No issues found here. Checking nits according to https://www.ietf.org/id-info/checklist : ---------------------------------------------------------------------------- ** There are 44 instances of too long lines in the document, the longest one being 64 characters in excess of 72. Miscellaneous warnings: ---------------------------------------------------------------------------- == The copyright year in the IETF Trust and authors Copyright Line does not match the current year == Line 625 has weird spacing: '... enum non...' == Line 626 has weird spacing: '... enum pla...' == Line 627 has weird spacing: '... enum mes...' == Line 749 has weird spacing: '... enum non...' == Line 750 has weird spacing: '... enum pla...' == (1 more instance...) == The document doesn't use any RFC 2119 keywords, yet seems to have RFC 2119 boilerplate text. -- The document date (June 17, 2014) is 3593 days in the past. Is this intentional? Checking references for intended status: Proposed Standard ---------------------------------------------------------------------------- (See RFCs 3967 and 4897 for information about using normative references to lower-maturity documents in RFCs) == Unused Reference: 'I-D.ietf-netmod-routing-cfg' is defined on line 1021, but no explicit reference was found in the text == Unused Reference: 'RFC6020' is defined on line 1029, but no explicit reference was found in the text == Outdated reference: A later version (-25) exists of draft-ietf-netmod-routing-cfg-15 Summary: 1 error (**), 0 flaws (~~), 11 warnings (==), 1 comment (--). Run idnits with the --verbose option for more detailed information about the items above. -------------------------------------------------------------------------------- 2 Network Working Group S. Litkowski 3 Internet-Draft Orange 4 Intended status: Standards Track June 17, 2014 5 Expires: December 19, 2014 7 Yang Data Model for ISIS protocol 8 draft-litkowski-netmod-isis-cfg-00 10 Abstract 12 This document defines a YANG data model that can be used to configure 13 and manage ISIS protocol. 15 Requirements Language 17 The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", 18 "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this 19 document are to be interpreted as described in [RFC2119]. 21 Status of This Memo 23 This Internet-Draft is submitted in full conformance with the 24 provisions of BCP 78 and BCP 79. 26 Internet-Drafts are working documents of the Internet Engineering 27 Task Force (IETF). Note that other groups may also distribute 28 working documents as Internet-Drafts. The list of current Internet- 29 Drafts is at http://datatracker.ietf.org/drafts/current/. 31 Internet-Drafts are draft documents valid for a maximum of six months 32 and may be updated, replaced, or obsoleted by other documents at any 33 time. It is inappropriate to use Internet-Drafts as reference 34 material or to cite them other than as "work in progress." 36 This Internet-Draft will expire on December 19, 2014. 38 Copyright Notice 40 Copyright (c) 2014 IETF Trust and the persons identified as the 41 document authors. All rights reserved. 43 This document is subject to BCP 78 and the IETF Trust's Legal 44 Provisions Relating to IETF Documents 45 (http://trustee.ietf.org/license-info) in effect on the date of 46 publication of this document. Please review these documents 47 carefully, as they describe your rights and restrictions with respect 48 to this document. Code Components extracted from this document must 49 include Simplified BSD License text as described in Section 4.e of 50 the Trust Legal Provisions and are provided without warranty as 51 described in the Simplified BSD License. 53 Table of Contents 55 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2 56 2. Design of the data model . . . . . . . . . . . . . . . . . . 2 57 2.1. Authentication parameters . . . . . . . . . . . . . . . . 4 58 2.2. Multitopology parameters . . . . . . . . . . . . . . . . 4 59 2.3. Per level parameters . . . . . . . . . . . . . . . . . . 4 60 2.4. Per interface parameters . . . . . . . . . . . . . . . . 5 61 2.5. Operational states . . . . . . . . . . . . . . . . . . . 6 62 3. Yang module . . . . . . . . . . . . . . . . . . . . . . . . . 6 63 4. Security Considerations . . . . . . . . . . . . . . . . . . . 22 64 5. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 22 65 6. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 22 66 7. Normative References . . . . . . . . . . . . . . . . . . . . 22 67 Author's Address . . . . . . . . . . . . . . . . . . . . . . . . 22 69 1. Introduction 71 This document defines a YANG data model that can be used to configure 72 and manage ISIS protocol. 74 2. Design of the data model 76 The ISIS Yang module is divided in two main containers : 78 o isis-cfg : that contains writable configuration objects. 80 o isis-op : that contains read-only states. 82 Each of this container contains a list of instances as many 83 implementations are currently supporting multiple ISIS instances 84 within a single virtual-router. 86 The figure below describe the overall structure of the isis Yang 87 module : 89 module: isis 90 +--rw isis-cfg 91 | +--rw instances 92 | +--rw instance [name] 93 | +--rw name 94 | +--rw enabled 95 | +--rw isis-level 96 | +--rw area 97 | +--rw system-id 98 | +--rw ipv4-router-id 99 | +--rw ipv6-router-id 100 | +--rw reference-bandwidth 101 | +--rw lsp-mtu 102 | +--rw lsp-lifetime 103 | +--rw lsp-refresh 104 | +--rw isis-authentication-cfg 105 | | ... 106 | +--rw multi-topology-cfg 107 | | ... 108 | +--rw isis-level-1-cfg 109 | | ... 110 | +--rw isis-level-2-cfg 111 | | ... 112 | +--rw overload 113 | | ... 114 | +--rw interfaces 115 | +--rw interface [name] 116 | ... 117 | 118 +--ro isis-op 119 +--ro instances 120 +--ro instance [name] 121 +--ro adjacencies 122 | +--ro adjacency [interface] 123 | +--ro interface 124 | +--ro level 125 | +--ro state 126 +--ro spf-log 127 | +--ro event [id] 128 | +--ro id 129 | +--ro level 130 | +--ro spf-type 131 | +--ro spf-delay 132 | +--ro schedule-timestamp 133 | +--ro start-timestamp 134 | +--ro end-timestamp 135 | +--ro trigger-lsp [lsp] 136 | +--ro lsp 137 | +--ro sequence 138 +--ro lsp-log 139 | +--ro event [id] 140 | +--ro id 141 | +--ro level 142 | +--ro lsp 143 | +--ro lsp 144 | +--ro sequence 145 | +--ro received-timestamp 146 +--ro database 147 | +--ro level-1 148 | ... 149 | +--ro level-2 150 | ... 151 +--ro hostnames 152 +--ro hostname [system-id] 153 +--ro system-id 154 +--ro hostname 156 2.1. Authentication parameters 158 The following figure describes the global authentication parameters 159 for a particular ISIS instance. 161 +--rw isis-authentication-cfg 162 +--rw psnp-authentication 163 +--rw csnp-authentication 164 +--rw hello-authentication 165 +--rw authentication-key 166 +--rw authentication-type 168 2.2. Multitopology parameters 170 The multitopology section is used to enable support of MT extensions 171 for specific address families. 173 +--rw multi-topology-cfg 174 +--rw ipv4-unicast 175 +--rw ipv6-unicast 176 +--rw ipv4-multicast 177 +--rw ipv6-multicast 179 2.3. Per level parameters 181 The level parameter section of the ISIS instance describes the global 182 parameters for level 1 and 2 including authentication, protocol 183 preferences, default metrics ... 185 +--rw isis-level-1-cfg 186 +--rw enabled 187 +--rw psnp-authentication 188 +--rw csnp-authentication 189 +--rw hello-authentication 190 +--rw authentication-key 191 +--rw authentication-type 192 +--rw metric-type 193 +--rw preference 194 +--rw external-preference 195 +--rw default-ipv4-unicast-metric 196 +--rw default-ipv6-unicast-metric 197 +--rw default-ipv4-multicast-metric 198 +--rw default-ipv6-multicast-metric 200 2.4. Per interface parameters 202 The per-interface section of the ISIS instance describes the 203 interface specific parameters. 205 +--rw interface [name] 206 +--rw name 207 +--rw level 208 +--rw lsp-interval 209 +--rw passive 210 +--rw csnp-interval 211 +--rw hello-authentication-type 212 +--rw hello-authentication-key 213 +--rw hello-interval 214 +--rw hello-multiplier 215 +--rw hello-padding 216 +--rw ipv4-unicast 217 +--rw ipv6-unicast 218 +--rw ipv4-multicast 219 +--rw ipv6-multicast 220 +--rw interface-type 221 +--rw enabled 222 +--rw tag 223 +--rw level-1 224 | +--rw hello-authentication-type 225 | +--rw hello-authentication-key 226 | +--rw hello-interval 227 | +--rw hello-multiplier 228 | +--rw ipv4-unicast 229 | +--rw ipv6-unicast 230 | +--rw ipv4-multicast 231 | +--rw ipv6-multicast 232 | +--rw priority 233 | +--rw ipv4-unicast-metric 234 | +--rw ipv6-unicast-metric 235 | +--rw ipv4-multicast-metric 236 | +--rw ipv6-multicast-metric 237 | +--rw passive 238 | 239 +--rw level-2 240 +--rw hello-authentication-type 241 +--rw hello-authentication-key 242 +--rw hello-interval 243 +--rw hello-multiplier 244 +--rw ipv4-unicast 245 +--rw ipv6-unicast 246 +--rw ipv4-multicast 247 +--rw ipv6-multicast 248 +--rw priority 249 +--rw ipv4-unicast-metric 250 +--rw ipv6-unicast-metric 251 +--rw ipv4-multicast-metric 252 +--rw ipv6-multicast-metric 253 +--rw passive 255 2.5. Operational states 257 isis-op container provides operational states for ISIS. This 258 container is divided in multiple components : 260 o adjacencies : provides state information about current ISIS 261 adjacencies. 263 o spf-log : provides information about SPF events on the node. 265 o lsp-log : provides information about LSP events on the node 266 (reception of an LSP or modification of local LSP). 268 o database : provides details on current LSDB. 270 o Hostname : provides information about system-id to hostname 271 mappings. 273 3. Yang module 275 module isis { 276 namespace TBD; 278 prefix isis; 279 import ietf-routing { 280 prefix "rt"; 281 } 283 import ietf-inet-types { 284 prefix inet; 285 } 287 import ietf-yang-types { 288 prefix yang; 289 } 291 contact 292 "Stephane Litkowski 294 Email : stephane.litkowski@orange.com"; 296 description 297 "The YANG module defines a generic configuration model for ISIS 298 common across all of the vendor implementations."; 300 revision 2014-06-11 { 301 description "Initial revision."; 302 } 303 identity isis { 304 base rt:routing-protocol; 305 description "Identity for the ISIS routing protocol."; 306 } 307 typedef isis-level { 308 type enumeration { 309 enum level-1; 310 enum level-2; 311 enum level-1-2; 312 } 313 } 315 typedef isis-wide-metric { 316 type uint32 { 317 range "0 .. 16777215"; 318 } 319 } 321 typedef isis-std-metric { 322 type uint8 { 323 range "0 .. 63"; 324 } 325 } 326 grouping isis-route-content { 327 leaf metric { 328 type uint32; 329 } 330 leaf-list tag { 331 type uint32; 332 } 333 leaf route-type { 334 type enumeration { 335 enum l2-up-internal; 336 enum l1-up-internal; 337 enum l2-up-external; 338 enum l1-up-external; 339 enum l2-down-internal; 340 enum l1-down-internal; 341 enum l2-down-external; 342 enum l1-down-external; 343 } 344 } 345 } 347 augment "/rt:routing/rt:routing-state/rt:ribs/rt:rib/rt:routes/rt:route" { 348 when "rt:source-protocol = 'isis:isis'" { 349 description "ISIS-specific route attributes."; 350 } 351 uses isis-route-content; 352 } 354 augment "/rt:active-route/rt:output/rt:route/" 355 { 356 description "ISIS-specific route attributes."; 357 uses isis-route-content; 358 } 360 grouping isis-prefix-ipv4-std { 361 leaf up-down { 362 description "This leaf expresses the value of up/down bit."; 363 type boolean; 364 } 365 leaf i-e { 366 description "This leaf expresses the value of I/E bit."; 367 type boolean; 368 } 369 leaf ip-prefix { 370 type inet:ipv4-address; 371 } 372 leaf prefix-len { 373 type uint8; 374 } 375 leaf default-metric { 376 type isis-std-metric; 377 } 378 leaf delay-metric { 379 type isis-std-metric; 380 } 381 leaf expense-metric { 382 type isis-std-metric; 383 } 384 leaf error-metric { 385 type isis-std-metric; 386 } 387 } 389 grouping isis-prefix-ipv4-extended { 390 leaf up-down { 391 description "This leaf expresses the value of up/down bit."; 392 type boolean; 393 } 394 leaf ip-prefix { 395 type inet:ipv4-address; 396 } 397 leaf prefix-len { 398 type uint8; 399 } 401 leaf metric { 402 type isis-wide-metric; 403 } 404 leaf-list SUBTLV1 { 405 type uint32; 406 } 407 } 409 grouping isis-prefix-ipv6-extended { 410 leaf up-down { 411 description "This leaf expresses the value of up/down bit."; 412 type boolean; 413 } 414 leaf ip-prefix { 415 type inet:ipv6-address; 416 } 417 leaf prefix-len { 418 type uint8; 419 } 420 leaf metric { 421 type isis-wide-metric; 422 } 423 leaf-list SUBTLV1 { 424 type uint32; 425 } 426 } 428 grouping isis-neighbor-extended { 429 leaf system-id { 430 type string; 431 } 432 leaf metric { 433 type isis-wide-metric; 434 } 435 } 437 grouping isis-database { 438 leaf id { 439 type string; 440 } 441 leaf checksum { 442 type uint16; 443 } 444 leaf sequence { 445 type uint32; 446 } 447 leaf attributes { 448 type bits { 449 bit PARTITIONNED; 450 bit ATTACHED-ERROR; 451 bit ATTACHED-EXPENSE; 452 bit ATTACHED-DELAY; 453 bit ATTACHED-DEFAULT; 454 bit OVERLOAD; 455 } 456 } 457 leaf isis-level { 458 type isis-level; 459 } 461 container TLV10 { 462 description "This leaf describes authentication information of the node."; 463 leaf authentication-type { 464 type uint8; 465 } 466 leaf authentication-key { 467 type string; 469 } 470 } 471 container TLV22 { 472 list neighbor { 473 key "system-id"; 474 uses isis-neighbor-extended; 476 } 477 } 479 container TLV128 { 480 list ip-internal-reachability { 481 key "ip-prefix"; 482 uses isis-prefix-ipv4-std; 483 } 484 } 486 leaf-list TLV129 { 487 description "This leaf describes the protocol supported by the node."; 488 type uint8; 489 } 491 container TLV130 { 492 list ip-external-reachability { 493 key "ip-prefix"; 494 uses isis-prefix-ipv4-std; 495 } 496 } 498 leaf-list TLV132 { 499 description "This leaf describes the ipv4 addresses of the node."; 500 type inet:ipv4-address; 501 } 503 leaf TLV134 { 504 description "This leaf describes the IPv4 Traffic Engineering router ID of the node."; 505 type inet:ipv4-address; 506 } 508 container TLV135 { 509 list extended-ip-reachability { 510 key "ip-prefix"; 511 uses isis-prefix-ipv4-extended; 512 } 513 } 515 leaf TLV137 { 516 description "This leaf describes the name of the node."; 517 type string; 518 } 520 leaf TLV140 { 521 description "This leaf describes the IPv6 Traffic Engineering router ID of the node."; 522 type inet:ipv6-address; 523 } 525 container TLV222 { 526 list neighbor { 527 key "system-id"; 528 leaf MT-ID { 529 type uint16 { 530 range "0 .. 4095"; 531 } 532 } 533 uses isis-neighbor-extended; 535 } 536 } 538 container TLV229 { 539 description "This leaf describes the MT entries."; 540 list topology { 541 key "MT-ID"; 543 leaf MT-ID { 544 type uint16 { 545 range "0 .. 4095"; 546 } 547 } 549 leaf attributes { 550 type bits { 551 bit OVERLOAD; 552 bit ATTACHED; 553 } 554 } 555 } 556 } 558 leaf-list TLV232 { 559 description "This leaf describes the ipv6 addresses of the node."; 560 type inet:ipv6-address; 561 } 562 container TLV235 { 563 list extended-ip-reachability { 564 key "ip-prefix"; 565 leaf MT-ID { 566 type uint16 { 567 range "0 .. 4095"; 568 } 569 } 570 uses isis-prefix-ipv4-extended; 572 } 573 } 575 container TLV237 { 576 list extended-ip-reachability { 577 key "ip-prefix"; 578 leaf MT-ID { 579 type uint16 { 580 range "0 .. 4095"; 581 } 582 } 583 uses isis-prefix-ipv6-extended; 585 } 586 } 588 container TLV236 { 589 list extended-ipv6-reachability { 590 key "ip-prefix"; 591 uses isis-prefix-ipv6-extended; 592 } 593 } 595 container TLV242 { 596 description "This leaf describes the capabilities of the node. This container may be extended with detailled information."; 597 leaf binary { 598 type binary; 599 } 600 } 601 } 603 grouping address-family-cfg { 604 leaf ipv4-unicast { 605 description "This leaf defines if IPv4 unicast is activated."; 606 type boolean; 607 } 608 leaf ipv6-unicast { 609 description "This leaf defines if IPv6 unicast is activated."; 610 type boolean; 611 } 612 leaf ipv4-multicast { 613 description "This leaf defines if IPv4 multicast is activated."; 614 type boolean; 615 } 616 leaf ipv6-multicast { 617 description "This leaf defines if IPv6 multicast is activated."; 618 type boolean; 619 } 620 } 622 grouping interface-hello-cfg { 623 leaf hello-authentication-type { 624 type enumeration { 625 enum none; 626 enum plaintext; 627 enum message-digest; 628 } 629 } 630 leaf hello-authentication-key { 631 type string; 632 } 633 leaf hello-interval { 634 description "This leaf defines the interval of hello messages."; 635 type uint16; 636 } 637 leaf hello-multiplier { 638 description "This leaf defines the number of hello failed to be received before declaring the adjacency down."; 639 type uint16; 640 } 641 } 643 grouping interface-level-cfg { 644 uses interface-hello-cfg; 646 uses address-family-cfg; 648 leaf priority { 649 type uint8 { 650 range "0 .. 127"; 651 } 652 } 653 leaf ipv4-unicast-metric { 654 type isis-wide-metric; 655 } 656 leaf ipv6-unicast-metric { 657 type isis-wide-metric; 659 } 660 leaf ipv4-multicast-metric { 661 type isis-wide-metric; 662 } 663 leaf ipv6-multicast-metric { 664 type isis-wide-metric; 665 } 666 leaf passive { 667 description "This leaf defines if interface is in passive mode (ISIS not running, but network is advertised)."; 668 type boolean; 669 default "false"; 670 } 671 } 673 grouping interface-cfg { 674 description "ISIS is enabled on interfaces that have an entry in this list, unless 'enabled' is set to 'false' for that entry."; 675 leaf name { 676 type leafref { 677 path "/rt:routing/rt:router/rt:interfaces/rt:interfaces/rt:interface/rt:name"; 678 } 679 } 680 leaf level { 681 description "This leaf defines the associated ISIS level of the interface."; 682 type isis-level; 683 } 684 leaf lsp-interval { 685 description "This leaf defines the interval between LSP transmissions in msec"; 686 type uint16; 687 } 688 leaf passive { 689 description "This leaf defines if interface is in passive mode (ISIS not running, but network is advertised)."; 690 type boolean; 691 default "false"; 692 } 693 leaf csnp-interval { 694 type uint16; 695 } 697 uses interface-hello-cfg; 699 leaf hello-padding { 700 description "This leaf defines if ISIS Hellos would be padded up to MTU size."; 701 type boolean; 702 } 704 uses address-family-cfg; 705 leaf interface-type { 706 type enumeration { 707 enum broadcast; 708 enum point-to-point; 709 } 710 } 712 leaf enabled { 713 type boolean; 714 default "true"; 715 } 717 leaf-list tag { 718 description "This leaf defines list of tags associated with the interface."; 719 type uint32; 720 } 722 container level-1 { 723 uses interface-level-cfg; 724 } 726 container level-2 { 727 uses interface-level-cfg; 728 } 729 } 731 grouping isis-authentication-cfg { 732 leaf psnp-authentication { 733 type boolean; 734 default "true"; 735 } 736 leaf csnp-authentication { 737 type boolean; 738 default "true"; 739 } 740 leaf hello-authentication { 741 type boolean; 742 default "true"; 743 } 744 leaf authentication-key { 745 type string; 746 } 747 leaf authentication-type { 748 type enumeration { 749 enum none; 750 enum plaintext; 751 enum message-digest; 752 } 754 } 755 } 757 grouping isis-level-cfg { 759 leaf enabled { 760 description "This leaf defines the status of the administrative status of the level (Active / not active)."; 761 type boolean; 762 default "true"; 763 } 765 uses isis-authentication-cfg; 767 leaf metric-type { 768 type enumeration { 769 enum wide-only; 770 enum old-only; 771 enum both; 772 } 773 } 774 leaf preference { 775 description "This leaf defines the protocol preference."; 776 type uint8; 777 } 778 leaf external-preference { 779 description "This leaf defines the protocol preference for external routes."; 780 type uint8; 781 } 782 leaf default-ipv4-unicast-metric { 783 description "This leaf defines the IPv4 unicast default metric."; 784 type isis-wide-metric; 785 } 786 leaf default-ipv6-unicast-metric { 787 description "This leaf defines the IPv6 unicast default metric."; 788 type isis-wide-metric; 789 } 790 leaf default-ipv4-multicast-metric { 791 description "This leaf defines the IPv4 multicast default metric."; 792 type isis-wide-metric; 793 } 794 leaf default-ipv6-multicast-metric { 795 description "This leaf defines the IPv6 multicast default metric."; 796 type isis-wide-metric; 797 } 798 } 800 augment "/rt:routing/rt:routing-instance/rt:routing-protocols/rt:routing-protocol/" { 801 when "rt:type = 'isis:isis'" { 802 description "This augment is only valid when routing protocol instance type is isis."; 803 } 804 container isis-cfg { 805 container instances { 806 description "."; 807 list instance { 808 key "name"; 809 description "Defines the list of ISIS instances."; 810 leaf name { 811 type string; 812 } 813 leaf enabled { 814 type boolean; 815 default "true"; 816 } 817 leaf isis-level { 818 type isis-level; 819 } 820 leaf area-id { 821 type string; 822 } 824 leaf system-id { 825 type string; 826 } 827 leaf ipv4-router-id { 828 description "Router ID value that would be used in TLV134."; 829 type inet:ipv4-address; 830 } 831 leaf ipv6-router-id { 832 description "Router ID value that would be used in TLV234."; 833 type inet:ipv6-address; 834 } 835 leaf reference-bandwidth { 836 description "This leaf defines the bandwidth for calculating metric."; 837 type uint32; 838 } 840 leaf lsp-mtu { 841 description "This leaf describes the maximum size of a LSP PDU in bytes."; 842 type uint16; 843 } 844 leaf lsp-lifetime { 845 description "This leaf describes the lifetime of the router LSP in seconds."; 846 type uint16; 847 } 848 leaf lsp-refresh { 849 description "This leaf describes the refresh interval of the router LSP in seconds."; 850 type uint16; 851 } 853 uses isis-authentication-cfg; 855 container multi-topology-cfg { 856 description "This container describes activation of MT extensions for supporting new address families."; 857 uses address-family-cfg; 858 } 860 container isis-level-1-cfg { 861 description "Defines configuration parameters of level 1."; 863 uses isis-level-cfg; 864 } 866 container isis-level-2-cfg { 867 description "Defines configuration parameters of level 2."; 869 uses isis-level-cfg; 870 } 872 container overload { 873 description "This leaf describes if the router is set to overload state."; 874 leaf status { 875 type boolean; 876 } 877 leaf timeout { 878 type uint16; 879 } 880 } 882 container interfaces { 883 list interface { 884 key "name"; 885 uses interface-cfg; 886 } 887 } 888 } 889 } 890 } 892 container isis-op { 893 config false; 894 container adjacencies { 895 description "This container lists the adjacencies of the local node."; 896 list adjacency { 897 key interface; 898 leaf interface { 899 type string; 900 } 901 leaf level { 902 type isis-level; 903 } 904 leaf state { 905 type enumeration { 906 enum "Up"; 907 enum "Down"; 908 enum "Init"; 909 } 910 } 911 } 912 } 913 container spf-log { 914 description "This container lists the SPF computation events."; 915 list event { 916 key id; 918 leaf id { 919 type uint32; 920 } 921 leaf spf-type { 922 type enumeration { 923 enum full; 924 enum incremental; 925 enum route-only; 926 } 927 } 928 leaf level { 929 type isis-level; 930 } 931 leaf spf-delay { 932 description "This leaf describes the SPF delay that was used for this event."; 933 type uint32; 934 } 935 leaf schedule-timestamp { 936 type yang:timestamp; 937 } 938 leaf start-timestamp { 939 type yang:timestamp; 940 } 941 leaf end-timestamp { 942 type yang:timestamp; 943 } 944 list trigger-lsp { 945 key "lsp"; 946 leaf lsp { 947 type string; 948 } 949 leaf sequence { 950 type uint32; 951 } 952 } 954 } 955 } 956 container lsp-log { 957 description "This container lists the LSP reception events."; 958 list event { 959 key id; 961 leaf id { 962 type uint32; 963 } 964 leaf level { 965 type isis-level; 966 } 967 container lsp { 968 leaf lsp { 969 type string; 970 } 971 leaf sequence { 972 type uint32; 973 } 974 } 976 leaf received-timestamp { 977 type yang:timestamp; 978 } 979 } 980 } 981 container database { 982 container level-1 { 983 list lsp { 984 key id; 986 uses isis-database; 988 } 989 } 990 container level-2 { 991 list lsp { 992 key id; 993 uses isis-database; 995 } 996 } 997 } 998 container hostnames { 999 list hostname { 1000 key system-id; 1001 leaf system-id { 1002 type string; 1003 } 1004 leaf hostname { 1005 type string; 1006 } 1007 } 1008 } 1009 } 1010 } 1011 } 1013 4. Security Considerations 1015 5. Acknowledgements 1017 6. IANA Considerations 1019 7. Normative References 1021 [I-D.ietf-netmod-routing-cfg] 1022 Lhotka, L., "A YANG Data Model for Routing Management", 1023 draft-ietf-netmod-routing-cfg-15 (work in progress), May 1024 2014. 1026 [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate 1027 Requirement Levels", BCP 14, RFC 2119, March 1997. 1029 [RFC6020] Bjorklund, M., "YANG - A Data Modeling Language for the 1030 Network Configuration Protocol (NETCONF)", RFC 6020, 1031 October 2010. 1033 Author's Address 1035 Stephane Litkowski 1036 Orange 1038 Email: stephane.litkowski@orange.com