idnits 2.17.1 draft-hao-trill-yang-01.txt: Checking boilerplate required by RFC 5378 and the IETF Trust (see https://trustee.ietf.org/license-info): ---------------------------------------------------------------------------- -- The document has an IETF Trust Provisions (28 Dec 2009) Section 6.c(ii) Publication Limitation clause. If this document is intended for submission to the IESG for publication, this constitutes an error. 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 9 instances of too long lines in the document, the longest one being 18 characters in excess of 72. ** The abstract seems to contain references ([RFC6325]), which it shouldn't. Please replace those with straight textual mentions of the documents in question. Miscellaneous warnings: ---------------------------------------------------------------------------- == The copyright year in the IETF Trust and authors Copyright Line does not match the current year == Line 115 has weird spacing: '... rw for c...' == Line 116 has weird spacing: '... ro for n...' == Line 130 has weird spacing: '...ndwidth uint...' == Line 139 has weird spacing: '...riority uin...' == Line 147 has weird spacing: '...tiplier uint...' == (10 more instances...) -- Couldn't find a document date in the document -- date freshness check skipped. Checking references for intended status: Informational ---------------------------------------------------------------------------- == Missing Reference: 'RFC6242' is mentioned on line 998, but not defined == Missing Reference: 'RFC6536' is mentioned on line 999, but not defined ** Obsolete undefined reference: RFC 6536 (Obsoleted by RFC 8341) == Unused Reference: 'RFC2234' is defined on line 1015, but no explicit reference was found in the text ** Obsolete normative reference: RFC 2234 (Obsoleted by RFC 4234) Summary: 4 errors (**), 0 flaws (~~), 10 warnings (==), 2 comments (--). Run idnits with the --verbose option for more detailed information about the items above. -------------------------------------------------------------------------------- 1 TRILL Weiguo Hao 2 Liang Xia 3 Yizhou Li 4 Internet Draft Huawei 6 Intended status: Informational September 1,2014 7 Expires: March 2015 9 TRILL YANG Data Model 10 draft-hao-trill-yang-01.txt 12 Status of this Memo 14 This Internet-Draft is submitted in full conformance with the 15 provisions of BCP 78 and BCP 79. 17 This Internet-Draft is submitted in full conformance with the 18 provisions of BCP 78 and BCP 79. This document may not be modified, 19 and derivative works of it may not be created, and it may not be 20 published except as an Internet-Draft. 22 This Internet-Draft is submitted in full conformance with the 23 provisions of BCP 78 and BCP 79. This document may not be modified, 24 and derivative works of it may not be created, except to publish it 25 as an RFC and to translate it into languages other than English. 27 Internet-Drafts are working documents of the Internet Engineering 28 Task Force (IETF), its areas, and its working groups. Note that 29 other groups may also distribute working documents as Internet- 30 Drafts. 32 Internet-Drafts are draft documents valid for a maximum of six 33 months and may be updated, replaced, or obsoleted by other documents 34 at any time. It is inappropriate to use Internet-Drafts as 35 reference material or to cite them other than as "work in progress." 37 The list of current Internet-Drafts can be accessed at 38 http://www.ietf.org/ietf/1id-abstracts.txt 40 The list of Internet-Draft Shadow Directories can be accessed at 41 http://www.ietf.org/shadow.html 43 This Internet-Draft will expire on March 1, 2015. 45 Copyright Notice 47 Copyright (c) 2014 IETF Trust and the persons identified as the 48 document authors. All rights reserved. 50 This document is subject to BCP 78 and the IETF Trust's Legal 51 Provisions Relating to IETF Documents 52 (http://trustee.ietf.org/license-info) in effect on the date of 53 publication of this document. Please review these documents 54 carefully, as they describe your rights and restrictions with 55 respect to this document. Code Components extracted from this 56 document must include Simplified BSD License text as described in 57 Section 4.e of the Trust Legal Provisions and are provided without 58 warranty as described in the Simplified BSD License. 60 This document is subject to BCP 78 and the IETF Trust's Legal 61 Provisions Relating to IETF Documents 62 (http://trustee.ietf.org/license-info) in effect on the date of 63 publication of this document. Please review these documents 64 carefully, as they describe your rights and restrictions with 65 respect to this document. 67 Abstract 69 This document presents YANG data model for TRILL protocol [RFC6325]. 71 Table of Contents 73 1. Introduction ................................................ 2 74 2. Requirements Language........................................ 3 75 3. Design of Data model......................................... 3 76 4. TRILL YANG Data model........................................ 7 77 5. Security Considerations..................................... 25 78 6. IANA Considerations ........................................ 26 79 7. References ................................................. 26 80 7.1. Normative References................................... 26 81 7.2. Informative References................................. 26 82 8. Acknowledgments ............................................ 26 84 1. Introduction 86 YANG [RFC6020] is a data definition language that was introduced to 87 define the contents of a conceptual data store that allows networked 88 devices to be managed using NETCONF [RFC6241]. 90 This document presents YANG [RFC6020] data model for the 91 operation of TRILL base protocol [RFC6325]. 93 2. Requirements Language 95 The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", 96 "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this 97 document are to be interpreted as described in [RFC2119]. 99 3. Design of Data model 101 There is only one module for the TRILL base protocol [RFC6325]. The 102 module can be augmented for other TRILL extended features with their 103 specific definitions, such as TRILL active-active connection, TRILL 104 Fine Grained Label, and etc. 105 The TRILL Yang module includes one container named trillSites which 106 contains a list of TRILL instances as single RBridge MAY support 107 multiple TRILL instance. The configuration data is divided into four 108 categories which are per RBridge, per nickname per RBridge, per port 109 per RBridge and per VLAN per RBridge. The non-configuration data 110 includes the information of LSDB, unicast and multicast routing 111 table, RPF check, nickname, peer and some statistics. 113 The figure below describes the overall structure of the TRILL Yang 114 model. The following notations are used within the data tree. 115 rw for configuration data 116 ro for non-configuration data 118 module: trill 119 +--rw trillSites 120 +--rw trillSite* [instanceId] 121 +--rw instanceId uint32 122 +--rw name? string 123 +--rw systemID* uint8 124 +--rw lspTimer 125 | +--rw lspLife uint16 126 | +--rw lspRefresh uint16 127 | +--rw lspGeneration uint8 128 +--rw nickNumber uint16 129 +--rw treeNumber uint16 130 +--rw referenceBandwidth uint32 131 +--rw nativeConfidence uint8 132 +--rw remoteConfidence uint8 133 +--rw minLinkMTU uint16 134 +--rw MTUProbes uint8 135 +--rw Nicknames 136 | +--rw Nickname* [nickName] 137 | +--rw nickName uint16 138 | +--rw priority uint8 139 | +--rw rootPriority uint16 140 +--rw trillPorts 141 | +--rw trillPort* [ifName] 142 | +--rw ifName string 143 | +--rw portMode enumeration 144 | +--rw timer 145 | | +--rw csnp uint16 146 | | +--rw hello uint8 147 | | +--rw holdingMultiplier uint16 148 | | +--rw lspRetransmit uint16 149 | | +--rw lspThrottle 150 | | | +--rw throttleInterval uint16 151 | | | +--rw countNumber uint16 152 | | +--rw inhibitionTimer uint8 153 | +--rw drbConfig 154 | | +--rw drbPriority uint8 155 | | +--rw holdingTimer uint8 156 | +--rw macLearningFlag boolean 157 | +--rw trillFrameReceiveFlag boolean 158 | +--rw cost uint32 159 | +--rw enabledVlans binary 160 | +--rw announcingVlans binary 161 | +--rw forwardingVlans binary 162 | +--ro circuitId uint8 163 | +--ro circuitMTU uint32 164 | +--rw designatedVlan uint16 165 | +--ro drbStatus enumeration 166 +--rw vlanConfigs 167 | +--rw vlanConfig* [vlanID] 168 | +--rw vlanID uint16 169 | +--rw participationFlag boolean 170 | +--rw priority uint8 171 | +--rw holdingTimer uint8 172 +--rw trillRouteInfos 173 | +--ro trillRouteInfo* [nickName nextHop] 174 | +--ro nickName uint16 175 | +--ro cost uint32 176 | +--ro outInterface string 177 | +--ro outVlan uint16 178 | +--ro nextHop string 179 | +--ro hopCount uint32 180 +--rw trillMRouteInfos 181 | +--ro trillMRouteInfo* [vlan rootNickname] 182 | +--ro vlan uint16 183 | +--ro rootNickname uint16 184 | +--ro hopCount uint16 185 | +--ro outInterfaceinfo 186 | +--ro trillMRouteOutInterfaceInfo* [outInterface 187 outVlan 188 | +--ro outInterface string 189 | +--ro outVlan uint16 190 +--rw trillRpfCheckInfos 191 | +--ro trillRpfCheckInfo* [ingressNickname treeNickname] 192 | +--ro ingressNickname uint16 193 | +--ro treeNickname uint16 194 | +--ro interfaceName string 195 | +--ro neighborMac string 196 | +--ro designatedVlan uint16 197 +--rw trillPeerInfos 198 | +--ro trillPeerInfo* [hostName circuitId] 199 | +--ro hostName string 200 | +--ro interfaceName string 201 | +--ro circuitId uint8 202 | +--ro status enumeration 203 | +--ro holdTime uint16 204 | +--ro priority uint8 205 +--rw trillLsdbInfos 206 | +--ro trillLsdbInfo* [lspId] 207 | +--ro lspId lspID 208 | +--ro seqenceNumber uint32 209 | +--ro checkSum uint16 210 | +--ro lspLength uint32 211 | +--ro attBit uint8 212 | +--ro partitionBit uint8 213 | +--ro overloadBit uint8 214 | +--ro holdTime uint16 215 | +--ro localLsp boolean 216 +--rw trillNicknameInfos 217 | +--ro trillNicknameInfo* [nickName systemId] 218 | +--ro nickName uint32 219 | +--ro priority uint8 220 | +--ro rootPriority uint32 221 | +--ro systemId string 222 | +--ro conflictState enumeration 223 | +--ro staticFlag enumeration 224 | +--ro isLocal boolean 225 +--rw trillStatistics 226 | +--rw interfaceStat 227 | | +--ro upNum uint32 228 | | +--ro downNum uint32 229 | +--rw pktstatistics 230 | | +--ro reportNum uint32 231 | | +--ro detectNum uint32 232 | | +--ro twoWayNum uint32 233 | +--ro unicastRoutesNum uint32 234 | +--ro multicastRoutesNum uint32 235 | +--ro rpfEntrysNum uint32 236 | +--ro remoteNicknamesNum uint32 237 | +--ro lsdbLSPsNum uint32 238 | +--ro selfLSPsNum uint32 239 | +--ro multicastTreesNum uint32 240 | +--ro unicastNodesNum uint32 241 | +--ro multicastNodesNum uint32 242 +--rw pktStatistics 243 +--ro pktStatistic* [interfaceName] 244 +--ro interfaceName string 245 +--ro sentHellosNum uint32 246 +--ro recvedHellosNum uint32 247 +--ro sentLSPsNum uint32 248 +--ro recvedLSPsNum uint32 249 +--ro sentCSNPsNum uint32 250 +--ro recvedCSNPsNum uint32 251 +--ro sentPSNPsNum uint32 252 +--ro recvedPSNPsNum uint32 253 +--ro lspRetransmissionsNum uint32 254 +--ro drbElectionsNum uint32 256 4. TRILL YANG Data model 258 module trill { 259 yang-version 1; 260 namespace "urn:ietf:params:xml:ns:yang:ietf-trill"; 261 prefix ietf-trill; 263 import ietf-yang-types { 264 prefix yang; 265 } 267 revision 2014-08-10{ 268 description "creating trill base model"; 269 } 271 typedef lspID { 272 type string; 273 description "The 8 byte LSP ID, consisting of the SystemID, Circuit ID, and 274 Fragment Number."; 275 } 277 container trillSites { 278 list trillSite { 279 key "instanceId"; 280 leaf instanceId { 281 description "TRILL instance ID"; 282 config "true"; 283 type uint32 { 284 range "0..4294967295"; 285 } 286 } 287 leaf name { 288 description "TRILL instance name"; 289 config "true"; 290 type string; 291 } 292 leaf-list systemID { 293 config "true"; 294 max-elements "6"; 295 type uint8 { 296 range "0..255"; 297 } 298 } 300 container lspTimer { 301 leaf lspLife { 302 description "LSP aging timer.Unit:Second"; 303 config "true"; 304 default "1200"; 305 type uint16 { 306 range "2..65535"; 307 } 308 } 309 leaf lspRefresh { 310 description "LSP refresh timer.Unit:Second"; 311 config "true"; 312 default "900"; 313 type uint16 { 314 range "1..65534"; 315 } 316 } 317 leaf lspGeneration { 318 description "LSP generate timer.Unit:Second"; 319 config "true"; 320 default "2"; 321 type uint8 { 322 range "1..120"; 323 } 324 } 325 } 327 leaf nickNumber { 328 description "Maximum nickname number"; 329 config "true"; 330 default "1"; 331 type uint16 { 332 range "1..256"; 333 } 335 } 336 leaf treeNumber { 337 description "Maximum distribution tree number"; 338 config "true"; 339 default "1"; 340 type uint16 { 341 range "1..65535"; 342 } 343 } 344 leaf referenceBandwidth { 345 description "TRILL reference bandwidth"; 346 config "true"; 347 default "20000000"; 348 type uint32 { 349 range "1..2147483648"; 350 } 351 } 352 leaf nativeConfidence { 353 description "The confidence in { MAC, VLAN, local port } triples learned from 354 locally received native frames"; 355 config "true"; 356 default "32"; 357 type uint8 { 358 range "0..255"; 359 } 360 } 361 leaf remoteConfidence { 362 description "The confidence in { MAC, VLAN, remote RBridge } triples learned from 363 decapsulating frames"; 364 config "true"; 365 default "32"; 366 type uint8 { 367 range "0..255"; 368 } 369 } 370 leaf minLinkMTU { 371 config "true"; 372 default "1470"; 373 type uint16 { 374 range "1..65535"; 375 } 376 } 377 leaf MTUProbes { 378 description "The number of failed MTU-probes"; 379 config "true"; 380 default "3"; 381 type uint8 { 382 range "1..255"; 383 } 384 } 386 container Nicknames { 387 list Nickname { 388 key "nickName"; 389 leaf nickName { 390 config "true"; 391 mandatory "true"; 392 type uint16 { 393 range "1..65471"; 394 } 395 } 396 leaf priority { 397 config "true"; 398 default "192"; 399 type uint8 { 400 range "128..255"; 401 } 402 } 403 leaf rootPriority { 404 config "true"; 405 default "32768"; 406 type uint16 { 407 range "1..65535"; 408 } 409 } 410 } 411 } 412 container trillPorts { 413 list trillPort { 414 key "ifName"; 415 leaf ifName { 416 description "trill interface"; 417 type string; 418 } 419 leaf portMode { 420 config "true"; 421 default "p2p"; 422 type enumeration { 423 enum "access" { 424 value "0"; 425 description "Only process native frame"; 426 } 427 enum "p2p" { 428 value "1"; 429 description "Use IS-IS P2P Hellos"; 430 } 431 enum "trunk" { 432 value "2"; 433 description "Only process TRILL frames"; 434 } 435 enum "hybrid" { 436 value "3"; 437 description "Both trunk and access port"; 438 } 439 } 440 } 441 container timer { 442 leaf csnp { 443 config "true"; 444 default "10"; 445 type uint16 { 446 range "1..65535"; 447 } 448 } 449 leaf hello { 450 config "true"; 451 default "10"; 452 type uint8 { 453 range "3..255"; 454 } 455 } 456 leaf holdingMultiplier { 457 config "true"; 458 default "3"; 459 type uint16 { 460 range "3..1000"; 461 } 462 } 463 leaf lspRetransmit { 464 config "true"; 465 default "5"; 466 type uint16 { 467 range "1..300"; 468 } 469 } 470 container lspThrottle { 471 leaf throttleInterval { 472 description "The interval timer between two LSP messages.Unit:ms"; 473 config "true"; 474 default "50"; 475 type uint16 { 476 range "1..10000"; 477 } 478 } 479 leaf countNumber { 480 description "The max messages number being sent each time.Unit:ms"; 481 config "true"; 482 default "10"; 483 type uint16 { 484 range "1..1000"; 485 } 486 } 487 } 488 leaf inhibitionTimer { 489 description "The inhibition time for the port when root bridge 490 changes.Unit:Second"; 491 config "true"; 492 default "30"; 493 type uint8 { 494 range "0..30"; 495 } 496 } 497 } 499 container drbConfig { 500 leaf drbPriority { 501 config "true"; 502 default "64"; 503 type uint8 { 504 range "0..127"; 505 } 506 } 507 leaf holdingTimer { 508 config "true"; 509 default "10"; 510 type uint8 { 511 range "3..255"; 512 } 513 } 514 } 515 leaf macLearningFlag { 516 description "if learning MAC address from locally received native frames"; 517 config "true"; 518 default "true"; 519 type boolean; 520 } 521 leaf trillFrameReceiveFlag { 522 description "if receiving of TRILL frames from non IS-IS adjacency"; 523 config "true"; 524 default "false"; 525 type boolean; 526 } 527 leaf cost { 528 config "true"; 529 default "0"; 530 type uint32 { 531 range "0..16777215"; 532 } 533 } 534 leaf enabledVlans { 535 config "true"; 536 type binary{ 537 length "1..4096"; 538 } 539 } 540 leaf announcingVlans { 541 config "true"; 542 type binary{ 543 length "1..4096"; 544 } 545 } 546 leaf forwardingVlans { 547 config "true"; 548 type binary{ 549 length "1..4096"; 550 } 551 } 552 leaf circuitId { 553 config "false"; 554 type uint8; 555 } 556 leaf circuitMTU { 557 config "false"; 558 type uint32; 559 } 560 leaf designatedVlan { 561 config "true"; 562 type uint16{ 563 range "1..4096"; 564 } 565 } 566 leaf drbStatus { 567 config "false"; 568 type enumeration { 569 enum "Non-DRB" { 570 value "0"; 571 description "Non-DRB:"; 572 } 573 enum "DRB" { 574 value "1"; 575 description "DRB:"; 576 } 577 enum "Down" { 578 value "2"; 579 description "Down:"; 580 } 581 enum "Suspended" { 582 value "3"; 583 description "Suspended:"; 584 } 585 } 586 } 587 } 588 } 590 container vlanConfigs { 591 list vlanConfig{ 592 key "vlanID"; 593 config "true"; 594 leaf vlanID { 595 config "true"; 596 type uint16 { 597 range "1..4096"; 598 } 599 } 600 leaf participationFlag { 601 config "true"; 602 default "false"; 603 type boolean; 604 } 605 leaf priority { 606 config "true"; 607 default "64"; 608 type uint8 { 609 range "0..127"; 610 } 611 } 612 leaf holdingTimer { 613 config "true"; 614 default "10"; 615 type uint8 { 616 range "3..255"; 617 } 618 } 619 } 620 } 622 container trillRouteInfos { 623 list trillRouteInfo { 624 key "nickName nextHop"; 625 config "false"; 626 leaf nickName { 627 config "false"; 628 type uint16; 629 } 630 leaf cost { 631 config "false"; 632 type uint32; 633 } 634 leaf outInterface { 635 config "false"; 636 type string; 637 } 638 leaf outVlan { 639 config "false"; 640 type uint16; 641 } 642 leaf nextHop { 643 config "false"; 644 type string; 645 } 646 leaf hopCount { 647 config "false"; 648 type uint32; 649 } 650 } 651 } 653 container trillMRouteInfos { 654 list trillMRouteInfo { 655 description "Distribution pruning tree route table; For non-pruning tree, VLAN 656 is set to be 0XFFFF"; 657 key "vlan rootNickname"; 658 config "false"; 660 leaf vlan { 661 config "false"; 662 type uint16; 663 } 664 leaf rootNickname { 665 config "false"; 666 type uint16; 667 } 668 leaf hopCount { 669 config "false"; 670 type uint16; 671 } 672 container outInterfaceinfo { 673 list trillMRouteOutInterfaceInfo { 674 key "outInterface outVlan"; 675 config "false"; 677 leaf outInterface { 678 config "false"; 679 type string; 680 } 681 leaf outVlan { 682 config "false"; 683 type uint16; 684 } 686 } 687 } 688 } 689 } 691 container trillRpfCheckInfos { 692 list trillRpfCheckInfo { 693 key "ingressNickname treeNickname"; 694 config "false"; 696 leaf ingressNickname { 697 config "false"; 698 type uint16; 699 } 700 leaf treeNickname { 701 config "false"; 702 type uint16; 703 } 704 leaf interfaceName { 705 config "false"; 706 type string; 707 } 708 leaf neighborMac { 709 config "false"; 710 type string; 711 } 712 leaf designatedVlan { 713 config "false"; 714 type uint16; 715 } 716 } 717 } 719 container trillPeerInfos { 720 list trillPeerInfo { 721 key "hostName circuitId"; 722 config "false"; 724 leaf hostName { 725 description "Peer RBridge name"; 726 config "false"; 727 type string; 728 } 729 leaf interfaceName { 730 config "false"; 731 type "string"; 732 } 733 leaf circuitId { 734 config "false"; 735 type uint8; 736 } 737 leaf status { 738 config "false"; 739 type enumeration { 740 enum "report" { 741 value "0"; 742 description "report:"; 743 } 744 enum "detect" { 745 value "1"; 746 description "detect:"; 747 } 748 enum "down" { 749 value "2"; 750 description "down:"; 751 } 752 enum "2way" { 753 value "3"; 754 description "2way:"; 755 } 756 } 757 } 758 leaf holdTime { 759 config "false"; 760 type uint16; 761 } 762 leaf priority { 763 config "false"; 764 type uint8; 765 } 766 } 767 } 769 container trillLsdbInfos { 770 list trillLsdbInfo { 771 key "lspId"; 772 config "false"; 774 leaf lspId { 775 type lspID; 776 } 777 leaf seqenceNumber { 778 config "false"; 779 type uint32; 780 } 781 leaf checkSum { 782 config "false"; 783 type uint16; 784 } 785 leaf lspLength { 786 config "false"; 787 type uint32 { 788 range "0..2000"; 789 } 790 } 791 leaf attBit { 792 config "false"; 793 type uint8 { 794 range "0..1"; 795 } 796 } 797 leaf partitionBit { 798 config "false"; 799 type uint8 { 800 range "0..1"; 801 } 802 } 803 leaf overloadBit { 804 config "false"; 805 type uint8 { 806 range "0..1"; 807 } 808 } 809 leaf holdTime { 810 config "false"; 811 type uint16; 812 } 813 leaf localLsp { 814 config "false"; 815 type boolean; 816 } 817 } 818 } 820 container trillNicknameInfos { 821 list trillNicknameInfo { 822 key "nickName systemId"; 823 config "false"; 825 leaf nickName { 826 config "false"; 827 type uint32; 828 } 829 leaf priority { 830 config "false"; 831 type uint8; 832 } 833 leaf rootPriority { 834 config "false"; 835 type uint32; 836 } 837 leaf systemId { 838 config "false"; 839 type string; 840 } 841 leaf conflictState { 842 config "false"; 843 type enumeration { 844 enum "S" { 845 value "0"; 846 description "S:"; 847 } 848 enum "A" { 849 value "1"; 850 description "A:"; 851 } 852 } 853 } 854 leaf staticFlag { 855 config "false"; 856 type enumeration { 857 enum "S" { 858 value "0"; 859 description "S:"; 860 } 861 enum "D" { 862 value "1"; 863 description "D:"; 864 } 865 } 866 } 867 leaf isLocal { 868 config "false"; 869 type boolean; 870 } 871 } 872 } 874 container trillStatistics { 875 container interfaceStat { 876 leaf upNum { 877 config "false"; 878 type uint32; 879 } 880 leaf downNum { 881 config "false"; 882 type uint32; 883 } 884 } 886 container pktstatistics { 887 leaf reportNum { 888 config "false"; 889 type uint32; 890 } 891 leaf detectNum { 892 config "false"; 893 type uint32; 894 } 895 leaf twoWayNum { 896 config "false"; 897 type uint32; 898 } 899 } 900 leaf unicastRoutesNum { 901 config "false"; 902 type uint32; 903 } 904 leaf multicastRoutesNum { 905 config "false"; 906 type uint32; 907 } 908 leaf rpfEntrysNum { 909 config "false"; 910 type uint32; 911 } 912 leaf remoteNicknamesNum { 913 config "false"; 914 type uint32; 915 } 916 leaf lsdbLSPsNum { 917 config "false"; 918 type uint32; 919 } 920 leaf selfLSPsNum { 921 config "false"; 922 type uint32; 923 } 924 leaf multicastTreesNum { 925 config "false"; 926 type uint32; 927 } 928 leaf unicastNodesNum { 929 config "false"; 930 type uint32; 931 } 932 leaf multicastNodesNum { 933 config "false"; 934 type uint32; 935 } 936 } 938 container pktStatistics { 939 list pktStatistic { 940 key "interfaceName"; 941 config "false"; 943 leaf interfaceName { 944 config "false"; 945 type string; 946 } 947 leaf sentHellosNum { 948 config "false"; 949 type uint32; 950 } 951 leaf recvedHellosNum { 952 config "false"; 953 type uint32; 954 } 955 leaf sentLSPsNum { 956 config "false"; 957 type uint32; 958 } 959 leaf recvedLSPsNum { 960 config "false"; 961 type uint32; 962 } 963 leaf sentCSNPsNum { 964 config "false"; 965 type uint32; 966 } 967 leaf recvedCSNPsNum { 968 config "false"; 969 type uint32; 970 } 971 leaf sentPSNPsNum { 972 config "false"; 973 type uint32; 974 } 975 leaf recvedPSNPsNum { 976 config "false"; 977 type uint32; 978 } 979 leaf lspRetransmissionsNum { 980 config "false"; 981 type uint32; 982 } 983 leaf drbElectionsNum { 984 config "false"; 985 type uint32; 986 } 987 } 988 } 989 } 990 } 991 } 993 5. Security Considerations 995 The YANG module defined in this memo is designed to be accessed via 996 the NETCONF protocol [RFC6241] [RFC6241]. The lowest NETCONF layer 997 is the secure transport layer and the mandatory-to-implement secure 998 transport is SSH [RFC6242] [RFC6242]. The NETCONF access control 999 model [RFC6536] [RFC6536] provides the means to restrict access for 1000 particular NETCONF users to a pre-configured subset of all available 1001 NETCONF protocol operations and content. 1003 6. IANA Considerations 1005 This document requires no IANA Actions. RFC Editor: Please remove 1006 this section before publication. 1008 7. References 1010 7.1. Normative References 1012 [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate 1013 Requirement Levels", BCP 14, RFC 2119, March 1997. 1015 [RFC2234] Crocker, D. and Overell, P.(Editors), "Augmented BNF for 1016 Syntax Specifications: ABNF", RFC 2234, Internet Mail 1017 Consortium and Demon Internet Ltd., November 1997. 1019 7.2. Informative References 1021 [RFC6325] Perlman, R., et.al., "Routing Bridges (RBridges): Base 1022 Protocol Specification", RFC 6325, July 2011. 1024 [RFC6020] Bjorklund, M., "YANG - A Data Modeling Language for the 1025 Network Configuration Protocol (NETCONF)", RFC 6020, 1026 October 2010. 1028 [RFC6241] Enns, R., Bjorklund, M., Schoenwaelder, J., and A. Bierman, 1029 "Network Configuration Protocol (NETCONF)", RFC6241, June 1030 2011. 1032 8. Acknowledgments 1034 The authors wish to acknowledge the important contributions of 1035 Guangying Zheng, Xianping Zhang, Wenxia Hou, Zhibo Hu. 1037 Authors' Addresses 1039 Weiguo Hao 1040 Huawei Technologies 1041 101 Software Avenue, 1042 Nanjing 210012 1043 China 1044 Phone: +86-25-56623144 1045 Email: haoweiguo@huawei.com 1047 Liang Xia 1048 Huawei Technologies 1049 101 Software Avenue, 1050 Nanjing 210012 1051 China 1052 Email: frank.xialiang@huawei.com 1054 Yizhou Li 1055 Huawei Technologies 1056 101 Software Avenue, 1057 Nanjing 210012 1058 China 1059 Phone: +86-25-56625375 1060 Email: liyizhou@huawei.com