Skip to main content

TRILL YANG Data Model
draft-ietf-trill-yang-03

The information below is for an old version of the document.
Document Type
This is an older version of an Internet-Draft whose latest revision state is "Expired".
Authors Hao Weiguo , Yizhou Li , Deepak Kumar , Muhammad Durrani , Hongjun Zhai , Liang Xia
Last updated 2015-10-14 (Latest revision 2015-08-06)
Replaces draft-hao-trill-yang
RFC stream Internet Engineering Task Force (IETF)
Formats
Additional resources Mailing list discussion
Stream WG state WG Document
Document shepherd Susan Hares
IESG IESG state I-D Exists
Consensus boilerplate Unknown
Telechat date (None)
Responsible AD (None)
Send notices to (None)
draft-ietf-trill-yang-03
TRILL Working Group                                              W. Hao
INTERNET-DRAFT                                                    Y. Li
Intended status: Standards Track                    Huawei Technologies
                                                               D. Kumar
                                                                  Cisco
                                                             M. Durrani
                                                                  Cisco
                                                                H. Zhai
                                                                    JIT
                                                                 L. Xia
                                                    Huawei Technologies
Expires: February 2016                                  August 07, 2015

                           TRILL YANG Data Model
                       draft-ietf-trill-yang-03.txt

Abstract

   This document defines a YANG data model for TRILL protocol.

Status of this Memo

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

   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/1id-abstracts.html

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

Hao & Li, et al       Expires November 7, 2016                [Page 1]
Internet-Draft          TRILL YANG Data Model              August 2015

Copyright Notice

   Copyright (c) 2015 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.

Table of Contents

   1. Introduction ................................................ 2
   2. Conventions Used in This Document............................ 2
   3. Design of Data model......................................... 3
   4. TRILL YANG Data model........................................ 7
   5. Security Considerations..................................... 22
   6. IANA Considerations ........................................ 22
   7. References ................................................. 22
      7.1. Normative References................................... 22
      7.2. Informative References................................. 22
   8. Acknowledgments ............................................ 23

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

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

2. Conventions Used in This Document

   This document uses the acronyms defined in [RFC6325], in addition to
   the following:

   CSNP: Complete Sequence Number Protocol Data Unit
   DRB: Designated RBridge

Hao & Li, et al       Expires February 7, 2016                [Page 2]
Internet-Draft          TRILL YANG Data Model              August 2015

   IS-IS: Intermediate System to Intermediate System
   LSDB: Link State Database
   MAC: Media Access Control address
   MTU: Maximum Transmission Unit
   NETCONF: Network Configuration Protocol
   PSNP: Partial Sequence Number Packet
   RBridge: An alternative name for a TRILL Switch
   RPF: Reverse Path Forward
   SNP: Scalable Network Pack
   SSH: Secure Shell
   VLAN: Virtual Local-Area Network

3. Design of Data model

   There is only one module for the TRILL base protocol. The module can
   be augmented for other TRILL extended features with their specific
   definitions, such as TRILL active-active connection, TRILL Fine
   Grained Label, etc.

   The TRILL Yang module includes one container of trillSites which
   contains a list of instances as many implementations are currently
   supporting multiple ISIS instances within a single RBridge. The
   configuration data is divided into four categories which include per
   RBridge, per nickname per RBridge, per port per RBridge, and per
   VLAN per RBridge. The operating status 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:

Hao & Li, et al       Expires February 7, 2016                [Page 3]
Internet-Draft          TRILL YANG Data Model              August 2015

   module: ietf-trill
      +--rw trill-site
         +--rw max-loadbalance-num?     uint8
         +--rw bandwidth-reference?     uint32
         +--rw native-confidence?       uint8
         +--rw remote-confidence?       uint8
         +--rw min-link-mtu?            uint16
         +--rw mtu-probes?              uint8
         +--rw lsp-timer
         |  +--rw lspLife?          uint16
         |  +--rw lsp-refresh?      uint16
         |  +--rw lsp-generation?   uint8
         +--rw lsp-snp-authen
         |  +--rw authen-mode?       authen-mode
         |  +--rw cipher-or-plain?   boolean
         |  +--rw password-key?      string
         |  +--rw password?          string
         |  +--rw keychain?          string
         +--rw tree-para
         |  +--rw nick-number?   uint16
         |  +--rw tree-number?   uint16
         +--rw net-entity*              string
         +--rw nicknames
         |  +--rw nickname* [nickName]
         |     +--rw nickName         uint16
         |     +--rw priority?        uint8
         |     +--rw root-priority?   uint16
         +--rw trill-ports
         |  +--rw trill-port* [ifName]
         |     +--rw ifName                      string
         |     +--rw port-mode?                  port-mode
         |     +--rw hello-authen
         |     |  +--rw authen-mode?       authen-mode
         |     |  +--rw cipher-or-plain?   boolean
         |     |  +--rw password-key?      string
         |     |  +--rw password?          string
         |     |  +--rw keychain?          string
         |     +--rw csnp-timer?                 uint16
         |     +--rw hello?                      uint8
         |     +--rw holding-multiplier?         uint16
         |     +--rw lsp-retransmit?             uint16
         |     +--rw lsp-throttle
         |     |  +--rw throttleInterval?   uint16
         |     |  +--rw count-number?       uint16
         |     +--rw inhibition-timer?           uint8
         |     +--rw drb-config

