PIM WG Zheng. Zhang Internet-Draft BenChong. Xu Intended status: Standards Track ZTE Corporation Expires: October 26, 2016 April 24, 2016 MSDP YANG model draft-zhang-pim-msdp-yang-00 Abstract This document defines a YANG data model for MSDP protocol configuration and operation. Status of This Memo This Internet-Draft is submitted in full conformance with the provisions of BCP 78 and BCP 79. Internet-Drafts are working documents of the Internet Engineering Task Force (IETF). Note that other groups may also distribute working documents as Internet-Drafts. The list of current Internet- Drafts is at http://datatracker.ietf.org/drafts/current/. 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." This Internet-Draft will expire on October 26, 2016. Copyright Notice Copyright (c) 2016 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. Zhang & Xu Expires October 26, 2016 [Page 1] Internet-Draft MSDP YANG model April 2016 Table of Contents 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2 2. Design of the Data Model . . . . . . . . . . . . . . . . . . 2 3. MSDP configuration . . . . . . . . . . . . . . . . . . . . . 4 4. Notifications . . . . . . . . . . . . . . . . . . . . . . . . 4 5. MSDP YANG model . . . . . . . . . . . . . . . . . . . . . . . 4 6. Normative References . . . . . . . . . . . . . . . . . . . . 10 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 10 1. Introduction [RFC3618] introduces protocol definition of MSDP. This document defines a YANG data model for MSDP. The content is in keeping with [RFC3618]. 2. Design of the Data Model The msdp peer and source-active content is important part of MSDP. The augment should be added below routing-protocol. module: ietf-msdp augment /rt:routing-state/rt:routing-instance/rt:routing-protocols/: module: ietf-msdp +--rw msdp-configure | +--rw peer-information | | +--rw peer-list* [peer-addr] | | +--rw peer-addr inet:ip-address | | +--rw mesh-group? string | | +--rw bfd | | | +--rw enabled? boolean | | +--rw peer-timer | | +--rw hold-timer? uint16 | | +--rw keepalive-timer? uint16 | | +--rw connectRetry-timer? uint16 | +--rw source-active-cache | +--rw adv-peer-list* [adv-peer-addr] | +--rw adv-peer-addr inet:ip-address | +--rw rp-entry* [rp-addr] | +--rw rp-addr inet:ip-address | +--rw sa-cache* [count] | +--rw count uint32 | +--rw sa-adv-timer? uint16 | +--rw sa-cache-timeout? uint16 | +--rw source-addr inet:ip-address | +--rw group-addr inet:ip-address +--ro msdp +--ro peer-information Zhang & Xu Expires October 26, 2016 [Page 2] Internet-Draft MSDP YANG model April 2016 | +--ro peer-list* [peer-addr] | +--ro peer-addr inet:ip-address | +--ro mesh-group? string | +--ro bfd | | +--ro enabled? boolean | +--ro peer-timer | | +--ro hold-timer? uint16 | | +--ro keepalive-timer? uint16 | | +--ro connectRetry-timer? uint16 | +--ro (peer-state) | +--:(disabled) | +--:(inactive) | +--:(connecting) | +--:(listen) | +--:(established) +--ro source-active-cache +--ro adv-peer-list* [adv-peer-addr] +--ro adv-peer-addr inet:ip-address +--ro rp-entry* [rp-addr] +--ro rp-addr inet:ip-address +--ro sa-cache* [count] +--ro count uint32 +--ro sa-adv-timer? uint16 +--ro sa-cache-timeout? uint16 +--ro source-addr inet:ip-address +--ro group-addr inet:ip-address notifications: +---n msdp-notification +--ro peer-state-change | +--ro peer-addr inet:ip-address | +--ro (peer-state) | +--:(disabled) | +--:(inactive) | +--:(connecting) | +--:(listen) | +--:(established) +--ro tlv-format-error +--ro peer-addr inet:ip-address +--ro sa-error-message +--ro adv-peer-list* [adv-peer-addr] +--ro adv-peer-addr inet:ip-address +--ro rp-entry* [rp-addr] +--ro rp-addr inet:ip-address +--ro sa-cache* [count] +--ro count uint32 +--ro sa-adv-timer? uint16 +--ro sa-cache-timeout? uint16 +--ro source-addr inet:ip-address Zhang & Xu Expires October 26, 2016 [Page 3] Internet-Draft MSDP YANG model April 2016 +--ro group-addr inet:ip-address 3. MSDP configuration The msdp peers should be configured at first. And several peers may be in a mesh-group. The Source-Active information may be filtered for peers. So if the filter policy is needed, we will add it later. The state of peer should not be configured except for disabled. BFD should be enabled/disabled for a specific peer. There is something wrong that ietf-bfd is referenced, so we keep the basic configuration of BFD. The parameter should be referenced later. 4. Notifications The peer state changing should be notified. And if there is error in TLV format, the notification should be sent. 5. MSDP YANG model file "ietf-msdp.yang" module ietf-msdp { namespace "urn:ietf:params:xml:ns:yang:ietf-msdp"; prefix msdp; import ietf-inet-types { prefix "inet"; } /*import ietf-bfd { prefix "bfd"; }*/ organization " IETF PIM( Protocols for IP Multicast ) Working Group"; contact "WG List: WG Chair: Stig Venaas WG Chair: Mike McBride Editor: Zheng Zhang Editor: Benchong Xu Zhang & Xu Expires October 26, 2016 [Page 4] Internet-Draft MSDP YANG model April 2016 "; description "This module contains a collection of YANG definitions for managing msdp protocol."; revision 2016-04-23 { description "Initial version."; reference "https://tools.ietf.org/html/draft-zhang-pim-msdp-yang"; } /*feature bfd-protocol-parms { description "BFD protocol specific parameters support."; }*/ /*SA information*/ grouping sa-message { description "The Source-Active message information."; list adv-peer-list { key "adv-peer-addr"; description "The advertisement information of one peer."; leaf adv-peer-addr { type inet:ip-address; mandatory true; description "The address of peer that advertises the SA message. When this value is set to zero mearns that the sa message is originated by this node itself."; } list rp-entry { key "rp-addr"; description "The SA entry information of one RP."; leaf rp-addr { type inet:ip-address; mandatory true; description "The address of RP."; } list sa-cache { key "count"; description "The SA cache information."; leaf count { type uint32; mandatory true; description "The sequence number of this SA cache."; } Zhang & Xu Expires October 26, 2016 [Page 5] Internet-Draft MSDP YANG model April 2016 leaf sa-adv-timer { type uint16 { range "1 .. 65535"; } units "seconds"; default 60; description "The SA-Advertisement-Period of this SA cache."; } leaf sa-cache-timeout { type uint16 { range "1 .. 65535"; } units "seconds"; description "The timeout interval of this SA cache. The value of this timer MUST NOT be less than [SA-Advertisement-Period] + [SA-Hold-Down-Period]."; } leaf source-addr { type inet:ip-address; mandatory true; description "The address of source."; } leaf group-addr { type inet:ip-address; mandatory true; description "The address of group."; } } } } } /*peer information*/ grouping peer-state { description "The collection of msdp peer state."; choice peer-state { mandatory true; case disabled { description "The state of this msdp peer is disabled."; } case inactive { description "The tcp connection of this peer is not established yet."; } case connecting { description "The tcp connection of this peer is in process."; } case listen { description "The tcp connection of this peer is in process, and the ip address of this node is higher."; Zhang & Xu Expires October 26, 2016 [Page 6] Internet-Draft MSDP YANG model April 2016 } case established { description "The tcp connection of this peer is established."; } description "The collection of all possible peer state."; } } grouping peer-timer { description "The timer of msdp peer."; leaf hold-timer { type uint16 { range "1 .. 65535"; } units "seconds"; default 75; description "The SA-Hold-Down-Period of this msdp peer."; } leaf keepalive-timer { type uint16 { range "1 .. 65535"; } units "seconds"; default 60; description "The keepalive timer of this msdp peer."; } leaf connectRetry-timer { type uint16 { range "1 .. 65535"; } units "seconds"; default 30; description "The connect retry timer of this msdp peer."; } } container msdp-configure { description "The information of msdp protocol."; container peer-information { description "The information of msdp peer."; list peer-list { key "peer-addr"; description "The information of this msdp peer."; leaf peer-addr { type inet:ip-address; mandatory true; description "The address of this msdp peer."; Zhang & Xu Expires October 26, 2016 [Page 7] Internet-Draft MSDP YANG model April 2016 } leaf mesh-group { type string; description "The mesh-group that the msdp peer belongs to."; } container bfd { description "BFD operation."; leaf enabled { type boolean; description "True if BFD is enabled for the peer."; } /*uses bfd:bfd-grouping-base-cfg-parms { if-feature bfd-protocol-parms; }*/ } container peer-timer { description "The timer information of this peer."; uses peer-timer; } } } container source-active-cache { description "The source active cache information."; uses sa-message; } } container msdp { config false; description "The information of msdp protocol."; container peer-information { description "The information of msdp peer."; list peer-list { key "peer-addr"; description "The information of this msdp peer."; leaf peer-addr { type inet:ip-address; mandatory true; description "The address of this msdp peer."; } leaf mesh-group { type string; description "The mesh-group that the msdp peer belongs to."; } container bfd { description "BFD operation."; Zhang & Xu Expires October 26, 2016 [Page 8] Internet-Draft MSDP YANG model April 2016 leaf enabled { type boolean; description "True if BFD is enabled for the peer."; } /*uses bfd:bfd-grouping-base-cfg-parms { if-feature bfd-protocol-parms; }*/ } container peer-timer { description "The timer information of this peer."; uses peer-timer; } uses peer-state; } } container source-active-cache { description "The source active cache information."; uses sa-message; } } /*notification*/ notification msdp-notification { description "This notification is sent when a condition changes in msdp."; container peer-state-change { description "The msdp peer state changes."; leaf peer-addr { type inet:ip-address; mandatory true; description "The address of this msdp peer."; } uses peer-state; } container tlv-format-error { description "The tlv format is error from this peer."; leaf peer-addr { type inet:ip-address; mandatory true; description "The address of this msdp peer."; } container sa-error-message { description "The source active message information."; uses sa-message; } } Zhang & Xu Expires October 26, 2016 [Page 9] Internet-Draft MSDP YANG model April 2016 } } 6. Normative References [RFC3618] Fenner, B., Ed. and D. Meyer, Ed., "Multicast Source Discovery Protocol (MSDP)", RFC 3618, DOI 10.17487/RFC3618, October 2003, . [RFC6020] Bjorklund, M., Ed., "YANG - A Data Modeling Language for the Network Configuration Protocol (NETCONF)", RFC 6020, DOI 10.17487/RFC6020, October 2010, . Authors' Addresses Zheng(Sandy) Zhang ZTE Corporation No. 50 Software Ave, Yuhuatai Distinct Nanjing China Email: zhang.zheng@zte.com.cn BenChong Xu ZTE Corporation No. 50 Software Ave, Yuhuatai Distinct Nanjing China Email: xu.benchong@zte.com.cn Zhang & Xu Expires October 26, 2016 [Page 10]