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 | ||||
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/ |