idnits 2.17.1 draft-ietf-trill-yang-04.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 32 has weird spacing: '... months and ...' == Line 194 has weird spacing: '...terface str...' == Line 198 has weird spacing: '...ickname uin...' == Line 732 has weird spacing: '... list trill...' -- The document date (December 21, 2015) is 3048 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: 'RFC6242' is mentioned on line 1096, but not defined == Missing Reference: 'RFC6536' is mentioned on line 1097, but not defined ** Obsolete undefined reference: RFC 6536 (Obsoleted by RFC 8341) == Unused Reference: 'RFC2119' is defined on line 1110, but no explicit reference was found in the text == Unused Reference: 'RFC2234' is defined on line 1113, but no explicit reference was found in the text ** Obsolete normative reference: RFC 2234 (Obsoleted by RFC 4234) Summary: 2 errors (**), 0 flaws (~~), 9 warnings (==), 1 comment (--). Run idnits with the --verbose option for more detailed information about the items above. -------------------------------------------------------------------------------- 1 TRILL Working Group W. Hao 2 INTERNET-DRAFT Y. Li 3 Intended status: Standards Track Huawei Technologies 4 D. Kumar 5 Cisco 6 M. Durrani 7 Cisco 8 H. Zhai 9 JIT 10 L. Xia 11 Huawei Technologies 12 Expires: June 2016 December 21, 2015 14 TRILL YANG Data Model 15 draft-ietf-trill-yang-04.txt 17 Abstract 19 This document defines a YANG data model for TRILL protocol. 21 Status of this Memo 23 This Internet-Draft is submitted to IETF in full conformance with 24 the provisions of BCP 78 and BCP 79. 26 Internet-Drafts are working documents of the Internet Engineering 27 Task Force (IETF), its areas, and its working groups. Note that 28 other groups may also distribute working documents as Internet- 29 Drafts. 31 Internet-Drafts are draft documents valid for a maximum of six 32 months and may be updated, replaced, or obsoleted by other 33 documents at any time. It is inappropriate to use Internet-Drafts 34 as reference material or to cite them other than as "work in 35 progress." 37 The list of current Internet-Drafts can be accessed at 38 http://www.ietf.org/1id-abstracts.html 40 The list of Internet-Draft Shadow Directories can be accessed at 41 http://www.ietf.org/shadow.html. 43 Copyright Notice 45 Copyright (c) 2015 IETF Trust and the persons identified as the 46 document authors. All rights reserved. 48 This document is subject to BCP 78 and the IETF Trust's Legal 49 Provisions Relating to IETF Documents 50 (http://trustee.ietf.org/license-info) in effect on the date of 51 publication of this document. Please review these documents 52 carefully, as they describe your rights and restrictions with 53 respect to this document. Code Components extracted from this 54 document must include Simplified BSD License text as described in 55 Section 4.e of the Trust Legal Provisions and are provided without 56 warranty as described in the Simplified BSD License. 58 Table of Contents 60 1. Introduction ................................................ 2 61 2. Conventions Used in This Document............................ 2 62 3. Design of Data model......................................... 3 63 4. TRILL YANG Data model........................................ 7 64 5. Security Considerations..................................... 24 65 6. IANA Considerations ........................................ 25 66 7. References ................................................. 25 67 7.1. Normative References................................... 25 68 7.2. Informative References................................. 25 69 8. Acknowledgments ............................................ 25 71 1. Introduction 73 YANG [RFC6020] is a data definition language that was introduced to 74 define the contents of a conceptual data store that allows networked 75 devices to be managed using NETCONF [RFC6241]. 77 This document defines a YANG [RFC6020] data model for the operation 78 of TRILL base protocol. 80 2. Conventions Used in This Document 82 This document uses the acronyms defined in [RFC6325], in addition to 83 the following: 85 CSNP: Complete Sequence Number Protocol Data Unit 86 DRB: Designated RBridge 87 IS-IS: Intermediate System to Intermediate System 88 LSDB: Link State Database 89 MAC: Media Access Control address 90 MTU: Maximum Transmission Unit 91 NETCONF: Network Configuration Protocol 92 PSNP: Partial Sequence Number Packet 93 RBridge: An alternative name for a TRILL Switch 94 RPF: Reverse Path Forward 95 SNP: Scalable Network Pack 96 SSH: Secure Shell 97 VLAN: Virtual Local-Area Network 99 3. Design of Data model 101 There is only one module for the TRILL base protocol. The module can 102 be augmented for other TRILL extended features with their specific 103 definitions, such as TRILL active-active connection, TRILL Fine 104 Grained Label, etc. 106 The TRILL Yang module includes one container of trillSites which 107 contains a list of instances as many implementations are currently 108 supporting multiple ISIS instances within a single RBridge. The 109 configuration data is divided into four categories which include per 110 RBridge, per nickname per RBridge, per port per RBridge, and per 111 VLAN per RBridge. The operating status includes the information of 112 LSDB, unicast and multicast routing table, RPF check, nickname, peer 113 and some statistics. 115 The figure below describes the overall structure of the TRILL Yang 116 model: 118 module: ietf-trill 119 +--rw trill-site 120 +--rw max-loadbalance-num? uint8 121 +--rw bandwidth-reference? uint32 122 +--rw native-confidence? uint8 123 +--rw remote-confidence? uint8 124 +--rw min-link-mtu? uint16 125 +--rw mtu-probes? uint8 126 +--rw lsp-timer 127 | +--rw lspLife? uint16 128 | +--rw lsp-refresh? uint16 129 | +--rw lsp-generation? uint8 130 +--rw lsp-snp-authen 131 | +--rw authen-mode? authen-mode 132 | +--rw cipher-or-plain? boolean 133 | +--rw password-key? string 134 | +--rw password? string 135 | +--rw keychain? string 136 +--rw tree-para 137 | +--rw nick-number? uint16 138 | +--rw tree-number? uint16 139 +--rw net-entity* string 140 +--rw nicknames 141 | +--rw nickname* [nickName] 142 | +--rw nickName uint16 143 | +--rw priority? uint8 144 | +--rw root-priority? uint16 145 +--rw trill-ports 146 | +--rw trill-port* [ifName] 147 | +--rw ifName string 148 | +--rw port-mode? port-mode 149 | +--rw hello-authen 150 | | +--rw authen-mode? authen-mode 151 | | +--rw cipher-or-plain? boolean 152 | | +--rw password-key? string 153 | | +--rw password? string 154 | | +--rw keychain? string 155 | +--rw csnp-timer? uint16 156 | +--rw hello? uint8 157 | +--rw holding-multiplier? uint16 158 | +--rw lsp-retransmit? uint16 159 | +--rw lsp-throttle 160 | | +--rw throttleInterval? uint16 161 | | +--rw count-number? uint16 162 | +--rw inhibition-timer? uint8 163 | +--rw drb-config 164 | | +--rw drb-priority? uint8 165 | | +--rw holding-timer? uint8 166 | +--rw mac-learning-flag? boolean 167 | +--rw trill-frame-receive-flag? boolean 168 | +--rw cost? uint32 169 | +--rw enabled-vlans? binary 170 | +--rw announcing-vlans? binary 171 | +--rw forwarding-vlans? binary 172 | +--rw designated-vlan? uint16 173 +--rw vlan-para 174 | +--rw vlan-config* [vlan-id] 175 | +--rw vlan-id uint16 176 | +--rw participation-flag? boolean 177 | +--rw priority? uint8 178 | +--rw holdingTimer? uint8 179 +--rw trill-route-infos 180 | +--ro trill-route-info* [nickname nexthop] 181 | +--ro nickname uint32 182 | +--ro cost? uint32 183 | +--ro out-interface? string 184 | +--ro out-vlan? uint32 185 | +--ro nexthop string 186 | +--ro hop-count? uint32 187 +--rw trill-mroute-infos 188 | +--ro trill-mroute-info* [vlan root-nickname] 189 | +--ro vlan uint16 190 | +--ro root-nickname uint16 191 | +--ro hop-count? uint16 192 | +--ro trill-mroute-outinterface-info* 193 [out-interface out-vlan] 194 | +--ro out-interface string 195 | +--ro out-vlan uint32 196 +--rw trill-rpf-check-infos 197 | +--ro trill-rpf-check-info* [ingress-nickname tree-nickname] 198 | +--ro ingress-nickname uint16 199 | +--ro tree-nickname uint16 200 | +--ro interface-name? string 201 | +--ro neighbor-mac? string 202 | +--ro out-vlan? uint16 203 +--rw trill-peer-infos 204 | +--ro trill-peer-info* [host-name circuit-id] 205 | +--ro host-name string 206 | +--ro interface-name? string 207 | +--ro circuit-id string 208 | +--ro status? peer-state 209 | +--ro holdTime? uint32 210 | +--ro priority? string 211 +--rw trill-lsdb-infos 212 | +--ro trill-lsdb-info* [lspid] 213 | +--ro lspid string 214 | +--ro seqence-number? string 215 | +--ro checksum? string 216 | +--ro lsp-length? uint32 217 | +--ro lsp-flags? bits 218 | +--ro holdtime? string 219 | +--ro local-lsp? boolean 220 +--rw trill-nickname-infos 221 | +--ro trill-nickname-info* [nickname systemid] 222 | +--ro nickname uint32 223 | +--ro priority? uint32 224 | +--ro root-priority? uint32 225 | +--ro systemid string 226 | +--ro conflict-state? conflict-state 227 | +--ro static-flag? static-flag 228 | +--ro is-local? boolean 229 +--ro trill-statistics 230 | +--ro interface-stat 231 | | +--ro up-num? uint32 232 | | +--ro down-num? uint32 233 | +--ro pktstatistics 234 | | +--ro report-num? uint32 235 | | +--ro detect-num? uint32 236 | | +--ro twoway-num? uint32 237 | +--ro unicast-routes-num? uint32 238 | +--ro multicast-routes-num? uint32 239 | +--ro rpf-entrys-num? uint32 240 | +--ro remote-nicknames-num? uint32 241 | +--ro lsdb-lsps-num? uint32 242 | +--ro self-lsps-num? uint32 243 | +--ro multicast-trees-num? uint32 244 | +--ro unicast-nodes-num? uint32 245 | +--ro multicast-nodes-num? uint32 246 +--rw pkt-statistics 247 +--ro pkt-statistic* [interface-name] 248 +--ro interface-name string 249 +--ro sent-hellos-num? uint32 250 +--ro recved-hellos-num? uint32 251 +--ro sent-lsps-num? uint32 252 +--ro recved-lsps-num? uint32 253 +--ro sent-csnps-num? uint32 254 +--ro recved-csnps-num? uint32 255 +--ro sent-psnps-num? uint32 256 +--ro recved-psnps-num? uint32 257 +--ro lsp-retransmissions-num? uint32 258 +--ro drb-elections-num? uint32 259 4. TRILL YANG Data model 261 file "ietf-trill@2015-12-21.yang" 263 module ietf-trill { 264 yang-version 1; 265 namespace "urn:ietf:params:xml:ns:yang:ietf-trill"; 266 //namespace need to be assigned by IANA 267 prefix trill; 269 organization "IETF TRILL Working Group"; 270 contact 271 "WG Web: 272 WG List: 274 WG Chair: Susan Hares 275 277 Editor: Weiguo Hao 278 "; 280 description "TRILL Yang Module"; 281 revision 2015-12-21{ 282 description "04 version, as per RFC6325"; 283 reference "draft-ietf-trill-yang-04"; 284 } 285 typedef port-mode { 286 type enumeration { 287 enum access { 288 value "0"; 289 description "Access Port"; 290 } 291 enum p2p { 292 value "1"; 293 description "P2P Hello Link"; 294 } 295 enum trunk { 296 value "2"; 297 description "Trunk Port"; 298 } 299 enum hybrid { 300 value "3"; 301 description "Both Trunk and Access Port"; 303 } 304 } 305 description "TRILL port mode type"; 306 } 307 typedef drb-state { 308 type enumeration { 309 enum non-drb { 310 value "0"; 311 description "Non-DRB Port"; 312 } 313 enum drb { 314 value "1"; 315 description "DRB Port"; 316 } 317 enum down { 318 value "2"; 319 description "Down Port"; 320 } 321 enum suspended { 322 value "3"; 323 description "Suspended Port"; 324 } 325 } 326 description "TRILL DRB port state type."; 327 } 328 typedef peer-state { 329 type enumeration { 330 enum report { 331 value "0"; 332 description "report state"; 333 } 334 enum detect { 335 value "1"; 336 description "detect state"; 337 } 338 enum down { 339 value "2"; 340 description "down state"; 341 } 342 enum 2way { 343 value "3"; 344 description "2way state"; 345 } 346 } 347 description "TRILL neighbour state type."; 348 } 349 typedef authen-mode { 350 type enumeration { 351 enum "simple" { 352 value "0"; 353 description "Indicates that the password is transmitted 354 in plaintext"; 355 } 356 enum "md5" { 357 value "1"; 358 description "Indicates that the password is transmitted 359 after encryption by MD5."; 360 } 361 enum "keychain" { 362 value "2"; 363 description "Indicates that the password is a keychain 364 which varies with time."; 365 } 366 } 367 description "TRILL authentication mode."; 368 } 369 grouping authen-para { 370 leaf authen-mode { 371 type authen-mode; 372 description "authentication-mode "; 373 } 374 leaf cipher-or-plain { 375 type boolean; 376 description "0 indicates that the password is in ciphertext, 377 1 indicates that the password is in plaintext"; 378 } 379 leaf password-key { 380 type string; 381 description "The value is a string of case-sensitive 382 characters, spaces not supported. The password range varies 383 with the authentication mode. When the authentication mode 384 is simple, the value is a string of 1 to 16 characters 385 in simple text, or a string of 32 characters in ciphertext. 386 When the authentication mode is md5, the value is a string 387 of 1 to 255 characters in simple text, or a string of 32 to 388 392 389 characters in ciphertext."; 390 } 391 leaf password { 392 type string; 393 description "The value is a string of case-sensitive 394 characters, 395 spaces not supported. The password range varies with the 396 authentication mode. When the authentication mode is simple, 397 the password ranges from 1 to 16 characters. When the 398 authentication mode is md5, the password ranges 399 from 1 to 255 characters."; 400 } 401 leaf keychain { 402 type string; 403 description "The name is keychain name which is a string 404 of 1 to 47 case-insensitive characters, spaces not supported."; 405 } 406 description "TRILL protocol authentication configurations."; 407 } 408 typedef conflict-state { 409 type enumeration { 410 enum "S" { 411 value "0"; 412 description "Nickname suspended"; 413 } 414 enum "A" { 415 value "1"; 416 description "Nickname advertised"; 417 } 418 } 419 description "Nickname conflict state."; 420 } 421 typedef static-flag{ 422 type enumeration { 423 enum "S" { 424 value "0"; 425 description "Manually configured"; 426 } 427 enum "D" { 428 value "1"; 429 description "Dynamic generated"; 430 } 431 } 432 description "Static or dynamic nickname flag."; 433 } 435 container trill-site { 436 description "Trill all configuration and display information"; 437 leaf max-loadbalance-num { 438 type uint8 { 439 range "1..max"; 440 } 441 default "32"; 442 description "The maximum number of equal-cost 443 routes for load-balancing."; 445 } 446 leaf bandwidth-reference { 447 type uint32 { 448 range "1..2147483648"; 449 } 450 default "20000000"; 451 description "Sets the bandwidth reference value 452 for a TRILL interface. Unit:M bit/s. 453 Cost of the interface = Bandwidth reference 454 value/Interface bandwidth"; 455 } 456 leaf native-confidence { 457 type uint8; 458 default "32"; 459 description "The confidence in { MAC, VLAN, local port } 460 triples learned from locally received native frames"; 461 } 462 leaf remote-confidence { 463 type uint8; 464 default "32"; 465 description "The confidence in { MAC, VLAN, remote RBridge} 466 triples learned from decapsulating frames"; 467 } 468 leaf min-link-mtu { 469 type uint16 { 470 range "1..max"; 471 } 472 default "1470"; 473 description "Minimum link MTU"; 474 } 475 leaf mtu-probes { 476 type uint8 { 477 range "1..max"; 478 } 479 default "3"; 480 description "The number of failed MTU-probes"; 481 } 482 container lsp-timer { 483 leaf lspLife { 484 type uint16 { 485 range "2..max"; 486 } 487 default "1200"; 488 description "LSP aging timer.Unit:Second"; 489 } 490 leaf lsp-refresh { 491 type uint16 { 492 range "1..65534"; 493 } 494 default "900"; 495 description "LSP refresh timer.Unit:Second"; 496 } 497 leaf lsp-generation { 498 type uint8 { 499 range "1..120"; 500 } 501 default "2"; 502 description "LSP generate timer.Unit:Second"; 503 } 504 description "LSP timer configuration"; 505 } 506 container lsp-snp-authen { 507 uses authen-para; 508 description "Authentication information for LSPs and SNPs"; 509 } 510 container tree-para { 511 leaf nick-number { 512 type uint16 { 513 range "1..256"; 514 } 515 default "1"; 516 description "Nickname number"; 517 } 518 leaf tree-number { 519 type uint16 { 520 range "1..max"; 521 } 522 default "1"; 523 description "Distribution tree number"; 524 } 525 description "Distribution tree configuration"; 526 } 528 leaf-list net-entity { 529 type string; 530 description "TRILL network entity"; 531 } 533 container nicknames { 534 description "All Nicknames and the associated properties"; 535 list nickname { 536 key "nickName"; 537 description "Each nickname and the associated property"; 538 leaf nickName { 539 type uint16 { 540 range "1..65471"; 541 } 542 description "Nickname value"; 543 } 544 leaf priority { 545 type uint8 { 546 range "128..max"; 547 } 548 default "192"; 549 description "Nickname priority"; 550 } 551 leaf root-priority { 552 type uint16 { 553 range "1..max"; 554 } 555 default "32768"; 556 description "Nickname root priority"; 557 } 558 } 559 } 560 container trill-ports { 561 description "All TRILL port configurations"; 562 list trill-port{ 563 key "ifName"; 564 description "Each TRILL port configuration"; 565 leaf ifName { 566 type string; 567 description "trill interface"; 568 } 569 leaf port-mode { 570 type port-mode; 571 default "p2p"; 572 description "TRILL port mode"; 573 } 574 container hello-authen { 575 uses authen-para; 576 description "Authentication information for Hellos"; 577 } 578 leaf csnp-timer { 579 type uint16 { 580 range "1..max"; 581 } 582 default "10"; 583 description "Csnp-timer value"; 584 } 585 leaf hello { 586 type uint8 { 587 range "3..max"; 588 } 589 default "10"; 590 description "Hello timer value"; 591 } 592 leaf holding-multiplier { 593 type uint16 { 594 range "3..1000"; 595 } 596 default "3"; 597 description "Holding-multiplier timer value"; 598 } 599 leaf lsp-retransmit { 600 type uint16 { 601 range "1..300"; 602 } 603 default "5"; 604 description "Lsp retransmit timers"; 605 } 606 container lsp-throttle { 607 description "TRILL LSP throttle configuration."; 608 leaf throttleInterval { 609 type uint16 { 610 range "1..10000"; 611 } 612 default "50"; 613 description "The interval timer between 614 two LSP messages.Unit:ms"; 615 } 616 leaf count-number { 617 type uint16 { 618 range "1..1000"; 619 } 620 default "10"; 621 description "The max messages number being 622 sent each time.Unit:ms"; 623 } 624 } 625 leaf inhibition-timer { 626 type uint8 { 627 range "0..30"; 628 } 629 default "30"; 630 description "The inhibition time for the port 631 when root bridge changes.Unit:Second"; 632 } 633 container drb-config { 634 description "TRILL DRB negotiation parameter"; 635 leaf drb-priority { 636 type uint8 { 637 range "0..127"; 638 } 639 default "64"; 640 description "Drb priority"; 641 } 642 leaf holding-timer { 643 type uint8 { 644 range "3..255"; 645 } 646 default "10"; 647 description "Holding timer"; 648 } 649 } 650 leaf mac-learning-flag { 651 type boolean; 652 default "true"; 653 description "if learning MAC address from locally 654 received native frames"; 655 } 656 leaf trill-frame-receive-flag { 657 type boolean; 658 default "false"; 659 description "if receiving of TRILL frames from 660 non IS-IS adjacency"; 661 } 662 leaf cost { 663 type uint32 { 664 range "0..16777215"; 665 } 666 default "0"; 667 description "link cost"; 668 } 669 leaf enabled-vlans { 670 type binary{ 671 length "1..512"; 672 } 673 description "Enabled vlans"; 674 } 675 leaf announcing-vlans { 676 type binary{ 677 length "1..512"; 678 } 679 description "Announcing vlans"; 680 } 681 leaf forwarding-vlans { 682 type binary{ 683 length "1..512"; 684 } 685 description "Forwarding vlans"; 686 } 687 leaf designated-vlan { 688 type uint16{ 689 range "1..4096"; 690 } 691 description "Designated vlans"; 692 } 693 } 694 } 696 container vlan-para { 697 description "All VLAN parameters"; 698 list vlan-config{ 699 key vlan-id; 700 description "Each VLAN parameter"; 701 leaf vlan-id { 702 type uint16 { 703 range "1..4096"; 704 } 705 description "Vlan Id"; 706 } 707 leaf participation-flag { 708 type boolean; 709 default "false"; 710 description "Participation flag"; 711 } 712 leaf priority { 713 type uint8 { 714 range "0..127"; 715 } 716 default "64"; 717 description "Vlan priority"; 718 } 719 leaf holdingTimer { 720 type uint8 { 721 range "3..max"; 722 } 723 default "10"; 724 description "Holding timer"; 725 } 727 } 728 } 730 container trill-route-infos { 731 description "All TRILL unicast route informations"; 732 list trill-route-info { 733 key "nickname nexthop"; 734 config "false"; 735 description "Each TRILL unicast route information"; 737 leaf nickname { 738 type uint32; 739 config "false"; 740 description "Dest nickname for the route"; 741 } 742 leaf cost { 743 type uint32; 744 config "false"; 745 description "The link cost to the nickname"; 746 } 747 leaf out-interface { 748 type string; 749 config "false"; 750 description "Out interface to the nickname"; 751 } 752 leaf out-vlan { 753 type uint32; 754 config "false"; 755 description "Out vlan on the out interface"; 756 } 757 leaf nexthop { 758 type string; 759 config "false"; 760 description "Next hop to the nickname"; 761 } 762 leaf hop-count { 763 type uint32; 764 config "false"; 765 description "Hop count to the nickname"; 766 } 767 } 768 } 770 container trill-mroute-infos { 771 list trill-mroute-info { 772 key "vlan root-nickname"; 773 config "false"; 774 description "Distribution pruning tree route table; 775 For non-pruning tree, VLAN is set to be 0XFFFF"; 777 leaf vlan { 778 type uint16; 779 description "CE vlan"; 780 } 781 leaf root-nickname { 782 type uint16; 783 description "Root nickname"; 784 } 785 leaf hop-count { 786 type uint16; 787 description "Hop count"; 788 } 789 list trill-mroute-outinterface-info { 790 key "out-interface out-vlan"; 791 description "The out interface and out vlan for a multicast 792 route"; 794 leaf out-interface { 795 type "string"; 796 description "Out interface"; 797 } 798 leaf out-vlan { 799 type "uint32"; 800 description "Out vlan"; 801 } 802 } 803 } 804 description "TRILL multicast route information"; 805 } 807 container trill-rpf-check-infos { 808 list trill-rpf-check-info { 809 key "ingress-nickname tree-nickname"; 810 config "false"; 811 description "Each TRILL RPF check information"; 813 leaf ingress-nickname { 814 type "uint16"; 815 description "Ingress nickname"; 816 } 817 leaf tree-nickname { 818 type "uint16"; 819 description "Tree nickname"; 820 } 821 leaf interface-name { 822 type "string"; 823 description "Interface name"; 824 } 825 leaf neighbor-mac { 826 type "string"; 827 description "Neighbour Mac"; 828 } 829 leaf out-vlan { 830 type "uint16"; 831 description "Out vlan"; 832 } 833 } 834 description "All TRILL RPF check information"; 835 } 837 container trill-peer-infos { 838 list trill-peer-info { 839 key "host-name circuit-id"; 840 config "false"; 841 description "Each TRILL peer information"; 843 leaf host-name { 844 type "string"; 845 description "Peer RBridge name"; 846 } 847 leaf interface-name { 848 type "string"; 849 description "Interface name"; 850 } 851 leaf circuit-id { 852 type "string"; 853 description "Circuit Id"; 854 } 855 leaf status { 856 type peer-state; 857 description "Peer status"; 858 } 859 leaf holdTime { 860 type "uint32"; 861 description "Hold time"; 862 } 863 leaf priority { 864 type "string"; 865 description "Priority"; 866 } 867 } 868 description "All TRILL peer informations"; 869 } 871 container trill-lsdb-infos{ 872 description "All TRILL LSDB information"; 873 list trill-lsdb-info{ 874 key "lspid"; 875 config "false"; 876 description "Each TRILL LSDB information"; 878 leaf lspid { 879 type string; 880 description "Lspid"; 881 } 882 leaf sequence-number { 883 type string; 884 description "Sequence number"; 885 } 886 leaf checksum { 887 type string; 888 description "Checksum"; 889 } 890 leaf lsp-length { 891 type uint32 { 892 range "0..2000"; 893 } 894 description "Lsp length"; 895 } 897 leaf lsp-flags { 898 type bits { 899 bit attbit { 900 position 0; 901 description "TRILL lsp attribute flag"; 902 } 903 bit partition-bit { 904 position 1; 905 description "TRILL lsp partition flag"; 906 } 907 bit overload-bit { 908 position 2; 909 description "TRILL lsp position flag"; 910 } 911 } 912 default "attbit"; 913 description "TRILL lsp flags"; 914 } 915 leaf holdtime { 916 type string; 917 description "Hold time"; 918 } 919 leaf local-lsp { 920 type boolean; 921 description "Local lsp"; 922 } 923 } 924 } 926 container trill-nickname-infos { 927 description "All Trill nickname information"; 928 list trill-nickname-info { 929 key "nickname systemid"; 930 config "false"; 931 description "Each Trill nickname information"; 933 leaf nickname { 934 type uint32; 935 description "Nickname"; 936 } 937 leaf priority { 938 type uint32; 939 description "Priority"; 940 } 941 leaf root-priority { 942 type uint32; 943 description "Root priority"; 944 } 945 leaf systemid { 946 type string; 947 description "SystemId"; 948 } 949 leaf conflict-state { 950 type conflict-state; 951 description "Conflict state"; 952 } 953 leaf static-flag { 954 type static-flag; 955 description "Static flag"; 956 } 957 leaf is-local { 958 type boolean; 959 description "Is local flag"; 960 } 962 } 963 } 964 container trill-statistics { 965 config "false"; 966 description "Trill statistics"; 968 container interface-stat { 969 leaf up-num { 970 type uint32; 971 description "Trill up interface number"; 972 } 973 leaf down-num { 974 type uint32; 975 description "Trill down interface number"; 976 } 977 description "Trill up and down interface number"; 978 } 979 container pktstatistics { 980 leaf report-num { 981 type uint32; 982 description "Trill interface number in report state"; 983 } 984 leaf detect-num { 985 type uint32; 986 description "Trill interface number in detect state"; 987 } 988 leaf twoway-num { 989 type uint32; 990 description "Trill interface number in two way state"; 991 } 992 description "Trill packet statistics"; 993 } 994 leaf unicast-routes-num { 995 type uint32; 996 description "Trill unicast route number"; 997 } 998 leaf multicast-routes-num { 999 type uint32; 1000 description "Trill multicast route number"; 1001 } 1002 leaf rpf-entrys-num { 1003 type uint32; 1004 description "Trill RPF entry number"; 1005 } 1006 leaf remote-nicknames-num { 1007 type uint32; 1008 description "Trill remote nickname number"; 1010 } 1011 leaf lsdb-lsps-num { 1012 type uint32; 1013 description "Trill LSP number"; 1014 } 1015 leaf self-lsps-num { 1016 type uint32; 1017 description "Trill self generated LSP number"; 1018 } 1019 leaf multicast-trees-num { 1020 type uint32; 1021 description "Trill distribution tree tree number"; 1022 } 1023 leaf unicast-nodes-num { 1024 type uint32; 1025 description "Trill unicast node number"; 1026 } 1027 leaf multicast-nodes-num { 1028 type uint32; 1029 description "Trill multicast node number"; 1030 } 1031 } 1033 container pkt-statistics { 1034 list pkt-statistic { 1035 key "interface-name"; 1036 config "false"; 1038 description "Each packet statistic"; 1039 leaf interface-name { 1040 type string; 1041 description "Interface name"; 1042 } 1043 leaf sent-hellos-num { 1044 type uint32; 1045 description "The number of the sent TRILL hello"; 1046 } 1047 leaf recved-hellos-num { 1048 type uint32; 1049 description "The number of the received TRILL hello"; 1050 } 1051 leaf sent-lsps-num { 1052 type uint32; 1053 description "The number of the sent LSP number"; 1054 } 1055 leaf recved-lsps-num { 1056 type uint32; 1057 description "The number of the received TRILL LSP"; 1058 } 1059 leaf sent-csnps-num { 1060 type uint32; 1061 description "The number of the sent CSNP number"; 1062 } 1063 leaf recved-csnps-num { 1064 type uint32; 1065 description "The number of the received CSNP number"; 1066 } 1067 leaf sent-psnps-num { 1068 type uint32; 1069 description "The number of the sent PSNP number"; 1070 } 1071 leaf recved-psnps-num { 1072 type uint32; 1073 description "The number of the received PSNP number"; 1074 } 1075 leaf lsp-retransmissions-num { 1076 type uint32; 1077 description "The number of the retransmitted LSP number"; 1078 } 1079 leaf drb-elections-num { 1080 type uint32; 1081 description "The number of the DRB election number"; 1082 } 1083 } 1084 description "All packet statistics"; 1085 } 1086 } 1087 } 1089 1091 5. Security Considerations 1093 The YANG module defined in this memo is designed to be accessed via 1094 the NETCONF protocol [RFC6241] [RFC6241]. The lowest NETCONF layer 1095 is the secure transport layer and the mandatory-to-implement secure 1096 transport is SSH [RFC6242] [RFC6242]. The NETCONF access control 1097 model [RFC6536] [RFC6536] provides the means to restrict access for 1098 particular NETCONF users to a pre-configured subset of all available 1099 NETCONF protocol operations and content. 1101 6. IANA Considerations 1103 This document requires no IANA Actions. RFC Editor: Please remove 1104 this section before publication. 1106 7. References 1108 7.1. Normative References 1110 [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate 1111 Requirement Levels", BCP 14, RFC 2119, March 1997. 1113 [RFC2234] Crocker, D. and Overell, P.(Editors), "Augmented BNF for 1114 Syntax Specifications: ABNF", RFC 2234, Internet Mail 1115 Consortium and Demon Internet Ltd., November 1997. 1117 7.2. Informative References 1119 [RFC6325] Perlman, R., et.al., "Routing Bridges (RBridges): Base 1120 Protocol Specification", RFC 6325, July 2011. 1122 [RFC6020] Bjorklund, M., "YANG - A Data Modeling Language for the 1123 Network Configuration Protocol (NETCONF)", RFC 6020, 1124 October 2010. 1126 [RFC6241] Enns, R., Bjorklund, M., Schoenwaelder, J., and A. Bierman, 1127 "Network Configuration Protocol (NETCONF)", RFC6241, June 1128 2011. 1130 8. Acknowledgments 1132 The authors wish to acknowledge the important contributions of 1133 Donald Eastlake, Susan Hares, Guangying Zheng, Xianping Zhang, 1134 Wenxia Hou, Zhibo Hu. 1136 Authors' Addresses 1138 Weiguo Hao 1139 Huawei Technologies 1140 101 Software Avenue, 1141 Nanjing 210012 1142 China 1143 Phone: +86-25-56623144 1144 Email: haoweiguo@huawei.com 1146 Yizhou Li 1147 Huawei Technologies 1148 101 Software Avenue, 1149 Nanjing 210012 1150 China 1151 Phone: +86-25-56625375 1152 Email: liyizhou@huawei.com 1154 Deepak Kumar 1155 CISCO Systems 1156 510 McCarthy Blvd 1157 Milpitas, CA 95035. 1158 Email: dekumar@cisco.com 1160 Muhammad Durrani 1161 Cisco 1162 Email: mdurrani@cisco.com 1164 Hongjun Zhai 1165 Jinling Institute of Technology 1166 99 Hongjing Avenue, Jiangning District 1167 Nanjing, Jiangsu 211169 1168 China 1169 Email: honjun.zhai@tom.com 1171 Liang Xia 1172 Huawei Technologies 1173 101 Software Avenue, 1174 Nanjing 210012 1175 China 1176 Email: frank.xialiang@huawei.com