LISP Working Group V. Ermagan Internet-Draft Cisco Systems Intended status: Experimental A. Rodriguez-Natal Expires: September 24, 2015 F. Coras A. Cabellos-Aparicio Technical University of Catalonia F. Maino Cisco Systems March 23, 2015 YANG model for LISP draft-ermagan-lisp-yang-00 Abstract This document describes a YANG data model to use with the Locator/ID Separation Protocol (LISP). 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 September 24, 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 Ermagan, et al. Expires September 24, 2015 [Page 1] Internet-Draft LISP-YANG March 2015 the Trust Legal Provisions and are provided without warranty as described in the Simplified BSD License. Table of Contents 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2 2. Tree view . . . . . . . . . . . . . . . . . . . . . . . . . . 2 3. YANG model . . . . . . . . . . . . . . . . . . . . . . . . . 11 4. Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . 25 5. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 25 6. Security Considerations . . . . . . . . . . . . . . . . . . . 25 7. Normative References . . . . . . . . . . . . . . . . . . . . 25 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 26 1. Introduction The Locator/ID Separation Protocol (LISP) defines several network elements subject to be configured. This document presents a YANG data model to define the basic configuration of all major LISP elements. 2. Tree view The tree view of the model is depicted below. The following notation is used to describe elements within the tree. For readability purposes, the tree depth is limited to 9 levels. Ermagan, et al. Expires September 24, 2015 [Page 2] Internet-Draft LISP-YANG March 2015 Each node is printed as: is one of: + for current x for deprecated o for obsolete is one of: rw for configuration data ro for non-configuration data -x for rpcs -n for notifications is the name of the node () means that the node is a choice node :() means that the node is a case node If the node is augmented into the tree from another module, its name is printed as :. is one of: ? for an optional leaf or choice ! for a presence container * for a leaf-list or list [] for a list's keys is the name of the type for leafs and leaf-lists is the list of features this node depends on, printed within curly brackets and a question mark "{...}?" module: lisp +--rw itr-cfg! {itr}? | +--rw rloc-probing! | | +--rw interval? uint16 | | +--rw retries? uint8 | | +--rw retries-interval? uint16 | +--rw itr-rlocs | | +--rw itr-rloc* [id] | | +--rw id string | | +--rw address | | +--rw afi? enumeration | | +--rw instance-id? instance-id-type | | +--rw (address)? | | +--:(ipv4) Ermagan, et al. Expires September 24, 2015 [Page 3] Internet-Draft LISP-YANG March 2015 | | | +--rw ipv4? inet:ipv4-address | | +--:(ipv6) | | | +--rw ipv6? inet:ipv6-address | | +--:(mac-address) | | | +--rw mac-address? yang:mac-address | | +--:(lcaf) | | +--rw lcaf | | +--rw lcaf-type? enumeration | | +--rw (address)? | | +--:(as-number) | | | ... | | +--:(sourc-dest-key) | | | ... | | +--:(explicit-locator-path) | | ... | +--rw local-eids | | +--rw local-eid* [id] | | +--rw id eid-id | | +--rw eid-address | | +--rw afi? enumeration | | +--rw instance-id? instance-id-type | | +--rw (address)? | | +--:(ipv4) | | | +--rw ipv4? inet:ipv4-address | | +--:(ipv6) | | | +--rw ipv6? inet:ipv6-address | | +--:(mac-address) | | | +--rw mac-address? yang:mac-address | | +--:(lcaf) | | +--rw lcaf | | +--rw lcaf-type? enumeration | | +--rw (address)? | | +--:(as-number) | | | ... | | +--:(sourc-dest-key) | | | ... | | +--:(explicit-locator-path) | | ... | +--rw map-resolvers | | +--rw map-resolver* [id] | | +--rw id eid-id | | +--rw eid-address | | | +--rw afi? enumeration | | | +--rw instance-id? instance-id-type | | | +--rw (address)? | | | +--:(ipv4) | | | | +--rw ipv4? inet:ipv4-address | | | +--:(ipv6) Ermagan, et al. Expires September 24, 2015 [Page 4] Internet-Draft LISP-YANG March 2015 | | | | +--rw ipv6? inet:ipv6-address | | | +--:(mac-address) | | | | +--rw mac-address? yang:mac-address | | | +--:(lcaf) | | | +--rw lcaf | | | +--rw lcaf-type? enumeration | | | +--rw (address)? | | | +--:(as-number) | | | | ... | | | +--:(sourc-dest-key) | | | | ... | | | +--:(explicit-locator-path) | | | ... | | +--rw map-resolver-address* inet:ip-address | +--rw proxy-etrs | | +--rw proxy-etr* [id] | | +--rw id eid-id | | +--rw eid-address | | | +--rw afi? enumeration | | | +--rw instance-id? instance-id-type | | | +--rw (address)? | | | +--:(ipv4) | | | | +--rw ipv4? inet:ipv4-address | | | +--:(ipv6) | | | | +--rw ipv6? inet:ipv6-address | | | +--:(mac-address) | | | | +--rw mac-address? yang:mac-address | | | +--:(lcaf) | | | +--rw lcaf | | | +--rw lcaf-type? enumeration | | | +--rw (address)? | | | +--:(as-number) | | | | ... | | | +--:(sourc-dest-key) | | | | ... | | | +--:(explicit-locator-path) | | | ... | | +--rw proxy-etr-address* inet:ip-address | +--rw map-cache | +--rw mapping* [id] | +--rw id eid-id | +--rw eid | | +--rw afi? enumeration | | +--rw instance-id? instance-id-type | | +--rw (address)? | | +--:(ipv4) | | | +--rw ipv4? inet:ipv4-address | | +--:(ipv6) Ermagan, et al. Expires September 24, 2015 [Page 5] Internet-Draft LISP-YANG March 2015 | | | +--rw ipv6? inet:ipv6-address | | +--:(mac-address) | | | +--rw mac-address? yang:mac-address | | +--:(lcaf) | | +--rw lcaf | | +--rw lcaf-type? enumeration | | +--rw (address)? | | +--:(as-number) | | | ... | | +--:(sourc-dest-key) | | | ... | | +--:(explicit-locator-path) | | ... | +--rw ttl? uint32 | +--rw (locator-list)? | | +--:(negative-mapping) | | | +--rw map-reply-action? map-reply-action | | +--:(positive-mapping) | | +--rw rlocs | | +--rw rloc* [name] | | +--rw name string | | +--rw (address-type)? | | | +--:(interface-address) | | | | ... | | | +--:(lisp-address) | | | ... | | +--rw priority? uint8 | | +--rw weight? uint8 | | +--rw multicast-priority? uint8 | | +--rw multicast-weight? uint8 | +--rw static? boolean +--rw etr-cfg! {etr}? | +--rw local-eids | +--rw local-eid* [id] | +--rw id eid-id | +--rw eid-address | | +--rw afi? enumeration | | +--rw instance-id? instance-id-type | | +--rw (address)? | | +--:(ipv4) | | | +--rw ipv4? inet:ipv4-address | | +--:(ipv6) | | | +--rw ipv6? inet:ipv6-address | | +--:(mac-address) | | | +--rw mac-address? yang:mac-address | | +--:(lcaf) | | +--rw lcaf | | +--rw lcaf-type? enumeration Ermagan, et al. Expires September 24, 2015 [Page 6] Internet-Draft LISP-YANG March 2015 | | +--rw (address)? | | +--:(as-number) | | | ... | | +--:(sourc-dest-key) | | | ... | | +--:(explicit-locator-path) | | ... | +--rw map-servers | | +--rw map-server* [address] | | +--rw address inet:ip-address | | +--rw auth-key? string | | +--rw auth-key-type? auth-key-type | +--rw rlocs | | +--rw rloc* [name] | | +--rw name string | | +--rw (address-type)? | | | +--:(interface-address) | | | | +--rw interface? interface-name | | | +--:(lisp-address) | | | +--rw locator-address | | | +--rw afi? enumeration | | | +--rw instance-id? instance-id-type | | | +--rw (address)? | | | ... | | +--rw priority? uint8 | | +--rw weight? uint8 | | +--rw multicast-priority? uint8 | | +--rw multicast-weight? uint8 | +--rw record-ttl? uint32 | +--rw want-map-notify? boolean | +--rw proxy-reply? boolean | +--rw registration-interval? uint16 +--rw map-server-cfg! {map-server}? | +--rw sites | | +--rw site* [site-id] | | +--rw site-id uint64 | | +--rw devices | | +--rw device* [device-id] | | +--rw device-id uint64 | | +--rw auth-key | | | +--rw auth-key-value? string | | | +--rw auth-key-type? auth-key-type | | +--rw eids | | +--rw eid* [id] | | +--rw id eid-id | | +--rw eid-address | | | +--rw afi? enumeration | | | +--rw instance-id? instance-id-type Ermagan, et al. Expires September 24, 2015 [Page 7] Internet-Draft LISP-YANG March 2015 | | | +--rw (address)? | | | ... | | +--rw more-specifics-accepted? boolean | | +--rw mapping-expiration-timeout? int16 | +--rw registered-mappings | | +--rw mapping* [id] | | +--rw id eid-id | | +--rw eid | | | +--rw afi? enumeration | | | +--rw instance-id? instance-id-type | | | +--rw (address)? | | | +--:(ipv4) | | | | +--rw ipv4? inet:ipv4-address | | | +--:(ipv6) | | | | +--rw ipv6? inet:ipv6-address | | | +--:(mac-address) | | | | +--rw mac-address? yang:mac-address | | | +--:(lcaf) | | | +--rw lcaf | | | +--rw lcaf-type? enumeration | | | +--rw (address)? | | | +--:(as-number) | | | | ... | | | +--:(sourc-dest-key) | | | | ... | | | +--:(explicit-locator-path) | | | ... | | +--rw ttl? uint32 | | +--rw (locator-list)? | | +--:(negative-mapping) | | | +--rw map-reply-action? map-reply-action | | +--:(positive-mapping) | | +--rw rlocs | | +--rw rloc* [name] | | +--rw name string | | +--rw (address-type)? | | | +--:(interface-address) | | | | ... | | | +--:(lisp-address) | | | ... | | +--rw priority? uint8 | | +--rw weight? uint8 | | +--rw multicast-priority? uint8 | | +--rw multicast-weight? uint8 | +--rw (mapping-system) | +--:(ddt-mapping-system) | | +--rw ddt-mapping-system! | | +--rw ddt-root* inet:ip-address Ermagan, et al. Expires September 24, 2015 [Page 8] Internet-Draft LISP-YANG March 2015 | | +--rw authoritative-eids | | +--rw authoritative-eid* [id] | | +--rw id eid-id | | +--rw eid-address | | +--rw afi? enumeration | | +--rw instance-id? instance-id-type | | +--rw (address)? | | +--:(ipv4) | | | ... | | +--:(ipv6) | | | ... | | +--:(mac-address) | | | ... | | +--:(lcaf) | | ... | +--:(alt-mapping-system) | +--rw alt-mapping-system! +--rw map-resolver-cfg! {map-resolver}? | +--rw (mapping-system) | +--:(ddt-mapping-system) | | +--rw ddt-mapping-system! | | +--rw ddt-root* inet:ip-address | +--:(alt-mapping-system) | +--rw alt-mapping-system! +--rw proxy-itr-cfg! {proxy-itr}? | +--rw servicing-eids | | +--rw eid* [id] | | +--rw id eid-id | | +--rw eid-address | | +--rw afi? enumeration | | +--rw instance-id? instance-id-type | | +--rw (address)? | | +--:(ipv4) | | | +--rw ipv4? inet:ipv4-address | | +--:(ipv6) | | | +--rw ipv6? inet:ipv6-address | | +--:(mac-address) | | | +--rw mac-address? yang:mac-address | | +--:(lcaf) | | +--rw lcaf | | +--rw lcaf-type? enumeration | | +--rw (address)? | | +--:(as-number) | | | ... | | +--:(sourc-dest-key) | | | ... | | +--:(explicit-locator-path) | | ... Ermagan, et al. Expires September 24, 2015 [Page 9] Internet-Draft LISP-YANG March 2015 | +--rw map-resolvers | | +--rw map-resolver* [id] | | +--rw id eid-id | | +--rw eid-address | | | +--rw afi? enumeration | | | +--rw instance-id? instance-id-type | | | +--rw (address)? | | | +--:(ipv4) | | | | +--rw ipv4? inet:ipv4-address | | | +--:(ipv6) | | | | +--rw ipv6? inet:ipv6-address | | | +--:(mac-address) | | | | +--rw mac-address? yang:mac-address | | | +--:(lcaf) | | | +--rw lcaf | | | +--rw lcaf-type? enumeration | | | +--rw (address)? | | | +--:(as-number) | | | | ... | | | +--:(sourc-dest-key) | | | | ... | | | +--:(explicit-locator-path) | | | ... | | +--rw map-resolver* inet:ip-address | +--rw map-cache | +--rw mapping* [id] | +--rw id eid-id | +--rw eid | | +--rw afi? enumeration | | +--rw instance-id? instance-id-type | | +--rw (address)? | | +--:(ipv4) | | | +--rw ipv4? inet:ipv4-address | | +--:(ipv6) | | | +--rw ipv6? inet:ipv6-address | | +--:(mac-address) | | | +--rw mac-address? yang:mac-address | | +--:(lcaf) | | +--rw lcaf | | +--rw lcaf-type? enumeration | | +--rw (address)? | | +--:(as-number) | | | ... | | +--:(sourc-dest-key) | | | ... | | +--:(explicit-locator-path) | | ... | +--rw ttl? uint32 Ermagan, et al. Expires September 24, 2015 [Page 10] Internet-Draft LISP-YANG March 2015 | +--rw (locator-list)? | +--:(negative-mapping) | | +--rw map-reply-action? map-reply-action | +--:(positive-mapping) | +--rw rlocs | +--rw rloc* [name] | +--rw name string | +--rw (address-type)? | | +--:(interface-address) | | | ... | | +--:(lisp-address) | | ... | +--rw priority? uint8 | +--rw weight? uint8 | +--rw multicast-priority? uint8 | +--rw multicast-weight? uint8 +--rw proxy-etr-cfg! {proxy-etr}? +--rw servicing-eids +--rw eid* [id] +--rw id eid-id +--rw eid-address +--rw afi? enumeration +--rw instance-id? instance-id-type +--rw (address)? +--:(ipv4) | +--rw ipv4? inet:ipv4-address +--:(ipv6) | +--rw ipv6? inet:ipv6-address +--:(mac-address) | +--rw mac-address? yang:mac-address +--:(lcaf) +--rw lcaf +--rw lcaf-type? enumeration +--rw (address)? +--:(as-number) | ... +--:(sourc-dest-key) | ... +--:(explicit-locator-path) ... 3. YANG model This section contains the YANG model for lisp configuration and the companion lisp-address-types module. file "lisp-address-types@2015-03-23.yang" Ermagan, et al. Expires September 24, 2015 [Page 11] Internet-Draft LISP-YANG March 2015 module lisp-address-types { namespace "urn:ietf:params:xml:ns:yang:lisp-address-types"; prefix lisp; import ietf-inet-types { prefix inet; } import ietf-yang-types { prefix yang; } organization "IETF LISP (Locator/ID Separation Protocol) Working Group"; contact "lisp@ietf.org"; description "This YANG module defines the LISP Canonical Address Formats (LCAF) for LISP. The module can be extended by vendors to define vendor-specific parameters. Copyright (c) 2015 IETF Trust and the persons identified as authors of the code. All rights reserved. Redistribution and use in source and binary forms, with or without modification, is permitted pursuant to, and subject to the license terms contained in, the Simplified BSD License 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 6338; see the RFC itself for full legal notices. "; revision 2015-03-23 { description "Initial revision."; } typedef instance-id-type { type uint32 { range "0..16777214"; } } typedef simple-address { type union { type inet:ip-address; Ermagan, et al. Expires September 24, 2015 [Page 12] Internet-Draft LISP-YANG March 2015 type yang:mac-address; } } grouping lcaf-address { leaf lcaf-type { type enumeration { enum "null"; enum "afi-list"; enum "instance-id"; enum "as-number"; enum "application-data"; enum "geo-coordinates"; enum "opaque-key"; enum "nat-ttraversal"; enum "nonce-locator"; enum "multicast-info"; enum "explicit-locator-path"; enum "security-key"; enum "source-dest-key"; enum "replication-list"; enum "json-data-model"; enum "key-value-address"; enum "encapsulation-format"; } } choice address { container as-number { when "lcaf-type = as-number"; leaf as { type inet:as-number; } leaf address { type simple-address; } } container sourc-dest-key { when "lcaf-type = source-dest-key"; leaf source { type inet:ip-prefix; } leaf dest { type inet:ip-prefix; } } container explicit-locator-path { when "lcaf-type = explicit-locator-path"; list hop { Ermagan, et al. Expires September 24, 2015 [Page 13] Internet-Draft LISP-YANG March 2015 key "address"; leaf address { type simple-address; } leaf lrs-bits { type bits { bit lookup; bit rloc-probe; bit strict; } } } } } } grouping lisp-address { leaf afi { type enumeration { enum "ipv4" { value 1; } enum "ipv6" { value 2; } enum "mac-address" { value 6; } enum "lcaf" { value 16387; } } } leaf instance-id { type instance-id-type; } choice address { case ipv4 { when "afi = ipv4"; leaf ipv4 { type inet:ipv4-address; } } case ipv6 { when "afi = ipv6"; leaf ipv6 { type inet:ipv6-address; } Ermagan, et al. Expires September 24, 2015 [Page 14] Internet-Draft LISP-YANG March 2015 } case mac-address { when "afi = mac-address"; leaf mac-address { type yang:mac-address; } } case lcaf { when "afi = lcaf"; container lcaf { uses lcaf-address; } } } } } file "lisp@2015-03-23.yang" module lisp { namespace "urn:ietf:params:xml:ns:yang:lisp"; prefix lisp; import ietf-inet-types { prefix inet; } import lisp-address-types { prefix lcaf; } organization "IETF LISP (Locator/ID Separation Protocol) Working Group"; contact "lisp@ietf.org"; description "This YANG module defines the generic configuration data for LISP. The module can be extended by vendors to define vendor-specific LISP configuration parameters and policies. Copyright (c) 2015 IETF Trust and the persons identified as authors of the code. All rights reserved. Redistribution and use in source and binary forms, with or without modification, is permitted pursuant to, and subject to the license terms contained in, the Simplified BSD License set forth in Section 4.c of the IETF Trust's Legal Provisions Ermagan, et al. Expires September 24, 2015 [Page 15] Internet-Draft LISP-YANG March 2015 Relating to IETF Documents (http://trustee.ietf.org/license-info). This version of this YANG module is part of RFC 6338; see the RFC itself for full legal notices. "; revision 2015-03-23 { description "Initial revision."; } typedef interface-name { description "Name of a device interface"; type string; } typedef map-reply-action { description "Defines the lisp map-cache ACT type"; type enumeration { enum "no-action" { value 0; } enum "natively-forward" { value 1; } enum "send-map-request" { value 2; } enum "drop" { value 3; } } } typedef eid-id { type string; } typedef instance-id-type { type uint32 { range "0..16777214"; } } Ermagan, et al. Expires September 24, 2015 [Page 16] Internet-Draft LISP-YANG March 2015 typedef auth-key-type { type enumeration { enum "none" { value 0; } enum "hmac-sha-1-96" { value 1; } enum "hmac-sha-256-128" { value 2; } } } feature itr { description "ITR operation supported"; } feature etr { description "ETR operation supported"; } feature proxy-itr { description "PITR operation supported"; } feature proxy-etr { description "PETR operation supported"; } feature map-server { description "MS operation supported"; } feature map-resolver { description "MR operation supported"; } grouping locators { list rloc { key "name"; leaf name { Ermagan, et al. Expires September 24, 2015 [Page 17] Internet-Draft LISP-YANG March 2015 type string; } choice address-type { case interface-address { leaf interface { type interface-name; } } case lisp-address { container locator-address { uses lcaf:lisp-address; } } } leaf priority { type uint8; } leaf weight { type uint8; } leaf multicast-priority { type uint8; } leaf multicast-weight { type uint8; } } } grouping mappings { list mapping { key "id"; leaf id { type eid-id; } container eid { uses lcaf:lisp-address; } leaf ttl { type uint32; } choice locator-list { case negative-mapping { leaf map-reply-action { type map-reply-action; } } case positive-mapping { Ermagan, et al. Expires September 24, 2015 [Page 18] Internet-Draft LISP-YANG March 2015 container rlocs { uses locators; } } default "positive-mapping"; } } } container itr-cfg { if-feature itr; presence "LISP ITR operation enabled"; config true; container rloc-probing { presence "RLOC probing active"; leaf interval { type uint16; units "seconds"; description "Interval in seconds"; } leaf retries { type uint8; description "Number of retries"; } leaf retries-interval { type uint16; units "seconds"; description "Interval in seconds between retries"; } } container itr-rlocs { description "List of RLOCs of the ITR included in Map-Requests"; list itr-rloc { key "id"; leaf id { type string; } container address { uses lcaf:lisp-address; } } } container local-eids { list local-eid { Ermagan, et al. Expires September 24, 2015 [Page 19] Internet-Draft LISP-YANG March 2015 min-elements 1; key "id"; leaf id { type eid-id; } container eid-address { uses lcaf:lisp-address; } } } container map-resolvers { list map-resolver { min-elements 1; key "id"; leaf id { type eid-id; } container eid-address { uses lcaf:lisp-address; } leaf-list map-resolver-address { type inet:ip-address; } } } container proxy-etrs { list proxy-etr { key "id"; leaf id { type eid-id; } container eid-address { uses lcaf:lisp-address; } leaf-list proxy-etr-address { type inet:ip-address; } } } container map-cache { uses mappings { augment "mapping" { leaf static { description "A configured mapping is a static mapping. If the mapping is learned, it is operational data and static is false."; type boolean; default "true"; Ermagan, et al. Expires September 24, 2015 [Page 20] Internet-Draft LISP-YANG March 2015 } } } } } container etr-cfg { if-feature etr; presence "LISP ETR operation enabled"; config true; container local-eids { list local-eid { min-elements 1; key "id"; leaf id { type eid-id; } container eid-address { uses lcaf:lisp-address; } container map-servers { list map-server { key "address"; leaf address { type inet:ip-address; } leaf auth-key { type string; } leaf auth-key-type { type auth-key-type; } } } container rlocs { uses locators; } leaf record-ttl { type uint32; } leaf want-map-notify { type boolean; } leaf proxy-reply { type boolean; } leaf registration-interval { units "seconds"; type uint16; Ermagan, et al. Expires September 24, 2015 [Page 21] Internet-Draft LISP-YANG March 2015 default "60"; } } } } container map-server-cfg { if-feature map-server; presence "LISP Map Server operation enabled"; config true; container sites { list site { key "site-id"; leaf site-id { type uint64; } container devices { list device { key "device-id"; leaf device-id { type uint64; } container auth-key { leaf auth-key-value { description "clear text authentication key"; type string; } leaf auth-key-type { type auth-key-type; } } container eids { list eid { key "id"; leaf id { type eid-id; } container eid-address { uses lcaf:lisp-address; } leaf more-specifics-accepted { type boolean; } leaf mapping-expiration-timeout { type int16; units "seconds"; default "180"; } Ermagan, et al. Expires September 24, 2015 [Page 22] Internet-Draft LISP-YANG March 2015 } } } } } } container registered-mappings { uses mappings; } choice mapping-system { mandatory true; container ddt-mapping-system { presence "DDT Mapping System in use"; leaf-list ddt-root { type inet:ip-address; } container authoritative-eids { list authoritative-eid { key "id"; leaf id { type eid-id; } container eid-address { uses lcaf:lisp-address; } } } } container alt-mapping-system { presence "ALT Mapping System in use"; } } } container map-resolver-cfg { if-feature map-resolver; presence "LISP Map-Resolver operation enabled"; config true; choice mapping-system { mandatory true; container ddt-mapping-system { presence "DDT Mapping System in use"; leaf-list ddt-root { type inet:ip-address; } } container alt-mapping-system { presence "ALT Mapping System in use"; } Ermagan, et al. Expires September 24, 2015 [Page 23] Internet-Draft LISP-YANG March 2015 } } container proxy-itr-cfg { if-feature proxy-itr; presence "LISP PITR operation enabled"; config true; container servicing-eids { list eid { key "id"; leaf id { type eid-id; } container eid-address { uses lcaf:lisp-address; } } } container map-resolvers { list map-resolver { key "id"; leaf id { type eid-id; } container eid-address { uses lcaf:lisp-address; } leaf-list map-resolver { min-elements 1; type inet:ip-address; } } } container map-cache { uses mappings; } } container proxy-etr-cfg { if-feature proxy-etr; presence "LISP PETR operation enabled"; config true; container servicing-eids { list eid { key "id"; leaf id { type eid-id; } container eid-address { uses lcaf:lisp-address; Ermagan, et al. Expires September 24, 2015 [Page 24] Internet-Draft LISP-YANG March 2015 } } } } } 4. Acknowledgments The tree view and the YANG model shown in this document have been formated with the 'pyang' tool. 5. IANA Considerations This memo includes no request to IANA. 6. Security Considerations Security Considerations TBD 7. Normative References [I-D.ietf-lisp-ddt] Fuller, V., Lewis, D., Ermagan, V., and A. Jain, "LISP Delegated Database Tree", draft-ietf-lisp-ddt-02 (work in progress), October 2014. [I-D.ietf-lisp-lcaf] Farinacci, D., Meyer, D., and J. Snijders, "LISP Canonical Address Format (LCAF)", draft-ietf-lisp-lcaf-04 (work in progress), January 2014. [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate Requirement Levels", BCP 14, RFC 2119, March 1997. [RFC6830] Farinacci, D., Fuller, V., Meyer, D., and D. Lewis, "The Locator/ID Separation Protocol (LISP)", RFC 6830, January 2013. [RFC6833] Fuller, V. and D. Farinacci, "Locator/ID Separation Protocol (LISP) Map-Server Interface", RFC 6833, January 2013. [RFC6836] Fuller, V., Farinacci, D., Meyer, D., and D. Lewis, "Locator/ID Separation Protocol Alternative Logical Topology (LISP+ALT)", RFC 6836, January 2013. Ermagan, et al. Expires September 24, 2015 [Page 25] Internet-Draft LISP-YANG March 2015 Authors' Addresses Vina Ermagan Cisco Systems 170 Tasman Drive San Jose, CA USA Email: vermagan@cisco.com Alberto Rodriguez-Natal Technical University of Catalonia Barcelona Spain Email: arnatal@ac.upc.edu Florin Coras Technical University of Catalonia Barcelona Spain Email: fcoras@ac.upc.edu Albert Cabellos-Aparicio Technical University of Catalonia Barcelona Spain Email: acabello@ac.upc.edu Fabio Maino Cisco Systems 170 Tasman Drive San Jose, CA USA Email: fmaino@cisco.com Ermagan, et al. Expires September 24, 2015 [Page 26]