Internet DRAFT - draft-hao-trill-yang

draft-hao-trill-yang



TRILL                                                        Weiguo Hao
                                                              Liang Xia
                                                              Yizhou Li
Internet Draft                                                   Huawei

Intended status: Informational                         September 1,2014
Expires: March 2015



                           TRILL YANG Data Model
                        draft-hao-trill-yang-01.txt


Status of this Memo

   This Internet-Draft is submitted in full conformance with the
   provisions of BCP 78 and BCP 79.

   This Internet-Draft is submitted in full conformance with the
   provisions of BCP 78 and BCP 79. This document may not be modified,
   and derivative works of it may not be created, and it may not be
   published except as an Internet-Draft.

   This Internet-Draft is submitted in full conformance with the
   provisions of BCP 78 and BCP 79. This document may not be modified,
   and derivative works of it may not be created, except to publish it
   as an RFC and to translate it into languages other than English.

   Internet-Drafts are working documents of the Internet Engineering
   Task Force (IETF), its areas, and its working groups.  Note that
   other groups may also distribute working documents as Internet-
   Drafts.

   Internet-Drafts are draft documents valid for a maximum of six
   months and may be updated, replaced, or obsoleted by other documents
   at any time.  It is inappropriate to use Internet-Drafts as
   reference material or to cite them other than as "work in progress."

   The list of current Internet-Drafts can be accessed at
   http://www.ietf.org/ietf/1id-abstracts.txt

   The list of Internet-Draft Shadow Directories can be accessed at
   http://www.ietf.org/shadow.html

   This Internet-Draft will expire on March 1, 2015.







Hao, Xia, et al         Expires March 1, 2015                 [Page 1]

Internet-Draft          TRILL YANG Data Model           September 2015


