| < draft-ietf-lisp-yang-14.txt | draft-ietf-lisp-yang-15.txt > | |||
|---|---|---|---|---|
| LISP Working Group V. Ermagan | LISP Working Group V. Ermagan | |||
| Internet-Draft Google | Internet-Draft Google | |||
| Intended status: Experimental A. Rodriguez-Natal | Intended status: Experimental A. Rodriguez-Natal | |||
| Expires: March 12, 2021 F. Coras | Expires: August 26, 2021 F. Coras | |||
| Cisco Systems | ||||
| C. Moberg | C. Moberg | |||
| Avassa | ||||
| R. Rahman | R. Rahman | |||
| 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 8, 2020 | February 22, 2021 | |||
| LISP YANG Model | LISP YANG Model | |||
| draft-ietf-lisp-yang-14 | draft-ietf-lisp-yang-15 | |||
| 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 42 ¶ | skipping to change at page 1, line 44 ¶ | |||
| 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 March 12, 2021. | This Internet-Draft will expire on August 26, 2021. | |||
| Copyright Notice | Copyright Notice | |||
| Copyright (c) 2020 IETF Trust and the persons identified as the | Copyright (c) 2021 IETF Trust and the persons identified as the | |||
| document authors. All rights reserved. | document authors. All rights reserved. | |||
| This document is subject to BCP 78 and the IETF Trust's Legal | This document is subject to BCP 78 and the IETF Trust's Legal | |||
| Provisions Relating to IETF Documents | Provisions Relating to IETF Documents | |||
| (https://trustee.ietf.org/license-info) in effect on the date of | (https://trustee.ietf.org/license-info) in effect on the date of | |||
| publication of this document. Please review these documents | publication of this document. Please review these documents | |||
| carefully, as they describe your rights and restrictions with respect | carefully, as they describe your rights and restrictions with respect | |||
| to this document. Code Components extracted from this document must | to this document. Code Components extracted from this document must | |||
| include Simplified BSD License text as described in Section 4.e of | include Simplified BSD License text as described in Section 4.e of | |||
| the Trust Legal Provisions and are provided without warranty as | the Trust Legal Provisions and are provided without warranty as | |||
| described in the Simplified BSD License. | described in the Simplified BSD License. | |||
| Table of Contents | Table of Contents | |||
| 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2 | 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 3 | |||
| 1.1. Requirements Language . . . . . . . . . . . . . . . . . . 3 | 1.1. Requirements Language . . . . . . . . . . . . . . . . . . 3 | |||
| 1.2. Tree Diagrams . . . . . . . . . . . . . . . . . . . . . . 3 | 1.2. Tree Diagrams . . . . . . . . . . . . . . . . . . . . . . 3 | |||
| 2. LISP Module . . . . . . . . . . . . . . . . . . . . . . . . . 3 | 1.3. Prefixes . . . . . . . . . . . . . . . . . . . . . . . . 3 | |||
| 2.1. Module Structure . . . . . . . . . . . . . . . . . . . . 3 | 2. LISP Module . . . . . . . . . . . . . . . . . . . . . . . . . 4 | |||
| 2.2. Module Definition . . . . . . . . . . . . . . . . . . . . 6 | 2.1. Module Structure . . . . . . . . . . . . . . . . . . . . 4 | |||
| 3. LISP-ITR Module . . . . . . . . . . . . . . . . . . . . . . . 17 | 2.2. Module Definition . . . . . . . . . . . . . . . . . . . . 7 | |||
| 3.1. Module Structure . . . . . . . . . . . . . . . . . . . . 17 | 3. LISP-ITR Module . . . . . . . . . . . . . . . . . . . . . . . 18 | |||
| 3.2. Module Definition . . . . . . . . . . . . . . . . . . . . 23 | 3.1. Module Structure . . . . . . . . . . . . . . . . . . . . 18 | |||
| 4. LISP-ETR Module . . . . . . . . . . . . . . . . . . . . . . . 26 | 3.2. Module Definition . . . . . . . . . . . . . . . . . . . . 24 | |||
| 4.1. Module Structure . . . . . . . . . . . . . . . . . . . . 26 | 4. LISP-ETR Module . . . . . . . . . . . . . . . . . . . . . . . 27 | |||
| 4.2. Module Definition . . . . . . . . . . . . . . . . . . . . 29 | 4.1. Module Structure . . . . . . . . . . . . . . . . . . . . 27 | |||
| 5. LISP-Map-Server Module . . . . . . . . . . . . . . . . . . . 33 | 4.2. Module Definition . . . . . . . . . . . . . . . . . . . . 30 | |||
| 5.1. Module Structure . . . . . . . . . . . . . . . . . . . . 33 | 5. LISP-Map-Server Module . . . . . . . . . . . . . . . . . . . 34 | |||
| 5.2. Module Definition . . . . . . . . . . . . . . . . . . . . 42 | 5.1. Module Structure . . . . . . . . . . . . . . . . . . . . 34 | |||
| 6. LISP-Map-Resolver Module . . . . . . . . . . . . . . . . . . 48 | 5.2. Module Definition . . . . . . . . . . . . . . . . . . . . 43 | |||
| 6.1. Module Structure . . . . . . . . . . . . . . . . . . . . 48 | 6. LISP-Map-Resolver Module . . . . . . . . . . . . . . . . . . 49 | |||
| 6.2. Module Definition . . . . . . . . . . . . . . . . . . . . 48 | 6.1. Module Structure . . . . . . . . . . . . . . . . . . . . 49 | |||
| 6.2. Module Definition . . . . . . . . . . . . . . . . . . . . 49 | ||||
| 7. LISP-Address-Types Module . . . . . . . . . . . . . . . . . . 51 | 7. LISP-Address-Types Module . . . . . . . . . . . . . . . . . . 51 | |||
| 7.1. Module Definition . . . . . . . . . . . . . . . . . . . . 51 | 7.1. Module Definition . . . . . . . . . . . . . . . . . . . . 51 | |||
| 7.2. Data Model examples . . . . . . . . . . . . . . . . . . . 65 | 7.2. Data Model examples . . . . . . . . . . . . . . . . . . . 66 | |||
| 7.2.1. LISP protocol instance . . . . . . . . . . . . . . . 65 | 7.2.1. LISP protocol instance . . . . . . . . . . . . . . . 66 | |||
| 7.2.2. LISP ITR . . . . . . . . . . . . . . . . . . . . . . 67 | 7.2.2. LISP ITR . . . . . . . . . . . . . . . . . . . . . . 68 | |||
| 7.2.3. LISP ETR . . . . . . . . . . . . . . . . . . . . . . 67 | 7.2.3. LISP ETR . . . . . . . . . . . . . . . . . . . . . . 68 | |||
| 7.2.4. LISP Map-Server . . . . . . . . . . . . . . . . . . . 70 | 7.2.4. LISP Map-Server . . . . . . . . . . . . . . . . . . . 71 | |||
| 8. Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . 71 | 8. Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . 72 | |||
| 9. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 71 | 9. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 72 | |||
| 10. Security Considerations . . . . . . . . . . . . . . . . . . . 73 | 10. Security Considerations . . . . . . . . . . . . . . . . . . . 75 | |||
| 11. Normative References . . . . . . . . . . . . . . . . . . . . 76 | 11. Normative References . . . . . . . . . . . . . . . . . . . . 78 | |||
| Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 78 | 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. | |||
| 1.1. Requirements Language | 1.1. Requirements Language | |||
| The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", | The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", | |||
| "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this | "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this | |||
| document are to be interpreted as described in BCP 14 [RFC2119] | document are to be interpreted as described in BCP 14 [RFC2119] | |||
| [RFC8174] when, and only when, they appear in all capitals, as shown | [RFC8174] when, and only when, they appear in all capitals, as shown | |||
| here. | here. | |||
| 1.2. Tree Diagrams | 1.2. Tree Diagrams | |||
| This document uses the graphical representation of data models | This document uses the graphical representation of data models | |||
| defined in [RFC8340]. | defined in [RFC8340]. | |||
| 1.3. Prefixes | ||||
| The table below provides a summary of the prefixes used by this | ||||
| document. | ||||
| +----------+-------------------------+------------------------------+ | ||||
| | Prefix | YANG module | Reference | | ||||
| +----------+-------------------------+------------------------------+ | ||||
| | lisp | ietf-lisp | Section 2 | | ||||
| | if | ietf-interfaces | [RFC8343] | | ||||
| | lisp-at | ietf-lisp-address-types | Section 7 | | ||||
| | yang | ietf-yang-types | [RFC6991] | | ||||
| | rt | ietf-routing | [RFC8022] | | ||||
| | ni | ietf-network-instance | [RFC8529] | | ||||
| | lisp-itr | ietf-lisp-itr | Section 3 | | ||||
| | inet | ietf-inet-types | [RFC6991] | | ||||
| | lisp-etr | ietf-lisp-etr | Section 4 | | ||||
| | lisp-ms | ietf-lisp-mapserver | Section 5 | | ||||
| | lisp-mr | ietf-lisp-mapresolver | Section 6 | | ||||
| +----------+-------------------------+------------------------------+ | ||||
| Table 1: Prefixes and corresponding YANG modules | ||||
| 2. LISP Module | 2. LISP Module | |||
| This is the base LISP module. It is further augmented by the LISP | This is the base LISP module. It is further augmented by the LISP | |||
| device role specific modules defined elsewhere in this document. | device role specific modules defined elsewhere in this document. | |||
| 2.1. Module Structure | 2.1. Module Structure | |||
| module: ietf-lisp | module: ietf-lisp | |||
| augment /rt:routing/rt:control-plane-protocols | augment /rt:routing/rt:control-plane-protocols | |||
| /rt:control-plane-protocol: | /rt:control-plane-protocol: | |||
| skipping to change at page 6, line 14 ¶ | skipping to change at page 6, line 46 ¶ | |||
| | +--rw weight? uint8 | | +--rw weight? uint8 | |||
| | +--rw multicast-priority? uint8 | | +--rw multicast-priority? uint8 | |||
| | +--rw multicast-weight? uint8 | | +--rw multicast-weight? uint8 | |||
| +--rw lisp-role* [lisp-role-type] | +--rw lisp-role* [lisp-role-type] | |||
| | +--rw lisp-role-type lisp-role-ref | | +--rw lisp-role-type lisp-role-ref | |||
| +--rw lisp-router-id | +--rw lisp-router-id | |||
| | +--rw site-id? uint64 | | +--rw site-id? uint64 | |||
| | +--rw xtr-id? lisp:xtr-id-type | | +--rw xtr-id? lisp:xtr-id-type | |||
| +--rw vpns | +--rw vpns | |||
| +--rw vpn* [instance-id] | +--rw vpn* [instance-id] | |||
| +--rw instance-id lcaf:instance-id-type | +--rw instance-id lisp-at:instance-id-type | |||
| +--rw iid-name | +--rw iid-name | |||
| -> /ni:network-instances/network-instance/name | -> /ni:network-instances/network-instance/name | |||
| 2.2. Module Definition | 2.2. Module Definition | |||
| <CODE BEGINS> file "ietf-lisp@2019-09-07.yang" | <CODE BEGINS> file "ietf-lisp@2021-02-22.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 | |||
| "RFC 8343: A YANG Data Model for Interface Management"; | "RFC 8343: A YANG Data Model for Interface Management"; | |||
| } | } | |||
| // RFC Ed.: replace occurrences of XXXX with actual RFC number | // RFC Ed.: replace occurrences of XXXX with actual RFC number | |||
| // and remove this note | // and remove this note | |||
| import ietf-lisp-address-types { | import ietf-lisp-address-types { | |||
| prefix lcaf; | prefix lisp-at; | |||
| reference "RFC XXXX: LISP YANG model"; | reference "RFC XXXX: LISP YANG model"; | |||
| } | } | |||
| import ietf-yang-types { | import ietf-yang-types { | |||
| prefix yang; | prefix yang; | |||
| reference "RFC 6991: Common YANG Data Types"; | reference "RFC 6991: Common YANG Data Types"; | |||
| } | } | |||
| import ietf-routing { | import ietf-routing { | |||
| prefix "rt"; | prefix "rt"; | |||
| reference | reference | |||
| "RFC 8349: A YANG Data Model for Routing Management | "RFC 8349: A YANG Data Model for Routing Management | |||
| (NMDA version)"; | (NMDA version)"; | |||
| } | } | |||
| import ietf-network-instance { | import ietf-network-instance { | |||
| prefix "ni"; | prefix "ni"; | |||
| // RFC Ed.: replace occurrences of YYYY with actual RFC number | ||||
| // of draft-ietf-rtgwg-ni-model and remove this note | ||||
| reference | reference | |||
| "RFC YYYY: YANG Model for Network Instances"; | "RFC 8529: YANG Model for Network Instances"; | |||
| } | } | |||
| organization | organization | |||
| "IETF LISP (Locator/ID Separation Protocol) Working Group"; | "IETF LISP (Locator/ID Separation Protocol) Working Group"; | |||
| contact | contact | |||
| "WG Web: <http://tools.ietf.org/wg/lisp/> | "WG Web: <http://tools.ietf.org/wg/lisp/> | |||
| WG List: <mailto:lisp@ietf.org> | WG List: <mailto:lisp@ietf.org> | |||
| Editor: Vina Ermagan | Editor: Vina Ermagan | |||
| <mailto:ermagan@gmail.com> | <mailto:ermagan@gmail.com> | |||
| Editor: Alberto Rodriguez-Natal | Editor: Alberto Rodriguez-Natal | |||
| <mailto:natal@cisco.com> | <mailto:natal@cisco.com> | |||
| Editor: Reshad Rahman | Editor: Reshad Rahman | |||
| <mailto:rrahman@cisco.com>"; | <mailto:reshad@yahoo.com>"; | |||
| description | description | |||
| "This YANG module defines the generic parameters for LISP. | "This YANG module defines the generic parameters for LISP. | |||
| The module can be extended by vendors to define vendor-specific | The module can be extended by vendors to define vendor-specific | |||
| LISP parameters and policies. | LISP parameters and policies. | |||
| Copyright (c) 2018 IETF Trust and the persons identified as | Copyright (c) 2018 IETF Trust and the persons identified as | |||
| authors of the code. All rights reserved. | authors of the code. All rights reserved. | |||
| Redistribution and use in source and binary forms, with or | Redistribution and use in source and binary forms, with or | |||
| without modification, is permitted pursuant to, and subject | without modification, is permitted pursuant to, and subject | |||
| skipping to change at page 7, line 45 ¶ | skipping to change at page 8, line 28 ¶ | |||
| 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 2019-09-07 { | revision 2021-02-22 { | |||
| description | description | |||
| "Initial revision."; | "Initial revision."; | |||
| reference | reference | |||
| "https://tools.ietf.org/html/rfc6830"; | "https://tools.ietf.org/html/rfc6830"; | |||
| } | } | |||
| /* | /* | |||
| * Identity definitions | * Identity definitions | |||
| */ | */ | |||
| identity lisp { | identity lisp { | |||
| base "rt:control-plane-protocol"; | base "rt:control-plane-protocol"; | |||
| description "LISP protocol."; | description "LISP protocol."; | |||
| reference | reference | |||
| "RFC 6830: The Locator/ID Separation Protocol (LISP)."; | "RFC 6830: The Locator/ID Separation Protocol (LISP)."; | |||
| } | } | |||
| skipping to change at page 12, line 4 ¶ | skipping to change at page 12, line 34 ¶ | |||
| } | } | |||
| } | } | |||
| grouping locators-grouping { | grouping locators-grouping { | |||
| description | description | |||
| "Grouping that defines a list of LISP locators."; | "Grouping that defines a list of LISP locators."; | |||
| list locator { | list locator { | |||
| key "locator-id"; | key "locator-id"; | |||
| description | description | |||
| "List of routing locators"; | "List of routing locators"; | |||
| leaf locator-id { | leaf locator-id { | |||
| type string { | type string { | |||
| length "1..64"; | length "1..64"; | |||
| pattern '[a-zA-Z0-9\-_.:]*'; | pattern '[a-zA-Z0-9\-_.:]*'; | |||
| } | } | |||
| description | description | |||
| "Locator id"; | "Locator id"; | |||
| } | } | |||
| container locator-address { | container locator-address { | |||
| uses lcaf:lisp-address; | uses lisp-at:lisp-address; | |||
| description | description | |||
| "The locator address provided in LISP canonincal | "The locator address provided in LISP canonincal | |||
| address format."; | address format."; | |||
| } | } | |||
| uses locator-properties; | uses locator-properties; | |||
| } | } | |||
| } | } | |||
| grouping local-locators-grouping { | grouping local-locators-grouping { | |||
| description | description | |||
| "Grouping that defines a list of LISP locators."; | "Grouping that defines a list of LISP locators."; | |||
| list interface { | list interface { | |||
| key "interface-ref"; | key "interface-ref"; | |||
| description | description | |||
| "The address type of the locator"; | "The address type of the locator"; | |||
| leaf interface-ref { | leaf interface-ref { | |||
| type if:interface-ref; | type if:interface-ref; | |||
| description | description | |||
| "The name of the interface supporting the locator."; | "The name of the interface supporting the locator."; | |||
| } | } | |||
| uses locator-properties; | uses locator-properties; | |||
| } | } | |||
| } | } | |||
| grouping mapping { | grouping mapping { | |||
| description | description | |||
| "Grouping that defines a LISP mapping."; | "Grouping that defines a LISP mapping."; | |||
| container eid { | container eid { | |||
| uses lcaf:lisp-address; | uses lisp-at:lisp-address; | |||
| description | description | |||
| "End-host Identifier (EID) to be mapped to a list of | "End-host Identifier (EID) to be mapped to a list of | |||
| locators"; | locators"; | |||
| } | } | |||
| leaf time-to-live { | leaf time-to-live { | |||
| type uint32; | type uint32; | |||
| units minutes; | units minutes; | |||
| description | description | |||
| "Mapping validity period in minutes (as per RF6830)."; | "Mapping validity period in minutes (as per RF6830)."; | |||
| } | } | |||
| skipping to change at page 17, line 17 ¶ | skipping to change at page 17, line 46 ¶ | |||
| ../lisp-role/lisp-role-type = 'lisp:petr'" { | ../lisp-role/lisp-role-type = 'lisp:petr'" { | |||
| description "Only when ITR, PITR, ETR or PETR."; | description "Only when ITR, PITR, ETR or PETR."; | |||
| } | } | |||
| description "VPNs"; | description "VPNs"; | |||
| list vpn { | list vpn { | |||
| key instance-id; | key instance-id; | |||
| unique "iid-name"; | unique "iid-name"; | |||
| description "List of VPNs"; | description "List of VPNs"; | |||
| leaf instance-id { | leaf instance-id { | |||
| type lcaf:instance-id-type; | type lisp-at:instance-id-type; | |||
| description | description | |||
| "VPN identifier. The value 0 for instance-id must be | "VPN identifier. The value 0 for instance-id must be | |||
| used for the default VRF."; | used for the default VRF."; | |||
| } | } | |||
| leaf iid-name { | leaf iid-name { | |||
| type leafref { | type leafref { | |||
| path "/ni:network-instances/ni:network-instance" | path "/ni:network-instances/ni:network-instance" | |||
| + "/ni:name"; | + "/ni:name"; | |||
| } | } | |||
| mandatory true; | mandatory true; | |||
| skipping to change at page 24, line 13 ¶ | skipping to change at page 24, line 45 ¶ | |||
| "WG Web: <http://tools.ietf.org/wg/lisp/> | "WG Web: <http://tools.ietf.org/wg/lisp/> | |||
| WG List: <mailto:lisp@ietf.org> | WG List: <mailto:lisp@ietf.org> | |||
| Editor: Vina Ermagan | Editor: Vina Ermagan | |||
| <mailto:ermagan@gmail.com> | <mailto:ermagan@gmail.com> | |||
| Editor: Alberto Rodriguez-Natal | Editor: Alberto Rodriguez-Natal | |||
| <mailto:natal@cisco.com> | <mailto:natal@cisco.com> | |||
| Editor: Reshad Rahman | Editor: Reshad Rahman | |||
| <mailto:rrahman@cisco.com>"; | <mailto:reshad@yahoo.com>"; | |||
| description | description | |||
| "This YANG module defines the generic parameters for a LISP | "This YANG module defines the generic parameters for a LISP | |||
| ITR. The module can be extended by vendors to define | ITR. The module can be extended by vendors to define | |||
| vendor-specific parameters and policies. | vendor-specific parameters and policies. | |||
| Copyright (c) 2018 IETF Trust and the persons identified as | Copyright (c) 2018 IETF Trust and the persons identified as | |||
| authors of the code. All rights reserved. | authors of the code. All rights reserved. | |||
| Redistribution and use in source and binary forms, with or | Redistribution and use in source and binary forms, with or | |||
| without modification, is permitted pursuant to, and subject | without modification, is permitted pursuant to, and subject | |||
| skipping to change at page 29, line 30 ¶ | skipping to change at page 30, line 12 ¶ | |||
| | | 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@2019-09-07.yang" | <CODE BEGINS> file "ietf-lisp-etr@2021-02-22.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 occurrences of XXXX with actual RFC number | // RFC Ed.: replace occurrences 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 lisp-at; | |||
| reference "RFC XXXX: LISP YANG model"; | reference "RFC XXXX: LISP YANG model"; | |||
| } | } | |||
| import ietf-inet-types { | import ietf-inet-types { | |||
| prefix inet; | prefix inet; | |||
| reference "RFC 6991: Common YANG Data Types"; | reference "RFC 6991: Common YANG Data Types"; | |||
| } | } | |||
| import ietf-routing { | import ietf-routing { | |||
| prefix "rt"; | prefix "rt"; | |||
| reference | reference | |||
| "RFC 8349: A YANG Data Model for Routing Management | "RFC 8349: A YANG Data Model for Routing Management | |||
| (NMDA version)"; | (NMDA version)"; | |||
| } | } | |||
| organization | organization | |||
| "IETF LISP (Locator/ID Separation Protocol) Working Group"; | "IETF LISP (Locator/ID Separation Protocol) Working Group"; | |||
| contact | contact | |||
| "WG Web: <http://tools.ietf.org/wg/lisp/> | "WG Web: <http://tools.ietf.org/wg/lisp/> | |||
| WG List: <mailto:lisp@ietf.org> | WG List: <mailto:lisp@ietf.org> | |||
| Editor: Vina Ermagan | Editor: Vina Ermagan | |||
| <mailto:vermagan@cisco.com> | <mailto:ermagan@gmail.com> | |||
| Editor: Alberto Rodriguez-Natal | Editor: Alberto Rodriguez-Natal | |||
| <mailto:natal@cisco.com> | <mailto:natal@cisco.com> | |||
| Editor: Reshad Rahman | Editor: Reshad Rahman | |||
| <mailto:rrahman@cisco.com>"; | <mailto:reshad@yahoo.com>"; | |||
| description | description | |||
| "This YANG module defines the generic parameters for a LISP | "This YANG module defines the generic parameters for a LISP | |||
| ETR. The module can be extended by vendors to define | ETR. The module can be extended by vendors to define | |||
| vendor-specific parameters and policies. | vendor-specific parameters and policies. | |||
| Copyright (c) 2018 IETF Trust and the persons identified as | Copyright (c) 2018 IETF Trust and the persons identified as | |||
| authors of the code. All rights reserved. | authors of the code. All rights reserved. | |||
| Redistribution and use in source and binary forms, with or | Redistribution and use in source and binary forms, with or | |||
| without modification, is permitted pursuant to, and subject | without modification, is permitted pursuant to, and subject | |||
| skipping to change at page 30, line 46 ¶ | skipping to change at page 31, line 28 ¶ | |||
| 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 2019-09-07 { | revision 2021-02-22 { | |||
| 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 32, line 23 ¶ | skipping to change at page 33, line 4 ¶ | |||
| description | description | |||
| "EIDs served by the ETR."; | "EIDs served by the ETR."; | |||
| list local-eid { | list local-eid { | |||
| key "eid-id"; | key "eid-id"; | |||
| description | description | |||
| "List of local EIDs."; | "List of local EIDs."; | |||
| leaf eid-id { | leaf eid-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 lisp-at:lisp-address; | |||
| description | description | |||
| "EID address in generic LISP address format."; | "EID address in generic LISP address format."; | |||
| } | } | |||
| leaf rlocs { | leaf rlocs { | |||
| type leafref { | type leafref { | |||
| path "/rt:routing/rt:control-plane-protocols" | path "/rt:routing/rt:control-plane-protocols" | |||
| + "/rt:control-plane-protocol/lisp:lisp" | + "/rt:control-plane-protocol/lisp:lisp" | |||
| + "/lisp:locator-sets/lisp:locator-set" | + "/lisp:locator-sets/lisp:locator-set" | |||
| + "/lisp:locator-set-name"; | + "/lisp:locator-set-name"; | |||
| } | } | |||
| skipping to change at page 34, line 11 ¶ | skipping to change at page 34, line 41 ¶ | |||
| | +--rw xtr-ids* [xtr-id] | | +--rw xtr-ids* [xtr-id] | |||
| | +--rw xtr-id uint64 | | +--rw xtr-id uint64 | |||
| | +--rw authentication-keys | | +--rw authentication-keys | |||
| | +--rw authentication-key* [auth-key-id] | | +--rw authentication-key* [auth-key-id] | |||
| | +--rw auth-key-id string | | +--rw auth-key-id string | |||
| | +--rw auth-algorithm-id* | | +--rw auth-algorithm-id* | |||
| | | lisp:auth-algorithm-type | | | lisp:auth-algorithm-type | |||
| | +--rw auth-key-value? string | | +--rw auth-key-value? string | |||
| +--rw vpns | +--rw vpns | |||
| | +--rw vpn* [instance-id] | | +--rw vpn* [instance-id] | |||
| | +--rw instance-id lcaf:instance-id-type | | +--rw instance-id lisp-at:instance-id-type | |||
| | +--rw mappings | | +--rw mappings | |||
| | | +--rw mapping* [eid-id] | | | +--rw mapping* [eid-id] | |||
| | | +--rw eid-id lisp:eid-id | | | +--rw eid-id lisp:eid-id | |||
| | | +--rw eid-address | | | +--rw eid-address | |||
| | | | +--rw address-type | | | | +--rw address-type | |||
| | | | | lisp-address-family-ref | | | | | lisp-address-family-ref | |||
| | | | +--rw (address)? | | | | +--rw (address)? | |||
| | | | +--:(no-address) | | | | +--:(no-address) | |||
| | | | | +--rw no-address? empty | | | | | +--rw no-address? empty | |||
| | | | +--:(ipv4) | | | | +--:(ipv4) | |||
| skipping to change at page 42, line 21 ¶ | skipping to change at page 42, line 50 ¶ | |||
| | +--ro map-notify-records-out? yang:counter64 | | +--ro map-notify-records-out? yang:counter64 | |||
| | +--ro proxy-reply-records-out? yang:counter64 | | +--ro proxy-reply-records-out? yang:counter64 | |||
| | +--ro map-requests-forwarded-out? yang:counter64 | | +--ro map-requests-forwarded-out? yang:counter64 | |||
| +--rw mapping-system-type? lisp:mapping-system-ref | +--rw mapping-system-type? lisp:mapping-system-ref | |||
| +--ro summary | +--ro summary | |||
| | +--ro number-configured-sites? uint32 | | +--ro number-configured-sites? uint32 | |||
| | +--ro number-registered-sites? uint32 | | +--ro number-registered-sites? uint32 | |||
| | +--ro af-datum | | +--ro af-datum | |||
| | +--ro af-data* [address-type] | | +--ro af-data* [address-type] | |||
| | +--ro address-type | | +--ro address-type | |||
| | | lcaf:lisp-address-family-ref | | | lisp-at:lisp-address-family-ref | |||
| | +--ro number-configured-eids? uint32 | | +--ro number-configured-eids? uint32 | |||
| | +--ro number-registered-eids? uint32 | | +--ro number-registered-eids? uint32 | |||
| +--ro counters | +--ro counters | |||
| +--ro map-registers-in? yang:counter64 | +--ro map-registers-in? yang:counter64 | |||
| +--ro map-registers-in-auth-failed? yang:counter64 | +--ro map-registers-in-auth-failed? yang:counter64 | |||
| +--ro map-notify-records-out? yang:counter64 | +--ro map-notify-records-out? yang:counter64 | |||
| +--ro proxy-reply-records-out? yang:counter64 | +--ro proxy-reply-records-out? yang:counter64 | |||
| +--ro map-requests-forwarded-out? yang:counter64 | +--ro map-requests-forwarded-out? yang:counter64 | |||
| 5.2. Module Definition | 5.2. Module Definition | |||
| <CODE BEGINS> file "ietf-lisp-mapserver@2019-03-05.yang" | <CODE BEGINS> file "ietf-lisp-mapserver@2021-02-22.yang" | |||
| module ietf-lisp-mapserver { | module ietf-lisp-mapserver { | |||
| yang-version 1.1; | yang-version 1.1; | |||
| namespace "urn:ietf:params:xml:ns:yang:ietf-lisp-mapserver"; | namespace "urn:ietf:params:xml:ns:yang:ietf-lisp-mapserver"; | |||
| prefix lisp-ms; | prefix lisp-ms; | |||
| // RFC Ed.: replace occurrences of XXXX with actual RFC number | // RFC Ed.: replace occurrences 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 lisp-at; | |||
| reference "RFC XXXX: LISP YANG model"; | reference "RFC XXXX: LISP YANG model"; | |||
| } | } | |||
| import ietf-yang-types { | import ietf-yang-types { | |||
| prefix yang; | prefix yang; | |||
| reference "RFC 6991: Common YANG Data Types"; | reference "RFC 6991: Common YANG Data Types"; | |||
| } | } | |||
| import ietf-routing { | import ietf-routing { | |||
| prefix "rt"; | prefix "rt"; | |||
| reference | reference | |||
| "RFC 8349: A YANG Data Model for Routing Management | "RFC 8349: A YANG Data Model for Routing Management | |||
| skipping to change at page 43, line 27 ¶ | skipping to change at page 44, line 9 ¶ | |||
| "WG Web: <http://tools.ietf.org/wg/lisp/> | "WG Web: <http://tools.ietf.org/wg/lisp/> | |||
| WG List: <mailto:lisp@ietf.org> | WG List: <mailto:lisp@ietf.org> | |||
| Editor: Vina Ermagan | Editor: Vina Ermagan | |||
| <mailto:ermagan@gmail.com> | <mailto:ermagan@gmail.com> | |||
| Editor: Alberto Rodriguez-Natal | Editor: Alberto Rodriguez-Natal | |||
| <mailto:natal@cisco.com> | <mailto:natal@cisco.com> | |||
| Editor: Reshad Rahman | Editor: Reshad Rahman | |||
| <mailto:rrahman@cisco.com>"; | <mailto:reshad@yahoo.com>"; | |||
| description | description | |||
| "This YANG module defines the generic parameters for a LISP | "This YANG module defines the generic parameters for a LISP | |||
| Map-Server. The module can be extended by vendors to define | Map-Server. The module can be extended by vendors to define | |||
| vendor-specific parameters and policies. | vendor-specific parameters and policies. | |||
| Copyright (c) 2018 IETF Trust and the persons identified as | Copyright (c) 2018 IETF Trust and the persons identified as | |||
| authors of the code. All rights reserved. | authors of the code. All rights reserved. | |||
| Redistribution and use in source and binary forms, with or | Redistribution and use in source and binary forms, with or | |||
| without modification, is permitted pursuant to, and subject | without modification, is permitted pursuant to, and subject | |||
| skipping to change at page 43, line 49 ¶ | skipping to change at page 44, line 31 ¶ | |||
| 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 2019-03-05 { | revision 2021-02-22 { | |||
| 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."; | |||
| } | } | |||
| skipping to change at page 45, line 49 ¶ | skipping to change at page 46, line 29 ¶ | |||
| } | } | |||
| } | } | |||
| container vpns { | container vpns { | |||
| description | description | |||
| "VPNs for which the Map-Server accepts registrations."; | "VPNs for which the Map-Server accepts registrations."; | |||
| list vpn { | list vpn { | |||
| key "instance-id"; | key "instance-id"; | |||
| description | description | |||
| "VPN instances in the Map-Server."; | "VPN instances in the Map-Server."; | |||
| leaf instance-id { | leaf instance-id { | |||
| type lcaf:instance-id-type; | type lisp-at:instance-id-type; | |||
| description | description | |||
| "VPN identifier."; | "VPN identifier."; | |||
| } | } | |||
| container mappings { | container mappings { | |||
| description | description | |||
| "EIDs registered by device."; | "EIDs registered by device."; | |||
| list mapping { | list mapping { | |||
| key "eid-id"; | key "eid-id"; | |||
| description | description | |||
| "List of EIDs registered by device."; | "List of EIDs registered by device."; | |||
| leaf eid-id { | leaf eid-id { | |||
| type lisp:eid-id; | type lisp:eid-id; | |||
| description | description | |||
| "Id of the EID registered."; | "Id of the EID registered."; | |||
| } | } | |||
| container eid-address { | container eid-address { | |||
| uses lcaf:lisp-address; | uses lisp-at: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 { | leaf-list site-id { | |||
| type uint64; | type uint64; | |||
| description "Site ID"; | description "Site ID"; | |||
| } | } | |||
| leaf more-specifics-accepted { | leaf more-specifics-accepted { | |||
| type boolean; | type boolean; | |||
| skipping to change at page 48, line 7 ¶ | skipping to change at page 48, line 37 ¶ | |||
| type uint32; | type uint32; | |||
| description "Number of registered LISP sites"; | description "Number of registered LISP sites"; | |||
| } | } | |||
| container af-datum { | container af-datum { | |||
| description "Number of configured EIDs per each AF"; | description "Number of configured EIDs per each AF"; | |||
| list af-data { | list af-data { | |||
| key "address-type"; | key "address-type"; | |||
| description "Number of configured EIDs for this AF"; | description "Number of configured EIDs for this AF"; | |||
| leaf address-type { | leaf address-type { | |||
| type lcaf:lisp-address-family-ref; | type lisp-at:lisp-address-family-ref; | |||
| description "AF type"; | description "AF type"; | |||
| } | } | |||
| leaf number-configured-eids { | leaf number-configured-eids { | |||
| type uint32; | type uint32; | |||
| description "Number of configured EIDs for this AF"; | description "Number of configured EIDs for this AF"; | |||
| } | } | |||
| leaf number-registered-eids { | leaf number-registered-eids { | |||
| type uint32; | type uint32; | |||
| description "Number of registered EIDs for this AF"; | description "Number of registered EIDs for this AF"; | |||
| } | } | |||
| skipping to change at page 49, line 23 ¶ | skipping to change at page 50, line 4 ¶ | |||
| } | } | |||
| import ietf-routing { | import ietf-routing { | |||
| prefix "rt"; | prefix "rt"; | |||
| reference | reference | |||
| "RFC 8349: A YANG Data Model for Routing Management | "RFC 8349: A YANG Data Model for Routing Management | |||
| (NMDA version)"; | (NMDA version)"; | |||
| } | } | |||
| organization | organization | |||
| "IETF LISP (Locator/ID Separation Protocol) Working Group"; | "IETF LISP (Locator/ID Separation Protocol) Working Group"; | |||
| contact | contact | |||
| "WG Web: <http://tools.ietf.org/wg/lisp/> | "WG Web: <http://tools.ietf.org/wg/lisp/> | |||
| WG List: <mailto:lisp@ietf.org> | WG List: <mailto:lisp@ietf.org> | |||
| Editor: Vina Ermagan | Editor: Vina Ermagan | |||
| <mailto:ermagan@gmail.com> | <mailto:ermagan@gmail.com> | |||
| Editor: Alberto Rodriguez-Natal | Editor: Alberto Rodriguez-Natal | |||
| <mailto:natal@cisco.com> | <mailto:natal@cisco.com> | |||
| Editor: Reshad Rahman | Editor: Reshad Rahman | |||
| <mailto:rrahman@cisco.com>"; | <mailto:reshad@yahoo.com>"; | |||
| description | description | |||
| "This YANG module defines the generic parameters for a LISP | "This YANG module defines the generic parameters for a LISP | |||
| Map-Resolver. The module can be extended by vendors to define | Map-Resolver. The module can be extended by vendors to define | |||
| vendor-specific parameters and policies. | vendor-specific parameters and policies. | |||
| Copyright (c) 2018 IETF Trust and the persons identified as | Copyright (c) 2018 IETF Trust and the persons identified as | |||
| authors of the code. All rights reserved. | authors of the code. All rights reserved. | |||
| Redistribution and use in source and binary forms, with or | Redistribution and use in source and binary forms, with or | |||
| without modification, is permitted pursuant to, and subject | without modification, is permitted pursuant to, and subject | |||
| skipping to change at page 51, line 12 ¶ | skipping to change at page 51, line 39 ¶ | |||
| } | } | |||
| <CODE ENDS> | <CODE ENDS> | |||
| 7. LISP-Address-Types Module | 7. LISP-Address-Types Module | |||
| This module captures the various LISP address types, and is an | This module captures the various LISP address types, and is an | |||
| essential building block used in other LISP modules. | essential building block used in other LISP modules. | |||
| 7.1. Module Definition | 7.1. Module Definition | |||
| <CODE BEGINS> file "ietf-lisp-address-types@2019-09-07.yang" | <CODE BEGINS> file "ietf-lisp-address-types@2021-02-22.yang" | |||
| module ietf-lisp-address-types { | module ietf-lisp-address-types { | |||
| yang-version 1.1; | yang-version 1.1; | |||
| namespace "urn:ietf:params:xml:ns:yang:ietf-lisp-address-types"; | namespace "urn:ietf:params:xml:ns:yang:ietf-lisp-address-types"; | |||
| prefix laddr; | prefix lisp-at; | |||
| import ietf-inet-types { | import ietf-inet-types { | |||
| prefix inet; | prefix inet; | |||
| reference "RFC 6991: Common YANG Data Types"; | reference "RFC 6991: Common YANG Data Types"; | |||
| } | } | |||
| import ietf-yang-types { | import ietf-yang-types { | |||
| prefix yang; | prefix yang; | |||
| reference "RFC 6991: Common YANG Data Types"; | reference "RFC 6991: Common YANG Data Types"; | |||
| } | } | |||
| organization | organization | |||
| "IETF LISP (Locator/ID Separation Protocol) Working Group"; | "IETF LISP (Locator/ID Separation Protocol) Working Group"; | |||
| contact | contact | |||
| "WG Web: <http://tools.ietf.org/wg/lisp/> | "WG Web: <http://tools.ietf.org/wg/lisp/> | |||
| WG List: <mailto:lisp@ietf.org> | WG List: <mailto:lisp@ietf.org> | |||
| Editor: Vina Ermagan | Editor: Vina Ermagan | |||
| <mailto:ermagan@gmail.com> | <mailto:ermagan@gmail.com> | |||
| Editor: Alberto Rodriguez-Natal | Editor: Alberto Rodriguez-Natal | |||
| <mailto:natal@cisco.com> | <mailto:natal@cisco.com> | |||
| Editor: Reshad Rahman | Editor: Reshad Rahman | |||
| <mailto:rrahman@cisco.com>"; | <mailto:reshad@yahoo.com>"; | |||
| description | description | |||
| "This YANG module defines the LISP Canonical Address Formats | "This YANG module defines the LISP Canonical Address Formats | |||
| (LCAF) for LISP. The module can be extended by vendors to | (LCAF) for LISP. The module can be extended by vendors to | |||
| define vendor-specific parameters. | define vendor-specific parameters. | |||
| Copyright (c) 2018 IETF Trust and the persons identified as | Copyright (c) 2018 IETF Trust and the persons identified as | |||
| authors of the code. All rights reserved. | authors of the code. All rights reserved. | |||
| Redistribution and use in source and binary forms, with or | Redistribution and use in source and binary forms, with or | |||
| without modification, is permitted pursuant to, and subject | without modification, is permitted pursuant to, and subject | |||
| to the license terms contained in, the Simplified BSD License | to the license terms contained in, the Simplified BSD License | |||
| set forth in Section 4.c of the IETF Trust's Legal Provisions | set forth in Section 4.c of the IETF Trust's Legal Provisions | |||
| Relating to IETF Documents | Relating to IETF Documents | |||
| (http://trustee.ietf.org/license-info). | (http://trustee.ietf.org/license-info). | |||
| This version of this YANG module is part of RFC XXXX; see | This version of this YANG module is part of RFC XXXX; see | |||
| the RFC itself for full legal notices. | the RFC itself for full legal notices. | |||
| "; | "; | |||
| // RFC Ed.: replace XXXX with actual RFC number and remove | // RFC Ed.: replace XXXX with actual RFC number and remove | |||
| // this note | // this note | |||
| reference "RFC XXXX"; | reference "RFC XXXX"; | |||
| revision 2019-09-07 { | revision 2021-02-22 { | |||
| description | description | |||
| "Initial revision."; | "Initial revision."; | |||
| reference | reference | |||
| "RC8060: LISP Canonical Address Format (LCAF)"; | "RC8060: LISP Canonical Address Format (LCAF)"; | |||
| } | } | |||
| identity lisp-address-family { | identity lisp-address-family { | |||
| description | description | |||
| "Base identity from which identities describing LISP address | "Base identity from which identities describing LISP address | |||
| families are derived."; | families are derived."; | |||
| } | } | |||
| identity no-address-afi { | identity no-address-afi { | |||
| base lisp-address-family; | base lisp-address-family; | |||
| description | description | |||
| "IANA Reserved."; | "IANA Reserved."; | |||
| } | } | |||
| identity ipv4-afi { | identity ipv4-afi { | |||
| base lisp-address-family; | base lisp-address-family; | |||
| description | description | |||
| "IANA IPv4 address family."; | "IANA IPv4 address family."; | |||
| } | } | |||
| identity ipv4-prefix-afi { | identity ipv4-prefix-afi { | |||
| base lisp-address-family; | base lisp-address-family; | |||
| description | description | |||
| "IANA IPv4 address family prefix."; | "IANA IPv4 address family prefix."; | |||
| } | } | |||
| identity ipv6-afi { | identity ipv6-afi { | |||
| base lisp-address-family; | base lisp-address-family; | |||
| description | description | |||
| "IANA IPv6 address family."; | "IANA IPv6 address family."; | |||
| } | } | |||
| identity ipv6-prefix-afi { | identity ipv6-prefix-afi { | |||
| base lisp-address-family; | ||||
| description | ||||
| "IANA IPv6 address family prefix."; | ||||
| } | ||||
| identity mac-afi { | ||||
| base lisp-address-family; | ||||
| description | ||||
| "IANA MAC address family."; | ||||
| } | ||||
| identity distinguished-name-afi { | ||||
| base lisp-address-family; | ||||
| description | ||||
| "IANA Distinguished Name address family."; | ||||
| } | ||||
| identity as-number-afi { | ||||
| base lisp-address-family; | base lisp-address-family; | |||
| description | description | |||
| "IANA IPv6 address family prefix."; | "IANA AS Number address family."; | |||
| } | ||||
| identity lcaf { | ||||
| base lisp-address-family; | ||||
| description | ||||
| "IANA LISP Canonical Address Format address family."; | ||||
| } | ||||
| identity null-address-lcaf { | ||||
| base lcaf; | ||||
| description | ||||
| "Null body LCAF type."; | ||||
| } | ||||
| identity afi-list-lcaf { | ||||
| base lcaf; | ||||
| description | ||||
| "AFI-List LCAF type."; | ||||
| } | ||||
| identity instance-id-lcaf { | ||||
| base lcaf; | ||||
| description | ||||
| "Instance-ID LCAF type."; | ||||
| } | ||||
| identity as-number-lcaf { | ||||
| base lcaf; | ||||
| description | ||||
| "AS Number LCAF type."; | ||||
| } | ||||
| identity application-data-lcaf { | ||||
| base lcaf; | ||||
| description | ||||
| "Application Data LCAF type."; | ||||
| } | ||||
| identity geo-coordinates-lcaf { | ||||
| base lcaf; | ||||
| description | ||||
| "Geo-coordinates LCAF type."; | ||||
| } | ||||
| identity opaque-key-lcaf { | ||||
| base lcaf; | ||||
| description | ||||
| "Opaque Key LCAF type."; | ||||
| } | ||||
| identity nat-traversal-lcaf { | ||||
| base lcaf; | ||||
| description | ||||
| "NAT-Traversal LCAF type."; | ||||
| } | ||||
| identity nonce-locator-lcaf { | ||||
| base lcaf; | ||||
| description | ||||
| "Nonce-Locator LCAF type."; | ||||
| } | ||||
| identity multicast-info-lcaf { | ||||
| base lcaf; | ||||
| description | ||||
| "Multicast Info LCAF type."; | ||||
| } | ||||
| identity explicit-locator-path-lcaf { | ||||
| base lcaf; | ||||
| description | ||||
| "Explicit Locator Path LCAF type."; | ||||
| } | ||||
| identity security-key-lcaf { | ||||
| base lcaf; | ||||
| description | ||||
| "Security Key LCAF type."; | ||||
| } | ||||
| identity source-dest-key-lcaf { | ||||
| base lcaf; | ||||
| description | ||||
| "Source/Dest LCAF type."; | ||||
| } | ||||
| identity replication-list-lcaf { | ||||
| base lcaf; | ||||
| description | ||||
| "Replication-List LCAF type."; | ||||
| } | ||||
| identity json-data-model-lcaf { | ||||
| base lcaf; | ||||
| description | ||||
| "JSON Data Model LCAF type."; | ||||
| } | ||||
| identity key-value-address-lcaf { | ||||
| base lcaf; | ||||
| description | ||||
| "Key/Value Address LCAF type."; | ||||
| } | ||||
| identity encapsulation-format-lcaf { | ||||
| base lcaf; | ||||
| description | ||||
| "Encapsulation Format LCAF type."; | ||||
| } | ||||
| identity service-path-lcaf { | ||||
| base lcaf; | ||||
| description | ||||
| "Service Path LCAF type."; | ||||
| } | ||||
| typedef instance-id-type { | ||||
| type uint32 { | ||||
| range "0..16777215"; | ||||
| } | } | |||
| identity mac-afi { | description | |||
| base lisp-address-family; | "Defines the range of values for an Instance ID."; | |||
| description | } | |||
| "IANA MAC address family."; | typedef service-path-id-type { | |||
| } | type uint32 { | |||
| identity distinguished-name-afi { | range "0..16777215"; | |||
| base lisp-address-family; | ||||
| description | ||||
| "IANA Distinguished Name address family."; | ||||
| } | } | |||
| identity as-number-afi { | description | |||
| base lisp-address-family; | "Defines the range of values for a Service Path ID."; | |||
| description | } | |||
| "IANA AS Number address family."; | typedef distinguished-name-type { | |||
| type string; | ||||
| description | ||||
| "Distinguished Name address."; | ||||
| reference | ||||
| "http://www.iana.org/assignments/address-family-numbers/ | ||||
| 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; | ||||
| } | } | |||
| identity lcaf { | description | |||
| "Union of address types that can be part of LCAFs."; | ||||
| } | ||||
| typedef lisp-address-family-ref { | ||||
| type identityref { | ||||
| base lisp-address-family; | base lisp-address-family; | |||
| description | ||||
| "IANA LISP Canonical Address Format address family."; | ||||
| } | ||||
| identity null-address-lcaf { | ||||
| base lcaf; | ||||
| description | ||||
| "Null body LCAF type."; | ||||
| } | ||||
| identity afi-list-lcaf { | ||||
| base lcaf; | ||||
| description | ||||
| "AFI-List LCAF type."; | ||||
| } | ||||
| identity instance-id-lcaf { | ||||
| base lcaf; | ||||
| description | ||||
| "Instance-ID LCAF type."; | ||||
| } | ||||
| identity as-number-lcaf { | ||||
| base lcaf; | ||||
| description | ||||
| "AS Number LCAF type."; | ||||
| } | ||||
| identity application-data-lcaf { | ||||
| base lcaf; | ||||
| description | ||||
| "Application Data LCAF type."; | ||||
| } | ||||
| identity geo-coordinates-lcaf { | ||||
| base lcaf; | ||||
| description | ||||
| "Geo-coordinates LCAF type."; | ||||
| } | ||||
| identity opaque-key-lcaf { | ||||
| base lcaf; | ||||
| description | ||||
| "Opaque Key LCAF type."; | ||||
| } | ||||
| identity nat-traversal-lcaf { | ||||
| base lcaf; | ||||
| description | ||||
| "NAT-Traversal LCAF type."; | ||||
| } | ||||
| identity nonce-locator-lcaf { | ||||
| base lcaf; | ||||
| description | ||||
| "Nonce-Locator LCAF type."; | ||||
| } | ||||
| identity multicast-info-lcaf { | ||||
| base lcaf; | ||||
| description | ||||
| "Multicast Info LCAF type."; | ||||
| } | ||||
| identity explicit-locator-path-lcaf { | ||||
| base lcaf; | ||||
| description | ||||
| "Explicit Locator Path LCAF type."; | ||||
| } | } | |||
| identity security-key-lcaf { | description | |||
| base lcaf; | "LISP address family reference."; | |||
| description | } | |||
| "Security Key LCAF type."; | typedef lcaf-ref { | |||
| } | type identityref { | |||
| identity source-dest-key-lcaf { | ||||
| base lcaf; | ||||
| description | ||||
| "Source/Dest LCAF type."; | ||||
| } | ||||
| identity replication-list-lcaf { | ||||
| base lcaf; | ||||
| description | ||||
| "Replication-List LCAF type."; | ||||
| } | ||||
| identity json-data-model-lcaf { | ||||
| base lcaf; | ||||
| description | ||||
| "JSON Data Model LCAF type."; | ||||
| } | ||||
| identity key-value-address-lcaf { | ||||
| base lcaf; | ||||
| description | ||||
| "Key/Value Address LCAF type."; | ||||
| } | ||||
| identity encapsulation-format-lcaf { | ||||
| base lcaf; | base lcaf; | |||
| description | ||||
| "Encapsulation Format LCAF type."; | ||||
| } | } | |||
| identity service-path-lcaf { | description | |||
| base lcaf; | "LCAF types reference."; | |||
| } | ||||
| grouping lisp-address { | ||||
| description | ||||
| "Generic LISP address."; | ||||
| leaf address-type { | ||||
| type lisp-address-family-ref; | ||||
| mandatory true; | ||||
| description | description | |||
| "Service Path LCAF type."; | "Type of the LISP address."; | |||
| } | } | |||
| typedef instance-id-type { | choice address { | |||
| type uint32 { | ||||
| range "0..16777215"; | ||||
| } | ||||
| description | description | |||
| "Defines the range of values for an Instance ID."; | "Various LISP address types, including IP, MAC, and LCAF."; | |||
| } | ||||
| typedef service-path-id-type { | leaf no-address { | |||
| type uint32 { | when "../address-type = 'lisp-at:no-address-afi'" { | |||
| range "0..16777215"; | description | |||
| "When AFI is 0."; | ||||
| } | ||||
| type empty; | ||||
| description | ||||
| "No address."; | ||||
| } | } | |||
| description | leaf ipv4 { | |||
| "Defines the range of values for a Service Path ID."; | when "../address-type = 'lisp-at:ipv4-afi'" { | |||
| } | description | |||
| typedef distinguished-name-type { | "When AFI is IPv4."; | |||
| type string; | } | |||
| description | type inet:ipv4-address; | |||
| "Distinguished Name address."; | description | |||
| reference | "IPv4 address."; | |||
| "http://www.iana.org/assignments/address-family-numbers/ | ||||
| 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 | leaf ipv4-prefix { | |||
| "Union of address types that can be part of LCAFs."; | when "../address-type = 'lisp-at:ipv4-prefix-afi'" { | |||
| } | description | |||
| typedef lisp-address-family-ref { | "When AFI is IPv4."; | |||
| type identityref { | } | |||
| base lisp-address-family; | type inet:ipv4-prefix; | |||
| description | ||||
| "IPv4 prefix."; | ||||
| } | } | |||
| description | leaf ipv6 { | |||
| "LISP address family reference."; | when "../address-type = 'lisp-at:ipv6-afi'" { | |||
| } | description | |||
| typedef lcaf-ref { | "When AFI is IPv6."; | |||
| type identityref { | } | |||
| base lcaf; | type inet:ipv6-address; | |||
| description | ||||
| "IPv6 address."; | ||||
| } | } | |||
| description | leaf ipv6-prefix { | |||
| "LCAF types reference."; | when "../address-type = 'lisp-at:ipv6-prefix-afi'" { | |||
| } | description | |||
| "When AFI is IPv6."; | ||||
| grouping lisp-address { | } | |||
| description | type inet:ipv6-prefix; | |||
| "Generic LISP address."; | ||||
| leaf address-type { | ||||
| type lisp-address-family-ref; | ||||
| mandatory true; | ||||
| description | description | |||
| "Type of the LISP address."; | "IPv6 address."; | |||
| } | } | |||
| choice address { | leaf mac { | |||
| when "../address-type = 'lisp-at:mac-afi'" { | ||||
| description | ||||
| "When AFI is MAC."; | ||||
| } | ||||
| type yang:mac-address; | ||||
| description | description | |||
| "Various LISP address types, including IP, MAC, and LCAF."; | "MAC address."; | |||
| } | ||||
| leaf no-address { | leaf distinguished-name { | |||
| when "../address-type = 'laddr:no-address-afi'" { | when "../address-type = 'lisp-at:distinguished-name-afi'" { | |||
| description | description | |||
| "When AFI is 0."; | "When AFI is distinguished-name."; | |||
| } | } | |||
| type distinguished-name-type; | ||||
| description | ||||
| "Distinguished Name address."; | ||||
| } | ||||
| leaf as-number { | ||||
| when "../address-type = 'lisp-at:as-number-afi'" { | ||||
| description | ||||
| "When AFI is as-number."; | ||||
| } | ||||
| type inet:as-number; | ||||
| description | ||||
| "AS Number."; | ||||
| } | ||||
| container null-address { | ||||
| when "../address-type = 'lisp-at:null-address-lcaf'" { | ||||
| description | ||||
| "When LCAF type is null."; | ||||
| } | ||||
| description | ||||
| "Null body LCAF type"; | ||||
| leaf address { | ||||
| type empty; | type empty; | |||
| description | description | |||
| "No address."; | "AFI address."; | |||
| } | } | |||
| leaf ipv4 { | } | |||
| when "../address-type = 'laddr:ipv4-afi'" { | container afi-list { | |||
| description | when "../address-type = 'lisp-at:afi-list-lcaf'" { | |||
| "When AFI is IPv4."; | ||||
| } | ||||
| type inet:ipv4-address; | ||||
| description | description | |||
| "IPv4 address."; | "When LCAF type is AFI-List."; | |||
| } | } | |||
| leaf ipv4-prefix { | description | |||
| when "../address-type = 'laddr:ipv4-prefix-afi'" { | "AFI-List LCAF type."; | |||
| description | reference | |||
| "When AFI is IPv4."; | "http://tools.ietf.org/html/draft-ietf-lisp-lcaf-10 | |||
| } | #section-4.16.1"; | |||
| type inet:ipv4-prefix; | leaf-list address-list { | |||
| type simple-address; | ||||
| description | description | |||
| "IPv4 prefix."; | "List of AFI addresses."; | |||
| } | } | |||
| leaf ipv6 { | } | |||
| when "../address-type = 'laddr:ipv6-afi'" { | container instance-id { | |||
| description | when "../address-type = 'lisp-at:instance-id-lcaf'" { | |||
| "When AFI is IPv6."; | ||||
| } | ||||
| type inet:ipv6-address; | ||||
| description | description | |||
| "IPv6 address."; | "When LCAF type is Instance ID as per RFC8060."; | |||
| } | } | |||
| leaf ipv6-prefix { | description | |||
| when "../address-type = 'laddr:ipv6-prefix-afi'" { | "Instance ID LCAF type."; | |||
| description | reference | |||
| "When AFI is IPv6."; | "http://tools.ietf.org/html/draft-ietf-lisp-lcaf-10 | |||
| } | #section-4.2"; | |||
| type inet:ipv6-prefix; | leaf instance-id { | |||
| type instance-id-type; | ||||
| description | description | |||
| "IPv6 address."; | "Instance ID value."; | |||
| } | } | |||
| leaf mac { | leaf mask-length { | |||
| when "../address-type = 'laddr:mac-afi'" { | type uint8; | |||
| description | description | |||
| "When AFI is MAC."; | "Mask length."; | |||
| } | } | |||
| type yang:mac-address; | leaf address { | |||
| type simple-address; | ||||
| description | description | |||
| "MAC address."; | "AFI address."; | |||
| } | } | |||
| leaf distinguished-name { | } | |||
| when "../address-type = 'laddr:distinguished-name-afi'" { | container as-number-lcaf { | |||
| description | when "../address-type = 'lisp-at:as-number-lcaf'" { | |||
| "When AFI is distinguished-name."; | ||||
| } | ||||
| type distinguished-name-type; | ||||
| description | description | |||
| "Distinguished Name address."; | "When LCAF type is AS-Number."; | |||
| } | } | |||
| leaf as-number { | description | |||
| when "../address-type = 'laddr:as-number-afi'" { | "AS Number LCAF type."; | |||
| description | reference | |||
| "When AFI is as-number."; | "http://tools.ietf.org/html/draft-ietf-lisp-lcaf-10 | |||
| } | #section-4.3"; | |||
| leaf as { | ||||
| type inet:as-number; | type inet:as-number; | |||
| description | description | |||
| "AS Number."; | "AS number."; | |||
| } | } | |||
| container null-address { | leaf address { | |||
| when "../address-type = 'laddr:null-address-lcaf'" { | type simple-address; | |||
| description | ||||
| "When LCAF type is null."; | ||||
| } | ||||
| description | description | |||
| "Null body LCAF type"; | "AFI address."; | |||
| leaf address { | ||||
| type empty; | ||||
| description | ||||
| "AFI address."; | ||||
| } | ||||
| } | } | |||
| container afi-list { | } | |||
| when "../address-type = 'laddr:afi-list-lcaf'" { | container application-data { | |||
| description | when "../address-type = 'lisp-at:application-data-lcaf'" { | |||
| "When LCAF type is AFI-List."; | ||||
| } | ||||
| description | description | |||
| "AFI-List LCAF type."; | "When LCAF type is Application Data."; | |||
| reference | } | |||
| "http://tools.ietf.org/html/draft-ietf-lisp-lcaf-10 | description | |||
| #section-4.16.1"; | "Application Data LCAF type."; | |||
| leaf-list address-list { | reference | |||
| "http://tools.ietf.org/html/draft-ietf-lisp-lcaf-10 | ||||
| #section-4.4"; | ||||
| leaf address { | ||||
| type simple-address; | type simple-address; | |||
| description | description | |||
| "List of AFI addresses."; | "AFI address."; | |||
| } | ||||
| } | } | |||
| container instance-id { | leaf protocol { | |||
| when "../address-type = 'laddr:instance-id-lcaf'" { | type uint8; | |||
| description | ||||
| "When LCAF type is Instance ID as per RFC8060."; | ||||
| } | ||||
| description | ||||
| "Instance ID LCAF type."; | ||||
| reference | ||||
| "http://tools.ietf.org/html/draft-ietf-lisp-lcaf-10 | ||||
| #section-4.2"; | ||||
| leaf instance-id { | ||||
| type instance-id-type; | ||||
| description | description | |||
| "Instance ID value."; | "Protocol number."; | |||
| } | } | |||
| leaf mask-length { | leaf ip-tos { | |||
| type uint8; | type int32; | |||
| description | ||||
| "Mask length."; | ||||
| } | ||||
| leaf address { | ||||
| type simple-address; | ||||
| description | description | |||
| "AFI address."; | "Type of service field."; | |||
| } | ||||
| } | } | |||
| container as-number-lcaf { | leaf local-port-low { | |||
| when "../address-type = 'laddr:as-number-lcaf'" { | type inet:port-number; | |||
| description | description | |||
| "When LCAF type is AS-Number."; | "Low end of local port range."; | |||
| } | } | |||
| description | leaf local-port-high { | |||
| "AS Number LCAF type."; | type inet:port-number; | |||
| reference | ||||
| "http://tools.ietf.org/html/draft-ietf-lisp-lcaf-10 | ||||
| #section-4.3"; | ||||
| leaf as { | ||||
| type inet:as-number; | ||||
| description | description | |||
| "AS number."; | "High end of local port range."; | |||
| } | } | |||
| leaf address { | leaf remote-port-low { | |||
| type simple-address; | type inet:port-number; | |||
| description | description | |||
| "AFI address."; | "Low end of remote port range."; | |||
| } | ||||
| } | } | |||
| container application-data { | leaf remote-port-high { | |||
| when "../address-type = 'laddr:application-data-lcaf'" { | type inet:port-number; | |||
| description | description | |||
| "When LCAF type is Application Data."; | "High end of remote port range."; | |||
| } | } | |||
| } | ||||
| container geo-coordinates { | ||||
| when "../address-type = 'lisp-at:geo-coordinates-lcaf'" { | ||||
| description | description | |||
| "Application Data LCAF type."; | "When LCAF type is Geo-coordinates."; | |||
| reference | } | |||
| "http://tools.ietf.org/html/draft-ietf-lisp-lcaf-10 | description | |||
| #section-4.4"; | "Geo-coordinates LCAF type. Coordinates are specified | |||
| leaf address { | using the WGS 84 (World Geodetic System 1984) reference | |||
| type simple-address; | coordinate system"; | |||
| description | reference | |||
| "AFI address."; | "http://tools.ietf.org/html/draft-ietf-lisp-lcaf-10 | |||
| } | #section-4.5"; | |||
| leaf protocol { | leaf latitude { | |||
| type uint8; | type bits { | |||
| description | bit N { | |||
| "Protocol number."; | ||||
| } | ||||
| leaf ip-tos { | ||||
| type int32; | ||||
| description | description | |||
| "Type of service field."; | "Latitude bit."; | |||
| } | ||||
| } | } | |||
| leaf local-port-low { | description | |||
| type inet:port-number; | "Bit that selects between North and South latitude."; | |||
| description | } | |||
| "Low end of local port range."; | leaf latitude-degrees { | |||
| type uint8 { | ||||
| range "0 .. 90"; | ||||
| } | } | |||
| leaf local-port-high { | description | |||
| type inet:port-number; | "Degrees of latitude."; | |||
| description | } | |||
| "High end of local port range."; | leaf latitude-minutes { | |||
| type uint8 { | ||||
| range "0..59"; | ||||
| } | } | |||
| leaf remote-port-low { | description | |||
| type inet:port-number; | "Minutes of latitude."; | |||
| description | } | |||
| "Low end of remote port range."; | leaf latitude-seconds { | |||
| type uint8 { | ||||
| range "0..59"; | ||||
| } | } | |||
| leaf remote-port-high { | description | |||
| type inet:port-number; | "Seconds of latitude."; | |||
| } | ||||
| leaf longitude { | ||||
| type bits { | ||||
| bit E { | ||||
| description | description | |||
| "High end of remote port range."; | "Longitude bit."; | |||
| } | ||||
| } | } | |||
| description | ||||
| "Bit that selects between East and West longitude."; | ||||
| } | } | |||
| container geo-coordinates { | leaf longitude-degrees { | |||
| when "../address-type = 'laddr:geo-coordinates-lcaf'" { | type uint16 { | |||
| description | range "0 .. 180"; | |||
| "When LCAF type is Geo-coordinates."; | ||||
| } | } | |||
| description | description | |||
| "Geo-coordinates LCAF type. Coordinates are specified | "Degrees of longitude."; | |||
| using the WGS 84 (World Geodetic System 1984) reference | } | |||
| coordinate system"; | leaf longitude-minutes { | |||
| reference | type uint8 { | |||
| "http://tools.ietf.org/html/draft-ietf-lisp-lcaf-10 | range "0..59"; | |||
| #section-4.5"; | ||||
| leaf latitude { | ||||
| type bits { | ||||
| bit N { | ||||
| description | ||||
| "Latitude bit."; | ||||
| } | ||||
| } | ||||
| description | ||||
| "Bit that selects between North and South latitude."; | ||||
| } | } | |||
| leaf latitude-degrees { | description | |||
| type uint8 { | "Minutes of longitude."; | |||
| range "0 .. 90"; | } | |||
| } | leaf longitude-seconds { | |||
| description | type uint8 { | |||
| "Degrees of latitude."; | range "0..59"; | |||
| } | } | |||
| leaf latitude-minutes { | description | |||
| type uint8 { | "Seconds of longitude."; | |||
| range "0..59"; | } | |||
| leaf altitude { | ||||
| type int32; | ||||
| description | ||||
| "Height relative to sea level in meters."; | ||||
| } | ||||
| leaf address { | ||||
| type simple-address; | ||||
| description | ||||
| "AFI address."; | ||||
| } | ||||
| } | ||||
| container nat-traversal { | ||||
| when "../address-type = 'lisp-at:nat-traversal-lcaf'" { | ||||
| description | ||||
| "When LCAF type is NAT-Traversal."; | ||||
| } | ||||
| description | ||||
| "NAT-Traversal LCAF type."; | ||||
| reference | ||||
| "http://tools.ietf.org/html/draft-ietf-lisp-lcaf-10 | ||||
| #section-4.6"; | ||||
| leaf ms-udp-port { | ||||
| type uint16; | ||||
| description | ||||
| "Map-Server UDP port (set to 4342)."; | ||||
| } | ||||
| leaf etr-udp-port { | ||||
| type uint16; | ||||
| description | ||||
| "ETR UDP port."; | ||||
| } | ||||
| leaf global-etr-rloc { | ||||
| type simple-address; | ||||
| description | ||||
| "Global ETR RLOC address."; | ||||
| } | ||||
| leaf ms-rloc { | ||||
| type simple-address; | ||||
| description | ||||
| "Map-Server RLOC address."; | ||||
| } | ||||
| leaf private-etr-rloc { | ||||
| type simple-address; | ||||
| description | ||||
| "Private ETR RLOC address."; | ||||
| } | ||||
| leaf-list rtr-rlocs { | ||||
| type simple-address; | ||||
| description | ||||
| "List of RTR RLOC addresses."; | ||||
| } | ||||
| } | ||||
| container explicit-locator-path { | ||||
| when "../address-type = 'lisp-at:explicit-locator-path-lcaf'" { | ||||
| description | ||||
| "When LCAF type type is Explicit Locator Path."; | ||||
| } | ||||
| description | ||||
| "Explicit Locator Path LCAF type."; | ||||
| reference | ||||
| "http://tools.ietf.org/html/draft-ietf-lisp-lcaf-10 | ||||
| #section-4.9"; | ||||
| list hop { | ||||
| key "hop-id"; | ||||
| ordered-by user; | ||||
| description | ||||
| "List of locator hops forming the explicit path."; | ||||
| leaf hop-id { | ||||
| type string { | ||||
| length "1..64"; | ||||
| pattern '[a-zA-Z0-9\-_.:]*'; | ||||
| } | } | |||
| description | description | |||
| "Minutes of latitude."; | "Unique identifier for the hop."; | |||
| } | } | |||
| leaf latitude-seconds { | leaf address { | |||
| type uint8 { | type simple-address; | |||
| range "0..59"; | ||||
| } | ||||
| description | description | |||
| "Seconds of latitude."; | "AFI address."; | |||
| } | } | |||
| leaf longitude { | leaf lrs-bits { | |||
| type bits { | type bits{ | |||
| bit E { | bit lookup { | |||
| description | description | |||
| "Longitude bit."; | "Lookup bit."; | |||
| } | ||||
| bit rloc-probe { | ||||
| description | ||||
| "RLOC-probe bit."; | ||||
| } | ||||
| bit strict { | ||||
| description | ||||
| "Strict bit."; | ||||
| } | } | |||
| } | } | |||
| description | description | |||
| "Bit that selects between East and West longitude."; | "Flag bits per hop."; | |||
| } | ||||
| leaf longitude-degrees { | ||||
| type uint16 { | ||||
| range "0 .. 180"; | ||||
| } | ||||
| description | ||||
| "Degrees of longitude."; | ||||
| } | ||||
| leaf longitude-minutes { | ||||
| type uint8 { | ||||
| range "0..59"; | ||||
| } | ||||
| description | ||||
| "Minutes of longitude."; | ||||
| } | ||||
| leaf longitude-seconds { | ||||
| type uint8 { | ||||
| range "0..59"; | ||||
| } | ||||
| description | ||||
| "Seconds of longitude."; | ||||
| } | ||||
| leaf altitude { | ||||
| type int32; | ||||
| description | ||||
| "Height relative to sea level in meters."; | ||||
| } | ||||
| leaf address { | ||||
| type simple-address; | ||||
| description | ||||
| "AFI address."; | ||||
| } | } | |||
| } | } | |||
| container nat-traversal { | } | |||
| when "../address-type = 'laddr:nat-traversal-lcaf'" { | container source-dest-key { | |||
| description | when "../address-type = 'lisp-at:source-dest-key-lcaf'" { | |||
| "When LCAF type is NAT-Traversal."; | ||||
| } | ||||
| description | description | |||
| "NAT-Traversal LCAF type."; | "When LCAF type type is Source/Dest."; | |||
| reference | } | |||
| description | ||||
| "Source/Dest LCAF type."; | ||||
| 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.11"; | |||
| leaf ms-udp-port { | leaf source { | |||
| type uint16; | type simple-address; | |||
| description | description | |||
| "Map-Server UDP port (set to 4342)."; | "Source address."; | |||
| } | ||||
| leaf etr-udp-port { | ||||
| type uint16; | ||||
| description | ||||
| "ETR UDP port."; | ||||
| } | ||||
| leaf global-etr-rloc { | ||||
| type simple-address; | ||||
| description | ||||
| "Global ETR RLOC address."; | ||||
| } | ||||
| leaf ms-rloc { | ||||
| type simple-address; | ||||
| description | ||||
| "Map-Server RLOC address."; | ||||
| } | ||||
| leaf private-etr-rloc { | ||||
| type simple-address; | ||||
| description | ||||
| "Private ETR RLOC address."; | ||||
| } | ||||
| leaf-list rtr-rlocs { | ||||
| type simple-address; | ||||
| description | ||||
| "List of RTR RLOC addresses."; | ||||
| } | ||||
| } | } | |||
| container explicit-locator-path { | leaf dest { | |||
| when "../address-type = 'laddr:explicit-locator-path-lcaf'" { | type simple-address; | |||
| description | ||||
| "When LCAF type type is Explicit Locator Path."; | ||||
| } | ||||
| description | description | |||
| "Explicit Locator Path LCAF type."; | "Destination address."; | |||
| reference | ||||
| "http://tools.ietf.org/html/draft-ietf-lisp-lcaf-10 | ||||
| #section-4.9"; | ||||
| list hop { | ||||
| key "hop-id"; | ||||
| ordered-by user; | ||||
| description | ||||
| "List of locator hops forming the explicit path."; | ||||
| leaf hop-id { | ||||
| type string { | ||||
| length "1..64"; | ||||
| pattern '[a-zA-Z0-9\-_.:]*'; | ||||
| } | ||||
| description | ||||
| "Unique identifier for the hop."; | ||||
| } | ||||
| leaf address { | ||||
| type simple-address; | ||||
| description | ||||
| "AFI address."; | ||||
| } | ||||
| leaf lrs-bits { | ||||
| type bits{ | ||||
| bit lookup { | ||||
| description | ||||
| "Lookup bit."; | ||||
| } | ||||
| bit rloc-probe { | ||||
| description | ||||
| "RLOC-probe bit."; | ||||
| } | ||||
| bit strict { | ||||
| description | ||||
| "Strict bit."; | ||||
| } | ||||
| } | ||||
| description | ||||
| "Flag bits per hop."; | ||||
| } | ||||
| } | ||||
| } | } | |||
| container source-dest-key { | } | |||
| when "../address-type = 'laddr:source-dest-key-lcaf'" { | container key-value-address { | |||
| description | when "../address-type = 'lisp-at:key-value-address-lcaf'" { | |||
| "When LCAF type type is Source/Dest."; | ||||
| } | ||||
| description | description | |||
| "Source/Dest LCAF type."; | "When LCAF type type is Key/Value Address."; | |||
| reference | ||||
| "http://tools.ietf.org/html/draft-ietf-lisp-lcaf-10 | ||||
| #section-4.11"; | ||||
| leaf source { | ||||
| type simple-address; | ||||
| description | ||||
| "Source address."; | ||||
| } | ||||
| leaf dest { | ||||
| type simple-address; | ||||
| description | ||||
| "Destination address."; | ||||
| } | ||||
| } | } | |||
| container key-value-address { | description | |||
| when "../address-type = 'laddr:key-value-address-lcaf'" { | "Key/Value Address LCAF type."; | |||
| description | reference | |||
| "When LCAF type type is Key/Value Address."; | "http://tools.ietf.org/html/draft-ietf-lisp-lcaf-10 | |||
| } | #section-4.11"; | |||
| leaf key { | ||||
| type simple-address; | ||||
| description | description | |||
| "Key/Value Address LCAF type."; | "Address as Key."; | |||
| reference | ||||
| "http://tools.ietf.org/html/draft-ietf-lisp-lcaf-10 | ||||
| #section-4.11"; | ||||
| leaf key { | ||||
| type simple-address; | ||||
| description | ||||
| "Address as Key."; | ||||
| } | ||||
| leaf value { | ||||
| type simple-address; | ||||
| description | ||||
| "Address as Value."; | ||||
| } | ||||
| } | } | |||
| container service-path { | leaf value { | |||
| when "../address-type = 'laddr:service-path-lcaf'" { | type simple-address; | |||
| description | description | |||
| "When LCAF type service path identifier."; | "Address as Value."; | |||
| } | } | |||
| } | ||||
| container service-path { | ||||
| when "../address-type = 'lisp-at: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 | |||
| "Service Path LCAF type."; | "Service path identifier for the path for NSH header"; | |||
| reference | } | |||
| "http://tools.ietf.org/html/draft-ermagan-lisp-nsh-00"; | leaf service-index { | |||
| leaf service-path-id { | type uint8; | |||
| type service-path-id-type; | description | |||
| description | "Service path index for NSH header"; | |||
| "Service path identifier for the path for NSH header"; | ||||
| } | ||||
| leaf service-index { | ||||
| type uint8; | ||||
| description | ||||
| "Service path index for NSH header"; | ||||
| } | ||||
| } | } | |||
| } | } | |||
| } | } | |||
| } | } | |||
| <CODE ENDS> | } | |||
| <CODE ENDS> | ||||
| 7.2. Data Model examples | 7.2. Data Model examples | |||
| This section presents some simple and illustrative examples on how to | This section presents some simple and illustrative examples on how to | |||
| configure LISP. | configure LISP. | |||
| 7.2.1. LISP protocol instance | 7.2.1. LISP protocol instance | |||
| The following is an example configuration for a LISP protocol | The following is an example configuration for a LISP protocol | |||
| instance with the name "LISP1". There are also 2 VNIs configured. | instance with the name "LISP1". There are also 2 VNIs configured. | |||
| skipping to change at page 69, line 20 ¶ | skipping to change at page 70, line 20 ¶ | |||
| </authentication-keys> | </authentication-keys> | |||
| </map-server> | </map-server> | |||
| </map-servers> | </map-servers> | |||
| <local-eids> | <local-eids> | |||
| <vpn> | <vpn> | |||
| <instance-id>1000</instance-id> | <instance-id>1000</instance-id> | |||
| <eids> | <eids> | |||
| <local-eid> | <local-eid> | |||
| <id>2001:db8:400:0:100::0</id> | <id>2001:db8:400:0:100::0</id> | |||
| <eid-address> | <eid-address> | |||
| <address-type xmlns:laddr= | <address-type xmlns:lisp-at= | |||
| "urn:ietf:params:xml:ns:yang:ietf-lisp-address-types"> | "urn:ietf:params:xml:ns:yang:ietf-lisp-address-types"> | |||
| laddr:ipv6-prefix-afi | lisp-at:ipv6-prefix-afi | |||
| </address-type> | </address-type> | |||
| <ipv6-prefix>2001:db8:400:0:100::/80</ipv6-prefix> | <ipv6-prefix>2001:db8:400:0:100::/80</ipv6-prefix> | |||
| </eid-address> | </eid-address> | |||
| </local-eid> | </local-eid> | |||
| </eids> | </eids> | |||
| </vpn> | </vpn> | |||
| <vpn> | <vpn> | |||
| <instance-id>2000</instance-id> | <instance-id>2000</instance-id> | |||
| <eids> | <eids> | |||
| <local-eid> | <local-eid> | |||
| <id>2001:db8:800:0:200::0</id> | <id>2001:db8:800:0:200::0</id> | |||
| <eid-address> | <eid-address> | |||
| <address-type xmlns:laddr= | <address-type xmlns:lisp-at= | |||
| "urn:ietf:params:xml:ns:yang:ietf-lisp-address-types"> | "urn:ietf:params:xml:ns:yang:ietf-lisp-address-types"> | |||
| laddr:ipv6-prefix-afi | lisp-at:ipv6-prefix-afi | |||
| </address-type> | </address-type> | |||
| <ipv6-prefix>2001:db8:800:0:200::/80</ipv6-prefix> | <ipv6-prefix>2001:db8:800:0:200::/80</ipv6-prefix> | |||
| </eid-address> | </eid-address> | |||
| </local-eid> | </local-eid> | |||
| </eids> | </eids> | |||
| </vpn> | </vpn> | |||
| </local-eids> | </local-eids> | |||
| </etr> | </etr> | |||
| </lisp> | </lisp> | |||
| </control-plane-protocol> | </control-plane-protocol> | |||
| skipping to change at page 70, line 48 ¶ | skipping to change at page 71, line 48 ¶ | |||
| </authentication-keys> | </authentication-keys> | |||
| </site> | </site> | |||
| </sites> | </sites> | |||
| <vpns> | <vpns> | |||
| <vpn> | <vpn> | |||
| <instance-id>1000</instance-id> | <instance-id>1000</instance-id> | |||
| <mappings> | <mappings> | |||
| <mapping> | <mapping> | |||
| <eid-id>1</eid-id> | <eid-id>1</eid-id> | |||
| <eid-address> | <eid-address> | |||
| <address-type xmlns:laddr= | <address-type xmlns:lisp-at= | |||
| "urn:ietf:params:xml:ns:yang:ietf-lisp-address-types"> | "urn:ietf:params:xml:ns:yang:ietf-lisp-address-types"> | |||
| laddr:ipv6-prefix-afi | lisp-at:ipv6-prefix-afi | |||
| </address-type> | </address-type> | |||
| <ipv6-prefix>2001:db8:400:0:100::/80</ipv6-prefix> | <ipv6-prefix>2001:db8:400:0:100::/80</ipv6-prefix> | |||
| </eid-address> | </eid-address> | |||
| </mapping> | </mapping> | |||
| </mappings> | </mappings> | |||
| </vpn> | </vpn> | |||
| <vpn> | <vpn> | |||
| <instance-id>2000</instance-id> | <instance-id>2000</instance-id> | |||
| <mappings> | <mappings> | |||
| <mapping> | <mapping> | |||
| <eid-id>1</eid-id> | <eid-id>1</eid-id> | |||
| <eid-address> | <eid-address> | |||
| <address-type xmlns:laddr= | <address-type xmlns:lisp-at= | |||
| "urn:ietf:params:xml:ns:yang:ietf-lisp-address-types"> | "urn:ietf:params:xml:ns:yang:ietf-lisp-address-types"> | |||
| laddr:ipv6-prefix-afi | lisp-at:ipv6-prefix-afi | |||
| </address-type> | </address-type> | |||
| <ipv6-prefix>2001:db8:800:0:200::/80</ipv6-prefix> | <ipv6-prefix>2001:db8:800:0:200::/80</ipv6-prefix> | |||
| </eid-address> | </eid-address> | |||
| </mapping> | </mapping> | |||
| </mappings> | </mappings> | |||
| </vpn> | </vpn> | |||
| </vpns> | </vpns> | |||
| </map-server> | </map-server> | |||
| </lisp> | </lisp> | |||
| </control-plane-protocol> | </control-plane-protocol> | |||
| skipping to change at page 73, line 12 ¶ | skipping to change at page 74, line 12 ¶ | |||
| -------------------------------------------------------------------- | -------------------------------------------------------------------- | |||
| URI: urn:ietf:params:xml:ns:yang:ietf-lisp-address-types | URI: urn:ietf:params:xml:ns:yang:ietf-lisp-address-types | |||
| Registrant Contact: The IESG. | Registrant Contact: The IESG. | |||
| XML: N/A, the requested URI is an XML namespace. | XML: N/A, the requested URI is an XML namespace. | |||
| -------------------------------------------------------------------- | -------------------------------------------------------------------- | |||
| This document registers the following YANG modules in the "YANG | ||||
| Module Names" registry [RFC6020]: | ||||
| -------------------------------------------------------------------- | ||||
| Name: ietf-lisp | ||||
| Namespace: urn:ietf:params:xml:ns:yang:ietf-lisp | ||||
| Prefix: lisp | ||||
| Reference: RFC XXX | ||||
| -------------------------------------------------------------------- | ||||
| -------------------------------------------------------------------- | ||||
| Name: ietf-lisp-itr | ||||
| Namespace: urn:ietf:params:xml:ns:yang:ietf-lisp-itr | ||||
| Prefix: lisp-itr | ||||
| Reference: RFC XXX | ||||
| -------------------------------------------------------------------- | ||||
| -------------------------------------------------------------------- | ||||
| Name: ietf-lisp-etr | ||||
| Namespace: urn:ietf:params:xml:ns:yang:ietf-lisp-etr | ||||
| Prefix: lisp-etr | ||||
| Reference: RFC XXX | ||||
| -------------------------------------------------------------------- | ||||
| -------------------------------------------------------------------- | ||||
| Name: ietf-lisp-mapserver | ||||
| Namespace: urn:ietf:params:xml:ns:yang:ietf-lisp-mapserver | ||||
| Prefix: lisp-ms | ||||
| Reference: RFC XXX | ||||
| -------------------------------------------------------------------- | ||||
| -------------------------------------------------------------------- | ||||
| Name: ietf-lisp-mapresolver | ||||
| Namespace: urn:ietf:params:xml:ns:yang:ietf-lisp-mapresolver | ||||
| Prefix: lisp-mr | ||||
| Reference: RFC XXX | ||||
| -------------------------------------------------------------------- | ||||
| -------------------------------------------------------------------- | ||||
| Name: ietf-lisp-address-types | ||||
| Namespace: urn:ietf:params:xml:ns:yang:ietf-lisp-address-types | ||||
| Prefix: lisp-at | ||||
| Reference: RFC XXX | ||||
| -------------------------------------------------------------------- | ||||
| 10. Security Considerations | 10. Security Considerations | |||
| The YANG modules specified in this document define a schema for data | The YANG modules specified in this document define a schema for data | |||
| that is designed to be accessed via network management protocols such | that is designed to be accessed via network management protocols such | |||
| as NETCONF [RFC6241] or RESTCONF [RFC8040]. The lowest NETCONF layer | as NETCONF [RFC6241] or RESTCONF [RFC8040]. The lowest NETCONF layer | |||
| is the secure transport layer, and the mandatory-to-implement secure | is the secure transport layer, and the mandatory-to-implement secure | |||
| transport is Secure Shell (SSH) [RFC6242]. The lowest RESTCONF layer | transport is Secure Shell (SSH) [RFC6242]. The lowest RESTCONF layer | |||
| is HTTPS, and the mandatory-to-implement secure transport is TLS | is HTTPS, and the mandatory-to-implement secure transport is TLS | |||
| [RFC8446]. | [RFC8446]. | |||
| skipping to change at page 76, line 26 ¶ | skipping to change at page 79, line 5 ¶ | |||
| [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, | |||
| <https://www.rfc-editor.org/info/rfc2119>. | <https://www.rfc-editor.org/info/rfc2119>. | |||
| [RFC3688] Mealling, M., "The IETF XML Registry", BCP 81, RFC 3688, | [RFC3688] Mealling, M., "The IETF XML Registry", BCP 81, RFC 3688, | |||
| DOI 10.17487/RFC3688, January 2004, | DOI 10.17487/RFC3688, January 2004, | |||
| <https://www.rfc-editor.org/info/rfc3688>. | <https://www.rfc-editor.org/info/rfc3688>. | |||
| [RFC6020] Bjorklund, M., Ed., "YANG - A Data Modeling Language for | ||||
| the Network Configuration Protocol (NETCONF)", RFC 6020, | ||||
| DOI 10.17487/RFC6020, October 2010, | ||||
| <https://www.rfc-editor.org/info/rfc6020>. | ||||
| [RFC6241] Enns, R., Ed., Bjorklund, M., Ed., Schoenwaelder, J., Ed., | [RFC6241] Enns, R., Ed., Bjorklund, M., Ed., Schoenwaelder, J., Ed., | |||
| and A. Bierman, Ed., "Network Configuration Protocol | and A. Bierman, Ed., "Network Configuration Protocol | |||
| (NETCONF)", RFC 6241, DOI 10.17487/RFC6241, June 2011, | (NETCONF)", RFC 6241, DOI 10.17487/RFC6241, June 2011, | |||
| <https://www.rfc-editor.org/info/rfc6241>. | <https://www.rfc-editor.org/info/rfc6241>. | |||
| [RFC6242] Wasserman, M., "Using the NETCONF Protocol over Secure | [RFC6242] Wasserman, M., "Using the NETCONF Protocol over Secure | |||
| Shell (SSH)", RFC 6242, DOI 10.17487/RFC6242, June 2011, | Shell (SSH)", RFC 6242, DOI 10.17487/RFC6242, June 2011, | |||
| <https://www.rfc-editor.org/info/rfc6242>. | <https://www.rfc-editor.org/info/rfc6242>. | |||
| [RFC6830] Farinacci, D., Fuller, V., Meyer, D., and D. Lewis, "The | [RFC6830] Farinacci, D., Fuller, V., Meyer, D., and D. Lewis, "The | |||
| skipping to change at page 77, line 10 ¶ | skipping to change at page 79, line 40 ¶ | |||
| [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, | |||
| <https://www.rfc-editor.org/info/rfc6833>. | <https://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, <https://www.rfc-editor.org/info/rfc6836>. | January 2013, <https://www.rfc-editor.org/info/rfc6836>. | |||
| [RFC6991] Schoenwaelder, J., Ed., "Common YANG Data Types", | ||||
| RFC 6991, DOI 10.17487/RFC6991, July 2013, | ||||
| <https://www.rfc-editor.org/info/rfc6991>. | ||||
| [RFC7835] Saucez, D., Iannone, L., and O. Bonaventure, "Locator/ID | [RFC7835] Saucez, D., Iannone, L., and O. Bonaventure, "Locator/ID | |||
| Separation Protocol (LISP) Threat Analysis", RFC 7835, | Separation Protocol (LISP) Threat Analysis", RFC 7835, | |||
| DOI 10.17487/RFC7835, April 2016, | DOI 10.17487/RFC7835, April 2016, | |||
| <https://www.rfc-editor.org/info/rfc7835>. | <https://www.rfc-editor.org/info/rfc7835>. | |||
| [RFC8022] Lhotka, L. and A. Lindem, "A YANG Data Model for Routing | ||||
| Management", RFC 8022, DOI 10.17487/RFC8022, November | ||||
| 2016, <https://www.rfc-editor.org/info/rfc8022>. | ||||
| [RFC8040] Bierman, A., Bjorklund, M., and K. Watsen, "RESTCONF | [RFC8040] Bierman, A., Bjorklund, M., and K. Watsen, "RESTCONF | |||
| Protocol", RFC 8040, DOI 10.17487/RFC8040, January 2017, | Protocol", RFC 8040, DOI 10.17487/RFC8040, January 2017, | |||
| <https://www.rfc-editor.org/info/rfc8040>. | <https://www.rfc-editor.org/info/rfc8040>. | |||
| [RFC8060] Farinacci, D., Meyer, D., and J. Snijders, "LISP Canonical | [RFC8060] Farinacci, D., Meyer, D., and J. Snijders, "LISP Canonical | |||
| Address Format (LCAF)", RFC 8060, DOI 10.17487/RFC8060, | Address Format (LCAF)", RFC 8060, DOI 10.17487/RFC8060, | |||
| February 2017, <https://www.rfc-editor.org/info/rfc8060>. | February 2017, <https://www.rfc-editor.org/info/rfc8060>. | |||
| [RFC8111] Fuller, V., Lewis, D., Ermagan, V., Jain, A., and A. | [RFC8111] Fuller, V., Lewis, D., Ermagan, V., Jain, A., and A. | |||
| Smirnov, "Locator/ID Separation Protocol Delegated | Smirnov, "Locator/ID Separation Protocol Delegated | |||
| skipping to change at page 77, line 41 ¶ | skipping to change at page 80, line 31 ¶ | |||
| [RFC8340] Bjorklund, M. and L. Berger, Ed., "YANG Tree Diagrams", | [RFC8340] Bjorklund, M. and L. Berger, Ed., "YANG Tree Diagrams", | |||
| BCP 215, RFC 8340, DOI 10.17487/RFC8340, March 2018, | BCP 215, RFC 8340, DOI 10.17487/RFC8340, March 2018, | |||
| <https://www.rfc-editor.org/info/rfc8340>. | <https://www.rfc-editor.org/info/rfc8340>. | |||
| [RFC8341] Bierman, A. and M. Bjorklund, "Network Configuration | [RFC8341] Bierman, A. and M. Bjorklund, "Network Configuration | |||
| Access Control Model", STD 91, RFC 8341, | Access Control Model", STD 91, RFC 8341, | |||
| DOI 10.17487/RFC8341, March 2018, | DOI 10.17487/RFC8341, March 2018, | |||
| <https://www.rfc-editor.org/info/rfc8341>. | <https://www.rfc-editor.org/info/rfc8341>. | |||
| [RFC8343] Bjorklund, M., "A YANG Data Model for Interface | ||||
| Management", RFC 8343, DOI 10.17487/RFC8343, March 2018, | ||||
| <https://www.rfc-editor.org/info/rfc8343>. | ||||
| [RFC8349] Lhotka, L., Lindem, A., and Y. Qu, "A YANG Data Model for | [RFC8349] Lhotka, L., Lindem, A., and Y. Qu, "A YANG Data Model for | |||
| Routing Management (NMDA Version)", RFC 8349, | Routing Management (NMDA Version)", RFC 8349, | |||
| DOI 10.17487/RFC8349, March 2018, | DOI 10.17487/RFC8349, March 2018, | |||
| <https://www.rfc-editor.org/info/rfc8349>. | <https://www.rfc-editor.org/info/rfc8349>. | |||
| [RFC8446] Rescorla, E., "The Transport Layer Security (TLS) Protocol | [RFC8446] Rescorla, E., "The Transport Layer Security (TLS) Protocol | |||
| Version 1.3", RFC 8446, DOI 10.17487/RFC8446, August 2018, | Version 1.3", RFC 8446, DOI 10.17487/RFC8446, August 2018, | |||
| <https://www.rfc-editor.org/info/rfc8446>. | <https://www.rfc-editor.org/info/rfc8446>. | |||
| [RFC8529] Berger, L., Hopps, C., Lindem, A., Bogdanovic, D., and X. | ||||
| Liu, "YANG Data Model for Network Instances", RFC 8529, | ||||
| DOI 10.17487/RFC8529, March 2019, | ||||
| <https://www.rfc-editor.org/info/rfc8529>. | ||||
| Authors' Addresses | Authors' Addresses | |||
| Vina Ermagan | Vina Ermagan | |||
| USA | USA | |||
| Email: ermagan@gmail.com | Email: ermagan@gmail.com | |||
| Alberto Rodriguez-Natal | Alberto Rodriguez-Natal | |||
| Cisco Systems | Cisco Systems | |||
| skipping to change at page 78, line 28 ¶ | skipping to change at page 81, line 28 ¶ | |||
| Email: natal@cisco.com | Email: natal@cisco.com | |||
| Florin Coras | Florin Coras | |||
| Cisco Systems | Cisco Systems | |||
| San Jose, CA | San Jose, CA | |||
| USA | USA | |||
| Email: fcoras@cisco.com | Email: fcoras@cisco.com | |||
| Carl Moberg | Carl Moberg | |||
| Cisco Systems | Avassa | |||
| San Jose, CA | ||||
| USA | ||||
| Email: camoberg@cisco.com | Email: calle@avassa.io | |||
| Reshad Rahman | Reshad Rahman | |||
| Cisco Systems | ||||
| Canada | Canada | |||
| Email: rrahman@cisco.com | Email: reshad@yahoo.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 | |||
| San Jose, CA | San Jose, CA | |||
| End of changes. 157 change blocks. | ||||
| 672 lines changed or deleted | 786 lines changed or added | |||
This html diff was produced by rfcdiff 1.48. The latest version is available from http://tools.ietf.org/tools/rfcdiff/ | ||||