[Docs] [txt|pdf] [Tracker] [WG] [Email] [Nits]
Versions: 00 01 draft-ietf-lisp-yang
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:
<status> <flags> <name> <opts> <type> <if-features>
<status> is one of:
+ for current
x for deprecated
o for obsolete
<flags> is one of:
rw for configuration data
ro for non-configuration data
-x for rpcs
-n for notifications
<name> is the name of the node
(<name>) means that the node is a choice node
:(<name>) means that the node is a case node
If the node is augmented into the tree from another module, its
name is printed as <prefix>:<name>.
<opts> is one of:
? for an optional leaf or choice
! for a presence container
* for a leaf-list or list
[<keys>] for a list's keys
<type> is the name of the type for leafs and leaf-lists
<if-features> 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.
<CODE BEGINS> 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;
}
}
}
}
}
<CODE ENDS>
<CODE BEGINS> 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
}
}
}
}
}
<CODE ENDS>
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]
Html markup produced by rfcmarkup 1.129d, available from
https://tools.ietf.org/tools/rfcmarkup/