draft-ietf-lisp-yang-09.txt   draft-ietf-lisp-yang-10.txt 
LISP Working Group V. Ermagan LISP Working Group V. Ermagan
Internet-Draft A. Rodriguez-Natal Internet-Draft A. Rodriguez-Natal
Intended status: Experimental F. Coras Intended status: Experimental F. Coras
Expires: April 21, 2019 C. Moberg Expires: May 8, 2019 C. Moberg
R. Rahman R. Rahman
Cisco Systems Cisco Systems
A. Cabellos-Aparicio A. Cabellos-Aparicio
Technical University of Catalonia Technical University of Catalonia
F. Maino F. Maino
Cisco Systems Cisco Systems
October 18, 2018 November 4, 2018
LISP YANG Model LISP YANG Model
draft-ietf-lisp-yang-09 draft-ietf-lisp-yang-10
Abstract Abstract
This document describes a YANG data model to use with the Locator/ID This document describes a YANG data model to use with the Locator/ID
Separation Protocol (LISP). Separation Protocol (LISP).
The YANG modules in this document conform to the Network Management The YANG modules in this document conform to the Network Management
Datastore Architecture (NMDA). Datastore Architecture (NMDA).
Status of This Memo Status of This Memo
skipping to change at page 1, line 41 skipping to change at page 1, line 41
Internet-Drafts are working documents of the Internet Engineering Internet-Drafts are working documents of the Internet Engineering
Task Force (IETF). Note that other groups may also distribute Task Force (IETF). Note that other groups may also distribute
working documents as Internet-Drafts. The list of current Internet- working documents as Internet-Drafts. The list of current Internet-
Drafts is at https://datatracker.ietf.org/drafts/current/. Drafts is at https://datatracker.ietf.org/drafts/current/.
Internet-Drafts are draft documents valid for a maximum of six months Internet-Drafts are draft documents valid for a maximum of six months
and may be updated, replaced, or obsoleted by other documents at any and may be updated, replaced, or obsoleted by other documents at any
time. It is inappropriate to use Internet-Drafts as reference time. It is inappropriate to use Internet-Drafts as reference
material or to cite them other than as "work in progress." material or to cite them other than as "work in progress."
This Internet-Draft will expire on April 21, 2019. This Internet-Draft will expire on May 8, 2019.
Copyright Notice Copyright Notice
Copyright (c) 2018 IETF Trust and the persons identified as the Copyright (c) 2018 IETF Trust and the persons identified as the
document authors. All rights reserved. document authors. All rights reserved.
This document is subject to BCP 78 and the IETF Trust's Legal This document is subject to BCP 78 and the IETF Trust's Legal
Provisions Relating to IETF Documents Provisions Relating to IETF Documents
(https://trustee.ietf.org/license-info) in effect on the date of (https://trustee.ietf.org/license-info) in effect on the date of
publication of this document. Please review these documents publication of this document. Please review these documents
skipping to change at page 2, line 22 skipping to change at page 2, line 22
Table of Contents Table of Contents
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2
1.1. Requirements Language . . . . . . . . . . . . . . . . . . 3 1.1. Requirements Language . . . . . . . . . . . . . . . . . . 3
1.2. Tree Diagrams . . . . . . . . . . . . . . . . . . . . . . 3 1.2. Tree Diagrams . . . . . . . . . . . . . . . . . . . . . . 3
2. LISP Module . . . . . . . . . . . . . . . . . . . . . . . . . 3 2. LISP Module . . . . . . . . . . . . . . . . . . . . . . . . . 3
2.1. Module Structure . . . . . . . . . . . . . . . . . . . . 3 2.1. Module Structure . . . . . . . . . . . . . . . . . . . . 3
2.2. Module Definition . . . . . . . . . . . . . . . . . . . . 6 2.2. Module Definition . . . . . . . . . . . . . . . . . . . . 6
3. LISP-ITR Module . . . . . . . . . . . . . . . . . . . . . . . 16 3. LISP-ITR Module . . . . . . . . . . . . . . . . . . . . . . . 16
3.1. Module Structure . . . . . . . . . . . . . . . . . . . . 16 3.1. Module Structure . . . . . . . . . . . . . . . . . . . . 16
3.2. Module Definition . . . . . . . . . . . . . . . . . . . . 21 3.2. Module Definition . . . . . . . . . . . . . . . . . . . . 22
4. LISP-ETR Module . . . . . . . . . . . . . . . . . . . . . . . 25 4. LISP-ETR Module . . . . . . . . . . . . . . . . . . . . . . . 25
4.1. Module Structure . . . . . . . . . . . . . . . . . . . . 25 4.1. Module Structure . . . . . . . . . . . . . . . . . . . . 25
4.2. Module Definition . . . . . . . . . . . . . . . . . . . . 27 4.2. Module Definition . . . . . . . . . . . . . . . . . . . . 28
5. LISP-Map-Server Module . . . . . . . . . . . . . . . . . . . 32 5. LISP-Map-Server Module . . . . . . . . . . . . . . . . . . . 32
5.1. Module Structure . . . . . . . . . . . . . . . . . . . . 32 5.1. Module Structure . . . . . . . . . . . . . . . . . . . . 32
5.2. Module Definition . . . . . . . . . . . . . . . . . . . . 40 5.2. Module Definition . . . . . . . . . . . . . . . . . . . . 41
6. LISP-Map-Resolver Module . . . . . . . . . . . . . . . . . . 46 6. LISP-Map-Resolver Module . . . . . . . . . . . . . . . . . . 47
6.1. Module Structure . . . . . . . . . . . . . . . . . . . . 47 6.1. Module Structure . . . . . . . . . . . . . . . . . . . . 47
6.2. Module Definition . . . . . . . . . . . . . . . . . . . . 47 6.2. Module Definition . . . . . . . . . . . . . . . . . . . . 47
7. LISP-Address-Types Module . . . . . . . . . . . . . . . . . . 49 7. LISP-Address-Types Module . . . . . . . . . . . . . . . . . . 49
7.1. Module Definition . . . . . . . . . . . . . . . . . . . . 49 7.1. Module Definition . . . . . . . . . . . . . . . . . . . . 49
7.2. Data Model examples . . . . . . . . . . . . . . . . . . . 64 7.2. Data Model examples . . . . . . . . . . . . . . . . . . . 64
7.2.1. LISP protocol instance . . . . . . . . . . . . . . . 64 7.2.1. LISP protocol instance . . . . . . . . . . . . . . . 64
7.2.2. LISP ITR . . . . . . . . . . . . . . . . . . . . . . 65 7.2.2. LISP ITR . . . . . . . . . . . . . . . . . . . . . . 65
7.2.3. LISP ETR . . . . . . . . . . . . . . . . . . . . . . 66 7.2.3. LISP ETR . . . . . . . . . . . . . . . . . . . . . . 66
7.2.4. LISP Map-Server . . . . . . . . . . . . . . . . . . . 68 7.2.4. LISP Map-Server . . . . . . . . . . . . . . . . . . . 68
8. Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . 69 8. Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . 69
skipping to change at page 6, line 19 skipping to change at page 6, line 19
| +--rw site-id? uint64 | +--rw site-id? uint64
| +--rw xtr-id? lisp:xtr-id-type | +--rw xtr-id? lisp:xtr-id-type
+--rw virtual-networks +--rw virtual-networks
+--rw virtual-network* [vni] +--rw virtual-network* [vni]
+--rw vni lcaf:instance-id-type +--rw vni lcaf:instance-id-type
+--rw ni-name? +--rw ni-name?
-> /ni:network-instances/network-instance/name -> /ni:network-instances/network-instance/name
2.2. Module Definition 2.2. Module Definition
<CODE BEGINS> file "ietf-lisp@2018-06-29.yang" <CODE BEGINS> file "ietf-lisp@2018-11-04.yang"
module ietf-lisp { module ietf-lisp {
yang-version 1.1; yang-version 1.1;
namespace "urn:ietf:params:xml:ns:yang:ietf-lisp"; namespace "urn:ietf:params:xml:ns:yang:ietf-lisp";
prefix lisp; prefix lisp;
import ietf-interfaces { import ietf-interfaces {
prefix if; prefix if;
reference reference
skipping to change at page 7, line 43 skipping to change at page 7, line 43
set forth in Section 4.c of the IETF Trust's Legal Provisions set forth in Section 4.c of the IETF Trust's Legal Provisions
Relating to IETF Documents Relating to IETF Documents
(http://trustee.ietf.org/license-info). (http://trustee.ietf.org/license-info).
This version of this YANG module is part of RFC XXXX; see This version of this YANG module is part of RFC XXXX; see
the RFC itself for full legal notices. the RFC itself for full legal notices.
"; ";
reference "RFC XXXX"; reference "RFC XXXX";
revision 2018-06-29 { revision 2018-11-04 {
description description
"Initial revision."; "Initial revision.";
reference reference
"https://tools.ietf.org/html/rfc6830"; "https://tools.ietf.org/html/rfc6830";
} }
/* /*
* Identity definitions * Identity definitions
*/ */
identity lisp { identity lisp {
skipping to change at page 13, line 18 skipping to change at page 13, line 18
} }
grouping mappings { grouping mappings {
description description
"Group that defines a list of LISP mappings."; "Group that defines a list of LISP mappings.";
list virtual-network { list virtual-network {
key "vni"; key "vni";
description description
"Virtual network to which the mappings belong."; "Virtual network to which the mappings belong.";
leaf vni { leaf vni {
type lcaf:instance-id-type; type leafref {
path "/rt:routing/rt:control-plane-protocols"
+ "/rt:control-plane-protocol/lisp:lisp"
+ "/lisp:virtual-networks/lisp:virtual-network"
+ "/lisp:vni";
}
description description
"Virtual network identifier."; "Virtual network identifier.";
} }
container mappings { container mappings {
description description
"Mappings within the virtual network."; "Mappings within the virtual network.";
list mapping { list mapping {
key "id"; key "id";
description description
"List of EID to RLOCs mappings."; "List of EID to RLOCs mappings.";
skipping to change at page 15, line 32 skipping to change at page 15, line 38
container virtual-networks { container virtual-networks {
when "../lisp-role/lisp-role-type = 'itr' or when "../lisp-role/lisp-role-type = 'itr' or
../lisp-role/lisp-role-type = 'pitr' or ../lisp-role/lisp-role-type = 'pitr' or
../lisp-role/lisp-role-type = 'etr' or ../lisp-role/lisp-role-type = 'etr' or
../lisp-role/lisp-role-type = 'petr'" { ../lisp-role/lisp-role-type = 'petr'" {
description "Only when ITR, PITR, ETR or PETR."; description "Only when ITR, PITR, ETR or PETR.";
} }
description "Virtual networks"; description "Virtual networks";
list virtual-network { list virtual-network {
key vni; key vni;
unique "ni-name";
description "List of virtual networks"; description "List of virtual networks";
leaf vni { leaf vni {
type lcaf:instance-id-type; type lcaf:instance-id-type;
description description
"Virtual network identifier"; "Virtual network identifier";
} }
leaf ni-name { leaf ni-name {
type leafref { type leafref {
path "/ni:network-instances/ni:network-instance/ni:name"; path "/ni:network-instances/ni:network-instance/ni:name";
} }
mandatory true;
description description
"Name of Network Instance (e.g. VRF) to which a VNI is "Name of Network Instance (e.g. VRF) to which a VNI is
bound. Each VNI is bound to a different Network bound. Each VNI is bound to a different Network
Instance"; Instance";
} }
} }
} }
} }
} }
} }
<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
skipping to change at page 27, line 47 skipping to change at page 28, line 10
| | service-path-id-type | | service-path-id-type
| +--rw service-index? uint8 | +--rw service-index? uint8
+--rw rlocs? leafref +--rw rlocs? leafref
+--rw record-ttl? uint32 +--rw record-ttl? uint32
+--rw want-map-notify? boolean +--rw want-map-notify? boolean
+--rw proxy-reply? boolean +--rw proxy-reply? boolean
+--rw registration-interval? uint16 +--rw registration-interval? uint16
4.2. Module Definition 4.2. Module Definition
<CODE BEGINS> file "ietf-lisp-etr@2018-06-29.yang" <CODE BEGINS> file "ietf-lisp-etr@2018-09-06.yang"
module ietf-lisp-etr { module ietf-lisp-etr {
yang-version 1.1; yang-version 1.1;
namespace "urn:ietf:params:xml:ns:yang:ietf-lisp-etr"; namespace "urn:ietf:params:xml:ns:yang:ietf-lisp-etr";
prefix lisp-etr; prefix lisp-etr;
// RFC Ed.: replace occurences of XXXX with actual RFC number // RFC Ed.: replace occurences of XXXX with actual RFC number
// and remove this note // and remove this note
import ietf-lisp { import ietf-lisp {
prefix lisp; prefix lisp;
reference "RFC XXXX: LISP YANG model"; reference "RFC XXXX: LISP YANG model";
} }
import ietf-lisp-address-types { import ietf-lisp-address-types {
prefix lcaf; prefix lcaf;
skipping to change at page 29, line 14 skipping to change at page 29, line 26
set forth in Section 4.c of the IETF Trust's Legal Provisions set forth in Section 4.c of the IETF Trust's Legal Provisions
Relating to IETF Documents Relating to IETF Documents
(http://trustee.ietf.org/license-info). (http://trustee.ietf.org/license-info).
This version of this YANG module is part of RFC XXXX; see This version of this YANG module is part of RFC XXXX; see
the RFC itself for full legal notices. the RFC itself for full legal notices.
"; ";
reference "RFC XXXX"; reference "RFC XXXX";
revision 2018-06-29 { revision 2018-09-06 {
description description
"Initial revision."; "Initial revision.";
reference reference
"https://tools.ietf.org/html/rfc6830"; "https://tools.ietf.org/html/rfc6830";
} }
augment "/rt:routing/rt:control-plane-protocols" augment "/rt:routing/rt:control-plane-protocols"
+ "/rt:control-plane-protocol/lisp:lisp" { + "/rt:control-plane-protocol/lisp:lisp" {
when "lisp:lisp-role/lisp:lisp-role-type = 'lisp:etr' or when "lisp:lisp-role/lisp:lisp-role-type = 'lisp:etr' or
lisp:lisp-role/lisp:lisp-role-type = 'lisp:petr'" { lisp:lisp-role/lisp:lisp-role-type = 'lisp:petr'" {
description description
skipping to change at page 30, line 28 skipping to change at page 30, line 40
description description
"Container exists only when LISP device type is ETR."; "Container exists only when LISP device type is ETR.";
} }
description description
"Virtual networks served by the ETR."; "Virtual networks served by the ETR.";
list virtual-network { list virtual-network {
key "vni"; key "vni";
description description
"Virtual network for local-EIDs."; "Virtual network for local-EIDs.";
leaf vni { leaf vni {
type lcaf:instance-id-type; type leafref {
path "/rt:routing/rt:control-plane-protocols"
+ "/rt:control-plane-protocol/lisp:lisp"
+ "/lisp:virtual-networks/lisp:virtual-network"
+ "/lisp:vni";
}
description description
"Virtual network identifier."; "Virtual network identifier.";
} }
container eids { container eids {
description description
"EIDs served by the ETR."; "EIDs served by the ETR.";
list local-eid { list local-eid {
key "id"; key "id";
min-elements 1;
description description
"List of local EIDs."; "List of local EIDs.";
leaf id { leaf id {
type lisp:eid-id; type lisp:eid-id;
description description
"Unique id of local EID."; "Unique id of local EID.";
} }
container eid-address { container eid-address {
uses lcaf:lisp-address; uses lcaf:lisp-address;
description description
 End of changes. 19 change blocks. 
16 lines changed or deleted 28 lines changed or added

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