draft-ietf-lisp-yang-00.txt   draft-ietf-lisp-yang-01.txt 
Network Working Group V. Ermagan Network Working Group V. Ermagan
Internet-Draft Cisco Systems Internet-Draft Cisco Systems
Intended status: Experimental A. Rodriguez-Natal Intended status: Experimental A. Rodriguez-Natal
Expires: March 4, 2016 F. Coras Expires: June 19, 2016 F. Coras
Technical University of Catalonia Technical University of Catalonia
C. Moberg 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
September 1, 2015 December 17, 2015
LISP Configuration YANG Model LISP Configuration YANG Model
draft-ietf-lisp-yang-00 draft-ietf-lisp-yang-01
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 39
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 March 4, 2016. This Internet-Draft will expire on June 19, 2016.
Copyright Notice Copyright Notice
Copyright (c) 2015 IETF Trust and the persons identified as the Copyright (c) 2015 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
skipping to change at page 2, line 22 skipping to change at page 2, line 22
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2
2. LISP Module . . . . . . . . . . . . . . . . . . . . . . . . . 3 2. LISP Module . . . . . . . . . . . . . . . . . . . . . . . . . 3
2.1. Module Structure . . . . . . . . . . . . . . . . . . . . 3 2.1. Module Structure . . . . . . . . . . . . . . . . . . . . 3
2.2. Module Definition . . . . . . . . . . . . . . . . . . . . 3 2.2. Module Definition . . . . . . . . . . . . . . . . . . . . 3
3. LISP-ITR Module . . . . . . . . . . . . . . . . . . . . . . . 9 3. LISP-ITR Module . . . . . . . . . . . . . . . . . . . . . . . 9
3.1. Module Structure . . . . . . . . . . . . . . . . . . . . 9 3.1. Module Structure . . . . . . . . . . . . . . . . . . . . 9
3.2. Module Definition . . . . . . . . . . . . . . . . . . . . 22 3.2. Module Definition . . . . . . . . . . . . . . . . . . . . 22
4. LISP ETR Module . . . . . . . . . . . . . . . . . . . . . . . 26 4. LISP ETR Module . . . . . . . . . . . . . . . . . . . . . . . 26
4.1. Module Structure . . . . . . . . . . . . . . . . . . . . 26 4.1. Module Structure . . . . . . . . . . . . . . . . . . . . 26
4.2. Module Definition . . . . . . . . . . . . . . . . . . . . 30 4.2. Module Definition . . . . . . . . . . . . . . . . . . . . 30
5. LISP Map Server Module . . . . . . . . . . . . . . . . . . . 32 5. LISP Map Server Module . . . . . . . . . . . . . . . . . . . 33
5.1. Module Structure . . . . . . . . . . . . . . . . . . . . 33 5.1. Module Structure . . . . . . . . . . . . . . . . . . . . 33
5.2. Module Definition . . . . . . . . . . . . . . . . . . . . 43 5.2. Module Definition . . . . . . . . . . . . . . . . . . . . 43
6. LISP Map Resolver Module . . . . . . . . . . . . . . . . . . 47 6. LISP Map Resolver Module . . . . . . . . . . . . . . . . . . 47
6.1. Module Structure . . . . . . . . . . . . . . . . . . . . 47 6.1. Module Structure . . . . . . . . . . . . . . . . . . . . 48
6.2. Module Definition . . . . . . . . . . . . . . . . . . . . 48 6.2. Module Definition . . . . . . . . . . . . . . . . . . . . 48
7. LISP Proxy ITR Module . . . . . . . . . . . . . . . . . . . . 49 7. LISP Proxy ITR Module . . . . . . . . . . . . . . . . . . . . 50
7.1. Module Structure . . . . . . . . . . . . . . . . . . . . 50 7.1. Module Structure . . . . . . . . . . . . . . . . . . . . 50
7.2. Module Definition . . . . . . . . . . . . . . . . . . . . 59 7.2. Module Definition . . . . . . . . . . . . . . . . . . . . 59
8. LISP Proxy ETR Module . . . . . . . . . . . . . . . . . . . . 62 8. LISP Proxy ETR Module . . . . . . . . . . . . . . . . . . . . 62
8.1. Module Structure . . . . . . . . . . . . . . . . . . . . 62 8.1. Module Structure . . . . . . . . . . . . . . . . . . . . 62
8.2. Module Definition . . . . . . . . . . . . . . . . . . . . 64 8.2. Module Definition . . . . . . . . . . . . . . . . . . . . 64
9. LISP Address Types . . . . . . . . . . . . . . . . . . . . . 66 9. LISP Address Types . . . . . . . . . . . . . . . . . . . . . 66
9.1. Module Definition . . . . . . . . . . . . . . . . . . . . 66 9.1. Module Definition . . . . . . . . . . . . . . . . . . . . 66
10. Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . 78 10. Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . 80
11. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 78 11. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 80
12. Security Considerations . . . . . . . . . . . . . . . . . . . 78 12. Security Considerations . . . . . . . . . . . . . . . . . . . 80
13. Normative References . . . . . . . . . . . . . . . . . . . . 78 13. Normative References . . . . . . . . . . . . . . . . . . . . 80
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 79 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 81
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
skipping to change at page 3, line 27 skipping to change at page 3, line 27
| +--rw id string | +--rw id string
| +--rw enabled? boolean | +--rw enabled? boolean
+--ro lisp-state +--ro lisp-state
+--ro devices +--ro devices
+--ro device* [type id] +--ro device* [type id]
+--ro type device-ref +--ro type device-ref
+--ro id string +--ro id string
2.2. Module Definition 2.2. Module Definition
<CODE BEGINS> file "ietf-lisp@2014-12-19.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 lisp-address-types { import ietf-lisp-address-types {
prefix lcaf; prefix lcaf;
} }
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 configuration
and operational data for LISP. The module can be extended by and operational data for LISP. The module can be extended by
vendors to define vendor-specific LISP configuration vendors to define vendor-specific LISP configuration
skipping to change at page 9, line 16 skipping to change at page 9, line 16
leaf id { leaf id {
type string; type string;
description description
"Name of LISP device."; "Name of LISP device.";
} }
} }
} }
} }
} }
<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: lisp-itr module: ietf-lisp-itr
augment /lisp:lisp/lisp:devices/lisp:device: augment /lisp:lisp/lisp:devices/lisp:device:
+--rw itr-cfg! +--rw itr-cfg!
+--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 +--rw itr-rlocs
| +--rw itr-rloc* [id] | +--rw itr-rloc* [id]
| +--rw id string | +--rw id string
| +--rw address | +--rw address
skipping to change at page 22, line 17 skipping to change at page 22, line 19
| +--ro sourc-dest-key | +--ro sourc-dest-key
| +--ro source? inet:ip-prefix | +--ro source? inet:ip-prefix
| +--ro dest? inet:ip-prefix | +--ro dest? inet:ip-prefix
+--ro priority? uint8 +--ro priority? uint8
+--ro weight? uint8 +--ro weight? uint8
+--ro multicast-priority? uint8 +--ro multicast-priority? uint8
+--ro multicast-weight? uint8 +--ro multicast-weight? uint8
3.2. Module Definition 3.2. Module Definition
module lisp-itr { <CODE BEGINS> file "ietf-lisp-itr@2015-07-02.yang"
namespace "urn:ietf:params:xml:ns:yang:lisp-itr"; module 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 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
skipping to change at page 26, line 21 skipping to change at page 26, line 24
description description
"ITR state."; "ITR state.";
container learned-mappings { container learned-mappings {
uses lisp:mappings; uses lisp:mappings;
description description
"EID to RLOCs mappings cache."; "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: lisp-etr module: ietf-lisp-etr
augment /lisp:lisp/lisp:devices/lisp:device: augment /lisp:lisp/lisp:devices/lisp:device:
+--rw etr-cfg! +--rw etr-cfg!
+--rw local-eids +--rw local-eids
+--rw local-eid* [id] +--rw local-eid* [id]
+--rw id lisp:eid-id +--rw id lisp:eid-id
+--rw eid-address +--rw eid-address
| +--rw afi lisp-address-family-ref | +--rw afi lisp-address-family-ref
| +--rw instance-id? instance-id-type | +--rw instance-id? instance-id-type
| +--rw (address)? | +--rw (address)?
| +--:(ipv4) | +--:(ipv4)
skipping to change at page 30, line 7 skipping to change at page 30, line 8
| +--rw weight? uint8 | +--rw weight? uint8
| +--rw multicast-priority? uint8 | +--rw multicast-priority? uint8
| +--rw multicast-weight? uint8 | +--rw multicast-weight? uint8
+--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
module lisp-etr { <CODE BEGINS> file "ietf-lisp-etr@2015-07-02.yang"
namespace "urn:ietf:params:xml:ns:yang:lisp-etr"; module 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 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 configuration
data for a LISP ETR. The module can be extended by vendors data for a LISP ETR. The module can be extended by vendors
to define vendor-specific configuration parameters and to define vendor-specific configuration 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.
skipping to change at page 32, line 45 skipping to change at page 32, line 48
units "seconds"; units "seconds";
default "60"; default "60";
description description
"Interval between consecutive Map-Register messages."; "Interval between consecutive Map-Register messages.";
} }
} }
} }
} }
} }
} }
<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: lisp-map-server module: ietf-lisp-mapserver
augment /lisp:lisp/lisp:devices/lisp:device: augment /lisp:lisp/lisp:devices/lisp:device:
+--rw map-server-cfg! +--rw map-server-cfg!
+--rw sites +--rw sites
| +--rw site* [site-id] | +--rw site* [site-id]
| +--rw site-id uint64 | +--rw site-id uint64
| +--rw devices | +--rw devices
| +--rw device* [device-id] | +--rw device* [device-id]
| +--rw device-id uint64 | +--rw device-id uint64
| +--rw auth-key | +--rw auth-key
| | +--rw auth-key-value? string | | +--rw auth-key-value? string
skipping to change at page 43, line 11 skipping to change at page 43, line 17
| +--ro sourc-dest-key | +--ro sourc-dest-key
| +--ro source? inet:ip-prefix | +--ro source? inet:ip-prefix
| +--ro dest? inet:ip-prefix | +--ro dest? inet:ip-prefix
+--ro priority? uint8 +--ro priority? uint8
+--ro weight? uint8 +--ro weight? uint8
+--ro multicast-priority? uint8 +--ro multicast-priority? uint8
+--ro multicast-weight? uint8 +--ro multicast-weight? uint8
5.2. Module Definition 5.2. Module Definition
module lisp-map-server { <CODE BEGINS> file "ietf-lisp-mapserver@2015-07-02.yang"
namespace "urn:ietf:params:xml:ns:yang:lisp-map-server"; module 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 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
skipping to change at page 44, line 36 skipping to change at page 44, line 43
list site { list site {
key "site-id"; key "site-id";
description description
"List of sites for which the Map-Server acceptes "List of sites for which the Map-Server acceptes
registrations."; registrations.";
leaf site-id { leaf site-id {
type uint64; type uint64;
description description
"Site identifier."; "Site identifier.";
} }
//VINA: can be augmented to have below for per site auth-key //Can be augmented to have below for per site auth-key
// leaf auth-key { // leaf auth-key {
// description "clear text authentication key"; // description "clear text authentication key";
// type string; // type string;
// } // }
container devices { container devices {
description description
"Site devices registered with the Map-Server."; "Site devices registered with the Map-Server.";
list device { list device {
key "device-id"; key "device-id";
description description
skipping to change at page 46, line 4 skipping to change at page 46, line 11
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.";
} }
// Can be augmented to have below for per-eid auth-key
// VINA: can be augmented to have below for per-eid auth-key
// leaf auth-key { // leaf auth-key {
// description "clear text authentication key"; // description "clear text authentication key";
// type string; // type string;
// } // }
} }
} }
} }
} }
} }
} }
skipping to change at page 47, line 35 skipping to change at page 47, line 41
description description
"Map-Server state."; "Map-Server state.";
container registered-mappings { container registered-mappings {
uses lisp:mappings; uses lisp:mappings;
description description
"Datastore of registred mappings."; "Datastore of registred mappings.";
} }
} }
} }
} }
<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: lisp-map-resolver module: ietf-lisp-mapresolver
augment /lisp:lisp/lisp:devices/lisp:device: augment /lisp:lisp/lisp:devices/lisp:device:
+--rw map-resolver-cfg! +--rw map-resolver-cfg!
+--rw (mapping-system) +--rw (mapping-system)
+--:(ddt-mapping-system) +--:(ddt-mapping-system)
| +--rw ddt-mapping-system! | +--rw ddt-mapping-system!
| +--rw ddt-root* inet:ip-address | +--rw ddt-root* inet:ip-address
+--:(alt-mapping-system) +--:(alt-mapping-system)
+--rw alt-mapping-system! +--rw alt-mapping-system!
6.2. Module Definition 6.2. Module Definition
module lisp-map-resolver { <CODE BEGINS> file "ietf-lisp-mapresolver@2015-07-02.yang"
namespace "urn:ietf:params:xml:ns:yang:lisp-map-resolver"; module 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
skipping to change at page 49, line 34 skipping to change at page 49, line 47
"List of DDT root addresses."; "List of DDT root addresses.";
} }
} }
container alt-mapping-system{ container alt-mapping-system{
presence "ALT Mapping System in use"; presence "ALT Mapping System in use";
description description
"ALT mapping system interface."; "ALT mapping system interface.";
// TBD // TBD
} }
} }
// VE: move to operational model/container
// container mappings {
// config false;
// uses mappings;
// }
} }
} }
// FC : should we add as operational data
// cached mappings?
} }
<CODE ENDS>
7. LISP Proxy ITR Module 7. LISP Proxy ITR Module
This module captures the configuration data model of a LISP Proxy ITR This module captures the configuration data model of a LISP Proxy ITR
[RFC6832]. The model may also capture some operational data [RFC6832]. The model may also capture some operational data
elements. elements.
7.1. Module Structure 7.1. Module Structure
module: lisp-pitr module: ietf-lisp-pitr
augment /lisp:lisp/lisp:devices/lisp:device: augment /lisp:lisp/lisp:devices/lisp:device:
+--rw proxy-itr-cfg! +--rw proxy-itr-cfg!
+--rw servicing-eids +--rw servicing-eids
| +--rw eid* [id] | +--rw eid* [id]
| +--rw id lisp:eid-id | +--rw id lisp:eid-id
| +--rw eid-address | +--rw eid-address
| +--rw afi lisp-address-family-ref | +--rw afi lisp-address-family-ref
| +--rw instance-id? instance-id-type | +--rw instance-id? instance-id-type
| +--rw (address)? | +--rw (address)?
| +--:(ipv4) | +--:(ipv4)
skipping to change at page 59, line 43 skipping to change at page 59, line 49
| +--ro sourc-dest-key | +--ro sourc-dest-key
| +--ro source? inet:ip-prefix | +--ro source? inet:ip-prefix
| +--ro dest? inet:ip-prefix | +--ro dest? inet:ip-prefix
+--ro priority? uint8 +--ro priority? uint8
+--ro weight? uint8 +--ro weight? uint8
+--ro multicast-priority? uint8 +--ro multicast-priority? uint8
+--ro multicast-weight? uint8 +--ro multicast-weight? uint8
7.2. Module Definition 7.2. Module Definition
module lisp-pitr { <CODE BEGINS> file "ietf-lisp-pitr@2015-07-02.yang"
namespace "urn:ietf:params:xml:ns:yang:lisp-pitr"; module ietf-lisp-pitr {
namespace "urn:ietf:params:xml:ns:yang:ietf-lisp-pitr";
prefix lisp-pitr; prefix lisp-pitr;
import ietf-lisp { import ietf-lisp {
prefix lisp; prefix lisp;
} }
import 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
skipping to change at page 62, line 29 skipping to change at page 62, line 36
description description
"ITR state."; "ITR state.";
container learned-mappings { container learned-mappings {
uses lisp:mappings; uses lisp:mappings;
description description
"EID to RLOCs mappings cache."; "EID to RLOCs mappings cache.";
} }
} }
} }
} }
<CODE ENDS>
8. LISP Proxy ETR Module 8. LISP Proxy ETR Module
This module captures the configuration data model of a LISP Proxy ETR This module captures the configuration data model of a LISP Proxy ETR
[RFC6832]. The model may also capture some operational data [RFC6832]. The model may also capture some operational data
elements. elements.
8.1. Module Structure 8.1. Module Structure
module: lisp-petr module: ietf-lisp-petr
augment /lisp:lisp/lisp:devices/lisp:device: augment /lisp:lisp/lisp:devices/lisp:device:
+--rw proxy-etr-cfg! +--rw proxy-etr-cfg!
+--rw servicing-eids +--rw servicing-eids
+--rw eid* [id] +--rw eid* [id]
+--rw id lisp:eid-id +--rw id lisp:eid-id
+--rw eid-address +--rw eid-address
+--rw afi lisp-address-family-ref +--rw afi lisp-address-family-ref
+--rw instance-id? instance-id-type +--rw instance-id? instance-id-type
+--rw (address)? +--rw (address)?
+--:(ipv4) +--:(ipv4)
skipping to change at page 64, line 20 skipping to change at page 64, line 28
| +--rw hop* [address] | +--rw hop* [address]
| +--rw address simple-address | +--rw address simple-address
| +--rw lrs-bits? bits | +--rw lrs-bits? bits
+--:(sourc-dest-key) +--:(sourc-dest-key)
+--rw sourc-dest-key +--rw sourc-dest-key
+--rw source? inet:ip-prefix +--rw source? inet:ip-prefix
+--rw dest? inet:ip-prefix +--rw dest? inet:ip-prefix
8.2. Module Definition 8.2. Module Definition
module lisp-petr { <CODE BEGINS> file "ietf-lisp-petr@2015-07-02.yang"
namespace "urn:ietf:params:xml:ns:yang:lisp-petr"; module ietf-lisp-petr {
namespace "urn:ietf:params:xml:ns:yang:ietf-lisp-petr";
prefix lisp-petr; prefix lisp-petr;
import ietf-lisp { import ietf-lisp {
prefix lisp; prefix lisp;
} }
import lisp-address-types { import ietf-lisp-address-types {
prefix lcaf; prefix lcaf;
} }
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 configuration
data for a LISP PETR. The module can be extended by vendors to data for a LISP PETR. The module can be extended by vendors to
define vendor-specific configuration parameters and policies. define vendor-specific configuration parameters and policies.
skipping to change at page 65, line 43 skipping to change at page 66, line 4
leaf id { leaf id {
type lisp:eid-id; type lisp:eid-id;
description description
"Id of serviced EID."; "Id of serviced EID.";
} }
container eid-address { container eid-address {
uses lcaf:lisp-address; uses lcaf:lisp-address;
description description
"Serviced EID in generic LISP address format."; "Serviced EID in generic LISP address format.";
} }
} }
} }
} }
} }
} }
<CODE ENDS>
9. LISP Address Types 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 9.1. Module Definition
module lisp-address-types { <CODE BEGINS> file "ietf-lisp-address-types@2015-11-05.yang"
namespace "urn:ietf:params:xml:ns:yang:lisp-address-types"; module 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 2010-09-24;
} }
import ietf-yang-types { import ietf-yang-types {
prefix yang; prefix yang;
//revision-date 2010-09-24;
} }
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 LISP Canonical Address Formats "This YANG module defines the LISP Canonical Address Formats
(LCAF) for LISP. The module can be extended by vendors to (LCAF) for LISP. The module can be extended by vendors to
define vendor-specific parameters. define vendor-specific parameters.
skipping to change at page 66, line 44 skipping to change at page 67, line 6
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 2015-03-09 { revision 2015-11-05 {
description description
"Initial revision."; "Initial revision.";
reference reference
"http://tools.ietf.org/html/draft-ietf-lisp-lcaf-10"; "http://tools.ietf.org/html/draft-ietf-lisp-lcaf-10";
} }
identity lisp-address-family { identity lisp-address-family {
description description
"Base identity from which identities describing LISP address "Base identity from which identities describing LISP address
families are derived."; families are derived.";
} }
identity ipv4 { identity no-address-afi {
base lisp-address-family;
description
"IANA Reserved.";
}
identity ipv4-afi {
base lisp-address-family; base lisp-address-family;
description description
"IANA IPv4 address family."; "IANA IPv4 address family.";
} }
identity ipv6 { identity ipv4-prefix-afi {
base lisp-address-family;
description
"IANA IPv4 address family prefix.";
}
identity ipv6-afi {
base lisp-address-family; base lisp-address-family;
description description
"IANA IPv6 address family."; "IANA IPv6 address family.";
} }
identity mac { identity ipv6-prefix-afi {
base lisp-address-family;
description
"IANA IPv6 address family prefix.";
}
identity mac-afi {
base lisp-address-family; base lisp-address-family;
description description
"IANA MAC address family."; "IANA MAC address family.";
} }
identity distinguished-name { identity distinguished-name-afi {
base lisp-address-family; base lisp-address-family;
description description
"IANA Distinguished Name address family."; "IANA Distinguished Name address family.";
} }
identity as-number-afi {
base lisp-address-family;
description
"IANA AS Number address family.";
}
identity lcaf { identity lcaf {
base lisp-address-family; base lisp-address-family;
description description
"IANA LISP Canonical Address Format address family."; "IANA LISP Canonical Address Format address family.";
} }
identity null-address { identity null-address-lcaf {
base lcaf; base lcaf;
description description
"Null body LCAF type."; "Null body LCAF type.";
} }
identity afi-list { identity afi-list-lcaf {
base lcaf; base lcaf;
description description
"AFI-List LCAF type."; "AFI-List LCAF type.";
} }
identity instance-id { identity instance-id-lcaf {
base lcaf; base lcaf;
description description
"Instance-ID LCAF type."; "Instance-ID LCAF type.";
} }
identity as-number { identity as-number-lcaf {
base lcaf; base lcaf;
description description
"AS Number LCAF type."; "AS Number LCAF type.";
} }
identity application-data { identity application-data-lcaf {
base lcaf; base lcaf;
description description
"Application Data LCAF type."; "Application Data LCAF type.";
} }
identity geo-coordinates { identity geo-coordinates-lcaf {
base lcaf; base lcaf;
description description
"Geo-coordinates LCAF type."; "Geo-coordinates LCAF type.";
} }
identity opaque-key { identity opaque-key-lcaf {
base lcaf; base lcaf;
description description
"Opaque Key LCAF type."; "Opaque Key LCAF type.";
} }
identity nat-traversal { identity nat-traversal-lcaf {
base lcaf; base lcaf;
description description
"NAT-Traversal LCAF type."; "NAT-Traversal LCAF type.";
} }
identity nonce-locator { identity nonce-locator-lcaf {
base lcaf; base lcaf;
description description
"Nonce-Locator LCAF type."; "Nonce-Locator LCAF type.";
} }
identity multicast-info { identity multicast-info-lcaf {
base lcaf; base lcaf;
description description
"Multicast Info LCAF type."; "Multicast Info LCAF type.";
} }
identity explicit-locator-path { identity explicit-locator-path-lcaf {
base lcaf; base lcaf;
description description
"Explicit Locator Path LCAF type."; "Explicit Locator Path LCAF type.";
} }
identity security-key { identity security-key-lcaf {
base lcaf; base lcaf;
description description
"Security Key LCAF type."; "Security Key LCAF type.";
} }
identity source-dest-key { identity source-dest-key-lcaf {
base lcaf; base lcaf;
description description
"Source/Dest LCAF type."; "Source/Dest LCAF type.";
} }
identity replication-list { identity replication-list-lcaf {
base lcaf; base lcaf;
description description
"Replication-List LCAF type."; "Replication-List LCAF type.";
} }
identity json-data-model { identity json-data-model-lcaf {
base lcaf; base lcaf;
description description
"JSON Data Model LCAF type."; "JSON Data Model LCAF type.";
} }
identity key-value-address { identity key-value-address-lcaf {
base lcaf; base lcaf;
description description
"Key-Value LCAF type."; "Key/Value Address LCAF type.";
} }
identity encapsulation-format { identity encapsulation-format-lcaf {
base lcaf; base lcaf;
description description
"Encapsulation Format LCAF type."; "Encapsulation Format LCAF type.";
} }
identity service-path-lcaf {
base lcaf;
description
"Service Path LCAF type.";
}
typedef instance-id-type { typedef instance-id-type {
type uint32 { type uint32 {
range "0..16777214"; range "0..16777215";
} }
description description
"Defines the range of values for an Instance ID."; "Defines the range of values for an Instance ID.";
} }
typedef simple-address { typedef service-path-id-type {
type union { type uint32 {
type inet:ip-address; range "0..16777215";
type inet:ip-prefix;
type yang:mac-address;
type distinguished-name;
} }
description description
"Union of address types that can be part of LCAFs."; "Defines the range of values for a Service Path ID.";
} }
typedef distinguished-name { typedef distinguished-name-type {
type string; type string;
description description
"Distinguished Name address."; "Distinguished Name address.";
reference reference
"http://www.iana.org/assignments/address-family-numbers/ "http://www.iana.org/assignments/address-family-numbers/
address-family-numbers.xhtml"; address-family-numbers.xhtml";
} }
typedef simple-address {
type union {
type inet:ip-address;
type inet:ip-prefix;
type yang:mac-address;
type distinguished-name-type;
type inet:as-number;
}
description
"Union of address types that can be part of LCAFs.";
}
typedef lisp-address-family-ref { typedef lisp-address-family-ref {
type identityref { type identityref {
base lisp-address-family; base lisp-address-family;
} }
description description
"LISP address family reference."; "LISP address family reference.";
} }
typedef lcaf-ref { typedef lcaf-ref {
type identityref { type identityref {
base lcaf; base lcaf;
} }
description description
"LCAF types reference."; "LCAF types reference.";
} }
grouping lcaf-address {
grouping lisp-address {
description description
"Group of all the LCAF types."; "Generic LISP address.";
leaf lcaf-type { leaf address-type {
type lcaf-ref; type lisp-address-family-ref;
mandatory true; mandatory true;
description description
"Enumeration of LCAF types."; "Type of the LISP address.";
}
leaf virtual-network-id {
type instance-id-type;
description
"Virtual Network Identifier (instance-id) of the address.";
} }
choice address { choice address {
description "The LCAF addresses."; description
"Various LISP address types, including IP, MAC, and LCAF.";
leaf no-address {
when "../../address-type = 'laddr:no-addr-afi'" {
description
"When AFI is 0.";
}
type empty;
description
"No address.";
}
leaf ipv4 {
when "../../address-type = 'laddr:ipv4-afi'" {
description
"When AFI is IPv4.";
}
type inet:ipv4-address;
description
"IPv4 address.";
}
leaf ipv4-prefix {
when "../../address-type = 'laddr:ipv4-prefix-afi'" {
description
"When AFI is IPv4.";
}
type inet:ipv4-prefix;
description
"IPv4 prefix.";
}
leaf ipv6 {
when "../../address-type = 'laddr:ipv6-afi'" {
description
"When AFI is IPv6.";
}
type inet:ipv6-address;
description
"IPv6 address.";
}
leaf ipv6-prefix {
when "../../address-type = 'laddr:ipv6-prefix-afi'" {
description
"When AFI is IPv6.";
}
type inet:ipv6-prefix;
description
"IPv6 address.";
}
leaf mac {
when "../../address-type = 'laddr:mac-afi'" {
description
"When AFI is MAC.";
}
type yang:mac-address;
description
"MAC address.";
}
leaf distinguished-name {
when "../../address-type = 'laddr:distinguished-name-afi'" {
description
"When AFI is distinguished-name.";
}
type distinguished-name-type;
description
"Distinguished Name address.";
}
leaf as-number {
when "../../address-type = 'laddr:as-number-afi'" {
description
"When AFI is as-number.";
}
type inet:as-number;
description
"AS Number.";
}
container null-address { container null-address {
when "../../lcaf-type = null" { when "../../address-type = 'null-address-lcaf'" {
description description
"When LCAF type is null."; "When LCAF type is null.";
} }
description description
"Null body LCAF type"; "Null body LCAF type";
leaf address { leaf address {
type empty; type empty;
description description
"AFI address."; "AFI address.";
} }
} }
container afi-list { container afi-list {
when "../../lcaf-type = afi-list" { when "../../address-type = 'afi-list-lcaf'" {
description description
"When LCAF type is AFI-List."; "When LCAF type is AFI-List.";
} }
description description
"AFI-List LCAF type."; "AFI-List LCAF type.";
reference reference
"http://tools.ietf.org/html/draft-ietf-lisp-lcaf-10 "http://tools.ietf.org/html/draft-ietf-lisp-lcaf-10
#section-4.16.1"; #section-4.16.1";
leaf-list address-list { leaf-list address-list {
type simple-address; type simple-address;
description description
"List of AFI addresses."; "List of AFI addresses.";
} }
} }
container instance-id { container instance-id {
when "../../lcaf-type = instance-id" { when "../../address-type = 'instance-id-lcaf'" {
description description
"When LCAF type is Instance-ID"; "When LCAF type is Instance-ID";
} }
description description
"Instance ID LCAF type."; "Instance ID LCAF type.";
reference reference
"http://tools.ietf.org/html/draft-ietf-lisp-lcaf-10 "http://tools.ietf.org/html/draft-ietf-lisp-lcaf-10
#section-4.2"; #section-4.2";
leaf instance-id { leaf iid {
type instance-id-type; type instance-id-type;
description description
"Instance ID value."; "Instance ID value.";
} }
leaf mask-length { leaf mask-length {
type uint8; type uint8;
description description
"Mask length."; "Mask length.";
} }
leaf address { leaf address {
type simple-address; type simple-address;
description description
"AFI address."; "AFI address.";
} }
} }
container as-number { container as-number-lcaf {
when "../../lcaf-type = as-number" { when "../../address-type = 'as-number-lcaf'" {
description description
"When LCAF type is AS-Number."; "When LCAF type is AS-Number.";
} }
description description
"AS Number LCAF type."; "AS Number LCAF type.";
reference reference
"http://tools.ietf.org/html/draft-ietf-lisp-lcaf-10 "http://tools.ietf.org/html/draft-ietf-lisp-lcaf-10
#section-4.3"; #section-4.3";
leaf as { leaf as {
type inet:as-number; type inet:as-number;
description description
"AS number."; "AS number.";
} }
leaf address { leaf address {
type simple-address; type simple-address;
description description
"AFI address."; "AFI address.";
} }
} }
container application-data { container application-data {
when "../../lcaf-type = application-data" { when "../../address-type = 'application-data-lcaf'" {
description description
"When LCAF type is Application Data."; "When LCAF type is Application Data.";
} }
description description
"Application Data LCAF type."; "Application Data LCAF type.";
reference reference
"http://tools.ietf.org/html/draft-ietf-lisp-lcaf-10 "http://tools.ietf.org/html/draft-ietf-lisp-lcaf-10
#section-4.4"; #section-4.4";
leaf address { leaf address {
type simple-address; type simple-address;
skipping to change at page 72, line 49 skipping to change at page 75, line 29
description description
"Low end of remote port range."; "Low end of remote port range.";
} }
leaf remote-port-high { leaf remote-port-high {
type inet:port-number; type inet:port-number;
description description
"High end of remote port range."; "High end of remote port range.";
} }
} }
container geo-coordinates { container geo-coordinates {
when "../../lcaf-type = geo-coordinates" { when "../../address-type = 'geo-coordinates-lcaf'" {
description description
"When LCAF type is Geo-coordinates."; "When LCAF type is Geo-coordinates.";
} }
description description
"Geo-coordinates LCAF type."; "Geo-coordinates LCAF type.";
reference reference
"http://tools.ietf.org/html/draft-ietf-lisp-lcaf-10 "http://tools.ietf.org/html/draft-ietf-lisp-lcaf-10
#section-4.5"; #section-4.5";
leaf latitude { leaf latitude {
type bits { type bits {
bit N { bit N {
description description
skipping to change at page 74, line 36 skipping to change at page 77, line 16
description description
"Height relative to sea level in meters."; "Height relative to sea level in meters.";
} }
leaf address { leaf address {
type simple-address; type simple-address;
description description
"AFI address."; "AFI address.";
} }
} }
container nat-traversal { container nat-traversal {
when "../../lcaf-type = nat-traversal" { when "../../address-type = 'nat-traversal-lcaf'" {
description description
"When LCAF type is NAT-Traversal."; "When LCAF type is NAT-Traversal.";
} }
description description
"NAT-Traversal LCAF type."; "NAT-Traversal LCAF type.";
reference reference
"http://tools.ietf.org/html/draft-ietf-lisp-lcaf-10 "http://tools.ietf.org/html/draft-ietf-lisp-lcaf-10
#section-4.6"; #section-4.6";
leaf ms-udp-port { leaf ms-udp-port {
type uint16; type uint16;
skipping to change at page 75, line 29 skipping to change at page 78, line 9
description description
"Private ETR RLOC address."; "Private ETR RLOC address.";
} }
leaf-list rtr-rlocs { leaf-list rtr-rlocs {
type simple-address; type simple-address;
description description
"List of RTR RLOC addresses."; "List of RTR RLOC addresses.";
} }
} }
container explicit-locator-path { container explicit-locator-path {
when "../../lcaf-type = explicit-locator-path" { when "../../address-type = 'explicit-locator-path-lcaf'" {
description description
"When LCAF type type is Explicit Locator Path."; "When LCAF type type is Explicit Locator Path.";
} }
description description
"Explicit Locator Path LCAF type."; "Explicit Locator Path LCAF type.";
reference reference
"http://tools.ietf.org/html/draft-ietf-lisp-lcaf-10 "http://tools.ietf.org/html/draft-ietf-lisp-lcaf-10
#section-4.9"; #section-4.9";
list hop { list hop {
key "address"; key "hop-id";
ordered-by user;
description description
"List of locator hops forming the explicit path."; "List of locator hops forming the explicit path.";
leaf hop-id {
type string;
description
"Unique identifier for the hop.";
}
leaf address { leaf address {
type simple-address; type simple-address;
description description
"AFI address."; "AFI address.";
} }
leaf lrs-bits { leaf lrs-bits {
type bits{ type bits{
bit lookup { bit lookup {
description description
"Lookup bit."; "Lookup bit.";
skipping to change at page 76, line 19 skipping to change at page 79, line 4
} }
bit strict { bit strict {
description description
"Strict bit."; "Strict bit.";
} }
} }
description description
"Flag bits per hop."; "Flag bits per hop.";
} }
} }
} }
container sourc-dest-key { container source-dest-key {
when "../../lcaf-type = source-dest-key" { when "../../address-type = 'source-dest-key-lcaf'" {
description description
"When LCAF type type is Source/Dest."; "When LCAF type type is Source/Dest.";
} }
description description
"Source/Dest LCAF type."; "Source/Dest LCAF type.";
reference reference
"http://tools.ietf.org/html/draft-ietf-lisp-lcaf-10 "http://tools.ietf.org/html/draft-ietf-lisp-lcaf-10
#section-4.11"; #section-4.11";
leaf source { leaf source {
type inet:ip-prefix; type simple-address;
description description
"Source prefix."; "Source address.";
} }
leaf dest { leaf dest {
type inet:ip-prefix; type simple-address;
description description
"Destination prefix."; "Destination address.";
} }
} }
} container key-value-address {
} when "../../address-type = 'key-value-address-lcaf'" {
grouping lisp-address {
description
"Generic LISP address.";
leaf afi {
type lisp-address-family-ref;
mandatory true;
description
"LISP address family AFI.";
}
leaf instance-id {
type instance-id-type;
description
"Instance ID of the address.";
}
choice address {
leaf ipv4 {
when "../../afi = 'laddr:ipv4'" {
description description
"When AFI is IPv4."; "When LCAF type type is Key/Value Address.";
} }
type inet:ipv4-address;
description description
"IPv4 address."; "Key/Value Address LCAF type.";
} reference
leaf ipv6 { "http://tools.ietf.org/html/draft-ietf-lisp-lcaf-10
when "../../afi = 'laddr:ipv6'" { #section-4.11";
leaf key {
type simple-address;
description description
"When AFI is IPv6."; "Address as Key.";
} }
type inet:ipv6-address; leaf value {
description type simple-address;
"IPv6 address.";
}
leaf mac {
when "../../afi = 'laddr:mac'" {
description description
"When AFI is MAC."; "Address as Value.";
} }
type yang:mac-address;
description
"MAC address.";
} }
leaf distinguished-name { container service-path {
when "../../afi = 'laddr:distinguished-name'" { when "../../address-type = 'service-path-lcaf'" {
description
"When LCAF type service path identifier.";
}
description
"Service Path LCAF type.";
reference
"http://tools.ietf.org/html/draft-ermagan-lisp-nsh-00";
leaf service-path-id {
type service-path-id-type;
description description
"When AFI is distinguished-name."; "Service path identifier for the path for NSH header";
} }
type distinguished-name; leaf service-index {
description type uint8;
"Distinguished Name address.";
}
container lcaf {
when "../../afi = 'laddr:lcaf'" {
description description
"When AFI is LCAF."; "Service path index for NSH header";
} }
uses lcaf-address;
description
"LCAF address.";
} }
description
"Selection of address type.";
} }
} }
} }
<CODE ENDS>
10. Acknowledgments 10. 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 11. IANA Considerations
This memo includes no request to IANA. This memo includes no request to IANA.
skipping to change at page 78, line 34 skipping to change at page 80, line 47
13. Normative References 13. Normative References
[I-D.ietf-lisp-ddt] [I-D.ietf-lisp-ddt]
Fuller, V., Lewis, D., Ermagan, V., and A. Jain, "LISP Fuller, V., Lewis, D., Ermagan, V., and A. Jain, "LISP
Delegated Database Tree", draft-ietf-lisp-ddt-03 (work in Delegated Database Tree", draft-ietf-lisp-ddt-03 (work in
progress), April 2015. progress), April 2015.
[I-D.ietf-lisp-lcaf] [I-D.ietf-lisp-lcaf]
Farinacci, D., Meyer, D., and J. Snijders, "LISP Canonical Farinacci, D., Meyer, D., and J. Snijders, "LISP Canonical
Address Format (LCAF)", draft-ietf-lisp-lcaf-10 (work in Address Format (LCAF)", draft-ietf-lisp-lcaf-11 (work in
progress), June 2015. progress), September 2015.
[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>.
 End of changes. 114 change blocks. 
162 lines changed or deleted 272 lines changed or added

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