--- 1/draft-ietf-lisp-yang-09.txt 2018-11-05 00:13:09.098649926 -0800 +++ 2/draft-ietf-lisp-yang-10.txt 2018-11-05 00:13:09.242653380 -0800 @@ -1,25 +1,25 @@ LISP Working Group V. Ermagan Internet-Draft A. Rodriguez-Natal Intended status: Experimental F. Coras -Expires: April 21, 2019 C. Moberg +Expires: May 8, 2019 C. Moberg R. Rahman Cisco Systems A. Cabellos-Aparicio Technical University of Catalonia F. Maino Cisco Systems - October 18, 2018 + November 4, 2018 LISP YANG Model - draft-ietf-lisp-yang-09 + draft-ietf-lisp-yang-10 Abstract This document describes a YANG data model to use with the Locator/ID Separation Protocol (LISP). The YANG modules in this document conform to the Network Management Datastore Architecture (NMDA). Status of This Memo @@ -30,21 +30,21 @@ 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 https://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 April 21, 2019. + This Internet-Draft will expire on May 8, 2019. Copyright Notice Copyright (c) 2018 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 (https://trustee.ietf.org/license-info) in effect on the date of publication of this document. Please review these documents @@ -57,28 +57,28 @@ Table of Contents 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2 1.1. Requirements Language . . . . . . . . . . . . . . . . . . 3 1.2. Tree Diagrams . . . . . . . . . . . . . . . . . . . . . . 3 2. LISP Module . . . . . . . . . . . . . . . . . . . . . . . . . 3 2.1. Module Structure . . . . . . . . . . . . . . . . . . . . 3 2.2. Module Definition . . . . . . . . . . . . . . . . . . . . 6 3. LISP-ITR Module . . . . . . . . . . . . . . . . . . . . . . . 16 3.1. Module Structure . . . . . . . . . . . . . . . . . . . . 16 - 3.2. Module Definition . . . . . . . . . . . . . . . . . . . . 21 + 3.2. Module Definition . . . . . . . . . . . . . . . . . . . . 22 4. LISP-ETR Module . . . . . . . . . . . . . . . . . . . . . . . 25 4.1. Module Structure . . . . . . . . . . . . . . . . . . . . 25 - 4.2. Module Definition . . . . . . . . . . . . . . . . . . . . 27 + 4.2. Module Definition . . . . . . . . . . . . . . . . . . . . 28 5. LISP-Map-Server Module . . . . . . . . . . . . . . . . . . . 32 5.1. Module Structure . . . . . . . . . . . . . . . . . . . . 32 - 5.2. Module Definition . . . . . . . . . . . . . . . . . . . . 40 - 6. LISP-Map-Resolver Module . . . . . . . . . . . . . . . . . . 46 + 5.2. Module Definition . . . . . . . . . . . . . . . . . . . . 41 + 6. LISP-Map-Resolver Module . . . . . . . . . . . . . . . . . . 47 6.1. Module Structure . . . . . . . . . . . . . . . . . . . . 47 6.2. Module Definition . . . . . . . . . . . . . . . . . . . . 47 7. LISP-Address-Types Module . . . . . . . . . . . . . . . . . . 49 7.1. Module Definition . . . . . . . . . . . . . . . . . . . . 49 7.2. Data Model examples . . . . . . . . . . . . . . . . . . . 64 7.2.1. LISP protocol instance . . . . . . . . . . . . . . . 64 7.2.2. LISP ITR . . . . . . . . . . . . . . . . . . . . . . 65 7.2.3. LISP ETR . . . . . . . . . . . . . . . . . . . . . . 66 7.2.4. LISP Map-Server . . . . . . . . . . . . . . . . . . . 68 8. Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . 69 @@ -247,21 +247,21 @@ | +--rw site-id? uint64 | +--rw xtr-id? lisp:xtr-id-type +--rw virtual-networks +--rw virtual-network* [vni] +--rw vni lcaf:instance-id-type +--rw ni-name? -> /ni:network-instances/network-instance/name 2.2. Module Definition - file "ietf-lisp@2018-06-29.yang" + file "ietf-lisp@2018-11-04.yang" module ietf-lisp { yang-version 1.1; namespace "urn:ietf:params:xml:ns:yang:ietf-lisp"; prefix lisp; import ietf-interfaces { prefix if; reference @@ -319,21 +319,21 @@ set forth in Section 4.c of the IETF Trust's Legal Provisions Relating to IETF Documents (http://trustee.ietf.org/license-info). This version of this YANG module is part of RFC XXXX; see the RFC itself for full legal notices. "; reference "RFC XXXX"; - revision 2018-06-29 { + revision 2018-11-04 { description "Initial revision."; reference "https://tools.ietf.org/html/rfc6830"; } /* * Identity definitions */ identity lisp { @@ -583,21 +583,26 @@ } grouping mappings { description "Group that defines a list of LISP mappings."; list virtual-network { key "vni"; description "Virtual network to which the mappings belong."; leaf vni { - type lcaf:instance-id-type; + type leafref { + path "/rt:routing/rt:control-plane-protocols" + + "/rt:control-plane-protocol/lisp:lisp" + + "/lisp:virtual-networks/lisp:virtual-network" + + "/lisp:vni"; + } description "Virtual network identifier."; } container mappings { description "Mappings within the virtual network."; list mapping { key "id"; description "List of EID to RLOCs mappings."; @@ -695,41 +700,42 @@ container virtual-networks { when "../lisp-role/lisp-role-type = 'itr' or ../lisp-role/lisp-role-type = 'pitr' or ../lisp-role/lisp-role-type = 'etr' or ../lisp-role/lisp-role-type = 'petr'" { description "Only when ITR, PITR, ETR or PETR."; } description "Virtual networks"; list virtual-network { key vni; + unique "ni-name"; description "List of virtual networks"; leaf vni { type lcaf:instance-id-type; description "Virtual network identifier"; } leaf ni-name { type leafref { path "/ni:network-instances/ni:network-instance/ni:name"; } + mandatory true; description "Name of Network Instance (e.g. VRF) to which a VNI is bound. Each VNI is bound to a different Network Instance"; } } } } } - } 3. LISP-ITR Module This module captures the configuration data model of a LISP ITR. The model also captures some operational data elements. 3.1. Module Structure @@ -1288,25 +1295,26 @@ | | service-path-id-type | +--rw service-index? uint8 +--rw rlocs? leafref +--rw record-ttl? uint32 +--rw want-map-notify? boolean +--rw proxy-reply? boolean +--rw registration-interval? uint16 4.2. Module Definition - file "ietf-lisp-etr@2018-06-29.yang" + file "ietf-lisp-etr@2018-09-06.yang" module ietf-lisp-etr { yang-version 1.1; namespace "urn:ietf:params:xml:ns:yang:ietf-lisp-etr"; + prefix lisp-etr; // RFC Ed.: replace occurences of XXXX with actual RFC number // and remove this note import ietf-lisp { prefix lisp; reference "RFC XXXX: LISP YANG model"; } import ietf-lisp-address-types { prefix lcaf; @@ -1351,21 +1359,21 @@ set forth in Section 4.c of the IETF Trust's Legal Provisions Relating to IETF Documents (http://trustee.ietf.org/license-info). This version of this YANG module is part of RFC XXXX; see the RFC itself for full legal notices. "; reference "RFC XXXX"; - revision 2018-06-29 { + revision 2018-09-06 { description "Initial revision."; reference "https://tools.ietf.org/html/rfc6830"; } augment "/rt:routing/rt:control-plane-protocols" + "/rt:control-plane-protocol/lisp:lisp" { when "lisp:lisp-role/lisp:lisp-role-type = 'lisp:etr' or lisp:lisp-role/lisp:lisp-role-type = 'lisp:petr'" { description @@ -1413,30 +1421,35 @@ description "Container exists only when LISP device type is ETR."; } description "Virtual networks served by the ETR."; list virtual-network { key "vni"; description "Virtual network for local-EIDs."; leaf vni { - type lcaf:instance-id-type; + type leafref { + path "/rt:routing/rt:control-plane-protocols" + + "/rt:control-plane-protocol/lisp:lisp" + + "/lisp:virtual-networks/lisp:virtual-network" + + "/lisp:vni"; + } description "Virtual network identifier."; } container eids { description "EIDs served by the ETR."; + list local-eid { key "id"; - min-elements 1; description "List of local EIDs."; leaf id { type lisp:eid-id; description "Unique id of local EID."; } container eid-address { uses lcaf:lisp-address; description