TRILL YANG Data Model
draft-hao-trill-yang-00

The information below is for an old version of the document
Document Type Active Internet-Draft (individual)
Authors Hao Weiguo  , Liang Xia  , Yizhou Li 
Last updated 2014-08-29
Replaced by draft-ietf-trill-yang, draft-ietf-trill-yang, draft-ietf-trill-yang, draft-ietf-trill-yang, draft-ietf-trill-yang, draft-ietf-trill-yang, draft-ietf-trill-yang, draft-ietf-trill-yang
Stream (None)
Formats plain text pdf htmlized bibtex
Stream Stream state (No stream defined)
Consensus Boilerplate Unknown
RFC Editor Note (None)
IESG IESG state I-D Exists
Telechat date
Responsible AD (None)
Send notices to (None)
TRILL                                                        Weiguo Hao
                                                              Liang Xia
                                                              Yizhou Li
Internet Draft                                                   Huawei

Intended status: Informational                           August 29,2014
Expires: February 2015

                           TRILL YANG Data Model
                        draft-hao-trill-yang-00.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 January 29, 200915.

Hao, Xia, et al       Expires February 29, 2015               [Page 1]
Internet-Draft          TRILL YANG Data Model                August 2014

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..................................... 37
   6. IANA Considerations ........................................ 37
   7. References ................................................. 38
      7.1. Normative References................................... 38
      7.2. Informative References................................. 38
   8. Acknowledgments ............................................ 38

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 February 29, 2015               [Page 2]
Internet-Draft          TRILL YANG Data Model                August 2014

   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 February 29, 2015               [Page 3]
Internet-Draft          TRILL YANG Data Model                August 2014

   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 February 29, 2015               [Page 4]
Internet-Draft          TRILL YANG Data Model                August 2014

            |     +--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
   outVl
            |           +--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 February 29, 2015               [Page 5]
Internet-Draft          TRILL YANG Data Model                August 2014

            |     +--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 February 29, 2015               [Page 6]
Internet-Draft          TRILL YANG Data Model                August 2014

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 {

Hao, Xia, et al       Expires February 29, 2015               [Page 7]
Internet-Draft          TRILL YANG Data Model                August 2014

              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";

              type uint8 {

                  range "0..255";

              }

      }

      container lspTimer {

        leaf lspLife {

          description "LSP aging timer.Unit:Second";

          config "true";

          default "1200";

          type uint16 {

Hao, Xia, et al       Expires February 29, 2015               [Page 8]
Internet-Draft          TRILL YANG Data Model                August 2014

              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";

Hao, Xia, et al       Expires February 29, 2015               [Page 9]
Internet-Draft          TRILL YANG Data Model                August 2014

           type uint16 {

            range "1..256";

            }

      }

      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";

Hao, Xia, et al       Expires February 29, 2015              [Page 10]
Internet-Draft          TRILL YANG Data Model                August 2014

           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 {
         
             range "1..65535";
         
         }

      }

      leaf MTUProbes {

          description "The number of failed MTU-probes";

          config "true";

Hao, Xia, et al       Expires February 29, 2015              [Page 11]
Internet-Draft          TRILL YANG Data Model                August 2014

          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";

Hao, Xia, et al       Expires February 29, 2015              [Page 12]
Internet-Draft          TRILL YANG Data Model                August 2014

            default "32768";

            type uint16 {

                range "1..65535";

            }

          }

        }

      }

      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";

