draft-ietf-lisp-yang-04.txt | draft-ietf-lisp-yang-05.txt | |||
---|---|---|---|---|
LISP Working Group V. Ermagan | LISP Working Group V. Ermagan | |||
Internet-Draft Cisco Systems | Internet-Draft A. Rodriguez-Natal | |||
Intended status: Experimental A. Rodriguez-Natal | Intended status: Experimental F. Coras | |||
Expires: July 11, 2017 F. Coras | Expires: January 4, 2018 C. Moberg | |||
Technical University of Catalonia | R. Rahman | |||
C. Moberg | ||||
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 | |||
January 7, 2017 | July 3, 2017 | |||
LISP Configuration YANG Model | LISP YANG Model | |||
draft-ietf-lisp-yang-04 | draft-ietf-lisp-yang-05 | |||
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). | |||
Status of This Memo | Status of This Memo | |||
This Internet-Draft is submitted in full conformance with the | This Internet-Draft is submitted in full conformance with the | |||
provisions of BCP 78 and BCP 79. | provisions of BCP 78 and BCP 79. | |||
skipping to change at page 1, line 39 ¶ | skipping to change at page 1, line 38 ¶ | |||
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 http://datatracker.ietf.org/drafts/current/. | Drafts is at http://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 July 11, 2017. | This Internet-Draft will expire on January 4, 2018. | |||
Copyright Notice | Copyright Notice | |||
Copyright (c) 2017 IETF Trust and the persons identified as the | Copyright (c) 2017 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 | |||
(http://trustee.ietf.org/license-info) in effect on the date of | (http://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 | |||
described in the Simplified BSD License. | described in the Simplified BSD License. | |||
Table of Contents | Table of Contents | |||
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2 | 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2 | |||
2. LISP Module . . . . . . . . . . . . . . . . . . . . . . . . . 3 | 2. LISP Module . . . . . . . . . . . . . . . . . . . . . . . . . 2 | |||
2.1. Module Structure . . . . . . . . . . . . . . . . . . . . 3 | 2.1. Module Structure . . . . . . . . . . . . . . . . . . . . 3 | |||
2.2. Module Definition . . . . . . . . . . . . . . . . . . . . 5 | 2.2. Module Definition . . . . . . . . . . . . . . . . . . . . 5 | |||
3. LISP-ITR Module . . . . . . . . . . . . . . . . . . . . . . . 13 | 3. LISP-ITR Module . . . . . . . . . . . . . . . . . . . . . . . 13 | |||
3.1. Module Structure . . . . . . . . . . . . . . . . . . . . 14 | 3.1. Module Structure . . . . . . . . . . . . . . . . . . . . 13 | |||
3.2. Module Definition . . . . . . . . . . . . . . . . . . . . 27 | 3.2. Module Definition . . . . . . . . . . . . . . . . . . . . 17 | |||
4. LISP ETR Module . . . . . . . . . . . . . . . . . . . . . . . 30 | 4. LISP-ETR Module . . . . . . . . . . . . . . . . . . . . . . . 20 | |||
4.1. Module Structure . . . . . . . . . . . . . . . . . . . . 31 | 4.1. Module Structure . . . . . . . . . . . . . . . . . . . . 20 | |||
4.2. Module Definition . . . . . . . . . . . . . . . . . . . . 33 | 4.2. Module Definition . . . . . . . . . . . . . . . . . . . . 22 | |||
5. LISP Map Server Module . . . . . . . . . . . . . . . . . . . 36 | 5. LISP-Map-Server Module . . . . . . . . . . . . . . . . . . . 26 | |||
5.1. Module Structure . . . . . . . . . . . . . . . . . . . . 36 | 5.1. Module Structure . . . . . . . . . . . . . . . . . . . . 26 | |||
5.2. Module Definition . . . . . . . . . . . . . . . . . . . . 42 | 5.2. Module Definition . . . . . . . . . . . . . . . . . . . . 32 | |||
6. LISP Map Resolver Module . . . . . . . . . . . . . . . . . . 45 | 6. LISP-Map-Resolver Module . . . . . . . . . . . . . . . . . . 37 | |||
6.1. Module Structure . . . . . . . . . . . . . . . . . . . . 45 | 6.1. Module Structure . . . . . . . . . . . . . . . . . . . . 37 | |||
6.2. Module Definition . . . . . . . . . . . . . . . . . . . . 45 | 6.2. Module Definition . . . . . . . . . . . . . . . . . . . . 38 | |||
7. LISP Proxy ITR Module . . . . . . . . . . . . . . . . . . . . 47 | 7. LISP-Address-Types Module . . . . . . . . . . . . . . . . . . 39 | |||
7.1. Module Structure . . . . . . . . . . . . . . . . . . . . 47 | 7.1. Module Definition . . . . . . . . . . . . . . . . . . . . 39 | |||
7.2. Module Definition . . . . . . . . . . . . . . . . . . . . 59 | 8. Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . 54 | |||
8. LISP Proxy ETR Module . . . . . . . . . . . . . . . . . . . . 61 | 9. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 54 | |||
8.1. Module Structure . . . . . . . . . . . . . . . . . . . . 61 | 10. Security Considerations . . . . . . . . . . . . . . . . . . . 54 | |||
8.2. Module Definition . . . . . . . . . . . . . . . . . . . . 63 | 11. Normative References . . . . . . . . . . . . . . . . . . . . 54 | |||
9. LISP Address Types . . . . . . . . . . . . . . . . . . . . . 65 | Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 55 | |||
9.1. Module Definition . . . . . . . . . . . . . . . . . . . . 65 | ||||
10. Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . 79 | ||||
11. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 79 | ||||
12. Security Considerations . . . . . . . . . . . . . . . . . . . 79 | ||||
13. Normative References . . . . . . . . . . . . . . . . . . . . 79 | ||||
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 80 | ||||
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. | |||
2. LISP Module | 2. LISP Module | |||
This module is the base LISP module that is augmented in multiple | This module is the base LISP module that is augmented in multiple | |||
models to represent various LISP device roles. | models to represent various LISP device roles. | |||
2.1. Module Structure | 2.1. Module Structure | |||
module: ietf-lisp | module: ietf-lisp | |||
+--rw lisp | +--rw lisp | |||
| +--rw locator-sets | +--rw locator-sets | |||
| | +--rw locator-set* [locator-set-name] | | +--rw locator-set* [locator-set-name] | |||
| | +--rw locator-set-name string | | +--rw locator-set-name string | |||
| | +--rw (locator-type)? | | +--rw (locator-type)? | |||
| | +--:(local-interface) | | +--:(local-interface) | |||
| | | +--rw interface* [interface-ref] | | | +--rw interface* [interface-ref] | |||
| | | +--rw interface-ref if:interface-ref | | | +--rw interface-ref if:interface-ref | |||
| | | +--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 lisp-address-family-ref | | | +--rw address-type lisp-address-family-ref | |||
| | | +--rw virtual-network-id? instance-id-type | | | +--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? inet:ipv4-address | | | | +--rw ipv4? inet:ipv4-address | |||
| | | +--:(ipv4-prefix) | | | +--:(ipv4-prefix) | |||
| | | | +--rw ipv4-prefix? inet:ipv4-prefix | | | | +--rw ipv4-prefix? inet:ipv4-prefix | |||
| | | +--:(ipv6) | | | +--:(ipv6) | |||
| | | | +--rw ipv6? inet:ipv6-address | | | | +--rw ipv6? inet:ipv6-address | |||
| | | +--:(ipv6-prefix) | | | +--:(ipv6-prefix) | |||
| | | | +--rw ipv6-prefix? inet:ipv6-prefix | | | | +--rw ipv6-prefix? inet:ipv6-prefix | |||
| | | +--:(mac) | | | +--:(mac) | |||
| | | | +--rw mac? yang:mac-address | | | | +--rw mac? yang:mac-address | |||
| | | +--:(distinguished-name) | | | +--:(distinguished-name) | |||
| | | | +--rw distinguished-name? distinguished-name-type | | | | +--rw distinguished-name? distinguished-name-type | |||
| | | +--:(as-number) | | | +--:(as-number) | |||
| | | | +--rw as-number? inet:as-number | | | | +--rw 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 iid? 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? simple-address | | | | +--rw address? simple-address | |||
| | | | +--rw protocol? uint8 | | | | +--rw protocol? uint8 | |||
| | | | +--rw ip-tos? int32 | | | | +--rw ip-tos? int32 | |||
| | | | +--rw local-port-low? inet:port-number | | | | +--rw local-port-low? inet:port-number | |||
| | | | +--rw local-port-high? inet:port-number | | | | +--rw local-port-high? inet:port-number | |||
| | | | +--rw remote-port-low? inet:port-number | | | | +--rw remote-port-low? inet:port-number | |||
| | | | +--rw remote-port-high? inet:port-number | | | | +--rw remote-port-high? inet:port-number | |||
| | | +--:(geo-coordinates) | | | +--:(geo-coordinates) | |||
| | | | +--rw geo-coordinates | | | | +--rw geo-coordinates | |||
| | | | +--rw latitude? bits | | | | +--rw latitude? bits | |||
| | | | +--rw latitude-degrees? uint8 | | | | +--rw latitude-degrees? uint8 | |||
| | | | +--rw latitude-minutes? uint8 | | | | +--rw latitude-minutes? uint8 | |||
| | | | +--rw latitude-seconds? uint8 | | | | +--rw latitude-seconds? uint8 | |||
| | | | +--rw longitude? bits | | | | +--rw longitude? bits | |||
| | | | +--rw longitude-degrees? uint16 | | | | +--rw longitude-degrees? uint16 | |||
| | | | +--rw longitude-minutes? uint8 | | | | +--rw longitude-minutes? uint8 | |||
| | | | +--rw longitude-seconds? uint8 | | | | +--rw longitude-seconds? uint8 | |||
| | | | +--rw altitude? int32 | | | | +--rw altitude? int32 | |||
| | | | +--rw address? simple-address | | | | +--rw address? simple-address | |||
| | | +--:(nat-traversal) | | | +--:(nat-traversal) | |||
| | | | +--rw nat-traversal | | | | +--rw nat-traversal | |||
| | | | +--rw ms-udp-port? uint16 | | | | +--rw ms-udp-port? uint16 | |||
| | | | +--rw etr-udp-port? uint16 | | | | +--rw etr-udp-port? uint16 | |||
| | | | +--rw global-etr-rloc? simple-address | | | | +--rw global-etr-rloc? simple-address | |||
| | | | +--rw ms-rloc? simple-address | | | | +--rw ms-rloc? simple-address | |||
| | | | +--rw private-etr-rloc? simple-address | | | | +--rw private-etr-rloc? simple-address | |||
| | | | +--rw rtr-rlocs* simple-address | | | | +--rw rtr-rlocs* simple-address | |||
| | | +--:(explicit-locator-path) | | | +--:(explicit-locator-path) | |||
| | | | +--rw explicit-locator-path | | | | +--rw explicit-locator-path | |||
| | | | +--rw hop* [hop-id] | | | | +--rw hop* [hop-id] | |||
| | | | +--rw hop-id string | | | | +--rw hop-id string | |||
| | | | +--rw address? simple-address | | | | +--rw address? simple-address | |||
| | | | +--rw lrs-bits? bits | | | | +--rw lrs-bits? bits | |||
| | | +--:(source-dest-key) | | | +--:(source-dest-key) | |||
| | | | +--rw source-dest-key | | | | +--rw source-dest-key | |||
| | | | +--rw source? simple-address | | | | +--rw source? simple-address | |||
| | | | +--rw dest? simple-address | | | | +--rw dest? simple-address | |||
| | | +--:(key-value-address) | | | +--:(key-value-address) | |||
| | | | +--rw key-value-address | | | | +--rw key-value-address | |||
| | | | +--rw key? simple-address | | | | +--rw key? simple-address | |||
| | | | +--rw value? simple-address | | | | +--rw value? simple-address | |||
| | | +--:(service-path) | | | +--:(service-path) | |||
| | | +--rw service-path | | | +--rw service-path | |||
| | | +--rw service-path-id? service-path-id-type | | | +--rw service-path-id? service-path-id-type | |||
| | | +--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-router-instances | +--rw lisp-router-instances | |||
| +--rw lisp-router-instance* [lisp-router-instance-id] | +--rw lisp-router-instance* [lisp-router-instance-id] | |||
| +--rw lisp-router-instance-id int32 | +--rw lisp-router-instance-id int32 | |||
| +--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 enabled? boolean | +--rw lisp-router-id | |||
+--ro lisp-state | +--rw site-id? uint64 | |||
+--ro lisp-router-instances | +--rw xtr-id? lisp:xtr-id-type | |||
+--ro lisp-router-instance* [lisp-router-instance-id] | ||||
+--ro lisp-router-instance-id int32 | ||||
+--ro lisp-role* [lisp-role-type] | ||||
+--ro lisp-role-type lisp-role-ref | ||||
+--ro enabled? boolean | ||||
2.2. Module Definition | 2.2. Module Definition | |||
<CODE BEGINS> file "ietf-lisp@2016-06-30.yang" | <CODE BEGINS> file "ietf-lisp@2017-07-01.yang" | |||
module ietf-lisp { | module ietf-lisp { | |||
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; | |||
} | } | |||
import ietf-lisp-address-types { | import ietf-lisp-address-types { | |||
prefix lcaf; | prefix lcaf; | |||
} | } | |||
import ietf-yang-types { | ||||
prefix yang; | ||||
} | ||||
organization | organization | |||
"IETF LISP (Locator/ID Separation Protocol) Working Group"; | "IETF LISP (Locator/ID Separation Protocol) Working Group"; | |||
contact | contact | |||
"lisp@ietf.org"; | "lisp@ietf.org"; | |||
description | description | |||
"This YANG module defines the generic configuration | "This YANG module defines the generic parameters for LISP. | |||
and operational data for LISP. The module can be extended by | The module can be extended by vendors to define vendor-specific | |||
vendors to define vendor-specific LISP configuration | LISP parameters and policies. | |||
parameters and policies. | ||||
Copyright (c) 2014 IETF Trust and the persons identified as | Copyright (c) 2014 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 6338; see | This version of this YANG module is part of RFC 6338; see | |||
the RFC itself for full legal notices. | the RFC itself for full legal notices. | |||
"; | "; | |||
revision 2016-06-30 { | revision 2017-07-01 { | |||
description | description | |||
"Initial revision."; | "Initial revision."; | |||
reference | reference | |||
"https://tools.ietf.org/html/rfc6830"; | "https://tools.ietf.org/html/rfc6830"; | |||
} | } | |||
identity lisp-role { | identity lisp-role { | |||
description | description | |||
"LISP router role."; | "LISP router role."; | |||
} | } | |||
identity itr { | ||||
base lisp-role; | ||||
description | ||||
"LISP ITR."; | ||||
} | ||||
identity pitr { | ||||
base lisp-role; | ||||
description | ||||
"LISP PITR."; | ||||
} | ||||
identity etr { | ||||
base lisp-role; | ||||
description | ||||
"LISP ETR."; | ||||
} | ||||
identity petr { | ||||
base lisp-role; | ||||
description | ||||
"LISP PETR."; | ||||
} | ||||
identity mapping-system { | identity mapping-system { | |||
description | description | |||
"Mapping System interface"; | "Mapping System interface"; | |||
} | } | |||
identity single-node-mapping-system { | identity single-node-mapping-system { | |||
base mapping-system; | base mapping-system; | |||
description | description | |||
"logically singular Map Server"; | "logically singular Map Server"; | |||
} | } | |||
typedef mapping-system-ref { | typedef mapping-system-ref { | |||
skipping to change at page 8, line 9 ¶ | skipping to change at page 8, line 22 ¶ | |||
description | description | |||
"HMAC-SHA-1-96 (RFC2404) authentication is used."; | "HMAC-SHA-1-96 (RFC2404) authentication is used."; | |||
} | } | |||
enum hmac-sha-256-128 { | enum hmac-sha-256-128 { | |||
value 2; | value 2; | |||
description | description | |||
"HMAC-SHA-256-128 (RFC4868) authentication is used."; | "HMAC-SHA-256-128 (RFC4868) authentication is used."; | |||
} | } | |||
} | } | |||
description | description | |||
"Enumeration of the authentication mechansms supported by | "Enumeration of the authentication mechanisms supported by | |||
LISP."; | LISP."; | |||
reference | reference | |||
"https://tools.ietf.org/html/rfc6830#section-6.1.6"; | "https://tools.ietf.org/html/rfc6830#section-6.1.6"; | |||
} | } | |||
typedef xtr-id-type { | ||||
type binary { | ||||
length "16"; | ||||
} | ||||
description | ||||
"128 bit xTR identifier."; | ||||
} | ||||
grouping locator-properties { | grouping locator-properties { | |||
description | description | |||
"Properties of a RLOC"; | "Properties of a RLOC"; | |||
leaf priority { | leaf priority { | |||
type uint8; | type uint8; | |||
description | description | |||
"Locator priority."; | "Locator priority."; | |||
} | } | |||
leaf weight { | leaf weight { | |||
skipping to change at page 8, line 43 ¶ | skipping to change at page 9, line 16 ¶ | |||
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."; | "Group that defines a list of LISP locators."; | |||
// vina: container? | ||||
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 9, line 33 ¶ | skipping to change at page 10, line 4 ¶ | |||
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 servicing-eids-grouping { | grouping mapping { | |||
description | description | |||
"Group of EIDs serviced by the this lisp device."; | "Group that defines a LISP mapping."; | |||
container servicing-eids { | container eid { | |||
uses lcaf:lisp-address; | ||||
description | description | |||
"This node defines list of EIDs serviced by the this" | "End-host Identifier (EID) to be mapped to a list of | |||
+ " lisp device."; | locators"; | |||
list servicing-eid { | } | |||
key "id"; | leaf time-to-live { | |||
description | type uint32; | |||
"List of EIDs serviced by the this lisp device."; | units minutes; | |||
leaf id { | description | |||
type lisp:eid-id; | "Mapping validity period in minutes."; | |||
} | ||||
leaf creation-time { | ||||
type yang:date-and-time; | ||||
description | ||||
"Time when the mapping was created."; | ||||
} | ||||
leaf authoritative { | ||||
type bits { | ||||
bit A { | ||||
description | description | |||
"Id of serviced EID."; | "Authoritative bit."; | |||
} | } | |||
container eid-address { | } | |||
uses lcaf:lisp-address; | description | |||
"Bit that indicates if mapping comes from an | ||||
authoritative source."; | ||||
} | ||||
leaf static { | ||||
type boolean; | ||||
default "false"; | ||||
description | ||||
"This leaf should be true if the mapping is static."; | ||||
} | ||||
choice locator-list { | ||||
description | ||||
"list of locartors are either negative, or positive."; | ||||
case negative-mapping { | ||||
leaf map-reply-action { | ||||
type map-reply-action; | ||||
description | description | |||
"Serviced EID address in generic LISP address format."; | "Forwarding action for a negative mapping."; | |||
} | ||||
} | ||||
case positive-mapping { | ||||
container rlocs { | ||||
uses locators-grouping; | ||||
description | ||||
"List of locators for a positive mapping."; | ||||
} | } | |||
} | } | |||
} | } | |||
} | } | |||
grouping mappings { | grouping mappings { | |||
description | description | |||
"Group that defines a list of LISP mappings."; | "Group that defines a list of LISP mappings."; | |||
list mapping { | list virtual-network { | |||
key "id"; | key "vni"; | |||
description | description | |||
"List of EID to RLOCs mappings."; | "Virtual network to which the mappings belong."; | |||
leaf id { | leaf vni { | |||
type eid-id; | type lcaf:instance-id-type; | |||
description | ||||
"Id that uniquely identifies a mapping."; | ||||
} | ||||
container eid { | ||||
uses lcaf:lisp-address; | ||||
description | ||||
"End-host Identifier (EID) to be mapped to a list of | ||||
locators"; | ||||
} | ||||
leaf ttl { | ||||
type uint32; | ||||
description | ||||
"Mapping validity period."; | ||||
} | ||||
leaf authoritative { | ||||
type bits { | ||||
bit A { | ||||
description | ||||
"Authoritative bit."; | ||||
} | ||||
} | ||||
description | ||||
"Bit that indicates if mapping comes from an | ||||
authoritative source."; | ||||
} | ||||
leaf static { | ||||
type boolean; | ||||
default "false"; | ||||
description | description | |||
"This leaf should be true if the mapping is static."; | "Virtual network identifier."; | |||
} | } | |||
choice locator-list { | container mappings { | |||
description | description | |||
"list of locartors are either negative, or positive."; | "Mappings within the virtual network."; | |||
list mapping { | ||||
case negative-mapping { | key "id"; | |||
leaf map-reply-action { | description | |||
type map-reply-action; | "List of EID to RLOCs mappings."; | |||
description | leaf id { | |||
"Forwarding action for a negative mapping."; | type eid-id; | |||
} | ||||
} | ||||
case positive-mapping { | ||||
container rlocs { | ||||
uses locators-grouping; | ||||
description | description | |||
"List of locators for a positive mapping."; | "Id that uniquely identifies a mapping."; | |||
} | } | |||
uses mapping; | ||||
} | } | |||
} | } | |||
} | } | |||
} | } | |||
/* Configuration Data */ | ||||
container lisp { | container lisp { | |||
description | description | |||
"Configuration parameters for LISP subsystem."; | "Parameters for the LISP subsystem."; | |||
container locator-sets { | container locator-sets { | |||
description | description | |||
"Container that defines a named locator set which can be | "Container that defines a named locator set which can be | |||
referenced elsewhere."; | referenced elsewhere."; | |||
list locator-set { | list locator-set { | |||
key "locator-set-name"; | key "locator-set-name"; | |||
description | description | |||
"Multiple locator sets can be configured."; | "Multiple locator sets can be defined."; | |||
leaf locator-set-name { | leaf locator-set-name { | |||
type string { | type string { | |||
length "1..64"; | length "1..64"; | |||
} | } | |||
description | description | |||
"Locator set name"; | "Locator set name"; | |||
} | } | |||
choice locator-type { | choice locator-type { | |||
description | description | |||
"Locator sets can be based on local interfaces, or | "Locator sets can be based on local interfaces, or | |||
skipping to change at page 12, line 15 ¶ | skipping to change at page 12, line 35 ¶ | |||
uses locators-grouping; | uses locators-grouping; | |||
description | description | |||
"List of locators in this set based on lisp-address."; | "List of locators in this set based on lisp-address."; | |||
} | } | |||
} | } | |||
} | } | |||
} | } | |||
container lisp-router-instances { | container lisp-router-instances { | |||
description | description | |||
"Configuration of LISP router instances."; | "Different LISP routers instantiated in the device"; | |||
list lisp-router-instance { | list lisp-router-instance { | |||
key "lisp-router-instance-id"; | key "lisp-router-instance-id"; | |||
description | description | |||
"Each entry contains configuration of a lisp-router | "Each entry contains parameters for a LISP router."; | |||
instance."; | ||||
leaf lisp-router-instance-id { | leaf lisp-router-instance-id { | |||
type int32; | type int32; | |||
description | description | |||
"Arbitrary lisp-router id."; | "Arbitrary lisp-router id."; | |||
} | } | |||
list lisp-role { | list lisp-role { | |||
key lisp-role-type; | key lisp-role-type; | |||
description | description | |||
"List of lisp device roles such as MS, MR, ITR, | "List of lisp device roles such as MS, MR, ITR, | |||
ETR, RTR."; | 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."; | |||
} | } | |||
leaf enabled { | ||||
type boolean; | ||||
default "true"; | ||||
description | ||||
"Enable/disable the lisp-role."; | ||||
} | ||||
} | ||||
} | ||||
} | ||||
} | ||||
/* Operational state data */ | ||||
container lisp-state { | ||||
config false; | ||||
description | ||||
"Operational state of the LISP subsystem."; | ||||
container lisp-router-instances { | ||||
description | ||||
"Configuration of LISP router instances."; | ||||
list lisp-router-instance { | ||||
key "lisp-router-instance-id"; | ||||
description | ||||
"Each entry contains configuration of a lisp-router | ||||
instance."; | ||||
leaf lisp-router-instance-id { | ||||
type int32; | ||||
description | ||||
"Arbitrary lisp-router id."; | ||||
} | } | |||
list lisp-role { | container lisp-router-id { | |||
key lisp-role-type; | when "../lisp-role/lisp-role-type = 'itr' or | |||
../lisp-role/lisp-role-type = 'pitr' or | ||||
../lisp-role/lisp-role-type = 'etr' or | ||||
../lisp-role/lisp-role-type = 'petr'" { | ||||
description "Only when ITR, PITR, ETR or PETR."; | ||||
} | ||||
description | description | |||
"List of lisp device roles such as MS, MR, ITR, | "Site-ID and xTR-ID of the device."; | |||
ETR, RTR."; | leaf site-id { | |||
leaf lisp-role-type { | type uint64; | |||
type lisp-role-ref; | description "Site ID"; | |||
description | ||||
"The type of LISP device - identity derived from the | ||||
'lisp-device' base identity."; | ||||
} | } | |||
leaf enabled { | leaf xtr-id { | |||
type boolean; | type lisp:xtr-id-type; | |||
default "true"; | description "xTR ID"; | |||
description | ||||
"Enable/disable the lisp-role."; | ||||
} | } | |||
} | } | |||
} | } | |||
} | } | |||
} | } | |||
} | } | |||
<CODE ENDS> | <CODE ENDS> | |||
3. LISP-ITR Module | 3. LISP-ITR Module | |||
This module captures the configuration data model of a LISP ITR. The | This module captures the configuration data model of a LISP ITR. The | |||
model also captures some operational data elements. | model also captures some operational data elements. | |||
3.1. Module Structure | 3.1. Module Structure | |||
module: ietf-lisp-itr | module: ietf-lisp-itr | |||
skipping to change at page 14, line 8 ¶ | skipping to change at page 13, line 41 ¶ | |||
<CODE ENDS> | <CODE ENDS> | |||
3. LISP-ITR Module | 3. LISP-ITR Module | |||
This module captures the configuration data model of a LISP ITR. The | This module captures the configuration data model of a LISP ITR. The | |||
model also captures some operational data elements. | model also captures some operational data elements. | |||
3.1. Module Structure | 3.1. Module Structure | |||
module: ietf-lisp-itr | module: ietf-lisp-itr | |||
augment /lisp:lisp/lisp:lisp-router-instances/lisp:lisp-router-instance/lisp:lisp-role: | augment /lisp:lisp/lisp:lisp-router-instances/lisp:lisp-router-instance: | |||
+--rw itr-cfg! | +--rw itr! | |||
+--rw rloc-probing! | +--rw rloc-probing! | |||
| +--rw interval? uint16 | | +--rw interval? uint16 | |||
| +--rw retries? uint8 | | +--rw retries? uint8 | |||
| +--rw retries-interval? uint16 | | +--rw retries-interval? uint16 | |||
+--rw itr-rlocs? -> /lisp:lisp/locator-sets/locator-set/locator-set-name | +--rw itr-rlocs? -> /lisp:lisp/locator-sets/locator-set/locator-set-name | |||
+--rw map-resolvers | +--rw map-resolvers | |||
| +--rw map-resolver* [id] | | +--rw map-resolver* inet:ip-address | |||
| +--rw id lisp:eid-id | +--rw proxy-etrs | |||
| +--rw eid-address | | +--rw proxy-etr-address* inet:ip-address | |||
| | +--rw address-type lisp-address-family-ref | +--rw map-cache | |||
| | +--rw virtual-network-id? instance-id-type | +--rw virtual-network* [vni] | |||
| | +--rw (address)? | +--rw vni lcaf:instance-id-type | |||
| | +--:(no-address) | +--rw mappings | |||
| | | +--rw no-address? empty | +--rw mapping* [id] | |||
| | +--:(ipv4) | +--rw id eid-id | |||
| | | +--rw ipv4? inet:ipv4-address | +--rw eid | |||
| | +--:(ipv4-prefix) | | +--rw address-type lisp-address-family-ref | |||
| | | +--rw ipv4-prefix? inet:ipv4-prefix | | +--rw virtual-network-id? instance-id-type | |||
| | +--:(ipv6) | | +--rw (address)? | |||
| | | +--rw ipv6? inet:ipv6-address | | +--:(no-address) | |||
| | +--:(ipv6-prefix) | | | +--rw no-address? empty | |||
| | | +--rw ipv6-prefix? inet:ipv6-prefix | | +--:(ipv4) | |||
| | +--:(mac) | | | +--rw ipv4? inet:ipv4-address | |||
| | | +--rw mac? yang:mac-address | | +--:(ipv4-prefix) | |||
| | +--:(distinguished-name) | | | +--rw ipv4-prefix? inet:ipv4-prefix | |||
| | | +--rw distinguished-name? distinguished-name-type | | +--:(ipv6) | |||
| | +--:(as-number) | | | +--rw ipv6? inet:ipv6-address | |||
| | | +--rw as-number? inet:as-number | | +--:(ipv6-prefix) | |||
| | +--:(null-address) | | | +--rw ipv6-prefix? inet:ipv6-prefix | |||
| | | +--rw null-address | | +--:(mac) | |||
| | | +--rw address? empty | | | +--rw mac? yang:mac-address | |||
| | +--:(afi-list) | | +--:(distinguished-name) | |||
| | | +--rw afi-list | | | +--rw distinguished-name? distinguished-name-type | |||
| | | +--rw address-list* simple-address | | +--:(as-number) | |||
| | +--:(instance-id) | | | +--rw as-number? inet:as-number | |||
| | | +--rw instance-id | | +--:(null-address) | |||
| | | +--rw iid? instance-id-type | | | +--rw null-address | |||
| | | +--rw mask-length? uint8 | | | +--rw address? empty | |||
| | | +--rw address? simple-address | | +--:(afi-list) | |||
| | +--:(as-number-lcaf) | | | +--rw afi-list | |||
| | | +--rw as-number-lcaf | | | +--rw address-list* simple-address | |||
| | | +--rw as? inet:as-number | | +--:(instance-id) | |||
| | | +--rw address? simple-address | | | +--rw instance-id | |||
| | +--:(application-data) | | | +--rw iid? instance-id-type | |||
| | | +--rw application-data | | | +--rw mask-length? uint8 | |||
| | | +--rw address? simple-address | | | +--rw address? simple-address | |||
| | | +--rw protocol? uint8 | | +--:(as-number-lcaf) | |||
| | | +--rw ip-tos? int32 | | | +--rw as-number-lcaf | |||
| | | +--rw local-port-low? inet:port-number | | | +--rw as? inet:as-number | |||
| | | +--rw local-port-high? inet:port-number | | | +--rw address? simple-address | |||
| | | +--rw remote-port-low? inet:port-number | | +--:(application-data) | |||
| | | +--rw remote-port-high? inet:port-number | | | +--rw application-data | |||
| | +--:(geo-coordinates) | | | +--rw address? simple-address | |||
| | | +--rw geo-coordinates | | | +--rw protocol? uint8 | |||
| | | +--rw latitude? bits | | | +--rw ip-tos? int32 | |||
| | | +--rw latitude-degrees? uint8 | | | +--rw local-port-low? inet:port-number | |||
| | | +--rw latitude-minutes? uint8 | | | +--rw local-port-high? inet:port-number | |||
| | | +--rw latitude-seconds? uint8 | | | +--rw remote-port-low? inet:port-number | |||
| | | +--rw longitude? bits | | | +--rw remote-port-high? inet:port-number | |||
| | | +--rw longitude-degrees? uint16 | | +--:(geo-coordinates) | |||
| | | +--rw longitude-minutes? uint8 | | | +--rw geo-coordinates | |||
| | | +--rw longitude-seconds? uint8 | | | +--rw latitude? bits | |||
| | | +--rw altitude? int32 | | | +--rw latitude-degrees? uint8 | |||
| | | +--rw address? simple-address | | | +--rw latitude-minutes? uint8 | |||
| | +--:(nat-traversal) | | | +--rw latitude-seconds? uint8 | |||
| | | +--rw nat-traversal | | | +--rw longitude? bits | |||
| | | +--rw ms-udp-port? uint16 | | | +--rw longitude-degrees? uint16 | |||
| | | +--rw etr-udp-port? uint16 | | | +--rw longitude-minutes? uint8 | |||
| | | +--rw global-etr-rloc? simple-address | | | +--rw longitude-seconds? uint8 | |||
| | | +--rw ms-rloc? simple-address | | | +--rw altitude? int32 | |||
| | | +--rw private-etr-rloc? simple-address | | | +--rw address? simple-address | |||
| | | +--rw rtr-rlocs* simple-address | | +--:(nat-traversal) | |||
| | +--:(explicit-locator-path) | | | +--rw nat-traversal | |||
| | | +--rw explicit-locator-path | | | +--rw ms-udp-port? uint16 | |||
| | | +--rw hop* [hop-id] | | | +--rw etr-udp-port? uint16 | |||
| | | +--rw hop-id string | | | +--rw global-etr-rloc? simple-address | |||
| | | +--rw address? simple-address | | | +--rw ms-rloc? simple-address | |||
| | | +--rw lrs-bits? bits | | | +--rw private-etr-rloc? simple-address | |||
| | +--:(source-dest-key) | | | +--rw rtr-rlocs* simple-address | |||
| | | +--rw source-dest-key | | +--:(explicit-locator-path) | |||
| | | +--rw source? simple-address | | | +--rw explicit-locator-path | |||
| | | +--rw dest? simple-address | | | +--rw hop* [hop-id] | |||
| | +--:(key-value-address) | | | +--rw hop-id string | |||
| | | +--rw key-value-address | | | +--rw 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? service-path-id-type | | | +--rw dest? simple-address | |||
| | +--rw service-index? uint8 | | +--:(key-value-address) | |||
| +--rw map-resolver-address* inet:ip-address | | | +--rw key-value-address | |||
+--rw proxy-etrs | | | +--rw key? simple-address | |||
| +--rw proxy-etr* [id] | | | +--rw value? simple-address | |||
| +--rw id lisp:eid-id | | +--:(service-path) | |||
| +--rw eid-address | | +--rw service-path | |||
| | +--rw address-type lisp-address-family-ref | | +--rw service-path-id? service-path-id-type | |||
| | +--rw virtual-network-id? instance-id-type | | +--rw service-index? uint8 | |||
| | +--rw (address)? | +--rw time-to-live? uint32 | |||
| | +--:(no-address) | +--rw creation-time? yang:date-and-time | |||
| | | +--rw no-address? empty | +--rw authoritative? bits | |||
| | +--:(ipv4) | +--rw static? boolean | |||
| | | +--rw ipv4? inet:ipv4-address | +--rw (locator-list)? | |||
| | +--:(ipv4-prefix) | +--:(negative-mapping) | |||
| | | +--rw ipv4-prefix? inet:ipv4-prefix | | +--rw map-reply-action? map-reply-action | |||
| | +--:(ipv6) | +--:(positive-mapping) | |||
| | | +--rw ipv6? inet:ipv6-address | +--rw rlocs | |||
| | +--:(ipv6-prefix) | +--rw locator* [id] | |||
| | | +--rw ipv6-prefix? inet:ipv6-prefix | +--rw id string | |||
| | +--:(mac) | +--rw locator-address | |||
| | | +--rw mac? yang:mac-address | | +--rw address-type lisp-address-family-ref | |||
| | +--:(distinguished-name) | | +--rw virtual-network-id? instance-id-type | |||
| | | +--rw distinguished-name? distinguished-name-type | | +--rw (address)? | |||
| | +--:(as-number) | | +--:(no-address) | |||
| | | +--rw as-number? inet:as-number | | | +--rw no-address? empty | |||
| | +--:(null-address) | | +--:(ipv4) | |||
| | | +--rw null-address | | | +--rw ipv4? inet:ipv4-address | |||
| | | +--rw address? empty | | +--:(ipv4-prefix) | |||
| | +--:(afi-list) | | | +--rw ipv4-prefix? inet:ipv4-prefix | |||
| | | +--rw afi-list | | +--:(ipv6) | |||
| | | +--rw address-list* simple-address | | | +--rw ipv6? inet:ipv6-address | |||
| | +--:(instance-id) | | +--:(ipv6-prefix) | |||
| | | +--rw instance-id | | | +--rw ipv6-prefix? inet:ipv6-prefix | |||
| | | +--rw iid? instance-id-type | | +--:(mac) | |||
| | | +--rw mask-length? uint8 | | | +--rw mac? yang:mac-address | |||
| | | +--rw address? simple-address | | +--:(distinguished-name) | |||
| | +--:(as-number-lcaf) | | | +--rw distinguished-name? distinguished-name-type | |||
| | | +--rw as-number-lcaf | | +--:(as-number) | |||
| | | +--rw as? inet:as-number | | | +--rw as-number? inet:as-number | |||
| | | +--rw address? simple-address | | +--:(null-address) | |||
| | +--:(application-data) | | | +--rw null-address | |||
| | | +--rw application-data | | | +--rw address? empty | |||
| | | +--rw address? simple-address | | +--:(afi-list) | |||
| | | +--rw protocol? uint8 | | | +--rw afi-list | |||
| | | +--rw ip-tos? int32 | | | +--rw address-list* simple-address | |||
| | | +--rw local-port-low? inet:port-number | | +--:(instance-id) | |||
| | | +--rw local-port-high? inet:port-number | | | +--rw instance-id | |||
| | | +--rw remote-port-low? inet:port-number | | | +--rw iid? instance-id-type | |||
| | | +--rw remote-port-high? inet:port-number | | | +--rw mask-length? uint8 | |||
| | +--:(geo-coordinates) | | | +--rw address? simple-address | |||
| | | +--rw geo-coordinates | | +--:(as-number-lcaf) | |||
| | | +--rw latitude? bits | | | +--rw as-number-lcaf | |||
| | | +--rw latitude-degrees? uint8 | | | +--rw as? inet:as-number | |||
| | | +--rw latitude-minutes? uint8 | | | +--rw address? simple-address | |||
| | | +--rw latitude-seconds? uint8 | | +--:(application-data) | |||
| | | +--rw longitude? bits | | | +--rw application-data | |||
| | | +--rw longitude-degrees? uint16 | | | +--rw address? simple-address | |||
| | | +--rw longitude-minutes? uint8 | | | +--rw protocol? uint8 | |||
| | | +--rw longitude-seconds? uint8 | | | +--rw ip-tos? int32 | |||
| | | +--rw altitude? int32 | | | +--rw local-port-low? inet:port-number | |||
| | | +--rw address? simple-address | | | +--rw local-port-high? inet:port-number | |||
| | +--:(nat-traversal) | | | +--rw remote-port-low? inet:port-number | |||
| | | +--rw nat-traversal | | | +--rw remote-port-high? inet:port-number | |||
| | | +--rw ms-udp-port? uint16 | | +--:(geo-coordinates) | |||
| | | +--rw etr-udp-port? uint16 | | | +--rw geo-coordinates | |||
| | | +--rw global-etr-rloc? simple-address | | | +--rw latitude? bits | |||
| | | +--rw ms-rloc? simple-address | | | +--rw latitude-degrees? uint8 | |||
| | | +--rw private-etr-rloc? simple-address | | | +--rw latitude-minutes? uint8 | |||
| | | +--rw rtr-rlocs* simple-address | | | +--rw latitude-seconds? uint8 | |||
| | +--:(explicit-locator-path) | | | +--rw longitude? bits | |||
| | | +--rw explicit-locator-path | | | +--rw longitude-degrees? uint16 | |||
| | | +--rw hop* [hop-id] | | | +--rw longitude-minutes? uint8 | |||
| | | +--rw hop-id string | | | +--rw longitude-seconds? uint8 | |||
| | | +--rw address? simple-address | | | +--rw altitude? int32 | |||
| | | +--rw lrs-bits? bits | | | +--rw address? simple-address | |||
| | +--:(source-dest-key) | | +--:(nat-traversal) | |||
| | | +--rw source-dest-key | | | +--rw nat-traversal | |||
| | | +--rw source? simple-address | | | +--rw ms-udp-port? uint16 | |||
| | | +--rw dest? simple-address | | | +--rw etr-udp-port? uint16 | |||
| | +--:(key-value-address) | | | +--rw global-etr-rloc? simple-address | |||
| | | +--rw key-value-address | | | +--rw ms-rloc? simple-address | |||
| | | +--rw key? simple-address | | | +--rw private-etr-rloc? simple-address | |||
| | | +--rw value? simple-address | | | +--rw rtr-rlocs* simple-address | |||
| | +--:(service-path) | | +--:(explicit-locator-path) | |||
| | +--rw service-path | | | +--rw explicit-locator-path | |||
| | +--rw service-path-id? service-path-id-type | | | +--rw hop* [hop-id] | |||
| | +--rw service-index? uint8 | | | +--rw hop-id string | |||
| +--rw proxy-etr-address* inet:ip-address | | | +--rw address? simple-address | |||
+--rw map-cache | | | +--rw lrs-bits? bits | |||
| +--rw mapping* [id] | | +--:(source-dest-key) | |||
| +--rw id eid-id | | | +--rw source-dest-key | |||
| +--rw eid | | | +--rw source? simple-address | |||
| | +--rw address-type lisp-address-family-ref | | | +--rw dest? simple-address | |||
| | +--rw virtual-network-id? instance-id-type | | +--:(key-value-address) | |||
| | +--rw (address)? | | | +--rw key-value-address | |||
| | +--:(no-address) | | | +--rw key? simple-address | |||
| | | +--rw no-address? empty | | | +--rw value? simple-address | |||
| | +--:(ipv4) | | +--:(service-path) | |||
| | | +--rw ipv4? inet:ipv4-address | | +--rw service-path | |||
| | +--:(ipv4-prefix) | | +--rw service-path-id? service-path-id-type | |||
| | | +--rw ipv4-prefix? inet:ipv4-prefix | | +--rw service-index? uint8 | |||
| | +--:(ipv6) | +--rw priority? uint8 | |||
| | | +--rw ipv6? inet:ipv6-address | +--rw weight? uint8 | |||
| | +--:(ipv6-prefix) | +--rw multicast-priority? uint8 | |||
| | | +--rw ipv6-prefix? inet:ipv6-prefix | +--rw multicast-weight? uint8 | |||
| | +--:(mac) | ||||
| | | +--rw mac? yang:mac-address | ||||
| | +--:(distinguished-name) | ||||
| | | +--rw distinguished-name? distinguished-name-type | ||||
| | +--:(as-number) | ||||
| | | +--rw as-number? inet:as-number | ||||
| | +--:(null-address) | ||||
| | | +--rw null-address | ||||
| | | +--rw address? empty | ||||
| | +--:(afi-list) | ||||
| | | +--rw afi-list | ||||
| | | +--rw address-list* simple-address | ||||
| | +--:(instance-id) | ||||
| | | +--rw instance-id | ||||
| | | +--rw iid? instance-id-type | ||||
| | | +--rw mask-length? uint8 | ||||
| | | +--rw address? simple-address | ||||
| | +--:(as-number-lcaf) | ||||
| | | +--rw as-number-lcaf | ||||
| | | +--rw as? inet:as-number | ||||
| | | +--rw address? simple-address | ||||
| | +--:(application-data) | ||||
| | | +--rw application-data | ||||
| | | +--rw address? simple-address | ||||
| | | +--rw protocol? uint8 | ||||
| | | +--rw ip-tos? int32 | ||||
| | | +--rw local-port-low? inet:port-number | ||||
| | | +--rw local-port-high? inet:port-number | ||||
| | | +--rw remote-port-low? inet:port-number | ||||
| | | +--rw remote-port-high? inet:port-number | ||||
| | +--:(geo-coordinates) | ||||
| | | +--rw geo-coordinates | ||||
| | | +--rw latitude? bits | ||||
| | | +--rw latitude-degrees? uint8 | ||||
| | | +--rw latitude-minutes? uint8 | ||||
| | | +--rw latitude-seconds? uint8 | ||||
| | | +--rw longitude? bits | ||||
| | | +--rw longitude-degrees? uint16 | ||||
| | | +--rw longitude-minutes? uint8 | ||||
| | | +--rw longitude-seconds? uint8 | ||||
| | | +--rw altitude? int32 | ||||
| | | +--rw address? simple-address | ||||
| | +--:(nat-traversal) | ||||
| | | +--rw nat-traversal | ||||
| | | +--rw ms-udp-port? uint16 | ||||
| | | +--rw etr-udp-port? uint16 | ||||
| | | +--rw global-etr-rloc? simple-address | ||||
| | | +--rw ms-rloc? simple-address | ||||
| | | +--rw private-etr-rloc? simple-address | ||||
| | | +--rw rtr-rlocs* simple-address | ||||
| | +--:(explicit-locator-path) | ||||
| | | +--rw explicit-locator-path | ||||
| | | +--rw hop* [hop-id] | ||||
| | | +--rw hop-id string | ||||
| | | +--rw address? simple-address | ||||
| | | +--rw lrs-bits? bits | ||||
| | +--:(source-dest-key) | ||||
| | | +--rw source-dest-key | ||||
| | | +--rw source? simple-address | ||||
| | | +--rw dest? simple-address | ||||
| | +--:(key-value-address) | ||||
| | | +--rw key-value-address | ||||
| | | +--rw key? simple-address | ||||
| | | +--rw value? simple-address | ||||
| | +--:(service-path) | ||||
| | +--rw service-path | ||||
| | +--rw service-path-id? service-path-id-type | ||||
| | +--rw service-index? uint8 | ||||
| +--rw ttl? uint32 | ||||
| +--rw authoritative? bits | ||||
| +--rw static? boolean | ||||
| +--rw (locator-list)? | ||||
| +--:(negative-mapping) | ||||
| | +--rw map-reply-action? map-reply-action | ||||
| +--:(positive-mapping) | ||||
| +--rw rlocs | ||||
| +--rw locator* [id] | ||||
| +--rw id string | ||||
| +--rw locator-address | ||||
| | +--rw address-type lisp-address-family-ref | ||||
| | +--rw virtual-network-id? instance-id-type | ||||
| | +--rw (address)? | ||||
| | +--:(no-address) | ||||
| | | +--rw no-address? empty | ||||
| | +--:(ipv4) | ||||
| | | +--rw ipv4? inet:ipv4-address | ||||
| | +--:(ipv4-prefix) | ||||
| | | +--rw ipv4-prefix? inet:ipv4-prefix | ||||
| | +--:(ipv6) | ||||
| | | +--rw ipv6? inet:ipv6-address | ||||
| | +--:(ipv6-prefix) | ||||
| | | +--rw ipv6-prefix? inet:ipv6-prefix | ||||
| | +--:(mac) | ||||
| | | +--rw mac? yang:mac-address | ||||
| | +--:(distinguished-name) | ||||
| | | +--rw distinguished-name? distinguished-name-type | ||||
| | +--:(as-number) | ||||
| | | +--rw as-number? inet:as-number | ||||
| | +--:(null-address) | ||||
| | | +--rw null-address | ||||
| | | +--rw address? empty | ||||
| | +--:(afi-list) | ||||
| | | +--rw afi-list | ||||
| | | +--rw address-list* simple-address | ||||
| | +--:(instance-id) | ||||
| | | +--rw instance-id | ||||
| | | +--rw iid? instance-id-type | ||||
| | | +--rw mask-length? uint8 | ||||
| | | +--rw address? simple-address | ||||
| | +--:(as-number-lcaf) | ||||
| | | +--rw as-number-lcaf | ||||
| | | +--rw as? inet:as-number | ||||
| | | +--rw address? simple-address | ||||
| | +--:(application-data) | ||||
| | | +--rw application-data | ||||
| | | +--rw address? simple-address | ||||
| | | +--rw protocol? uint8 | ||||
| | | +--rw ip-tos? int32 | ||||
| | | +--rw local-port-low? inet:port-number | ||||
| | | +--rw local-port-high? inet:port-number | ||||
| | | +--rw remote-port-low? inet:port-number | ||||
| | | +--rw remote-port-high? inet:port-number | ||||
| | +--:(geo-coordinates) | ||||
| | | +--rw geo-coordinates | ||||
| | | +--rw latitude? bits | ||||
| | | +--rw latitude-degrees? uint8 | ||||
| | | +--rw latitude-minutes? uint8 | ||||
| | | +--rw latitude-seconds? uint8 | ||||
| | | +--rw longitude? bits | ||||
| | | +--rw longitude-degrees? uint16 | ||||
| | | +--rw longitude-minutes? uint8 | ||||
| | | +--rw longitude-seconds? uint8 | ||||
| | | +--rw altitude? int32 | ||||
| | | +--rw address? simple-address | ||||
| | +--:(nat-traversal) | ||||
| | | +--rw nat-traversal | ||||
| | | +--rw ms-udp-port? uint16 | ||||
| | | +--rw etr-udp-port? uint16 | ||||
| | | +--rw global-etr-rloc? simple-address | ||||
| | | +--rw ms-rloc? simple-address | ||||
| | | +--rw private-etr-rloc? simple-address | ||||
| | | +--rw rtr-rlocs* simple-address | ||||
| | +--:(explicit-locator-path) | ||||
| | | +--rw explicit-locator-path | ||||
| | | +--rw hop* [hop-id] | ||||
| | | +--rw hop-id string | ||||
| | | +--rw address? simple-address | ||||
| | | +--rw lrs-bits? bits | ||||
| | +--:(source-dest-key) | ||||
| | | +--rw source-dest-key | ||||
| | | +--rw source? simple-address | ||||
| | | +--rw dest? simple-address | ||||
| | +--:(key-value-address) | ||||
| | | +--rw key-value-address | ||||
| | | +--rw key? simple-address | ||||
| | | +--rw value? simple-address | ||||
| | +--:(service-path) | ||||
| | +--rw service-path | ||||
| | +--rw service-path-id? service-path-id-type | ||||
| | +--rw service-index? uint8 | ||||
| +--rw priority? uint8 | ||||
| +--rw weight? uint8 | ||||
| +--rw multicast-priority? uint8 | ||||
| +--rw multicast-weight? uint8 | ||||
+--rw servicing-eids | ||||
+--rw servicing-eid* [id] | ||||
+--rw id lisp:eid-id | ||||
+--rw eid-address | ||||
+--rw address-type lisp-address-family-ref | ||||
+--rw virtual-network-id? instance-id-type | ||||
+--rw (address)? | ||||
+--:(no-address) | ||||
| +--rw no-address? empty | ||||
+--:(ipv4) | ||||
| +--rw ipv4? inet:ipv4-address | ||||
+--:(ipv4-prefix) | ||||
| +--rw ipv4-prefix? inet:ipv4-prefix | ||||
+--:(ipv6) | ||||
| +--rw ipv6? inet:ipv6-address | ||||
+--:(ipv6-prefix) | ||||
| +--rw ipv6-prefix? inet:ipv6-prefix | ||||
+--:(mac) | ||||
| +--rw mac? yang:mac-address | ||||
+--:(distinguished-name) | ||||
| +--rw distinguished-name? distinguished-name-type | ||||
+--:(as-number) | ||||
| +--rw as-number? inet:as-number | ||||
+--:(null-address) | ||||
| +--rw null-address | ||||
| +--rw address? empty | ||||
+--:(afi-list) | ||||
| +--rw afi-list | ||||
| +--rw address-list* simple-address | ||||
+--:(instance-id) | ||||
| +--rw instance-id | ||||
| +--rw iid? instance-id-type | ||||
| +--rw mask-length? uint8 | ||||
| +--rw address? simple-address | ||||
+--:(as-number-lcaf) | ||||
| +--rw as-number-lcaf | ||||
| +--rw as? inet:as-number | ||||
| +--rw address? simple-address | ||||
+--:(application-data) | ||||
| +--rw application-data | ||||
| +--rw address? simple-address | ||||
| +--rw protocol? uint8 | ||||
| +--rw ip-tos? int32 | ||||
| +--rw local-port-low? inet:port-number | ||||
| +--rw local-port-high? inet:port-number | ||||
| +--rw remote-port-low? inet:port-number | ||||
| +--rw remote-port-high? inet:port-number | ||||
+--:(geo-coordinates) | ||||
| +--rw geo-coordinates | ||||
| +--rw latitude? bits | ||||
| +--rw latitude-degrees? uint8 | ||||
| +--rw latitude-minutes? uint8 | ||||
| +--rw latitude-seconds? uint8 | ||||
| +--rw longitude? bits | ||||
| +--rw longitude-degrees? uint16 | ||||
| +--rw longitude-minutes? uint8 | ||||
| +--rw longitude-seconds? uint8 | ||||
| +--rw altitude? int32 | ||||
| +--rw address? simple-address | ||||
+--:(nat-traversal) | ||||
| +--rw nat-traversal | ||||
| +--rw ms-udp-port? uint16 | ||||
| +--rw etr-udp-port? uint16 | ||||
| +--rw global-etr-rloc? simple-address | ||||
| +--rw ms-rloc? simple-address | ||||
| +--rw private-etr-rloc? simple-address | ||||
| +--rw rtr-rlocs* simple-address | ||||
+--:(explicit-locator-path) | ||||
| +--rw explicit-locator-path | ||||
| +--rw hop* [hop-id] | ||||
| +--rw hop-id string | ||||
| +--rw address? simple-address | ||||
| +--rw lrs-bits? bits | ||||
+--:(source-dest-key) | ||||
| +--rw source-dest-key | ||||
| +--rw source? simple-address | ||||
| +--rw dest? simple-address | ||||
+--:(key-value-address) | ||||
| +--rw key-value-address | ||||
| +--rw key? simple-address | ||||
| +--rw value? simple-address | ||||
+--:(service-path) | ||||
+--rw service-path | ||||
+--rw service-path-id? service-path-id-type | ||||
+--rw service-index? uint8 | ||||
augment /lisp:lisp-state/lisp:lisp-router-instances/lisp:lisp-router-instance/lisp:lisp-role: | ||||
+--ro itr-state | ||||
+--ro map-cache | ||||
+--ro mapping* [id] | ||||
+--ro id eid-id | ||||
+--ro eid | ||||
| +--ro address-type lisp-address-family-ref | ||||
| +--ro virtual-network-id? instance-id-type | ||||
| +--ro (address)? | ||||
| +--:(no-address) | ||||
| | +--ro no-address? empty | ||||
| +--:(ipv4) | ||||
| | +--ro ipv4? inet:ipv4-address | ||||
| +--:(ipv4-prefix) | ||||
| | +--ro ipv4-prefix? inet:ipv4-prefix | ||||
| +--:(ipv6) | ||||
| | +--ro ipv6? inet:ipv6-address | ||||
| +--:(ipv6-prefix) | ||||
| | +--ro ipv6-prefix? inet:ipv6-prefix | ||||
| +--:(mac) | ||||
| | +--ro mac? yang:mac-address | ||||
| +--:(distinguished-name) | ||||
| | +--ro distinguished-name? distinguished-name-type | ||||
| +--:(as-number) | ||||
| | +--ro as-number? inet:as-number | ||||
| +--:(null-address) | ||||
| | +--ro null-address | ||||
| | +--ro address? empty | ||||
| +--:(afi-list) | ||||
| | +--ro afi-list | ||||
| | +--ro address-list* simple-address | ||||
| +--:(instance-id) | ||||
| | +--ro instance-id | ||||
| | +--ro iid? instance-id-type | ||||
| | +--ro mask-length? uint8 | ||||
| | +--ro address? simple-address | ||||
| +--:(as-number-lcaf) | ||||
| | +--ro as-number-lcaf | ||||
| | +--ro as? inet:as-number | ||||
| | +--ro address? simple-address | ||||
| +--:(application-data) | ||||
| | +--ro application-data | ||||
| | +--ro address? simple-address | ||||
| | +--ro protocol? uint8 | ||||
| | +--ro ip-tos? int32 | ||||
| | +--ro local-port-low? inet:port-number | ||||
| | +--ro local-port-high? inet:port-number | ||||
| | +--ro remote-port-low? inet:port-number | ||||
| | +--ro remote-port-high? inet:port-number | ||||
| +--:(geo-coordinates) | ||||
| | +--ro geo-coordinates | ||||
| | +--ro latitude? bits | ||||
| | +--ro latitude-degrees? uint8 | ||||
| | +--ro latitude-minutes? uint8 | ||||
| | +--ro latitude-seconds? uint8 | ||||
| | +--ro longitude? bits | ||||
| | +--ro longitude-degrees? uint16 | ||||
| | +--ro longitude-minutes? uint8 | ||||
| | +--ro longitude-seconds? uint8 | ||||
| | +--ro altitude? int32 | ||||
| | +--ro address? simple-address | ||||
| +--:(nat-traversal) | ||||
| | +--ro nat-traversal | ||||
| | +--ro ms-udp-port? uint16 | ||||
| | +--ro etr-udp-port? uint16 | ||||
| | +--ro global-etr-rloc? simple-address | ||||
| | +--ro ms-rloc? simple-address | ||||
| | +--ro private-etr-rloc? simple-address | ||||
| | +--ro rtr-rlocs* simple-address | ||||
| +--:(explicit-locator-path) | ||||
| | +--ro explicit-locator-path | ||||
| | +--ro hop* [hop-id] | ||||
| | +--ro hop-id string | ||||
| | +--ro address? simple-address | ||||
| | +--ro lrs-bits? bits | ||||
| +--:(source-dest-key) | ||||
| | +--ro source-dest-key | ||||
| | +--ro source? simple-address | ||||
| | +--ro dest? simple-address | ||||
| +--:(key-value-address) | ||||
| | +--ro key-value-address | ||||
| | +--ro key? simple-address | ||||
| | +--ro value? simple-address | ||||
| +--:(service-path) | ||||
| +--ro service-path | ||||
| +--ro service-path-id? service-path-id-type | ||||
| +--ro service-index? uint8 | ||||
+--ro ttl? uint32 | ||||
+--ro authoritative? bits | ||||
+--ro static? boolean | ||||
+--ro (locator-list)? | ||||
+--:(negative-mapping) | ||||
| +--ro map-reply-action? map-reply-action | ||||
+--:(positive-mapping) | ||||
+--ro rlocs | ||||
+--ro locator* [id] | ||||
+--ro id string | ||||
+--ro locator-address | ||||
| +--ro address-type lisp-address-family-ref | ||||
| +--ro virtual-network-id? instance-id-type | ||||
| +--ro (address)? | ||||
| +--:(no-address) | ||||
| | +--ro no-address? empty | ||||
| +--:(ipv4) | ||||
| | +--ro ipv4? inet:ipv4-address | ||||
| +--:(ipv4-prefix) | ||||
| | +--ro ipv4-prefix? inet:ipv4-prefix | ||||
| +--:(ipv6) | ||||
| | +--ro ipv6? inet:ipv6-address | ||||
| +--:(ipv6-prefix) | ||||
| | +--ro ipv6-prefix? inet:ipv6-prefix | ||||
| +--:(mac) | ||||
| | +--ro mac? yang:mac-address | ||||
| +--:(distinguished-name) | ||||
| | +--ro distinguished-name? distinguished-name-type | ||||
| +--:(as-number) | ||||
| | +--ro as-number? inet:as-number | ||||
| +--:(null-address) | ||||
| | +--ro null-address | ||||
| | +--ro address? empty | ||||
| +--:(afi-list) | ||||
| | +--ro afi-list | ||||
| | +--ro address-list* simple-address | ||||
| +--:(instance-id) | ||||
| | +--ro instance-id | ||||
| | +--ro iid? instance-id-type | ||||
| | +--ro mask-length? uint8 | ||||
| | +--ro address? simple-address | ||||
| +--:(as-number-lcaf) | ||||
| | +--ro as-number-lcaf | ||||
| | +--ro as? inet:as-number | ||||
| | +--ro address? simple-address | ||||
| +--:(application-data) | ||||
| | +--ro application-data | ||||
| | +--ro address? simple-address | ||||
| | +--ro protocol? uint8 | ||||
| | +--ro ip-tos? int32 | ||||
| | +--ro local-port-low? inet:port-number | ||||
| | +--ro local-port-high? inet:port-number | ||||
| | +--ro remote-port-low? inet:port-number | ||||
| | +--ro remote-port-high? inet:port-number | ||||
| +--:(geo-coordinates) | ||||
| | +--ro geo-coordinates | ||||
| | +--ro latitude? bits | ||||
| | +--ro latitude-degrees? uint8 | ||||
| | +--ro latitude-minutes? uint8 | ||||
| | +--ro latitude-seconds? uint8 | ||||
| | +--ro longitude? bits | ||||
| | +--ro longitude-degrees? uint16 | ||||
| | +--ro longitude-minutes? uint8 | ||||
| | +--ro longitude-seconds? uint8 | ||||
| | +--ro altitude? int32 | ||||
| | +--ro address? simple-address | ||||
| +--:(nat-traversal) | ||||
| | +--ro nat-traversal | ||||
| | +--ro ms-udp-port? uint16 | ||||
| | +--ro etr-udp-port? uint16 | ||||
| | +--ro global-etr-rloc? simple-address | ||||
| | +--ro ms-rloc? simple-address | ||||
| | +--ro private-etr-rloc? simple-address | ||||
| | +--ro rtr-rlocs* simple-address | ||||
| +--:(explicit-locator-path) | ||||
| | +--ro explicit-locator-path | ||||
| | +--ro hop* [hop-id] | ||||
| | +--ro hop-id string | ||||
| | +--ro address? simple-address | ||||
| | +--ro lrs-bits? bits | ||||
| +--:(source-dest-key) | ||||
| | +--ro source-dest-key | ||||
| | +--ro source? simple-address | ||||
| | +--ro dest? simple-address | ||||
| +--:(key-value-address) | ||||
| | +--ro key-value-address | ||||
| | +--ro key? simple-address | ||||
| | +--ro value? simple-address | ||||
| +--:(service-path) | ||||
| +--ro service-path | ||||
| +--ro service-path-id? service-path-id-type | ||||
| +--ro service-index? uint8 | ||||
+--ro priority? uint8 | ||||
+--ro weight? uint8 | ||||
+--ro multicast-priority? uint8 | ||||
+--ro multicast-weight? uint8 | ||||
3.2. Module Definition | 3.2. Module Definition | |||
<CODE BEGINS> file "ietf-lisp-itr@2016-06-30.yang" | <CODE BEGINS> file "ietf-lisp-itr@2017-07-01.yang" | |||
module ietf-lisp-itr { | module ietf-lisp-itr { | |||
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; | |||
import ietf-lisp { | import ietf-lisp { | |||
prefix lisp; | prefix lisp; | |||
} | } | |||
import ietf-lisp-address-types { | import ietf-inet-types { | |||
prefix lcaf; | prefix inet; | |||
} | } | |||
import ietf-inet-types { | organization | |||
prefix inet; | "IETF LISP (Locator/ID Separation Protocol) Working Group"; | |||
} | contact | |||
organization | "lisp@ietf.org"; | |||
"IETF LISP (Locator/ID Separation Protocol) Working Group"; | description | |||
contact | "This YANG module defines the generic parameters for a LISP | |||
"lisp@ietf.org"; | ITR. The module can be extended by vendors to define | |||
description | vendor-specific parameters and policies. | |||
"This YANG module defines the generic configuration | ||||
data for a LISP ITR. The module can be extended by vendors | ||||
to define vendor-specific configuration parameters and | ||||
policies. | ||||
Copyright (c) 2015 IETF Trust and the persons identified as | ||||
authors of the code. All rights reserved. | ||||
Redistribution and use in source and binary forms, with or | ||||
without modification, is permitted pursuant to, and subject | ||||
to the license terms contained in, the Simplified BSD License | ||||
set forth in Section 4.c of the IETF Trust's Legal Provisions | ||||
Relating to IETF Documents | ||||
(http://trustee.ietf.org/license-info). | ||||
This version of this YANG module is part of RFC 6338; see | Copyright (c) 2015 IETF Trust and the persons identified as | |||
the RFC itself for full legal notices. | authors of the code. All rights reserved. | |||
"; | ||||
revision 2016-06-30 { | ||||
description | ||||
"Initial revision."; | ||||
reference | ||||
"https://tools.ietf.org/html/rfc6830"; | ||||
} | ||||
identity itr { | ||||
base lisp:lisp-role; | ||||
description | ||||
"LISP ITR."; | ||||
} | ||||
augment "/lisp:lisp/lisp:lisp-router-instances/" | ||||
+ "lisp:lisp-router-instance/lisp:lisp-role" { | ||||
when "lisp:lisp-role-type = 'lisp-itr:itr'" { | ||||
description | ||||
"Augment is valid when LISP role type is ITR."; | ||||
} | ||||
description | ||||
"This augments LISP devices list with ITR specific | ||||
parameters."; | ||||
container itr-cfg { | ||||
presence "LISP ITR operation enabled"; | ||||
description | ||||
"ITR configuration"; | ||||
container rloc-probing { | ||||
presence "RLOC probing active"; | ||||
description | ||||
"RLOC-probing parameters"; | ||||
leaf interval { | ||||
type uint16; | ||||
units "seconds"; | ||||
description | ||||
"Interval in seconds"; | ||||
} | ||||
leaf retries { | ||||
type uint8; | ||||
description | ||||
"Number of retries"; | ||||
} | ||||
leaf retries-interval { | ||||
type uint16; | ||||
units "seconds"; | ||||
description | ||||
"Interval in seconds between retries"; | ||||
} | ||||
} | ||||
leaf itr-rlocs { | ||||
type leafref { | ||||
path "/lisp:lisp/lisp:locator-sets/lisp:locator-set/" | ||||
+ "lisp:locator-set-name"; | ||||
} | Redistribution and use in source and binary forms, with or | |||
description | without modification, is permitted pursuant to, and subject | |||
"Refrence to a locator set that the ITR includes in | to the license terms contained in, the Simplified BSD License | |||
Map-Requests"; | set forth in Section 4.c of the IETF Trust's Legal Provisions | |||
} | Relating to IETF Documents | |||
container map-resolvers { | (http://trustee.ietf.org/license-info). | |||
description | ||||
"The Map-Resolvers configured for the ITR."; | ||||
list map-resolver { | ||||
key "id"; | ||||
min-elements 1; | ||||
description | ||||
"List of Map-Resolvers configured for the ITR."; | ||||
leaf id { | ||||
type lisp:eid-id; | ||||
description | ||||
"Id of the EID for which the Map-Server is | ||||
configured."; | ||||
} | ||||
container eid-address { | ||||
uses lcaf:lisp-address; | ||||
description | ||||
"EID for which the Map-Resolver is configured."; | ||||
} | ||||
leaf-list map-resolver-address { | ||||
type inet:ip-address; | ||||
description | ||||
"Map-Resolver RLOC address."; | ||||
} | ||||
} | ||||
} | ||||
container proxy-etrs { | ||||
description | ||||
"Proxy ETRs configured for the ITR."; | ||||
list proxy-etr { | ||||
key "id"; | ||||
description | ||||
"List of PETR configured for the ITR."; | ||||
leaf id { | ||||
type lisp:eid-id; | ||||
description | ||||
"Id of the EID for which the PETR is configured."; | ||||
} | ||||
container eid-address { | ||||
uses lcaf:lisp-address; | ||||
description | ||||
"EID for which the PETR is configured."; | ||||
} | ||||
leaf-list proxy-etr-address{ | ||||
type inet:ip-address; | ||||
description | ||||
"PETR RLOC address."; | ||||
} | ||||
} | ||||
} | ||||
container map-cache{ | ||||
uses lisp:mappings; | ||||
description | ||||
"EID to RLOCs mappings cache."; | ||||
} | ||||
uses lisp:servicing-eids-grouping; | ||||
} | This version of this YANG module is part of RFC 6338; see | |||
} | the RFC itself for full legal notices. | |||
augment "/lisp:lisp-state/lisp:lisp-router-instances/" | "; | |||
+ "lisp:lisp-router-instance/lisp:lisp-role" { | revision 2017-07-01 { | |||
when "lisp:lisp-role-type = 'lisp-itr:itr'" { | description | |||
description | "Initial revision."; | |||
"Augment is valid when LISP role type is ITR."; | reference | |||
} | "https://tools.ietf.org/html/rfc6830"; | |||
description | } | |||
"This augments LISP devices list state with ITR specific | augment "/lisp:lisp/lisp:lisp-router-instances/lisp:lisp-router-instance" { | |||
parameters."; | when "lisp:lisp-role/lisp:lisp-role-type = 'lisp:itr' or | |||
container itr-state { | lisp:lisp-role/lisp:lisp-role-type = 'lisp:pitr'" { | |||
config false; | description | |||
description | "Augment is valid when LISP role type is ITR or PITR."; | |||
"ITR state."; | } | |||
container map-cache{ | description | |||
uses lisp:mappings; | "This augments LISP devices list with (P)ITR specific | |||
description | parameters."; | |||
"EID to RLOCs mappings cache."; | container itr { | |||
} | presence "LISP (P)ITR operation enabled"; | |||
} | description | |||
} | "ITR parameters"; | |||
} | container rloc-probing { | |||
<CODE ENDS> | presence "RLOC probing active"; | |||
description | ||||
"RLOC-probing parameters"; | ||||
leaf interval { | ||||
type uint16; | ||||
units "seconds"; | ||||
description | ||||
"Interval in seconds for resending the probes"; | ||||
} | ||||
leaf retries { | ||||
type uint8; | ||||
description | ||||
"Number of retries for sending the probes"; | ||||
} | ||||
leaf retries-interval { | ||||
type uint16; | ||||
units "seconds"; | ||||
description | ||||
"Interval in seconds between retries when sending probes. | ||||
The action taken if all retries fail to receive is | ||||
impementation specific."; | ||||
} | ||||
} | ||||
leaf itr-rlocs { | ||||
type leafref { | ||||
path "/lisp:lisp/lisp:locator-sets/lisp:locator-set/" | ||||
+ "lisp:locator-set-name"; | ||||
} | ||||
description | ||||
"Reference to a locator set that the (P)ITR includes in | ||||
Map-Requests"; | ||||
} | ||||
container map-resolvers { | ||||
description | ||||
"Map-Resolvers that the (P)ITR uses."; | ||||
leaf-list map-resolver { | ||||
type inet:ip-address; | ||||
min-elements 1; | ||||
description | ||||
"Each Map-Resolver within the list of Map-Resolvers."; | ||||
} | ||||
} | ||||
container proxy-etrs { | ||||
when "../../lisp:lisp-role/lisp:lisp-role-type = 'lisp:itr'" { | ||||
description | ||||
"Container exists only when LISP role type is ITR"; | ||||
} | ||||
description | ||||
"Proxy ETRs that the ITR uses."; | ||||
leaf-list proxy-etr-address{ | ||||
type inet:ip-address; | ||||
description | ||||
"Proxy ETR RLOC address."; | ||||
} | ||||
} | ||||
container map-cache{ | ||||
uses lisp:mappings; | ||||
description | ||||
"EID to RLOCs mappings cache."; | ||||
} | ||||
} | ||||
} | ||||
} | ||||
<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 /lisp:lisp/lisp:lisp-router-instances/lisp:lisp-router-instance/lisp:lisp-role: | augment /lisp:lisp/lisp:lisp-router-instances/lisp:lisp-router-instance: | |||
+--rw etr-cfg! | +--rw etr! | |||
+--rw local-eids | +--rw map-servers | |||
+--rw local-eid* [id] | | +--rw map-server* [ms-address] | |||
+--rw id lisp:eid-id | | +--rw ms-address inet:ip-address | |||
+--rw eid-address | | +--rw auth-key? string | |||
| +--rw address-type lisp-address-family-ref | | +--rw auth-key-type? lisp:auth-key-type | |||
| +--rw virtual-network-id? instance-id-type | +--rw local-eids | |||
| +--rw (address)? | +--rw virtual-network* [vni] | |||
| +--:(no-address) | +--rw vni lcaf:instance-id-type | |||
| | +--rw no-address? empty | +--rw eids | |||
| +--:(ipv4) | +--rw local-eid* [id] | |||
| | +--rw ipv4? inet:ipv4-address | +--rw id lisp:eid-id | |||
| +--:(ipv4-prefix) | +--rw eid-address | |||
| | +--rw ipv4-prefix? inet:ipv4-prefix | | +--rw address-type lisp-address-family-ref | |||
| +--:(ipv6) | | +--rw virtual-network-id? instance-id-type | |||
| | +--rw ipv6? inet:ipv6-address | | +--rw (address)? | |||
| +--:(ipv6-prefix) | | +--:(no-address) | |||
| | +--rw ipv6-prefix? inet:ipv6-prefix | | | +--rw no-address? empty | |||
| +--:(mac) | | +--:(ipv4) | |||
| | +--rw mac? yang:mac-address | | | +--rw ipv4? inet:ipv4-address | |||
| +--:(distinguished-name) | | +--:(ipv4-prefix) | |||
| | +--rw distinguished-name? distinguished-name-type | | | +--rw ipv4-prefix? inet:ipv4-prefix | |||
| +--:(as-number) | | +--:(ipv6) | |||
| | +--rw as-number? inet:as-number | | | +--rw ipv6? inet:ipv6-address | |||
| +--:(null-address) | | +--:(ipv6-prefix) | |||
| | +--rw null-address | | | +--rw ipv6-prefix? inet:ipv6-prefix | |||
| | +--rw address? empty | | +--:(mac) | |||
| +--:(afi-list) | | | +--rw mac? yang:mac-address | |||
| | +--rw afi-list | | +--:(distinguished-name) | |||
| | +--rw address-list* simple-address | | | +--rw distinguished-name? distinguished-name-type | |||
| +--:(instance-id) | | +--:(as-number) | |||
| | +--rw instance-id | | | +--rw as-number? inet:as-number | |||
| | +--rw iid? instance-id-type | | +--:(null-address) | |||
| | +--rw mask-length? uint8 | | | +--rw null-address | |||
| | +--rw address? simple-address | | | +--rw address? empty | |||
| +--:(as-number-lcaf) | | +--:(afi-list) | |||
| | +--rw as-number-lcaf | | | +--rw afi-list | |||
| | +--rw as? inet:as-number | | | +--rw address-list* simple-address | |||
| | +--rw address? simple-address | | +--:(instance-id) | |||
| +--:(application-data) | | | +--rw instance-id | |||
| | +--rw application-data | | | +--rw iid? instance-id-type | |||
| | +--rw address? simple-address | | | +--rw mask-length? uint8 | |||
| | +--rw protocol? uint8 | | | +--rw address? simple-address | |||
| | +--rw ip-tos? int32 | | +--:(as-number-lcaf) | |||
| | +--rw local-port-low? inet:port-number | | | +--rw as-number-lcaf | |||
| | +--rw local-port-high? inet:port-number | | | +--rw as? inet:as-number | |||
| | +--rw remote-port-low? inet:port-number | | | +--rw address? simple-address | |||
| | +--rw remote-port-high? inet:port-number | | +--:(application-data) | |||
| +--:(geo-coordinates) | | | +--rw application-data | |||
| | +--rw geo-coordinates | | | +--rw address? simple-address | |||
| | +--rw latitude? bits | | | +--rw protocol? uint8 | |||
| | +--rw latitude-degrees? uint8 | | | +--rw ip-tos? int32 | |||
| | +--rw latitude-minutes? uint8 | | | +--rw local-port-low? inet:port-number | |||
| | +--rw latitude-seconds? uint8 | | | +--rw local-port-high? inet:port-number | |||
| | +--rw longitude? bits | | | +--rw remote-port-low? inet:port-number | |||
| | +--rw longitude-degrees? uint16 | | | +--rw remote-port-high? inet:port-number | |||
| | +--rw longitude-minutes? uint8 | | +--:(geo-coordinates) | |||
| | +--rw longitude-seconds? uint8 | | | +--rw geo-coordinates | |||
| | +--rw altitude? int32 | | | +--rw latitude? bits | |||
| | +--rw address? 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? simple-address | | | +--rw longitude-minutes? uint8 | |||
| | +--rw ms-rloc? simple-address | | | +--rw longitude-seconds? uint8 | |||
| | +--rw private-etr-rloc? simple-address | | | +--rw altitude? int32 | |||
| | +--rw rtr-rlocs* simple-address | | | +--rw address? simple-address | |||
| +--:(explicit-locator-path) | | +--:(nat-traversal) | |||
| | +--rw explicit-locator-path | | | +--rw nat-traversal | |||
| | +--rw hop* [hop-id] | | | +--rw ms-udp-port? uint16 | |||
| | +--rw hop-id string | | | +--rw etr-udp-port? uint16 | |||
| | +--rw address? simple-address | | | +--rw global-etr-rloc? simple-address | |||
| | +--rw lrs-bits? bits | | | +--rw ms-rloc? simple-address | |||
| +--:(source-dest-key) | | | +--rw private-etr-rloc? simple-address | |||
| | +--rw source-dest-key | | | +--rw rtr-rlocs* simple-address | |||
| | +--rw source? simple-address | | +--:(explicit-locator-path) | |||
| | +--rw dest? simple-address | | | +--rw explicit-locator-path | |||
| +--:(key-value-address) | | | +--rw hop* [hop-id] | |||
| | +--rw key-value-address | | | +--rw hop-id string | |||
| | +--rw key? simple-address | | | +--rw address? simple-address | |||
| | +--rw value? simple-address | | | +--rw lrs-bits? bits | |||
| +--:(service-path) | | +--:(source-dest-key) | |||
| +--rw service-path | | | +--rw source-dest-key | |||
| +--rw service-path-id? service-path-id-type | | | +--rw source? simple-address | |||
| +--rw service-index? uint8 | | | +--rw dest? simple-address | |||
+--rw map-servers | | +--:(key-value-address) | |||
| +--rw map-server* [address] | | | +--rw key-value-address | |||
| +--rw address inet:ip-address | | | +--rw key? simple-address | |||
| +--rw auth-key? string | | | +--rw value? simple-address | |||
| +--rw auth-key-type? lisp:auth-key-type | | +--:(service-path) | |||
+--rw rlocs? -> /lisp:lisp/locator-sets/locator-set/locator-set-name | | +--rw service-path | |||
+--rw record-ttl? uint32 | | +--rw service-path-id? service-path-id-type | |||
+--rw want-map-notify? boolean | | +--rw service-index? uint8 | |||
+--rw proxy-reply? boolean | +--rw rlocs? -> /lisp:lisp/locator-sets/locator-set/locator-set-name | |||
+--rw registration-interval? uint16 | +--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@2016-06-30.yang" | <CODE BEGINS> file "ietf-lisp-etr@2017-07-01.yang" | |||
module ietf-lisp-etr { | module ietf-lisp-etr { | |||
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; | |||
import ietf-lisp { | import ietf-lisp { | |||
prefix lisp; | prefix lisp; | |||
} | } | |||
import ietf-lisp-address-types { | import ietf-lisp-address-types { | |||
prefix lcaf; | prefix lcaf; | |||
} | } | |||
import ietf-inet-types { | import ietf-inet-types { | |||
prefix inet; | prefix inet; | |||
} | } | |||
organization | organization | |||
"IETF LISP (Locator/ID Separation Protocol) Working Group"; | "IETF LISP (Locator/ID Separation Protocol) Working Group"; | |||
contact | contact | |||
"lisp@ietf.org"; | "lisp@ietf.org"; | |||
description | description | |||
"This YANG module defines the generic configuration | "This YANG module defines the generic parameters for a LISP | |||
data for a LISP ETR. The module can be extended by vendors | ETR. The module can be extended by vendors to define | |||
to define vendor-specific configuration parameters and | vendor-specific parameters and policies. | |||
policies. | ||||
Copyright (c) 2015 IETF Trust and the persons identified as | Copyright (c) 2015 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 6338; see | This version of this YANG module is part of RFC 6338; see | |||
the RFC itself for full legal notices. | the RFC itself for full legal notices. | |||
"; | "; | |||
revision 2016-06-30 { | revision 2017-07-01 { | |||
description | description | |||
"Initial revision."; | "Initial revision."; | |||
reference | reference | |||
"https://tools.ietf.org/html/rfc6830"; | "https://tools.ietf.org/html/rfc6830"; | |||
} | ||||
augment "/lisp:lisp/lisp:lisp-router-instances/lisp:lisp-router-instance" { | ||||
when "lisp:lisp-role/lisp:lisp-role-type = 'lisp:etr' or | ||||
lisp:lisp-role/lisp:lisp-role-type = 'lisp:petr'" { | ||||
description | ||||
"Augment is valid when LISP device type is (P)ETR."; | ||||
} | ||||
description | ||||
"This augments LISP devices list with (P)ETR specific | ||||
parameters."; | ||||
container etr { | ||||
presence "LISP (P)ETR operation enabled"; | ||||
description | ||||
"(P)ETR parameters."; | ||||
} | container map-servers { | |||
identity etr { | when "../../lisp:lisp-role/lisp:lisp-role-type = 'lisp:etr'" { | |||
base lisp:lisp-role; | description | |||
description | "Container exists only when LISP device type is ETR."; | |||
"LISP ETR."; | } | |||
} | description | |||
augment "/lisp:lisp/lisp:lisp-router-instances/" | "Map-Servers that the ETR uses."; | |||
+ "lisp:lisp-router-instance/lisp:lisp-role" { | list map-server { | |||
when "lisp:lisp-role-type = 'lisp-etr:etr'" { | key "ms-address"; | |||
description | description | |||
"Augment is valid when LISP device type is ETR."; | "Each Map-Server within the list of Map-Servers."; | |||
} | leaf ms-address { | |||
description | type inet:ip-address; | |||
"This augments LISP devices list with ETR specific | description | |||
parameters."; | "Map-Server address."; | |||
container etr-cfg { | } | |||
presence "LISP ETR operation enabled"; | leaf auth-key { | |||
description | type string; | |||
"ETR configuration parameters."; | description | |||
container local-eids { | "Map-Server authentication key."; | |||
description | } | |||
"EIDs served by the ETR."; | leaf auth-key-type { | |||
list local-eid { | type lisp:auth-key-type; | |||
key "id"; | description | |||
min-elements 1; | "Map-Server authentication type."; | |||
description | } | |||
"List of local EIDs."; | } | |||
leaf id { | } | |||
type lisp:eid-id; | ||||
description | ||||
"Unique id of local EID."; | ||||
} | ||||
container eid-address { | ||||
uses lcaf:lisp-address; | ||||
description | ||||
"EID address in generic LISP address format."; | ||||
} | ||||
container map-servers { | ||||
description | ||||
"Map-Servers configured for the ETR."; | ||||
list map-server { | ||||
key "address"; | ||||
description | ||||
"List of Map-Servers configured for the ETR."; | ||||
leaf address { | ||||
type inet:ip-address; | ||||
description | ||||
"Map-Server address."; | ||||
} | container local-eids { | |||
leaf auth-key { | when "../../lisp:lisp-role/lisp:lisp-role-type = 'lisp:etr'" { | |||
type string; | description | |||
description | "Container exists only when LISP device type is ETR."; | |||
"Map-Server authentication key."; | } | |||
} | description | |||
leaf auth-key-type { | "Virtual networks served by the ETR."; | |||
type lisp:auth-key-type; | list virtual-network { | |||
description | key "vni"; | |||
"Map-Server authentication type."; | description | |||
} | "Virtual network for local-EIDs."; | |||
} | leaf vni { | |||
} | type lcaf:instance-id-type; | |||
leaf rlocs { | description | |||
type leafref { | "Virtual network identifier."; | |||
path "/lisp:lisp/lisp:locator-sets/lisp:locator-set/" | } | |||
+ "lisp:locator-set-name"; | container eids { | |||
} | description | |||
description | "EIDs served by the ETR."; | |||
"Locator set mapped to this local EID."; | list local-eid { | |||
} | key "id"; | |||
leaf record-ttl { | min-elements 1; | |||
type uint32; | description | |||
description | "List of local EIDs."; | |||
"Validity period of the EID to RLOCs mapping provided | leaf id { | |||
type lisp:eid-id; | ||||
description | ||||
"Unique id of local EID."; | ||||
} | ||||
container eid-address { | ||||
uses lcaf:lisp-address; | ||||
description | ||||
"EID address in generic LISP address format."; | ||||
} | ||||
leaf rlocs { | ||||
type leafref { | ||||
path "/lisp:lisp/lisp:locator-sets/lisp:locator-set/" | ||||
+ "lisp:locator-set-name"; | ||||
} | ||||
description | ||||
"Locator set mapped to this local EID."; | ||||
} | ||||
leaf record-ttl { | ||||
type uint32; | ||||
units minutes; | ||||
description | ||||
"Validity period of the EID to RLOCs mapping provided | ||||
in Map-Replies."; | in Map-Replies."; | |||
} | } | |||
leaf want-map-notify { | leaf want-map-notify { | |||
type boolean; | type boolean; | |||
default "true"; | default "true"; | |||
description | description | |||
"Flag which if set in a Map-Register requests that a | "Flag which if set in a Map-Register requests that a | |||
Map-Notify be sent in response."; | Map-Notify be sent in response."; | |||
} | } | |||
leaf proxy-reply { | leaf proxy-reply { | |||
type boolean; | type boolean; | |||
default "false"; | default "false"; | |||
description | description | |||
"Flag which if set in a Map-Register requests that the | "Flag which if set in a Map-Register requests that the | |||
Map-Server proxy Map-Replies for the ETR."; | Map-Server proxy Map-Replies for the ETR."; | |||
} | } | |||
leaf registration-interval { | leaf registration-interval { | |||
type uint16; | type uint16; | |||
units "seconds"; | units "seconds"; | |||
default "60"; | default "60"; | |||
description | description | |||
"Interval between consecutive Map-Register messages."; | "Interval between consecutive Map-Register messages."; | |||
} | } | |||
} | ||||
} | ||||
} | ||||
} | ||||
} | ||||
} | ||||
} | } | |||
} | <CODE ENDS> | |||
}//etr-cfg | ||||
}//augment | ||||
}// lisp-etr | ||||
<CODE ENDS> | ||||
5. LISP Map Server Module | 5. LISP-Map-Server Module | |||
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 /lisp:lisp/lisp:lisp-router-instances/lisp:lisp-router-instance/lisp:lisp-role: | augment /lisp:lisp/lisp:lisp-router-instances/lisp:lisp-router-instance: | |||
+--rw map-server-cfg | +--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 auth-key | |||
| | +--rw auth-key-value? string | | +--rw auth-key-value? string | |||
| | +--rw auth-key-type? lisp:auth-key-type | | +--rw auth-key-type* lisp:auth-key-type | |||
| +--rw eids | +--rw virtual-network-ids | |||
| +--rw eid* [id] | | +--rw virtual-network-identifier* [vni] | |||
| +--rw id lisp:eid-id | | +--rw vni lcaf:instance-id-type | |||
| +--rw eid-address | | +--rw mappings | |||
| | +--rw address-type lisp-address-family-ref | | | +--rw mapping* [eid-id] | |||
| | +--rw virtual-network-id? instance-id-type | | | +--rw eid-id lisp:eid-id | |||
| | +--rw (address)? | | | +--rw eid-address | |||
| | +--:(no-address) | | | | +--rw address-type lisp-address-family-ref | |||
| | | +--rw no-address? empty | | | | +--rw virtual-network-id? instance-id-type | |||
| | +--:(ipv4) | | | | +--rw (address)? | |||
| | | +--rw ipv4? inet:ipv4-address | | | | +--:(no-address) | |||
| | +--:(ipv4-prefix) | | | | | +--rw no-address? empty | |||
| | | +--rw ipv4-prefix? inet:ipv4-prefix | | | | +--:(ipv4) | |||
| | +--:(ipv6) | | | | | +--rw ipv4? inet:ipv4-address | |||
| | | +--rw ipv6? inet:ipv6-address | | | | +--:(ipv4-prefix) | |||
| | +--:(ipv6-prefix) | | | | | +--rw ipv4-prefix? inet:ipv4-prefix | |||
| | | +--rw ipv6-prefix? inet:ipv6-prefix | | | | +--:(ipv6) | |||
| | +--:(mac) | | | | | +--rw ipv6? inet:ipv6-address | |||
| | | +--rw mac? yang:mac-address | | | | +--:(ipv6-prefix) | |||
| | +--:(distinguished-name) | | | | | +--rw ipv6-prefix? inet:ipv6-prefix | |||
| | | +--rw distinguished-name? distinguished-name-type | | | | +--:(mac) | |||
| | +--:(as-number) | | | | | +--rw mac? yang:mac-address | |||
| | | +--rw as-number? inet:as-number | | | | +--:(distinguished-name) | |||
| | +--:(null-address) | | | | | +--rw distinguished-name? distinguished-name-type | |||
| | | +--rw null-address | | | | +--:(as-number) | |||
| | | +--rw address? empty | | | | | +--rw as-number? inet:as-number | |||
| | +--:(afi-list) | | | | +--:(null-address) | |||
| | | +--rw afi-list | | | | | +--rw null-address | |||
| | | +--rw address-list* simple-address | | | | | +--rw address? empty | |||
| | +--:(instance-id) | | | | +--:(afi-list) | |||
| | | +--rw instance-id | | | | | +--rw afi-list | |||
| | | +--rw iid? instance-id-type | | | | | +--rw address-list* simple-address | |||
| | | +--rw mask-length? uint8 | | | | +--:(instance-id) | |||
| | | +--rw address? simple-address | | | | | +--rw instance-id | |||
| | +--:(as-number-lcaf) | | | | | +--rw iid? instance-id-type | |||
| | | +--rw as-number-lcaf | | | | | +--rw mask-length? uint8 | |||
| | | +--rw as? inet:as-number | | | | | +--rw address? simple-address | |||
| | | +--rw address? simple-address | | | | +--:(as-number-lcaf) | |||
| | +--:(application-data) | | | | | +--rw as-number-lcaf | |||
| | | +--rw application-data | | | | | +--rw as? inet:as-number | |||
| | | +--rw address? simple-address | | | | | +--rw address? simple-address | |||
| | | +--rw protocol? uint8 | | | | +--:(application-data) | |||
| | | +--rw ip-tos? int32 | | | | | +--rw application-data | |||
| | | +--rw local-port-low? inet:port-number | | | | | +--rw address? simple-address | |||
| | | +--rw local-port-high? inet:port-number | | | | | +--rw protocol? uint8 | |||
| | | +--rw remote-port-low? inet:port-number | | | | | +--rw ip-tos? int32 | |||
| | | +--rw remote-port-high? inet:port-number | | | | | +--rw local-port-low? inet:port-number | |||
| | +--:(geo-coordinates) | | | | | +--rw local-port-high? inet:port-number | |||
| | | +--rw geo-coordinates | | | | | +--rw remote-port-low? inet:port-number | |||
| | | +--rw latitude? bits | | | | | +--rw remote-port-high? inet:port-number | |||
| | | +--rw latitude-degrees? uint8 | | | | +--:(geo-coordinates) | |||
| | | +--rw latitude-minutes? uint8 | | | | | +--rw geo-coordinates | |||
| | | +--rw latitude-seconds? uint8 | | | | | +--rw latitude? bits | |||
| | | +--rw longitude? bits | | | | | +--rw latitude-degrees? uint8 | |||
| | | +--rw longitude-degrees? uint16 | | | | | +--rw latitude-minutes? uint8 | |||
| | | +--rw longitude-minutes? uint8 | | | | | +--rw latitude-seconds? uint8 | |||
| | | +--rw longitude-seconds? uint8 | | | | | +--rw longitude? bits | |||
| | | +--rw altitude? int32 | | | | | +--rw longitude-degrees? uint16 | |||
| | | +--rw address? 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? simple-address | |||
| | | +--rw etr-udp-port? uint16 | | | | +--:(nat-traversal) | |||
| | | +--rw global-etr-rloc? simple-address | | | | | +--rw nat-traversal | |||
| | | +--rw ms-rloc? simple-address | | | | | +--rw ms-udp-port? uint16 | |||
| | | +--rw private-etr-rloc? simple-address | | | | | +--rw etr-udp-port? uint16 | |||
| | | +--rw rtr-rlocs* simple-address | | | | | +--rw global-etr-rloc? simple-address | |||
| | +--:(explicit-locator-path) | | | | | +--rw ms-rloc? simple-address | |||
| | | +--rw explicit-locator-path | | | | | +--rw private-etr-rloc? simple-address | |||
| | | +--rw hop* [hop-id] | | | | | +--rw rtr-rlocs* simple-address | |||
| | | +--rw hop-id string | | | | +--:(explicit-locator-path) | |||
| | | +--rw address? simple-address | | | | | +--rw explicit-locator-path | |||
| | | +--rw lrs-bits? bits | | | | | +--rw hop* [hop-id] | |||
| | +--:(source-dest-key) | | | | | +--rw hop-id string | |||
| | | +--rw source-dest-key | | | | | +--rw address? simple-address | |||
| | | +--rw source? simple-address | | | | | +--rw lrs-bits? bits | |||
| | | +--rw dest? simple-address | | | | +--:(source-dest-key) | |||
| | +--:(key-value-address) | | | | | +--rw source-dest-key | |||
| | | +--rw key-value-address | | | | | +--rw source? simple-address | |||
| | | +--rw key? simple-address | | | | | +--rw dest? simple-address | |||
| | | +--rw value? simple-address | | | | +--:(key-value-address) | |||
| | +--:(service-path) | | | | | +--rw key-value-address | |||
| | +--rw service-path | | | | | +--rw key? simple-address | |||
| | +--rw service-path-id? service-path-id-type | | | | | +--rw value? simple-address | |||
| | +--rw service-index? uint8 | | | | +--:(service-path) | |||
| +--rw more-specifics-accepted? boolean | | | | +--rw service-path | |||
| +--rw mapping-expiration-timeout? int16 | | | | +--rw service-path-id? service-path-id-type | |||
+--rw mapping-system-type? lisp:mapping-system-ref | | | | +--rw service-index? uint8 | |||
augment /lisp:lisp-state/lisp:lisp-router-instances/lisp:lisp-router-instance/lisp:lisp-role: | | | +--rw site-id* uint64 | |||
+--ro ms-state | | | +--rw more-specifics-accepted? boolean | |||
+--ro registered-mappings | | | +--rw mapping-expiration-timeout? int16 | |||
+--ro mapping* [id] | | | +--rw mapping-records | |||
+--ro id eid-id | | | +--rw mapping-record* [xtr-id] | |||
+--ro eid | | | +--rw xtr-id lisp:xtr-id-type | |||
| +--ro address-type lisp-address-family-ref | | | +--rw site-id? uint64 | |||
| +--ro virtual-network-id? instance-id-type | | | +--rw eid | |||
| +--ro (address)? | | | | +--rw address-type lisp-address-family-ref | |||
| +--:(no-address) | | | | +--rw virtual-network-id? instance-id-type | |||
| | +--ro no-address? empty | | | | +--rw (address)? | |||
| +--:(ipv4) | | | | +--:(no-address) | |||
| | +--ro ipv4? inet:ipv4-address | | | | | +--rw no-address? empty | |||
| +--:(ipv4-prefix) | | | | +--:(ipv4) | |||
| | +--ro ipv4-prefix? inet:ipv4-prefix | | | | | +--rw ipv4? inet:ipv4-address | |||
| +--:(ipv6) | | | | +--:(ipv4-prefix) | |||
| | +--ro ipv6? inet:ipv6-address | | | | | +--rw ipv4-prefix? inet:ipv4-prefix | |||
| +--:(ipv6-prefix) | | | | +--:(ipv6) | |||
| | +--ro ipv6-prefix? inet:ipv6-prefix | | | | | +--rw ipv6? inet:ipv6-address | |||
| +--:(mac) | | | | +--:(ipv6-prefix) | |||
| | +--ro mac? yang:mac-address | | | | | +--rw ipv6-prefix? inet:ipv6-prefix | |||
| +--:(distinguished-name) | | | | +--:(mac) | |||
| | +--ro distinguished-name? distinguished-name-type | | | | | +--rw mac? yang:mac-address | |||
| +--:(as-number) | | | | +--:(distinguished-name) | |||
| | +--ro as-number? inet:as-number | | | | | +--rw distinguished-name? distinguished-name-type | |||
| +--:(null-address) | | | | +--:(as-number) | |||
| | +--ro null-address | | | | | +--rw as-number? inet:as-number | |||
| | +--ro address? empty | | | | +--:(null-address) | |||
| +--:(afi-list) | | | | | +--rw null-address | |||
| | +--ro afi-list | | | | | +--rw address? empty | |||
| | +--ro address-list* simple-address | | | | +--:(afi-list) | |||
| +--:(instance-id) | | | | | +--rw afi-list | |||
| | +--ro instance-id | | | | | +--rw address-list* simple-address | |||
| | +--ro iid? instance-id-type | | | | +--:(instance-id) | |||
| | +--ro mask-length? uint8 | | | | | +--rw instance-id | |||
| | +--ro address? simple-address | | | | | +--rw iid? instance-id-type | |||
| +--:(as-number-lcaf) | | | | | +--rw mask-length? uint8 | |||
| | +--ro as-number-lcaf | | | | | +--rw address? simple-address | |||
| | +--ro as? inet:as-number | | | | +--:(as-number-lcaf) | |||
| | +--ro address? simple-address | | | | | +--rw as-number-lcaf | |||
| +--:(application-data) | | | | | +--rw as? inet:as-number | |||
| | +--ro application-data | | | | | +--rw address? simple-address | |||
| | +--ro address? simple-address | | | | +--:(application-data) | |||
| | +--ro protocol? uint8 | | | | | +--rw application-data | |||
| | +--ro ip-tos? int32 | | | | | +--rw address? simple-address | |||
| | +--ro local-port-low? inet:port-number | | | | | +--rw protocol? uint8 | |||
| | +--ro local-port-high? inet:port-number | | | | | +--rw ip-tos? int32 | |||
| | +--ro remote-port-low? inet:port-number | | | | | +--rw local-port-low? inet:port-number | |||
| | +--ro remote-port-high? inet:port-number | | | | | +--rw local-port-high? inet:port-number | |||
| +--:(geo-coordinates) | | | | | +--rw remote-port-low? inet:port-number | |||
| | +--ro geo-coordinates | | | | | +--rw remote-port-high? inet:port-number | |||
| | +--ro latitude? bits | | | | +--:(geo-coordinates) | |||
| | +--ro latitude-degrees? uint8 | | | | | +--rw geo-coordinates | |||
| | +--ro latitude-minutes? uint8 | | | | | +--rw latitude? bits | |||
| | +--ro latitude-seconds? uint8 | | | | | +--rw latitude-degrees? uint8 | |||
| | +--ro longitude? bits | | | | | +--rw latitude-minutes? uint8 | |||
| | +--ro longitude-degrees? uint16 | | | | | +--rw latitude-seconds? uint8 | |||
| | +--ro longitude-minutes? uint8 | | | | | +--rw longitude? bits | |||
| | +--ro longitude-seconds? uint8 | | | | | +--rw longitude-degrees? uint16 | |||
| | +--ro altitude? int32 | | | | | +--rw longitude-minutes? uint8 | |||
| | +--ro address? simple-address | | | | | +--rw longitude-seconds? uint8 | |||
| +--:(nat-traversal) | | | | | +--rw altitude? int32 | |||
| | +--ro nat-traversal | | | | | +--rw address? simple-address | |||
| | +--ro ms-udp-port? uint16 | | | | +--:(nat-traversal) | |||
| | +--ro etr-udp-port? uint16 | | | | | +--rw nat-traversal | |||
| | +--ro global-etr-rloc? simple-address | | | | | +--rw ms-udp-port? uint16 | |||
| | +--ro ms-rloc? simple-address | | | | | +--rw etr-udp-port? uint16 | |||
| | +--ro private-etr-rloc? simple-address | | | | | +--rw global-etr-rloc? simple-address | |||
| | +--ro rtr-rlocs* simple-address | | | | | +--rw ms-rloc? simple-address | |||
| +--:(explicit-locator-path) | | | | | +--rw private-etr-rloc? simple-address | |||
| | +--ro explicit-locator-path | | | | | +--rw rtr-rlocs* simple-address | |||
| | +--ro hop* [hop-id] | | | | +--:(explicit-locator-path) | |||
| | +--ro hop-id string | | | | | +--rw explicit-locator-path | |||
| | +--ro address? simple-address | | | | | +--rw hop* [hop-id] | |||
| | +--ro lrs-bits? bits | | | | | +--rw hop-id string | |||
| +--:(source-dest-key) | | | | | +--rw address? simple-address | |||
| | +--ro source-dest-key | | | | | +--rw lrs-bits? bits | |||
| | +--ro source? simple-address | | | | +--:(source-dest-key) | |||
| | +--ro dest? simple-address | | | | | +--rw source-dest-key | |||
| +--:(key-value-address) | | | | | +--rw source? simple-address | |||
| | +--ro key-value-address | | | | | +--rw dest? simple-address | |||
| | +--ro key? simple-address | | | | +--:(key-value-address) | |||
| | +--ro value? simple-address | | | | | +--rw key-value-address | |||
| +--:(service-path) | | | | | +--rw key? simple-address | |||
| +--ro service-path | | | | | +--rw value? simple-address | |||
| +--ro service-path-id? service-path-id-type | | | | +--:(service-path) | |||
| +--ro service-index? uint8 | | | | +--rw service-path | |||
+--ro ttl? uint32 | | | | +--rw service-path-id? service-path-id-type | |||
+--ro authoritative? bits | | | | +--rw service-index? uint8 | |||
+--ro static? boolean | | | +--rw time-to-live? uint32 | |||
+--ro (locator-list)? | | | +--rw creation-time? yang:date-and-time | |||
+--:(negative-mapping) | | | +--rw authoritative? bits | |||
| +--ro map-reply-action? map-reply-action | | | +--rw static? boolean | |||
+--:(positive-mapping) | | | +--rw (locator-list)? | |||
+--ro rlocs | | | +--:(negative-mapping) | |||
+--ro locator* [id] | | | | +--rw map-reply-action? map-reply-action | |||
+--ro id string | | | +--:(positive-mapping) | |||
+--ro locator-address | | | +--rw rlocs | |||
| +--ro address-type lisp-address-family-ref | | | +--rw locator* [id] | |||
| +--ro virtual-network-id? instance-id-type | | | +--rw id string | |||
| +--ro (address)? | | | +--rw locator-address | |||
| +--:(no-address) | | | | +--rw address-type lisp-address-family-ref | |||
| | +--ro no-address? empty | | | | +--rw virtual-network-id? instance-id-type | |||
| +--:(ipv4) | | | | +--rw (address)? | |||
| | +--ro ipv4? inet:ipv4-address | | | | +--:(no-address) | |||
| +--:(ipv4-prefix) | | | | | +--rw no-address? empty | |||
| | +--ro ipv4-prefix? inet:ipv4-prefix | | | | +--:(ipv4) | |||
| +--:(ipv6) | | | | | +--rw ipv4? inet:ipv4-address | |||
| | +--ro ipv6? inet:ipv6-address | | | | +--:(ipv4-prefix) | |||
| +--:(ipv6-prefix) | | | | | +--rw ipv4-prefix? inet:ipv4-prefix | |||
| | +--ro ipv6-prefix? inet:ipv6-prefix | | | | +--:(ipv6) | |||
| +--:(mac) | | | | | +--rw ipv6? inet:ipv6-address | |||
| | +--ro mac? yang:mac-address | | | | +--:(ipv6-prefix) | |||
| +--:(distinguished-name) | | | | | +--rw ipv6-prefix? inet:ipv6-prefix | |||
| | +--ro distinguished-name? distinguished-name-type | | | | +--:(mac) | |||
| +--:(as-number) | | | | | +--rw mac? yang:mac-address | |||
| | +--ro as-number? inet:as-number | | | | +--:(distinguished-name) | |||
| +--:(null-address) | | | | | +--rw distinguished-name? distinguished-name-type | |||
| | +--ro null-address | | | | +--:(as-number) | |||
| | +--ro address? empty | | | | | +--rw as-number? inet:as-number | |||
| +--:(afi-list) | | | | +--:(null-address) | |||
| | +--ro afi-list | | | | | +--rw null-address | |||
| | +--ro address-list* simple-address | | | | | +--rw address? empty | |||
| +--:(instance-id) | | | | +--:(afi-list) | |||
| | +--ro instance-id | | | | | +--rw afi-list | |||
| | +--ro iid? instance-id-type | | | | | +--rw address-list* simple-address | |||
| | +--ro mask-length? uint8 | | | | +--:(instance-id) | |||
| | +--ro address? simple-address | | | | | +--rw instance-id | |||
| +--:(as-number-lcaf) | | | | | +--rw iid? instance-id-type | |||
| | +--ro as-number-lcaf | | | | | +--rw mask-length? uint8 | |||
| | +--ro as? inet:as-number | | | | | +--rw address? simple-address | |||
| | +--ro address? simple-address | | | | +--:(as-number-lcaf) | |||
| +--:(application-data) | | | | | +--rw as-number-lcaf | |||
| | +--ro application-data | | | | | +--rw as? inet:as-number | |||
| | +--ro address? simple-address | | | | | +--rw address? simple-address | |||
| | +--ro protocol? uint8 | | | | +--:(application-data) | |||
| | +--ro ip-tos? int32 | | | | | +--rw application-data | |||
| | +--ro local-port-low? inet:port-number | | | | | +--rw address? simple-address | |||
| | +--ro local-port-high? inet:port-number | | | | | +--rw protocol? uint8 | |||
| | +--ro remote-port-low? inet:port-number | | | | | +--rw ip-tos? int32 | |||
| | +--ro remote-port-high? inet:port-number | | | | | +--rw local-port-low? inet:port-number | |||
| +--:(geo-coordinates) | | | | | +--rw local-port-high? inet:port-number | |||
| | +--ro geo-coordinates | | | | | +--rw remote-port-low? inet:port-number | |||
| | +--ro latitude? bits | | | | | +--rw remote-port-high? inet:port-number | |||
| | +--ro latitude-degrees? uint8 | | | | +--:(geo-coordinates) | |||
| | +--ro latitude-minutes? uint8 | | | | | +--rw geo-coordinates | |||
| | +--ro latitude-seconds? uint8 | | | | | +--rw latitude? bits | |||
| | +--ro longitude? bits | | | | | +--rw latitude-degrees? uint8 | |||
| | +--ro longitude-degrees? uint16 | | | | | +--rw latitude-minutes? uint8 | |||
| | +--ro longitude-minutes? uint8 | | | | | +--rw latitude-seconds? uint8 | |||
| | +--ro longitude-seconds? uint8 | | | | | +--rw longitude? bits | |||
| | +--ro altitude? int32 | | | | | +--rw longitude-degrees? uint16 | |||
| | +--ro address? simple-address | | | | | +--rw longitude-minutes? uint8 | |||
| +--:(nat-traversal) | | | | | +--rw longitude-seconds? uint8 | |||
| | +--ro nat-traversal | | | | | +--rw altitude? int32 | |||
| | +--ro ms-udp-port? uint16 | | | | | +--rw address? simple-address | |||
| | +--ro etr-udp-port? uint16 | | | | +--:(nat-traversal) | |||
| | +--ro global-etr-rloc? simple-address | | | | | +--rw nat-traversal | |||
| | +--ro ms-rloc? simple-address | | | | | +--rw ms-udp-port? uint16 | |||
| | +--ro private-etr-rloc? simple-address | | | | | +--rw etr-udp-port? uint16 | |||
| | +--ro rtr-rlocs* simple-address | | | | | +--rw global-etr-rloc? simple-address | |||
| +--:(explicit-locator-path) | | | | | +--rw ms-rloc? simple-address | |||
| | +--ro explicit-locator-path | | | | | +--rw private-etr-rloc? simple-address | |||
| | +--ro hop* [hop-id] | | | | | +--rw rtr-rlocs* simple-address | |||
| | +--ro hop-id string | | | | +--:(explicit-locator-path) | |||
| | +--ro address? simple-address | | | | | +--rw explicit-locator-path | |||
| | +--ro lrs-bits? bits | | | | | +--rw hop* [hop-id] | |||
| +--:(source-dest-key) | | | | | +--rw hop-id string | |||
| | +--ro source-dest-key | | | | | +--rw address? simple-address | |||
| | +--ro source? simple-address | | | | | +--rw lrs-bits? bits | |||
| | +--ro dest? simple-address | | | | +--:(source-dest-key) | |||
| +--:(key-value-address) | | | | | +--rw source-dest-key | |||
| | +--ro key-value-address | | | | | +--rw source? simple-address | |||
| | +--ro key? simple-address | | | | | +--rw dest? simple-address | |||
| | +--ro value? simple-address | | | | +--:(key-value-address) | |||
| +--:(service-path) | | | | | +--rw key-value-address | |||
| +--ro service-path | | | | | +--rw key? simple-address | |||
| +--ro service-path-id? service-path-id-type | | | | | +--rw value? simple-address | |||
| +--ro service-index? uint8 | | | | +--:(service-path) | |||
+--ro priority? uint8 | | | | +--rw service-path | |||
+--ro weight? uint8 | | | | +--rw service-path-id? service-path-id-type | |||
+--ro multicast-priority? uint8 | | | | +--rw service-index? uint8 | |||
+--ro multicast-weight? uint8 | | | +--rw priority? uint8 | |||
| | +--rw weight? uint8 | ||||
| | +--rw multicast-priority? uint8 | ||||
| | +--rw multicast-weight? uint8 | ||||
| +--ro counters | ||||
| +--ro map-registers-in? yang:counter32 | ||||
| +--ro map-registers-in-auth-failed? yang:counter32 | ||||
| +--ro map-notify-records-out? yang:counter32 | ||||
| +--ro proxy-reply-records-out? yang:counter32 | ||||
| +--ro map-requests-forwarded-out? yang:counter32 | ||||
+--rw mapping-system-type? lisp:mapping-system-ref | ||||
+--ro summary | ||||
| +--ro number-configured-sites? uint32 | ||||
| +--ro number-registered-sites? uint32 | ||||
| +--ro af-datum | ||||
| +--ro af-data* [address-type] | ||||
| +--ro address-type lcaf:lisp-address-family-ref | ||||
| +--ro number-configured-eids? uint32 | ||||
| +--ro number-registered-eids? uint32 | ||||
+--ro counters | ||||
+--ro map-registers-in? yang:counter32 | ||||
+--ro map-registers-in-auth-failed? yang:counter32 | ||||
+--ro map-notify-records-out? yang:counter32 | ||||
+--ro proxy-reply-records-out? yang:counter32 | ||||
+--ro map-requests-forwarded-out? yang:counter32 | ||||
5.2. Module Definition | 5.2. Module Definition | |||
<CODE BEGINS> file "ietf-lisp-mapserver@2016-06-30.yang" | <CODE BEGINS> file "ietf-lisp-mapserver@2017-07-01.yang" | |||
module ietf-lisp-mapserver { | module ietf-lisp-mapserver { | |||
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; | |||
import ietf-lisp { | import ietf-lisp { | |||
prefix lisp; | prefix lisp; | |||
} | } | |||
import ietf-lisp-address-types { | import ietf-lisp-address-types { | |||
prefix lcaf; | prefix lcaf; | |||
} | } | |||
import ietf-yang-types { | ||||
prefix yang; | ||||
revision-date 2013-07-15; | ||||
} | ||||
organization | organization | |||
"IETF LISP (Locator/ID Separation Protocol) Working Group"; | "IETF LISP (Locator/ID Separation Protocol) Working Group"; | |||
contact | contact | |||
"lisp@ietf.org"; | "lisp@ietf.org"; | |||
description | description | |||
"This YANG module defines the generic configuration | "This YANG module defines the generic parameters for a LISP | |||
data for a LISP Map-Server. The module can be extended by | Map-Server. The module can be extended by vendors to define | |||
vendors to define vendor-specific configuration parameters | vendor-specific parameters and policies. | |||
and policies. | ||||
Copyright (c) 2015 IETF Trust and the persons identified as | Copyright (c) 2015 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 6338; see | This version of this YANG module is part of RFC 6338; see | |||
the RFC itself for full legal notices. | the RFC itself for full legal notices. | |||
"; | "; | |||
revision 2016-06-30 { | revision 2017-07-01 { | |||
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 { | ||||
description "Group that defines map-server counters."; | ||||
container counters { | ||||
config false; | ||||
description "Container for the counters"; | ||||
leaf map-registers-in { | ||||
type yang:counter32; | ||||
description "Number of incoming Map-Register messages"; | ||||
} | ||||
leaf map-registers-in-auth-failed { | ||||
type yang:counter32; | ||||
description | ||||
"Number of incoming Map-Register messages failed | ||||
authentication"; | ||||
} | ||||
leaf map-notify-records-out { | ||||
type yang:counter32; | ||||
description | ||||
"Number of outgoing Map-Notify records"; | ||||
} | ||||
leaf proxy-reply-records-out { | ||||
type yang:counter32; | ||||
description | ||||
"Number of outgoing proxy Map-Reply records"; | ||||
} | ||||
leaf map-requests-forwarded-out { | ||||
type yang:counter32; | ||||
description | ||||
"Number of outgoing Map-Requests forwarded to ETR"; | ||||
} | ||||
} | ||||
} | ||||
augment "/lisp:lisp/lisp:lisp-router-instances" | augment "/lisp:lisp/lisp:lisp-router-instances" | |||
+ "/lisp:lisp-router-instance/lisp:lisp-role" { | + "/lisp:lisp-router-instance" { | |||
when "lisp:lisp-role-type = 'lisp-ms:ms'" { | when "lisp:lisp-role/lisp:lisp-role-type = 'lisp-ms:ms'" { | |||
description | description | |||
"Augment is valid when LISP device type is Map-Server."; | "Augment is valid when LISP device type is Map-Server."; | |||
} | } | |||
description | description | |||
"This augments LISP devices list with Map-Server specific | "This augments LISP devices list with Map-Server specific | |||
parameters."; | parameters."; | |||
container map-server-cfg { | container map-server { | |||
presence "LISP Map-Server operation enabled"; | ||||
description | description | |||
"Map-Server configuration parameters."; | "Map-Server parameters."; | |||
container sites { | container sites{ | |||
description | ||||
"Sites for which the Map-Server accepts registrations."; | ||||
list site { | ||||
key "site-id"; | ||||
description | description | |||
"List of sites for which the Map-Server acceptes | "Sites to accept registrations from."; | |||
registrations."; | list site { | |||
leaf site-id { | key site-id; | |||
type uint64; | ||||
description | ||||
"Site identifier."; | ||||
} | ||||
container auth-key { | ||||
description | description | |||
"Site authentication key."; | "Site that can send registrations."; | |||
leaf auth-key-value { | leaf site-id { | |||
type string; | type uint64; | |||
description | description "Site ID"; | |||
"Clear text authentication key"; | ||||
} | } | |||
leaf auth-key-type { | container auth-key { | |||
type lisp:auth-key-type; | ||||
description | description | |||
"Site authentication key."; | ||||
leaf auth-key-value { | ||||
type string; | ||||
description | ||||
"Clear text authentication key"; | ||||
} | ||||
leaf-list auth-key-type { | ||||
type lisp:auth-key-type; | ||||
description | ||||
"Authentication key type."; | "Authentication key type."; | |||
} | ||||
} | } | |||
} | } | |||
container eids { | } | |||
container virtual-network-ids { | ||||
description | ||||
"Sites for which the Map-Server accepts registrations."; | ||||
list virtual-network-identifier { | ||||
key "vni"; | ||||
description | ||||
"Virtual network instances in the Map-Server."; | ||||
leaf vni { | ||||
type lcaf:instance-id-type; | ||||
description | ||||
"Virtual network identifier."; | ||||
} | ||||
container mappings { | ||||
description | description | |||
"EIDs registered by device."; | "EIDs registered by device."; | |||
list eid { | list mapping { | |||
key "id"; | key "eid-id"; | |||
description | description | |||
"List of EIDs registered by device."; | "List of EIDs registered by device."; | |||
leaf id { | leaf eid-id { | |||
type lisp:eid-id; | type lisp:eid-id; | |||
description | description | |||
"Id of the EID registered."; | "Id of the EID registered."; | |||
} | } | |||
container eid-address { | container eid-address { | |||
uses lcaf:lisp-address; | uses lcaf:lisp-address; | |||
description | description | |||
"EID in generic LISP address format registered | "EID in generic LISP address format registered | |||
with the Map-Server."; | with the Map-Server."; | |||
} | } | |||
leaf-list site-id { | ||||
type uint64; | ||||
description "Site ID"; | ||||
} | ||||
leaf more-specifics-accepted { | leaf more-specifics-accepted { | |||
type boolean; | type boolean; | |||
default "false"; | default "false"; | |||
description | description | |||
"Flag indicating if more specific prefixes | "Flag indicating if more specific prefixes | |||
can be registered."; | can be registered."; | |||
} | } | |||
leaf mapping-expiration-timeout { | leaf mapping-expiration-timeout { | |||
type int16; | type int16; | |||
units "seconds"; | units "seconds"; | |||
default "180"; //3 times the mapregister int | default "180"; //3 times the mapregister int | |||
description | description | |||
"Time before mapping is expired if no new | "Time before mapping is expired if no new | |||
registrations are received."; | registrations are received."; | |||
} | } | |||
// This model can be augmented to have below for per-eid auth-key | container mapping-records { | |||
// leaf auth-key { | description | |||
// description "clear text authentication key"; | "Datastore of registred mappings."; | |||
// type string; | list mapping-record{ | |||
// } | key xtr-id; | |||
description | ||||
"Registered mapping."; | ||||
leaf xtr-id { | ||||
type lisp:xtr-id-type; | ||||
description "xTR ID"; | ||||
} | ||||
leaf site-id { | ||||
type uint64; | ||||
description "Site ID"; | ||||
} | ||||
uses lisp:mapping; | ||||
} | ||||
} | ||||
} | } | |||
} | } | |||
uses ms-counters; | ||||
} | } | |||
} | } | |||
leaf mapping-system-type { | leaf mapping-system-type { | |||
type lisp:mapping-system-ref; | type lisp:mapping-system-ref; | |||
description | description | |||
"A reference to the mapping system"; | "A reference to the mapping system"; | |||
} | } | |||
} | ||||
} | container summary { | |||
config false; | ||||
description "Summary state information"; | ||||
leaf number-configured-sites { | ||||
type uint32; | ||||
description "Number of configured LISP sites"; | ||||
} | ||||
leaf number-registered-sites { | ||||
type uint32; | ||||
description "Number of registered LISP sites"; | ||||
} | ||||
container af-datum { | ||||
description "Number of configured EIDs per each AF"; | ||||
augment "/lisp:lisp-state/lisp:lisp-router-instances" | list af-data { | |||
+ "/lisp:lisp-router-instance/lisp:lisp-role" { | key "address-type"; | |||
when "lisp:lisp-role-type = 'lisp-ms:ms'" { | description "Number of configured EIDs for this AF"; | |||
description | leaf address-type { | |||
"Augment is valid when LISP device type is Map-Server."; | type lcaf:lisp-address-family-ref; | |||
} | description "AF type"; | |||
description | } | |||
"This augments LISP devices list state with Map-Server | leaf number-configured-eids { | |||
specific parameters."; | type uint32; | |||
container ms-state { | description "Number of configured EIDs for this AF"; | |||
config false; | } | |||
description | leaf number-registered-eids { | |||
"Map-Server state."; | type uint32; | |||
container registered-mappings { | description "Number of registered EIDs for this AF"; | |||
uses lisp:mappings; | } | |||
description | } | |||
"Datastore of registred mappings."; | } | |||
} | } | |||
uses ms-counters; | ||||
} | } | |||
} | } | |||
} | } | |||
<CODE ENDS> | <CODE ENDS> | |||
6. LISP Map Resolver Module | 6. LISP-Map-Resolver Module | |||
This module captures the configuration data model of a LISP Map | This module captures the configuration data model of a LISP Map | |||
Resolver [RFC6833]. The model also captures some operational data | Resolver [RFC6833]. The model also captures some operational data | |||
elements. | elements. | |||
6.1. Module Structure | 6.1. Module Structure | |||
module: ietf-lisp-mapresolver | module: ietf-lisp-mapresolver | |||
augment /lisp:lisp/lisp:lisp-router-instances/lisp:lisp-router-instance/lisp:lisp-role: | augment /lisp:lisp/lisp:lisp-router-instances/lisp:lisp-router-instance: | |||
+--rw map-resolver-cfg | +--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@2016-06-30.yang" | <CODE BEGINS> file "ietf-lisp-mapresolver@2017-07-01.yang" | |||
module ietf-lisp-mapresolver { | module ietf-lisp-mapresolver { | |||
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; | |||
import ietf-lisp { | import ietf-lisp { | |||
prefix lisp; | prefix lisp; | |||
} | } | |||
import ietf-inet-types { | import ietf-inet-types { | |||
prefix inet; | prefix inet; | |||
} | } | |||
organization | organization | |||
"IETF LISP (Locator/ID Separation Protocol) Working Group"; | "IETF LISP (Locator/ID Separation Protocol) Working Group"; | |||
contact | contact | |||
"lisp@ietf.org"; | "lisp@ietf.org"; | |||
description | description | |||
"This YANG module defines the generic configuration | "This YANG module defines the generic parameters for a LISP | |||
data for a LISP Map-Resolver. The module can be extended by | Map-Resolver. The module can be extended by vendors to define | |||
vendors to define vendor-specific configuration parameters | vendor-specific parameters and policies. | |||
and policies. | ||||
Copyright (c) 2015 IETF Trust and the persons identified as | Copyright (c) 2015 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 6338; see | This version of this YANG module is part of RFC 6338; see | |||
the RFC itself for full legal notices. | the RFC itself for full legal notices. | |||
"; | "; | |||
revision 2016-06-30 { | revision 2017-07-01 { | |||
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."; | |||
} | } | |||
augment "/lisp:lisp/lisp:lisp-router-instances" | augment "/lisp:lisp/lisp:lisp-router-instances" | |||
+"/lisp:lisp-router-instance/lisp:lisp-role" { | +"/lisp:lisp-router-instance" { | |||
when "lisp:lisp-role-type = 'lisp-mr:mr'" { | when "lisp:lisp-role/lisp:lisp-role-type = 'lisp-mr:mr'" { | |||
description | description | |||
"Augment is valid when LISP device type is Map-Resolver."; | "Augment is valid when LISP device type is Map-Resolver."; | |||
} | } | |||
description | description | |||
"This augments LISP devices list with Map-Resolver specific | "This augments LISP devices list with Map-Resolver specific | |||
parameters."; | parameters."; | |||
container map-resolver-cfg { | container map-resolver { | |||
presence "LISP Map-Resolver operation enabled"; | ||||
description | description | |||
"Map-Resolver configuration parameters."; | "Map-Resolver parameters."; | |||
leaf mapping-system-type { | leaf mapping-system-type { | |||
type lisp:mapping-system-ref; | type lisp:mapping-system-ref; | |||
description | description | |||
"A reference to the mapping system"; | "A reference to the mapping system"; | |||
} | } | |||
leaf ms-address { | leaf ms-address { | |||
when "../mapping-system-type = 'lisp-mr:single-node-mapping-system'"; | when "../mapping-system-type='lisp-mr:single-node-mapping-system'"; | |||
type inet:ip-address; | type inet:ip-address; | |||
description | description | |||
"address to reach the Map Server when " | "address to reach the Map Server when " | |||
+ "lisp-mr:single-node-mapping-system is being used."; | + "lisp-mr:single-node-mapping-system is being used."; | |||
} | } | |||
}//map-resolver-cfg | } | |||
}//aug | } | |||
// TBD Operational model/container | ||||
// container cached-mappings { | ||||
// config false; | ||||
// uses mappings; | ||||
// } | ||||
} | } | |||
<CODE ENDS> | <CODE ENDS> | |||
7. LISP Proxy ITR Module | 7. LISP-Address-Types Module | |||
This module captures the configuration data model of a LISP Proxy ITR | ||||
[RFC6832]. The model may also capture some operational data | ||||
elements. | ||||
7.1. Module Structure | ||||
module: ietf-lisp-pitr | ||||
augment /lisp:lisp/lisp:lisp-router-instances/lisp:lisp-router-instance/lisp:lisp-role: | ||||
+--rw proxy-itr-cfg! | ||||
+--rw servicing-eids | ||||
| +--rw servicing-eid* [id] | ||||
| +--rw id lisp:eid-id | ||||
| +--rw eid-address | ||||
| +--rw address-type lisp-address-family-ref | ||||
| +--rw virtual-network-id? instance-id-type | ||||
| +--rw (address)? | ||||
| +--:(no-address) | ||||
| | +--rw no-address? empty | ||||
| +--:(ipv4) | ||||
| | +--rw ipv4? inet:ipv4-address | ||||
| +--:(ipv4-prefix) | ||||
| | +--rw ipv4-prefix? inet:ipv4-prefix | ||||
| +--:(ipv6) | ||||
| | +--rw ipv6? inet:ipv6-address | ||||
| +--:(ipv6-prefix) | ||||
| | +--rw ipv6-prefix? inet:ipv6-prefix | ||||
| +--:(mac) | ||||
| | +--rw mac? yang:mac-address | ||||
| +--:(distinguished-name) | ||||
| | +--rw distinguished-name? distinguished-name-type | ||||
| +--:(as-number) | ||||
| | +--rw as-number? inet:as-number | ||||
| +--:(null-address) | ||||
| | +--rw null-address | ||||
| | +--rw address? empty | ||||
| +--:(afi-list) | ||||
| | +--rw afi-list | ||||
| | +--rw address-list* simple-address | ||||
| +--:(instance-id) | ||||
| | +--rw instance-id | ||||
| | +--rw iid? instance-id-type | ||||
| | +--rw mask-length? uint8 | ||||
| | +--rw address? simple-address | ||||
| +--:(as-number-lcaf) | ||||
| | +--rw as-number-lcaf | ||||
| | +--rw as? inet:as-number | ||||
| | +--rw address? simple-address | ||||
| +--:(application-data) | ||||
| | +--rw application-data | ||||
| | +--rw address? simple-address | ||||
| | +--rw protocol? uint8 | ||||
| | +--rw ip-tos? int32 | ||||
| | +--rw local-port-low? inet:port-number | ||||
| | +--rw local-port-high? inet:port-number | ||||
| | +--rw remote-port-low? inet:port-number | ||||
| | +--rw remote-port-high? inet:port-number | ||||
| +--:(geo-coordinates) | ||||
| | +--rw geo-coordinates | ||||
| | +--rw latitude? bits | ||||
| | +--rw latitude-degrees? uint8 | ||||
| | +--rw latitude-minutes? uint8 | ||||
| | +--rw latitude-seconds? uint8 | ||||
| | +--rw longitude? bits | ||||
| | +--rw longitude-degrees? uint16 | ||||
| | +--rw longitude-minutes? uint8 | ||||
| | +--rw longitude-seconds? uint8 | ||||
| | +--rw altitude? int32 | ||||
| | +--rw address? simple-address | ||||
| +--:(nat-traversal) | ||||
| | +--rw nat-traversal | ||||
| | +--rw ms-udp-port? uint16 | ||||
| | +--rw etr-udp-port? uint16 | ||||
| | +--rw global-etr-rloc? simple-address | ||||
| | +--rw ms-rloc? simple-address | ||||
| | +--rw private-etr-rloc? simple-address | ||||
| | +--rw rtr-rlocs* simple-address | ||||
| +--:(explicit-locator-path) | ||||
| | +--rw explicit-locator-path | ||||
| | +--rw hop* [hop-id] | ||||
| | +--rw hop-id string | ||||
| | +--rw address? simple-address | ||||
| | +--rw lrs-bits? bits | ||||
| +--:(source-dest-key) | ||||
| | +--rw source-dest-key | ||||
| | +--rw source? simple-address | ||||
| | +--rw dest? simple-address | ||||
| +--:(key-value-address) | ||||
| | +--rw key-value-address | ||||
| | +--rw key? simple-address | ||||
| | +--rw value? simple-address | ||||
| +--:(service-path) | ||||
| +--rw service-path | ||||
| +--rw service-path-id? service-path-id-type | ||||
| +--rw service-index? uint8 | ||||
+--rw map-resolvers | ||||
| +--rw map-resolver* [id] | ||||
| +--rw id lisp:eid-id | ||||
| +--rw eid | ||||
| | +--rw address-type lisp-address-family-ref | ||||
| | +--rw virtual-network-id? instance-id-type | ||||
| | +--rw (address)? | ||||
| | +--:(no-address) | ||||
| | | +--rw no-address? empty | ||||
| | +--:(ipv4) | ||||
| | | +--rw ipv4? inet:ipv4-address | ||||
| | +--:(ipv4-prefix) | ||||
| | | +--rw ipv4-prefix? inet:ipv4-prefix | ||||
| | +--:(ipv6) | ||||
| | | +--rw ipv6? inet:ipv6-address | ||||
| | +--:(ipv6-prefix) | ||||
| | | +--rw ipv6-prefix? inet:ipv6-prefix | ||||
| | +--:(mac) | ||||
| | | +--rw mac? yang:mac-address | ||||
| | +--:(distinguished-name) | ||||
| | | +--rw distinguished-name? distinguished-name-type | ||||
| | +--:(as-number) | ||||
| | | +--rw as-number? inet:as-number | ||||
| | +--:(null-address) | ||||
| | | +--rw null-address | ||||
| | | +--rw address? empty | ||||
| | +--:(afi-list) | ||||
| | | +--rw afi-list | ||||
| | | +--rw address-list* simple-address | ||||
| | +--:(instance-id) | ||||
| | | +--rw instance-id | ||||
| | | +--rw iid? instance-id-type | ||||
| | | +--rw mask-length? uint8 | ||||
| | | +--rw address? simple-address | ||||
| | +--:(as-number-lcaf) | ||||
| | | +--rw as-number-lcaf | ||||
| | | +--rw as? inet:as-number | ||||
| | | +--rw address? simple-address | ||||
| | +--:(application-data) | ||||
| | | +--rw application-data | ||||
| | | +--rw address? simple-address | ||||
| | | +--rw protocol? uint8 | ||||
| | | +--rw ip-tos? int32 | ||||
| | | +--rw local-port-low? inet:port-number | ||||
| | | +--rw local-port-high? inet:port-number | ||||
| | | +--rw remote-port-low? inet:port-number | ||||
| | | +--rw remote-port-high? inet:port-number | ||||
| | +--:(geo-coordinates) | ||||
| | | +--rw geo-coordinates | ||||
| | | +--rw latitude? bits | ||||
| | | +--rw latitude-degrees? uint8 | ||||
| | | +--rw latitude-minutes? uint8 | ||||
| | | +--rw latitude-seconds? uint8 | ||||
| | | +--rw longitude? bits | ||||
| | | +--rw longitude-degrees? uint16 | ||||
| | | +--rw longitude-minutes? uint8 | ||||
| | | +--rw longitude-seconds? uint8 | ||||
| | | +--rw altitude? int32 | ||||
| | | +--rw address? simple-address | ||||
| | +--:(nat-traversal) | ||||
| | | +--rw nat-traversal | ||||
| | | +--rw ms-udp-port? uint16 | ||||
| | | +--rw etr-udp-port? uint16 | ||||
| | | +--rw global-etr-rloc? simple-address | ||||
| | | +--rw ms-rloc? simple-address | ||||
| | | +--rw private-etr-rloc? simple-address | ||||
| | | +--rw rtr-rlocs* simple-address | ||||
| | +--:(explicit-locator-path) | ||||
| | | +--rw explicit-locator-path | ||||
| | | +--rw hop* [hop-id] | ||||
| | | +--rw hop-id string | ||||
| | | +--rw address? simple-address | ||||
| | | +--rw lrs-bits? bits | ||||
| | +--:(source-dest-key) | ||||
| | | +--rw source-dest-key | ||||
| | | +--rw source? simple-address | ||||
| | | +--rw dest? simple-address | ||||
| | +--:(key-value-address) | ||||
| | | +--rw key-value-address | ||||
| | | +--rw key? simple-address | ||||
| | | +--rw value? simple-address | ||||
| | +--:(service-path) | ||||
| | +--rw service-path | ||||
| | +--rw service-path-id? service-path-id-type | ||||
| | +--rw service-index? uint8 | ||||
| +--rw address* inet:ip-address | ||||
+--rw itr-rlocs? -> /lisp:lisp/locator-sets/locator-set/locator-set-name | ||||
+--rw map-cache | ||||
+--rw mapping* [id] | ||||
+--rw id eid-id | ||||
+--rw eid | ||||
| +--rw address-type lisp-address-family-ref | ||||
| +--rw virtual-network-id? instance-id-type | ||||
| +--rw (address)? | ||||
| +--:(no-address) | ||||
| | +--rw no-address? empty | ||||
| +--:(ipv4) | ||||
| | +--rw ipv4? inet:ipv4-address | ||||
| +--:(ipv4-prefix) | ||||
| | +--rw ipv4-prefix? inet:ipv4-prefix | ||||
| +--:(ipv6) | ||||
| | +--rw ipv6? inet:ipv6-address | ||||
| +--:(ipv6-prefix) | ||||
| | +--rw ipv6-prefix? inet:ipv6-prefix | ||||
| +--:(mac) | ||||
| | +--rw mac? yang:mac-address | ||||
| +--:(distinguished-name) | ||||
| | +--rw distinguished-name? distinguished-name-type | ||||
| +--:(as-number) | ||||
| | +--rw as-number? inet:as-number | ||||
| +--:(null-address) | ||||
| | +--rw null-address | ||||
| | +--rw address? empty | ||||
| +--:(afi-list) | ||||
| | +--rw afi-list | ||||
| | +--rw address-list* simple-address | ||||
| +--:(instance-id) | ||||
| | +--rw instance-id | ||||
| | +--rw iid? instance-id-type | ||||
| | +--rw mask-length? uint8 | ||||
| | +--rw address? simple-address | ||||
| +--:(as-number-lcaf) | ||||
| | +--rw as-number-lcaf | ||||
| | +--rw as? inet:as-number | ||||
| | +--rw address? simple-address | ||||
| +--:(application-data) | ||||
| | +--rw application-data | ||||
| | +--rw address? simple-address | ||||
| | +--rw protocol? uint8 | ||||
| | +--rw ip-tos? int32 | ||||
| | +--rw local-port-low? inet:port-number | ||||
| | +--rw local-port-high? inet:port-number | ||||
| | +--rw remote-port-low? inet:port-number | ||||
| | +--rw remote-port-high? inet:port-number | ||||
| +--:(geo-coordinates) | ||||
| | +--rw geo-coordinates | ||||
| | +--rw latitude? bits | ||||
| | +--rw latitude-degrees? uint8 | ||||
| | +--rw latitude-minutes? uint8 | ||||
| | +--rw latitude-seconds? uint8 | ||||
| | +--rw longitude? bits | ||||
| | +--rw longitude-degrees? uint16 | ||||
| | +--rw longitude-minutes? uint8 | ||||
| | +--rw longitude-seconds? uint8 | ||||
| | +--rw altitude? int32 | ||||
| | +--rw address? simple-address | ||||
| +--:(nat-traversal) | ||||
| | +--rw nat-traversal | ||||
| | +--rw ms-udp-port? uint16 | ||||
| | +--rw etr-udp-port? uint16 | ||||
| | +--rw global-etr-rloc? simple-address | ||||
| | +--rw ms-rloc? simple-address | ||||
| | +--rw private-etr-rloc? simple-address | ||||
| | +--rw rtr-rlocs* simple-address | ||||
| +--:(explicit-locator-path) | ||||
| | +--rw explicit-locator-path | ||||
| | +--rw hop* [hop-id] | ||||
| | +--rw hop-id string | ||||
| | +--rw address? simple-address | ||||
| | +--rw lrs-bits? bits | ||||
| +--:(source-dest-key) | ||||
| | +--rw source-dest-key | ||||
| | +--rw source? simple-address | ||||
| | +--rw dest? simple-address | ||||
| +--:(key-value-address) | ||||
| | +--rw key-value-address | ||||
| | +--rw key? simple-address | ||||
| | +--rw value? simple-address | ||||
| +--:(service-path) | ||||
| +--rw service-path | ||||
| +--rw service-path-id? service-path-id-type | ||||
| +--rw service-index? uint8 | ||||
+--rw ttl? uint32 | ||||
+--rw authoritative? bits | ||||
+--rw static? boolean | ||||
+--rw (locator-list)? | ||||
+--:(negative-mapping) | ||||
| +--rw map-reply-action? map-reply-action | ||||
+--:(positive-mapping) | ||||
+--rw rlocs | ||||
+--rw locator* [id] | ||||
+--rw id string | ||||
+--rw locator-address | ||||
| +--rw address-type lisp-address-family-ref | ||||
| +--rw virtual-network-id? instance-id-type | ||||
| +--rw (address)? | ||||
| +--:(no-address) | ||||
| | +--rw no-address? empty | ||||
| +--:(ipv4) | ||||
| | +--rw ipv4? inet:ipv4-address | ||||
| +--:(ipv4-prefix) | ||||
| | +--rw ipv4-prefix? inet:ipv4-prefix | ||||
| +--:(ipv6) | ||||
| | +--rw ipv6? inet:ipv6-address | ||||
| +--:(ipv6-prefix) | ||||
| | +--rw ipv6-prefix? inet:ipv6-prefix | ||||
| +--:(mac) | ||||
| | +--rw mac? yang:mac-address | ||||
| +--:(distinguished-name) | ||||
| | +--rw distinguished-name? distinguished-name-type | ||||
| +--:(as-number) | ||||
| | +--rw as-number? inet:as-number | ||||
| +--:(null-address) | ||||
| | +--rw null-address | ||||
| | +--rw address? empty | ||||
| +--:(afi-list) | ||||
| | +--rw afi-list | ||||
| | +--rw address-list* simple-address | ||||
| +--:(instance-id) | ||||
| | +--rw instance-id | ||||
| | +--rw iid? instance-id-type | ||||
| | +--rw mask-length? uint8 | ||||
| | +--rw address? simple-address | ||||
| +--:(as-number-lcaf) | ||||
| | +--rw as-number-lcaf | ||||
| | +--rw as? inet:as-number | ||||
| | +--rw address? simple-address | ||||
| +--:(application-data) | ||||
| | +--rw application-data | ||||
| | +--rw address? simple-address | ||||
| | +--rw protocol? uint8 | ||||
| | +--rw ip-tos? int32 | ||||
| | +--rw local-port-low? inet:port-number | ||||
| | +--rw local-port-high? inet:port-number | ||||
| | +--rw remote-port-low? inet:port-number | ||||
| | +--rw remote-port-high? inet:port-number | ||||
| +--:(geo-coordinates) | ||||
| | +--rw geo-coordinates | ||||
| | +--rw latitude? bits | ||||
| | +--rw latitude-degrees? uint8 | ||||
| | +--rw latitude-minutes? uint8 | ||||
| | +--rw latitude-seconds? uint8 | ||||
| | +--rw longitude? bits | ||||
| | +--rw longitude-degrees? uint16 | ||||
| | +--rw longitude-minutes? uint8 | ||||
| | +--rw longitude-seconds? uint8 | ||||
| | +--rw altitude? int32 | ||||
| | +--rw address? simple-address | ||||
| +--:(nat-traversal) | ||||
| | +--rw nat-traversal | ||||
| | +--rw ms-udp-port? uint16 | ||||
| | +--rw etr-udp-port? uint16 | ||||
| | +--rw global-etr-rloc? simple-address | ||||
| | +--rw ms-rloc? simple-address | ||||
| | +--rw private-etr-rloc? simple-address | ||||
| | +--rw rtr-rlocs* simple-address | ||||
| +--:(explicit-locator-path) | ||||
| | +--rw explicit-locator-path | ||||
| | +--rw hop* [hop-id] | ||||
| | +--rw hop-id string | ||||
| | +--rw address? simple-address | ||||
| | +--rw lrs-bits? bits | ||||
| +--:(source-dest-key) | ||||
| | +--rw source-dest-key | ||||
| | +--rw source? simple-address | ||||
| | +--rw dest? simple-address | ||||
| +--:(key-value-address) | ||||
| | +--rw key-value-address | ||||
| | +--rw key? simple-address | ||||
| | +--rw value? simple-address | ||||
| +--:(service-path) | ||||
| +--rw service-path | ||||
| +--rw service-path-id? service-path-id-type | ||||
| +--rw service-index? uint8 | ||||
+--rw priority? uint8 | ||||
+--rw weight? uint8 | ||||
+--rw multicast-priority? uint8 | ||||
+--rw multicast-weight? uint8 | ||||
augment /lisp:lisp/lisp:lisp-router-instances/lisp:lisp-router-instance/lisp:lisp-role: | ||||
+--ro pitr-state | ||||
+--ro map-cache | ||||
+--ro mapping* [id] | ||||
+--ro id eid-id | ||||
+--ro eid | ||||
| +--ro address-type lisp-address-family-ref | ||||
| +--ro virtual-network-id? instance-id-type | ||||
| +--ro (address)? | ||||
| +--:(no-address) | ||||
| | +--ro no-address? empty | ||||
| +--:(ipv4) | ||||
| | +--ro ipv4? inet:ipv4-address | ||||
| +--:(ipv4-prefix) | ||||
| | +--ro ipv4-prefix? inet:ipv4-prefix | ||||
| +--:(ipv6) | ||||
| | +--ro ipv6? inet:ipv6-address | ||||
| +--:(ipv6-prefix) | ||||
| | +--ro ipv6-prefix? inet:ipv6-prefix | ||||
| +--:(mac) | ||||
| | +--ro mac? yang:mac-address | ||||
| +--:(distinguished-name) | ||||
| | +--ro distinguished-name? distinguished-name-type | ||||
| +--:(as-number) | ||||
| | +--ro as-number? inet:as-number | ||||
| +--:(null-address) | ||||
| | +--ro null-address | ||||
| | +--ro address? empty | ||||
| +--:(afi-list) | ||||
| | +--ro afi-list | ||||
| | +--ro address-list* simple-address | ||||
| +--:(instance-id) | ||||
| | +--ro instance-id | ||||
| | +--ro iid? instance-id-type | ||||
| | +--ro mask-length? uint8 | ||||
| | +--ro address? simple-address | ||||
| +--:(as-number-lcaf) | ||||
| | +--ro as-number-lcaf | ||||
| | +--ro as? inet:as-number | ||||
| | +--ro address? simple-address | ||||
| +--:(application-data) | ||||
| | +--ro application-data | ||||
| | +--ro address? simple-address | ||||
| | +--ro protocol? uint8 | ||||
| | +--ro ip-tos? int32 | ||||
| | +--ro local-port-low? inet:port-number | ||||
| | +--ro local-port-high? inet:port-number | ||||
| | +--ro remote-port-low? inet:port-number | ||||
| | +--ro remote-port-high? inet:port-number | ||||
| +--:(geo-coordinates) | ||||
| | +--ro geo-coordinates | ||||
| | +--ro latitude? bits | ||||
| | +--ro latitude-degrees? uint8 | ||||
| | +--ro latitude-minutes? uint8 | ||||
| | +--ro latitude-seconds? uint8 | ||||
| | +--ro longitude? bits | ||||
| | +--ro longitude-degrees? uint16 | ||||
| | +--ro longitude-minutes? uint8 | ||||
| | +--ro longitude-seconds? uint8 | ||||
| | +--ro altitude? int32 | ||||
| | +--ro address? simple-address | ||||
| +--:(nat-traversal) | ||||
| | +--ro nat-traversal | ||||
| | +--ro ms-udp-port? uint16 | ||||
| | +--ro etr-udp-port? uint16 | ||||
| | +--ro global-etr-rloc? simple-address | ||||
| | +--ro ms-rloc? simple-address | ||||
| | +--ro private-etr-rloc? simple-address | ||||
| | +--ro rtr-rlocs* simple-address | ||||
| +--:(explicit-locator-path) | ||||
| | +--ro explicit-locator-path | ||||
| | +--ro hop* [hop-id] | ||||
| | +--ro hop-id string | ||||
| | +--ro address? simple-address | ||||
| | +--ro lrs-bits? bits | ||||
| +--:(source-dest-key) | ||||
| | +--ro source-dest-key | ||||
| | +--ro source? simple-address | ||||
| | +--ro dest? simple-address | ||||
| +--:(key-value-address) | ||||
| | +--ro key-value-address | ||||
| | +--ro key? simple-address | ||||
| | +--ro value? simple-address | ||||
| +--:(service-path) | ||||
| +--ro service-path | ||||
| +--ro service-path-id? service-path-id-type | ||||
| +--ro service-index? uint8 | ||||
+--ro ttl? uint32 | ||||
+--ro authoritative? bits | ||||
+--ro static? boolean | ||||
+--ro (locator-list)? | ||||
+--:(negative-mapping) | ||||
| +--ro map-reply-action? map-reply-action | ||||
+--:(positive-mapping) | ||||
+--ro rlocs | ||||
+--ro locator* [id] | ||||
+--ro id string | ||||
+--ro locator-address | ||||
| +--ro address-type lisp-address-family-ref | ||||
| +--ro virtual-network-id? instance-id-type | ||||
| +--ro (address)? | ||||
| +--:(no-address) | ||||
| | +--ro no-address? empty | ||||
| +--:(ipv4) | ||||
| | +--ro ipv4? inet:ipv4-address | ||||
| +--:(ipv4-prefix) | ||||
| | +--ro ipv4-prefix? inet:ipv4-prefix | ||||
| +--:(ipv6) | ||||
| | +--ro ipv6? inet:ipv6-address | ||||
| +--:(ipv6-prefix) | ||||
| | +--ro ipv6-prefix? inet:ipv6-prefix | ||||
| +--:(mac) | ||||
| | +--ro mac? yang:mac-address | ||||
| +--:(distinguished-name) | ||||
| | +--ro distinguished-name? distinguished-name-type | ||||
| +--:(as-number) | ||||
| | +--ro as-number? inet:as-number | ||||
| +--:(null-address) | ||||
| | +--ro null-address | ||||
| | +--ro address? empty | ||||
| +--:(afi-list) | ||||
| | +--ro afi-list | ||||
| | +--ro address-list* simple-address | ||||
| +--:(instance-id) | ||||
| | +--ro instance-id | ||||
| | +--ro iid? instance-id-type | ||||
| | +--ro mask-length? uint8 | ||||
| | +--ro address? simple-address | ||||
| +--:(as-number-lcaf) | ||||
| | +--ro as-number-lcaf | ||||
| | +--ro as? inet:as-number | ||||
| | +--ro address? simple-address | ||||
| +--:(application-data) | ||||
| | +--ro application-data | ||||
| | +--ro address? simple-address | ||||
| | +--ro protocol? uint8 | ||||
| | +--ro ip-tos? int32 | ||||
| | +--ro local-port-low? inet:port-number | ||||
| | +--ro local-port-high? inet:port-number | ||||
| | +--ro remote-port-low? inet:port-number | ||||
| | +--ro remote-port-high? inet:port-number | ||||
| +--:(geo-coordinates) | ||||
| | +--ro geo-coordinates | ||||
| | +--ro latitude? bits | ||||
| | +--ro latitude-degrees? uint8 | ||||
| | +--ro latitude-minutes? uint8 | ||||
| | +--ro latitude-seconds? uint8 | ||||
| | +--ro longitude? bits | ||||
| | +--ro longitude-degrees? uint16 | ||||
| | +--ro longitude-minutes? uint8 | ||||
| | +--ro longitude-seconds? uint8 | ||||
| | +--ro altitude? int32 | ||||
| | +--ro address? simple-address | ||||
| +--:(nat-traversal) | ||||
| | +--ro nat-traversal | ||||
| | +--ro ms-udp-port? uint16 | ||||
| | +--ro etr-udp-port? uint16 | ||||
| | +--ro global-etr-rloc? simple-address | ||||
| | +--ro ms-rloc? simple-address | ||||
| | +--ro private-etr-rloc? simple-address | ||||
| | +--ro rtr-rlocs* simple-address | ||||
| +--:(explicit-locator-path) | ||||
| | +--ro explicit-locator-path | ||||
| | +--ro hop* [hop-id] | ||||
| | +--ro hop-id string | ||||
| | +--ro address? simple-address | ||||
| | +--ro lrs-bits? bits | ||||
| +--:(source-dest-key) | ||||
| | +--ro source-dest-key | ||||
| | +--ro source? simple-address | ||||
| | +--ro dest? simple-address | ||||
| +--:(key-value-address) | ||||
| | +--ro key-value-address | ||||
| | +--ro key? simple-address | ||||
| | +--ro value? simple-address | ||||
| +--:(service-path) | ||||
| +--ro service-path | ||||
| +--ro service-path-id? service-path-id-type | ||||
| +--ro service-index? uint8 | ||||
+--ro priority? uint8 | ||||
+--ro weight? uint8 | ||||
+--ro multicast-priority? uint8 | ||||
+--ro multicast-weight? uint8 | ||||
7.2. Module Definition | ||||
<CODE BEGINS> file "ietf-lisp-pitr@2016-06-30.yang" | ||||
module ietf-lisp-pitr { | ||||
namespace "urn:ietf:params:xml:ns:yang:ietf-lisp-pitr"; | ||||
prefix lisp-pitr; | ||||
import ietf-lisp { | ||||
prefix lisp; | ||||
} | ||||
import ietf-lisp-address-types { | ||||
prefix lcaf; | ||||
} | ||||
import ietf-inet-types { | ||||
prefix inet; | ||||
} | ||||
organization | ||||
"IETF LISP (Locator/ID Separation Protocol) Working Group"; | ||||
contact | ||||
"lisp@ietf.org"; | ||||
description | ||||
"This YANG module defines the generic configuration | ||||
data for a LISP PITR. The module can be extended by vendors | ||||
to define vendor-specific configuration parameters and | ||||
policies. | ||||
Copyright (c) 2015 IETF Trust and the persons identified as | ||||
authors of the code. All rights reserved. | ||||
Redistribution and use in source and binary forms, with or | ||||
without modification, is permitted pursuant to, and subject | ||||
to the license terms contained in, the Simplified BSD License | ||||
set forth in Section 4.c of the IETF Trust's Legal Provisions | ||||
Relating to IETF Documents | ||||
(http://trustee.ietf.org/license-info). | ||||
This version of this YANG module is part of RFC 6338; see | ||||
the RFC itself for full legal notices. | ||||
"; | ||||
revision 2016-06-30 { | ||||
description | ||||
"Initial revision."; | ||||
reference | ||||
"https://tools.ietf.org/html/rfc6832"; | ||||
} | ||||
identity pitr { | ||||
base lisp:lisp-role; | ||||
description | ||||
"LISP PITR."; | ||||
} | ||||
augment "/lisp:lisp/lisp:lisp-router-instances" | ||||
+ "/lisp:lisp-router-instance/lisp:lisp-role" { | ||||
when "lisp:lisp-role-type = 'lisp-pitr:pitr'" { | ||||
description | ||||
"Augment is valid when LISP device type is PITR."; | ||||
} | ||||
description | ||||
"This augments LISP devices list with PITR specific | ||||
parameters."; | ||||
container proxy-itr-cfg { | ||||
presence "LISP PITR operation enabled"; | ||||
description | ||||
"Proxy-ITR configuration parameters."; | ||||
uses lisp:servicing-eids-grouping; | ||||
container map-resolvers { | ||||
description | ||||
"Map-Resolvers configured for PITR."; | ||||
list map-resolver { | ||||
key "id"; | ||||
description | ||||
"List of Map-Resolvers configured for PITR."; | ||||
leaf id { | ||||
type lisp:eid-id; | ||||
description | ||||
"Id of EID for which the Map-Resolver is used."; | ||||
} | ||||
container eid { | ||||
uses lcaf:lisp-address; | ||||
description | ||||
"EID for which the Map-Resolver is used."; | ||||
} | ||||
leaf-list address { | ||||
type inet:ip-address; | ||||
min-elements 1; | ||||
description | ||||
"List of Map-Resolver's addresses."; | ||||
} | ||||
} | ||||
} | ||||
leaf itr-rlocs { | ||||
type leafref { | ||||
path "/lisp:lisp/lisp:locator-sets/lisp:locator-set/" | ||||
+ "lisp:locator-set-name"; | ||||
} | ||||
description | ||||
"Refrence to a locator set that the PITR includes in | ||||
Map-Requests"; | ||||
} | ||||
container map-cache{ | ||||
uses lisp:mappings; | ||||
description | ||||
"EID to RLOCs mappings cache."; | ||||
} | ||||
} | ||||
} | ||||
augment "/lisp:lisp/lisp:lisp-router-instances" | ||||
+ "/lisp:lisp-router-instance/lisp:lisp-role" { | ||||
when "lisp:lisp-role-type = 'lisp-pitr:pitr'" { | ||||
description | ||||
"Augment is valid when LISP device type is PITR."; | ||||
} | ||||
description | ||||
"This augments LISP devices list state with PITR specific | ||||
parameters."; | ||||
container pitr-state { | ||||
config false; | ||||
description | ||||
"ITR state."; | ||||
container map-cache { | ||||
uses lisp:mappings; | ||||
description | ||||
"EID to RLOCs mappings cache."; | ||||
} | ||||
} | ||||
} | ||||
} | ||||
<CODE ENDS> | ||||
8. LISP Proxy ETR Module | ||||
This module captures the configuration data model of a LISP Proxy ETR | ||||
[RFC6832]. The model may also capture some operational data | ||||
elements. | ||||
8.1. Module Structure | ||||
module: ietf-lisp-petr | ||||
augment /lisp:lisp/lisp:lisp-router-instances/lisp:lisp-router-instance/lisp:lisp-role: | ||||
+--rw proxy-etr-cfg! | ||||
+--rw servicing-eids | ||||
+--rw servicing-eid* [id] | ||||
+--rw id lisp:eid-id | ||||
+--rw eid-address | ||||
+--rw address-type lisp-address-family-ref | ||||
+--rw virtual-network-id? instance-id-type | ||||
+--rw (address)? | ||||
+--:(no-address) | ||||
| +--rw no-address? empty | ||||
+--:(ipv4) | ||||
| +--rw ipv4? inet:ipv4-address | ||||
+--:(ipv4-prefix) | ||||
| +--rw ipv4-prefix? inet:ipv4-prefix | ||||
+--:(ipv6) | ||||
| +--rw ipv6? inet:ipv6-address | ||||
+--:(ipv6-prefix) | ||||
| +--rw ipv6-prefix? inet:ipv6-prefix | ||||
+--:(mac) | ||||
| +--rw mac? yang:mac-address | ||||
+--:(distinguished-name) | ||||
| +--rw distinguished-name? distinguished-name-type | ||||
+--:(as-number) | ||||
| +--rw as-number? inet:as-number | ||||
+--:(null-address) | ||||
| +--rw null-address | ||||
| +--rw address? empty | ||||
+--:(afi-list) | ||||
| +--rw afi-list | ||||
| +--rw address-list* simple-address | ||||
+--:(instance-id) | ||||
| +--rw instance-id | ||||
| +--rw iid? instance-id-type | ||||
| +--rw mask-length? uint8 | ||||
| +--rw address? simple-address | ||||
+--:(as-number-lcaf) | ||||
| +--rw as-number-lcaf | ||||
| +--rw as? inet:as-number | ||||
| +--rw address? simple-address | ||||
+--:(application-data) | ||||
| +--rw application-data | ||||
| +--rw address? simple-address | ||||
| +--rw protocol? uint8 | ||||
| +--rw ip-tos? int32 | ||||
| +--rw local-port-low? inet:port-number | ||||
| +--rw local-port-high? inet:port-number | ||||
| +--rw remote-port-low? inet:port-number | ||||
| +--rw remote-port-high? inet:port-number | ||||
+--:(geo-coordinates) | ||||
| +--rw geo-coordinates | ||||
| +--rw latitude? bits | ||||
| +--rw latitude-degrees? uint8 | ||||
| +--rw latitude-minutes? uint8 | ||||
| +--rw latitude-seconds? uint8 | ||||
| +--rw longitude? bits | ||||
| +--rw longitude-degrees? uint16 | ||||
| +--rw longitude-minutes? uint8 | ||||
| +--rw longitude-seconds? uint8 | ||||
| +--rw altitude? int32 | ||||
| +--rw address? simple-address | ||||
+--:(nat-traversal) | ||||
| +--rw nat-traversal | ||||
| +--rw ms-udp-port? uint16 | ||||
| +--rw etr-udp-port? uint16 | ||||
| +--rw global-etr-rloc? simple-address | ||||
| +--rw ms-rloc? simple-address | ||||
| +--rw private-etr-rloc? simple-address | ||||
| +--rw rtr-rlocs* simple-address | ||||
+--:(explicit-locator-path) | ||||
| +--rw explicit-locator-path | ||||
| +--rw hop* [hop-id] | ||||
| +--rw hop-id string | ||||
| +--rw address? simple-address | ||||
| +--rw lrs-bits? bits | ||||
+--:(source-dest-key) | ||||
| +--rw source-dest-key | ||||
| +--rw source? simple-address | ||||
| +--rw dest? simple-address | ||||
+--:(key-value-address) | ||||
| +--rw key-value-address | ||||
| +--rw key? simple-address | ||||
| +--rw value? simple-address | ||||
+--:(service-path) | ||||
+--rw service-path | ||||
+--rw service-path-id? service-path-id-type | ||||
+--rw service-index? uint8 | ||||
8.2. Module Definition | ||||
<CODE BEGINS> file "ietf-lisp-petr@2016-06-30.yang" | ||||
module ietf-lisp-petr { | ||||
namespace "urn:ietf:params:xml:ns:yang:ietf-lisp-petr"; | ||||
prefix lisp-petr; | ||||
import ietf-lisp { | ||||
prefix lisp; | ||||
} | ||||
organization | ||||
"IETF LISP (Locator/ID Separation Protocol) Working Group"; | ||||
contact | ||||
"lisp@ietf.org"; | ||||
description | ||||
"This YANG module defines the generic configuration | ||||
data for a LISP PETR. The module can be extended by vendors to | ||||
define vendor-specific configuration parameters and policies. | ||||
Copyright (c) 2015 IETF Trust and the persons identified as | ||||
authors of the code. All rights reserved. | ||||
Redistribution and use in source and binary forms, with or | ||||
without modification, is permitted pursuant to, and subject | ||||
to the license terms contained in, the Simplified BSD License | ||||
set forth in Section 4.c of the IETF Trust's Legal Provisions | ||||
Relating to IETF Documents | ||||
(http://trustee.ietf.org/license-info). | ||||
This version of this YANG module is part of RFC 6338; see | ||||
the RFC itself for full legal notices. | ||||
"; | ||||
revision 2016-06-30 { | ||||
description | ||||
"Initial revision."; | ||||
reference | ||||
"https://tools.ietf.org/html/rfc6832"; | ||||
} | ||||
identity petr { | ||||
base lisp:lisp-role; | ||||
description | ||||
"LISP PETR."; | ||||
} | ||||
augment "/lisp:lisp/lisp:lisp-router-instances" | ||||
+ "/lisp:lisp-router-instance/lisp:lisp-role" { | ||||
when "lisp:lisp-role-type = 'lisp-petr:petr'" { | ||||
description | ||||
"Augment is valid when LISP device type is PETR."; | ||||
} | ||||
description | ||||
"This augments LISP devices list with PETR specific | ||||
parameters."; | ||||
container proxy-etr-cfg { | ||||
presence "LISP PETR operation enabled"; | ||||
description | ||||
"Proxy ETR configuration parameters."; | ||||
uses lisp:servicing-eids-grouping; | ||||
}//proxy-etr-cfg | ||||
} | ||||
} | ||||
<CODE ENDS> | ||||
9. LISP Address Types | ||||
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. | |||
9.1. Module Definition | 7.1. Module Definition | |||
<CODE BEGINS> file "ietf-lisp-address-types@2015-11-05.yang" | <CODE BEGINS> file "ietf-lisp-address-types@2015-11-05.yang" | |||
module ietf-lisp-address-types { | module ietf-lisp-address-types { | |||
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; | |||
revision-date 2013-07-15; | revision-date 2013-07-15; | |||
} | } | |||
import ietf-yang-types { | import ietf-yang-types { | |||
skipping to change at page 79, line 20 ¶ | skipping to change at page 54, line 5 ¶ | |||
description | description | |||
"Service path index for NSH header"; | "Service path index for NSH header"; | |||
} | } | |||
} | } | |||
} | } | |||
} | } | |||
} | } | |||
<CODE ENDS> | <CODE ENDS> | |||
10. 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 | |||
formated with the 'pyang' tool. | formated with the 'pyang' tool. | |||
11. IANA Considerations | 9. IANA Considerations | |||
This memo includes no request to IANA. | This memo includes no request to IANA. | |||
12. Security Considerations | 10. Security Considerations | |||
Security Considerations TBD | Security Considerations TBD | |||
13. Normative References | 11. Normative References | |||
[I-D.ietf-lisp-ddt] | ||||
Fuller, V., Lewis, D., Ermagan, V., Jain, A., and A. | ||||
Smirnov, "LISP Delegated Database Tree", draft-ietf-lisp- | ||||
ddt-08 (work in progress), September 2016. | ||||
[I-D.ietf-lisp-lcaf] | ||||
Farinacci, D., Meyer, D., and J. Snijders, "LISP Canonical | ||||
Address Format (LCAF)", draft-ietf-lisp-lcaf-22 (work in | ||||
progress), November 2016. | ||||
[RFC2119] Bradner, S., "Key words for use in RFCs to Indicate | [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate | |||
Requirement Levels", BCP 14, RFC 2119, | Requirement Levels", BCP 14, RFC 2119, | |||
DOI 10.17487/RFC2119, March 1997, | DOI 10.17487/RFC2119, March 1997, | |||
<http://www.rfc-editor.org/info/rfc2119>. | <http://www.rfc-editor.org/info/rfc2119>. | |||
[RFC6830] Farinacci, D., Fuller, V., Meyer, D., and D. Lewis, "The | [RFC6830] Farinacci, D., Fuller, V., Meyer, D., and D. Lewis, "The | |||
Locator/ID Separation Protocol (LISP)", RFC 6830, | Locator/ID Separation Protocol (LISP)", RFC 6830, | |||
DOI 10.17487/RFC6830, January 2013, | DOI 10.17487/RFC6830, January 2013, | |||
<http://www.rfc-editor.org/info/rfc6830>. | <http://www.rfc-editor.org/info/rfc6830>. | |||
[RFC6832] Lewis, D., Meyer, D., Farinacci, D., and V. Fuller, | [RFC6832] Lewis, D., Meyer, D., Farinacci, D., and V. Fuller, | |||
"Interworking between Locator/ID Separation Protocol | "Interworking between Locator/ID Separation Protocol | |||
(LISP) and Non-LISP Sites", RFC 6832. | (LISP) and Non-LISP Sites", RFC 6832, | |||
DOI 10.17487/RFC6832, January 2013, | ||||
<http://www.rfc-editor.org/info/rfc6832>. | ||||
[RFC6833] Fuller, V. and D. Farinacci, "Locator/ID Separation | [RFC6833] Fuller, V. and D. Farinacci, "Locator/ID Separation | |||
Protocol (LISP) Map-Server Interface", RFC 6833, | Protocol (LISP) Map-Server Interface", RFC 6833, | |||
DOI 10.17487/RFC6833, January 2013, | DOI 10.17487/RFC6833, January 2013, | |||
<http://www.rfc-editor.org/info/rfc6833>. | <http://www.rfc-editor.org/info/rfc6833>. | |||
[RFC6836] Fuller, V., Farinacci, D., Meyer, D., and D. Lewis, | [RFC6836] Fuller, V., Farinacci, D., Meyer, D., and D. Lewis, | |||
"Locator/ID Separation Protocol Alternative Logical | "Locator/ID Separation Protocol Alternative Logical | |||
Topology (LISP+ALT)", RFC 6836, DOI 10.17487/RFC6836, | Topology (LISP+ALT)", RFC 6836, DOI 10.17487/RFC6836, | |||
January 2013, <http://www.rfc-editor.org/info/rfc6836>. | January 2013, <http://www.rfc-editor.org/info/rfc6836>. | |||
[RFC8060] Farinacci, D., Meyer, D., and J. Snijders, "LISP Canonical | ||||
Address Format (LCAF)", RFC 8060, DOI 10.17487/RFC8060, | ||||
February 2017, <http://www.rfc-editor.org/info/rfc8060>. | ||||
[RFC8111] Fuller, V., Lewis, D., Ermagan, V., Jain, A., and A. | ||||
Smirnov, "Locator/ID Separation Protocol Delegated | ||||
Database Tree (LISP-DDT)", RFC 8111, DOI 10.17487/RFC8111, | ||||
May 2017, <http://www.rfc-editor.org/info/rfc8111>. | ||||
Authors' Addresses | Authors' Addresses | |||
Vina Ermagan | Vina Ermagan | |||
Cisco Systems | Cisco Systems | |||
170 Tasman Drive | ||||
San Jose, CA | San Jose, CA | |||
USA | USA | |||
Email: vermagan@cisco.com | Email: vermagan@cisco.com | |||
Alberto Rodriguez-Natal | Alberto Rodriguez-Natal | |||
Technical University of Catalonia | Cisco Systems | |||
Barcelona | San Jose, CA | |||
Spain | USA | |||
Email: arnatal@ac.upc.edu | Email: natal@cisco.com | |||
Florin Coras | Florin Coras | |||
Technical University of Catalonia | Cisco Systems | |||
Barcelona | San Jose, CA | |||
Spain | USA | |||
Email: fcoras@cisco.com | ||||
Email: fcoras@ac.upc.edu | ||||
Carl Moberg | Carl Moberg | |||
Cisco Systems | Cisco Systems | |||
170 W Tasman Dr | ||||
San Jose, CA | San Jose, CA | |||
USA | USA | |||
Email: camoberg@cisco.com | Email: camoberg@cisco.com | |||
Reshad Rahman | ||||
Cisco Systems | ||||
Canada | ||||
Email: rrahman@cisco.com | ||||
Albert Cabellos-Aparicio | Albert Cabellos-Aparicio | |||
Technical University of Catalonia | Technical University of Catalonia | |||
Barcelona | Barcelona | |||
Spain | Spain | |||
Email: acabello@ac.upc.edu | Email: acabello@ac.upc.edu | |||
Fabio Maino | Fabio Maino | |||
Cisco Systems | Cisco Systems | |||
170 Tasman Drive | ||||
San Jose, CA | San Jose, CA | |||
USA | USA | |||
Email: fmaino@cisco.com | Email: fmaino@cisco.com | |||
End of changes. 109 change blocks. | ||||
2531 lines changed or deleted | 1318 lines changed or added | |||
This html diff was produced by rfcdiff 1.45. The latest version is available from http://tools.ietf.org/tools/rfcdiff/ |