Hao & Li, et al       Expires February 7, 2016                [Page 4]
Internet-Draft          TRILL YANG Data Model              August 2015

         |     |  +--rw drb-priority?    uint8
         |     |  +--rw holding-timer?   uint8
         |     +--rw mac-learning-flag?          boolean
         |     +--rw trill-frame-receive-flag?   boolean
         |     +--rw cost?                       uint32
         |     +--rw enabled-vlans?              binary
         |     +--rw announcing-vlans?           binary
         |     +--rw forwarding-vlans?           binary
         |     +--rw designated-vlan?            uint16
         +--rw vlan-para
         |  +--rw vlan-config* [vlan-id]
         |     +--rw vlan-id               uint16
         |     +--rw participation-flag?   boolean
         |     +--rw priority?             uint8
         |     +--rw holdingTimer?         uint8
         +--rw trill-route-infos
         |  +--ro trill-route-info* [nickname nexthop]
         |     +--ro nickname         uint32
         |     +--ro cost?            uint32
         |     +--ro out-interface?   string
         |     +--ro out-vlan?        uint32
         |     +--ro nexthop          string
         |     +--ro hop-count?       uint32
         +--rw trill-mroute-infos
         |  +--ro trill-mroute-info* [vlan root-nickname]
         |     +--ro vlan                              uint16
         |     +--ro root-nickname                     uint16
         |     +--ro hop-count?                        uint16
         |     +--ro trill-mroute-outinterface-info*
                    [out-interface out-vlan]
         |        +--ro out-interface    string
         |        +--ro out-vlan         uint32
         +--rw trill-rpf-check-infos
         |  +--ro trill-rpf-check-info* [ingress-nickname tree-nickname]
         |     +--ro ingress-nickname    uint16
         |     +--ro tree-nickname       uint16
         |     +--ro interface-name?     string
         |     +--ro neighbor-mac?       string
         |     +--ro out-vlan?           uint16
         +--rw trill-peer-infos
         |  +--ro trill-peer-info* [host-name circuit-id]
         |     +--ro host-name         string
         |     +--ro interface-name?   string
         |     +--ro circuit-id        string
         |     +--ro status?           peer-state
         |     +--ro holdTime?         uint32
         |     +--ro priority?         string

Hao & Li, et al       Expires February 7, 2016                [Page 5]
Internet-Draft          TRILL YANG Data Model              August 2015

         +--rw trill-lsdb-infos
         |  +--ro trill-lsdb-info* [lspid]
         |     +--ro lspid             string
         |     +--ro seqence-number?   string
         |     +--ro checksum?         string
         |     +--ro lsp-length?       uint32
         |     +--ro lsp-flags?        bits
         |     +--ro holdtime?         string
         |     +--ro local-lsp?        boolean
         +--rw trill-nickname-infos
         |  +--ro trill-nickname-info* [nickname systemid]
         |     +--ro nickname          uint32
         |     +--ro priority?         uint32
         |     +--ro root-priority?    uint32
         |     +--ro systemid          string
         |     +--ro conflict-state?   conflict-state
         |     +--ro static-flag?      static-flag
         |     +--ro is-local?         boolean
         +--ro trill-statistics
         |  +--ro interface-stat
         |  |  +--ro up-num?     uint32
         |  |  +--ro down-num?   uint32
         |  +--ro pktstatistics
         |  |  +--ro report-num?   uint32
         |  |  +--ro detect-num?   uint32
         |  |  +--ro twoway-num?   uint32
         |  +--ro unicast-routes-num?     uint32
         |  +--ro multicast-routes-num?   uint32
         |  +--ro rpf-entrys-num?         uint32
         |  +--ro remote-nicknames-num?   uint32
         |  +--ro lsdb-lsps-num?          uint32
         |  +--ro self-lsps-num?          uint32
         |  +--ro multicast-trees-num?    uint32
         |  +--ro unicast-nodes-num?      uint32
         |  +--ro multicast-nodes-num?    uint32
         +--rw pkt-statistics
            +--ro pkt-statistic* [interface-name]
               +--ro interface-name             string
               +--ro sent-hellos-num?           uint32
               +--ro recved-hellos-num?         uint32
               +--ro sent-lsps-num?             uint32
               +--ro recved-lsps-num?           uint32
               +--ro sent-csnps-num?            uint32
               +--ro recved-csnps-num?          uint32
               +--ro sent-psnps-num?            uint32
               +--ro recved-psnps-num?          uint32
               +--ro lsp-retransmissions-num?   uint32

