draft-ietf-lisp-yang-10.txt   draft-ietf-lisp-yang-11.txt 
LISP Working Group V. Ermagan LISP Working Group V. Ermagan
Internet-Draft A. Rodriguez-Natal Internet-Draft Google
Intended status: Experimental F. Coras Intended status: Experimental A. Rodriguez-Natal
Expires: May 8, 2019 C. Moberg Expires: September 7, 2019 F. Coras
C. Moberg
R. Rahman R. Rahman
Cisco Systems Cisco Systems
A. Cabellos-Aparicio A. Cabellos-Aparicio
Technical University of Catalonia Technical University of Catalonia
F. Maino F. Maino
Cisco Systems Cisco Systems
November 4, 2018 March 6, 2019
LISP YANG Model LISP YANG Model
draft-ietf-lisp-yang-10 draft-ietf-lisp-yang-11
Abstract Abstract
This document describes a YANG data model to use with the Locator/ID This document describes a YANG data model to use with the Locator/ID
Separation Protocol (LISP). Separation Protocol (LISP).
The YANG modules in this document conform to the Network Management The YANG modules in this document conform to the Network Management
Datastore Architecture (NMDA). Datastore Architecture (NMDA).
Status of This Memo Status of This Memo
skipping to change at page 1, line 41 skipping to change at page 1, line 42
Internet-Drafts are working documents of the Internet Engineering Internet-Drafts are working documents of the Internet Engineering
Task Force (IETF). Note that other groups may also distribute Task Force (IETF). Note that other groups may also distribute
working documents as Internet-Drafts. The list of current Internet- working documents as Internet-Drafts. The list of current Internet-
Drafts is at https://datatracker.ietf.org/drafts/current/. Drafts is at https://datatracker.ietf.org/drafts/current/.
Internet-Drafts are draft documents valid for a maximum of six months Internet-Drafts are draft documents valid for a maximum of six months
and may be updated, replaced, or obsoleted by other documents at any and may be updated, replaced, or obsoleted by other documents at any
time. It is inappropriate to use Internet-Drafts as reference time. It is inappropriate to use Internet-Drafts as reference
material or to cite them other than as "work in progress." material or to cite them other than as "work in progress."
This Internet-Draft will expire on May 8, 2019. This Internet-Draft will expire on September 7, 2019.
Copyright Notice Copyright Notice
Copyright (c) 2018 IETF Trust and the persons identified as the Copyright (c) 2019 IETF Trust and the persons identified as the
document authors. All rights reserved. document authors. All rights reserved.
This document is subject to BCP 78 and the IETF Trust's Legal This document is subject to BCP 78 and the IETF Trust's Legal
Provisions Relating to IETF Documents Provisions Relating to IETF Documents
(https://trustee.ietf.org/license-info) in effect on the date of (https://trustee.ietf.org/license-info) in effect on the date of
publication of this document. Please review these documents publication of this document. Please review these documents
carefully, as they describe your rights and restrictions with respect carefully, as they describe your rights and restrictions with respect
to this document. Code Components extracted from this document must to this document. Code Components extracted from this document must
include Simplified BSD License text as described in Section 4.e of include Simplified BSD License text as described in Section 4.e of
the Trust Legal Provisions and are provided without warranty as the Trust Legal Provisions and are provided without warranty as
skipping to change at page 2, line 21 skipping to change at page 2, line 24
Table of Contents Table of Contents
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2
1.1. Requirements Language . . . . . . . . . . . . . . . . . . 3 1.1. Requirements Language . . . . . . . . . . . . . . . . . . 3
1.2. Tree Diagrams . . . . . . . . . . . . . . . . . . . . . . 3 1.2. Tree Diagrams . . . . . . . . . . . . . . . . . . . . . . 3
2. LISP Module . . . . . . . . . . . . . . . . . . . . . . . . . 3 2. LISP Module . . . . . . . . . . . . . . . . . . . . . . . . . 3
2.1. Module Structure . . . . . . . . . . . . . . . . . . . . 3 2.1. Module Structure . . . . . . . . . . . . . . . . . . . . 3
2.2. Module Definition . . . . . . . . . . . . . . . . . . . . 6 2.2. Module Definition . . . . . . . . . . . . . . . . . . . . 6
3. LISP-ITR Module . . . . . . . . . . . . . . . . . . . . . . . 16 3. LISP-ITR Module . . . . . . . . . . . . . . . . . . . . . . . 16
3.1. Module Structure . . . . . . . . . . . . . . . . . . . . 16 3.1. Module Structure . . . . . . . . . . . . . . . . . . . . 17
3.2. Module Definition . . . . . . . . . . . . . . . . . . . . 22 3.2. Module Definition . . . . . . . . . . . . . . . . . . . . 22
4. LISP-ETR Module . . . . . . . . . . . . . . . . . . . . . . . 25 4. LISP-ETR Module . . . . . . . . . . . . . . . . . . . . . . . 26
4.1. Module Structure . . . . . . . . . . . . . . . . . . . . 25 4.1. Module Structure . . . . . . . . . . . . . . . . . . . . 26
4.2. Module Definition . . . . . . . . . . . . . . . . . . . . 28 4.2. Module Definition . . . . . . . . . . . . . . . . . . . . 28
5. LISP-Map-Server Module . . . . . . . . . . . . . . . . . . . 32 5. LISP-Map-Server Module . . . . . . . . . . . . . . . . . . . 32
5.1. Module Structure . . . . . . . . . . . . . . . . . . . . 32 5.1. Module Structure . . . . . . . . . . . . . . . . . . . . 33
5.2. Module Definition . . . . . . . . . . . . . . . . . . . . 41 5.2. Module Definition . . . . . . . . . . . . . . . . . . . . 41
6. LISP-Map-Resolver Module . . . . . . . . . . . . . . . . . . 47 6. LISP-Map-Resolver Module . . . . . . . . . . . . . . . . . . 47
6.1. Module Structure . . . . . . . . . . . . . . . . . . . . 47 6.1. Module Structure . . . . . . . . . . . . . . . . . . . . 47
6.2. Module Definition . . . . . . . . . . . . . . . . . . . . 47 6.2. Module Definition . . . . . . . . . . . . . . . . . . . . 48
7. LISP-Address-Types Module . . . . . . . . . . . . . . . . . . 49 7. LISP-Address-Types Module . . . . . . . . . . . . . . . . . . 50
7.1. Module Definition . . . . . . . . . . . . . . . . . . . . 49 7.1. Module Definition . . . . . . . . . . . . . . . . . . . . 50
7.2. Data Model examples . . . . . . . . . . . . . . . . . . . 64 7.2. Data Model examples . . . . . . . . . . . . . . . . . . . 64
7.2.1. LISP protocol instance . . . . . . . . . . . . . . . 64 7.2.1. LISP protocol instance . . . . . . . . . . . . . . . 64
7.2.2. LISP ITR . . . . . . . . . . . . . . . . . . . . . . 65 7.2.2. LISP ITR . . . . . . . . . . . . . . . . . . . . . . 66
7.2.3. LISP ETR . . . . . . . . . . . . . . . . . . . . . . 66 7.2.3. LISP ETR . . . . . . . . . . . . . . . . . . . . . . 66
7.2.4. LISP Map-Server . . . . . . . . . . . . . . . . . . . 68 7.2.4. LISP Map-Server . . . . . . . . . . . . . . . . . . . 69
8. Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . 69 8. Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . 70
9. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 69 9. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 70
10. Security Considerations . . . . . . . . . . . . . . . . . . . 71 10. Security Considerations . . . . . . . . . . . . . . . . . . . 72
11. Normative References . . . . . . . . . . . . . . . . . . . . 74 11. Normative References . . . . . . . . . . . . . . . . . . . . 75
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 76 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 76
1. Introduction 1. Introduction
The Locator/ID Separation Protocol (LISP) defines several network The Locator/ID Separation Protocol (LISP) defines several network
elements subject to be configured. This document presents the YANG elements subject to be configured. This document presents the YANG
data models required for basic configuration of all major LISP data models required for basic configuration of all major LISP
[RFC6830] elements. The models also capture some essential [RFC6830] elements. The models also capture some essential
operational data elements as well. operational data elements as well.
1.1. Requirements Language 1.1. Requirements Language
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
"SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this
document are to be interpreted as described in BCP 14 [RFC2119] document are to be interpreted as described in BCP 14 [RFC2119]
[RFC8174] when, and only when, they appear in all capitals, as shown [RFC8174] when, and only when, they appear in all capitals, as shown
here. here.
skipping to change at page 3, line 46 skipping to change at page 3, line 49
| | +--rw priority? uint8 | | +--rw priority? uint8
| | +--rw weight? uint8 | | +--rw weight? uint8
| | +--rw multicast-priority? uint8 | | +--rw multicast-priority? uint8
| | +--rw multicast-weight? uint8 | | +--rw multicast-weight? uint8
| +--:(general-locator) | +--:(general-locator)
| +--rw locator* [id] | +--rw locator* [id]
| +--rw id string | +--rw id string
| +--rw locator-address | +--rw locator-address
| | +--rw address-type | | +--rw address-type
| | | lisp-address-family-ref | | | lisp-address-family-ref
| | +--rw virtual-network-id?
| | | instance-id-type
| | +--rw (address)? | | +--rw (address)?
| | +--:(no-address) | | +--:(no-address)
| | | +--rw no-address? empty | | | +--rw no-address? empty
| | +--:(ipv4) | | +--:(ipv4)
| | | +--rw ipv4? | | | +--rw ipv4?
| | | inet:ipv4-address | | | inet:ipv4-address
| | +--:(ipv4-prefix) | | +--:(ipv4-prefix)
| | | +--rw ipv4-prefix? | | | +--rw ipv4-prefix?
| | | inet:ipv4-prefix | | | inet:ipv4-prefix
| | +--:(ipv6) | | +--:(ipv6)
skipping to change at page 4, line 32 skipping to change at page 4, line 33
| | | inet:as-number | | | inet:as-number
| | +--:(null-address) | | +--:(null-address)
| | | +--rw null-address | | | +--rw null-address
| | | +--rw address? empty | | | +--rw address? empty
| | +--:(afi-list) | | +--:(afi-list)
| | | +--rw afi-list | | | +--rw afi-list
| | | +--rw address-list* | | | +--rw address-list*
| | | simple-address | | | simple-address
| | +--:(instance-id) | | +--:(instance-id)
| | | +--rw instance-id | | | +--rw instance-id
| | | +--rw iid? | | | +--rw instance-id?
| | | | instance-id-type | | | | instance-id-type
| | | +--rw mask-length? uint8 | | | +--rw mask-length? uint8
| | | +--rw address? simple-address | | | +--rw address? simple-address
| | +--:(as-number-lcaf) | | +--:(as-number-lcaf)
| | | +--rw as-number-lcaf | | | +--rw as-number-lcaf
| | | +--rw as? inet:as-number | | | +--rw as? inet:as-number
| | | +--rw address? simple-address | | | +--rw address? simple-address
| | +--:(application-data) | | +--:(application-data)
| | | +--rw application-data | | | +--rw application-data
| | | +--rw address? | | | +--rw address?
skipping to change at page 6, line 11 skipping to change at page 6, line 12
| | +--rw service-index? uint8 | | +--rw service-index? uint8
| +--rw priority? uint8 | +--rw priority? uint8
| +--rw weight? uint8 | +--rw weight? uint8
| +--rw multicast-priority? uint8 | +--rw multicast-priority? uint8
| +--rw multicast-weight? uint8 | +--rw multicast-weight? uint8
+--rw lisp-role* [lisp-role-type] +--rw lisp-role* [lisp-role-type]
| +--rw lisp-role-type lisp-role-ref | +--rw lisp-role-type lisp-role-ref
+--rw lisp-router-id +--rw lisp-router-id
| +--rw site-id? uint64 | +--rw site-id? uint64
| +--rw xtr-id? lisp:xtr-id-type | +--rw xtr-id? lisp:xtr-id-type
+--rw virtual-networks +--rw vpns
+--rw virtual-network* [vni] +--rw vpn* [instance-id]
+--rw vni lcaf:instance-id-type +--rw instance-id lcaf:instance-id-type
+--rw ni-name? +--rw iid-name
-> /ni:network-instances/network-instance/name -> /ni:network-instances/network-instance/name
2.2. Module Definition 2.2. Module Definition
<CODE BEGINS> file "ietf-lisp@2018-11-04.yang" <CODE BEGINS> file "ietf-lisp@2019-03-05.yang"
module ietf-lisp { module ietf-lisp {
yang-version 1.1; yang-version 1.1;
namespace "urn:ietf:params:xml:ns:yang:ietf-lisp"; namespace "urn:ietf:params:xml:ns:yang:ietf-lisp";
prefix lisp; prefix lisp;
import ietf-interfaces { import ietf-interfaces {
prefix if; prefix if;
reference reference
skipping to change at page 7, line 15 skipping to change at page 7, line 17
"RFC YYYY: YANG Model for Network Instances"; "RFC YYYY: YANG Model for Network Instances";
} }
organization organization
"IETF LISP (Locator/ID Separation Protocol) Working Group"; "IETF LISP (Locator/ID Separation Protocol) Working Group";
contact contact
"WG Web: <http://tools.ietf.org/wg/lisp/> "WG Web: <http://tools.ietf.org/wg/lisp/>
WG List: <mailto:lisp@ietf.org> WG List: <mailto:lisp@ietf.org>
Editor: Vina Ermagan Editor: Vina Ermagan
<mailto:vermagan@cisco.com> <mailto:ermagan@gmail.com>
Editor: Alberto Rodriguez-Natal Editor: Alberto Rodriguez-Natal
<mailto:natal@cisco.com> <mailto:natal@cisco.com>
Editor: Reshad Rahman Editor: Reshad Rahman
<mailto:rrahman@cisco.com>"; <mailto:rrahman@cisco.com>";
description description
"This YANG module defines the generic parameters for LISP. "This YANG module defines the generic parameters for LISP.
The module can be extended by vendors to define vendor-specific The module can be extended by vendors to define vendor-specific
LISP parameters and policies. LISP parameters and policies.
skipping to change at page 7, line 43 skipping to change at page 7, line 45
set forth in Section 4.c of the IETF Trust's Legal Provisions set forth in Section 4.c of the IETF Trust's Legal Provisions
Relating to IETF Documents Relating to IETF Documents
(http://trustee.ietf.org/license-info). (http://trustee.ietf.org/license-info).
This version of this YANG module is part of RFC XXXX; see This version of this YANG module is part of RFC XXXX; see
the RFC itself for full legal notices. the RFC itself for full legal notices.
"; ";
reference "RFC XXXX"; reference "RFC XXXX";
revision 2018-11-04 { revision 2019-03-05 {
description description
"Initial revision."; "Initial revision.";
reference reference
"https://tools.ietf.org/html/rfc6830"; "https://tools.ietf.org/html/rfc6830";
} }
/* /*
* Identity definitions * Identity definitions
*/ */
identity lisp { identity lisp {
base "rt:control-plane-protocol"; base "rt:control-plane-protocol";
description "LISP protocol."; description "LISP protocol.";
reference reference
"RFC 6830: The Locator/ID Separation Protocol (LISP)."; "RFC 6830: The Locator/ID Separation Protocol (LISP).";
} }
skipping to change at page 9, line 45 skipping to change at page 9, line 48
description description
"Defines the lisp map-cache ACT type"; "Defines the lisp map-cache ACT type";
reference "https://tools.ietf.org/html/rfc6830#section-6.1.4"; reference "https://tools.ietf.org/html/rfc6830#section-6.1.4";
} }
typedef eid-id { typedef eid-id {
type string; type string;
description description
"Type encoding of lisp-addresses to be generally used in EID "Type encoding of lisp-addresses to be generally used in EID
keyed lists."; keyed lists.";
} }
typedef auth-key-type { typedef auth-algorithm-type {
type enumeration { type enumeration {
enum none { enum none {
value 0; value 0;
description description
"No authentication."; "No authentication.";
} }
enum hmac-sha-1-96 { enum hmac-sha-1-96 {
value 1; value 1;
description description
"HMAC-SHA-1-96 (RFC2404) authentication is used."; "HMAC-SHA-1-96 (RFC2404) authentication is used.";
skipping to change at page 11, line 4 skipping to change at page 11, line 7
leaf multicast-priority { leaf multicast-priority {
type uint8; type uint8;
description description
"Locator's multicast priority"; "Locator's multicast priority";
} }
leaf multicast-weight { leaf multicast-weight {
type uint8; type uint8;
description description
"Locator's multicast weight"; "Locator's multicast weight";
} }
} }
grouping locators-grouping { grouping locators-grouping {
description description
"Group that defines a list of LISP locators."; "Grouping that defines a list of LISP locators.";
list locator { list locator {
key "id"; key "id";
description description
"List of routing locators"; "List of routing locators";
leaf id { leaf id {
type string { type string {
length "1..64"; length "1..64";
} }
description description
"Locator id"; "Locator id";
skipping to change at page 11, line 34 skipping to change at page 11, line 36
"The locator address provided in LISP canonincal "The locator address provided in LISP canonincal
address format."; address format.";
} }
uses locator-properties; uses locator-properties;
} }
} }
grouping local-locators-grouping { grouping local-locators-grouping {
description description
"Group that defines a list of LISP locators."; "Grouping that defines a list of LISP locators.";
list interface { list interface {
key "interface-ref"; key "interface-ref";
description description
"The address type of the locator"; "The address type of the locator";
leaf interface-ref { leaf interface-ref {
type if:interface-ref; type if:interface-ref;
description description
"The name of the interface supporting the locator."; "The name of the interface supporting the locator.";
} }
uses locator-properties; uses locator-properties;
} }
} }
grouping mapping { grouping mapping {
description description
"Group that defines a LISP mapping."; "Grouping that defines a LISP mapping.";
container eid { container eid {
uses lcaf:lisp-address; uses lcaf:lisp-address;
description description
"End-host Identifier (EID) to be mapped to a list of "End-host Identifier (EID) to be mapped to a list of
locators"; locators";
} }
leaf time-to-live { leaf time-to-live {
type uint32; type uint32;
units minutes; units minutes;
description description
skipping to change at page 13, line 4 skipping to change at page 13, line 7
type map-reply-action; type map-reply-action;
description description
"Forwarding action for a negative mapping."; "Forwarding action for a negative mapping.";
} }
} }
case positive-mapping { case positive-mapping {
container rlocs { container rlocs {
uses locators-grouping; uses locators-grouping;
description description
"List of locators for a positive mapping."; "List of locators for a positive mapping.";
} }
} }
} }
} }
grouping mappings { grouping mappings {
description description
"Group that defines a list of LISP mappings."; "Grouping that defines a list of LISP mappings.";
list virtual-network { list vpn {
key "vni"; key "instance-id";
description description
"Virtual network to which the mappings belong."; "VPN to which the mappings belong.";
leaf vni { leaf instance-id {
type leafref { type leafref {
path "/rt:routing/rt:control-plane-protocols" path "/rt:routing/rt:control-plane-protocols"
+ "/rt:control-plane-protocol/lisp:lisp" + "/rt:control-plane-protocol/lisp:lisp"
+ "/lisp:virtual-networks/lisp:virtual-network" + "/lisp:vpns/lisp:vpn"
+ "/lisp:vni"; + "/lisp:instance-id";
} }
description description
"Virtual network identifier."; "VPN identifier.";
} }
container mappings { container mappings {
description description
"Mappings within the virtual network."; "Mappings within the VPN.";
list mapping { list mapping {
key "id"; key "id";
description description
"List of EID to RLOCs mappings."; "List of EID to RLOCs mappings.";
leaf id { leaf id {
type eid-id; type eid-id;
description description
"Id that uniquely identifies a mapping."; "Id that uniquely identifies a mapping.";
} }
uses mapping; uses mapping;
} }
} }
} }
} }
grouping auth-key {
description "Grouping that defines authentication keys.";
container authentication-keys {
description "Multiple authentication keys can be defined.";
list authentication-key {
key "auth-key-id";
description
"Authentication key parameters.";
leaf auth-key-id {
type string;
description
"Identifier of the authentication key.";
}
leaf-list auth-algorithm-id {
type lisp:auth-algorithm-type;
description
"Authentication algorithm used with the key.";
}
leaf auth-key-value {
type string;
description
"Clear text authentication key.";
}
}
}
}
augment "/rt:routing/rt:control-plane-protocols" augment "/rt:routing/rt:control-plane-protocols"
+ "/rt:control-plane-protocol" { + "/rt:control-plane-protocol" {
when "derived-from-or-self(rt:type, 'lisp:lisp')" { when "derived-from-or-self(rt:type, 'lisp:lisp')" {
description description
"This augmentation is only valid for a control-plane protocol "This augmentation is only valid for a control-plane protocol
instance of LISP."; instance of LISP.";
} }
description "LISP protocol ietf-routing module description "LISP protocol ietf-routing module
control-plane-protocol augmentation."; control-plane-protocol augmentation.";
skipping to change at page 15, line 10 skipping to change at page 15, line 40
PITR, ETR or PETR."; PITR, ETR or PETR.";
leaf lisp-role-type { leaf lisp-role-type {
type lisp-role-ref; type lisp-role-ref;
description description
"The type of LISP device - identity derived from the "The type of LISP device - identity derived from the
'lisp-device' base identity."; 'lisp-device' base identity.";
} }
} }
container lisp-router-id { container lisp-router-id {
when "../lisp-role/lisp-role-type = 'itr' or when "../lisp-role/lisp-role-type = 'lisp:itr' or
../lisp-role/lisp-role-type = 'pitr' or ../lisp-role/lisp-role-type = 'lisp:pitr' or
../lisp-role/lisp-role-type = 'etr' or ../lisp-role/lisp-role-type = 'lisp:etr' or
../lisp-role/lisp-role-type = 'petr'" { ../lisp-role/lisp-role-type = 'lisp:petr'" {
description "Only when ITR, PITR, ETR or PETR."; description "Only when ITR, PITR, ETR or PETR.";
} }
description description
"Site-ID and xTR-ID of the device."; "Site-ID and xTR-ID of the device.";
leaf site-id { leaf site-id {
type uint64; type uint64;
description "Site ID"; description "Site ID";
} }
leaf xtr-id { leaf xtr-id {
type lisp:xtr-id-type; type lisp:xtr-id-type;
description "xTR ID"; description "xTR ID";
} }
} }
container virtual-networks { container vpns {
when "../lisp-role/lisp-role-type = 'itr' or when "../lisp-role/lisp-role-type = 'lisp:itr' or
../lisp-role/lisp-role-type = 'pitr' or ../lisp-role/lisp-role-type = 'lisp:pitr' or
../lisp-role/lisp-role-type = 'etr' or ../lisp-role/lisp-role-type = 'lisp:etr' or
../lisp-role/lisp-role-type = 'petr'" { ../lisp-role/lisp-role-type = 'lisp:petr'" {
description "Only when ITR, PITR, ETR or PETR."; description "Only when ITR, PITR, ETR or PETR.";
} }
description "Virtual networks"; description "VPNs";
list virtual-network { list vpn {
key vni; key instance-id;
unique "ni-name"; unique "iid-name";
description "List of virtual networks"; description "List of VPNs";
leaf vni { leaf instance-id {
type lcaf:instance-id-type; type lcaf:instance-id-type;
description description
"Virtual network identifier"; "VPN identifier. The value 0 for instance-id must be used
for the default VRF.";
} }
leaf ni-name { leaf iid-name {
type leafref { type leafref {
path "/ni:network-instances/ni:network-instance/ni:name"; path "/ni:network-instances/ni:network-instance/ni:name";
} }
mandatory true; mandatory true;
description description
"Name of Network Instance (e.g. VRF) to which a VNI is "Name of VPN (e.g. VRF) to which an instance-id is
bound. Each VNI is bound to a different Network bound. Each instance-id is bound to a different VPN";
Instance";
} }
} }
} }
} }
} }
} }
<CODE ENDS> <CODE ENDS>
3. LISP-ITR Module 3. LISP-ITR Module
skipping to change at page 16, line 38 skipping to change at page 17, line 23
| +--rw retries? uint8 | +--rw retries? uint8
| +--rw retries-interval? uint16 | +--rw retries-interval? uint16
+--rw itr-rlocs? leafref +--rw itr-rlocs? leafref
+--rw map-resolvers +--rw map-resolvers
| +--rw map-resolver* inet:ip-address | +--rw map-resolver* inet:ip-address
+--rw proxy-etrs +--rw proxy-etrs
| +--rw proxy-etr-address* inet:ip-address | +--rw proxy-etr-address* inet:ip-address
+--rw map-cache +--rw map-cache
+--ro size? uint32 +--ro size? uint32
+--ro limit? uint32 +--ro limit? uint32
+--rw virtual-network* [vni] +--rw vpn* [instance-id]
+--rw vni lcaf:instance-id-type +--rw instance-id
| -> /rt:routing/control-plane-protocols
| /control-plane-protocol/lisp:lisp/vpns
| /vpn/instance-id
+--rw mappings +--rw mappings
+--rw mapping* [id] +--rw mapping* [id]
+--rw id eid-id +--rw id eid-id
+--rw eid +--rw eid
| +--rw address-type | +--rw address-type
| | lisp-address-family-ref | | lisp-address-family-ref
| +--rw virtual-network-id?
| | instance-id-type
| +--rw (address)? | +--rw (address)?
| +--:(no-address) | +--:(no-address)
| | +--rw no-address? empty | | +--rw no-address? empty
| +--:(ipv4) | +--:(ipv4)
| | +--rw ipv4? | | +--rw ipv4?
| | inet:ipv4-address | | inet:ipv4-address
| +--:(ipv4-prefix) | +--:(ipv4-prefix)
| | +--rw ipv4-prefix? | | +--rw ipv4-prefix?
| | inet:ipv4-prefix | | inet:ipv4-prefix
| +--:(ipv6) | +--:(ipv6)
skipping to change at page 17, line 32 skipping to change at page 18, line 17
| | +--rw as-number? | | +--rw as-number?
| | inet:as-number | | inet:as-number
| +--:(null-address) | +--:(null-address)
| | +--rw null-address | | +--rw null-address
| | +--rw address? empty | | +--rw address? empty
| +--:(afi-list) | +--:(afi-list)
| | +--rw afi-list | | +--rw afi-list
| | +--rw address-list* simple-address | | +--rw address-list* simple-address
| +--:(instance-id) | +--:(instance-id)
| | +--rw instance-id | | +--rw instance-id
| | +--rw iid? instance-id-type | | +--rw instance-id? instance-id-type
| | +--rw mask-length? uint8 | | +--rw mask-length? uint8
| | +--rw address? simple-address | | +--rw address? simple-address
| +--:(as-number-lcaf) | +--:(as-number-lcaf)
| | +--rw as-number-lcaf | | +--rw as-number-lcaf
| | +--rw as? inet:as-number | | +--rw as? inet:as-number
| | +--rw address? simple-address | | +--rw address? simple-address
| +--:(application-data) | +--:(application-data)
| | +--rw application-data | | +--rw application-data
| | +--rw address? | | +--rw address?
| | | simple-address | | | simple-address
skipping to change at page 19, line 15 skipping to change at page 19, line 48
+--rw (locator-list)? +--rw (locator-list)?
+--:(negative-mapping) +--:(negative-mapping)
| +--rw map-reply-action? map-reply-action | +--rw map-reply-action? map-reply-action
+--:(positive-mapping) +--:(positive-mapping)
+--rw rlocs +--rw rlocs
+--rw locator* [id] +--rw locator* [id]
+--rw id string +--rw id string
+--rw locator-address +--rw locator-address
| +--rw address-type | +--rw address-type
| | lisp-address-family-ref | | lisp-address-family-ref
| +--rw virtual-network-id?
| | instance-id-type
| +--rw (address)? | +--rw (address)?
| +--:(no-address) | +--:(no-address)
| | +--rw no-address? | | +--rw no-address?
| | empty | | empty
| +--:(ipv4) | +--:(ipv4)
| | +--rw ipv4? | | +--rw ipv4?
| | inet:ipv4-address | | inet:ipv4-address
| +--:(ipv4-prefix) | +--:(ipv4-prefix)
| | +--rw ipv4-prefix? | | +--rw ipv4-prefix?
| | inet:ipv4-prefix | | inet:ipv4-prefix
skipping to change at page 19, line 51 skipping to change at page 20, line 34
| | inet:as-number | | inet:as-number
| +--:(null-address) | +--:(null-address)
| | +--rw null-address | | +--rw null-address
| | +--rw address? empty | | +--rw address? empty
| +--:(afi-list) | +--:(afi-list)
| | +--rw afi-list | | +--rw afi-list
| | +--rw address-list* | | +--rw address-list*
| | simple-address | | simple-address
| +--:(instance-id) | +--:(instance-id)
| | +--rw instance-id | | +--rw instance-id
| | +--rw iid? | | +--rw instance-id?
| | | instance-id-type | | | instance-id-type
| | +--rw mask-length? uint8 | | +--rw mask-length? uint8
| | +--rw address? | | +--rw address?
| | simple-address | | simple-address
| +--:(as-number-lcaf) | +--:(as-number-lcaf)
| | +--rw as-number-lcaf | | +--rw as-number-lcaf
| | +--rw as? | | +--rw as?
| | | inet:as-number | | | inet:as-number
| | +--rw address? | | +--rw address?
| | simple-address | | simple-address
skipping to change at page 22, line 7 skipping to change at page 22, line 34
| | service-path-id-type | | service-path-id-type
| +--rw service-index? | +--rw service-index?
| uint8 | uint8
+--rw priority? uint8 +--rw priority? uint8
+--rw weight? uint8 +--rw weight? uint8
+--rw multicast-priority? uint8 +--rw multicast-priority? uint8
+--rw multicast-weight? uint8 +--rw multicast-weight? uint8
3.2. Module Definition 3.2. Module Definition
<CODE BEGINS> file "ietf-lisp-itr@2018-06-29.yang" <CODE BEGINS> file "ietf-lisp-itr@2019-02-23.yang"
module ietf-lisp-itr { module ietf-lisp-itr {
yang-version 1.1; yang-version 1.1;
namespace "urn:ietf:params:xml:ns:yang:ietf-lisp-itr"; namespace "urn:ietf:params:xml:ns:yang:ietf-lisp-itr";
prefix lisp-itr; prefix lisp-itr;
// RFC Ed.: replace occurences of XXXX with actual RFC number // RFC Ed.: replace occurences of XXXX with actual RFC number
// and remove this note // and remove this note
import ietf-lisp { import ietf-lisp {
skipping to change at page 22, line 39 skipping to change at page 23, line 18
(NMDA version)"; (NMDA version)";
} }
organization organization
"IETF LISP (Locator/ID Separation Protocol) Working Group"; "IETF LISP (Locator/ID Separation Protocol) Working Group";
contact contact
"WG Web: <http://tools.ietf.org/wg/lisp/> "WG Web: <http://tools.ietf.org/wg/lisp/>
WG List: <mailto:lisp@ietf.org> WG List: <mailto:lisp@ietf.org>
Editor: Vina Ermagan Editor: Vina Ermagan
<mailto:vermagan@cisco.com> <mailto:ermagan@gmail.com>
Editor: Alberto Rodriguez-Natal Editor: Alberto Rodriguez-Natal
<mailto:natal@cisco.com> <mailto:natal@cisco.com>
Editor: Reshad Rahman Editor: Reshad Rahman
<mailto:rrahman@cisco.com>"; <mailto:rrahman@cisco.com>";
description description
"This YANG module defines the generic parameters for a LISP "This YANG module defines the generic parameters for a LISP
ITR. The module can be extended by vendors to define ITR. The module can be extended by vendors to define
vendor-specific parameters and policies. vendor-specific parameters and policies.
skipping to change at page 23, line 18 skipping to change at page 23, line 46
set forth in Section 4.c of the IETF Trust's Legal Provisions set forth in Section 4.c of the IETF Trust's Legal Provisions
Relating to IETF Documents Relating to IETF Documents
(http://trustee.ietf.org/license-info). (http://trustee.ietf.org/license-info).
This version of this YANG module is part of RFC XXXX; see This version of this YANG module is part of RFC XXXX; see
the RFC itself for full legal notices. the RFC itself for full legal notices.
"; ";
reference "RFC XXXX"; reference "RFC XXXX";
revision 2018-06-29 { revision 2019-02-23 {
description description
"Initial revision."; "Initial revision.";
reference reference
"https://tools.ietf.org/html/rfc6830"; "https://tools.ietf.org/html/rfc6830";
} }
augment "/rt:routing/rt:control-plane-protocols" augment "/rt:routing/rt:control-plane-protocols"
+ "/rt:control-plane-protocol/lisp:lisp" { + "/rt:control-plane-protocol/lisp:lisp" {
when "lisp:lisp-role/lisp:lisp-role-type = 'lisp:itr' or when "lisp:lisp-role/lisp:lisp-role-type = 'lisp:itr' or
lisp:lisp-role/lisp:lisp-role-type = 'lisp:pitr'" { lisp:lisp-role/lisp:lisp-role-type = 'lisp:pitr'" {
description description
skipping to change at page 25, line 30 skipping to change at page 26, line 12
} }
<CODE ENDS> <CODE ENDS>
4. LISP-ETR Module 4. LISP-ETR Module
This module captures the configuration data model of a LISP ETR. The This module captures the configuration data model of a LISP ETR. The
model also captures some operational data elements. model also captures some operational data elements.
4.1. Module Structure 4.1. Module Structure
module: ietf-lisp-etr module: ietf-lisp-etr
augment /rt:routing/rt:control-plane-protocols augment /rt:routing/rt:control-plane-protocols
/rt:control-plane-protocol/lisp:lisp: /rt:control-plane-protocol/lisp:lisp:
+--rw etr! +--rw etr!
+--rw map-servers +--rw map-servers
| +--rw map-server* [ms-address] | +--rw map-server* [ms-address]
| +--rw ms-address inet:ip-address | +--rw ms-address inet:ip-address
| +--rw auth-key? string | +--rw authentication-keys
| +--rw auth-key-type? lisp:auth-key-type | +--rw authentication-key* [auth-key-id]
+--rw local-eids | +--rw auth-key-id string
+--rw virtual-network* [vni] | +--rw auth-algorithm-id* lisp:auth-algorithm-type
+--rw vni lcaf:instance-id-type | +--rw auth-key-value? string
+--rw eids +--rw local-eids
+--rw local-eid* [id] +--rw vpn* [instance-id]
+--rw id lisp:eid-id +--rw instance-id
+--rw eid-address | -> /rt:routing/control-plane-protocols
| +--rw address-type | /control-plane-protocol/lisp:lisp/vpns
| | lisp-address-family-ref | /vpn/instance-id
| +--rw virtual-network-id? +--rw eids
| | instance-id-type +--rw local-eid* [id]
| +--rw (address)? +--rw id lisp:eid-id
| +--:(no-address) +--rw eid-address
| | +--rw no-address? empty | +--rw address-type
| +--:(ipv4) | | lisp-address-family-ref
| | +--rw ipv4? | +--rw (address)?
| | inet:ipv4-address | +--:(no-address)
| +--:(ipv4-prefix) | | +--rw no-address? empty
| | +--rw ipv4-prefix? | +--:(ipv4)
| | inet:ipv4-prefix | | +--rw ipv4?
| +--:(ipv6) | | inet:ipv4-address
| | +--rw ipv6? | +--:(ipv4-prefix)
| | inet:ipv6-address | | +--rw ipv4-prefix?
| +--:(ipv6-prefix) | | inet:ipv4-prefix
| | +--rw ipv6-prefix? | +--:(ipv6)
| | inet:ipv6-prefix | | +--rw ipv6?
| +--:(mac) | | inet:ipv6-address
| | +--rw mac? | +--:(ipv6-prefix)
| | yang:mac-address | | +--rw ipv6-prefix?
| +--:(distinguished-name) | | inet:ipv6-prefix
| | +--rw distinguished-name? | +--:(mac)
| | distinguished-name-type | | +--rw mac?
| +--:(as-number) | | yang:mac-address
| | +--rw as-number? | +--:(distinguished-name)
| | inet:as-number | | +--rw distinguished-name?
| +--:(null-address) | | distinguished-name-type
| | +--rw null-address | +--:(as-number)
| | +--rw address? empty | | +--rw as-number?
| +--:(afi-list) | | inet:as-number
| | +--rw afi-list | +--:(null-address)
| | +--rw address-list* simple-address | | +--rw null-address
| +--:(instance-id) | | +--rw address? empty
| | +--rw instance-id | +--:(afi-list)
| | +--rw iid? instance-id-type | | +--rw afi-list
| | +--rw mask-length? uint8 | | +--rw address-list* simple-address
| | +--rw address? simple-address | +--:(instance-id)
| +--:(as-number-lcaf) | | +--rw instance-id
| | +--rw as-number-lcaf | | +--rw instance-id? instance-id-type
| | +--rw as? inet:as-number | | +--rw mask-length? uint8
| | +--rw address? simple-address | | +--rw address? simple-address
| +--:(application-data) | +--:(as-number-lcaf)
| | +--rw application-data | | +--rw as-number-lcaf
| | +--rw address? | | +--rw as? inet:as-number
| | | simple-address | | +--rw address? simple-address
| | +--rw protocol? uint8 | +--:(application-data)
| | +--rw ip-tos? int32 | | +--rw application-data
| | +--rw local-port-low? | | +--rw address?
| | | inet:port-number | | | simple-address
| | +--rw local-port-high? | | +--rw protocol? uint8
| | | inet:port-number | | +--rw ip-tos? int32
| | +--rw remote-port-low? | | +--rw local-port-low?
| | | inet:port-number | | | inet:port-number
| | +--rw remote-port-high? | | +--rw local-port-high?
| | inet:port-number | | | inet:port-number
| +--:(geo-coordinates) | | +--rw remote-port-low?
| | +--rw geo-coordinates | | | inet:port-number
| | +--rw latitude? bits | | +--rw remote-port-high?
| | +--rw latitude-degrees? uint8 | | inet:port-number
| | +--rw latitude-minutes? uint8 | +--:(geo-coordinates)
| | +--rw latitude-seconds? uint8 | | +--rw geo-coordinates
| | +--rw longitude? bits | | +--rw latitude? bits
| | +--rw longitude-degrees? uint16 | | +--rw latitude-degrees? uint8
| | +--rw longitude-minutes? uint8 | | +--rw latitude-minutes? uint8
| | +--rw longitude-seconds? uint8 | | +--rw latitude-seconds? uint8
| | +--rw altitude? int32 | | +--rw longitude? bits
| | +--rw address? | | +--rw longitude-degrees? uint16
| | simple-address | | +--rw longitude-minutes? uint8
| +--:(nat-traversal) | | +--rw longitude-seconds? uint8
| | +--rw nat-traversal | | +--rw altitude? int32
| | +--rw ms-udp-port? uint16 | | +--rw address?
| | +--rw etr-udp-port? uint16 | | simple-address
| | +--rw global-etr-rloc? | +--:(nat-traversal)
| | | simple-address | | +--rw nat-traversal
| | +--rw ms-rloc? | | +--rw ms-udp-port? uint16
| | | simple-address | | +--rw etr-udp-port? uint16
| | +--rw private-etr-rloc? | | +--rw global-etr-rloc?
| | | simple-address | | | simple-address
| | +--rw rtr-rlocs* | | +--rw ms-rloc?
| | simple-address | | | simple-address
| +--:(explicit-locator-path) | | +--rw private-etr-rloc?
| | +--rw explicit-locator-path | | | simple-address
| | +--rw hop* [hop-id] | | +--rw rtr-rlocs*
| | +--rw hop-id string | | simple-address
| | +--rw address? simple-address | +--:(explicit-locator-path)
| | +--rw lrs-bits? bits | | +--rw explicit-locator-path
| +--:(source-dest-key) | | +--rw hop* [hop-id]
| | +--rw source-dest-key | | +--rw hop-id string
| | +--rw source? simple-address | | +--rw address? simple-address
| | +--rw dest? simple-address | | +--rw lrs-bits? bits
| +--:(key-value-address) | +--:(source-dest-key)
| | +--rw key-value-address | | +--rw source-dest-key
| | +--rw key? simple-address | | +--rw source? simple-address
| | +--rw value? simple-address | | +--rw dest? simple-address
| +--:(service-path) | +--:(key-value-address)
| +--rw service-path | | +--rw key-value-address
| +--rw service-path-id? | | +--rw key? simple-address
| | service-path-id-type | | +--rw value? simple-address
| +--rw service-index? uint8 | +--:(service-path)
+--rw rlocs? leafref | +--rw service-path
+--rw record-ttl? uint32 | +--rw service-path-id?
+--rw want-map-notify? boolean | | service-path-id-type
+--rw proxy-reply? boolean | +--rw service-index? uint8
+--rw registration-interval? uint16 +--rw rlocs? leafref
| -> /rt:routing/control-plane-protocols
| /control-plane-protocol/lisp:lisp
| /locator-sets
| /locator-set/locator-set-name
+--rw record-ttl? uint32
+--rw want-map-notify? boolean
+--rw proxy-reply? boolean
+--rw registration-interval? uint16
4.2. Module Definition 4.2. Module Definition
<CODE BEGINS> file "ietf-lisp-etr@2018-09-06.yang" <CODE BEGINS> file "ietf-lisp-etr@2019-02-23.yang"
module ietf-lisp-etr { module ietf-lisp-etr {
yang-version 1.1; yang-version 1.1;
namespace "urn:ietf:params:xml:ns:yang:ietf-lisp-etr"; namespace "urn:ietf:params:xml:ns:yang:ietf-lisp-etr";
prefix lisp-etr; prefix lisp-etr;
// RFC Ed.: replace occurences of XXXX with actual RFC number // RFC Ed.: replace occurences of XXXX with actual RFC number
// and remove this note // and remove this note
import ietf-lisp { import ietf-lisp {
prefix lisp; prefix lisp;
reference "RFC XXXX: LISP YANG model"; reference "RFC XXXX: LISP YANG model";
} }
skipping to change at page 28, line 46 skipping to change at page 29, line 36
(NMDA version)"; (NMDA version)";
} }
organization organization
"IETF LISP (Locator/ID Separation Protocol) Working Group"; "IETF LISP (Locator/ID Separation Protocol) Working Group";
contact contact
"WG Web: <http://tools.ietf.org/wg/lisp/> "WG Web: <http://tools.ietf.org/wg/lisp/>
WG List: <mailto:lisp@ietf.org> WG List: <mailto:lisp@ietf.org>
Editor: Vina Ermagan Editor: Vina Ermagan
<mailto:vermagan@cisco.com> <mailto:ermagan@gmail.com>
Editor: Alberto Rodriguez-Natal Editor: Alberto Rodriguez-Natal
<mailto:natal@cisco.com> <mailto:natal@cisco.com>
Editor: Reshad Rahman Editor: Reshad Rahman
<mailto:rrahman@cisco.com>"; <mailto:rrahman@cisco.com>";
description description
"This YANG module defines the generic parameters for a LISP "This YANG module defines the generic parameters for a LISP
ETR. The module can be extended by vendors to define ETR. The module can be extended by vendors to define
vendor-specific parameters and policies. vendor-specific parameters and policies.
skipping to change at page 29, line 26 skipping to change at page 30, line 16
set forth in Section 4.c of the IETF Trust's Legal Provisions set forth in Section 4.c of the IETF Trust's Legal Provisions
Relating to IETF Documents Relating to IETF Documents
(http://trustee.ietf.org/license-info). (http://trustee.ietf.org/license-info).
This version of this YANG module is part of RFC XXXX; see This version of this YANG module is part of RFC XXXX; see
the RFC itself for full legal notices. the RFC itself for full legal notices.
"; ";
reference "RFC XXXX"; reference "RFC XXXX";
revision 2018-09-06 { revision 2019-02-23 {
description description
"Initial revision."; "Initial revision.";
reference reference
"https://tools.ietf.org/html/rfc6830"; "https://tools.ietf.org/html/rfc6830";
} }
augment "/rt:routing/rt:control-plane-protocols" augment "/rt:routing/rt:control-plane-protocols"
+ "/rt:control-plane-protocol/lisp:lisp" { + "/rt:control-plane-protocol/lisp:lisp" {
when "lisp:lisp-role/lisp:lisp-role-type = 'lisp:etr' or when "lisp:lisp-role/lisp:lisp-role-type = 'lisp:etr' or
lisp:lisp-role/lisp:lisp-role-type = 'lisp:petr'" { lisp:lisp-role/lisp:lisp-role-type = 'lisp:petr'" {
description description
skipping to change at page 30, line 14 skipping to change at page 31, line 4
description description
"Map-Servers that the ETR uses."; "Map-Servers that the ETR uses.";
list map-server { list map-server {
key "ms-address"; key "ms-address";
description description
"Each Map-Server within the list of Map-Servers."; "Each Map-Server within the list of Map-Servers.";
leaf ms-address { leaf ms-address {
type inet:ip-address; type inet:ip-address;
description description
"Map-Server address."; "Map-Server address.";
} }
leaf auth-key { uses lisp:auth-key;
type string;
description
"Map-Server authentication key.";
}
leaf auth-key-type {
type lisp:auth-key-type;
description
"Map-Server authentication type.";
}
} }
} }
container local-eids { container local-eids {
when "../../lisp:lisp-role/lisp:lisp-role-type = 'lisp:etr'" { when "../../lisp:lisp-role/lisp:lisp-role-type = 'lisp:etr'" {
description description
"Container exists only when LISP device type is ETR."; "Container exists only when LISP device type is ETR.";
} }
description description
"Virtual networks served by the ETR."; "VPNs served by the ETR.";
list virtual-network { list vpn {
key "vni"; key "instance-id";
description description
"Virtual network for local-EIDs."; "VPN for local-EIDs.";
leaf vni { leaf instance-id {
type leafref { type leafref {
path "/rt:routing/rt:control-plane-protocols" path "/rt:routing/rt:control-plane-protocols"
+ "/rt:control-plane-protocol/lisp:lisp" + "/rt:control-plane-protocol/lisp:lisp"
+ "/lisp:virtual-networks/lisp:virtual-network" + "/lisp:vpns/lisp:vpn"
+ "/lisp:vni"; + "/lisp:instance-id";
} }
description description
"Virtual network identifier."; "VPN identifier.";
} }
container eids { container eids {
description description
"EIDs served by the ETR."; "EIDs served by the ETR.";
list local-eid { list local-eid {
key "id"; key "id";
description description
"List of local EIDs."; "List of local EIDs.";
leaf id { leaf id {
type lisp:eid-id; type lisp:eid-id;
description description
"Unique id of local EID."; "Unique id of local EID.";
} }
container eid-address { container eid-address {
skipping to change at page 32, line 28 skipping to change at page 33, line 10
This module captures the configuration data model of a LISP Map This module captures the configuration data model of a LISP Map
Server [RFC6833]. The model also captures some operational data Server [RFC6833]. The model also captures some operational data
elements. elements.
5.1. Module Structure 5.1. Module Structure
module: ietf-lisp-mapserver module: ietf-lisp-mapserver
augment /rt:routing/rt:control-plane-protocols augment /rt:routing/rt:control-plane-protocols
/rt:control-plane-protocol/lisp:lisp: /rt:control-plane-protocol/lisp:lisp:
+--rw map-server! +--rw map-server!
+--rw sites +--rw sites
| +--rw site* [site-id] | +--rw site* [site-id]
| +--rw site-id uint64 | +--rw site-id uint64
| +--rw auth-key | +--rw authentication-keys
| +--rw auth-key-value? string | | +--rw authentication-key* [auth-key-id]
| +--rw auth-key-type* lisp:auth-key-type | | +--rw auth-key-id string
+--rw virtual-network-ids | | +--rw auth-algorithm-id*
| +--rw virtual-network-identifier* [vni] | | | lisp:auth-algorithm-type
| +--rw vni lcaf:instance-id-type | | +--rw auth-key-value? string
| +--rw mappings | +--rw xtr-ids* [xtr-id]
| | +--rw mapping* [eid-id] | +--rw xtr-id uint64
| | +--rw eid-id lisp:eid-id | +--rw authentication-keys
| | +--rw eid-address | +--rw authentication-key* [auth-key-id]
| | | +--rw address-type | +--rw auth-key-id string
| | | | lisp-address-family-ref | +--rw auth-algorithm-id*
| | | +--rw virtual-network-id? | | lisp:auth-algorithm-type
| | | | instance-id-type | +--rw auth-key-value? string
| | | +--rw (address)? +--rw vpns
| | | +--:(no-address) | +--rw vpn* [instance-id]
| | | | +--rw no-address? empty | +--rw instance-id lcaf:instance-id-type
| | | +--:(ipv4) | +--rw mappings
| | | | +--rw ipv4? | | +--rw mapping* [eid-id]
| | | | inet:ipv4-address | | +--rw eid-id lisp:eid-id
| | | +--:(ipv4-prefix) | | +--rw eid-address
| | | | +--rw ipv4-prefix? | | | +--rw address-type
| | | | inet:ipv4-prefix | | | | lisp-address-family-ref
| | | +--:(ipv6) | | | +--rw (address)?
| | | | +--rw ipv6? | | | +--:(no-address)
| | | | inet:ipv6-address | | | | +--rw no-address? empty
| | | +--:(ipv6-prefix) | | | +--:(ipv4)
| | | | +--rw ipv6-prefix? | | | | +--rw ipv4?
| | | | inet:ipv6-prefix | | | | inet:ipv4-address
| | | +--:(mac) | | | +--:(ipv4-prefix)
| | | | +--rw mac? | | | | +--rw ipv4-prefix?
| | | | yang:mac-address | | | | inet:ipv4-prefix
| | | +--:(distinguished-name) | | | +--:(ipv6)
| | | | +--rw distinguished-name? | | | | +--rw ipv6?
| | | | distinguished-name-type | | | | inet:ipv6-address
| | | +--:(as-number) | | | +--:(ipv6-prefix)
| | | | +--rw as-number? | | | | +--rw ipv6-prefix?
| | | | inet:as-number | | | | inet:ipv6-prefix
| | | +--:(null-address) | | | +--:(mac)
| | | | +--rw null-address | | | | +--rw mac?
| | | | +--rw address? empty | | | | yang:mac-address
| | | +--:(afi-list) | | | +--:(distinguished-name)
| | | | +--rw afi-list | | | | +--rw distinguished-name?
| | | | +--rw address-list* simple-address | | | | distinguished-name-type
| | | +--:(instance-id) | | | +--:(as-number)
| | | | +--rw instance-id | | | | +--rw as-number?
| | | | +--rw iid? instance-id-type | | | | inet:as-number
| | | | +--rw mask-length? uint8 | | | +--:(null-address)
| | | | +--rw address? simple-address | | | | +--rw null-address
| | | +--:(as-number-lcaf) | | | | +--rw address? empty
| | | | +--rw as-number-lcaf | | | +--:(afi-list)
| | | | +--rw as? inet:as-number | | | | +--rw afi-list
| | | | +--rw address? simple-address | | | | +--rw address-list* simple-address
| | | +--:(application-data) | | | +--:(instance-id)
| | | | +--rw application-data | | | | +--rw instance-id
| | | | +--rw address? | | | | +--rw instance-id? instance-id-type
| | | | | simple-address | | | | +--rw mask-length? uint8
| | | | +--rw protocol? uint8 | | | | +--rw address? simple-address
| | | | +--rw ip-tos? int32 | | | +--:(as-number-lcaf)
| | | | +--rw local-port-low? | | | | +--rw as-number-lcaf
| | | | | inet:port-number | | | | +--rw as? inet:as-number
| | | | +--rw local-port-high? | | | | +--rw address? simple-address
| | | | | inet:port-number | | | +--:(application-data)
| | | | +--rw remote-port-low? | | | | +--rw application-data
| | | | | inet:port-number | | | | +--rw address?
| | | | +--rw remote-port-high? | | | | | simple-address
| | | | inet:port-number | | | | +--rw protocol? uint8
| | | +--:(geo-coordinates) | | | | +--rw ip-tos? int32
| | | | +--rw geo-coordinates | | | | +--rw local-port-low?
| | | | +--rw latitude? bits | | | | | inet:port-number
| | | | +--rw latitude-degrees? uint8 | | | | +--rw local-port-high?
| | | | +--rw latitude-minutes? uint8 | | | | | inet:port-number
| | | | +--rw latitude-seconds? uint8 | | | | +--rw remote-port-low?
| | | | +--rw longitude? bits | | | | | inet:port-number
| | | | +--rw longitude-degrees? uint16 | | | | +--rw remote-port-high?
| | | | +--rw longitude-minutes? uint8 | | | | inet:port-number
| | | | +--rw longitude-seconds? uint8 | | | +--:(geo-coordinates)
| | | | +--rw altitude? int32 | | | | +--rw geo-coordinates
| | | | +--rw address? | | | | +--rw latitude? bits
| | | | simple-address | | | | +--rw latitude-degrees? uint8
| | | +--:(nat-traversal) | | | | +--rw latitude-minutes? uint8
| | | | +--rw nat-traversal | | | | +--rw latitude-seconds? uint8
| | | | +--rw ms-udp-port? uint16 | | | | +--rw longitude? bits
| | | | +--rw etr-udp-port? uint16 | | | | +--rw longitude-degrees? uint16
| | | | +--rw global-etr-rloc? | | | | +--rw longitude-minutes? uint8
| | | | | simple-address | | | | +--rw longitude-seconds? uint8
| | | | +--rw ms-rloc? | | | | +--rw altitude? int32
| | | | | simple-address | | | | +--rw address?
| | | | +--rw private-etr-rloc? | | | | simple-address
| | | | | simple-address | | | +--:(nat-traversal)
| | | | +--rw rtr-rlocs* | | | | +--rw nat-traversal
| | | | simple-address | | | | +--rw ms-udp-port? uint16
| | | +--:(explicit-locator-path) | | | | +--rw etr-udp-port? uint16
| | | | +--rw explicit-locator-path | | | | +--rw global-etr-rloc?
| | | | +--rw hop* [hop-id] | | | | | simple-address
| | | | +--rw hop-id string | | | | +--rw ms-rloc?
| | | | +--rw address? simple-address | | | | | simple-address
| | | | +--rw lrs-bits? bits | | | | +--rw private-etr-rloc?
| | | +--:(source-dest-key) | | | | | simple-address
| | | | +--rw source-dest-key | | | | +--rw rtr-rlocs*
| | | | +--rw source? simple-address | | | | simple-address
| | | | +--rw dest? simple-address | | | +--:(explicit-locator-path)
| | | +--:(key-value-address) | | | | +--rw explicit-locator-path
| | | | +--rw key-value-address | | | | +--rw hop* [hop-id]
| | | | +--rw key? simple-address | | | | +--rw hop-id string
| | | | +--rw value? simple-address | | | | +--rw address? simple-address
| | | +--:(service-path) | | | | +--rw lrs-bits? bits
| | | +--rw service-path | | | +--:(source-dest-key)
| | | +--rw service-path-id? | | | | +--rw source-dest-key
| | | | service-path-id-type | | | | +--rw source? simple-address
| | | +--rw service-index? uint8 | | | | +--rw dest? simple-address
| | +--rw site-id* uint64 | | | +--:(key-value-address)
| | +--rw more-specifics-accepted? boolean | | | | +--rw key-value-address
| | +--rw mapping-expiration-timeout? int16 | | | | +--rw key? simple-address
| | +--ro first-registration-time? | | | | +--rw value? simple-address
| | | yang:date-and-time | | | +--:(service-path)
| | +--ro last-registration-time? | | | +--rw service-path
| | | yang:date-and-time | | | +--rw service-path-id?
| | +--rw mapping-records | | | | service-path-id-type
| | +--rw mapping-record* [xtr-id] | | | +--rw service-index? uint8
| | +--rw xtr-id | | +--rw site-id* uint64
| | | lisp:xtr-id-type | | +--rw more-specifics-accepted? boolean
| | +--rw site-id? uint64 | | +--rw mapping-expiration-timeout? int16
| | +--rw eid | | +--ro first-registration-time?
| | | +--rw address-type | | | yang:date-and-time
| | | | lisp-address-family-ref | | +--ro last-registration-time?
| | | +--rw virtual-network-id? | | | yang:date-and-time
| | | | instance-id-type | | +--rw mapping-records
| | | +--rw (address)? | | +--rw mapping-record* [xtr-id]
| | | +--:(no-address) | | +--rw xtr-id
| | | | +--rw no-address? | | | lisp:xtr-id-type
| | | | empty | | +--rw site-id? uint64
| | | +--:(ipv4) | | +--rw eid
| | | | +--rw ipv4? | | | +--rw address-type
| | | | inet:ipv4-address | | | | lisp-address-family-ref
| | | +--:(ipv4-prefix) | | | +--rw (address)?
| | | | +--rw ipv4-prefix? | | | +--:(no-address)
| | | | inet:ipv4-prefix | | | | +--rw no-address?
| | | +--:(ipv6) | | | | empty
| | | | +--rw ipv6? | | | +--:(ipv4)
| | | | inet:ipv6-address | | | | +--rw ipv4?
| | | +--:(ipv6-prefix) | | | | inet:ipv4-address
| | | | +--rw ipv6-prefix? | | | +--:(ipv4-prefix)
| | | | inet:ipv6-prefix | | | | +--rw ipv4-prefix?
| | | +--:(mac) | | | | inet:ipv4-prefix
| | | | +--rw mac? | | | +--:(ipv6)
| | | | yang:mac-address | | | | +--rw ipv6?
| | | +--:(distinguished-name) | | | | inet:ipv6-address
| | | | +--rw distinguished-name? | | | +--:(ipv6-prefix)
| | | | distinguished-name-type | | | | +--rw ipv6-prefix?
| | | +--:(as-number) | | | | inet:ipv6-prefix
| | | | +--rw as-number? | | | +--:(mac)
| | | | inet:as-number | | | | +--rw mac?
| | | +--:(null-address) | | | | yang:mac-address
| | | | +--rw null-address | | | +--:(distinguished-name)
| | | | +--rw address? empty | | | | +--rw distinguished-name?
| | | +--:(afi-list) | | | | distinguished-name-type
| | | | +--rw afi-list | | | +--:(as-number)
| | | | +--rw address-list* | | | | +--rw as-number?
| | | | simple-address | | | | inet:as-number
| | | +--:(instance-id) | | | +--:(null-address)
| | | | +--rw instance-id | | | | +--rw null-address
| | | | +--rw iid? | | | | +--rw address? empty
| | | | | instance-id-type | | | +--:(afi-list)
| | | | +--rw mask-length? uint8 | | | | +--rw afi-list
| | | | +--rw address? | | | | +--rw address-list*
| | | | simple-address | | | | simple-address
| | | +--:(as-number-lcaf) | | | +--:(instance-id)
| | | | +--rw as-number-lcaf | | | | +--rw instance-id
| | | | +--rw as? inet:as-number | | | | +--rw instance-id?
| | | | +--rw address? simple-address | | | | | instance-id-type
| | | +--:(application-data) | | | | +--rw mask-length? uint8
| | | | +--rw application-data | | | | +--rw address?
| | | | +--rw address? | | | | simple-address
| | | | | simple-address | | | +--:(as-number-lcaf)
| | | | +--rw protocol? uint8 | | | | +--rw as-number-lcaf
| | | | +--rw ip-tos? int32 | | | | +--rw as? inet:as-number
| | | | +--rw local-port-low? | | | | +--rw address? simple-address
| | | | | inet:port-number | | | +--:(application-data)
| | | | +--rw local-port-high? | | | | +--rw application-data
| | | | | inet:port-number | | | | +--rw address?
| | | | +--rw remote-port-low? | | | | | simple-address
| | | | | inet:port-number | | | | +--rw protocol? uint8
| | | | +--rw remote-port-high? | | | | +--rw ip-tos? int32
| | | | inet:port-number | | | | +--rw local-port-low?
| | | +--:(geo-coordinates) | | | | | inet:port-number
| | | | +--rw geo-coordinates | | | | +--rw local-port-high?
| | | | +--rw latitude? bits | | | | | inet:port-number
| | | | +--rw latitude-degrees? uint8 | | | | +--rw remote-port-low?
| | | | +--rw latitude-minutes? uint8 | | | | | inet:port-number
| | | | +--rw latitude-seconds? uint8 | | | | +--rw remote-port-high?
| | | | +--rw longitude? bits | | | | inet:port-number
| | | | +--rw longitude-degrees? | | | +--:(geo-coordinates)
| | | | | uint16 | | | | +--rw geo-coordinates
| | | | +--rw longitude-minutes? uint8 | | | | +--rw latitude? bits
| | | | +--rw longitude-seconds? uint8 | | | | +--rw latitude-degrees? uint8
| | | | +--rw altitude? int32 | | | | +--rw latitude-minutes? uint8
| | | | +--rw address? | | | | +--rw latitude-seconds? uint8
| | | | simple-address | | | | +--rw longitude? bits
| | | +--:(nat-traversal) | | | | +--rw longitude-degrees?
| | | | +--rw nat-traversal | | | | | uint16
| | | | +--rw ms-udp-port? uint16 | | | | +--rw longitude-minutes? uint8
| | | | +--rw etr-udp-port? uint16 | | | | +--rw longitude-seconds? uint8
| | | | +--rw global-etr-rloc? | | | | +--rw altitude? int32
| | | | | simple-address | | | | +--rw address?
| | | | +--rw ms-rloc? | | | | simple-address
| | | | | simple-address | | | +--:(nat-traversal)
| | | | +--rw private-etr-rloc? | | | | +--rw nat-traversal
| | | | | simple-address | | | | +--rw ms-udp-port? uint16
| | | | +--rw rtr-rlocs* | | | | +--rw etr-udp-port? uint16
| | | | simple-address | | | | +--rw global-etr-rloc?
| | | +--:(explicit-locator-path) | | | | | simple-address
| | | | +--rw explicit-locator-path | | | | +--rw ms-rloc?
| | | | +--rw hop* [hop-id] | | | | | simple-address
| | | | +--rw hop-id string | | | | +--rw private-etr-rloc?
| | | | +--rw address? | | | | | simple-address
| | | | | simple-address | | | | +--rw rtr-rlocs*
| | | | +--rw lrs-bits? bits | | | | simple-address
| | | +--:(source-dest-key) | | | +--:(explicit-locator-path)
| | | | +--rw source-dest-key | | | | +--rw explicit-locator-path
| | | | +--rw source? simple-address | | | | +--rw hop* [hop-id]
| | | | +--rw dest? simple-address | | | | +--rw hop-id string
| | | +--:(key-value-address) | | | | +--rw address?
| | | | +--rw key-value-address | | | | | simple-address
| | | | +--rw key? simple-address | | | | +--rw lrs-bits? bits
| | | | +--rw value? simple-address | | | +--:(source-dest-key)
| | | +--:(service-path) | | | | +--rw source-dest-key
| | | +--rw service-path | | | | +--rw source? simple-address
| | | +--rw service-path-id? | | | | +--rw dest? simple-address
| | | | service-path-id-type | | | +--:(key-value-address)
| | | +--rw service-index? uint8 | | | | +--rw key-value-address
| | +--rw time-to-live? uint32 | | | | +--rw key? simple-address
| | +--ro creation-time? | | | | +--rw value? simple-address
| | | yang:date-and-time | | | +--:(service-path)
| | +--rw authoritative? bits | | | +--rw service-path
| | +--rw static? boolean | | | +--rw service-path-id?
| | +--rw (locator-list)? | | | | service-path-id-type
| | +--:(negative-mapping) | | | +--rw service-index? uint8
| | | +--rw map-reply-action? | | +--rw time-to-live? uint32
| | | map-reply-action | | +--ro creation-time?
| | +--:(positive-mapping) | | | yang:date-and-time
| | +--rw rlocs | | +--rw authoritative? bits
| | +--rw locator* [id] | | +--rw static? boolean
| | +--rw id | | +--rw (locator-list)?
| | | string | | +--:(negative-mapping)
| | +--rw locator-address | | | +--rw map-reply-action?
| | | +--rw address-type | | | map-reply-action
| | | | lisp-address-family-ref | | +--:(positive-mapping)
| | | +--rw virtual-network-id? | | +--rw rlocs
| | | | instance-id-type | | +--rw locator* [id]
| | | +--rw (address)? | | +--rw id
| | | +--:(no-address) | | | string
| | | | +--rw no-address? | | +--rw locator-address
| | | | empty | | | +--rw address-type
| | | +--:(ipv4) | | | | lisp-address-family-ref
| | | | +--rw ipv4? | | | +--rw (address)?
| | | | inet:ipv4-address | | | +--:(no-address)
| | | +--:(ipv4-prefix) | | | | +--rw no-address?
| | | | +--rw ipv4-prefix? | | | | empty
| | | | inet:ipv4-prefix | | | +--:(ipv4)
| | | +--:(ipv6) | | | | +--rw ipv4?
| | | | +--rw ipv6? | | | | inet:ipv4-address
| | | | inet:ipv6-address | | | +--:(ipv4-prefix)
| | | +--:(ipv6-prefix) | | | | +--rw ipv4-prefix?
| | | | +--rw ipv6-prefix? | | | | inet:ipv4-prefix
| | | | inet:ipv6-prefix | | | +--:(ipv6)
| | | +--:(mac) | | | | +--rw ipv6?
| | | | +--rw mac? | | | | inet:ipv6-address
| | | | yang:mac-address | | | +--:(ipv6-prefix)
| | | +--:(distinguished-name) | | | | +--rw ipv6-prefix?
| | | | +--rw distinguished-name? | | | | inet:ipv6-prefix
| | | | distinguished-name-type | | | +--:(mac)
| | | +--:(as-number) | | | | +--rw mac?
| | | | +--rw as-number? | | | | yang:mac-address
| | | | inet:as-number | | | +--:(distinguished-name)
| | | +--:(null-address) | | | | +--rw distinguished-name?
| | | | +--rw null-address | | | | distinguished-name-type
| | | | +--rw address? | | | +--:(as-number)
| | | | empty | | | | +--rw as-number?
| | | +--:(afi-list) | | | | inet:as-number
| | | | +--rw afi-list | | | +--:(null-address)
| | | | +--rw address-list* | | | | +--rw null-address
| | | | simple-address | | | | +--rw address?
| | | +--:(instance-id) | | | | empty
| | | | +--rw instance-id | | | +--:(afi-list)
| | | | +--rw iid? | | | | +--rw afi-list
| | | | | instance-id-type | | | | +--rw address-list*
| | | | +--rw mask-length? | | | | simple-address
| | | | | uint8 | | | +--:(instance-id)
| | | | +--rw address? | | | | +--rw instance-id
| | | | simple-address | | | | +--rw instance-id?
| | | +--:(as-number-lcaf) | | | | | instance-id-type
| | | | +--rw as-number-lcaf | | | | +--rw mask-length?
| | | | +--rw as? | | | | | uint8
| | | | | inet:as-number | | | | +--rw address?
| | | | +--rw address? | | | | simple-address
| | | | simple-address | | | +--:(as-number-lcaf)
| | | +--:(application-data) | | | | +--rw as-number-lcaf
| | | | +--rw application-data | | | | +--rw as?
| | | | +--rw address? | | | | | inet:as-number
| | | | | simple-address | | | | +--rw address?
| | | | +--rw protocol? | | | | simple-address
| | | | | uint8 | | | +--:(application-data)
| | | | +--rw ip-tos? | | | | +--rw application-data
| | | | | int32 | | | | +--rw address?
| | | | +--rw local-port-low? | | | | | simple-address
| | | | | inet:port-number | | | | +--rw protocol?
| | | | +--rw local-port-high? | | | | | uint8
| | | | | inet:port-number | | | | +--rw ip-tos?
| | | | +--rw remote-port-low? | | | | | int32
| | | | | inet:port-number | | | | +--rw local-port-low?
| | | | +--rw remote-port-high? | | | | | inet:port-number
| | | | inet:port-number | | | | +--rw local-port-high?
| | | +--:(geo-coordinates) | | | | | inet:port-number
| | | | +--rw geo-coordinates | | | | +--rw remote-port-low?
| | | | +--rw latitude? | | | | | inet:port-number
| | | | | bits | | | | +--rw remote-port-high?
| | | | +--rw latitude-degrees? | | | | inet:port-number
| | | | | uint8 | | | +--:(geo-coordinates)
| | | | +--rw latitude-minutes? | | | | +--rw geo-coordinates
| | | | | uint8 | | | | +--rw latitude?
| | | | +--rw latitude-seconds? | | | | | bits
| | | | | uint8 | | | | +--rw latitude-degrees?
| | | | +--rw longitude? | | | | | uint8
| | | | | bits | | | | +--rw latitude-minutes?
| | | | +--rw longitude-degrees? | | | | | uint8
| | | | | uint16 | | | | +--rw latitude-seconds?
| | | | +--rw longitude-minutes? | | | | | uint8
| | | | | uint8 | | | | +--rw longitude?
| | | | +--rw longitude-seconds? | | | | | bits
| | | | | uint8 | | | | +--rw longitude-degrees?
| | | | +--rw altitude? | | | | | uint16
| | | | | int32 | | | | +--rw longitude-minutes?
| | | | +--rw address? | | | | | uint8
| | | | simple-address | | | | +--rw longitude-seconds?
| | | +--:(nat-traversal) | | | | | uint8
| | | | +--rw nat-traversal | | | | +--rw altitude?
| | | | +--rw ms-udp-port? | | | | | int32
| | | | | uint16 | | | | +--rw address?
| | | | +--rw etr-udp-port? | | | | simple-address
| | | | | uint16 | | | +--:(nat-traversal)
| | | | +--rw global-etr-rloc? | | | | +--rw nat-traversal
| | | | | simple-address | | | | +--rw ms-udp-port?
| | | | +--rw ms-rloc? | | | | | uint16
| | | | | simple-address | | | | +--rw etr-udp-port?
| | | | +--rw private-etr-rloc? | | | | | uint16
| | | | | simple-address | | | | +--rw global-etr-rloc?
| | | | +--rw rtr-rlocs* | | | | | simple-address
| | | | simple-address | | | | +--rw ms-rloc?
| | | +--:(explicit-locator-path) | | | | | simple-address
| | | | +--rw explicit-locator-path | | | | +--rw private-etr-rloc?
| | | | +--rw hop* [hop-id] | | | | | simple-address
| | | | +--rw hop-id | | | | +--rw rtr-rlocs*
| | | | | string | | | | simple-address
| | | | +--rw address? | | | +--:(explicit-locator-path)
| | | | | simple-address | | | | +--rw explicit-locator-path
| | | | +--rw lrs-bits? | | | | +--rw hop* [hop-id]
| | | | bits | | | | +--rw hop-id
| | | +--:(source-dest-key) | | | | | string
| | | | +--rw source-dest-key | | | | +--rw address?
| | | | +--rw source? | | | | | simple-address
| | | | | simple-address | | | | +--rw lrs-bits?
| | | | +--rw dest? | | | | bits
| | | | simple-address | | | +--:(source-dest-key)
| | | +--:(key-value-address) | | | | +--rw source-dest-key
| | | | +--rw key-value-address | | | | +--rw source?
| | | | +--rw key? | | | | | simple-address
| | | | | simple-address | | | | +--rw dest?
| | | | +--rw value? | | | | simple-address
| | | | simple-address | | | +--:(key-value-address)
| | | +--:(service-path) | | | | +--rw key-value-address
| | | +--rw service-path | | | | +--rw key?
| | | +--rw service-path-id? | | | | | simple-address
| | | | service-path-id-type | | | | +--rw value?
| | | +--rw service-index? | | | | simple-address
| | | uint8 | | | +--:(service-path)
| | +--rw priority? | | | +--rw service-path
| | | uint8 | | | +--rw service-path-id?
| | +--rw weight? | | | | service-path-id-type
| | | uint8 | | | +--rw service-index?
| | +--rw multicast-priority? | | | uint8
| | | uint8 | | +--rw priority?
| | +--rw multicast-weight? | | | uint8
| | uint8 | | +--rw weight?
| +--ro counters | | | uint8
| +--ro map-registers-in? yang:counter64 | | +--rw multicast-priority?
| +--ro map-registers-in-auth-failed? yang:counter64 | | | uint8
| +--ro map-notify-records-out? yang:counter64 | | +--rw multicast-weight?
| +--ro proxy-reply-records-out? yang:counter64 | | uint8
| +--ro map-requests-forwarded-out? yang:counter64 | +--ro counters
+--rw mapping-system-type? lisp:mapping-system-ref | +--ro map-registers-in? yang:counter64
+--ro summary | +--ro map-registers-in-auth-failed? yang:counter64
| +--ro number-configured-sites? uint32 | +--ro map-notify-records-out? yang:counter64
| +--ro number-registered-sites? uint32 | +--ro proxy-reply-records-out? yang:counter64
| +--ro af-datum | +--ro map-requests-forwarded-out? yang:counter64
| +--ro af-data* [address-type] +--rw mapping-system-type? lisp:mapping-system-ref
| +--ro address-type +--ro summary
| | lcaf:lisp-address-family-ref | +--ro number-configured-sites? uint32
| +--ro number-configured-eids? uint32 | +--ro number-registered-sites? uint32
| +--ro number-registered-eids? uint32 | +--ro af-datum
+--ro counters | +--ro af-data* [address-type]
+--ro map-registers-in? yang:counter64 | +--ro address-type
+--ro map-registers-in-auth-failed? yang:counter64 | | lcaf:lisp-address-family-ref
+--ro map-notify-records-out? yang:counter64 | +--ro number-configured-eids? uint32
+--ro proxy-reply-records-out? yang:counter64 | +--ro number-registered-eids? uint32
+--ro map-requests-forwarded-out? yang:counter64 +--ro counters
+--ro map-registers-in? yang:counter64
+--ro map-registers-in-auth-failed? yang:counter64
+--ro map-notify-records-out? yang:counter64
+--ro proxy-reply-records-out? yang:counter64
+--ro map-requests-forwarded-out? yang:counter64
5.2. Module Definition 5.2. Module Definition
<CODE BEGINS> file "ietf-lisp-mapserver@2018-06-29.yang" <CODE BEGINS> file "ietf-lisp-mapserver@2019-03-05.yang"
module ietf-lisp-mapserver { module ietf-lisp-mapserver {
yang-version 1.1; yang-version 1.1;
namespace "urn:ietf:params:xml:ns:yang:ietf-lisp-mapserver"; namespace "urn:ietf:params:xml:ns:yang:ietf-lisp-mapserver";
prefix lisp-ms; prefix lisp-ms;
// RFC Ed.: replace occurences of XXXX with actual RFC number // RFC Ed.: replace occurences of XXXX with actual RFC number
// and remove this note // and remove this note
import ietf-lisp { import ietf-lisp {
skipping to change at page 41, line 45 skipping to change at page 42, line 31
(NMDA version)"; (NMDA version)";
} }
organization organization
"IETF LISP (Locator/ID Separation Protocol) Working Group"; "IETF LISP (Locator/ID Separation Protocol) Working Group";
contact contact
"WG Web: <http://tools.ietf.org/wg/lisp/> "WG Web: <http://tools.ietf.org/wg/lisp/>
WG List: <mailto:lisp@ietf.org> WG List: <mailto:lisp@ietf.org>
Editor: Vina Ermagan Editor: Vina Ermagan
<mailto:vermagan@cisco.com> <mailto:ermagan@gmail.com>
Editor: Alberto Rodriguez-Natal Editor: Alberto Rodriguez-Natal
<mailto:natal@cisco.com> <mailto:natal@cisco.com>
Editor: Reshad Rahman Editor: Reshad Rahman
<mailto:rrahman@cisco.com>"; <mailto:rrahman@cisco.com>";
description description
"This YANG module defines the generic parameters for a LISP "This YANG module defines the generic parameters for a LISP
Map-Server. The module can be extended by vendors to define Map-Server. The module can be extended by vendors to define
vendor-specific parameters and policies. vendor-specific parameters and policies.
Copyright (c) 2018 IETF Trust and the persons identified as Copyright (c) 2018 IETF Trust and the persons identified as
authors of the code. All rights reserved. authors of the code. All rights reserved.
Redistribution and use in source and binary forms, with or Redistribution and use in source and binary forms, with or
without modification, is permitted pursuant to, and subject without modification, is permitted pursuant to, and subject
skipping to change at page 42, line 19 skipping to change at page 43, line 4
Copyright (c) 2018 IETF Trust and the persons identified as Copyright (c) 2018 IETF Trust and the persons identified as
authors of the code. All rights reserved. authors of the code. All rights reserved.
Redistribution and use in source and binary forms, with or Redistribution and use in source and binary forms, with or
without modification, is permitted pursuant to, and subject without modification, is permitted pursuant to, and subject
to the license terms contained in, the Simplified BSD License to the license terms contained in, the Simplified BSD License
set forth in Section 4.c of the IETF Trust's Legal Provisions set forth in Section 4.c of the IETF Trust's Legal Provisions
Relating to IETF Documents Relating to IETF Documents
(http://trustee.ietf.org/license-info). (http://trustee.ietf.org/license-info).
This version of this YANG module is part of RFC XXXX; see This version of this YANG module is part of RFC XXXX; see
the RFC itself for full legal notices. the RFC itself for full legal notices.
"; ";
reference "RFC XXXX"; reference "RFC XXXX";
revision 2018-06-29 { revision 2019-03-05 {
description description
"Initial revision."; "Initial revision.";
reference reference
"https://tools.ietf.org/html/rfc6833"; "https://tools.ietf.org/html/rfc6833";
} }
identity ms { identity ms {
base lisp:lisp-role; base lisp:lisp-role;
description description
"LISP Map-Server."; "LISP Map-Server.";
} }
grouping ms-counters { grouping ms-counters {
description "Group that defines map-server counters."; description "Grouping that defines map-server counters.";
container counters { container counters {
config false; config false;
description "Container for the counters"; description "Container for the counters";
leaf map-registers-in { leaf map-registers-in {
type yang:counter64; type yang:counter64;
description "Number of incoming Map-Register messages"; description "Number of incoming Map-Register messages";
} }
leaf map-registers-in-auth-failed { leaf map-registers-in-auth-failed {
skipping to change at page 44, line 4 skipping to change at page 44, line 36
description description
"Sites to accept registrations from."; "Sites to accept registrations from.";
list site { list site {
key site-id; key site-id;
description description
"Site that can send registrations."; "Site that can send registrations.";
leaf site-id { leaf site-id {
type uint64; type uint64;
description "Site ID"; description "Site ID";
} }
container auth-key { uses lisp:auth-key;
description list xtr-ids {
"Site authentication key."; key xtr-id;
leaf auth-key-value { description "xTR-ID specific configuration.";
type string; leaf xtr-id {
description type uint64;
"Clear text authentication key"; description "xTR ID";
}
leaf-list auth-key-type {
type lisp:auth-key-type;
description
"Authentication key type.";
} }
uses lisp:auth-key;
} }
} }
} }
container virtual-network-ids { container vpns {
description description
"Sites for which the Map-Server accepts registrations."; "VPNs for which the Map-Server accepts registrations.";
list virtual-network-identifier { list vpn {
key "vni"; key "instance-id";
description description
"Virtual network instances in the Map-Server."; "VPN instances in the Map-Server.";
leaf vni { leaf instance-id {
type lcaf:instance-id-type; type lcaf:instance-id-type;
description description
"Virtual network identifier."; "VPN identifier.";
} }
container mappings { container mappings {
description description
"EIDs registered by device."; "EIDs registered by device.";
list mapping { list mapping {
key "eid-id"; key "eid-id";
description description
"List of EIDs registered by device."; "List of EIDs registered by device.";
leaf eid-id { leaf eid-id {
type lisp:eid-id; type lisp:eid-id;
skipping to change at page 47, line 25 skipping to change at page 48, line 7
module: ietf-lisp-mapresolver module: ietf-lisp-mapresolver
augment /rt:routing/rt:control-plane-protocols augment /rt:routing/rt:control-plane-protocols
/rt:control-plane-protocol/lisp:lisp: /rt:control-plane-protocol/lisp:lisp:
+--rw map-resolver! +--rw map-resolver!
+--rw mapping-system-type? lisp:mapping-system-ref +--rw mapping-system-type? lisp:mapping-system-ref
+--rw ms-address? inet:ip-address +--rw ms-address? inet:ip-address
6.2. Module Definition 6.2. Module Definition
<CODE BEGINS> file "ietf-lisp-mapresolver@2018-06-29.yang" <CODE BEGINS> file "ietf-lisp-mapresolver@2019-02-23.yang"
module ietf-lisp-mapresolver { module ietf-lisp-mapresolver {
yang-version 1.1; yang-version 1.1;
namespace "urn:ietf:params:xml:ns:yang:ietf-lisp-mapresolver"; namespace "urn:ietf:params:xml:ns:yang:ietf-lisp-mapresolver";
prefix lisp-mr; prefix lisp-mr;
// RFC Ed.: replace occurences of XXXX with actual RFC number // RFC Ed.: replace occurences of XXXX with actual RFC number
// and remove this note // and remove this note
import ietf-lisp { import ietf-lisp {
skipping to change at page 48, line 8 skipping to change at page 48, line 39
(NMDA version)"; (NMDA version)";
} }
organization organization
"IETF LISP (Locator/ID Separation Protocol) Working Group"; "IETF LISP (Locator/ID Separation Protocol) Working Group";
contact contact
"WG Web: <http://tools.ietf.org/wg/lisp/> "WG Web: <http://tools.ietf.org/wg/lisp/>
WG List: <mailto:lisp@ietf.org> WG List: <mailto:lisp@ietf.org>
Editor: Vina Ermagan Editor: Vina Ermagan
<mailto:vermagan@cisco.com> <mailto:ermagan@gmail.com>
Editor: Alberto Rodriguez-Natal Editor: Alberto Rodriguez-Natal
<mailto:natal@cisco.com> <mailto:natal@cisco.com>
Editor: Reshad Rahman Editor: Reshad Rahman
<mailto:rrahman@cisco.com>"; <mailto:rrahman@cisco.com>";
description description
"This YANG module defines the generic parameters for a LISP "This YANG module defines the generic parameters for a LISP
Map-Resolver. The module can be extended by vendors to define Map-Resolver. The module can be extended by vendors to define
vendor-specific parameters and policies. vendor-specific parameters and policies.
skipping to change at page 48, line 36 skipping to change at page 49, line 18
set forth in Section 4.c of the IETF Trust's Legal Provisions set forth in Section 4.c of the IETF Trust's Legal Provisions
Relating to IETF Documents Relating to IETF Documents
(http://trustee.ietf.org/license-info). (http://trustee.ietf.org/license-info).
This version of this YANG module is part of RFC XXXX; see This version of this YANG module is part of RFC XXXX; see
the RFC itself for full legal notices. the RFC itself for full legal notices.
"; ";
reference "RFC XXXX"; reference "RFC XXXX";
revision 2018-06-29 { revision 2019-02-23 {
description description
"Initial revision."; "Initial revision.";
reference reference
"https://tools.ietf.org/html/rfc6833"; "https://tools.ietf.org/html/rfc6833";
} }
identity mr { identity mr {
base lisp:lisp-role; base lisp:lisp-role;
description description
"LISP Map-Resolver."; "LISP Map-Resolver.";
} }
skipping to change at page 49, line 37 skipping to change at page 50, line 18
} }
<CODE ENDS> <CODE ENDS>
7. LISP-Address-Types Module 7. LISP-Address-Types Module
This module captures the various LISP address types, and is an This module captures the various LISP address types, and is an
essential building block used in other LISP modules. essential building block used in other LISP modules.
7.1. Module Definition 7.1. Module Definition
<CODE BEGINS> file "ietf-lisp-address-types@2018-06-29.yang" <CODE BEGINS> file "ietf-lisp-address-types@2019-02-23.yang"
module ietf-lisp-address-types { module ietf-lisp-address-types {
yang-version 1.1; yang-version 1.1;
namespace "urn:ietf:params:xml:ns:yang:ietf-lisp-address-types"; namespace "urn:ietf:params:xml:ns:yang:ietf-lisp-address-types";
prefix laddr; prefix laddr;
import ietf-inet-types { import ietf-inet-types {
prefix inet; prefix inet;
reference "RFC 6991: Common YANG Data Types"; reference "RFC 6991: Common YANG Data Types";
skipping to change at page 50, line 4 skipping to change at page 50, line 33
prefix laddr; prefix laddr;
import ietf-inet-types { import ietf-inet-types {
prefix inet; prefix inet;
reference "RFC 6991: Common YANG Data Types"; reference "RFC 6991: Common YANG Data Types";
} }
import ietf-yang-types { import ietf-yang-types {
prefix yang; prefix yang;
reference "RFC 6991: Common YANG Data Types"; reference "RFC 6991: Common YANG Data Types";
} }
organization organization
"IETF LISP (Locator/ID Separation Protocol) Working Group"; "IETF LISP (Locator/ID Separation Protocol) Working Group";
contact contact
"WG Web: <http://tools.ietf.org/wg/lisp/> "WG Web: <http://tools.ietf.org/wg/lisp/>
WG List: <mailto:lisp@ietf.org> WG List: <mailto:lisp@ietf.org>
Editor: Vina Ermagan Editor: Vina Ermagan
<mailto:vermagan@cisco.com> <mailto:ermagan@gmail.com>
Editor: Alberto Rodriguez-Natal Editor: Alberto Rodriguez-Natal
<mailto:natal@cisco.com> <mailto:natal@cisco.com>
Editor: Reshad Rahman Editor: Reshad Rahman
<mailto:rrahman@cisco.com>"; <mailto:rrahman@cisco.com>";
description description
"This YANG module defines the LISP Canonical Address Formats "This YANG module defines the LISP Canonical Address Formats
(LCAF) for LISP. The module can be extended by vendors to (LCAF) for LISP. The module can be extended by vendors to
define vendor-specific parameters. define vendor-specific parameters.
skipping to change at page 50, line 44 skipping to change at page 51, line 24
(http://trustee.ietf.org/license-info). (http://trustee.ietf.org/license-info).
This version of this YANG module is part of RFC XXXX; see This version of this YANG module is part of RFC XXXX; see
the RFC itself for full legal notices. the RFC itself for full legal notices.
"; ";
// RFC Ed.: replace XXXX with actual RFC number and remove // RFC Ed.: replace XXXX with actual RFC number and remove
// this note // this note
reference "RFC XXXX"; reference "RFC XXXX";
revision 2018-06-29 { revision 2019-02-23 {
description description
"Initial revision."; "Initial revision.";
reference reference
"http://tools.ietf.org/html/draft-ietf-lisp-lcaf-10"; "RC8060: LISP Canonical Address Format (LCAF)";
} }
identity lisp-address-family { identity lisp-address-family {
description description
"Base identity from which identities describing LISP address "Base identity from which identities describing LISP address
families are derived."; families are derived.";
} }
identity no-address-afi { identity no-address-afi {
base lisp-address-family; base lisp-address-family;
description description
"IANA Reserved."; "IANA Reserved.";
skipping to change at page 55, line 7 skipping to change at page 55, line 36
grouping lisp-address { grouping lisp-address {
description description
"Generic LISP address."; "Generic LISP address.";
leaf address-type { leaf address-type {
type lisp-address-family-ref; type lisp-address-family-ref;
mandatory true; mandatory true;
description description
"Type of the LISP address."; "Type of the LISP address.";
} }
leaf virtual-network-id {
type instance-id-type;
description
"Virtual Network Identifier (instance-id) of the address.";
}
choice address { choice address {
description description
"Various LISP address types, including IP, MAC, and LCAF."; "Various LISP address types, including IP, MAC, and LCAF.";
leaf no-address { leaf no-address {
when "../address-type = 'laddr:no-address-afi'" { when "../address-type = 'laddr:no-address-afi'" {
description description
"When AFI is 0."; "When AFI is 0.";
} }
type empty; type empty;
skipping to change at page 57, line 25 skipping to change at page 57, line 48
#section-4.16.1"; #section-4.16.1";
leaf-list address-list { leaf-list address-list {
type simple-address; type simple-address;
description description
"List of AFI addresses."; "List of AFI addresses.";
} }
} }
container instance-id { container instance-id {
when "../address-type = 'laddr:instance-id-lcaf'" { when "../address-type = 'laddr:instance-id-lcaf'" {
description description
"When LCAF type is Instance-ID"; "When LCAF type is Instance ID as per RFC8060.";
} }
description description
"Instance ID LCAF type."; "Instance ID LCAF type.";
reference reference
"http://tools.ietf.org/html/draft-ietf-lisp-lcaf-10 "http://tools.ietf.org/html/draft-ietf-lisp-lcaf-10
#section-4.2"; #section-4.2";
leaf iid { leaf instance-id {
type instance-id-type; type instance-id-type;
description description
"Instance ID value."; "Instance ID value.";
} }
leaf mask-length { leaf mask-length {
type uint8; type uint8;
description description
"Mask length."; "Mask length.";
} }
leaf address { leaf address {
skipping to change at page 65, line 5 skipping to change at page 65, line 5
7.2. Data Model examples 7.2. Data Model examples
This section presents some simple and illustrative examples on how to This section presents some simple and illustrative examples on how to
configure LISP. configure LISP.
7.2.1. LISP protocol instance 7.2.1. LISP protocol instance
The following is an example configuration for a LISP protocol The following is an example configuration for a LISP protocol
instance with the name "LISP1". There are also 2 VNIs configured. instance with the name "LISP1". There are also 2 VNIs configured.
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<config xmlns="urn:ietf:params:xml:ns:netconf:base:1.0"> <config xmlns="urn:ietf:params:xml:ns:netconf:base:1.0">
<network-instances xmlns="urn:ietf:params:xml:ns:yang:ietf-network-instance"> <network-instances
<network-instance> xmlns="urn:ietf:params:xml:ns:yang:ietf-network-instance">
<name>VRF-BLUE</name> <network-instance>
<vrf-root/> <name>VRF-BLUE</name>
<enabled>true</enabled> <vrf-root/>
</network-instance> <enabled>true</enabled>
<network-instance> </network-instance>
<name>VRF-RED</name> <network-instance>
<vrf-root/> <name>VRF-RED</name>
<enabled>true</enabled> <vrf-root/>
</network-instance> <enabled>true</enabled>
</network-instances> </network-instance>
<routing xmlns="urn:ietf:params:xml:ns:yang:ietf-routing"> </network-instances>
<control-plane-protocols> <routing xmlns="urn:ietf:params:xml:ns:yang:ietf-routing">
<control-plane-protocol> <control-plane-protocols>
<type xmlns:lisp="urn:ietf:params:xml:ns:yang:ietf-lisp"> <control-plane-protocol>
lisp:lisp <type xmlns:lisp="urn:ietf:params:xml:ns:yang:ietf-lisp">
</type> lisp:lisp
<name>LISP1</name> </type>
<lisp xmlns="urn:ietf:params:xml:ns:yang:ietf-lisp"> <name>LISP1</name>
<virtual-networks> <lisp xmlns="urn:ietf:params:xml:ns:yang:ietf-lisp">
<virtual-network> <lisp-role>
<vni>1000</vni> <lisp-role-type>etr</lisp-role-type>
<ni-name>VRF-BLUE</ni-name> </lisp-role>
</virtual-network> <lisp-role>
<virtual-network> <lisp-role-type>itr</lisp-role-type>
<vni>2000</vni> </lisp-role>
<ni-name>VRF-RED</ni-name> <vpns>
</virtual-network> <vpn>
</virtual-networks> <instance-id>1000</instance-id>
</lisp> <iid-name>VRF-BLUE</iid-name>
</control-plane-protocol> </vpn>
</control-plane-protocols> <vpn>
</routing> <instance-id>2000</instance-id>
</config> <iid-name>VRF-RED</iid-name>
</vpn>
</vpns>
</lisp>
</control-plane-protocol>
</control-plane-protocols>
</routing>
</config>
7.2.2. LISP ITR 7.2.2. LISP ITR
The following is an example configuration for ITR functionality under The following is an example configuration for ITR functionality under
"LISP1". There are 2 Map-Resolvers configured. "LISP1". There are 2 Map-Resolvers configured.
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<config xmlns="urn:ietf:params:xml:ns:netconf:base:1.0"> <config xmlns="urn:ietf:params:xml:ns:netconf:base:1.0">
<routing xmlns="urn:ietf:params:xml:ns:yang:ietf-routing"> <routing xmlns="urn:ietf:params:xml:ns:yang:ietf-routing">
<control-plane-protocols> <control-plane-protocols>
skipping to change at page 66, line 37 skipping to change at page 66, line 42
</routing> </routing>
</config> </config>
7.2.3. LISP ETR 7.2.3. LISP ETR
The following is an example configuration for ETR functionality under The following is an example configuration for ETR functionality under
"LISP1". There are 2 Map-Servers and 2 local EIDs configured. "LISP1". There are 2 Map-Servers and 2 local EIDs configured.
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<config xmlns="urn:ietf:params:xml:ns:netconf:base:1.0"> <config xmlns="urn:ietf:params:xml:ns:netconf:base:1.0">
<network-instances
xmlns="urn:ietf:params:xml:ns:yang:ietf-network-instance">
<network-instance>
<name>VRF-BLUE</name>
<vrf-root/>
<enabled>true</enabled>
</network-instance>
<network-instance>
<name>VRF-RED</name>
<vrf-root/>
<enabled>true</enabled>
</network-instance>
</network-instances>
<routing xmlns="urn:ietf:params:xml:ns:yang:ietf-routing"> <routing xmlns="urn:ietf:params:xml:ns:yang:ietf-routing">
<control-plane-protocols> <control-plane-protocols>
<control-plane-protocol> <control-plane-protocol>
<type xmlns:lisp="urn:ietf:params:xml:ns:yang:ietf-lisp"> <type xmlns:lisp="urn:ietf:params:xml:ns:yang:ietf-lisp">
lisp:lisp lisp:lisp
</type> </type>
<name>LISP1</name> <name>LISP1</name>
<lisp xmlns="urn:ietf:params:xml:ns:yang:ietf-lisp"> <lisp xmlns="urn:ietf:params:xml:ns:yang:ietf-lisp">
<lisp-role> <lisp-role>
<lisp-role-type>etr</lisp-role-type> <lisp-role-type>etr</lisp-role-type>
skipping to change at page 67, line 4 skipping to change at page 67, line 23
<type xmlns:lisp="urn:ietf:params:xml:ns:yang:ietf-lisp"> <type xmlns:lisp="urn:ietf:params:xml:ns:yang:ietf-lisp">
lisp:lisp lisp:lisp
</type> </type>
<name>LISP1</name> <name>LISP1</name>
<lisp xmlns="urn:ietf:params:xml:ns:yang:ietf-lisp"> <lisp xmlns="urn:ietf:params:xml:ns:yang:ietf-lisp">
<lisp-role> <lisp-role>
<lisp-role-type>etr</lisp-role-type> <lisp-role-type>etr</lisp-role-type>
</lisp-role> </lisp-role>
<lisp-router-id> <lisp-router-id>
<site-id>1</site-id> <site-id>1</site-id>
</lisp-router-id> </lisp-router-id>
<vpns>
<vpn>
<instance-id>1000</instance-id>
<iid-name>VRF-BLUE</iid-name>
</vpn>
<vpn>
<instance-id>2000</instance-id>
<iid-name>VRF-RED</iid-name>
</vpn>
</vpns>
<etr xmlns="urn:ietf:params:xml:ns:yang:ietf-lisp-etr"> <etr xmlns="urn:ietf:params:xml:ns:yang:ietf-lisp-etr">
<map-servers> <map-servers>
<map-server> <map-server>
<ms-address>2001:db8:203:0:113::1</ms-address> <ms-address>2001:db8:203:0:113::1</ms-address>
<auth-key>*Kye^$$1#gb91U04zpa!</auth-key> <authentication-keys>
<auth-key-type>hmac-sha-256-128</auth-key-type> <authentication-key>
<auth-key-id>key1</auth-key-id>
<auth-algorithm-id>
hmac-sha-256-128
</auth-algorithm-id>
<auth-key-value>*Kye^$$1#gb91U04zpa</auth-key-value>
</authentication-key>
</authentication-keys>
</map-server> </map-server>
<map-server> <map-server>
<ms-address>2001:db8:204:0:113::1</ms-address> <ms-address>2001:db8:204:0:113::1</ms-address>
<auth-key>*Kye^$$1#gb91U04zpa!</auth-key> <authentication-keys>
<auth-key-type>hmac-sha-256-128</auth-key-type> <authentication-key>
<auth-key-id>key1</auth-key-id>
<auth-algorithm-id>
hmac-sha-256-128
</auth-algorithm-id>
<auth-key-value>*Kye^$$1#gb91U04zpa</auth-key-value>
</authentication-key>
</authentication-keys>
</map-server> </map-server>
</map-servers> </map-servers>
<local-eids> <local-eids>
<virtual-network> <vpn>
<vni>1000</vni> <instance-id>1000</instance-id>
<eids> <eids>
<local-eid> <local-eid>
<id>2001:db8:400:0:100::0</id> <id>2001:db8:400:0:100::0</id>
<eid-address> <eid-address>
<address-type xmlns:laddr= <address-type xmlns:laddr=
"urn:ietf:params:xml:ns:yang:ietf-lisp-address-types"> "urn:ietf:params:xml:ns:yang:ietf-lisp-address-types">
laddr:ipv6-prefix-afi laddr:ipv6-prefix-afi
</address-type> </address-type>
<ipv6-prefix>2001:db8:400:0:100::/80</ipv6-prefix> <ipv6-prefix>2001:db8:400:0:100::/80</ipv6-prefix>
</eid-address> </eid-address>
</local-eid> </local-eid>
</eids> </eids>
</virtual-network> </vpn>
<virtual-network> <vpn>
<vni>2000</vni> <instance-id>2000</instance-id>
<eids> <eids>
<local-eid> <local-eid>
<id>2001:db8:800:0:200::0</id> <id>2001:db8:800:0:200::0</id>
<eid-address> <eid-address>
<address-type xmlns:laddr= <address-type xmlns:laddr=
"urn:ietf:params:xml:ns:yang:ietf-lisp-address-types"> "urn:ietf:params:xml:ns:yang:ietf-lisp-address-types">
laddr:ipv6-prefix-afi laddr:ipv6-prefix-afi
</address-type> </address-type>
<ipv6-prefix>2001:db8:800:0:200::/80</ipv6-prefix> <ipv6-prefix>2001:db8:800:0:200::/80</ipv6-prefix>
</eid-address> </eid-address>
</local-eid> </local-eid>
</eids> </eids>
</virtual-network> </vpn>
</local-eids> </local-eids>
</etr> </etr>
</lisp> </lisp>
</control-plane-protocol> </control-plane-protocol>
</control-plane-protocols> </control-plane-protocols>
</routing> </routing>
</config> </config>
7.2.4. LISP Map-Server 7.2.4. LISP Map-Server
The following is an example configuration for Map-Server The following is an example configuration for Map-Server
functionality under "LISP1". There are 2 mappings configured. functionality under "LISP1". There are 2 mappings configured.
<config xmlns="http://tail-f.com/ns/config/1.0"> <config xmlns="http://tail-f.com/ns/config/1.0">
<routing xmlns="urn:ietf:params:xml:ns:yang:ietf-routing"> <routing xmlns="urn:ietf:params:xml:ns:yang:ietf-routing">
<control-plane-protocols> <control-plane-protocols>
<control-plane-protocol> <control-plane-protocol>
<type xmlns:lisp="urn:ietf:params:xml:ns:yang:ietf-lisp"> <type xmlns:lisp="urn:ietf:params:xml:ns:yang:ietf-lisp">
skipping to change at page 68, line 30 skipping to change at page 69, line 24
lisp:lisp lisp:lisp
</type> </type>
<name>LISP1</name> <name>LISP1</name>
<lisp xmlns="urn:ietf:params:xml:ns:yang:ietf-lisp"> <lisp xmlns="urn:ietf:params:xml:ns:yang:ietf-lisp">
<lisp-role> <lisp-role>
<lisp-role-type xmlns:lisp-ms= <lisp-role-type xmlns:lisp-ms=
"urn:ietf:params:xml:ns:yang:ietf-lisp-mapserver"> "urn:ietf:params:xml:ns:yang:ietf-lisp-mapserver">
lisp-ms:ms lisp-ms:ms
</lisp-role-type> </lisp-role-type>
</lisp-role> </lisp-role>
<map-server xmlns="urn:ietf:params:xml:ns:yang:ietf-lisp-mapserver"> <map-server xmlns=
"urn:ietf:params:xml:ns:yang:ietf-lisp-mapserver">
<sites> <sites>
<site> <site>
<site-id>1</site-id> <site-id>1</site-id>
<auth-key> <authentication-keys>
<auth-key-value>*Kye^$$1#gb91U04zpa!</auth-key-value> <authentication-key>
<auth-key-type>hmac-sha-256-128</auth-key-type> <auth-key-id>key1</auth-key-id>
</auth-key> <auth-algorithm-id>
hmac-sha-256-128
</auth-algorithm-id>
<auth-key-value>*Kye^$$1#gb91U04zpa</auth-key-value>
</authentication-key>
</authentication-keys>
</site> </site>
</sites> </sites>
<virtual-network-ids> <vpns>
<virtual-network-identifier> <vpn>
<vni>1000</vni> <instance-id>1000</instance-id>
<mappings> <mappings>
<mapping> <mapping>
<eid-id>1</eid-id> <eid-id>1</eid-id>
<eid-address> <eid-address>
<address-type xmlns:laddr= <address-type xmlns:laddr=
"urn:ietf:params:xml:ns:yang:ietf-lisp-address-types"> "urn:ietf:params:xml:ns:yang:ietf-lisp-address-types">
laddr:ipv6-prefix-afi laddr:ipv6-prefix-afi
</address-type>
</address-type>
<ipv6-prefix>2001:db8:400:0:100::/80</ipv6-prefix> <ipv6-prefix>2001:db8:400:0:100::/80</ipv6-prefix>
</eid-address> </eid-address>
</mapping> </mapping>
</mappings> </mappings>
</virtual-network-identifier> </vpn>
<virtual-network-identifier> <vpn>
<vni>2000</vni> <instance-id>2000</instance-id>
<mappings> <mappings>
<mapping> <mapping>
<eid-id>1</eid-id> <eid-id>1</eid-id>
<eid-address> <eid-address>
<address-type xmlns:laddr= <address-type xmlns:laddr=
"urn:ietf:params:xml:ns:yang:ietf-lisp-address-types"> "urn:ietf:params:xml:ns:yang:ietf-lisp-address-types">
laddr:ipv6-prefix-afi laddr:ipv6-prefix-afi
</address-type> </address-type>
<ipv6-prefix>2001:db8:800:0:200::/80</ipv6-prefix> <ipv6-prefix>2001:db8:800:0:200::/80</ipv6-prefix>
</eid-address> </eid-address>
</mapping> </mapping>
</mappings> </mappings>
</virtual-network-identifier> </vpn>
</virtual-network-ids> </vpns>
</map-server> </map-server>
</lisp> </lisp>
</control-plane-protocol> </control-plane-protocol>
</control-plane-protocols> </control-plane-protocols>
</routing> </routing>
</config> </config>
8. Acknowledgments 8. Acknowledgments
The tree view and the YANG model shown in this document have been The tree view and the YANG model shown in this document have been
skipping to change at page 71, line 4 skipping to change at page 71, line 50
URI: urn:ietf:params:xml:ns:yang:ietf-lisp-mapresolver URI: urn:ietf:params:xml:ns:yang:ietf-lisp-mapresolver
Registrant Contact: The IESG. Registrant Contact: The IESG.
XML: N/A, the requested URI is an XML namespace. XML: N/A, the requested URI is an XML namespace.
-------------------------------------------------------------------- --------------------------------------------------------------------
-------------------------------------------------------------------- --------------------------------------------------------------------
URI: urn:ietf:params:xml:ns:yang:ietf-lisp-address-types
URI: urn:ietf:params:xml:ns:yang:ietf-lisp-address-types
Registrant Contact: The IESG. Registrant Contact: The IESG.
XML: N/A, the requested URI is an XML namespace. XML: N/A, the requested URI is an XML namespace.
-------------------------------------------------------------------- --------------------------------------------------------------------
10. Security Considerations 10. Security Considerations
The YANG modules specified in this document define a schema for data The YANG modules specified in this document define a schema for data
that is designed to be accessed via network management protocols such that is designed to be accessed via network management protocols such
skipping to change at page 71, line 48 skipping to change at page 72, line 46
/rt:routing/rt:control-plane-protocols/rt:control-plane-protocol/ /rt:routing/rt:control-plane-protocols/rt:control-plane-protocol/
lisp:lisp/ lisp:lisp/
Access to the locator-sets node may modify which interfaces are used Access to the locator-sets node may modify which interfaces are used
for data and/or control traffic as well as affect the load balancing for data and/or control traffic as well as affect the load balancing
of data-plane traffic. Access to the lisp-role node may prevent the of data-plane traffic. Access to the lisp-role node may prevent the
device from perform its intended data-plane and/or control-plane device from perform its intended data-plane and/or control-plane
operation. Access to the router-id node allows to modify the unique operation. Access to the router-id node allows to modify the unique
identifier of the device, which may result in disruption of its LISP identifier of the device, which may result in disruption of its LISP
control-plane operation. Access to the virtual-networks node may control-plane operation. Access to the vpn node may allow to
allow to redirect data-plane traffic to erroneous local or remote redirect data-plane traffic to erroneous local or remote network
network instances. instances.
/rt:routing/rt:control-plane-protocols/rt:control-plane- /rt:routing/rt:control-plane-protocols/rt:control-plane-
protocol/lisp:lisp/lisp:map-server protocol/lisp:lisp/lisp:map-server
Access to the sites node can prevent authorized devices from Access to the sites node can prevent authorized devices from
registering mappings in the Map-Server and/or allow unauthorized registering mappings in the Map-Server and/or allow unauthorized
devices to so. Access to the virtual-network-ids node can result in devices to so. Access to the vpn node can result in corrupted
corrupted mapping sate that may propagate across the LISP network, mapping sate that may propagate across the LISP network, potentially
potentially resulting in forwarding of data-plane traffic to resulting in forwarding of data-plane traffic to arbitrary
arbitrary destinations and general disruption of the data-plane destinations and general disruption of the data-plane operation.
operation. Access to mapping-system-type and/or ddt-mapping-system Access to mapping-system-type and/or ddt-mapping-system nodes may
nodes may prevent the device to connect to the Mapping System prevent the device to connect to the Mapping System infrastructure
infrastructure and consequentially to attract Map-Request messages. and consequentially to attract Map-Request messages.
/rt:routing/rt:control-plane-protocols/rt:control-plane- /rt:routing/rt:control-plane-protocols/rt:control-plane-
protocol/lisp:lisp/lisp:map-resolver protocol/lisp:lisp/lisp:map-resolver
Access to mapping-system-type, ms-address and/or ddt-mapping-system Access to mapping-system-type, ms-address and/or ddt-mapping-system
nodes may prevent the device to connect to the Mapping System nodes may prevent the device to connect to the Mapping System
infrastructure and forward Map-Request messages. infrastructure and forward Map-Request messages.
/rt:routing/rt:control-plane-protocols/rt:control-plane- /rt:routing/rt:control-plane-protocols/rt:control-plane-
protocol/lisp:lisp/lisp:itr protocol/lisp:lisp/lisp:itr
skipping to change at page 73, line 7 skipping to change at page 74, line 4
Mapping System. Mapping System.
Some of the readable data nodes in this YANG module may be considered Some of the readable data nodes in this YANG module may be considered
sensitive or vulnerable in some network environments. It is thus sensitive or vulnerable in some network environments. It is thus
important to control read access (e.g., via get, get-config, or important to control read access (e.g., via get, get-config, or
notification) to these data nodes. These are the subtrees and data notification) to these data nodes. These are the subtrees and data
nodes and their sensitivity/vulnerability: nodes and their sensitivity/vulnerability:
/rt:routing/rt:control-plane-protocols/rt:control-plane-protocol/ /rt:routing/rt:control-plane-protocols/rt:control-plane-protocol/
lisp:lisp lisp:lisp
Access to the locator-sets node can expose the locators the device is Access to the locator-sets node can expose the locators the device is
using for its control and/or data operation. Access to the lisp-role using for its control and/or data operation. Access to the lisp-role
node can disclose the LISP roles instantiated at the device which node can disclose the LISP roles instantiated at the device which
facilitates mounting attacks against the device. Access to the facilitates mounting attacks against the device. Access to the
router-id node can expose the unique identifier of device which may router-id node can expose the unique identifier of device which may
allow a third party to track its control-plane operation and/or allow a third party to track its control-plane operation and/or
impersonate the device. Access to the virtual-networks node can leak impersonate the device. Access to the vpn node can leak the local
the local mapping between LISP Instance IDs and local network mapping between LISP Instance IDs and local network instances.
instances.
/rt:routing/rt:control-plane-protocols/rt:control-plane- /rt:routing/rt:control-plane-protocols/rt:control-plane-
protocol/lisp:lisp/lisp:map-server protocol/lisp:lisp/lisp:map-server
Access to the sites node can expose the credentials used to register Access to the sites node can expose the credentials used to register
mappings and allow unauthorized devices to do so. Access to the mappings and allow unauthorized devices to do so. Access to the vpn
virtual-network-ids node can expose the mappings currently registered node can expose the mappings currently registered in the device,
in the device, which has privacy implications. Access to the which has privacy implications. Access to the mapping-system-type
mapping-system-type node may reveal the Mapping System in use which node may reveal the Mapping System in use which can be used to mount
can be used to mount attacks against the device and/or the Mapping attacks against the device and/or the Mapping System. Access to the
System. Access to the summary and counters nodes may expose summary and counters nodes may expose operational statistics of the
operational statistics of the device. device.
/rt:routing/rt:control-plane-protocols/rt:control-plane- /rt:routing/rt:control-plane-protocols/rt:control-plane-
protocol/lisp:lisp/lisp:map-resolver protocol/lisp:lisp/lisp:map-resolver
Access to the mapping-system-type node may reveal the Mapping System Access to the mapping-system-type node may reveal the Mapping System
in use which can be used to mount attacks against the device and/or in use which can be used to mount attacks against the device and/or
the Mapping System. Access to the ms-address and/or ddt-mapping- the Mapping System. Access to the ms-address and/or ddt-mapping-
system nodes can leak the information about the Mapping System system nodes can leak the information about the Mapping System
infrastructure used by the device, which can be used to block infrastructure used by the device, which can be used to block
communication and/or mount attacks against it. communication and/or mount attacks against it.
skipping to change at page 76, line 8 skipping to change at page 76, line 48
DOI 10.17487/RFC8349, March 2018, DOI 10.17487/RFC8349, March 2018,
<https://www.rfc-editor.org/info/rfc8349>. <https://www.rfc-editor.org/info/rfc8349>.
[RFC8446] Rescorla, E., "The Transport Layer Security (TLS) Protocol [RFC8446] Rescorla, E., "The Transport Layer Security (TLS) Protocol
Version 1.3", RFC 8446, DOI 10.17487/RFC8446, August 2018, Version 1.3", RFC 8446, DOI 10.17487/RFC8446, August 2018,
<https://www.rfc-editor.org/info/rfc8446>. <https://www.rfc-editor.org/info/rfc8446>.
Authors' Addresses Authors' Addresses
Vina Ermagan Vina Ermagan
Cisco Systems Google
San Jose, CA
USA USA
Email: vermagan@cisco.com Email: ermagan@gmail.com
Alberto Rodriguez-Natal Alberto Rodriguez-Natal
Cisco Systems Cisco Systems
San Jose, CA San Jose, CA
USA USA
Email: natal@cisco.com Email: natal@cisco.com
Florin Coras Florin Coras
Cisco Systems Cisco Systems
San Jose, CA San Jose, CA
 End of changes. 114 change blocks. 
772 lines changed or deleted 829 lines changed or added

This html diff was produced by rfcdiff 1.47. The latest version is available from http://tools.ietf.org/tools/rfcdiff/