Hao, Xia, et al       Expires February 29, 2015              [Page 13]
Internet-Draft          TRILL YANG Data Model                August 2014

                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";

              default "10";

              type uint8 {

Hao, Xia, et al       Expires February 29, 2015              [Page 14]
Internet-Draft          TRILL YANG Data Model                August 2014

                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 {

Hao, Xia, et al       Expires February 29, 2015              [Page 15]
Internet-Draft          TRILL YANG Data Model                August 2014

                  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 changes.Unit:Second";

                config "true";
                
                default "30";
                
                type uint8 {
                
                  range "0..30";
                
                }

              }

                                        }

              container drbConfig {

                 leaf drbPriority {

Hao, Xia, et al       Expires February 29, 2015              [Page 16]
Internet-Draft          TRILL YANG Data Model                August 2014

                 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";

Hao, Xia, et al       Expires February 29, 2015              [Page 17]
Internet-Draft          TRILL YANG Data Model                August 2014

             default "false";
             
             type boolean;

          }

          leaf cost {

            config "true";

            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";

Hao, Xia, et al       Expires February 29, 2015              [Page 18]
Internet-Draft          TRILL YANG Data Model                August 2014

            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";

            type enumeration {

              enum "Non-DRB" {

                value "0";

2015
Hao, Xia, et al       Expires February 29, 2015              [Page 19]
Internet-Draft          TRILL YANG Data Model                August 2014

                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 {

Hao, Xia, et al       Expires February 29, 2015              [Page 20]
Internet-Draft          TRILL YANG Data Model                August 2014

            config "true";

            type uint16 {

                range "1..4096";

            }

          }

      leaf participationFlag {

            config "true";

            default "false";

            type boolean;

          }

      leaf priority {

            config "true";

            default "64";

            type uint8 {

                range "0..127";

            }

          }

      leaf holdingTimer {

            config "true";

            default "10";

            type uint8 {

                range "3..255";

            }

       }

Hao, Xia, et al       Expires February 29, 2015              [Page 21]
Internet-Draft          TRILL YANG Data Model                August 2014

        }

     }

      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 {

Hao, Xia, et al       Expires February 29, 2015              [Page 22]
Internet-Draft          TRILL YANG Data Model                August 2014

            config "false";

            type string;

          }

          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;

Hao, Xia, et al       Expires February 29, 2015              [Page 23]
Internet-Draft          TRILL YANG Data Model                August 2014

          }

          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 February 29, 2015              [Page 24]
Internet-Draft          TRILL YANG Data Model                August 2014

      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;

Hao, Xia, et al       Expires February 29, 2015              [Page 25]
Internet-Draft          TRILL YANG Data Model                August 2014

          }

        }

      }

      container trillPeerInfos {

        list trillPeerInfo {

          key "hostName circuitId";

          config "false";

          leaf hostName {

            description "Peer RBridge name";

            config "false";

            type string;

          }

          leaf interfaceName {

            config "false";

            type "string";

          }

          leaf circuitId {

            config "false";

            type uint8;

          }

          leaf status {

            config "false";

Hao, Xia, et al       Expires February 29, 2015              [Page 26]
Internet-Draft          TRILL YANG Data Model                August 2014

            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 {

Hao, Xia, et al       Expires February 29, 2015              [Page 27]
Internet-Draft          TRILL YANG Data Model                August 2014

            config "false";

            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 {

Hao, Xia, et al       Expires February 29, 2015              [Page 28]
Internet-Draft          TRILL YANG Data Model                August 2014

            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";

            }

          }

          leaf overloadBit {

            config "false";

            type uint8 {

                range "0..1";

            }

          }

          leaf holdTime {

Hao, Xia, et al       Expires February 29, 2015              [Page 29]
Internet-Draft          TRILL YANG Data Model                August 2014

            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 {

Hao, Xia, et al       Expires February 29, 2015              [Page 30]
Internet-Draft          TRILL YANG Data Model                August 2014

            config "false";

            type uint32;

          }

          leaf systemId {

            config "false";

            type string;

          }

          leaf conflictState {

            config "false";

            type enumeration {

              enum "S" {

                value "0";

                description "S:";

              }

              enum "A" {

                value "1";

                description "A:";

              }

            }

          }

          leaf staticFlag {

            config "false";

            type enumeration {

              enum "S" {

Hao, Xia, et al       Expires February 29, 2015              [Page 31]
Internet-Draft          TRILL YANG Data Model                August 2014

                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 {
      
             config "false";
      

Hao, Xia, et al       Expires February 29, 2015              [Page 32]
Internet-Draft          TRILL YANG Data Model                August 2014

              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;

Hao, Xia, et al       Expires February 29, 2015              [Page 33]
Internet-Draft          TRILL YANG Data Model                August 2014

        }

        leaf rpfEntrysNum {

            config "false";

            type uint32;

        }

       leaf remoteNicknamesNum {

            config "false";

            type uint32;

        }

        leaf lsdbLSPsNum {

            config "false";

            type uint32;

        }

        leaf selfLSPsNum {

            config "false";

            type uint32;

        }

        leaf multicastTreesNum {

            config "false";

            type uint32;

        }

        leaf unicastNodesNum {

            config "false";

            type uint32;

Hao, Xia, et al       Expires February 29, 2015              [Page 34]
Internet-Draft          TRILL YANG Data Model                August 2014

        }

        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;

          }

Hao, Xia, et al       Expires February 29, 2015              [Page 35]
Internet-Draft          TRILL YANG Data Model                August 2014

          leaf sentLSPsNum {

            config "false";

            type uint32;

          }

          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;

          }

Hao, Xia, et al       Expires February 29, 2015              [Page 36]
Internet-Draft          TRILL YANG Data Model                August 2014

          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
   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.

Hao, Xia, et al       Expires February 29, 2015              [Page 37]
Internet-Draft          TRILL YANG Data Model                August 2014

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 February 29, 2015              [Page 38]
Internet-Draft          TRILL YANG Data Model                August 2014

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 February 29, 2015              [Page 39]