Hao & Li, et al       Expires February 7, 2016                [Page 6]
Internet-Draft          TRILL YANG Data Model              August 2015

               +--ro drb-elections-num?         uint32
4. TRILL YANG Data model

   <CODE BEGINS> file "ietf-trill@2015-08-07.yang"

   module ietf-trill {
     yang-version 1;
     namespace "urn:ietf:params:xml:ns:yang:trill";
     //namespace need to be assigned by IANA
     prefix trill;

     organization "IETF TRILL Working Group";
     description "TRILL Yang Module";
     revision 2015-08-06{
       description "03 version, as per RFC6325";
       reference "draft-ietf-trill-yang-03";
     }
     typedef port-mode {
       type enumeration {
         enum access {
           value "0";
           description "Access Port";
         }
         enum p2p {
           value "1";
           description "P2P Hello Link";
         }
         enum trunk {
           value "2";
           description "Trunk Port";
         }
         enum hybrid {
           value "3";
           description "Both Trunk and Access Port";
         }
       }
       description "Trill Port Mode.";
     }
     typedef drb-state {
       type enumeration {
         enum non-drb {
           value "0";
           description "Non-DRB Port";
         }
         enum drb {

Hao & Li, et al       Expires February 7, 2016                [Page 7]
Internet-Draft          TRILL YANG Data Model              August 2015

           value "1";
           description "DRB Port";
         }
         enum down {
           value "2";
           description "Down Port";
         }
         enum suspended {
            value "3";
            description "Suspended Port";
         }
       }
       description "Port State in DRB Election Process.";
     }
     typedef peer-state {
       type enumeration {
         enum report {
           value "0";
           description "report state";
         }
         enum detect {
           value "1";
           description "detect state";
         }
         enum down {
           value "2";
           description "down state";
         }
         enum 2way {
           value "3";
           description "2way state";
         }
       }
       description "TRILL Neighbour State.";
     }
     typedef authen-mode {
       type enumeration {
         enum "simple" {
           value "0";
           description "Indicates that the password is transmitted
           in plaintext";
         }
         enum "md5" {
           value "1";
           description "Indicates that the password is transmitted
           after encryption by MD5.";
         }

Hao & Li, et al       Expires February 7, 2016                [Page 8]
Internet-Draft          TRILL YANG Data Model              August 2015

         enum "keychain" {
           value "2";
           description "Indicates that the password is a keychain
           which varies with time.";
         }
       }
     }
     grouping authen-para {
       leaf authen-mode {
         type authen-mode;
         description "authentication-mode ";
       }
       leaf cipher-or-plain {
         type boolean;
         description "0 indicates that the password is in ciphertext,
         1 indicates that the password is in plaintext";
       }
       leaf password-key {
         type string;
         description "The value is a string of case-sensitive
         characters, spaces not supported. The password range varies
         with the authentication mode. When the authentication mode
         is simple, the value is a string of 1 to 16 characters
         in simple text, or a string of 32 characters in ciphertext.
         When the authentication mode is md5, the value is a string
         of 1 to 255 characters in simple text, or a string of 32 to
         392 characters in ciphertext.";
       }
       
       leaf password {
         type string;
         description "The value is a string of case-sensitive
         characters, spaces not supported. The password range
         varies with the authentication mode. 
         When the authentication mode is simple,
         the password ranges from 1 to 16 characters. When the
         authentication mode is md5, the password ranges
         from 1 to 255 characters.";
       }
       leaf keychain {
         type string;
         description "The name is keychain name which is a string
         of 1 to 47 case-insensitive characters, spaces not supported.";
       }
       description "TRILL protocol authentication configurations.";
     }
     typedef conflict-state {

Hao & Li, et al       Expires February 7, 2016                [Page 9]
Internet-Draft          TRILL YANG Data Model              August 2015

       type enumeration {
         enum "S" {
           value "0";
           description "Nickname suspended";
         }
         enum "A" {
           value "1";
           description "Nickname advertised";
         }
       }
     }
     typedef static-flag{
       type enumeration {
         enum "S" {
           value "0";
           description "Manually configured";
         }
         enum "D" {
           value "1";
           description "Dynamic generated";
         }
       }
       description "Static or dynamic nickname flag.";
     }

     container trill-site {
         leaf max-loadbalance-num {
         default "32";
         type uint8 {
           range "1..max";
         }
         description "The maximum number of equal-cost
         routes for load-balancing.";
       }
       leaf bandwidth-reference {
         default "20000000";
         type uint32 {
           range "1..2147483648";
         }
         description "Sets the bandwidth reference value
         for a TRILL interface. Unit:M bit/s.
         Cost of the interface = Bandwidth reference
         value/Interface bandwidth";
       }
       leaf native-confidence {
         default "32";
         type uint8;

Hao & Li, et al       Expires February 7, 2016               [Page 10]
Internet-Draft          TRILL YANG Data Model              August 2015

         description "The confidence in { MAC, VLAN, local port }
         triples learned from locally received native frames";
       }
       leaf remote-confidence {
         default "32";
         type uint8;
         description "The confidence in { MAC, VLAN, remote RBridge}
         triples learned from decapsulating frames";
       }
       leaf min-link-mtu {
         default "1470";
         type uint16 {
           range "1..max";
         }
         description "Minimum link MTU";
       }
       leaf mtu-probes {
         default "3";
         type uint8 {
           range "1..max";
         }
         description "The number of failed MTU-probes";
       }
       container lsp-timer {
         leaf lspLife {
           default "1200";
           type uint16 {
             range "2..max";
           }
           description "LSP aging timer.Unit:Second";
         }
         leaf lsp-refresh {
           default "900";
           type uint16 {
             range "1..65534";
           }
           description "LSP refresh timer.Unit:Second";
         }
         leaf lsp-generation {
           default "2";
           type uint8 {
             range "1..120";
           }
           description "LSP generate timer.Unit:Second";
         }
       }
       container lsp-snp-authen {

Hao & Li, et al       Expires February 7, 2016               [Page 11]
Internet-Draft          TRILL YANG Data Model              August 2015

         uses authen-para;
         description "Authentication information for LSPs and SNPs";
       }
       container tree-para {
         leaf nick-number {
           default "1";
           type uint16 {
             range "1..256";
           }
           description "Nickname number";
         }
         leaf tree-number {
           default "1";
           type uint16 {
             range "1..max";
           }
           description "Distribution tree number";
         }
       }

       leaf-list net-entity {
         type string;
         description "TRILL network entity";
       }

       container nicknames {
         list nickname {
           key "nickName";
           leaf nickName {
             type uint16 {
               range "1..65471";
             }
           }
           leaf priority {
             default "192";
             type uint8 {
               range "128..max";
             }
           }
           leaf root-priority {
             default "32768";
             type uint16 {
               range "1..max";
             }
           }
         }
         description "Nicknames and the associated properties";

Hao & Li, et al       Expires February 7, 2016               [Page 12]
Internet-Draft          TRILL YANG Data Model              August 2015

       }
       container trill-ports {
         list trill-port{
           key "ifName";
           leaf ifName {
             type string;
             description "trill interface";
           }
           leaf port-mode {
             default "p2p";
             type port-mode;
             description "TRILL Port Mode";
           }
           container hello-authen {
             uses authen-para;
             description "Authentication information for Hellos";
           }
           leaf csnp-timer {
             default "10";
             type uint16 {
               range "1..max";
             }
           }
           leaf hello {
             default "10";
             type uint8 {
               range "3..max";
             }
           }
           leaf holding-multiplier {
             default "3";
             type uint16 {
               range "3..1000";
             }
           }
           leaf lsp-retransmit {
             default "5";
             type uint16 {
               range "1..300";
             }
           }
           container lsp-throttle {
             leaf throttleInterval {
               default "50";
               type uint16 {
                 range "1..10000";
               }

Hao & Li, et al       Expires February 7, 2016               [Page 13]
Internet-Draft          TRILL YANG Data Model              August 2015

               description "The interval timer between
               two LSP messages.Unit:ms";
             }
             leaf count-number {
               default "10";
               type uint16 {
                 range "1..1000";
               }
               description "The max messages number being
               sent each time.Unit:ms";
             }
           }
           leaf inhibition-timer {
             default "30";
             type uint8 {
               range "0..30";
             }
             description "The inhibition time for the port
             when root bridge changes.Unit:Second";
           }

           container drb-config {
             leaf drb-priority {
               default "64";
               type uint8 {
                 range "0..127";
               }
             }
             leaf holding-timer {
               default "10";
               type uint8 {
                 range "3..255";
               }
             }
           }
           leaf mac-learning-flag {
             default "true";
             type boolean;
             description "if learning MAC address from locally
             received native frames";
           }
           leaf trill-frame-receive-flag {
             default "false";
             type boolean;
             description "if receiving of TRILL frames from
             non IS-IS adjacency";
           }

Hao & Li, et al       Expires February 7, 2016               [Page 14]
Internet-Draft          TRILL YANG Data Model              August 2015

           leaf cost {
             default "0";
             type uint32 {
               range "0..16777215";
             }
             description "link cost";
           }
           leaf enabled-vlans {
             type binary{
               length "1..512";
             }
           }
           leaf announcing-vlans {
             type binary{
               length "1..512";
             }
           }
           leaf forwarding-vlans {
             type binary{
               length "1..512";
             }
           }
           leaf designated-vlan {
             type uint16{
               range "1..4096";
             }
           }
         }
       }

       container vlan-para {
         list vlan-config{
           key vlan-id;

           leaf vlan-id {
             type uint16 {
               range "1..4096";
             }
           }
           leaf participation-flag {
             default "false";
             type boolean;
           }
           leaf priority {
             default "64";
             type uint8 {
               range "0..127";

Hao & Li, et al       Expires February 7, 2016               [Page 15]
Internet-Draft          TRILL YANG Data Model              August 2015

             }
           }
           leaf holdingTimer {
             default "10";
             type uint8 {
               range "3..max";
             }
           }
         }
       }

      container trill-route-infos {
        list  trill-route-info {
          key "nickname nexthop";
          config "false";

          leaf nickname {
            config "false";
            type uint32;
          }
          leaf cost {
            config "false";
            type uint32;
          }
          leaf out-interface {
            config "false";
            type string;
          }
          leaf out-vlan {
            config "false";
            type uint32;
          }
          leaf nexthop {
            config "false";
            type string;
          }
          leaf hop-count {
            config "false";
            type uint32;
          }
        }
      }

      container trill-mroute-infos {
        list trill-mroute-info {
          description "Distribution pruning tree route table;
          For non-pruning tree, VLAN is set to be 0XFFFF";

Hao & Li, et al       Expires February 7, 2016               [Page 16]
Internet-Draft          TRILL YANG Data Model              August 2015

          key "vlan root-nickname";
          config "false";

          leaf vlan {
            type uint16;
          }
          leaf root-nickname {
            type uint16;
          }
          leaf hop-count {
            type uint16;
          }
          list trill-mroute-outinterface-info {
            key "out-interface out-vlan";

            leaf out-interface {
              type "string";
            }
            leaf out-vlan {
              type "uint32";
            }
          }
        }
      }

      container trill-rpf-check-infos {
        list trill-rpf-check-info {
          key "ingress-nickname tree-nickname";
          config "false";

          leaf ingress-nickname {
            type "uint16";
          }
          leaf tree-nickname {
            type "uint16";
          }
          leaf interface-name {
            type "string";
          }
          leaf neighbor-mac {
            type "string";
          }
          leaf out-vlan {
            type "uint16";
          }
        }

Hao & Li, et al       Expires February 7, 2016               [Page 17]
Internet-Draft          TRILL YANG Data Model              August 2015

      }

      container trill-peer-infos {
        list trill-peer-info {
          key "host-name circuit-id";
          config "false";

          leaf host-name {
            type "string";
            description "Peer RBridge name";
          }
          leaf interface-name {
            type "string";
          }
          leaf circuit-id {
            type "string";
          }
          leaf status {
            type peer-state;
          }
          leaf holdTime {
            type "uint32";
          }
          leaf priority {
            type "string";
          }
        }
      }

      container trill-lsdb-infos{
        list trill-lsdb-info{
          key "lspid";
          config "false";

          leaf lspid {
            type string;
          }
          leaf seqence-number {
            type string;
          }
          leaf checksum {
            type string;
          }
          leaf lsp-length {
            type uint32 {
              range "0..2000";
            }

Hao & Li, et al       Expires February 7, 2016               [Page 18]
Internet-Draft          TRILL YANG Data Model              August 2015

          }

          leaf lsp-flags {
            type bits {
              bit attbit {
                position 0;
              }
              bit partition-bit {
                position 1;
              }
              bit overload-bit {
                position 2;
              }
            }
            default "attbit";
          }

          leaf holdtime {
            type string;
          }
          leaf local-lsp {
            type boolean;
          }
        }
      }

      container trill-nickname-infos {
        list trill-nickname-info {
          key "nickname systemid";
          config "false";

          leaf nickname {
            type uint32;
          }
          leaf priority {
            type uint32;
          }
          leaf root-priority {
            type uint32;
          }
          leaf systemid {
            type string;
          }
          leaf conflict-state {
            type conflict-state;
          }
          leaf static-flag {

Hao & Li, et al       Expires February 7, 2016               [Page 19]
Internet-Draft          TRILL YANG Data Model              August 2015

            type static-flag;
          }
          leaf is-local {
            type boolean;
          }
        }
      }
      container trill-statistics {
        config "false";
        container interface-stat {
          leaf up-num {
            type uint32;
          }
          leaf down-num {
            type uint32;
          }
        }
        container pktstatistics {
          leaf report-num {
            type uint32;
          }
          leaf detect-num {
            type uint32;
          }
          leaf twoway-num {
            type uint32;
          }
        }
        leaf unicast-routes-num {
          type uint32;
        }
        leaf multicast-routes-num {
          type uint32;
        }
        leaf rpf-entrys-num {
          type uint32;
        }
        leaf remote-nicknames-num {
          type uint32;
        }
        leaf lsdb-lsps-num {
          type uint32;
        }
        leaf self-lsps-num {
          type uint32;
        }
        leaf multicast-trees-num {

Hao & Li, et al       Expires February 7, 2016               [Page 20]
Internet-Draft          TRILL YANG Data Model              August 2015

          type uint32;
        }
        leaf unicast-nodes-num {
          type uint32;
        }
        leaf multicast-nodes-num {
          type uint32;
        }
      }

      container pkt-statistics {
        list pkt-statistic {
          key "interface-name";
          config "false";

          leaf interface-name {
            type string;
          }
          leaf sent-hellos-num {
            type uint32;
          }
          leaf recved-hellos-num {
            type uint32;
          }
          leaf sent-lsps-num {
           type uint32;
          }
          leaf recved-lsps-num {
            type uint32;
          }
          leaf sent-csnps-num {
            type uint32;
          }
          leaf recved-csnps-num {
            type uint32;
          }
          leaf sent-psnps-num {
            type uint32;
          }
          leaf recved-psnps-num {
            type uint32;
          }
          leaf lsp-retransmissions-num {
            type uint32;
          }
          leaf drb-elections-num {
            type uint32;

Hao & Li, et al       Expires February 7, 2016               [Page 21]
Internet-Draft          TRILL YANG Data Model              August 2015

          }
        }
      }
    }
   }

   <CODE ENDS>

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.

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.

Hao & Li, et al       Expires February 7, 2016               [Page 22]
Internet-Draft          TRILL YANG Data Model              August 2015

8. Acknowledgments

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

Authors' Addresses

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

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

Hao & Li, et al       Expires February 7, 2016               [Page 23]
Internet-Draft          TRILL YANG Data Model              August 2015

   Deepak Kumar
   CISCO Systems
   510 McCarthy Blvd
   Milpitas, CA 95035.
   Email: dekumar@cisco.com

   Muhammad Durrani
   Cisco
   Email: mdurrani@cisco.com

   Hongjun Zhai
   Jinling Institute of Technology
   99 Hongjing Avenue, Jiangning District
   Nanjing, Jiangsu 211169
   China
   Email: honjun.zhai@tom.com

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

Hao & Li, et al       Expires February 7, 2016               [Page 24]