Copyright Notice

   Copyright (c) 2014 IETF Trust and the persons identified as the
   document authors. All rights reserved.

   This document is subject to BCP 78 and the IETF Trust's Legal
   Provisions Relating to IETF Documents
   (http://trustee.ietf.org/license-info) in effect on the date of
   publication of this document. Please review these documents
   carefully, as they describe your rights and restrictions with
   respect to this document. Code Components extracted from this
   document must include Simplified BSD License text as described in
   Section 4.e of the Trust Legal Provisions and are provided without
   warranty as described in the Simplified BSD License.

   This document is subject to BCP 78 and the IETF Trust's Legal
   Provisions Relating to IETF Documents
   (http://trustee.ietf.org/license-info) in effect on the date of
   publication of this document. Please review these documents
   carefully, as they describe your rights and restrictions with
   respect to this document.

Abstract

   This document presents YANG data model for TRILL protocol [RFC6325].

Table of Contents


   1. Introduction ................................................ 2
   2. Requirements Language........................................ 3
   3. Design of Data model......................................... 3
   4. TRILL YANG Data model........................................ 7
   5. Security Considerations..................................... 25
   6. IANA Considerations ........................................ 26
   7. References ................................................. 26
      7.1. Normative References................................... 26
      7.2. Informative References................................. 26
   8. Acknowledgments ............................................ 26

1. Introduction

   YANG [RFC6020] is a data definition language that was introduced to
   define the contents of a conceptual data store that allows networked
   devices to be managed using NETCONF [RFC6241].




Hao, Xia, et al         Expires March 1, 2015                 [Page 2]

Internet-Draft          TRILL YANG Data Model           September 2015


   This document presents YANG [RFC6020] data model for the
   operation of TRILL base protocol [RFC6325].

2. Requirements Language

   The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
   "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this
   document are to be interpreted as described in [RFC2119].

3. Design of Data model

   There is only one module for the TRILL base protocol [RFC6325]. The
   module can be augmented for other TRILL extended features with their
   specific definitions, such as TRILL active-active connection, TRILL
   Fine Grained Label, and etc.
   The TRILL Yang module includes one container named trillSites which
   contains a list of TRILL instances as single RBridge MAY support
   multiple TRILL instance. The configuration data is divided into four
   categories which are per RBridge, per nickname per RBridge, per port
   per RBridge and per VLAN per RBridge. The non-configuration data
   includes the information of LSDB, unicast and multicast routing
   table, RPF check, nickname, peer and some statistics.

   The figure below describes the overall structure of the TRILL Yang
   model. The following notations are used within the data tree.
       rw  for configuration data
       ro  for non-configuration data





















Hao, Xia, et al         Expires March 1, 2015                 [Page 3]

Internet-Draft          TRILL YANG Data Model           September 2015




   module: trill
      +--rw trillSites
         +--rw trillSite* [instanceId]
            +--rw instanceId            uint32
            +--rw name?                 string
            +--rw systemID*             uint8
            +--rw lspTimer
            |  +--rw lspLife           uint16
            |  +--rw lspRefresh        uint16
            |  +--rw lspGeneration     uint8
            +--rw nickNumber           uint16
            +--rw treeNumber           uint16
            +--rw referenceBandwidth   uint32
            +--rw nativeConfidence     uint8
            +--rw remoteConfidence     uint8
            +--rw minLinkMTU           uint16
            +--rw MTUProbes            uint8
            +--rw Nicknames
            |  +--rw Nickname* [nickName]
            |     +--rw nickName        uint16
            |     +--rw priority        uint8
            |     +--rw rootPriority    uint16
            +--rw trillPorts
            |  +--rw trillPort* [ifName]
            |     +--rw ifName                   string
            |     +--rw portMode                 enumeration
            |     +--rw timer
            |     |  +--rw csnp                uint16
            |     |  +--rw hello               uint8
            |     |  +--rw holdingMultiplier   uint16
            |     |  +--rw lspRetransmit       uint16
            |     |  +--rw lspThrottle
            |     |  |  +--rw throttleInterval   uint16
            |     |  |  +--rw countNumber        uint16
            |     |  +--rw inhibitionTimer       uint8
            |     +--rw drbConfig
            |     |  +--rw drbPriority    uint8
            |     |  +--rw holdingTimer   uint8
            |     +--rw macLearningFlag         boolean
            |     +--rw trillFrameReceiveFlag   boolean
            |     +--rw cost                    uint32
            |     +--rw enabledVlans            binary
            |     +--rw announcingVlans         binary
            |     +--rw forwardingVlans         binary
            |     +--ro circuitId               uint8


Hao, Xia, et al         Expires March 1, 2015                 [Page 4]

Internet-Draft          TRILL YANG Data Model           September 2015


            |     +--ro circuitMTU              uint32
            |     +--rw designatedVlan          uint16
            |     +--ro drbStatus               enumeration
            +--rw vlanConfigs
            |  +--rw vlanConfig* [vlanID]
            |     +--rw vlanID               uint16
            |     +--rw participationFlag    boolean
            |     +--rw priority             uint8
            |     +--rw holdingTimer         uint8
            +--rw trillRouteInfos
            |  +--ro trillRouteInfo* [nickName nextHop]
            |     +--ro nickName        uint16
            |     +--ro cost            uint32
            |     +--ro outInterface    string
            |     +--ro outVlan         uint16
            |     +--ro nextHop         string
            |     +--ro hopCount        uint32
            +--rw trillMRouteInfos
            |  +--ro trillMRouteInfo* [vlan rootNickname]
            |     +--ro vlan                uint16
            |     +--ro rootNickname        uint16
            |     +--ro hopCount            uint16
            |     +--ro outInterfaceinfo
            |        +--ro trillMRouteOutInterfaceInfo* [outInterface
   outVlan
            |           +--ro outInterface    string
            |           +--ro outVlan         uint16
            +--rw trillRpfCheckInfos
            |  +--ro trillRpfCheckInfo* [ingressNickname treeNickname]
            |     +--ro ingressNickname       uint16
            |     +--ro treeNickname          uint16
            |     +--ro interfaceName         string
            |     +--ro neighborMac           string
            |     +--ro designatedVlan        uint16
            +--rw trillPeerInfos
            |  +--ro trillPeerInfo* [hostName circuitId]
            |     +--ro hostName              string
            |     +--ro interfaceName         string
            |     +--ro circuitId             uint8
            |     +--ro status                enumeration
            |     +--ro holdTime              uint16
            |     +--ro priority              uint8
            +--rw trillLsdbInfos
            |  +--ro trillLsdbInfo* [lspId]
            |     +--ro lspId                 lspID
            |     +--ro seqenceNumber         uint32
            |     +--ro checkSum              uint16


Hao, Xia, et al         Expires March 1, 2015                 [Page 5]

Internet-Draft          TRILL YANG Data Model           September 2015


            |     +--ro lspLength             uint32
            |     +--ro attBit                uint8
            |     +--ro partitionBit          uint8
            |     +--ro overloadBit           uint8
            |     +--ro holdTime              uint16
            |     +--ro localLsp              boolean
            +--rw trillNicknameInfos
            |  +--ro trillNicknameInfo* [nickName systemId]
            |     +--ro nickName              uint32
            |     +--ro priority              uint8
            |     +--ro rootPriority          uint32
            |     +--ro systemId              string
            |     +--ro conflictState         enumeration
            |     +--ro staticFlag            enumeration
            |     +--ro isLocal               boolean
            +--rw trillStatistics
            |  +--rw interfaceStat
            |  |  +--ro upNum                    uint32
            |  |  +--ro downNum                  uint32
            |  +--rw pktstatistics
            |  |  +--ro reportNum                uint32
            |  |  +--ro detectNum                uint32
            |  |  +--ro twoWayNum                uint32
            |  +--ro unicastRoutesNum            uint32
            |  +--ro multicastRoutesNum          uint32
            |  +--ro rpfEntrysNum                uint32
            |  +--ro remoteNicknamesNum          uint32
            |  +--ro lsdbLSPsNum                 uint32
            |  +--ro selfLSPsNum                 uint32
            |  +--ro multicastTreesNum           uint32
            |  +--ro unicastNodesNum             uint32
            |  +--ro multicastNodesNum           uint32
            +--rw pktStatistics
               +--ro pktStatistic* [interfaceName]
                  +--ro interfaceName            string
                  +--ro sentHellosNum            uint32
                  +--ro recvedHellosNum          uint32
                  +--ro sentLSPsNum              uint32
                  +--ro recvedLSPsNum            uint32
                  +--ro sentCSNPsNum             uint32
                  +--ro recvedCSNPsNum           uint32
                  +--ro sentPSNPsNum             uint32
                  +--ro recvedPSNPsNum           uint32
                  +--ro lspRetransmissionsNum    uint32
                  +--ro drbElectionsNum          uint32




Hao, Xia, et al         Expires March 1, 2015                 [Page 6]

Internet-Draft          TRILL YANG Data Model           September 2015


4. TRILL YANG Data model

module trill {
  yang-version 1;
  namespace "urn:ietf:params:xml:ns:yang:ietf-trill";
  prefix ietf-trill;

  import ietf-yang-types {
    prefix yang;
  }

  revision 2014-08-10{
    description "creating trill base model";
  }

  typedef lspID {
    type string;
    description "The 8 byte LSP ID, consisting of the SystemID, Circuit ID,            and
                 Fragment Number.";
  }

  container trillSites {
    list trillSite {
      key "instanceId";
      leaf instanceId {
        description "TRILL instance ID";
        config "true";
        type uint32 {
          range "0..4294967295";
        }
      }
      leaf name {
        description "TRILL instance name";
        config "true";
        type string;
      }
      leaf-list systemID {
        config "true";
        max-elements "6";



Hao, Xia, et al         Expires March 1, 2015                 [Page 7]

Internet-Draft          TRILL YANG Data Model           September 2015


        type uint8 {
          range "0..255";
        }
      }

      container lspTimer {
        leaf lspLife {
          description "LSP aging timer.Unit:Second";
          config "true";
          default "1200";
          type uint16 {
            range "2..65535";
          }
        }
        leaf lspRefresh {
          description "LSP refresh timer.Unit:Second";
          config "true";
          default "900";
          type uint16 {
            range "1..65534";
          }
        }
        leaf lspGeneration {
          description "LSP generate timer.Unit:Second";
          config "true";
          default "2";
          type uint8 {
            range "1..120";
          }
        }
      }

      leaf nickNumber {
        description "Maximum nickname number";
        config "true";
        default "1";
        type uint16 {
          range "1..256";
        }


Hao, Xia, et al         Expires March 1, 2015                 [Page 8]

Internet-Draft          TRILL YANG Data Model           September 2015


      }
      leaf treeNumber {
        description "Maximum distribution tree number";
        config "true";
        default "1";
        type uint16 {
          range "1..65535";
        }
      }
      leaf referenceBandwidth {
          description "TRILL reference bandwidth";
        config "true";
        default "20000000";
        type uint32 {
          range "1..2147483648";
        }
      }
      leaf nativeConfidence {
        description "The confidence in { MAC, VLAN, local port } triples learned from
                     locally received native frames";
        config "true";
        default "32";
        type uint8 {
          range "0..255";
        }
      }
      leaf remoteConfidence {
        description "The confidence in { MAC, VLAN, remote RBridge } triples learned from
                     decapsulating frames";
        config "true";
        default "32";
        type uint8 {
          range "0..255";
        }
      }
      leaf minLinkMTU {
        config "true";
        default "1470";
        type uint16 {


Hao, Xia, et al         Expires March 1, 2015                 [Page 9]

Internet-Draft          TRILL YANG Data Model           September 2015


          range "1..65535";
        }
      }
      leaf MTUProbes {
        description "The number of failed MTU-probes";
        config "true";
        default "3";
        type uint8 {
          range "1..255";
        }
      }

      container Nicknames {
        list Nickname {
          key "nickName";
           leaf nickName {
            config "true";
            mandatory "true";
            type uint16 {
              range "1..65471";
            }
          }
          leaf priority {
            config "true";
            default "192";
            type uint8 {
              range "128..255";
            }
          }
          leaf rootPriority {
            config "true";
            default "32768";
            type uint16 {
              range "1..65535";
            }
          }
        }
      }



Hao, Xia, et al         Expires March 1, 2015                [Page 10]

Internet-Draft          TRILL YANG Data Model           September 2015


      container trillPorts {
        list trillPort {
          key "ifName";
          leaf ifName {
            description "trill interface";
            type string;
          }
          leaf portMode {
            config "true";
            default "p2p";
            type enumeration {
              enum "access" {
                value "0";
                description "Only process native frame";
              }
              enum "p2p" {
                value "1";
                description "Use IS-IS P2P Hellos";
              }
              enum "trunk" {
                value "2";
                description "Only process TRILL frames";
              }
              enum "hybrid" {
                value "3";
                description "Both trunk and access port";
              }
            }
          }
          container timer {
            leaf csnp {
              config "true";
              default "10";
              type uint16 {
                range "1..65535";
              }
            }
            leaf hello {
              config "true";


Hao, Xia, et al         Expires March 1, 2015                [Page 11]

Internet-Draft          TRILL YANG Data Model           September 2015


              default "10";
              type uint8 {
                range "3..255";
              }
            }
            leaf holdingMultiplier {
              config "true";
              default "3";
              type uint16 {
                range "3..1000";
              }
            }
            leaf lspRetransmit {
              config "true";
              default "5";
              type uint16 {
                range "1..300";
              }
            }
            container lspThrottle {
              leaf throttleInterval {
                description "The interval timer between two LSP messages.Unit:ms";
                config "true";
                default "50";
                type uint16 {
                  range "1..10000";
                }
              }
              leaf countNumber {
                description "The max messages number being sent each time.Unit:ms";
                config "true";
                default "10";
                type uint16 {
                  range "1..1000";
                }
              }
            }
            leaf inhibitionTimer {
              description "The inhibition time for the port when root bridge


Hao, Xia, et al         Expires March 1, 2015                [Page 12]

Internet-Draft          TRILL YANG Data Model           September 2015


                           changes.Unit:Second";
              config "true";
              default "30";
              type uint8 {
                range "0..30";
              }
            }
          }

          container drbConfig {
            leaf drbPriority {
              config "true";
              default "64";
              type uint8 {
                range "0..127";
              }
            }
            leaf holdingTimer {
              config "true";
              default "10";
              type uint8 {
                range "3..255";
              }
            }
          }
          leaf macLearningFlag {
            description "if learning MAC address from locally received native frames";
            config "true";
            default "true";
            type boolean;
          }
          leaf trillFrameReceiveFlag {
            description "if receiving of TRILL frames from non IS-IS adjacency";
            config "true";
            default "false";
            type boolean;
          }
          leaf cost {
            config "true";


Hao, Xia, et al         Expires March 1, 2015                [Page 13]

Internet-Draft          TRILL YANG Data Model           September 2015


            default "0";
            type uint32 {
              range "0..16777215";
            }
          }
          leaf enabledVlans {
            config "true";
            type binary{
              length "1..4096";
            }
          }
          leaf announcingVlans {
            config "true";
            type binary{
              length "1..4096";
            }
          }
          leaf forwardingVlans {
            config "true";
            type binary{
              length "1..4096";
            }
          }
          leaf circuitId {
            config "false";
            type uint8;
          }
          leaf circuitMTU {
            config "false";
            type uint32;
          }
          leaf designatedVlan {
            config "true";
            type uint16{
              range "1..4096";
            }
          }
          leaf drbStatus {
            config "false";


Hao, Xia, et al         Expires March 1, 2015                [Page 14]

Internet-Draft          TRILL YANG Data Model           September 2015


            type enumeration {
              enum "Non-DRB" {
                value "0";
                description "Non-DRB:";
              }
              enum "DRB" {
                value "1";
                description "DRB:";
              }
              enum "Down" {
                value "2";
                description "Down:";
              }
              enum "Suspended" {
                value "3";
                description "Suspended:";
              }
            }
          }
        }
      }

      container vlanConfigs {
        list  vlanConfig{
          key "vlanID";
          config "true";
          leaf vlanID {
            config "true";
            type uint16 {
              range "1..4096";
            }
          }
          leaf participationFlag {
            config "true";
            default "false";
            type boolean;
          }
          leaf priority {
            config "true";


Hao, Xia, et al         Expires March 1, 2015                [Page 15]

Internet-Draft          TRILL YANG Data Model           September 2015


            default "64";
            type uint8 {
              range "0..127";
            }
          }
          leaf holdingTimer {
            config "true";
            default "10";
            type uint8 {
              range "3..255";
            }
          }
        }
      }

      container trillRouteInfos {
        list  trillRouteInfo {
          key "nickName nextHop";
          config "false";
           leaf nickName {
            config "false";
            type uint16;
          }
          leaf cost {
            config "false";
            type uint32;
          }
          leaf outInterface {
            config "false";
            type string;
          }
          leaf outVlan {
            config "false";
            type uint16;
          }
          leaf nextHop {
            config "false";
            type string;
          }


Hao, Xia, et al         Expires March 1, 2015                [Page 16]

Internet-Draft          TRILL YANG Data Model           September 2015


          leaf hopCount {
            config "false";
            type uint32;
          }
        }
      }

      container trillMRouteInfos {
        list trillMRouteInfo {
          description "Distribution pruning tree route table; For non-pruning tree, VLAN
                       is set to be 0XFFFF";
          key "vlan rootNickname";
          config "false";

           leaf vlan {
            config "false";
            type uint16;
          }
          leaf rootNickname {
            config "false";
            type uint16;
          }
          leaf hopCount {
            config "false";
            type uint16;
          }
          container outInterfaceinfo {
            list trillMRouteOutInterfaceInfo {
              key "outInterface outVlan";
              config "false";

               leaf outInterface {
                config "false";
                type string;
              }
              leaf outVlan {
                config "false";
                type uint16;
              }


Hao, Xia, et al         Expires March 1, 2015                [Page 17]

Internet-Draft          TRILL YANG Data Model           September 2015


            }
          }
        }
      }

      container trillRpfCheckInfos {
        list trillRpfCheckInfo {
          key "ingressNickname treeNickname";
          config "false";

           leaf ingressNickname {
            config "false";
            type uint16;
          }
          leaf treeNickname {
            config "false";
            type uint16;
          }
          leaf interfaceName {
            config "false";
            type string;
          }
          leaf neighborMac {
            config "false";
            type string;
          }
          leaf designatedVlan {
            config "false";
            type uint16;
          }
        }
      }

      container trillPeerInfos {
        list trillPeerInfo {
          key "hostName circuitId";
          config "false";

           leaf hostName {


Hao, Xia, et al         Expires March 1, 2015                [Page 18]

Internet-Draft          TRILL YANG Data Model           September 2015


             description "Peer RBridge name";
             config "false";
             type string;
          }
          leaf interfaceName {
            config "false";
            type "string";
          }
          leaf circuitId {
            config "false";
            type uint8;
          }
          leaf status {
            config "false";
            type enumeration {
              enum "report" {
                value "0";
                description "report:";
              }
              enum "detect" {
                value "1";
                description "detect:";
              }
              enum "down" {
                value "2";
                description "down:";
              }
              enum "2way" {
                value "3";
                description "2way:";
              }
            }
          }
          leaf holdTime {
            config "false";
            type uint16;
          }
          leaf priority {
            config "false";


Hao, Xia, et al         Expires March 1, 2015                [Page 19]

Internet-Draft          TRILL YANG Data Model           September 2015


            type uint8;
          }
        }
      }

      container trillLsdbInfos {
        list trillLsdbInfo {
          key "lspId";
          config "false";

          leaf lspId {
            type lspID;
          }
          leaf seqenceNumber {
            config "false";
            type uint32;
          }
          leaf checkSum {
            config "false";
            type uint16;
          }
          leaf lspLength {
            config "false";
            type uint32 {
              range "0..2000";
            }
          }
          leaf attBit {
            config "false";
            type uint8 {
              range "0..1";
            }
          }
          leaf partitionBit {
            config "false";
            type uint8 {
              range "0..1";
            }
          }


Hao, Xia, et al         Expires March 1, 2015                [Page 20]

Internet-Draft          TRILL YANG Data Model           September 2015


          leaf overloadBit {
            config "false";
            type uint8 {
              range "0..1";
            }
          }
          leaf holdTime {
            config "false";
            type uint16;
          }
          leaf localLsp {
            config "false";
            type boolean;
          }
        }
      }

      container trillNicknameInfos {
        list trillNicknameInfo {
          key "nickName systemId";
          config "false";

           leaf nickName {
            config "false";
            type uint32;
          }
          leaf priority {
            config "false";
            type uint8;
          }
          leaf rootPriority {
            config "false";
            type uint32;
          }
          leaf systemId {
            config "false";
            type string;
          }
          leaf conflictState {


Hao, Xia, et al         Expires March 1, 2015                [Page 21]

Internet-Draft          TRILL YANG Data Model           September 2015


            config "false";
            type enumeration {
              enum "S" {
                value "0";
                description "S:";
              }
              enum "A" {
                value "1";
                description "A:";
              }
            }
          }
          leaf staticFlag {
            config "false";
            type enumeration {
              enum "S" {
                value "0";
                description "S:";
              }
              enum "D" {
                value "1";
                description "D:";
              }
            }
          }
          leaf isLocal {
            config "false";
            type boolean;
          }
        }
      }

     container trillStatistics {
        container interfaceStat {
          leaf upNum {
            config "false";
            type uint32;
          }
          leaf downNum {


Hao, Xia, et al         Expires March 1, 2015                [Page 22]

Internet-Draft          TRILL YANG Data Model           September 2015


            config "false";
            type uint32;
          }
        }

        container pktstatistics {
          leaf reportNum {
            config "false";
            type uint32;
          }
          leaf detectNum {
            config "false";
            type uint32;
          }
          leaf twoWayNum {
            config "false";
            type uint32;
          }
        }
        leaf unicastRoutesNum {
          config "false";
          type uint32;
        }
        leaf multicastRoutesNum {
          config "false";
          type uint32;
        }
        leaf rpfEntrysNum {
          config "false";
          type uint32;
        }
        leaf remoteNicknamesNum {
          config "false";
          type uint32;
        }
        leaf lsdbLSPsNum {
          config "false";
          type uint32;
        }


Hao, Xia, et al         Expires March 1, 2015                [Page 23]

Internet-Draft          TRILL YANG Data Model           September 2015


        leaf selfLSPsNum {
          config "false";
          type uint32;
        }
        leaf multicastTreesNum {
          config "false";
          type uint32;
        }
        leaf unicastNodesNum {
          config "false";
          type uint32;
        }
        leaf multicastNodesNum {
          config "false";
          type uint32;
        }
      }

      container pktStatistics {
        list pktStatistic {
          key "interfaceName";
          config "false";

          leaf interfaceName {
            config "false";
            type string;
          }
          leaf sentHellosNum {
            config "false";
            type uint32;
          }
          leaf recvedHellosNum {
            config "false";
            type uint32;
          }
          leaf sentLSPsNum {
            config "false";
            type uint32;
          }


Hao, Xia, et al         Expires March 1, 2015                [Page 24]

Internet-Draft          TRILL YANG Data Model           September 2015


          leaf recvedLSPsNum {
            config "false";
            type uint32;
          }
          leaf sentCSNPsNum {
            config "false";
            type uint32;
          }
          leaf recvedCSNPsNum {
            config "false";
            type uint32;
          }
          leaf sentPSNPsNum {
            config "false";
            type uint32;
          }
          leaf recvedPSNPsNum {
            config "false";
            type uint32;
          }
          leaf lspRetransmissionsNum {
            config "false";
            type uint32;
          }
          leaf drbElectionsNum {
            config "false";
            type uint32;
          }
        }
      }
    }
  }
}


5. Security Considerations

   The YANG module defined in this memo is designed to be accessed via
   the NETCONF protocol [RFC6241] [RFC6241]. The lowest NETCONF layer
   is the secure transport layer and the mandatory-to-implement secure


Hao, Xia, et al         Expires March 1, 2015                [Page 25]

Internet-Draft          TRILL YANG Data Model           September 2015


   transport is SSH [RFC6242] [RFC6242]. The NETCONF access control
   model [RFC6536] [RFC6536] provides the means to restrict access for
   particular NETCONF users to a pre-configured subset of all available
   NETCONF protocol operations and content.

6. IANA Considerations

   This document requires no IANA Actions. RFC Editor: Please remove
   this section before publication.

7. References

7.1. Normative References

   [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate
             Requirement Levels", BCP 14, RFC 2119, March 1997.

   [RFC2234] Crocker, D. and Overell, P.(Editors), "Augmented BNF for
             Syntax Specifications: ABNF", RFC 2234, Internet Mail
             Consortium and Demon Internet Ltd., November 1997.

7.2. Informative References

   [RFC6325] Perlman, R., et.al., "Routing Bridges (RBridges): Base
             Protocol Specification", RFC 6325, July 2011.

   [RFC6020] Bjorklund, M., "YANG - A Data Modeling Language for the
             Network Configuration Protocol (NETCONF)", RFC 6020,
             October 2010.

   [RFC6241] Enns, R., Bjorklund, M., Schoenwaelder, J., and A. Bierman,
             "Network Configuration Protocol (NETCONF)", RFC6241, June
             2011.



8. Acknowledgments

   The authors wish to acknowledge the important contributions of
   Guangying Zheng, Xianping Zhang, Wenxia Hou, Zhibo Hu.









Hao, Xia, et al         Expires March 1, 2015                [Page 26]

Internet-Draft          TRILL YANG Data Model           September 2015


Authors' Addresses

   Weiguo Hao
   Huawei Technologies
   101 Software Avenue,
   Nanjing 210012
   China
   Phone: +86-25-56623144
   Email: haoweiguo@huawei.com

   Liang Xia
   Huawei Technologies
   101 Software Avenue,
   Nanjing 210012
   China
   Email: frank.xialiang@huawei.com

   Yizhou Li
   Huawei Technologies
   101 Software Avenue,
   Nanjing 210012
   China
   Phone: +86-25-56625375
   Email: liyizhou@huawei.com
























Hao, Xia, et al         Expires March 1, 2015                [Page 27]