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: June 2016 December 21, 2015 TRILL YANG Data Model draft-ietf-trill-yang-04.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 21, 2016 [Page 1] Internet-Draft TRILL YANG Data Model December 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..................................... 24 6. IANA Considerations ........................................ 25 7. References ................................................. 25 7.1. Normative References................................... 25 7.2. Informative References................................. 25 8. Acknowledgments ............................................ 25 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 June 21, 2016 [Page 2] Internet-Draft TRILL YANG Data Model December 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 June 21, 2016 [Page 3] Internet-Draft TRILL YANG Data Model December 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 June 21, 2016 [Page 4] Internet-Draft TRILL YANG Data Model December 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 June 21, 2016 [Page 5] Internet-Draft TRILL YANG Data Model December 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 June 21, 2016 [Page 6] Internet-Draft TRILL YANG Data Model December 2015 +--ro drb-elections-num? uint32 4. TRILL YANG Data model file "ietf-trill@2015-12-21.yang" module ietf-trill { yang-version 1; namespace "urn:ietf:params:xml:ns:yang:ietf-trill"; //namespace need to be assigned by IANA prefix trill; organization "IETF TRILL Working Group"; contact "WG Web: WG List: WG Chair: Susan Hares Editor: Weiguo Hao "; description "TRILL Yang Module"; revision 2015-12-21{ description "04 version, as per RFC6325"; reference "draft-ietf-trill-yang-04"; } 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"; Hao & Li, et al Expires June 21, 2016 [Page 7] Internet-Draft TRILL YANG Data Model December 2015 } } description "TRILL port mode type"; } typedef drb-state { type enumeration { enum non-drb { value "0"; description "Non-DRB Port"; } enum drb { value "1"; description "DRB Port"; } enum down { value "2"; description "Down Port"; } enum suspended { value "3"; description "Suspended Port"; } } description "TRILL DRB port state type."; } 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 type."; } typedef authen-mode { Hao & Li, et al Expires June 21, 2016 [Page 8] Internet-Draft TRILL YANG Data Model December 2015 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."; } enum "keychain" { value "2"; description "Indicates that the password is a keychain which varies with time."; } } description "TRILL authentication mode."; } 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, Hao & Li, et al Expires June 21, 2016 [Page 9] Internet-Draft TRILL YANG Data Model December 2015 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 { type enumeration { enum "S" { value "0"; description "Nickname suspended"; } enum "A" { value "1"; description "Nickname advertised"; } } description "Nickname conflict state."; } 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 { description "Trill all configuration and display information"; leaf max-loadbalance-num { type uint8 { range "1..max"; } default "32"; description "The maximum number of equal-cost routes for load-balancing."; Hao & Li, et al Expires June 21, 2016 [Page 10] Internet-Draft TRILL YANG Data Model December 2015 } leaf bandwidth-reference { type uint32 { range "1..2147483648"; } default "20000000"; 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 { type uint8; default "32"; description "The confidence in { MAC, VLAN, local port } triples learned from locally received native frames"; } leaf remote-confidence { type uint8; default "32"; description "The confidence in { MAC, VLAN, remote RBridge} triples learned from decapsulating frames"; } leaf min-link-mtu { type uint16 { range "1..max"; } default "1470"; description "Minimum link MTU"; } leaf mtu-probes { type uint8 { range "1..max"; } default "3"; description "The number of failed MTU-probes"; } container lsp-timer { leaf lspLife { type uint16 { range "2..max"; } default "1200"; description "LSP aging timer.Unit:Second"; } leaf lsp-refresh { type uint16 { Hao & Li, et al Expires June 21, 2016 [Page 11] Internet-Draft TRILL YANG Data Model December 2015 range "1..65534"; } default "900"; description "LSP refresh timer.Unit:Second"; } leaf lsp-generation { type uint8 { range "1..120"; } default "2"; description "LSP generate timer.Unit:Second"; } description "LSP timer configuration"; } container lsp-snp-authen { uses authen-para; description "Authentication information for LSPs and SNPs"; } container tree-para { leaf nick-number { type uint16 { range "1..256"; } default "1"; description "Nickname number"; } leaf tree-number { type uint16 { range "1..max"; } default "1"; description "Distribution tree number"; } description "Distribution tree configuration"; } leaf-list net-entity { type string; description "TRILL network entity"; } container nicknames { description "All Nicknames and the associated properties"; list nickname { key "nickName"; description "Each nickname and the associated property"; leaf nickName { Hao & Li, et al Expires June 21, 2016 [Page 12] Internet-Draft TRILL YANG Data Model December 2015 type uint16 { range "1..65471"; } description "Nickname value"; } leaf priority { type uint8 { range "128..max"; } default "192"; description "Nickname priority"; } leaf root-priority { type uint16 { range "1..max"; } default "32768"; description "Nickname root priority"; } } } container trill-ports { description "All TRILL port configurations"; list trill-port{ key "ifName"; description "Each TRILL port configuration"; leaf ifName { type string; description "trill interface"; } leaf port-mode { type port-mode; default "p2p"; description "TRILL port mode"; } container hello-authen { uses authen-para; description "Authentication information for Hellos"; } leaf csnp-timer { type uint16 { range "1..max"; } default "10"; description "Csnp-timer value"; } leaf hello { Hao & Li, et al Expires June 21, 2016 [Page 13] Internet-Draft TRILL YANG Data Model December 2015 type uint8 { range "3..max"; } default "10"; description "Hello timer value"; } leaf holding-multiplier { type uint16 { range "3..1000"; } default "3"; description "Holding-multiplier timer value"; } leaf lsp-retransmit { type uint16 { range "1..300"; } default "5"; description "Lsp retransmit timers"; } container lsp-throttle { description "TRILL LSP throttle configuration."; leaf throttleInterval { type uint16 { range "1..10000"; } default "50"; description "The interval timer between two LSP messages.Unit:ms"; } leaf count-number { type uint16 { range "1..1000"; } default "10"; description "The max messages number being sent each time.Unit:ms"; } } leaf inhibition-timer { type uint8 { range "0..30"; } default "30"; description "The inhibition time for the port when root bridge changes.Unit:Second"; } Hao & Li, et al Expires June 21, 2016 [Page 14] Internet-Draft TRILL YANG Data Model December 2015 container drb-config { description "TRILL DRB negotiation parameter"; leaf drb-priority { type uint8 { range "0..127"; } default "64"; description "Drb priority"; } leaf holding-timer { type uint8 { range "3..255"; } default "10"; description "Holding timer"; } } leaf mac-learning-flag { type boolean; default "true"; description "if learning MAC address from locally received native frames"; } leaf trill-frame-receive-flag { type boolean; default "false"; description "if receiving of TRILL frames from non IS-IS adjacency"; } leaf cost { type uint32 { range "0..16777215"; } default "0"; description "link cost"; } leaf enabled-vlans { type binary{ length "1..512"; } description "Enabled vlans"; } leaf announcing-vlans { type binary{ length "1..512"; } Hao & Li, et al Expires June 21, 2016 [Page 15] Internet-Draft TRILL YANG Data Model December 2015 description "Announcing vlans"; } leaf forwarding-vlans { type binary{ length "1..512"; } description "Forwarding vlans"; } leaf designated-vlan { type uint16{ range "1..4096"; } description "Designated vlans"; } } } container vlan-para { description "All VLAN parameters"; list vlan-config{ key vlan-id; description "Each VLAN parameter"; leaf vlan-id { type uint16 { range "1..4096"; } description "Vlan Id"; } leaf participation-flag { type boolean; default "false"; description "Participation flag"; } leaf priority { type uint8 { range "0..127"; } default "64"; description "Vlan priority"; } leaf holdingTimer { type uint8 { range "3..max"; } default "10"; description "Holding timer"; } Hao & Li, et al Expires June 21, 2016 [Page 16] Internet-Draft TRILL YANG Data Model December 2015 } } container trill-route-infos { description "All TRILL unicast route informations"; list trill-route-info { key "nickname nexthop"; config "false"; description "Each TRILL unicast route information"; leaf nickname { type uint32; config "false"; description "Dest nickname for the route"; } leaf cost { type uint32; config "false"; description "The link cost to the nickname"; } leaf out-interface { type string; config "false"; description "Out interface to the nickname"; } leaf out-vlan { type uint32; config "false"; description "Out vlan on the out interface"; } leaf nexthop { type string; config "false"; description "Next hop to the nickname"; } leaf hop-count { type uint32; config "false"; description "Hop count to the nickname"; } } } container trill-mroute-infos { list trill-mroute-info { key "vlan root-nickname"; config "false"; Hao & Li, et al Expires June 21, 2016 [Page 17] Internet-Draft TRILL YANG Data Model December 2015 description "Distribution pruning tree route table; For non-pruning tree, VLAN is set to be 0XFFFF"; leaf vlan { type uint16; description "CE vlan"; } leaf root-nickname { type uint16; description "Root nickname"; } leaf hop-count { type uint16; description "Hop count"; } list trill-mroute-outinterface-info { key "out-interface out-vlan"; description "The out interface and out vlan for a multicast route"; leaf out-interface { type "string"; description "Out interface"; } leaf out-vlan { type "uint32"; description "Out vlan"; } } } description "TRILL multicast route information"; } container trill-rpf-check-infos { list trill-rpf-check-info { key "ingress-nickname tree-nickname"; config "false"; description "Each TRILL RPF check information"; leaf ingress-nickname { type "uint16"; description "Ingress nickname"; } leaf tree-nickname { type "uint16"; description "Tree nickname"; } Hao & Li, et al Expires June 21, 2016 [Page 18] Internet-Draft TRILL YANG Data Model December 2015 leaf interface-name { type "string"; description "Interface name"; } leaf neighbor-mac { type "string"; description "Neighbour Mac"; } leaf out-vlan { type "uint16"; description "Out vlan"; } } description "All TRILL RPF check information"; } container trill-peer-infos { list trill-peer-info { key "host-name circuit-id"; config "false"; description "Each TRILL peer information"; leaf host-name { type "string"; description "Peer RBridge name"; } leaf interface-name { type "string"; description "Interface name"; } leaf circuit-id { type "string"; description "Circuit Id"; } leaf status { type peer-state; description "Peer status"; } leaf holdTime { type "uint32"; description "Hold time"; } leaf priority { type "string"; description "Priority"; } } Hao & Li, et al Expires June 21, 2016 [Page 19] Internet-Draft TRILL YANG Data Model December 2015 description "All TRILL peer informations"; } container trill-lsdb-infos{ description "All TRILL LSDB information"; list trill-lsdb-info{ key "lspid"; config "false"; description "Each TRILL LSDB information"; leaf lspid { type string; description "Lspid"; } leaf sequence-number { type string; description "Sequence number"; } leaf checksum { type string; description "Checksum"; } leaf lsp-length { type uint32 { range "0..2000"; } description "Lsp length"; } leaf lsp-flags { type bits { bit attbit { position 0; description "TRILL lsp attribute flag"; } bit partition-bit { position 1; description "TRILL lsp partition flag"; } bit overload-bit { position 2; description "TRILL lsp position flag"; } } default "attbit"; description "TRILL lsp flags"; } Hao & Li, et al Expires June 21, 2016 [Page 20] Internet-Draft TRILL YANG Data Model December 2015 leaf holdtime { type string; description "Hold time"; } leaf local-lsp { type boolean; description "Local lsp"; } } } container trill-nickname-infos { description "All Trill nickname information"; list trill-nickname-info { key "nickname systemid"; config "false"; description "Each Trill nickname information"; leaf nickname { type uint32; description "Nickname"; } leaf priority { type uint32; description "Priority"; } leaf root-priority { type uint32; description "Root priority"; } leaf systemid { type string; description "SystemId"; } leaf conflict-state { type conflict-state; description "Conflict state"; } leaf static-flag { type static-flag; description "Static flag"; } leaf is-local { type boolean; description "Is local flag"; } Hao & Li, et al Expires June 21, 2016 [Page 21] Internet-Draft TRILL YANG Data Model December 2015 } } container trill-statistics { config "false"; description "Trill statistics"; container interface-stat { leaf up-num { type uint32; description "Trill up interface number"; } leaf down-num { type uint32; description "Trill down interface number"; } description "Trill up and down interface number"; } container pktstatistics { leaf report-num { type uint32; description "Trill interface number in report state"; } leaf detect-num { type uint32; description "Trill interface number in detect state"; } leaf twoway-num { type uint32; description "Trill interface number in two way state"; } description "Trill packet statistics"; } leaf unicast-routes-num { type uint32; description "Trill unicast route number"; } leaf multicast-routes-num { type uint32; description "Trill multicast route number"; } leaf rpf-entrys-num { type uint32; description "Trill RPF entry number"; } leaf remote-nicknames-num { type uint32; description "Trill remote nickname number"; Hao & Li, et al Expires June 21, 2016 [Page 22] Internet-Draft TRILL YANG Data Model December 2015 } leaf lsdb-lsps-num { type uint32; description "Trill LSP number"; } leaf self-lsps-num { type uint32; description "Trill self generated LSP number"; } leaf multicast-trees-num { type uint32; description "Trill distribution tree tree number"; } leaf unicast-nodes-num { type uint32; description "Trill unicast node number"; } leaf multicast-nodes-num { type uint32; description "Trill multicast node number"; } } container pkt-statistics { list pkt-statistic { key "interface-name"; config "false"; description "Each packet statistic"; leaf interface-name { type string; description "Interface name"; } leaf sent-hellos-num { type uint32; description "The number of the sent TRILL hello"; } leaf recved-hellos-num { type uint32; description "The number of the received TRILL hello"; } leaf sent-lsps-num { type uint32; description "The number of the sent LSP number"; } leaf recved-lsps-num { type uint32; Hao & Li, et al Expires June 21, 2016 [Page 23] Internet-Draft TRILL YANG Data Model December 2015 description "The number of the received TRILL LSP"; } leaf sent-csnps-num { type uint32; description "The number of the sent CSNP number"; } leaf recved-csnps-num { type uint32; description "The number of the received CSNP number"; } leaf sent-psnps-num { type uint32; description "The number of the sent PSNP number"; } leaf recved-psnps-num { type uint32; description "The number of the received PSNP number"; } leaf lsp-retransmissions-num { type uint32; description "The number of the retransmitted LSP number"; } leaf drb-elections-num { type uint32; description "The number of the DRB election number"; } } description "All packet statistics"; } } } 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. Hao & Li, et al Expires June 21, 2016 [Page 24] Internet-Draft TRILL YANG Data Model December 2015 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 Donald Eastlake, Susan Hares, Guangying Zheng, Xianping Zhang, Wenxia Hou, Zhibo Hu. Hao & Li, et al Expires June 21, 2016 [Page 25] Internet-Draft TRILL YANG Data Model December 2015 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 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 June 21, 2016 [Page 26]