| < draft-ietf-lisp-yang-02.txt | draft-ietf-lisp-yang-03.txt > | |||
|---|---|---|---|---|
| LISP Working Group V. Ermagan | LISP Working Group V. Ermagan | |||
| Internet-Draft Cisco Systems | Internet-Draft Cisco Systems | |||
| Intended status: Experimental A. Rodriguez-Natal | Intended status: Experimental A. Rodriguez-Natal | |||
| Expires: December 20, 2016 F. Coras | Expires: January 7, 2017 F. Coras | |||
| Technical University of Catalonia | Technical University of Catalonia | |||
| C. Moberg | C. Moberg | |||
| Cisco Systems | Cisco Systems | |||
| A. Cabellos-Aparicio | A. Cabellos-Aparicio | |||
| Technical University of Catalonia | Technical University of Catalonia | |||
| F. Maino | F. Maino | |||
| Cisco Systems | Cisco Systems | |||
| June 18, 2016 | July 6, 2016 | |||
| LISP Configuration YANG Model | LISP Configuration YANG Model | |||
| draft-ietf-lisp-yang-02 | draft-ietf-lisp-yang-03 | |||
| Abstract | Abstract | |||
| This document describes a YANG data model to use with the Locator/ID | This document describes a YANG data model to use with the Locator/ID | |||
| Separation Protocol (LISP). | Separation Protocol (LISP). | |||
| Status of This Memo | Status of This Memo | |||
| This Internet-Draft is submitted in full conformance with the | This Internet-Draft is submitted in full conformance with the | |||
| provisions of BCP 78 and BCP 79. | provisions of BCP 78 and BCP 79. | |||
| skipping to change at page 1, line 39 ¶ | skipping to change at page 1, line 39 ¶ | |||
| Internet-Drafts are working documents of the Internet Engineering | Internet-Drafts are working documents of the Internet Engineering | |||
| Task Force (IETF). Note that other groups may also distribute | Task Force (IETF). Note that other groups may also distribute | |||
| working documents as Internet-Drafts. The list of current Internet- | working documents as Internet-Drafts. The list of current Internet- | |||
| Drafts is at http://datatracker.ietf.org/drafts/current/. | Drafts is at http://datatracker.ietf.org/drafts/current/. | |||
| Internet-Drafts are draft documents valid for a maximum of six months | Internet-Drafts are draft documents valid for a maximum of six months | |||
| and may be updated, replaced, or obsoleted by other documents at any | and may be updated, replaced, or obsoleted by other documents at any | |||
| time. It is inappropriate to use Internet-Drafts as reference | time. It is inappropriate to use Internet-Drafts as reference | |||
| material or to cite them other than as "work in progress." | material or to cite them other than as "work in progress." | |||
| This Internet-Draft will expire on December 20, 2016. | This Internet-Draft will expire on January 7, 2017. | |||
| Copyright Notice | Copyright Notice | |||
| Copyright (c) 2016 IETF Trust and the persons identified as the | Copyright (c) 2016 IETF Trust and the persons identified as the | |||
| document authors. All rights reserved. | document authors. All rights reserved. | |||
| This document is subject to BCP 78 and the IETF Trust's Legal | This document is subject to BCP 78 and the IETF Trust's Legal | |||
| Provisions Relating to IETF Documents | Provisions Relating to IETF Documents | |||
| (http://trustee.ietf.org/license-info) in effect on the date of | (http://trustee.ietf.org/license-info) in effect on the date of | |||
| publication of this document. Please review these documents | publication of this document. Please review these documents | |||
| skipping to change at page 2, line 15 ¶ | skipping to change at page 2, line 15 ¶ | |||
| to this document. Code Components extracted from this document must | to this document. Code Components extracted from this document must | |||
| include Simplified BSD License text as described in Section 4.e of | include Simplified BSD License text as described in Section 4.e of | |||
| the Trust Legal Provisions and are provided without warranty as | the Trust Legal Provisions and are provided without warranty as | |||
| described in the Simplified BSD License. | described in the Simplified BSD License. | |||
| Table of Contents | Table of Contents | |||
| 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2 | 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2 | |||
| 2. LISP Module . . . . . . . . . . . . . . . . . . . . . . . . . 3 | 2. LISP Module . . . . . . . . . . . . . . . . . . . . . . . . . 3 | |||
| 2.1. Module Structure . . . . . . . . . . . . . . . . . . . . 3 | 2.1. Module Structure . . . . . . . . . . . . . . . . . . . . 3 | |||
| 2.2. Module Definition . . . . . . . . . . . . . . . . . . . . 3 | 2.2. Module Definition . . . . . . . . . . . . . . . . . . . . 5 | |||
| 3. LISP-ITR Module . . . . . . . . . . . . . . . . . . . . . . . 9 | 3. LISP-ITR Module . . . . . . . . . . . . . . . . . . . . . . . 13 | |||
| 3.1. Module Structure . . . . . . . . . . . . . . . . . . . . 9 | 3.1. Module Structure . . . . . . . . . . . . . . . . . . . . 14 | |||
| 3.2. Module Definition . . . . . . . . . . . . . . . . . . . . 22 | 3.2. Module Definition . . . . . . . . . . . . . . . . . . . . 27 | |||
| 4. LISP ETR Module . . . . . . . . . . . . . . . . . . . . . . . 26 | 4. LISP ETR Module . . . . . . . . . . . . . . . . . . . . . . . 30 | |||
| 4.1. Module Structure . . . . . . . . . . . . . . . . . . . . 26 | 4.1. Module Structure . . . . . . . . . . . . . . . . . . . . 31 | |||
| 4.2. Module Definition . . . . . . . . . . . . . . . . . . . . 30 | 4.2. Module Definition . . . . . . . . . . . . . . . . . . . . 33 | |||
| 5. LISP Map Server Module . . . . . . . . . . . . . . . . . . . 33 | 5. LISP Map Server Module . . . . . . . . . . . . . . . . . . . 36 | |||
| 5.1. Module Structure . . . . . . . . . . . . . . . . . . . . 33 | 5.1. Module Structure . . . . . . . . . . . . . . . . . . . . 36 | |||
| 5.2. Module Definition . . . . . . . . . . . . . . . . . . . . 43 | 5.2. Module Definition . . . . . . . . . . . . . . . . . . . . 42 | |||
| 6. LISP Map Resolver Module . . . . . . . . . . . . . . . . . . 47 | 6. LISP Map Resolver Module . . . . . . . . . . . . . . . . . . 45 | |||
| 6.1. Module Structure . . . . . . . . . . . . . . . . . . . . 48 | 6.1. Module Structure . . . . . . . . . . . . . . . . . . . . 45 | |||
| 6.2. Module Definition . . . . . . . . . . . . . . . . . . . . 48 | 6.2. Module Definition . . . . . . . . . . . . . . . . . . . . 45 | |||
| 7. LISP Proxy ITR Module . . . . . . . . . . . . . . . . . . . . 50 | 7. LISP Proxy ITR Module . . . . . . . . . . . . . . . . . . . . 47 | |||
| 7.1. Module Structure . . . . . . . . . . . . . . . . . . . . 50 | 7.1. Module Structure . . . . . . . . . . . . . . . . . . . . 47 | |||
| 7.2. Module Definition . . . . . . . . . . . . . . . . . . . . 59 | 7.2. Module Definition . . . . . . . . . . . . . . . . . . . . 59 | |||
| 8. LISP Proxy ETR Module . . . . . . . . . . . . . . . . . . . . 62 | 8. LISP Proxy ETR Module . . . . . . . . . . . . . . . . . . . . 61 | |||
| 8.1. Module Structure . . . . . . . . . . . . . . . . . . . . 62 | 8.1. Module Structure . . . . . . . . . . . . . . . . . . . . 61 | |||
| 8.2. Module Definition . . . . . . . . . . . . . . . . . . . . 64 | 8.2. Module Definition . . . . . . . . . . . . . . . . . . . . 63 | |||
| 9. LISP Address Types . . . . . . . . . . . . . . . . . . . . . 66 | 9. LISP Address Types . . . . . . . . . . . . . . . . . . . . . 65 | |||
| 9.1. Module Definition . . . . . . . . . . . . . . . . . . . . 66 | 9.1. Module Definition . . . . . . . . . . . . . . . . . . . . 65 | |||
| 10. Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . 80 | 10. Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . 79 | |||
| 11. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 80 | 11. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 79 | |||
| 12. Security Considerations . . . . . . . . . . . . . . . . . . . 80 | 12. Security Considerations . . . . . . . . . . . . . . . . . . . 79 | |||
| 13. Normative References . . . . . . . . . . . . . . . . . . . . 80 | 13. Normative References . . . . . . . . . . . . . . . . . . . . 79 | |||
| Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 81 | Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 80 | |||
| 1. Introduction | 1. Introduction | |||
| The Locator/ID Separation Protocol (LISP) defines several network | The Locator/ID Separation Protocol (LISP) defines several network | |||
| elements subject to be configured. This document presents the YANG | elements subject to be configured. This document presents the YANG | |||
| data models required for basic configuration of all major LISP | data models required for basic configuration of all major LISP | |||
| [RFC6830]elements. The models also capture some essential | [RFC6830]elements. The models also capture some essential | |||
| operational data elements as well. | operational data elements as well. | |||
| 2. LISP Module | 2. LISP Module | |||
| This module is the base LISP module that is augmented in multiple | This module is the base LISP module that is augmented in multiple | |||
| models to represent various LISP device roles. | models to represent various LISP device roles. | |||
| 2.1. Module Structure | 2.1. Module Structure | |||
| module: ietf-lisp | module: ietf-lisp | |||
| +--rw lisp | +--rw lisp | |||
| | +--rw devices | | +--rw locator-sets | |||
| | +--rw device* [type id] | | | +--rw locator-set* [locator-set-name] | |||
| | +--rw type device-ref | | | +--rw locator-set-name string | |||
| | +--rw id string | | | +--rw (locator-type)? | |||
| | +--rw enabled? boolean | | | +--:(local-interface) | |||
| +--ro lisp-state | | | | +--rw interface* [interface-ref] | |||
| +--ro devices | | | | +--rw interface-ref if:interface-ref | |||
| +--ro device* [type id] | | | | +--rw priority? uint8 | |||
| +--ro type device-ref | | | | +--rw weight? uint8 | |||
| +--ro id string | | | | +--rw multicast-priority? uint8 | |||
| | | | +--rw multicast-weight? uint8 | ||||
| | | +--:(general-locator) | ||||
| | | +--rw locator* [id] | ||||
| | | +--rw id string | ||||
| | | +--rw locator-address | ||||
| | | | +--rw address-type lisp-address-family-ref | ||||
| | | | +--rw virtual-network-id? instance-id-type | ||||
| | | | +--rw (address)? | ||||
| | | | +--:(no-address) | ||||
| | | | | +--rw no-address? empty | ||||
| | | | +--:(ipv4) | ||||
| | | | | +--rw ipv4? inet:ipv4-address | ||||
| | | | +--:(ipv4-prefix) | ||||
| | | | | +--rw ipv4-prefix? inet:ipv4-prefix | ||||
| | | | +--:(ipv6) | ||||
| | | | | +--rw ipv6? inet:ipv6-address | ||||
| | | | +--:(ipv6-prefix) | ||||
| | | | | +--rw ipv6-prefix? inet:ipv6-prefix | ||||
| | | | +--:(mac) | ||||
| | | | | +--rw mac? yang:mac-address | ||||
| | | | +--:(distinguished-name) | ||||
| | | | | +--rw distinguished-name? distinguished-name-type | ||||
| | | | +--:(as-number) | ||||
| | | | | +--rw as-number? inet:as-number | ||||
| | | | +--:(null-address) | ||||
| | | | | +--rw null-address | ||||
| | | | | +--rw address? empty | ||||
| | | | +--:(afi-list) | ||||
| | | | | +--rw afi-list | ||||
| | | | | +--rw address-list* simple-address | ||||
| | | | +--:(instance-id) | ||||
| | | | | +--rw instance-id | ||||
| | | | | +--rw iid? instance-id-type | ||||
| | | | | +--rw mask-length? uint8 | ||||
| | | | | +--rw address? simple-address | ||||
| | | | +--:(as-number-lcaf) | ||||
| | | | | +--rw as-number-lcaf | ||||
| | | | | +--rw as? inet:as-number | ||||
| | | | | +--rw address? simple-address | ||||
| | | | +--:(application-data) | ||||
| | | | | +--rw application-data | ||||
| | | | | +--rw address? simple-address | ||||
| | | | | +--rw protocol? uint8 | ||||
| | | | | +--rw ip-tos? int32 | ||||
| | | | | +--rw local-port-low? inet:port-number | ||||
| | | | | +--rw local-port-high? inet:port-number | ||||
| | | | | +--rw remote-port-low? inet:port-number | ||||
| | | | | +--rw remote-port-high? inet:port-number | ||||
| | | | +--:(geo-coordinates) | ||||
| | | | | +--rw geo-coordinates | ||||
| | | | | +--rw latitude? bits | ||||
| | | | | +--rw latitude-degrees? uint8 | ||||
| | | | | +--rw latitude-minutes? uint8 | ||||
| | | | | +--rw latitude-seconds? uint8 | ||||
| | | | | +--rw longitude? bits | ||||
| | | | | +--rw longitude-degrees? uint16 | ||||
| | | | | +--rw longitude-minutes? uint8 | ||||
| | | | | +--rw longitude-seconds? uint8 | ||||
| | | | | +--rw altitude? int32 | ||||
| | | | | +--rw address? simple-address | ||||
| | | | +--:(nat-traversal) | ||||
| | | | | +--rw nat-traversal | ||||
| | | | | +--rw ms-udp-port? uint16 | ||||
| | | | | +--rw etr-udp-port? uint16 | ||||
| | | | | +--rw global-etr-rloc? simple-address | ||||
| | | | | +--rw ms-rloc? simple-address | ||||
| | | | | +--rw private-etr-rloc? simple-address | ||||
| | | | | +--rw rtr-rlocs* simple-address | ||||
| | | | +--:(explicit-locator-path) | ||||
| | | | | +--rw explicit-locator-path | ||||
| | | | | +--rw hop* [hop-id] | ||||
| | | | | +--rw hop-id string | ||||
| | | | | +--rw address? simple-address | ||||
| | | | | +--rw lrs-bits? bits | ||||
| | | | +--:(source-dest-key) | ||||
| | | | | +--rw source-dest-key | ||||
| | | | | +--rw source? simple-address | ||||
| | | | | +--rw dest? simple-address | ||||
| | | | +--:(key-value-address) | ||||
| | | | | +--rw key-value-address | ||||
| | | | | +--rw key? simple-address | ||||
| | | | | +--rw value? simple-address | ||||
| | | | +--:(service-path) | ||||
| | | | +--rw service-path | ||||
| | | | +--rw service-path-id? service-path-id-type | ||||
| | | | +--rw service-index? uint8 | ||||
| | | +--rw priority? uint8 | ||||
| | | +--rw weight? uint8 | ||||
| | | +--rw multicast-priority? uint8 | ||||
| | | +--rw multicast-weight? uint8 | ||||
| | +--rw lisp-router-instances | ||||
| | +--rw lisp-router-instance* [lisp-router-instance-id] | ||||
| | +--rw lisp-router-instance-id int32 | ||||
| | +--rw lisp-role* [lisp-role-type] | ||||
| | +--rw lisp-role-type lisp-role-ref | ||||
| | +--rw enabled? boolean | ||||
| +--ro lisp-state | ||||
| +--ro lisp-router-instances | ||||
| +--ro lisp-router-instance* [lisp-router-instance-id] | ||||
| +--ro lisp-router-instance-id int32 | ||||
| +--ro lisp-role* [lisp-role-type] | ||||
| +--ro lisp-role-type lisp-role-ref | ||||
| +--ro enabled? boolean | ||||
| 2.2. Module Definition | 2.2. Module Definition | |||
| <CODE BEGINS> file "ietf-lisp@2014-12-19.yang" | <CODE BEGINS> file "ietf-lisp@2016-06-30.yang" | |||
| module ietf-lisp { | module ietf-lisp { | |||
| namespace "urn:ietf:params:xml:ns:yang:ietf-lisp"; | namespace "urn:ietf:params:xml:ns:yang:ietf-lisp"; | |||
| prefix lisp; | prefix lisp; | |||
| import ietf-interfaces { | import ietf-interfaces { | |||
| prefix if; | prefix if; | |||
| } | } | |||
| import ietf-lisp-address-types { | import ietf-lisp-address-types { | |||
| prefix lcaf; | prefix lcaf; | |||
| } | } | |||
| organization | organization | |||
| skipping to change at page 4, line 12 ¶ | skipping to change at page 6, line 19 ¶ | |||
| without modification, is permitted pursuant to, and subject | without modification, is permitted pursuant to, and subject | |||
| to the license terms contained in, the Simplified BSD License | to the license terms contained in, the Simplified BSD License | |||
| set forth in Section 4.c of the IETF Trust's Legal Provisions | set forth in Section 4.c of the IETF Trust's Legal Provisions | |||
| Relating to IETF Documents | Relating to IETF Documents | |||
| (http://trustee.ietf.org/license-info). | (http://trustee.ietf.org/license-info). | |||
| This version of this YANG module is part of RFC 6338; see | This version of this YANG module is part of RFC 6338; see | |||
| the RFC itself for full legal notices. | the RFC itself for full legal notices. | |||
| "; | "; | |||
| revision 2014-12-19 { | revision 2016-06-30 { | |||
| description | description | |||
| "Initial revision."; | "Initial revision."; | |||
| reference | reference | |||
| "https://tools.ietf.org/html/rfc6830"; | "https://tools.ietf.org/html/rfc6830"; | |||
| } | } | |||
| identity lisp-device { | identity lisp-role { | |||
| description | description | |||
| "LISP network device."; | "LISP router role."; | |||
| } | } | |||
| typedef device-ref { | identity mapping-system { | |||
| description | ||||
| "Mapping System interface"; | ||||
| } | ||||
| identity single-node-mapping-system { | ||||
| base mapping-system; | ||||
| description | ||||
| "logically singular Map Server"; | ||||
| } | ||||
| typedef mapping-system-ref { | ||||
| type identityref { | type identityref { | |||
| base lisp-device; | base mapping-system; | |||
| } | } | |||
| description | description | |||
| "LISP device reference"; | "Mapping System reference"; | |||
| } | ||||
| typedef lisp-role-ref { | ||||
| type identityref { | ||||
| base lisp-role; | ||||
| } | ||||
| description | ||||
| "LISP role reference"; | ||||
| } | } | |||
| typedef map-reply-action { | typedef map-reply-action { | |||
| type enumeration { | type enumeration { | |||
| enum no-action { | enum no-action { | |||
| value 0; | value 0; | |||
| description | description | |||
| "Mapping is kept alive and no encapsulation occurs."; | "Mapping is kept alive and no encapsulation occurs."; | |||
| } | } | |||
| enum natively-forward { | enum natively-forward { | |||
| value 1; | value 1; | |||
| skipping to change at page 5, line 40 ¶ | skipping to change at page 8, line 14 ¶ | |||
| description | description | |||
| "HMAC-SHA-256-128 (RFC4868) authentication is used."; | "HMAC-SHA-256-128 (RFC4868) authentication is used."; | |||
| } | } | |||
| } | } | |||
| description | description | |||
| "Enumeration of the authentication mechansms supported by | "Enumeration of the authentication mechansms supported by | |||
| LISP."; | LISP."; | |||
| reference | reference | |||
| "https://tools.ietf.org/html/rfc6830#section-6.1.6"; | "https://tools.ietf.org/html/rfc6830#section-6.1.6"; | |||
| } | } | |||
| grouping locators { | ||||
| grouping locator-properties { | ||||
| description | description | |||
| "Group that defines a list of LISP locators."; | "Properties of a RLOC"; | |||
| list rloc { | leaf priority { | |||
| key "id"; | type uint8; | |||
| description | description | |||
| "List of routing locators"; | "Locator priority."; | |||
| leaf id { | } | |||
| type string; | leaf weight { | |||
| description | type uint8; | |||
| "Locator id"; | description | |||
| } | "Locator weight."; | |||
| // cached mappings | } | |||
| choice address-type { | leaf multicast-priority { | |||
| type uint8; | ||||
| description | ||||
| "Locator's multicast priority"; | ||||
| } | ||||
| leaf multicast-weight { | ||||
| type uint8; | ||||
| description | ||||
| "Locator's multicast weight"; | ||||
| } | ||||
| } | ||||
| grouping locators-grouping { | ||||
| description | ||||
| "Group that defines a list of LISP locators."; | ||||
| // vina: container? | ||||
| list locator { | ||||
| key "id"; | ||||
| description | description | |||
| "The address type of the locator"; | "List of routing locators"; | |||
| case interface-name { | leaf id { | |||
| leaf interface { | type string { | |||
| type if:interface-ref; | length "1..64"; | |||
| description | ||||
| "The name of the interface supporting the locator."; | ||||
| } | } | |||
| description | ||||
| "Locator id"; | ||||
| } | } | |||
| case address { | container locator-address { | |||
| container locator-address { | uses lcaf:lisp-address; | |||
| uses lcaf: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; | ||||
| } | } | |||
| leaf priority { | ||||
| type uint8; | } | |||
| description | ||||
| "Locator priority."; | grouping local-locators-grouping { | |||
| } | description | |||
| leaf weight { | "Group that defines a list of LISP locators."; | |||
| type uint8; | list interface { | |||
| description | key "interface-ref"; | |||
| "Locator weight."; | description | |||
| } | "The address type of the locator"; | |||
| leaf multicast-priority { | leaf interface-ref { | |||
| type uint8; | type if:interface-ref; | |||
| description | description | |||
| "Locator's multicast priority"; | "The name of the interface supporting the locator."; | |||
| } | } | |||
| leaf multicast-weight { | uses locator-properties; | |||
| type uint8; | } | |||
| } | ||||
| grouping servicing-eids-grouping { | ||||
| description | ||||
| "Group of EIDs serviced by the this lisp device."; | ||||
| container servicing-eids { | ||||
| description | ||||
| "This node defines list of EIDs serviced by the this" | ||||
| + " lisp device."; | ||||
| list servicing-eid { | ||||
| key "id"; | ||||
| description | description | |||
| "Locator's multicast weight"; | "List of EIDs serviced by the this lisp device."; | |||
| leaf id { | ||||
| type lisp:eid-id; | ||||
| description | ||||
| "Id of serviced EID."; | ||||
| } | ||||
| container eid-address { | ||||
| uses lcaf:lisp-address; | ||||
| description | ||||
| "Serviced EID address in generic LISP address format."; | ||||
| } | ||||
| } | } | |||
| } | } | |||
| } | } | |||
| grouping mappings { | grouping mappings { | |||
| description | description | |||
| "Group that defines a list of LISP mappings."; | "Group that defines a list of LISP mappings."; | |||
| list mapping { | list mapping { | |||
| key "id"; | key "id"; | |||
| description | description | |||
| "List of EID to RLOCs mappings."; | "List of EID to RLOCs mappings."; | |||
| skipping to change at page 7, line 32 ¶ | skipping to change at page 10, line 43 ¶ | |||
| type bits { | type bits { | |||
| bit A { | bit A { | |||
| description | description | |||
| "Authoritative bit."; | "Authoritative bit."; | |||
| } | } | |||
| } | } | |||
| description | description | |||
| "Bit that indicates if mapping comes from an | "Bit that indicates if mapping comes from an | |||
| authoritative source."; | authoritative source."; | |||
| } | } | |||
| leaf static { | ||||
| type boolean; | ||||
| default "false"; | ||||
| description | ||||
| "This leaf should be true if the mapping is static."; | ||||
| } | ||||
| choice locator-list { | choice locator-list { | |||
| description | ||||
| "list of locartors are either negative, or positive."; | ||||
| case negative-mapping { | case negative-mapping { | |||
| leaf map-reply-action { | leaf map-reply-action { | |||
| type map-reply-action; | type map-reply-action; | |||
| description | description | |||
| "Forwarding action for a negative mapping."; | "Forwarding action for a negative mapping."; | |||
| } | } | |||
| } | } | |||
| case positive-mapping { | case positive-mapping { | |||
| container rlocs { | container rlocs { | |||
| uses locators; | uses locators-grouping; | |||
| description | description | |||
| "List of locators for a positive mapping."; | "List of locators for a positive mapping."; | |||
| } | } | |||
| } | } | |||
| default "positive-mapping"; | ||||
| description | ||||
| "Choice of locator list based on type of mapping."; | ||||
| } | } | |||
| } | } | |||
| } | } | |||
| /* Configuration Data */ | /* Configuration Data */ | |||
| container lisp { | container lisp { | |||
| description | description | |||
| "Configuration parameters for LISP subsystem."; | "Configuration parameters for LISP subsystem."; | |||
| container devices { | ||||
| container locator-sets { | ||||
| description | description | |||
| "Configuration of LISP devices."; | "Container that defines a named locator set which can be | |||
| list device { | referenced elsewhere."; | |||
| key "type id"; | list locator-set { | |||
| key "locator-set-name"; | ||||
| description | description | |||
| "Each entry contains configuration of a lisp-device."; | "Multiple locator sets can be configured."; | |||
| leaf type { | leaf locator-set-name { | |||
| type device-ref; | type string { | |||
| length "1..64"; | ||||
| } | ||||
| description | description | |||
| "The type of LISP device - identity derived from the | "Locator set name"; | |||
| 'lisp-device' base identity."; | ||||
| } | } | |||
| leaf id { | choice locator-type { | |||
| type string; | ||||
| description | description | |||
| "Arbitrary device name."; | "Locator sets can be based on local interfaces, or | |||
| general locators."; | ||||
| case local-interface { | ||||
| uses local-locators-grouping; | ||||
| description | ||||
| "List of locators in this set based on local | ||||
| interfaces."; | ||||
| } | ||||
| case general-locator { | ||||
| uses locators-grouping; | ||||
| description | ||||
| "List of locators in this set based on lisp-address."; | ||||
| } | ||||
| } | } | |||
| leaf enabled { | } | |||
| type boolean; | } | |||
| default "true"; | ||||
| container lisp-router-instances { | ||||
| description | ||||
| "Configuration of LISP router instances."; | ||||
| list lisp-router-instance { | ||||
| key "lisp-router-instance-id"; | ||||
| description | ||||
| "Each entry contains configuration of a lisp-router | ||||
| instance."; | ||||
| leaf lisp-router-instance-id { | ||||
| type int32; | ||||
| description | description | |||
| "Enable/disable the lisp-device."; | "Arbitrary lisp-router id."; | |||
| } | ||||
| list lisp-role { | ||||
| key lisp-role-type; | ||||
| description | ||||
| "List of lisp device roles such as MS, MR, ITR, | ||||
| ETR, RTR."; | ||||
| leaf lisp-role-type { | ||||
| type lisp-role-ref; | ||||
| description | ||||
| "The type of LISP device - identity derived from the | ||||
| 'lisp-device' base identity."; | ||||
| } | ||||
| leaf enabled { | ||||
| type boolean; | ||||
| default "true"; | ||||
| description | ||||
| "Enable/disable the lisp-role."; | ||||
| } | ||||
| } | } | |||
| } | } | |||
| } | } | |||
| } | } | |||
| /* Operational state data */ | /* Operational state data */ | |||
| container lisp-state { | container lisp-state { | |||
| config false; | config false; | |||
| description | description | |||
| "Operational state of the LISP subsystem."; | "Operational state of the LISP subsystem."; | |||
| container devices { | container lisp-router-instances { | |||
| description | description | |||
| "Operational state of lisp-devices."; | "Configuration of LISP router instances."; | |||
| list device { | list lisp-router-instance { | |||
| key "type id"; | key "lisp-router-instance-id"; | |||
| description | description | |||
| "Each entry contains operational data of a lisp-device."; | "Each entry contains configuration of a lisp-router | |||
| leaf type { | instance."; | |||
| type device-ref; | leaf lisp-router-instance-id { | |||
| type int32; | ||||
| description | description | |||
| "Type of LISP device."; | "Arbitrary lisp-router id."; | |||
| } | } | |||
| leaf id { | list lisp-role { | |||
| type string; | key lisp-role-type; | |||
| description | description | |||
| "Name of LISP device."; | "List of lisp device roles such as MS, MR, ITR, | |||
| ETR, RTR."; | ||||
| leaf lisp-role-type { | ||||
| type lisp-role-ref; | ||||
| description | ||||
| "The type of LISP device - identity derived from the | ||||
| 'lisp-device' base identity."; | ||||
| } | ||||
| leaf enabled { | ||||
| type boolean; | ||||
| default "true"; | ||||
| description | ||||
| "Enable/disable the lisp-role."; | ||||
| } | ||||
| } | } | |||
| } | } | |||
| } | } | |||
| } | } | |||
| } | } | |||
| <CODE ENDS> | <CODE ENDS> | |||
| 3. LISP-ITR Module | 3. LISP-ITR Module | |||
| This module captures the configuration data model of a LISP ITR. The | This module captures the configuration data model of a LISP ITR. The | |||
| model also captures some operational data elements. | model also captures some operational data elements. | |||
| 3.1. Module Structure | 3.1. Module Structure | |||
| module: ietf-lisp-itr | module: ietf-lisp-itr | |||
| augment /lisp:lisp/lisp:devices/lisp:device: | augment /lisp:lisp/lisp:lisp-router-instances/lisp:lisp-router-instance/lisp:lisp-role: | |||
| +--rw itr-cfg! | +--rw itr-cfg! | |||
| +--rw rloc-probing! | +--rw rloc-probing! | |||
| | +--rw interval? uint16 | | +--rw interval? uint16 | |||
| | +--rw retries? uint8 | | +--rw retries? uint8 | |||
| | +--rw retries-interval? uint16 | | +--rw retries-interval? uint16 | |||
| +--rw itr-rlocs | +--rw itr-rlocs? -> /lisp:lisp/locator-sets/locator-set/locator-set-name | |||
| | +--rw itr-rloc* [id] | ||||
| | +--rw id string | ||||
| | +--rw address | ||||
| | +--rw afi lisp-address-family-ref | ||||
| | +--rw instance-id? instance-id-type | ||||
| | +--rw (address)? | ||||
| | +--:(ipv4) | ||||
| | | +--rw ipv4? inet:ipv4-address | ||||
| | +--:(ipv6) | ||||
| | | +--rw ipv6? inet:ipv6-address | ||||
| | +--:(mac) | ||||
| | | +--rw mac? yang:mac-address | ||||
| | +--:(distinguished-name) | ||||
| | | +--rw distinguished-name? distinguished-name | ||||
| | +--:(lcaf) | ||||
| | +--rw lcaf | ||||
| | +--rw lcaf-type lcaf-ref | ||||
| | +--rw (address)? | ||||
| | +--:(null-address) | ||||
| | | +--rw null-address | ||||
| | | +--rw address? empty | ||||
| | +--:(afi-list) | ||||
| | | +--rw afi-list | ||||
| | | +--rw address-list* simple-address | ||||
| | +--:(instance-id) | ||||
| | | +--rw instance-id | ||||
| | | +--rw instance-id? instance-id-type | ||||
| | | +--rw mask-length? uint8 | ||||
| | | +--rw address? simple-address | ||||
| | +--:(as-number) | ||||
| | | +--rw as-number | ||||
| | | +--rw as? inet:as-number | ||||
| | | +--rw address? simple-address | ||||
| | +--:(application-data) | ||||
| | | +--rw application-data | ||||
| | | +--rw address? simple-address | ||||
| | | +--rw protocol? uint8 | ||||
| | | +--rw ip-tos? int32 | ||||
| | | +--rw local-port-low? inet:port-number | ||||
| | | +--rw local-port-high? inet:port-number | ||||
| | | +--rw remote-port-low? inet:port-number | ||||
| | | +--rw remote-port-high? inet:port-number | ||||
| | +--:(geo-coordinates) | ||||
| | | +--rw geo-coordinates | ||||
| | | +--rw latitude? bits | ||||
| | | +--rw latitude-degrees? uint8 | ||||
| | | +--rw latitude-minutes? uint8 | ||||
| | | +--rw latitude-seconds? uint8 | ||||
| | | +--rw longitude? bits | ||||
| | | +--rw longitude-degrees? uint16 | ||||
| | | +--rw longitude-minutes? uint8 | ||||
| | | +--rw longitude-seconds? uint8 | ||||
| | | +--rw altitude? int32 | ||||
| | | +--rw address? simple-address | ||||
| | +--:(nat-traversal) | ||||
| | | +--rw nat-traversal | ||||
| | | +--rw ms-udp-port? uint16 | ||||
| | | +--rw etr-udp-port? uint16 | ||||
| | | +--rw global-etr-rloc? simple-address | ||||
| | | +--rw ms-rloc? simple-address | ||||
| | | +--rw private-etr-rloc? simple-address | ||||
| | | +--rw rtr-rlocs* simple-address | ||||
| | +--:(explicit-locator-path) | ||||
| | | +--rw explicit-locator-path | ||||
| | | +--rw hop* [address] | ||||
| | | +--rw address simple-address | ||||
| | | +--rw lrs-bits? bits | ||||
| | +--:(sourc-dest-key) | ||||
| | +--rw sourc-dest-key | ||||
| | +--rw source? inet:ip-prefix | ||||
| | +--rw dest? inet:ip-prefix | ||||
| +--rw local-eids | ||||
| | +--rw local-eid* [id] | ||||
| | +--rw id lisp:eid-id | ||||
| | +--rw eid-address | ||||
| | +--rw afi lisp-address-family-ref | ||||
| | +--rw instance-id? instance-id-type | ||||
| | +--rw (address)? | ||||
| | +--:(ipv4) | ||||
| | | +--rw ipv4? inet:ipv4-address | ||||
| | +--:(ipv6) | ||||
| | | +--rw ipv6? inet:ipv6-address | ||||
| | +--:(mac) | ||||
| | | +--rw mac? yang:mac-address | ||||
| | +--:(distinguished-name) | ||||
| | | +--rw distinguished-name? distinguished-name | ||||
| | +--:(lcaf) | ||||
| | +--rw lcaf | ||||
| | +--rw lcaf-type lcaf-ref | ||||
| | +--rw (address)? | ||||
| | +--:(null-address) | ||||
| | | +--rw null-address | ||||
| | | +--rw address? empty | ||||
| | +--:(afi-list) | ||||
| | | +--rw afi-list | ||||
| | | +--rw address-list* simple-address | ||||
| | +--:(instance-id) | ||||
| | | +--rw instance-id | ||||
| | | +--rw instance-id? instance-id-type | ||||
| | | +--rw mask-length? uint8 | ||||
| | | +--rw address? simple-address | ||||
| | +--:(as-number) | ||||
| | | +--rw as-number | ||||
| | | +--rw as? inet:as-number | ||||
| | | +--rw address? simple-address | ||||
| | +--:(application-data) | ||||
| | | +--rw application-data | ||||
| | | +--rw address? simple-address | ||||
| | | +--rw protocol? uint8 | ||||
| | | +--rw ip-tos? int32 | ||||
| | | +--rw local-port-low? inet:port-number | ||||
| | | +--rw local-port-high? inet:port-number | ||||
| | | +--rw remote-port-low? inet:port-number | ||||
| | | +--rw remote-port-high? inet:port-number | ||||
| | +--:(geo-coordinates) | ||||
| | | +--rw geo-coordinates | ||||
| | | +--rw latitude? bits | ||||
| | | +--rw latitude-degrees? uint8 | ||||
| | | +--rw latitude-minutes? uint8 | ||||
| | | +--rw latitude-seconds? uint8 | ||||
| | | +--rw longitude? bits | ||||
| | | +--rw longitude-degrees? uint16 | ||||
| | | +--rw longitude-minutes? uint8 | ||||
| | | +--rw longitude-seconds? uint8 | ||||
| | | +--rw altitude? int32 | ||||
| | | +--rw address? simple-address | ||||
| | +--:(nat-traversal) | ||||
| | | +--rw nat-traversal | ||||
| | | +--rw ms-udp-port? uint16 | ||||
| | | +--rw etr-udp-port? uint16 | ||||
| | | +--rw global-etr-rloc? simple-address | ||||
| | | +--rw ms-rloc? simple-address | ||||
| | | +--rw private-etr-rloc? simple-address | ||||
| | | +--rw rtr-rlocs* simple-address | ||||
| | +--:(explicit-locator-path) | ||||
| | | +--rw explicit-locator-path | ||||
| | | +--rw hop* [address] | ||||
| | | +--rw address simple-address | ||||
| | | +--rw lrs-bits? bits | ||||
| | +--:(sourc-dest-key) | ||||
| | +--rw sourc-dest-key | ||||
| | +--rw source? inet:ip-prefix | ||||
| | +--rw dest? inet:ip-prefix | ||||
| +--rw map-resolvers | +--rw map-resolvers | |||
| | +--rw map-resolver* [id] | | +--rw map-resolver* [id] | |||
| | +--rw id lisp:eid-id | | +--rw id lisp:eid-id | |||
| | +--rw eid-address | | +--rw eid-address | |||
| | | +--rw afi lisp-address-family-ref | | | +--rw address-type lisp-address-family-ref | |||
| | | +--rw instance-id? instance-id-type | | | +--rw virtual-network-id? instance-id-type | |||
| | | +--rw (address)? | | | +--rw (address)? | |||
| | | +--:(no-address) | ||||
| | | | +--rw no-address? empty | ||||
| | | +--:(ipv4) | | | +--:(ipv4) | |||
| | | | +--rw ipv4? inet:ipv4-address | | | | +--rw ipv4? inet:ipv4-address | |||
| | | +--:(ipv4-prefix) | ||||
| | | | +--rw ipv4-prefix? inet:ipv4-prefix | ||||
| | | +--:(ipv6) | | | +--:(ipv6) | |||
| | | | +--rw ipv6? inet:ipv6-address | | | | +--rw ipv6? inet:ipv6-address | |||
| | | +--:(ipv6-prefix) | ||||
| | | | +--rw ipv6-prefix? inet:ipv6-prefix | ||||
| | | +--:(mac) | | | +--:(mac) | |||
| | | | +--rw mac? yang:mac-address | | | | +--rw mac? yang:mac-address | |||
| | | +--:(distinguished-name) | | | +--:(distinguished-name) | |||
| | | | +--rw distinguished-name? distinguished-name | | | | +--rw distinguished-name? distinguished-name-type | |||
| | | +--:(lcaf) | | | +--:(as-number) | |||
| | | +--rw lcaf | | | | +--rw as-number? inet:as-number | |||
| | | +--rw lcaf-type lcaf-ref | | | +--:(null-address) | |||
| | | +--rw (address)? | | | | +--rw null-address | |||
| | | +--:(null-address) | | | | +--rw address? empty | |||
| | | | +--rw null-address | | | +--:(afi-list) | |||
| | | | +--rw address? empty | | | | +--rw afi-list | |||
| | | +--:(afi-list) | | | | +--rw address-list* simple-address | |||
| | | | +--rw afi-list | | | +--:(instance-id) | |||
| | | | +--rw address-list* simple-address | | | | +--rw instance-id | |||
| | | +--:(instance-id) | | | | +--rw iid? instance-id-type | |||
| | | | +--rw instance-id | | | | +--rw mask-length? uint8 | |||
| | | | +--rw instance-id? instance-id-type | | | | +--rw address? simple-address | |||
| | | | +--rw mask-length? uint8 | | | +--:(as-number-lcaf) | |||
| | | | +--rw address? simple-address | | | | +--rw as-number-lcaf | |||
| | | +--:(as-number) | | | | +--rw as? inet:as-number | |||
| | | | +--rw as-number | | | | +--rw address? simple-address | |||
| | | | +--rw as? inet:as-number | | | +--:(application-data) | |||
| | | | +--rw address? simple-address | | | | +--rw application-data | |||
| | | +--:(application-data) | | | | +--rw address? simple-address | |||
| | | | +--rw application-data | | | | +--rw protocol? uint8 | |||
| | | | +--rw address? simple-address | | | | +--rw ip-tos? int32 | |||
| | | | +--rw protocol? uint8 | | | | +--rw local-port-low? inet:port-number | |||
| | | | +--rw ip-tos? int32 | | | | +--rw local-port-high? inet:port-number | |||
| | | | +--rw local-port-low? inet:port-number | | | | +--rw remote-port-low? inet:port-number | |||
| | | | +--rw local-port-high? inet:port-number | | | | +--rw remote-port-high? inet:port-number | |||
| | | | +--rw remote-port-low? inet:port-number | | | +--:(geo-coordinates) | |||
| | | | +--rw remote-port-high? inet:port-number | | | | +--rw geo-coordinates | |||
| | | +--:(geo-coordinates) | | | | +--rw latitude? bits | |||
| | | | +--rw geo-coordinates | | | | +--rw latitude-degrees? uint8 | |||
| | | | +--rw latitude? bits | | | | +--rw latitude-minutes? uint8 | |||
| | | | +--rw latitude-degrees? uint8 | | | | +--rw latitude-seconds? uint8 | |||
| | | | +--rw latitude-minutes? uint8 | | | | +--rw longitude? bits | |||
| | | | +--rw latitude-seconds? uint8 | | | | +--rw longitude-degrees? uint16 | |||
| | | | +--rw longitude? bits | | | | +--rw longitude-minutes? uint8 | |||
| | | | +--rw longitude-degrees? uint16 | | | | +--rw longitude-seconds? uint8 | |||
| | | | +--rw longitude-minutes? uint8 | | | | +--rw altitude? int32 | |||
| | | | +--rw longitude-seconds? uint8 | | | | +--rw address? simple-address | |||
| | | | +--rw altitude? int32 | | | +--:(nat-traversal) | |||
| | | | +--rw address? simple-address | | | | +--rw nat-traversal | |||
| | | +--:(nat-traversal) | | | | +--rw ms-udp-port? uint16 | |||
| | | | +--rw nat-traversal | | | | +--rw etr-udp-port? uint16 | |||
| | | | +--rw ms-udp-port? uint16 | | | | +--rw global-etr-rloc? simple-address | |||
| | | | +--rw etr-udp-port? uint16 | | | | +--rw ms-rloc? simple-address | |||
| | | | +--rw global-etr-rloc? simple-address | | | | +--rw private-etr-rloc? simple-address | |||
| | | | +--rw ms-rloc? simple-address | | | | +--rw rtr-rlocs* simple-address | |||
| | | | +--rw private-etr-rloc? simple-address | | | +--:(explicit-locator-path) | |||
| | | | +--rw rtr-rlocs* simple-address | | | | +--rw explicit-locator-path | |||
| | | +--:(explicit-locator-path) | | | | +--rw hop* [hop-id] | |||
| | | | +--rw explicit-locator-path | | | | +--rw hop-id string | |||
| | | | +--rw hop* [address] | | | | +--rw address? simple-address | |||
| | | | +--rw address simple-address | | | | +--rw lrs-bits? bits | |||
| | | | +--rw lrs-bits? bits | | | +--:(source-dest-key) | |||
| | | +--:(sourc-dest-key) | | | | +--rw source-dest-key | |||
| | | +--rw sourc-dest-key | | | | +--rw source? simple-address | |||
| | | +--rw source? inet:ip-prefix | | | | +--rw dest? simple-address | |||
| | | +--rw dest? inet:ip-prefix | | | +--:(key-value-address) | |||
| | | | +--rw key-value-address | ||||
| | | | +--rw key? simple-address | ||||
| | | | +--rw value? simple-address | ||||
| | | +--:(service-path) | ||||
| | | +--rw service-path | ||||
| | | +--rw service-path-id? service-path-id-type | ||||
| | | +--rw service-index? uint8 | ||||
| | +--rw map-resolver-address* inet:ip-address | | +--rw map-resolver-address* inet:ip-address | |||
| +--rw proxy-etrs | +--rw proxy-etrs | |||
| | +--rw proxy-etr* [id] | | +--rw proxy-etr* [id] | |||
| | +--rw id lisp:eid-id | | +--rw id lisp:eid-id | |||
| | +--rw eid-address | | +--rw eid-address | |||
| | | +--rw afi lisp-address-family-ref | | | +--rw address-type lisp-address-family-ref | |||
| | | +--rw instance-id? instance-id-type | | | +--rw virtual-network-id? instance-id-type | |||
| | | +--rw (address)? | | | +--rw (address)? | |||
| | | +--:(no-address) | ||||
| | | | +--rw no-address? empty | ||||
| | | +--:(ipv4) | | | +--:(ipv4) | |||
| | | | +--rw ipv4? inet:ipv4-address | | | | +--rw ipv4? inet:ipv4-address | |||
| | | +--:(ipv4-prefix) | ||||
| | | | +--rw ipv4-prefix? inet:ipv4-prefix | ||||
| | | +--:(ipv6) | | | +--:(ipv6) | |||
| | | | +--rw ipv6? inet:ipv6-address | | | | +--rw ipv6? inet:ipv6-address | |||
| | | +--:(ipv6-prefix) | ||||
| | | | +--rw ipv6-prefix? inet:ipv6-prefix | ||||
| | | +--:(mac) | | | +--:(mac) | |||
| | | | +--rw mac? yang:mac-address | | | | +--rw mac? yang:mac-address | |||
| | | +--:(distinguished-name) | | | +--:(distinguished-name) | |||
| | | | +--rw distinguished-name? distinguished-name | | | | +--rw distinguished-name? distinguished-name-type | |||
| | | +--:(lcaf) | | | +--:(as-number) | |||
| | | +--rw lcaf | | | | +--rw as-number? inet:as-number | |||
| | | +--rw lcaf-type lcaf-ref | | | +--:(null-address) | |||
| | | +--rw (address)? | | | | +--rw null-address | |||
| | | +--:(null-address) | | | | +--rw address? empty | |||
| | | | +--rw null-address | | | +--:(afi-list) | |||
| | | | +--rw address? empty | | | | +--rw afi-list | |||
| | | +--:(afi-list) | | | | +--rw address-list* simple-address | |||
| | | | +--rw afi-list | | | +--:(instance-id) | |||
| | | | +--rw address-list* simple-address | | | | +--rw instance-id | |||
| | | +--:(instance-id) | | | | +--rw iid? instance-id-type | |||
| | | | +--rw instance-id | | | | +--rw mask-length? uint8 | |||
| | | | +--rw instance-id? instance-id-type | | | | +--rw address? simple-address | |||
| | | | +--rw mask-length? uint8 | | | +--:(as-number-lcaf) | |||
| | | | +--rw address? simple-address | | | | +--rw as-number-lcaf | |||
| | | +--:(as-number) | | | | +--rw as? inet:as-number | |||
| | | | +--rw as-number | | | | +--rw address? simple-address | |||
| | | | +--rw as? inet:as-number | | | +--:(application-data) | |||
| | | | +--rw address? simple-address | | | | +--rw application-data | |||
| | | +--:(application-data) | | | | +--rw address? simple-address | |||
| | | | +--rw application-data | | | | +--rw protocol? uint8 | |||
| | | | +--rw address? simple-address | | | | +--rw ip-tos? int32 | |||
| | | | +--rw protocol? uint8 | | | | +--rw local-port-low? inet:port-number | |||
| | | | +--rw ip-tos? int32 | | | | +--rw local-port-high? inet:port-number | |||
| | | | +--rw local-port-low? inet:port-number | | | | +--rw remote-port-low? inet:port-number | |||
| | | | +--rw local-port-high? inet:port-number | | | | +--rw remote-port-high? inet:port-number | |||
| | | | +--rw remote-port-low? inet:port-number | | | +--:(geo-coordinates) | |||
| | | | +--rw remote-port-high? inet:port-number | | | | +--rw geo-coordinates | |||
| | | +--:(geo-coordinates) | | | | +--rw latitude? bits | |||
| | | | +--rw geo-coordinates | | | | +--rw latitude-degrees? uint8 | |||
| | | | +--rw latitude? bits | | | | +--rw latitude-minutes? uint8 | |||
| | | | +--rw latitude-degrees? uint8 | | | | +--rw latitude-seconds? uint8 | |||
| | | | +--rw latitude-minutes? uint8 | | | | +--rw longitude? bits | |||
| | | | +--rw latitude-seconds? uint8 | | | | +--rw longitude-degrees? uint16 | |||
| | | | +--rw longitude? bits | | | | +--rw longitude-minutes? uint8 | |||
| | | | +--rw longitude-degrees? uint16 | | | | +--rw longitude-seconds? uint8 | |||
| | | | +--rw longitude-minutes? uint8 | | | | +--rw altitude? int32 | |||
| | | | +--rw longitude-seconds? uint8 | | | | +--rw address? simple-address | |||
| | | | +--rw altitude? int32 | | | +--:(nat-traversal) | |||
| | | | +--rw address? simple-address | | | | +--rw nat-traversal | |||
| | | +--:(nat-traversal) | | | | +--rw ms-udp-port? uint16 | |||
| | | | +--rw nat-traversal | | | | +--rw etr-udp-port? uint16 | |||
| | | | +--rw ms-udp-port? uint16 | | | | +--rw global-etr-rloc? simple-address | |||
| | | | +--rw etr-udp-port? uint16 | | | | +--rw ms-rloc? simple-address | |||
| | | | +--rw global-etr-rloc? simple-address | | | | +--rw private-etr-rloc? simple-address | |||
| | | | +--rw ms-rloc? simple-address | | | | +--rw rtr-rlocs* simple-address | |||
| | | | +--rw private-etr-rloc? simple-address | | | +--:(explicit-locator-path) | |||
| | | | +--rw rtr-rlocs* simple-address | | | | +--rw explicit-locator-path | |||
| | | +--:(explicit-locator-path) | | | | +--rw hop* [hop-id] | |||
| | | | +--rw explicit-locator-path | | | | +--rw hop-id string | |||
| | | | +--rw hop* [address] | | | | +--rw address? simple-address | |||
| | | | +--rw address simple-address | | | | +--rw lrs-bits? bits | |||
| | | | +--rw lrs-bits? bits | | | +--:(source-dest-key) | |||
| | | +--:(sourc-dest-key) | | | | +--rw source-dest-key | |||
| | | +--rw sourc-dest-key | | | | +--rw source? simple-address | |||
| | | +--rw source? inet:ip-prefix | | | | +--rw dest? simple-address | |||
| | | +--rw dest? inet:ip-prefix | | | +--:(key-value-address) | |||
| | | | +--rw key-value-address | ||||
| | | | +--rw key? simple-address | ||||
| | | | +--rw value? simple-address | ||||
| | | +--:(service-path) | ||||
| | | +--rw service-path | ||||
| | | +--rw service-path-id? service-path-id-type | ||||
| | | +--rw service-index? uint8 | ||||
| | +--rw proxy-etr-address* inet:ip-address | | +--rw proxy-etr-address* inet:ip-address | |||
| +--rw static-mappings | +--rw map-cache | |||
| +--rw mapping* [id] | | +--rw mapping* [id] | |||
| +--rw id eid-id | | +--rw id eid-id | |||
| +--rw eid | | +--rw eid | |||
| | +--rw afi lisp-address-family-ref | | | +--rw address-type lisp-address-family-ref | |||
| | +--rw instance-id? instance-id-type | | | +--rw virtual-network-id? instance-id-type | |||
| | +--rw (address)? | | | +--rw (address)? | |||
| | +--:(ipv4) | | | +--:(no-address) | |||
| | | +--rw ipv4? inet:ipv4-address | | | | +--rw no-address? empty | |||
| | +--:(ipv6) | | | +--:(ipv4) | |||
| | | +--rw ipv6? inet:ipv6-address | | | | +--rw ipv4? inet:ipv4-address | |||
| | +--:(mac) | | | +--:(ipv4-prefix) | |||
| | | +--rw mac? yang:mac-address | | | | +--rw ipv4-prefix? inet:ipv4-prefix | |||
| | +--:(distinguished-name) | | | +--:(ipv6) | |||
| | | +--rw distinguished-name? distinguished-name | | | | +--rw ipv6? inet:ipv6-address | |||
| | +--:(lcaf) | | | +--:(ipv6-prefix) | |||
| | +--rw lcaf | | | | +--rw ipv6-prefix? inet:ipv6-prefix | |||
| | +--rw lcaf-type lcaf-ref | | | +--:(mac) | |||
| | +--rw (address)? | | | | +--rw mac? yang:mac-address | |||
| | +--:(null-address) | | | +--:(distinguished-name) | |||
| | | +--rw null-address | | | | +--rw distinguished-name? distinguished-name-type | |||
| | | +--rw address? empty | | | +--:(as-number) | |||
| | +--:(afi-list) | | | | +--rw as-number? inet:as-number | |||
| | | +--rw afi-list | | | +--:(null-address) | |||
| | | +--rw address-list* simple-address | | | | +--rw null-address | |||
| | +--:(instance-id) | | | | +--rw address? empty | |||
| | | +--rw instance-id | | | +--:(afi-list) | |||
| | | +--rw instance-id? instance-id-type | | | | +--rw afi-list | |||
| | | +--rw mask-length? uint8 | | | | +--rw address-list* simple-address | |||
| | | +--rw address? simple-address | | | +--:(instance-id) | |||
| | +--:(as-number) | | | | +--rw instance-id | |||
| | | +--rw as-number | | | | +--rw iid? instance-id-type | |||
| | | +--rw as? inet:as-number | | | | +--rw mask-length? uint8 | |||
| | | +--rw address? simple-address | | | | +--rw address? simple-address | |||
| | +--:(application-data) | | | +--:(as-number-lcaf) | |||
| | | +--rw application-data | | | | +--rw as-number-lcaf | |||
| | | +--rw address? simple-address | | | | +--rw as? inet:as-number | |||
| | | +--rw protocol? uint8 | | | | +--rw address? simple-address | |||
| | | +--rw ip-tos? int32 | | | +--:(application-data) | |||
| | | +--rw local-port-low? inet:port-number | | | | +--rw application-data | |||
| | | +--rw local-port-high? inet:port-number | | | | +--rw address? simple-address | |||
| | | +--rw remote-port-low? inet:port-number | | | | +--rw protocol? uint8 | |||
| | | +--rw remote-port-high? inet:port-number | | | | +--rw ip-tos? int32 | |||
| | +--:(geo-coordinates) | | | | +--rw local-port-low? inet:port-number | |||
| | | +--rw geo-coordinates | | | | +--rw local-port-high? inet:port-number | |||
| | | +--rw latitude? bits | | | | +--rw remote-port-low? inet:port-number | |||
| | | +--rw latitude-degrees? uint8 | | | | +--rw remote-port-high? inet:port-number | |||
| | | +--rw latitude-minutes? uint8 | | | +--:(geo-coordinates) | |||
| | | +--rw latitude-seconds? uint8 | | | | +--rw geo-coordinates | |||
| | | +--rw longitude? bits | | | | +--rw latitude? bits | |||
| | | +--rw longitude-degrees? uint16 | | | | +--rw latitude-degrees? uint8 | |||
| | | +--rw longitude-minutes? uint8 | | | | +--rw latitude-minutes? uint8 | |||
| | | +--rw longitude-seconds? uint8 | | | | +--rw latitude-seconds? uint8 | |||
| | | +--rw altitude? int32 | | | | +--rw longitude? bits | |||
| | | +--rw address? simple-address | | | | +--rw longitude-degrees? uint16 | |||
| | +--:(nat-traversal) | | | | +--rw longitude-minutes? uint8 | |||
| | | +--rw nat-traversal | | | | +--rw longitude-seconds? uint8 | |||
| | | +--rw ms-udp-port? uint16 | | | | +--rw altitude? int32 | |||
| | | +--rw etr-udp-port? uint16 | | | | +--rw address? simple-address | |||
| | | +--rw global-etr-rloc? simple-address | | | +--:(nat-traversal) | |||
| | | +--rw ms-rloc? simple-address | | | | +--rw nat-traversal | |||
| | | +--rw private-etr-rloc? simple-address | | | | +--rw ms-udp-port? uint16 | |||
| | | +--rw rtr-rlocs* simple-address | | | | +--rw etr-udp-port? uint16 | |||
| | +--:(explicit-locator-path) | | | | +--rw global-etr-rloc? simple-address | |||
| | | +--rw explicit-locator-path | | | | +--rw ms-rloc? simple-address | |||
| | | +--rw hop* [address] | | | | +--rw private-etr-rloc? simple-address | |||
| | | +--rw address simple-address | | | | +--rw rtr-rlocs* simple-address | |||
| | | +--rw lrs-bits? bits | | | +--:(explicit-locator-path) | |||
| | +--:(sourc-dest-key) | | | | +--rw explicit-locator-path | |||
| | +--rw sourc-dest-key | | | | +--rw hop* [hop-id] | |||
| | +--rw source? inet:ip-prefix | | | | +--rw hop-id string | |||
| | +--rw dest? inet:ip-prefix | | | | +--rw address? simple-address | |||
| +--rw ttl? uint32 | | | | +--rw lrs-bits? bits | |||
| +--rw authoritative? bits | | | +--:(source-dest-key) | |||
| +--rw (locator-list)? | | | | +--rw source-dest-key | |||
| +--:(negative-mapping) | | | | +--rw source? simple-address | |||
| | +--rw map-reply-action? map-reply-action | | | | +--rw dest? simple-address | |||
| +--:(positive-mapping) | | | +--:(key-value-address) | |||
| +--rw rlocs | | | | +--rw key-value-address | |||
| +--rw rloc* [id] | | | | +--rw key? simple-address | |||
| +--rw id string | | | | +--rw value? simple-address | |||
| +--rw (address-type)? | | | +--:(service-path) | |||
| | +--:(interface-name) | | | +--rw service-path | |||
| | | +--rw interface? if:interface-state-ref | | | +--rw service-path-id? service-path-id-type | |||
| | +--:(address) | | | +--rw service-index? uint8 | |||
| | +--rw locator-address | | +--rw ttl? uint32 | |||
| | +--rw afi lisp-address-family-ref | | +--rw authoritative? bits | |||
| | +--rw instance-id? instance-id-type | | +--rw static? boolean | |||
| | +--rw (address)? | | +--rw (locator-list)? | |||
| | +--:(ipv4) | | +--:(negative-mapping) | |||
| | | +--rw ipv4? inet:ipv4-address | | | +--rw map-reply-action? map-reply-action | |||
| | +--:(ipv6) | | +--:(positive-mapping) | |||
| | | +--rw ipv6? inet:ipv6-address | | +--rw rlocs | |||
| | +--:(mac) | | +--rw locator* [id] | |||
| | | +--rw mac? yang:mac-address | | +--rw id string | |||
| | +--:(distinguished-name) | | +--rw locator-address | |||
| | | +--rw distinguished-name? distinguished-name | | | +--rw address-type lisp-address-family-ref | |||
| | +--:(lcaf) | | | +--rw virtual-network-id? instance-id-type | |||
| | +--rw lcaf | | | +--rw (address)? | |||
| | +--rw lcaf-type lcaf-ref | | | +--:(no-address) | |||
| | +--rw (address)? | | | | +--rw no-address? empty | |||
| | +--:(null-address) | | | +--:(ipv4) | |||
| | | +--rw null-address | | | | +--rw ipv4? inet:ipv4-address | |||
| | | +--rw address? empty | | | +--:(ipv4-prefix) | |||
| | +--:(afi-list) | | | | +--rw ipv4-prefix? inet:ipv4-prefix | |||
| | | +--rw afi-list | | | +--:(ipv6) | |||
| | | +--rw address-list* simple-address | | | | +--rw ipv6? inet:ipv6-address | |||
| | +--:(instance-id) | | | +--:(ipv6-prefix) | |||
| | | +--rw instance-id | | | | +--rw ipv6-prefix? inet:ipv6-prefix | |||
| | | +--rw instance-id? instance-id-type | | | +--:(mac) | |||
| | | +--rw mask-length? uint8 | | | | +--rw mac? yang:mac-address | |||
| | | +--rw address? simple-address | | | +--:(distinguished-name) | |||
| | +--:(as-number) | | | | +--rw distinguished-name? distinguished-name-type | |||
| | | +--rw as-number | | | +--:(as-number) | |||
| | | +--rw as? inet:as-number | | | | +--rw as-number? inet:as-number | |||
| | | +--rw address? simple-address | | | +--:(null-address) | |||
| | +--:(application-data) | | | | +--rw null-address | |||
| | | +--rw application-data | | | | +--rw address? empty | |||
| | | +--rw address? simple-address | | | +--:(afi-list) | |||
| | | +--rw protocol? uint8 | | | | +--rw afi-list | |||
| | | +--rw ip-tos? int32 | | | | +--rw address-list* simple-address | |||
| | | +--rw local-port-low? inet:port-number | | | +--:(instance-id) | |||
| | | +--rw local-port-high? inet:port-number | | | | +--rw instance-id | |||
| | | +--rw remote-port-low? inet:port-number | | | | +--rw iid? instance-id-type | |||
| | | +--rw remote-port-high? inet:port-number | | | | +--rw mask-length? uint8 | |||
| | +--:(geo-coordinates) | | | | +--rw address? simple-address | |||
| | | +--rw geo-coordinates | | | +--:(as-number-lcaf) | |||
| | | +--rw latitude? bits | | | | +--rw as-number-lcaf | |||
| | | +--rw latitude-degrees? uint8 | | | | +--rw as? inet:as-number | |||
| | | +--rw latitude-minutes? uint8 | | | | +--rw address? simple-address | |||
| | | +--rw latitude-seconds? uint8 | | | +--:(application-data) | |||
| | | +--rw longitude? bits | | | | +--rw application-data | |||
| | | +--rw longitude-degrees? uint16 | | | | +--rw address? simple-address | |||
| | | +--rw longitude-minutes? uint8 | | | | +--rw protocol? uint8 | |||
| | | +--rw longitude-seconds? uint8 | | | | +--rw ip-tos? int32 | |||
| | | +--rw altitude? int32 | | | | +--rw local-port-low? inet:port-number | |||
| | | +--rw address? simple-address | | | | +--rw local-port-high? inet:port-number | |||
| | +--:(nat-traversal) | | | | +--rw remote-port-low? inet:port-number | |||
| | | +--rw nat-traversal | | | | +--rw remote-port-high? inet:port-number | |||
| | | +--rw ms-udp-port? uint16 | | | +--:(geo-coordinates) | |||
| | | +--rw etr-udp-port? uint16 | | | | +--rw geo-coordinates | |||
| | | +--rw global-etr-rloc? simple-address | | | | +--rw latitude? bits | |||
| | | +--rw ms-rloc? simple-address | | | | +--rw latitude-degrees? uint8 | |||
| | | +--rw private-etr-rloc? simple-address | | | | +--rw latitude-minutes? uint8 | |||
| | | +--rw rtr-rlocs* simple-address | | | | +--rw latitude-seconds? uint8 | |||
| | +--:(explicit-locator-path) | | | | +--rw longitude? bits | |||
| | | +--rw explicit-locator-path | | | | +--rw longitude-degrees? uint16 | |||
| | | +--rw hop* [address] | | | | +--rw longitude-minutes? uint8 | |||
| | | +--rw address simple-address | | | | +--rw longitude-seconds? uint8 | |||
| | | +--rw lrs-bits? bits | | | | +--rw altitude? int32 | |||
| | +--:(sourc-dest-key) | | | | +--rw address? simple-address | |||
| | +--rw sourc-dest-key | | | +--:(nat-traversal) | |||
| | +--rw source? inet:ip-prefix | | | | +--rw nat-traversal | |||
| | +--rw dest? inet:ip-prefix | | | | +--rw ms-udp-port? uint16 | |||
| +--rw priority? uint8 | | | | +--rw etr-udp-port? uint16 | |||
| +--rw weight? uint8 | | | | +--rw global-etr-rloc? simple-address | |||
| +--rw multicast-priority? uint8 | | | | +--rw ms-rloc? simple-address | |||
| +--rw multicast-weight? uint8 | | | | +--rw private-etr-rloc? simple-address | |||
| augment /lisp:lisp-state/lisp:devices/lisp:device: | | | | +--rw rtr-rlocs* simple-address | |||
| | | +--:(explicit-locator-path) | ||||
| | | | +--rw explicit-locator-path | ||||
| | | | +--rw hop* [hop-id] | ||||
| | | | +--rw hop-id string | ||||
| | | | +--rw address? simple-address | ||||
| | | | +--rw lrs-bits? bits | ||||
| | | +--:(source-dest-key) | ||||
| | | | +--rw source-dest-key | ||||
| | | | +--rw source? simple-address | ||||
| | | | +--rw dest? simple-address | ||||
| | | +--:(key-value-address) | ||||
| | | | +--rw key-value-address | ||||
| | | | +--rw key? simple-address | ||||
| | | | +--rw value? simple-address | ||||
| | | +--:(service-path) | ||||
| | | +--rw service-path | ||||
| | | +--rw service-path-id? service-path-id-type | ||||
| | | +--rw service-index? uint8 | ||||
| | +--rw priority? uint8 | ||||
| | +--rw weight? uint8 | ||||
| | +--rw multicast-priority? uint8 | ||||
| | +--rw multicast-weight? uint8 | ||||
| +--rw servicing-eids | ||||
| +--rw servicing-eid* [id] | ||||
| +--rw id lisp:eid-id | ||||
| +--rw eid-address | ||||
| +--rw address-type lisp-address-family-ref | ||||
| +--rw virtual-network-id? instance-id-type | ||||
| +--rw (address)? | ||||
| +--:(no-address) | ||||
| | +--rw no-address? empty | ||||
| +--:(ipv4) | ||||
| | +--rw ipv4? inet:ipv4-address | ||||
| +--:(ipv4-prefix) | ||||
| | +--rw ipv4-prefix? inet:ipv4-prefix | ||||
| +--:(ipv6) | ||||
| | +--rw ipv6? inet:ipv6-address | ||||
| +--:(ipv6-prefix) | ||||
| | +--rw ipv6-prefix? inet:ipv6-prefix | ||||
| +--:(mac) | ||||
| | +--rw mac? yang:mac-address | ||||
| +--:(distinguished-name) | ||||
| | +--rw distinguished-name? distinguished-name-type | ||||
| +--:(as-number) | ||||
| | +--rw as-number? inet:as-number | ||||
| +--:(null-address) | ||||
| | +--rw null-address | ||||
| | +--rw address? empty | ||||
| +--:(afi-list) | ||||
| | +--rw afi-list | ||||
| | +--rw address-list* simple-address | ||||
| +--:(instance-id) | ||||
| | +--rw instance-id | ||||
| | +--rw iid? instance-id-type | ||||
| | +--rw mask-length? uint8 | ||||
| | +--rw address? simple-address | ||||
| +--:(as-number-lcaf) | ||||
| | +--rw as-number-lcaf | ||||
| | +--rw as? inet:as-number | ||||
| | +--rw address? simple-address | ||||
| +--:(application-data) | ||||
| | +--rw application-data | ||||
| | +--rw address? simple-address | ||||
| | +--rw protocol? uint8 | ||||
| | +--rw ip-tos? int32 | ||||
| | +--rw local-port-low? inet:port-number | ||||
| | +--rw local-port-high? inet:port-number | ||||
| | +--rw remote-port-low? inet:port-number | ||||
| | +--rw remote-port-high? inet:port-number | ||||
| +--:(geo-coordinates) | ||||
| | +--rw geo-coordinates | ||||
| | +--rw latitude? bits | ||||
| | +--rw latitude-degrees? uint8 | ||||
| | +--rw latitude-minutes? uint8 | ||||
| | +--rw latitude-seconds? uint8 | ||||
| | +--rw longitude? bits | ||||
| | +--rw longitude-degrees? uint16 | ||||
| | +--rw longitude-minutes? uint8 | ||||
| | +--rw longitude-seconds? uint8 | ||||
| | +--rw altitude? int32 | ||||
| | +--rw address? simple-address | ||||
| +--:(nat-traversal) | ||||
| | +--rw nat-traversal | ||||
| | +--rw ms-udp-port? uint16 | ||||
| | +--rw etr-udp-port? uint16 | ||||
| | +--rw global-etr-rloc? simple-address | ||||
| | +--rw ms-rloc? simple-address | ||||
| | +--rw private-etr-rloc? simple-address | ||||
| | +--rw rtr-rlocs* simple-address | ||||
| +--:(explicit-locator-path) | ||||
| | +--rw explicit-locator-path | ||||
| | +--rw hop* [hop-id] | ||||
| | +--rw hop-id string | ||||
| | +--rw address? simple-address | ||||
| | +--rw lrs-bits? bits | ||||
| +--:(source-dest-key) | ||||
| | +--rw source-dest-key | ||||
| | +--rw source? simple-address | ||||
| | +--rw dest? simple-address | ||||
| +--:(key-value-address) | ||||
| | +--rw key-value-address | ||||
| | +--rw key? simple-address | ||||
| | +--rw value? simple-address | ||||
| +--:(service-path) | ||||
| +--rw service-path | ||||
| +--rw service-path-id? service-path-id-type | ||||
| +--rw service-index? uint8 | ||||
| augment /lisp:lisp-state/lisp:lisp-router-instances/lisp:lisp-router-instance/lisp:lisp-role: | ||||
| +--ro itr-state | +--ro itr-state | |||
| +--ro learned-mappings | +--ro map-cache | |||
| +--ro mapping* [id] | +--ro mapping* [id] | |||
| +--ro id eid-id | +--ro id eid-id | |||
| +--ro eid | +--ro eid | |||
| | +--ro afi lisp-address-family-ref | | +--ro address-type lisp-address-family-ref | |||
| | +--ro instance-id? instance-id-type | | +--ro virtual-network-id? instance-id-type | |||
| | +--ro (address)? | | +--ro (address)? | |||
| | +--:(no-address) | ||||
| | | +--ro no-address? empty | ||||
| | +--:(ipv4) | | +--:(ipv4) | |||
| | | +--ro ipv4? inet:ipv4-address | | | +--ro ipv4? inet:ipv4-address | |||
| | +--:(ipv4-prefix) | ||||
| | | +--ro ipv4-prefix? inet:ipv4-prefix | ||||
| | +--:(ipv6) | | +--:(ipv6) | |||
| | | +--ro ipv6? inet:ipv6-address | | | +--ro ipv6? inet:ipv6-address | |||
| | +--:(ipv6-prefix) | ||||
| | | +--ro ipv6-prefix? inet:ipv6-prefix | ||||
| | +--:(mac) | | +--:(mac) | |||
| | | +--ro mac? yang:mac-address | | | +--ro mac? yang:mac-address | |||
| | +--:(distinguished-name) | | +--:(distinguished-name) | |||
| | | +--ro distinguished-name? distinguished-name | | | +--ro distinguished-name? distinguished-name-type | |||
| | +--:(lcaf) | | +--:(as-number) | |||
| | +--ro lcaf | | | +--ro as-number? inet:as-number | |||
| | +--ro lcaf-type lcaf-ref | | +--:(null-address) | |||
| | +--ro (address)? | | | +--ro null-address | |||
| | +--:(null-address) | | | +--ro address? empty | |||
| | | +--ro null-address | | +--:(afi-list) | |||
| | | +--ro address? empty | | | +--ro afi-list | |||
| | +--:(afi-list) | | | +--ro address-list* simple-address | |||
| | | +--ro afi-list | | +--:(instance-id) | |||
| | | +--ro address-list* simple-address | | | +--ro instance-id | |||
| | +--:(instance-id) | | | +--ro iid? instance-id-type | |||
| | | +--ro instance-id | | | +--ro mask-length? uint8 | |||
| | | +--ro instance-id? instance-id-type | | | +--ro address? simple-address | |||
| | | +--ro mask-length? uint8 | | +--:(as-number-lcaf) | |||
| | | +--ro address? simple-address | | | +--ro as-number-lcaf | |||
| | +--:(as-number) | | | +--ro as? inet:as-number | |||
| | | +--ro as-number | | | +--ro address? simple-address | |||
| | | +--ro as? inet:as-number | | +--:(application-data) | |||
| | | +--ro address? simple-address | | | +--ro application-data | |||
| | +--:(application-data) | | | +--ro address? simple-address | |||
| | | +--ro application-data | | | +--ro protocol? uint8 | |||
| | | +--ro address? simple-address | | | +--ro ip-tos? int32 | |||
| | | +--ro protocol? uint8 | | | +--ro local-port-low? inet:port-number | |||
| | | +--ro ip-tos? int32 | | | +--ro local-port-high? inet:port-number | |||
| | | +--ro local-port-low? inet:port-number | | | +--ro remote-port-low? inet:port-number | |||
| | | +--ro local-port-high? inet:port-number | | | +--ro remote-port-high? inet:port-number | |||
| | | +--ro remote-port-low? inet:port-number | | +--:(geo-coordinates) | |||
| | | +--ro remote-port-high? inet:port-number | | | +--ro geo-coordinates | |||
| | +--:(geo-coordinates) | | | +--ro latitude? bits | |||
| | | +--ro geo-coordinates | | | +--ro latitude-degrees? uint8 | |||
| | | +--ro latitude? bits | | | +--ro latitude-minutes? uint8 | |||
| | | +--ro latitude-degrees? uint8 | | | +--ro latitude-seconds? uint8 | |||
| | | +--ro latitude-minutes? uint8 | | | +--ro longitude? bits | |||
| | | +--ro latitude-seconds? uint8 | | | +--ro longitude-degrees? uint16 | |||
| | | +--ro longitude? bits | | | +--ro longitude-minutes? uint8 | |||
| | | +--ro longitude-degrees? uint16 | | | +--ro longitude-seconds? uint8 | |||
| | | +--ro longitude-minutes? uint8 | | | +--ro altitude? int32 | |||
| | | +--ro longitude-seconds? uint8 | | | +--ro address? simple-address | |||
| | | +--ro altitude? int32 | | +--:(nat-traversal) | |||
| | | +--ro address? simple-address | | | +--ro nat-traversal | |||
| | +--:(nat-traversal) | | | +--ro ms-udp-port? uint16 | |||
| | | +--ro nat-traversal | | | +--ro etr-udp-port? uint16 | |||
| | | +--ro ms-udp-port? uint16 | | | +--ro global-etr-rloc? simple-address | |||
| | | +--ro etr-udp-port? uint16 | | | +--ro ms-rloc? simple-address | |||
| | | +--ro global-etr-rloc? simple-address | | | +--ro private-etr-rloc? simple-address | |||
| | | +--ro ms-rloc? simple-address | | | +--ro rtr-rlocs* simple-address | |||
| | | +--ro private-etr-rloc? simple-address | | +--:(explicit-locator-path) | |||
| | | +--ro rtr-rlocs* simple-address | | | +--ro explicit-locator-path | |||
| | +--:(explicit-locator-path) | | | +--ro hop* [hop-id] | |||
| | | +--ro explicit-locator-path | | | +--ro hop-id string | |||
| | | +--ro hop* [address] | | | +--ro address? simple-address | |||
| | | +--ro address simple-address | | | +--ro lrs-bits? bits | |||
| | | +--ro lrs-bits? bits | | +--:(source-dest-key) | |||
| | +--:(sourc-dest-key) | | | +--ro source-dest-key | |||
| | +--ro sourc-dest-key | | | +--ro source? simple-address | |||
| | +--ro source? inet:ip-prefix | | | +--ro dest? simple-address | |||
| | +--ro dest? inet:ip-prefix | | +--:(key-value-address) | |||
| | | +--ro key-value-address | ||||
| | | +--ro key? simple-address | ||||
| | | +--ro value? simple-address | ||||
| | +--:(service-path) | ||||
| | +--ro service-path | ||||
| | +--ro service-path-id? service-path-id-type | ||||
| | +--ro service-index? uint8 | ||||
| +--ro ttl? uint32 | +--ro ttl? uint32 | |||
| +--ro authoritative? bits | +--ro authoritative? bits | |||
| +--ro static? boolean | ||||
| +--ro (locator-list)? | +--ro (locator-list)? | |||
| +--:(negative-mapping) | +--:(negative-mapping) | |||
| | +--ro map-reply-action? map-reply-action | | +--ro map-reply-action? map-reply-action | |||
| +--:(positive-mapping) | +--:(positive-mapping) | |||
| +--ro rlocs | +--ro rlocs | |||
| +--ro rloc* [id] | +--ro locator* [id] | |||
| +--ro id string | +--ro id string | |||
| +--ro (address-type)? | +--ro locator-address | |||
| | +--:(interface-name) | | +--ro address-type lisp-address-family-ref | |||
| | | +--ro interface? if:interface-state-ref | | +--ro virtual-network-id? instance-id-type | |||
| | +--:(address) | | +--ro (address)? | |||
| | +--ro locator-address | | +--:(no-address) | |||
| | +--ro afi lisp-address-family-ref | | | +--ro no-address? empty | |||
| | +--ro instance-id? instance-id-type | | +--:(ipv4) | |||
| | +--ro (address)? | | | +--ro ipv4? inet:ipv4-address | |||
| | +--:(ipv4) | | +--:(ipv4-prefix) | |||
| | | +--ro ipv4? inet:ipv4-address | | | +--ro ipv4-prefix? inet:ipv4-prefix | |||
| | +--:(ipv6) | | +--:(ipv6) | |||
| | | +--ro ipv6? inet:ipv6-address | | | +--ro ipv6? inet:ipv6-address | |||
| | +--:(mac) | | +--:(ipv6-prefix) | |||
| | | +--ro mac? yang:mac-address | | | +--ro ipv6-prefix? inet:ipv6-prefix | |||
| | +--:(distinguished-name) | | +--:(mac) | |||
| | | +--ro distinguished-name? distinguished-name | | | +--ro mac? yang:mac-address | |||
| | +--:(lcaf) | | +--:(distinguished-name) | |||
| | +--ro lcaf | | | +--ro distinguished-name? distinguished-name-type | |||
| | +--ro lcaf-type lcaf-ref | | +--:(as-number) | |||
| | +--ro (address)? | | | +--ro as-number? inet:as-number | |||
| | +--:(null-address) | | +--:(null-address) | |||
| | | +--ro null-address | | | +--ro null-address | |||
| | | +--ro address? empty | | | +--ro address? empty | |||
| | +--:(afi-list) | | +--:(afi-list) | |||
| | | +--ro afi-list | | | +--ro afi-list | |||
| | | +--ro address-list* simple-address | | | +--ro address-list* simple-address | |||
| | +--:(instance-id) | | +--:(instance-id) | |||
| | | +--ro instance-id | | | +--ro instance-id | |||
| | | +--ro instance-id? instance-id-type | | | +--ro iid? instance-id-type | |||
| | | +--ro mask-length? uint8 | | | +--ro mask-length? uint8 | |||
| | | +--ro address? simple-address | | | +--ro address? simple-address | |||
| | +--:(as-number) | | +--:(as-number-lcaf) | |||
| | | +--ro as-number | | | +--ro as-number-lcaf | |||
| | | +--ro as? inet:as-number | | | +--ro as? inet:as-number | |||
| | | +--ro address? simple-address | | | +--ro address? simple-address | |||
| | +--:(application-data) | | +--:(application-data) | |||
| | | +--ro application-data | | | +--ro application-data | |||
| | | +--ro address? simple-address | | | +--ro address? simple-address | |||
| | | +--ro protocol? uint8 | | | +--ro protocol? uint8 | |||
| | | +--ro ip-tos? int32 | | | +--ro ip-tos? int32 | |||
| | | +--ro local-port-low? inet:port-number | | | +--ro local-port-low? inet:port-number | |||
| | | +--ro local-port-high? inet:port-number | | | +--ro local-port-high? inet:port-number | |||
| | | +--ro remote-port-low? inet:port-number | | | +--ro remote-port-low? inet:port-number | |||
| | | +--ro remote-port-high? inet:port-number | | | +--ro remote-port-high? inet:port-number | |||
| | +--:(geo-coordinates) | | +--:(geo-coordinates) | |||
| | | +--ro geo-coordinates | | | +--ro geo-coordinates | |||
| | | +--ro latitude? bits | | | +--ro latitude? bits | |||
| | | +--ro latitude-degrees? uint8 | | | +--ro latitude-degrees? uint8 | |||
| | | +--ro latitude-minutes? uint8 | | | +--ro latitude-minutes? uint8 | |||
| | | +--ro latitude-seconds? uint8 | | | +--ro latitude-seconds? uint8 | |||
| | | +--ro longitude? bits | | | +--ro longitude? bits | |||
| | | +--ro longitude-degrees? uint16 | | | +--ro longitude-degrees? uint16 | |||
| | | +--ro longitude-minutes? uint8 | | | +--ro longitude-minutes? uint8 | |||
| | | +--ro longitude-seconds? uint8 | | | +--ro longitude-seconds? uint8 | |||
| | | +--ro altitude? int32 | | | +--ro altitude? int32 | |||
| | | +--ro address? simple-address | | | +--ro address? simple-address | |||
| | +--:(nat-traversal) | | +--:(nat-traversal) | |||
| | | +--ro nat-traversal | | | +--ro nat-traversal | |||
| | | +--ro ms-udp-port? uint16 | | | +--ro ms-udp-port? uint16 | |||
| | | +--ro etr-udp-port? uint16 | | | +--ro etr-udp-port? uint16 | |||
| | | +--ro global-etr-rloc? simple-address | | | +--ro global-etr-rloc? simple-address | |||
| | | +--ro ms-rloc? simple-address | | | +--ro ms-rloc? simple-address | |||
| | | +--ro private-etr-rloc? simple-address | | | +--ro private-etr-rloc? simple-address | |||
| | | +--ro rtr-rlocs* simple-address | | | +--ro rtr-rlocs* simple-address | |||
| | +--:(explicit-locator-path) | | +--:(explicit-locator-path) | |||
| | | +--ro explicit-locator-path | | | +--ro explicit-locator-path | |||
| | | +--ro hop* [address] | | | +--ro hop* [hop-id] | |||
| | | +--ro address simple-address | | | +--ro hop-id string | |||
| | | +--ro lrs-bits? bits | | | +--ro address? simple-address | |||
| | +--:(sourc-dest-key) | | | +--ro lrs-bits? bits | |||
| | +--ro sourc-dest-key | | +--:(source-dest-key) | |||
| | +--ro source? inet:ip-prefix | | | +--ro source-dest-key | |||
| | +--ro dest? inet:ip-prefix | | | +--ro source? simple-address | |||
| | | +--ro dest? simple-address | ||||
| | +--:(key-value-address) | ||||
| | | +--ro key-value-address | ||||
| | | +--ro key? simple-address | ||||
| | | +--ro value? simple-address | ||||
| | +--:(service-path) | ||||
| | +--ro service-path | ||||
| | +--ro service-path-id? service-path-id-type | ||||
| | +--ro service-index? uint8 | ||||
| +--ro priority? uint8 | +--ro priority? uint8 | |||
| +--ro weight? uint8 | +--ro weight? uint8 | |||
| +--ro multicast-priority? uint8 | +--ro multicast-priority? uint8 | |||
| +--ro multicast-weight? uint8 | +--ro multicast-weight? uint8 | |||
| 3.2. Module Definition | 3.2. Module Definition | |||
| <CODE BEGINS> file "ietf-lisp-itr@2015-07-02.yang" | <CODE BEGINS> file "ietf-lisp-itr@2016-06-30.yang" | |||
| module ietf-lisp-itr { | module ietf-lisp-itr { | |||
| namespace "urn:ietf:params:xml:ns:yang:lisp-itr"; | namespace "urn:ietf:params:xml:ns:yang:ietf-lisp-itr"; | |||
| prefix lisp-itr; | prefix lisp-itr; | |||
| import ietf-lisp { | import ietf-lisp { | |||
| prefix lisp; | prefix lisp; | |||
| } | } | |||
| import ietf-lisp-address-types { | import ietf-lisp-address-types { | |||
| prefix lcaf; | prefix lcaf; | |||
| } | } | |||
| import ietf-inet-types { | import ietf-inet-types { | |||
| prefix inet; | prefix inet; | |||
| } | } | |||
| organization | organization | |||
| "IETF LISP (Locator/ID Separation Protocol) Working Group"; | "IETF LISP (Locator/ID Separation Protocol) Working Group"; | |||
| contact | contact | |||
| "lisp@ietf.org"; | "lisp@ietf.org"; | |||
| description | description | |||
| "This YANG module defines the generic configuration | "This YANG module defines the generic configuration | |||
| data for a LISP ITR. The module can be extended by vendors | data for a LISP ITR. The module can be extended by vendors | |||
| to define vendor-specific configuration parameters and | to define vendor-specific configuration parameters and | |||
| policies. | policies. | |||
| Copyright (c) 2015 IETF Trust and the persons identified as | Copyright (c) 2015 IETF Trust and the persons identified as | |||
| authors of the code. All rights reserved. | authors of the code. All rights reserved. | |||
| skipping to change at page 23, line 6 ¶ | skipping to change at page 27, line 50 ¶ | |||
| Redistribution and use in source and binary forms, with or | Redistribution and use in source and binary forms, with or | |||
| without modification, is permitted pursuant to, and subject | without modification, is permitted pursuant to, and subject | |||
| to the license terms contained in, the Simplified BSD License | to the license terms contained in, the Simplified BSD License | |||
| set forth in Section 4.c of the IETF Trust's Legal Provisions | set forth in Section 4.c of the IETF Trust's Legal Provisions | |||
| Relating to IETF Documents | Relating to IETF Documents | |||
| (http://trustee.ietf.org/license-info). | (http://trustee.ietf.org/license-info). | |||
| This version of this YANG module is part of RFC 6338; see | This version of this YANG module is part of RFC 6338; see | |||
| the RFC itself for full legal notices. | the RFC itself for full legal notices. | |||
| "; | "; | |||
| revision 2015-07-02 { | revision 2016-06-30 { | |||
| description | description | |||
| "Initial revision."; | "Initial revision."; | |||
| reference | reference | |||
| "https://tools.ietf.org/html/rfc6830"; | "https://tools.ietf.org/html/rfc6830"; | |||
| } | } | |||
| identity itr { | identity itr { | |||
| base lisp:lisp-device; | base lisp:lisp-role; | |||
| description | description | |||
| "LISP ITR."; | "LISP ITR."; | |||
| } | } | |||
| augment "/lisp:lisp/lisp:devices/lisp:device" { | augment "/lisp:lisp/lisp:lisp-router-instances/" | |||
| when "lisp:type = 'lisp-itr:itr'" { | + "lisp:lisp-router-instance/lisp:lisp-role" { | |||
| when "lisp:lisp-role-type = 'lisp-itr:itr'" { | ||||
| description | description | |||
| "Augment is valid when LISP device type is ITR."; | "Augment is valid when LISP role type is ITR."; | |||
| } | } | |||
| description | description | |||
| "This augments LISP devices list with ITR specific | "This augments LISP devices list with ITR specific | |||
| parameters."; | parameters."; | |||
| container itr-cfg { | container itr-cfg { | |||
| presence "LISP ITR operation enabled"; | presence "LISP ITR operation enabled"; | |||
| description | description | |||
| "ITR configuration"; | "ITR configuration"; | |||
| container rloc-probing { | container rloc-probing { | |||
| presence "RLOC probing active"; | presence "RLOC probing active"; | |||
| skipping to change at page 23, line 51 ¶ | skipping to change at page 28, line 48 ¶ | |||
| description | description | |||
| "Number of retries"; | "Number of retries"; | |||
| } | } | |||
| leaf retries-interval { | leaf retries-interval { | |||
| type uint16; | type uint16; | |||
| units "seconds"; | units "seconds"; | |||
| description | description | |||
| "Interval in seconds between retries"; | "Interval in seconds between retries"; | |||
| } | } | |||
| } | } | |||
| container itr-rlocs { | leaf itr-rlocs { | |||
| description | type leafref { | |||
| "List of RLOCs of the ITR included in Map-Requests"; | path "/lisp:lisp/lisp:locator-sets/lisp:locator-set/" | |||
| list itr-rloc { | + "lisp:locator-set-name"; | |||
| key "id"; | ||||
| description | ||||
| "ITR's list of RLOCs."; | ||||
| leaf id { | ||||
| type string; | ||||
| description | ||||
| "Unique RLOC id."; | ||||
| } | ||||
| container address { | ||||
| uses lcaf:lisp-address; | ||||
| description | ||||
| "RLOC address in generic LISP address format."; | ||||
| } | ||||
| } | } | |||
| } | ||||
| container local-eids { | ||||
| description | description | |||
| "Container for an ITR's local list of EIDs"; | "Refrence to a locator set that the ITR includes in | |||
| list local-eid { | Map-Requests"; | |||
| key "id"; | ||||
| min-elements 1; | ||||
| description | ||||
| "List of EIDs from which the ITR forwards traffic."; | ||||
| leaf id { | ||||
| type lisp:eid-id; | ||||
| description | ||||
| "Unique EID ID"; | ||||
| } | ||||
| container eid-address { | ||||
| uses lcaf:lisp-address; | ||||
| description | ||||
| "Addres in generic LISP address format"; | ||||
| } | ||||
| } | ||||
| } | } | |||
| container map-resolvers { | container map-resolvers { | |||
| description | description | |||
| "The Map-Resolvers configured for the ITR."; | "The Map-Resolvers configured for the ITR."; | |||
| list map-resolver { | list map-resolver { | |||
| key "id"; | key "id"; | |||
| min-elements 1; | min-elements 1; | |||
| description | description | |||
| "List of Map-Resolvers configured for the ITR."; | "List of Map-Resolvers configured for the ITR."; | |||
| leaf id { | leaf id { | |||
| skipping to change at page 25, line 44 ¶ | skipping to change at page 30, line 11 ¶ | |||
| description | description | |||
| "EID for which the PETR is configured."; | "EID for which the PETR is configured."; | |||
| } | } | |||
| leaf-list proxy-etr-address{ | leaf-list proxy-etr-address{ | |||
| type inet:ip-address; | type inet:ip-address; | |||
| description | description | |||
| "PETR RLOC address."; | "PETR RLOC address."; | |||
| } | } | |||
| } | } | |||
| } | } | |||
| container static-mappings { | container map-cache{ | |||
| uses lisp:mappings; | uses lisp:mappings; | |||
| description | description | |||
| "EID to RLOCs mappings cache."; | "EID to RLOCs mappings cache."; | |||
| } | } | |||
| uses lisp:servicing-eids-grouping; | ||||
| } | } | |||
| } | } | |||
| augment "/lisp:lisp-state/lisp:devices/lisp:device" { | augment "/lisp:lisp-state/lisp:lisp-router-instances/" | |||
| when "lisp:type = 'lisp-itr:itr'" { | + "lisp:lisp-router-instance/lisp:lisp-role" { | |||
| when "lisp:lisp-role-type = 'lisp-itr:itr'" { | ||||
| description | description | |||
| "Augment is valid when LISP device type is ITR."; | "Augment is valid when LISP role type is ITR."; | |||
| } | } | |||
| description | description | |||
| "This augments LISP devices list state with ITR specific | "This augments LISP devices list state with ITR specific | |||
| parameters."; | parameters."; | |||
| container itr-state { | container itr-state { | |||
| config false; | config false; | |||
| description | description | |||
| "ITR state."; | "ITR state."; | |||
| container learned-mappings { | container map-cache{ | |||
| uses lisp:mappings; | uses lisp:mappings; | |||
| description | description | |||
| "EID to RLOCs mappings cache."; | "EID to RLOCs mappings cache."; | |||
| } | } | |||
| } | } | |||
| } | } | |||
| } | } | |||
| <CODE ENDS> | <CODE ENDS> | |||
| 4. LISP ETR Module | 4. LISP ETR Module | |||
| This module captures the configuration data model of a LISP ETR. The | This module captures the configuration data model of a LISP ETR. The | |||
| model also captures some operational data elements. | model also captures some operational data elements. | |||
| 4.1. Module Structure | 4.1. Module Structure | |||
| module: ietf-lisp-etr | module: ietf-lisp-etr | |||
| augment /lisp:lisp/lisp:devices/lisp:device: | augment /lisp:lisp/lisp:lisp-router-instances/lisp:lisp-router-instance/lisp:lisp-role: | |||
| +--rw etr-cfg! | +--rw etr-cfg! | |||
| +--rw local-eids | +--rw local-eids | |||
| +--rw local-eid* [id] | +--rw local-eid* [id] | |||
| +--rw id lisp:eid-id | +--rw id lisp:eid-id | |||
| +--rw eid-address | +--rw eid-address | |||
| | +--rw afi lisp-address-family-ref | | +--rw address-type lisp-address-family-ref | |||
| | +--rw instance-id? instance-id-type | | +--rw virtual-network-id? instance-id-type | |||
| | +--rw (address)? | | +--rw (address)? | |||
| | +--:(no-address) | ||||
| | | +--rw no-address? empty | ||||
| | +--:(ipv4) | | +--:(ipv4) | |||
| | | +--rw ipv4? inet:ipv4-address | | | +--rw ipv4? inet:ipv4-address | |||
| | +--:(ipv4-prefix) | ||||
| | | +--rw ipv4-prefix? inet:ipv4-prefix | ||||
| | +--:(ipv6) | | +--:(ipv6) | |||
| | | +--rw ipv6? inet:ipv6-address | | | +--rw ipv6? inet:ipv6-address | |||
| | +--:(ipv6-prefix) | ||||
| | | +--rw ipv6-prefix? inet:ipv6-prefix | ||||
| | +--:(mac) | | +--:(mac) | |||
| | | +--rw mac? yang:mac-address | | | +--rw mac? yang:mac-address | |||
| | +--:(distinguished-name) | | +--:(distinguished-name) | |||
| | | +--rw distinguished-name? distinguished-name | | | +--rw distinguished-name? distinguished-name-type | |||
| | +--:(lcaf) | | +--:(as-number) | |||
| | +--rw lcaf | | | +--rw as-number? inet:as-number | |||
| | +--rw lcaf-type lcaf-ref | | +--:(null-address) | |||
| | +--rw (address)? | | | +--rw null-address | |||
| | +--:(null-address) | | | +--rw address? empty | |||
| | | +--rw null-address | | +--:(afi-list) | |||
| | | +--rw address? empty | | | +--rw afi-list | |||
| | +--:(afi-list) | | | +--rw address-list* simple-address | |||
| | | +--rw afi-list | | +--:(instance-id) | |||
| | | +--rw address-list* simple-address | | | +--rw instance-id | |||
| | +--:(instance-id) | | | +--rw iid? instance-id-type | |||
| | | +--rw instance-id | | | +--rw mask-length? uint8 | |||
| | | +--rw instance-id? instance-id-type | | | +--rw address? simple-address | |||
| | | +--rw mask-length? uint8 | | +--:(as-number-lcaf) | |||
| | | +--rw address? simple-address | | | +--rw as-number-lcaf | |||
| | +--:(as-number) | | | +--rw as? inet:as-number | |||
| | | +--rw as-number | | | +--rw address? simple-address | |||
| | | +--rw as? inet:as-number | | +--:(application-data) | |||
| | | +--rw address? simple-address | | | +--rw application-data | |||
| | +--:(application-data) | | | +--rw address? simple-address | |||
| | | +--rw application-data | | | +--rw protocol? uint8 | |||
| | | +--rw address? simple-address | | | +--rw ip-tos? int32 | |||
| | | +--rw protocol? uint8 | | | +--rw local-port-low? inet:port-number | |||
| | | +--rw ip-tos? int32 | | | +--rw local-port-high? inet:port-number | |||
| | | +--rw local-port-low? inet:port-number | | | +--rw remote-port-low? inet:port-number | |||
| | | +--rw local-port-high? inet:port-number | | | +--rw remote-port-high? inet:port-number | |||
| | | +--rw remote-port-low? inet:port-number | | +--:(geo-coordinates) | |||
| | | +--rw remote-port-high? inet:port-number | | | +--rw geo-coordinates | |||
| | +--:(geo-coordinates) | | | +--rw latitude? bits | |||
| | | +--rw geo-coordinates | | | +--rw latitude-degrees? uint8 | |||
| | | +--rw latitude? bits | | | +--rw latitude-minutes? uint8 | |||
| | | +--rw latitude-degrees? uint8 | | | +--rw latitude-seconds? uint8 | |||
| | | +--rw latitude-minutes? uint8 | | | +--rw longitude? bits | |||
| | | +--rw latitude-seconds? uint8 | | | +--rw longitude-degrees? uint16 | |||
| | | +--rw longitude? bits | | | +--rw longitude-minutes? uint8 | |||
| | | +--rw longitude-degrees? uint16 | | | +--rw longitude-seconds? uint8 | |||
| | | +--rw longitude-minutes? uint8 | | | +--rw altitude? int32 | |||
| | | +--rw longitude-seconds? uint8 | | | +--rw address? simple-address | |||
| | | +--rw altitude? int32 | | +--:(nat-traversal) | |||
| | | +--rw address? simple-address | | | +--rw nat-traversal | |||
| | +--:(nat-traversal) | | | +--rw ms-udp-port? uint16 | |||
| | | +--rw nat-traversal | | | +--rw etr-udp-port? uint16 | |||
| | | +--rw ms-udp-port? uint16 | | | +--rw global-etr-rloc? simple-address | |||
| | | +--rw etr-udp-port? uint16 | | | +--rw ms-rloc? simple-address | |||
| | | +--rw global-etr-rloc? simple-address | | | +--rw private-etr-rloc? simple-address | |||
| | | +--rw ms-rloc? simple-address | | | +--rw rtr-rlocs* simple-address | |||
| | | +--rw private-etr-rloc? simple-address | | +--:(explicit-locator-path) | |||
| | | +--rw rtr-rlocs* simple-address | | | +--rw explicit-locator-path | |||
| | +--:(explicit-locator-path) | | | +--rw hop* [hop-id] | |||
| | | +--rw explicit-locator-path | | | +--rw hop-id string | |||
| | | +--rw hop* [address] | | | +--rw address? simple-address | |||
| | | +--rw address simple-address | | | +--rw lrs-bits? bits | |||
| | | +--rw lrs-bits? bits | | +--:(source-dest-key) | |||
| | +--:(sourc-dest-key) | | | +--rw source-dest-key | |||
| | +--rw sourc-dest-key | | | +--rw source? simple-address | |||
| | +--rw source? inet:ip-prefix | | | +--rw dest? simple-address | |||
| | +--rw dest? inet:ip-prefix | | +--:(key-value-address) | |||
| | | +--rw key-value-address | ||||
| | | +--rw key? simple-address | ||||
| | | +--rw value? simple-address | ||||
| | +--:(service-path) | ||||
| | +--rw service-path | ||||
| | +--rw service-path-id? service-path-id-type | ||||
| | +--rw service-index? uint8 | ||||
| +--rw map-servers | +--rw map-servers | |||
| | +--rw map-server* [address] | | +--rw map-server* [address] | |||
| | +--rw address inet:ip-address | | +--rw address inet:ip-address | |||
| | +--rw auth-key? string | | +--rw auth-key? string | |||
| | +--rw auth-key-type? lisp:auth-key-type | | +--rw auth-key-type? lisp:auth-key-type | |||
| +--rw rlocs | +--rw rlocs? -> /lisp:lisp/locator-sets/locator-set/locator-set-name | |||
| | +--rw rloc* [id] | ||||
| | +--rw id string | ||||
| | +--rw (address-type)? | ||||
| | | +--:(interface-name) | ||||
| | | | +--rw interface? if:interface-state-ref | ||||
| | | +--:(address) | ||||
| | | +--rw locator-address | ||||
| | | +--rw afi lisp-address-family-ref | ||||
| | | +--rw instance-id? instance-id-type | ||||
| | | +--rw (address)? | ||||
| | | +--:(ipv4) | ||||
| | | | +--rw ipv4? inet:ipv4-address | ||||
| | | +--:(ipv6) | ||||
| | | | +--rw ipv6? inet:ipv6-address | ||||
| | | +--:(mac) | ||||
| | | | +--rw mac? yang:mac-address | ||||
| | | +--:(distinguished-name) | ||||
| | | | +--rw distinguished-name? distinguished-name | ||||
| | | +--:(lcaf) | ||||
| | | +--rw lcaf | ||||
| | | +--rw lcaf-type lcaf-ref | ||||
| | | +--rw (address)? | ||||
| | | +--:(null-address) | ||||
| | | | +--rw null-address | ||||
| | | | +--rw address? empty | ||||
| | | +--:(afi-list) | ||||
| | | | +--rw afi-list | ||||
| | | | +--rw address-list* simple-address | ||||
| | | +--:(instance-id) | ||||
| | | | +--rw instance-id | ||||
| | | | +--rw instance-id? instance-id-type | ||||
| | | | +--rw mask-length? uint8 | ||||
| | | | +--rw address? simple-address | ||||
| | | +--:(as-number) | ||||
| | | | +--rw as-number | ||||
| | | | +--rw as? inet:as-number | ||||
| | | | +--rw address? simple-address | ||||
| | | +--:(application-data) | ||||
| | | | +--rw application-data | ||||
| | | | +--rw address? simple-address | ||||
| | | | +--rw protocol? uint8 | ||||
| | | | +--rw ip-tos? int32 | ||||
| | | | +--rw local-port-low? inet:port-number | ||||
| | | | +--rw local-port-high? inet:port-number | ||||
| | | | +--rw remote-port-low? inet:port-number | ||||
| | | | +--rw remote-port-high? inet:port-number | ||||
| | | +--:(geo-coordinates) | ||||
| | | | +--rw geo-coordinates | ||||
| | | | +--rw latitude? bits | ||||
| | | | +--rw latitude-degrees? uint8 | ||||
| | | | +--rw latitude-minutes? uint8 | ||||
| | | | +--rw latitude-seconds? uint8 | ||||
| | | | +--rw longitude? bits | ||||
| | | | +--rw longitude-degrees? uint16 | ||||
| | | | +--rw longitude-minutes? uint8 | ||||
| | | | +--rw longitude-seconds? uint8 | ||||
| | | | +--rw altitude? int32 | ||||
| | | | +--rw address? simple-address | ||||
| | | +--:(nat-traversal) | ||||
| | | | +--rw nat-traversal | ||||
| | | | +--rw ms-udp-port? uint16 | ||||
| | | | +--rw etr-udp-port? uint16 | ||||
| | | | +--rw global-etr-rloc? simple-address | ||||
| | | | +--rw ms-rloc? simple-address | ||||
| | | | +--rw private-etr-rloc? simple-address | ||||
| | | | +--rw rtr-rlocs* simple-address | ||||
| | | +--:(explicit-locator-path) | ||||
| | | | +--rw explicit-locator-path | ||||
| | | | +--rw hop* [address] | ||||
| | | | +--rw address simple-address | ||||
| | | | +--rw lrs-bits? bits | ||||
| | | +--:(sourc-dest-key) | ||||
| | | +--rw sourc-dest-key | ||||
| | | +--rw source? inet:ip-prefix | ||||
| | | +--rw dest? inet:ip-prefix | ||||
| | +--rw priority? uint8 | ||||
| | +--rw weight? uint8 | ||||
| | +--rw multicast-priority? uint8 | ||||
| | +--rw multicast-weight? uint8 | ||||
| +--rw record-ttl? uint32 | +--rw record-ttl? uint32 | |||
| +--rw want-map-notify? boolean | +--rw want-map-notify? boolean | |||
| +--rw proxy-reply? boolean | +--rw proxy-reply? boolean | |||
| +--rw registration-interval? uint16 | +--rw registration-interval? uint16 | |||
| 4.2. Module Definition | 4.2. Module Definition | |||
| <CODE BEGINS> file "ietf-lisp-etr@2015-07-02.yang" | <CODE BEGINS> file "ietf-lisp-etr@2016-06-30.yang" | |||
| module ietf-lisp-etr { | module ietf-lisp-etr { | |||
| namespace "urn:ietf:params:xml:ns:yang:lisp-etr"; | namespace "urn:ietf:params:xml:ns:yang:ietf-lisp-etr"; | |||
| prefix lisp-etr; | prefix lisp-etr; | |||
| import ietf-lisp { | import ietf-lisp { | |||
| prefix lisp; | prefix lisp; | |||
| } | } | |||
| import ietf-lisp-address-types { | import ietf-lisp-address-types { | |||
| prefix lcaf; | prefix lcaf; | |||
| } | } | |||
| import ietf-inet-types { | import ietf-inet-types { | |||
| prefix inet; | prefix inet; | |||
| } | } | |||
| organization | organization | |||
| "IETF LISP (Locator/ID Separation Protocol) Working Group"; | "IETF LISP (Locator/ID Separation Protocol) Working Group"; | |||
| contact | contact | |||
| "lisp@ietf.org"; | "lisp@ietf.org"; | |||
| description | description | |||
| "This YANG module defines the generic configuration | "This YANG module defines the generic configuration | |||
| data for a LISP ETR. The module can be extended by vendors | data for a LISP ETR. The module can be extended by vendors | |||
| to define vendor-specific configuration parameters and | to define vendor-specific configuration parameters and | |||
| policies. | policies. | |||
| Copyright (c) 2015 IETF Trust and the persons identified as | Copyright (c) 2015 IETF Trust and the persons identified as | |||
| authors of the code. All rights reserved. | authors of the code. All rights reserved. | |||
| skipping to change at page 30, line 43 ¶ | skipping to change at page 33, line 47 ¶ | |||
| Redistribution and use in source and binary forms, with or | Redistribution and use in source and binary forms, with or | |||
| without modification, is permitted pursuant to, and subject | without modification, is permitted pursuant to, and subject | |||
| to the license terms contained in, the Simplified BSD License | to the license terms contained in, the Simplified BSD License | |||
| set forth in Section 4.c of the IETF Trust's Legal Provisions | set forth in Section 4.c of the IETF Trust's Legal Provisions | |||
| Relating to IETF Documents | Relating to IETF Documents | |||
| (http://trustee.ietf.org/license-info). | (http://trustee.ietf.org/license-info). | |||
| This version of this YANG module is part of RFC 6338; see | This version of this YANG module is part of RFC 6338; see | |||
| the RFC itself for full legal notices. | the RFC itself for full legal notices. | |||
| "; | "; | |||
| revision 2015-07-02 { | revision 2016-06-30 { | |||
| description | description | |||
| "Initial revision."; | "Initial revision."; | |||
| reference | reference | |||
| "https://tools.ietf.org/html/rfc6830"; | "https://tools.ietf.org/html/rfc6830"; | |||
| } | } | |||
| identity etr { | identity etr { | |||
| base lisp:lisp-device; | base lisp:lisp-role; | |||
| description | description | |||
| "LISP ETR."; | "LISP ETR."; | |||
| } | } | |||
| augment "/lisp:lisp/lisp:devices/lisp:device" { | augment "/lisp:lisp/lisp:lisp-router-instances/" | |||
| when "lisp:type = 'lisp-etr:etr'" { | + "lisp:lisp-router-instance/lisp:lisp-role" { | |||
| when "lisp:lisp-role-type = 'lisp-etr:etr'" { | ||||
| description | description | |||
| "Augment is valid when LISP device type is ETR."; | "Augment is valid when LISP device type is ETR."; | |||
| } | } | |||
| description | description | |||
| "This augments LISP devices list with ETR specific | "This augments LISP devices list with ETR specific | |||
| parameters."; | parameters."; | |||
| container etr-cfg { | container etr-cfg { | |||
| presence "LISP ETR operation enabled"; | presence "LISP ETR operation enabled"; | |||
| description | description | |||
| "ETR configuration parameters."; | "ETR configuration parameters."; | |||
| skipping to change at page 31, line 47 ¶ | skipping to change at page 35, line 4 ¶ | |||
| description | description | |||
| "Map-Servers configured for the ETR."; | "Map-Servers configured for the ETR."; | |||
| list map-server { | list map-server { | |||
| key "address"; | key "address"; | |||
| description | description | |||
| "List of Map-Servers configured for the ETR."; | "List of Map-Servers configured for the ETR."; | |||
| leaf address { | leaf address { | |||
| type inet:ip-address; | type inet:ip-address; | |||
| description | description | |||
| "Map-Server address."; | "Map-Server address."; | |||
| } | } | |||
| leaf auth-key { | leaf auth-key { | |||
| type string; | type string; | |||
| description | description | |||
| "Map-Server authentication key."; | "Map-Server authentication key."; | |||
| } | } | |||
| leaf auth-key-type { | leaf auth-key-type { | |||
| type lisp:auth-key-type; | type lisp:auth-key-type; | |||
| description | description | |||
| "Map-Server authentication type."; | "Map-Server authentication type."; | |||
| } | } | |||
| } | } | |||
| } | } | |||
| container rlocs { | leaf rlocs { | |||
| uses lisp:locators; | type leafref { | |||
| path "/lisp:lisp/lisp:locator-sets/lisp:locator-set/" | ||||
| + "lisp:locator-set-name"; | ||||
| } | ||||
| description | description | |||
| "Locators mapped to local EID."; | "Locator set mapped to this local EID."; | |||
| } | } | |||
| leaf record-ttl { | leaf record-ttl { | |||
| type uint32; | type uint32; | |||
| description | description | |||
| "Validity period of the EID to RLOCs mapping provided | "Validity period of the EID to RLOCs mapping provided | |||
| in Map-Replies."; | in Map-Replies."; | |||
| } | } | |||
| leaf want-map-notify { | leaf want-map-notify { | |||
| type boolean; | type boolean; | |||
| default "true"; | ||||
| description | description | |||
| "Flag which if set in a Map-Register requests that a | "Flag which if set in a Map-Register requests that a | |||
| Map-Notify be sent in response."; | Map-Notify be sent in response."; | |||
| } | } | |||
| leaf proxy-reply { | leaf proxy-reply { | |||
| type boolean; | type boolean; | |||
| default "false"; | ||||
| description | description | |||
| "Flag which if set in a Map-Register requests that the | "Flag which if set in a Map-Register requests that the | |||
| Map-Server proxy Map-Replies for the ETR."; | Map-Server proxy Map-Replies for the ETR."; | |||
| } | } | |||
| leaf registration-interval { | leaf registration-interval { | |||
| type uint16; | type uint16; | |||
| units "seconds"; | units "seconds"; | |||
| default "60"; | default "60"; | |||
| description | description | |||
| "Interval between consecutive Map-Register messages."; | "Interval between consecutive Map-Register messages."; | |||
| skipping to change at page 32, line 41 ¶ | skipping to change at page 36, line 4 ¶ | |||
| "Flag which if set in a Map-Register requests that the | "Flag which if set in a Map-Register requests that the | |||
| Map-Server proxy Map-Replies for the ETR."; | Map-Server proxy Map-Replies for the ETR."; | |||
| } | } | |||
| leaf registration-interval { | leaf registration-interval { | |||
| type uint16; | type uint16; | |||
| units "seconds"; | units "seconds"; | |||
| default "60"; | default "60"; | |||
| description | description | |||
| "Interval between consecutive Map-Register messages."; | "Interval between consecutive Map-Register messages."; | |||
| } | } | |||
| } | } | |||
| } | } | |||
| } | }//etr-cfg | |||
| } | }//augment | |||
| } | }// lisp-etr | |||
| <CODE ENDS> | <CODE ENDS> | |||
| 5. LISP Map Server Module | 5. LISP Map Server Module | |||
| This module captures the configuration data model of a LISP Map | This module captures the configuration data model of a LISP Map | |||
| Server [RFC6833]. The model also captures some operational data | Server [RFC6833]. The model also captures some operational data | |||
| elements. | elements. | |||
| 5.1. Module Structure | 5.1. Module Structure | |||
| module: ietf-lisp-mapserver | module: ietf-lisp-mapserver | |||
| augment /lisp:lisp/lisp:devices/lisp:device: | augment /lisp:lisp/lisp:lisp-router-instances/lisp:lisp-router-instance/lisp:lisp-role: | |||
| +--rw map-server-cfg! | +--rw map-server-cfg | |||
| +--rw sites | +--rw sites | |||
| | +--rw site* [site-id] | | +--rw site* [site-id] | |||
| | +--rw site-id uint64 | | +--rw site-id uint64 | |||
| | +--rw devices | | +--rw auth-key | |||
| | +--rw device* [device-id] | | | +--rw auth-key-value? string | |||
| | +--rw device-id uint64 | | | +--rw auth-key-type? lisp:auth-key-type | |||
| | +--rw auth-key | | +--rw eids | |||
| | | +--rw auth-key-value? string | | +--rw eid* [id] | |||
| | | +--rw auth-key-type? lisp:auth-key-type | | +--rw id lisp:eid-id | |||
| | +--rw eids | | +--rw eid-address | |||
| | +--rw eid* [id] | | | +--rw address-type lisp-address-family-ref | |||
| | +--rw id lisp:eid-id | | | +--rw virtual-network-id? instance-id-type | |||
| | +--rw eid-address | | | +--rw (address)? | |||
| | | +--rw afi lisp-address-family-ref | | | +--:(no-address) | |||
| | | +--rw instance-id? instance-id-type | | | | +--rw no-address? empty | |||
| | | +--rw (address)? | | | +--:(ipv4) | |||
| | | +--:(ipv4) | | | | +--rw ipv4? inet:ipv4-address | |||
| | | | +--rw ipv4? inet:ipv4-address | | | +--:(ipv4-prefix) | |||
| | | +--:(ipv6) | | | | +--rw ipv4-prefix? inet:ipv4-prefix | |||
| | | | +--rw ipv6? inet:ipv6-address | | | +--:(ipv6) | |||
| | | +--:(mac) | | | | +--rw ipv6? inet:ipv6-address | |||
| | | | +--rw mac? yang:mac-address | | | +--:(ipv6-prefix) | |||
| | | +--:(distinguished-name) | | | | +--rw ipv6-prefix? inet:ipv6-prefix | |||
| | | | +--rw distinguished-name? distinguished-name | | | +--:(mac) | |||
| | | +--:(lcaf) | | | | +--rw mac? yang:mac-address | |||
| | | +--rw lcaf | | | +--:(distinguished-name) | |||
| | | +--rw lcaf-type lcaf-ref | | | | +--rw distinguished-name? distinguished-name-type | |||
| | | +--rw (address)? | | | +--:(as-number) | |||
| | | +--:(null-address) | | | | +--rw as-number? inet:as-number | |||
| | | | +--rw null-address | | | +--:(null-address) | |||
| | | | +--rw address? empty | | | | +--rw null-address | |||
| | | +--:(afi-list) | | | | +--rw address? empty | |||
| | | | +--rw afi-list | | | +--:(afi-list) | |||
| | | | +--rw address-list* simple-address | | | | +--rw afi-list | |||
| | | +--:(instance-id) | | | | +--rw address-list* simple-address | |||
| | | | +--rw instance-id | | | +--:(instance-id) | |||
| | | | +--rw instance-id? instance-id-type | | | | +--rw instance-id | |||
| | | | +--rw mask-length? uint8 | | | | +--rw iid? instance-id-type | |||
| | | | +--rw address? simple-address | | | | +--rw mask-length? uint8 | |||
| | | +--:(as-number) | | | | +--rw address? simple-address | |||
| | | | +--rw as-number | | | +--:(as-number-lcaf) | |||
| | | | +--rw as? inet:as-number | | | | +--rw as-number-lcaf | |||
| | | | +--rw address? simple-address | | | | +--rw as? inet:as-number | |||
| | | +--:(application-data) | | | | +--rw address? simple-address | |||
| | | | +--rw application-data | | | +--:(application-data) | |||
| | | | +--rw address? simple-address | | | | +--rw application-data | |||
| | | | +--rw protocol? uint8 | | | | +--rw address? simple-address | |||
| | | | +--rw ip-tos? int32 | | | | +--rw protocol? uint8 | |||
| | | | +--rw local-port-low? inet:port-number | | | | +--rw ip-tos? int32 | |||
| | | | +--rw local-port-high? inet:port-number | | | | +--rw local-port-low? inet:port-number | |||
| | | | +--rw remote-port-low? inet:port-number | | | | +--rw local-port-high? inet:port-number | |||
| | | | +--rw remote-port-high? inet:port-number | | | | +--rw remote-port-low? inet:port-number | |||
| | | +--:(geo-coordinates) | | | | +--rw remote-port-high? inet:port-number | |||
| | | | +--rw geo-coordinates | | | +--:(geo-coordinates) | |||
| | | | +--rw latitude? bits | | | | +--rw geo-coordinates | |||
| | | | +--rw latitude-degrees? uint8 | | | | +--rw latitude? bits | |||
| | | | +--rw latitude-minutes? uint8 | | | | +--rw latitude-degrees? uint8 | |||
| | | | +--rw latitude-seconds? uint8 | | | | +--rw latitude-minutes? uint8 | |||
| | | | +--rw longitude? bits | | | | +--rw latitude-seconds? uint8 | |||
| | | | +--rw longitude-degrees? uint16 | | | | +--rw longitude? bits | |||
| | | | +--rw longitude-minutes? uint8 | | | | +--rw longitude-degrees? uint16 | |||
| | | | +--rw longitude-seconds? uint8 | | | | +--rw longitude-minutes? uint8 | |||
| | | | +--rw altitude? int32 | | | | +--rw longitude-seconds? uint8 | |||
| | | | +--rw address? simple-address | | | | +--rw altitude? int32 | |||
| | | +--:(nat-traversal) | | | | +--rw address? simple-address | |||
| | | | +--rw nat-traversal | | | +--:(nat-traversal) | |||
| | | | +--rw ms-udp-port? uint16 | | | | +--rw nat-traversal | |||
| | | | +--rw etr-udp-port? uint16 | | | | +--rw ms-udp-port? uint16 | |||
| | | | +--rw global-etr-rloc? simple-address | | | | +--rw etr-udp-port? uint16 | |||
| | | | +--rw ms-rloc? simple-address | | | | +--rw global-etr-rloc? simple-address | |||
| | | | +--rw private-etr-rloc? simple-address | | | | +--rw ms-rloc? simple-address | |||
| | | | +--rw rtr-rlocs* simple-address | | | | +--rw private-etr-rloc? simple-address | |||
| | | +--:(explicit-locator-path) | | | | +--rw rtr-rlocs* simple-address | |||
| | | | +--rw explicit-locator-path | | | +--:(explicit-locator-path) | |||
| | | | +--rw hop* [address] | | | | +--rw explicit-locator-path | |||
| | | | +--rw address simple-address | | | | +--rw hop* [hop-id] | |||
| | | | +--rw lrs-bits? bits | | | | +--rw hop-id string | |||
| | | +--:(sourc-dest-key) | | | | +--rw address? simple-address | |||
| | | +--rw sourc-dest-key | | | | +--rw lrs-bits? bits | |||
| | | +--rw source? inet:ip-prefix | | | +--:(source-dest-key) | |||
| | | +--rw dest? inet:ip-prefix | | | | +--rw source-dest-key | |||
| | +--rw more-specifics-accepted? boolean | | | | +--rw source? simple-address | |||
| | +--rw mapping-expiration-timeout? int16 | | | | +--rw dest? simple-address | |||
| +--rw static-mappings | | | +--:(key-value-address) | |||
| | +--rw mapping* [id] | | | | +--rw key-value-address | |||
| | +--rw id eid-id | | | | +--rw key? simple-address | |||
| | +--rw eid | | | | +--rw value? simple-address | |||
| | | +--rw afi lisp-address-family-ref | | | +--:(service-path) | |||
| | | +--rw instance-id? instance-id-type | | | +--rw service-path | |||
| | | +--rw (address)? | | | +--rw service-path-id? service-path-id-type | |||
| | | +--:(ipv4) | | | +--rw service-index? uint8 | |||
| | | | +--rw ipv4? inet:ipv4-address | | +--rw more-specifics-accepted? boolean | |||
| | | +--:(ipv6) | | +--rw mapping-expiration-timeout? int16 | |||
| | | | +--rw ipv6? inet:ipv6-address | +--rw mapping-system-type? lisp:mapping-system-ref | |||
| | | +--:(mac) | augment /lisp:lisp-state/lisp:lisp-router-instances/lisp:lisp-router-instance/lisp:lisp-role: | |||
| | | | +--rw mac? yang:mac-address | ||||
| | | +--:(distinguished-name) | ||||
| | | | +--rw distinguished-name? distinguished-name | ||||
| | | +--:(lcaf) | ||||
| | | +--rw lcaf | ||||
| | | +--rw lcaf-type lcaf-ref | ||||
| | | +--rw (address)? | ||||
| | | +--:(null-address) | ||||
| | | | +--rw null-address | ||||
| | | | +--rw address? empty | ||||
| | | +--:(afi-list) | ||||
| | | | +--rw afi-list | ||||
| | | | +--rw address-list* simple-address | ||||
| | | +--:(instance-id) | ||||
| | | | +--rw instance-id | ||||
| | | | +--rw instance-id? instance-id-type | ||||
| | | | +--rw mask-length? uint8 | ||||
| | | | +--rw address? simple-address | ||||
| | | +--:(as-number) | ||||
| | | | +--rw as-number | ||||
| | | | +--rw as? inet:as-number | ||||
| | | | +--rw address? simple-address | ||||
| | | +--:(application-data) | ||||
| | | | +--rw application-data | ||||
| | | | +--rw address? simple-address | ||||
| | | | +--rw protocol? uint8 | ||||
| | | | +--rw ip-tos? int32 | ||||
| | | | +--rw local-port-low? inet:port-number | ||||
| | | | +--rw local-port-high? inet:port-number | ||||
| | | | +--rw remote-port-low? inet:port-number | ||||
| | | | +--rw remote-port-high? inet:port-number | ||||
| | | +--:(geo-coordinates) | ||||
| | | | +--rw geo-coordinates | ||||
| | | | +--rw latitude? bits | ||||
| | | | +--rw latitude-degrees? uint8 | ||||
| | | | +--rw latitude-minutes? uint8 | ||||
| | | | +--rw latitude-seconds? uint8 | ||||
| | | | +--rw longitude? bits | ||||
| | | | +--rw longitude-degrees? uint16 | ||||
| | | | +--rw longitude-minutes? uint8 | ||||
| | | | +--rw longitude-seconds? uint8 | ||||
| | | | +--rw altitude? int32 | ||||
| | | | +--rw address? simple-address | ||||
| | | +--:(nat-traversal) | ||||
| | | | +--rw nat-traversal | ||||
| | | | +--rw ms-udp-port? uint16 | ||||
| | | | +--rw etr-udp-port? uint16 | ||||
| | | | +--rw global-etr-rloc? simple-address | ||||
| | | | +--rw ms-rloc? simple-address | ||||
| | | | +--rw private-etr-rloc? simple-address | ||||
| | | | +--rw rtr-rlocs* simple-address | ||||
| | | +--:(explicit-locator-path) | ||||
| | | | +--rw explicit-locator-path | ||||
| | | | +--rw hop* [address] | ||||
| | | | +--rw address simple-address | ||||
| | | | +--rw lrs-bits? bits | ||||
| | | +--:(sourc-dest-key) | ||||
| | | +--rw sourc-dest-key | ||||
| | | +--rw source? inet:ip-prefix | ||||
| | | +--rw dest? inet:ip-prefix | ||||
| | +--rw ttl? uint32 | ||||
| | +--rw authoritative? bits | ||||
| | +--rw (locator-list)? | ||||
| | +--:(negative-mapping) | ||||
| | | +--rw map-reply-action? map-reply-action | ||||
| | +--:(positive-mapping) | ||||
| | +--rw rlocs | ||||
| | +--rw rloc* [id] | ||||
| | +--rw id string | ||||
| | +--rw (address-type)? | ||||
| | | +--:(interface-name) | ||||
| | | | +--rw interface? if:interface-state-ref | ||||
| | | +--:(address) | ||||
| | | +--rw locator-address | ||||
| | | +--rw afi lisp-address-family-ref | ||||
| | | +--rw instance-id? instance-id-type | ||||
| | | +--rw (address)? | ||||
| | | +--:(ipv4) | ||||
| | | | +--rw ipv4? inet:ipv4-address | ||||
| | | +--:(ipv6) | ||||
| | | | +--rw ipv6? inet:ipv6-address | ||||
| | | +--:(mac) | ||||
| | | | +--rw mac? yang:mac-address | ||||
| | | +--:(distinguished-name) | ||||
| | | | +--rw distinguished-name? distinguished-name | ||||
| | | +--:(lcaf) | ||||
| | | +--rw lcaf | ||||
| | | +--rw lcaf-type lcaf-ref | ||||
| | | +--rw (address)? | ||||
| | | +--:(null-address) | ||||
| | | | +--rw null-address | ||||
| | | | +--rw address? empty | ||||
| | | +--:(afi-list) | ||||
| | | | +--rw afi-list | ||||
| | | | +--rw address-list* simple-address | ||||
| | | +--:(instance-id) | ||||
| | | | +--rw instance-id | ||||
| | | | +--rw instance-id? instance-id-type | ||||
| | | | +--rw mask-length? uint8 | ||||
| | | | +--rw address? simple-address | ||||
| | | +--:(as-number) | ||||
| | | | +--rw as-number | ||||
| | | | +--rw as? inet:as-number | ||||
| | | | +--rw address? simple-address | ||||
| | | +--:(application-data) | ||||
| | | | +--rw application-data | ||||
| | | | +--rw address? simple-address | ||||
| | | | +--rw protocol? uint8 | ||||
| | | | +--rw ip-tos? int32 | ||||
| | | | +--rw local-port-low? inet:port-number | ||||
| | | | +--rw local-port-high? inet:port-number | ||||
| | | | +--rw remote-port-low? inet:port-number | ||||
| | | | +--rw remote-port-high? inet:port-number | ||||
| | | +--:(geo-coordinates) | ||||
| | | | +--rw geo-coordinates | ||||
| | | | +--rw latitude? bits | ||||
| | | | +--rw latitude-degrees? uint8 | ||||
| | | | +--rw latitude-minutes? uint8 | ||||
| | | | +--rw latitude-seconds? uint8 | ||||
| | | | +--rw longitude? bits | ||||
| | | | +--rw longitude-degrees? uint16 | ||||
| | | | +--rw longitude-minutes? uint8 | ||||
| | | | +--rw longitude-seconds? uint8 | ||||
| | | | +--rw altitude? int32 | ||||
| | | | +--rw address? simple-address | ||||
| | | +--:(nat-traversal) | ||||
| | | | +--rw nat-traversal | ||||
| | | | +--rw ms-udp-port? uint16 | ||||
| | | | +--rw etr-udp-port? uint16 | ||||
| | | | +--rw global-etr-rloc? simple-address | ||||
| | | | +--rw ms-rloc? simple-address | ||||
| | | | +--rw private-etr-rloc? simple-address | ||||
| | | | +--rw rtr-rlocs* simple-address | ||||
| | | +--:(explicit-locator-path) | ||||
| | | | +--rw explicit-locator-path | ||||
| | | | +--rw hop* [address] | ||||
| | | | +--rw address simple-address | ||||
| | | | +--rw lrs-bits? bits | ||||
| | | +--:(sourc-dest-key) | ||||
| | | +--rw sourc-dest-key | ||||
| | | +--rw source? inet:ip-prefix | ||||
| | | +--rw dest? inet:ip-prefix | ||||
| | +--rw priority? uint8 | ||||
| | +--rw weight? uint8 | ||||
| | +--rw multicast-priority? uint8 | ||||
| | +--rw multicast-weight? uint8 | ||||
| +--rw (mapping-system) | ||||
| +--:(ddt-mapping-system) | ||||
| | +--rw ddt-mapping-system! | ||||
| | +--rw ddt-root* inet:ip-address | ||||
| | +--rw authoritative-eids | ||||
| | +--rw authoritative-eid* [id] | ||||
| | +--rw id lisp:eid-id | ||||
| | +--rw eid-address | ||||
| | +--rw afi lisp-address-family-ref | ||||
| | +--rw instance-id? instance-id-type | ||||
| | +--rw (address)? | ||||
| | +--:(ipv4) | ||||
| | | +--rw ipv4? inet:ipv4-address | ||||
| | +--:(ipv6) | ||||
| | | +--rw ipv6? inet:ipv6-address | ||||
| | +--:(mac) | ||||
| | | +--rw mac? yang:mac-address | ||||
| | +--:(distinguished-name) | ||||
| | | +--rw distinguished-name? distinguished-name | ||||
| | +--:(lcaf) | ||||
| | +--rw lcaf | ||||
| | +--rw lcaf-type lcaf-ref | ||||
| | +--rw (address)? | ||||
| | +--:(null-address) | ||||
| | | +--rw null-address | ||||
| | | +--rw address? empty | ||||
| | +--:(afi-list) | ||||
| | | +--rw afi-list | ||||
| | | +--rw address-list* simple-address | ||||
| | +--:(instance-id) | ||||
| | | +--rw instance-id | ||||
| | | +--rw instance-id? instance-id-type | ||||
| | | +--rw mask-length? uint8 | ||||
| | | +--rw address? simple-address | ||||
| | +--:(as-number) | ||||
| | | +--rw as-number | ||||
| | | +--rw as? inet:as-number | ||||
| | | +--rw address? simple-address | ||||
| | +--:(application-data) | ||||
| | | +--rw application-data | ||||
| | | +--rw address? simple-address | ||||
| | | +--rw protocol? uint8 | ||||
| | | +--rw ip-tos? int32 | ||||
| | | +--rw local-port-low? inet:port-number | ||||
| | | +--rw local-port-high? inet:port-number | ||||
| | | +--rw remote-port-low? inet:port-number | ||||
| | | +--rw remote-port-high? inet:port-number | ||||
| | +--:(geo-coordinates) | ||||
| | | +--rw geo-coordinates | ||||
| | | +--rw latitude? bits | ||||
| | | +--rw latitude-degrees? uint8 | ||||
| | | +--rw latitude-minutes? uint8 | ||||
| | | +--rw latitude-seconds? uint8 | ||||
| | | +--rw longitude? bits | ||||
| | | +--rw longitude-degrees? uint16 | ||||
| | | +--rw longitude-minutes? uint8 | ||||
| | | +--rw longitude-seconds? uint8 | ||||
| | | +--rw altitude? int32 | ||||
| | | +--rw address? simple-address | ||||
| | +--:(nat-traversal) | ||||
| | | +--rw nat-traversal | ||||
| | | +--rw ms-udp-port? uint16 | ||||
| | | +--rw etr-udp-port? uint16 | ||||
| | | +--rw global-etr-rloc? simple-address | ||||
| | | +--rw ms-rloc? simple-address | ||||
| | | +--rw private-etr-rloc? simple-address | ||||
| | | +--rw rtr-rlocs* simple-address | ||||
| | +--:(explicit-locator-path) | ||||
| | | +--rw explicit-locator-path | ||||
| | | +--rw hop* [address] | ||||
| | | +--rw address simple-address | ||||
| | | +--rw lrs-bits? bits | ||||
| | +--:(sourc-dest-key) | ||||
| | +--rw sourc-dest-key | ||||
| | +--rw source? inet:ip-prefix | ||||
| | +--rw dest? inet:ip-prefix | ||||
| +--:(alt-mapping-system) | ||||
| +--rw alt-mapping-system! | ||||
| augment /lisp:lisp-state/lisp:devices/lisp:device: | ||||
| +--ro ms-state | +--ro ms-state | |||
| +--ro registered-mappings | +--ro registered-mappings | |||
| +--ro mapping* [id] | +--ro mapping* [id] | |||
| +--ro id eid-id | +--ro id eid-id | |||
| +--ro eid | +--ro eid | |||
| | +--ro afi lisp-address-family-ref | | +--ro address-type lisp-address-family-ref | |||
| | +--ro instance-id? instance-id-type | | +--ro virtual-network-id? instance-id-type | |||
| | +--ro (address)? | | +--ro (address)? | |||
| | +--:(no-address) | ||||
| | | +--ro no-address? empty | ||||
| | +--:(ipv4) | | +--:(ipv4) | |||
| | | +--ro ipv4? inet:ipv4-address | | | +--ro ipv4? inet:ipv4-address | |||
| | +--:(ipv4-prefix) | ||||
| | | +--ro ipv4-prefix? inet:ipv4-prefix | ||||
| | +--:(ipv6) | | +--:(ipv6) | |||
| | | +--ro ipv6? inet:ipv6-address | | | +--ro ipv6? inet:ipv6-address | |||
| | +--:(ipv6-prefix) | ||||
| | | +--ro ipv6-prefix? inet:ipv6-prefix | ||||
| | +--:(mac) | | +--:(mac) | |||
| | | +--ro mac? yang:mac-address | | | +--ro mac? yang:mac-address | |||
| | +--:(distinguished-name) | | +--:(distinguished-name) | |||
| | | +--ro distinguished-name? distinguished-name | | | +--ro distinguished-name? distinguished-name-type | |||
| | +--:(lcaf) | | +--:(as-number) | |||
| | +--ro lcaf | | | +--ro as-number? inet:as-number | |||
| | +--ro lcaf-type lcaf-ref | | +--:(null-address) | |||
| | +--ro (address)? | | | +--ro null-address | |||
| | +--:(null-address) | | | +--ro address? empty | |||
| | | +--ro null-address | | +--:(afi-list) | |||
| | | +--ro address? empty | | | +--ro afi-list | |||
| | +--:(afi-list) | | | +--ro address-list* simple-address | |||
| | | +--ro afi-list | | +--:(instance-id) | |||
| | | +--ro address-list* simple-address | | | +--ro instance-id | |||
| | +--:(instance-id) | | | +--ro iid? instance-id-type | |||
| | | +--ro instance-id | | | +--ro mask-length? uint8 | |||
| | | +--ro instance-id? instance-id-type | | | +--ro address? simple-address | |||
| | | +--ro mask-length? uint8 | | +--:(as-number-lcaf) | |||
| | | +--ro address? simple-address | | | +--ro as-number-lcaf | |||
| | +--:(as-number) | | | +--ro as? inet:as-number | |||
| | | +--ro as-number | | | +--ro address? simple-address | |||
| | | +--ro as? inet:as-number | | +--:(application-data) | |||
| | | +--ro address? simple-address | | | +--ro application-data | |||
| | +--:(application-data) | | | +--ro address? simple-address | |||
| | | +--ro application-data | | | +--ro protocol? uint8 | |||
| | | +--ro address? simple-address | | | +--ro ip-tos? int32 | |||
| | | +--ro protocol? uint8 | | | +--ro local-port-low? inet:port-number | |||
| | | +--ro ip-tos? int32 | | | +--ro local-port-high? inet:port-number | |||
| | | +--ro local-port-low? inet:port-number | | | +--ro remote-port-low? inet:port-number | |||
| | | +--ro local-port-high? inet:port-number | | | +--ro remote-port-high? inet:port-number | |||
| | | +--ro remote-port-low? inet:port-number | | +--:(geo-coordinates) | |||
| | | +--ro remote-port-high? inet:port-number | | | +--ro geo-coordinates | |||
| | +--:(geo-coordinates) | | | +--ro latitude? bits | |||
| | | +--ro geo-coordinates | | | +--ro latitude-degrees? uint8 | |||
| | | +--ro latitude? bits | | | +--ro latitude-minutes? uint8 | |||
| | | +--ro latitude-degrees? uint8 | | | +--ro latitude-seconds? uint8 | |||
| | | +--ro latitude-minutes? uint8 | | | +--ro longitude? bits | |||
| | | +--ro latitude-seconds? uint8 | | | +--ro longitude-degrees? uint16 | |||
| | | +--ro longitude? bits | | | +--ro longitude-minutes? uint8 | |||
| | | +--ro longitude-degrees? uint16 | | | +--ro longitude-seconds? uint8 | |||
| | | +--ro longitude-minutes? uint8 | | | +--ro altitude? int32 | |||
| | | +--ro longitude-seconds? uint8 | | | +--ro address? simple-address | |||
| | | +--ro altitude? int32 | | +--:(nat-traversal) | |||
| | | +--ro address? simple-address | | | +--ro nat-traversal | |||
| | +--:(nat-traversal) | | | +--ro ms-udp-port? uint16 | |||
| | | +--ro nat-traversal | | | +--ro etr-udp-port? uint16 | |||
| | | +--ro ms-udp-port? uint16 | | | +--ro global-etr-rloc? simple-address | |||
| | | +--ro etr-udp-port? uint16 | | | +--ro ms-rloc? simple-address | |||
| | | +--ro global-etr-rloc? simple-address | | | +--ro private-etr-rloc? simple-address | |||
| | | +--ro ms-rloc? simple-address | | | +--ro rtr-rlocs* simple-address | |||
| | | +--ro private-etr-rloc? simple-address | | +--:(explicit-locator-path) | |||
| | | +--ro rtr-rlocs* simple-address | | | +--ro explicit-locator-path | |||
| | +--:(explicit-locator-path) | | | +--ro hop* [hop-id] | |||
| | | +--ro explicit-locator-path | | | +--ro hop-id string | |||
| | | +--ro hop* [address] | | | +--ro address? simple-address | |||
| | | +--ro address simple-address | | | +--ro lrs-bits? bits | |||
| | | +--ro lrs-bits? bits | | +--:(source-dest-key) | |||
| | +--:(sourc-dest-key) | | | +--ro source-dest-key | |||
| | +--ro sourc-dest-key | | | +--ro source? simple-address | |||
| | +--ro source? inet:ip-prefix | | | +--ro dest? simple-address | |||
| | +--ro dest? inet:ip-prefix | | +--:(key-value-address) | |||
| | | +--ro key-value-address | ||||
| | | +--ro key? simple-address | ||||
| | | +--ro value? simple-address | ||||
| | +--:(service-path) | ||||
| | +--ro service-path | ||||
| | +--ro service-path-id? service-path-id-type | ||||
| | +--ro service-index? uint8 | ||||
| +--ro ttl? uint32 | +--ro ttl? uint32 | |||
| +--ro authoritative? bits | +--ro authoritative? bits | |||
| +--ro static? boolean | ||||
| +--ro (locator-list)? | +--ro (locator-list)? | |||
| +--:(negative-mapping) | +--:(negative-mapping) | |||
| | +--ro map-reply-action? map-reply-action | | +--ro map-reply-action? map-reply-action | |||
| +--:(positive-mapping) | +--:(positive-mapping) | |||
| +--ro rlocs | +--ro rlocs | |||
| +--ro rloc* [id] | +--ro locator* [id] | |||
| +--ro id string | +--ro id string | |||
| +--ro (address-type)? | +--ro locator-address | |||
| | +--:(interface-name) | | +--ro address-type lisp-address-family-ref | |||
| | | +--ro interface? if:interface-state-ref | | +--ro virtual-network-id? instance-id-type | |||
| | +--:(address) | | +--ro (address)? | |||
| | +--ro locator-address | | +--:(no-address) | |||
| | +--ro afi lisp-address-family-ref | | | +--ro no-address? empty | |||
| | +--ro instance-id? instance-id-type | | +--:(ipv4) | |||
| | +--ro (address)? | | | +--ro ipv4? inet:ipv4-address | |||
| | +--:(ipv4) | | +--:(ipv4-prefix) | |||
| | | +--ro ipv4? inet:ipv4-address | | | +--ro ipv4-prefix? inet:ipv4-prefix | |||
| | +--:(ipv6) | | +--:(ipv6) | |||
| | | +--ro ipv6? inet:ipv6-address | | | +--ro ipv6? inet:ipv6-address | |||
| | +--:(mac) | | +--:(ipv6-prefix) | |||
| | | +--ro mac? yang:mac-address | | | +--ro ipv6-prefix? inet:ipv6-prefix | |||
| | +--:(distinguished-name) | | +--:(mac) | |||
| | | +--ro distinguished-name? distinguished-name | | | +--ro mac? yang:mac-address | |||
| | +--:(lcaf) | | +--:(distinguished-name) | |||
| | +--ro lcaf | | | +--ro distinguished-name? distinguished-name-type | |||
| | +--ro lcaf-type lcaf-ref | | +--:(as-number) | |||
| | +--ro (address)? | | | +--ro as-number? inet:as-number | |||
| | +--:(null-address) | | +--:(null-address) | |||
| | | +--ro null-address | | | +--ro null-address | |||
| | | +--ro address? empty | | | +--ro address? empty | |||
| | +--:(afi-list) | | +--:(afi-list) | |||
| | | +--ro afi-list | | | +--ro afi-list | |||
| | | +--ro address-list* simple-address | | | +--ro address-list* simple-address | |||
| | +--:(instance-id) | | +--:(instance-id) | |||
| | | +--ro instance-id | | | +--ro instance-id | |||
| | | +--ro instance-id? instance-id-type | | | +--ro iid? instance-id-type | |||
| | | +--ro mask-length? uint8 | | | +--ro mask-length? uint8 | |||
| | | +--ro address? simple-address | | | +--ro address? simple-address | |||
| | +--:(as-number) | | +--:(as-number-lcaf) | |||
| | | +--ro as-number | | | +--ro as-number-lcaf | |||
| | | +--ro as? inet:as-number | | | +--ro as? inet:as-number | |||
| | | +--ro address? simple-address | | | +--ro address? simple-address | |||
| | +--:(application-data) | | +--:(application-data) | |||
| | | +--ro application-data | | | +--ro application-data | |||
| | | +--ro address? simple-address | | | +--ro address? simple-address | |||
| | | +--ro protocol? uint8 | | | +--ro protocol? uint8 | |||
| | | +--ro ip-tos? int32 | | | +--ro ip-tos? int32 | |||
| | | +--ro local-port-low? inet:port-number | | | +--ro local-port-low? inet:port-number | |||
| | | +--ro local-port-high? inet:port-number | | | +--ro local-port-high? inet:port-number | |||
| | | +--ro remote-port-low? inet:port-number | | | +--ro remote-port-low? inet:port-number | |||
| | | +--ro remote-port-high? inet:port-number | | | +--ro remote-port-high? inet:port-number | |||
| | +--:(geo-coordinates) | | +--:(geo-coordinates) | |||
| | | +--ro geo-coordinates | | | +--ro geo-coordinates | |||
| | | +--ro latitude? bits | | | +--ro latitude? bits | |||
| | | +--ro latitude-degrees? uint8 | | | +--ro latitude-degrees? uint8 | |||
| | | +--ro latitude-minutes? uint8 | | | +--ro latitude-minutes? uint8 | |||
| | | +--ro latitude-seconds? uint8 | | | +--ro latitude-seconds? uint8 | |||
| | | +--ro longitude? bits | | | +--ro longitude? bits | |||
| | | +--ro longitude-degrees? uint16 | | | +--ro longitude-degrees? uint16 | |||
| | | +--ro longitude-minutes? uint8 | | | +--ro longitude-minutes? uint8 | |||
| | | +--ro longitude-seconds? uint8 | | | +--ro longitude-seconds? uint8 | |||
| | | +--ro altitude? int32 | | | +--ro altitude? int32 | |||
| | | +--ro address? simple-address | | | +--ro address? simple-address | |||
| | +--:(nat-traversal) | | +--:(nat-traversal) | |||
| | | +--ro nat-traversal | | | +--ro nat-traversal | |||
| | | +--ro ms-udp-port? uint16 | | | +--ro ms-udp-port? uint16 | |||
| | | +--ro etr-udp-port? uint16 | | | +--ro etr-udp-port? uint16 | |||
| | | +--ro global-etr-rloc? simple-address | | | +--ro global-etr-rloc? simple-address | |||
| | | +--ro ms-rloc? simple-address | | | +--ro ms-rloc? simple-address | |||
| | | +--ro private-etr-rloc? simple-address | | | +--ro private-etr-rloc? simple-address | |||
| | | +--ro rtr-rlocs* simple-address | | | +--ro rtr-rlocs* simple-address | |||
| | +--:(explicit-locator-path) | | +--:(explicit-locator-path) | |||
| | | +--ro explicit-locator-path | | | +--ro explicit-locator-path | |||
| | | +--ro hop* [address] | | | +--ro hop* [hop-id] | |||
| | | +--ro address simple-address | | | +--ro hop-id string | |||
| | | +--ro lrs-bits? bits | | | +--ro address? simple-address | |||
| | +--:(sourc-dest-key) | | | +--ro lrs-bits? bits | |||
| | +--ro sourc-dest-key | | +--:(source-dest-key) | |||
| | +--ro source? inet:ip-prefix | | | +--ro source-dest-key | |||
| | +--ro dest? inet:ip-prefix | | | +--ro source? simple-address | |||
| | | +--ro dest? simple-address | ||||
| | +--:(key-value-address) | ||||
| | | +--ro key-value-address | ||||
| | | +--ro key? simple-address | ||||
| | | +--ro value? simple-address | ||||
| | +--:(service-path) | ||||
| | +--ro service-path | ||||
| | +--ro service-path-id? service-path-id-type | ||||
| | +--ro service-index? uint8 | ||||
| +--ro priority? uint8 | +--ro priority? uint8 | |||
| +--ro weight? uint8 | +--ro weight? uint8 | |||
| +--ro multicast-priority? uint8 | +--ro multicast-priority? uint8 | |||
| +--ro multicast-weight? uint8 | +--ro multicast-weight? uint8 | |||
| 5.2. Module Definition | 5.2. Module Definition | |||
| <CODE BEGINS> file "ietf-lisp-mapserver@2015-07-02.yang" | <CODE BEGINS> file "ietf-lisp-mapserver@2016-06-30.yang" | |||
| module ietf-lisp-map-server { | module ietf-lisp-mapserver { | |||
| namespace "urn:ietf:params:xml:ns:yang:lisp-ms"; | namespace "urn:ietf:params:xml:ns:yang:ietf-lisp-mapserver"; | |||
| prefix lisp-ms; | prefix lisp-ms; | |||
| import ietf-lisp { | ||||
| prefix lisp; | ||||
| } | ||||
| import ietf-lisp-address-types { | ||||
| prefix lcaf; | ||||
| } | ||||
| import ietf-inet-types { | ||||
| prefix inet; | ||||
| } | ||||
| organization | ||||
| "IETF LISP (Locator/ID Separation Protocol) Working Group"; | ||||
| contact | ||||
| "lisp@ietf.org"; | ||||
| description | ||||
| "This YANG module defines the generic configuration | ||||
| data for a LISP Map-Server. The module can be extended by | ||||
| vendors to define vendor-specific configuration parameters | ||||
| and policies. | ||||
| Copyright (c) 2015 IETF Trust and the persons identified as | ||||
| authors of the code. All rights reserved. | ||||
| Redistribution and use in source and binary forms, with or | ||||
| without modification, is permitted pursuant to, and subject | ||||
| to the license terms contained in, the Simplified BSD License | ||||
| set forth in Section 4.c of the IETF Trust's Legal Provisions | ||||
| Relating to IETF Documents | ||||
| (http://trustee.ietf.org/license-info). | ||||
| This version of this YANG module is part of RFC 6338; see | ||||
| the RFC itself for full legal notices. | ||||
| "; | ||||
| revision 2015-07-02 { | ||||
| description | ||||
| "Initial revision."; | ||||
| reference | ||||
| "https://tools.ietf.org/html/rfc6833"; | ||||
| } | ||||
| identity ms { | ||||
| base lisp:lisp-device; | ||||
| description | ||||
| "LISP Map-Server."; | ||||
| } | ||||
| augment "/lisp:lisp/lisp:devices/lisp:device" { | ||||
| when "lisp:type = 'lisp-ms:ms'" { | ||||
| description | ||||
| "Augment is valid when LISP device type is Map-Server."; | ||||
| } | ||||
| description | ||||
| "This augments LISP devices list with Map-Server specific | ||||
| parameters."; | ||||
| container map-server-cfg { | ||||
| presence "LISP Map-Server operation enabled"; | ||||
| description | ||||
| "Map-Server configuration parameters."; | ||||
| container sites { | ||||
| description | ||||
| "Sites for which the Map-Server accepts registrations."; | ||||
| list site { | ||||
| key "site-id"; | ||||
| description | ||||
| "List of sites for which the Map-Server acceptes | ||||
| registrations."; | ||||
| leaf site-id { | ||||
| type uint64; | ||||
| description | ||||
| "Site identifier."; | ||||
| } | ||||
| // This model can be augmented with below for per site auth-key | ||||
| // leaf auth-key { | ||||
| // description "clear text authentication key"; | ||||
| // type string; | ||||
| // } | ||||
| container devices { | ||||
| description | ||||
| "Site devices registered with the Map-Server."; | ||||
| list device { | ||||
| key "device-id"; | ||||
| description | ||||
| "List of site devices registered with the | ||||
| Map-Server."; | ||||
| leaf device-id { | ||||
| type uint64; | ||||
| description | ||||
| "Device identifier."; | ||||
| } | ||||
| container auth-key { | ||||
| description | ||||
| "Device authentication key."; | ||||
| leaf auth-key-value { | ||||
| type string; | ||||
| description | ||||
| "Clear text authentication key"; | ||||
| } | ||||
| leaf auth-key-type { | ||||
| type lisp:auth-key-type; | ||||
| description | ||||
| "Authentication key type."; | ||||
| } | ||||
| } | ||||
| container eids { | ||||
| description | ||||
| "EIDs registered by device."; | ||||
| list eid { | ||||
| key "id"; | ||||
| description | ||||
| "List of EIDs registered by device."; | ||||
| leaf id { | ||||
| type lisp:eid-id; | ||||
| description | ||||
| "Id of the EID registered."; | ||||
| } | ||||
| container eid-address { | ||||
| uses lcaf:lisp-address; | ||||
| description | ||||
| "EID in generic LISP address format registered | ||||
| with the Map-Server."; | ||||
| } | ||||
| leaf more-specifics-accepted { | ||||
| type boolean; | ||||
| description | ||||
| "Flag indicating if more specific prefixes | ||||
| can be registered."; | ||||
| } | ||||
| leaf mapping-expiration-timeout { | ||||
| type int16; | ||||
| units "seconds"; | ||||
| default "180"; //3 times the mapregister int | ||||
| description | ||||
| "Time before mapping is expired if no new | ||||
| registrations are received."; | ||||
| } | ||||
| // This model can be augmented to have below for per-eid auth-key | ||||
| // leaf auth-key { | ||||
| // description "clear text authentication key"; | ||||
| // type string; | ||||
| // } | ||||
| } | ||||
| } | ||||
| } | ||||
| } | ||||
| } | ||||
| } | ||||
| container static-mappings { | ||||
| uses lisp:mappings; | ||||
| description | ||||
| "Datastore of statically registred mappings."; | ||||
| } | ||||
| choice mapping-system { | ||||
| mandatory true; | ||||
| description | ||||
| "Interface to Mapping System."; | ||||
| container ddt-mapping-system { | ||||
| presence "DDT Mapping System in use"; | ||||
| description | ||||
| "DDT Mapping System interface."; | ||||
| leaf-list ddt-root { | ||||
| type inet:ip-address; | ||||
| description | ||||
| "List of DDT root address."; | ||||
| } | ||||
| container authoritative-eids { | ||||
| description | ||||
| "Authoritative EIDs"; | ||||
| list authoritative-eid { | ||||
| key "id"; | ||||
| description | ||||
| "List of authoritative EIDs."; | ||||
| leaf id { | ||||
| type lisp:eid-id; | ||||
| description | ||||
| "EID id."; | ||||
| } | ||||
| container eid-address { | ||||
| uses lcaf:lisp-address; | ||||
| description | ||||
| "EID in generic LISP address format."; | ||||
| } | ||||
| } | ||||
| } | ||||
| } | ||||
| container alt-mapping-system { | ||||
| presence "ALT Mapping System in use"; | ||||
| description | ||||
| "ALT Mapping System interface."; | ||||
| // TBD | ||||
| } | ||||
| } | ||||
| } | ||||
| } | ||||
| augment "/lisp:lisp-state/lisp:devices/lisp:device" { | ||||
| when "lisp:type = 'lisp-ms:ms'" { | ||||
| description | ||||
| "Augment is valid when LISP device type is Map-Server."; | ||||
| } | ||||
| description | ||||
| "This augments LISP devices list state with Map-Server | ||||
| specific parameters."; | ||||
| container ms-state { | ||||
| config false; | ||||
| description | ||||
| "Map-Server state."; | ||||
| container registered-mappings { | ||||
| uses lisp:mappings; | ||||
| description | ||||
| "Datastore of registred mappings."; | ||||
| } | ||||
| } | ||||
| } | ||||
| } | ||||
| <CODE ENDS> | ||||
| 6. LISP Map Resolver Module | ||||
| This module captures the configuration data model of a LISP Map | ||||
| Resolver [RFC6833]. The model also captures some operational data | ||||
| elements. | ||||
| 6.1. Module Structure | ||||
| module: ietf-lisp-mapresolver | ||||
| augment /lisp:lisp/lisp:devices/lisp:device: | ||||
| +--rw map-resolver-cfg! | ||||
| +--rw (mapping-system) | ||||
| +--:(ddt-mapping-system) | ||||
| | +--rw ddt-mapping-system! | ||||
| | +--rw ddt-root* inet:ip-address | ||||
| +--:(alt-mapping-system) | ||||
| +--rw alt-mapping-system! | ||||
| 6.2. Module Definition | ||||
| <CODE BEGINS> file "ietf-lisp-mapresolver@2015-07-02.yang" | ||||
| module ietf-lisp-map-resolver { | ||||
| namespace "urn:ietf:params:xml:ns:yang:lisp-mr"; | ||||
| prefix lisp-mr; | ||||
| import ietf-lisp { | import ietf-lisp { | |||
| prefix lisp; | prefix lisp; | |||
| } | } | |||
| import ietf-inet-types { | import ietf-lisp-address-types { | |||
| prefix inet; | prefix lcaf; | |||
| } | } | |||
| organization | organization | |||
| "IETF LISP (Locator/ID Separation Protocol) Working Group"; | "IETF LISP (Locator/ID Separation Protocol) Working Group"; | |||
| contact | contact | |||
| "lisp@ietf.org"; | "lisp@ietf.org"; | |||
| description | description | |||
| "This YANG module defines the generic configuration | "This YANG module defines the generic configuration | |||
| data for a LISP Map-Resolver. The module can be extended by | data for a LISP Map-Server. The module can be extended by | |||
| vendors to define vendor-specific configuration parameters | vendors to define vendor-specific configuration parameters | |||
| and policies. | and policies. | |||
| Copyright (c) 2015 IETF Trust and the persons identified as | Copyright (c) 2015 IETF Trust and the persons identified as | |||
| authors of the code. All rights reserved. | authors of the code. All rights reserved. | |||
| Redistribution and use in source and binary forms, with or | Redistribution and use in source and binary forms, with or | |||
| without modification, is permitted pursuant to, and subject | without modification, is permitted pursuant to, and subject | |||
| to the license terms contained in, the Simplified BSD License | to the license terms contained in, the Simplified BSD License | |||
| set forth in Section 4.c of the IETF Trust's Legal Provisions | set forth in Section 4.c of the IETF Trust's Legal Provisions | |||
| Relating to IETF Documents | Relating to IETF Documents | |||
| (http://trustee.ietf.org/license-info). | (http://trustee.ietf.org/license-info). | |||
| This version of this YANG module is part of RFC 6338; see | This version of this YANG module is part of RFC 6338; see | |||
| the RFC itself for full legal notices. | the RFC itself for full legal notices. | |||
| "; | "; | |||
| revision 2015-07-02 { | ||||
| revision 2016-06-30 { | ||||
| description | description | |||
| "Initial revision."; | "Initial revision."; | |||
| reference | reference | |||
| "https://tools.ietf.org/html/rfc6833"; | "https://tools.ietf.org/html/rfc6833"; | |||
| } | } | |||
| identity mr { | ||||
| base lisp:lisp-device; | identity ms { | |||
| description | base lisp:lisp-role; | |||
| "LISP Map-Resolver."; | description | |||
| "LISP Map-Server."; | ||||
| } | } | |||
| augment "/lisp:lisp/lisp:devices/lisp:device" { | ||||
| when "lisp:type = 'lisp-mr:mr'" { | augment "/lisp:lisp/lisp:lisp-router-instances" | |||
| + "/lisp:lisp-router-instance/lisp:lisp-role" { | ||||
| when "lisp:lisp-role-type = 'lisp-ms:ms'" { | ||||
| description | description | |||
| "Augment is valid when LISP device type is Map-Resolver."; | "Augment is valid when LISP device type is Map-Server."; | |||
| } | } | |||
| description | description | |||
| "This augments LISP devices list with Map-Resolver specific | "This augments LISP devices list with Map-Server specific | |||
| parameters."; | parameters."; | |||
| container map-resolver-cfg { | container map-server-cfg { | |||
| presence "LISP Map-Resolver operation enabled"; | ||||
| description | description | |||
| "Map-Resolver configuration parameters."; | "Map-Server configuration parameters."; | |||
| choice mapping-system { | container sites { | |||
| mandatory true; | ||||
| description | description | |||
| "Mapping system interface."; | "Sites for which the Map-Server accepts registrations."; | |||
| container ddt-mapping-system { | list site { | |||
| presence "DDT Mapping System in use"; | key "site-id"; | |||
| description | description | |||
| "DDT mapping system interface."; | "List of sites for which the Map-Server acceptes | |||
| leaf-list ddt-root { | registrations."; | |||
| type inet:ip-address; | leaf site-id { | |||
| type uint64; | ||||
| description | description | |||
| "List of DDT root addresses."; | "Site identifier."; | |||
| } | ||||
| container auth-key { | ||||
| description | ||||
| "Site authentication key."; | ||||
| leaf auth-key-value { | ||||
| type string; | ||||
| description | ||||
| "Clear text authentication key"; | ||||
| } | ||||
| leaf auth-key-type { | ||||
| type lisp:auth-key-type; | ||||
| description | ||||
| "Authentication key type."; | ||||
| } | ||||
| } | ||||
| container eids { | ||||
| description | ||||
| "EIDs registered by device."; | ||||
| list eid { | ||||
| key "id"; | ||||
| description | ||||
| "List of EIDs registered by device."; | ||||
| leaf id { | ||||
| type lisp:eid-id; | ||||
| description | ||||
| "Id of the EID registered."; | ||||
| } | ||||
| container eid-address { | ||||
| uses lcaf:lisp-address; | ||||
| description | ||||
| "EID in generic LISP address format registered | ||||
| with the Map-Server."; | ||||
| } | ||||
| leaf more-specifics-accepted { | ||||
| type boolean; | ||||
| default "false"; | ||||
| description | ||||
| "Flag indicating if more specific prefixes | ||||
| can be registered."; | ||||
| } | ||||
| leaf mapping-expiration-timeout { | ||||
| type int16; | ||||
| units "seconds"; | ||||
| default "180"; //3 times the mapregister int | ||||
| description | ||||
| "Time before mapping is expired if no new | ||||
| registrations are received."; | ||||
| } | ||||
| // This model can be augmented to have below for per-eid auth-key | ||||
| // leaf auth-key { | ||||
| // description "clear text authentication key"; | ||||
| // type string; | ||||
| // } | ||||
| } | ||||
| } | } | |||
| } | } | |||
| container alt-mapping-system{ | } | |||
| presence "ALT Mapping System in use"; | leaf mapping-system-type { | |||
| description | type lisp:mapping-system-ref; | |||
| "ALT mapping system interface."; | description | |||
| // TBD | "A reference to the mapping system"; | |||
| } | } | |||
| } | ||||
| } | ||||
| augment "/lisp:lisp-state/lisp:lisp-router-instances" | ||||
| + "/lisp:lisp-router-instance/lisp:lisp-role" { | ||||
| when "lisp:lisp-role-type = 'lisp-ms:ms'" { | ||||
| description | ||||
| "Augment is valid when LISP device type is Map-Server."; | ||||
| } | ||||
| description | ||||
| "This augments LISP devices list state with Map-Server | ||||
| specific parameters."; | ||||
| container ms-state { | ||||
| config false; | ||||
| description | ||||
| "Map-Server state."; | ||||
| container registered-mappings { | ||||
| uses lisp:mappings; | ||||
| description | ||||
| "Datastore of registred mappings."; | ||||
| } | } | |||
| } | } | |||
| } | } | |||
| } | } | |||
| <CODE ENDS> | <CODE ENDS> | |||
| 6. LISP Map Resolver Module | ||||
| This module captures the configuration data model of a LISP Map | ||||
| Resolver [RFC6833]. The model also captures some operational data | ||||
| elements. | ||||
| 6.1. Module Structure | ||||
| module: ietf-lisp-mapresolver | ||||
| augment /lisp:lisp/lisp:lisp-router-instances/lisp:lisp-router-instance/lisp:lisp-role: | ||||
| +--rw map-resolver-cfg | ||||
| +--rw mapping-system-type? lisp:mapping-system-ref | ||||
| +--rw ms-address? inet:ip-address | ||||
| 6.2. Module Definition | ||||
| <CODE BEGINS> file "ietf-lisp-mapresolver@2016-06-30.yang" | ||||
| module ietf-lisp-mapresolver { | ||||
| namespace "urn:ietf:params:xml:ns:yang:ietf-lisp-mapresolver"; | ||||
| prefix lisp-mr; | ||||
| import ietf-lisp { | ||||
| prefix lisp; | ||||
| } | ||||
| import ietf-inet-types { | ||||
| prefix inet; | ||||
| } | ||||
| organization | ||||
| "IETF LISP (Locator/ID Separation Protocol) Working Group"; | ||||
| contact | ||||
| "lisp@ietf.org"; | ||||
| description | ||||
| "This YANG module defines the generic configuration | ||||
| data for a LISP Map-Resolver. The module can be extended by | ||||
| vendors to define vendor-specific configuration parameters | ||||
| and policies. | ||||
| Copyright (c) 2015 IETF Trust and the persons identified as | ||||
| authors of the code. All rights reserved. | ||||
| Redistribution and use in source and binary forms, with or | ||||
| without modification, is permitted pursuant to, and subject | ||||
| to the license terms contained in, the Simplified BSD License | ||||
| set forth in Section 4.c of the IETF Trust's Legal Provisions | ||||
| Relating to IETF Documents | ||||
| (http://trustee.ietf.org/license-info). | ||||
| This version of this YANG module is part of RFC 6338; see | ||||
| the RFC itself for full legal notices. | ||||
| "; | ||||
| revision 2016-06-30 { | ||||
| description | ||||
| "Initial revision."; | ||||
| reference | ||||
| "https://tools.ietf.org/html/rfc6833"; | ||||
| } | ||||
| identity mr { | ||||
| base lisp:lisp-role; | ||||
| description | ||||
| "LISP Map-Resolver."; | ||||
| } | ||||
| augment "/lisp:lisp/lisp:lisp-router-instances" | ||||
| +"/lisp:lisp-router-instance/lisp:lisp-role" { | ||||
| when "lisp:lisp-role-type = 'lisp-mr:mr'" { | ||||
| description | ||||
| "Augment is valid when LISP device type is Map-Resolver."; | ||||
| } | ||||
| description | ||||
| "This augments LISP devices list with Map-Resolver specific | ||||
| parameters."; | ||||
| container map-resolver-cfg { | ||||
| description | ||||
| "Map-Resolver configuration parameters."; | ||||
| leaf mapping-system-type { | ||||
| type lisp:mapping-system-ref; | ||||
| description | ||||
| "A reference to the mapping system"; | ||||
| } | ||||
| leaf ms-address { | ||||
| when "../mapping-system-type = 'lisp-mr:single-node-mapping-system'"; | ||||
| type inet:ip-address; | ||||
| description | ||||
| "address to reach the Map Server when " | ||||
| + "lisp-mr:single-node-mapping-system is being used."; | ||||
| } | ||||
| }//map-resolver-cfg | ||||
| }//aug | ||||
| // TBD Operational model/container | ||||
| // container cached-mappings { | ||||
| // config false; | ||||
| // uses mappings; | ||||
| // } | ||||
| } | ||||
| <CODE ENDS> | ||||
| 7. LISP Proxy ITR Module | 7. LISP Proxy ITR Module | |||
| This module captures the configuration data model of a LISP Proxy ITR | This module captures the configuration data model of a LISP Proxy ITR | |||
| [RFC6832]. The model may also capture some operational data | [RFC6832]. The model may also capture some operational data | |||
| elements. | elements. | |||
| 7.1. Module Structure | 7.1. Module Structure | |||
| module: ietf-lisp-pitr | module: ietf-lisp-pitr | |||
| augment /lisp:lisp/lisp:devices/lisp:device: | augment /lisp:lisp/lisp:lisp-router-instances/lisp:lisp-router-instance/lisp:lisp-role: | |||
| +--rw proxy-itr-cfg! | +--rw proxy-itr-cfg! | |||
| +--rw servicing-eids | +--rw servicing-eids | |||
| | +--rw eid* [id] | | +--rw servicing-eid* [id] | |||
| | +--rw id lisp:eid-id | | +--rw id lisp:eid-id | |||
| | +--rw eid-address | | +--rw eid-address | |||
| | +--rw afi lisp-address-family-ref | | +--rw address-type lisp-address-family-ref | |||
| | +--rw instance-id? instance-id-type | | +--rw virtual-network-id? instance-id-type | |||
| | +--rw (address)? | | +--rw (address)? | |||
| | +--:(no-address) | ||||
| | | +--rw no-address? empty | ||||
| | +--:(ipv4) | | +--:(ipv4) | |||
| | | +--rw ipv4? inet:ipv4-address | | | +--rw ipv4? inet:ipv4-address | |||
| | +--:(ipv4-prefix) | ||||
| | | +--rw ipv4-prefix? inet:ipv4-prefix | ||||
| | +--:(ipv6) | | +--:(ipv6) | |||
| | | +--rw ipv6? inet:ipv6-address | | | +--rw ipv6? inet:ipv6-address | |||
| | +--:(ipv6-prefix) | ||||
| | | +--rw ipv6-prefix? inet:ipv6-prefix | ||||
| | +--:(mac) | | +--:(mac) | |||
| | | +--rw mac? yang:mac-address | | | +--rw mac? yang:mac-address | |||
| | +--:(distinguished-name) | | +--:(distinguished-name) | |||
| | | +--rw distinguished-name? distinguished-name | | | +--rw distinguished-name? distinguished-name-type | |||
| | +--:(lcaf) | | +--:(as-number) | |||
| | +--rw lcaf | | | +--rw as-number? inet:as-number | |||
| | +--rw lcaf-type lcaf-ref | | +--:(null-address) | |||
| | +--rw (address)? | | | +--rw null-address | |||
| | +--:(null-address) | | | +--rw address? empty | |||
| | | +--rw null-address | | +--:(afi-list) | |||
| | | +--rw address? empty | | | +--rw afi-list | |||
| | +--:(afi-list) | | | +--rw address-list* simple-address | |||
| | | +--rw afi-list | | +--:(instance-id) | |||
| | | +--rw address-list* simple-address | | | +--rw instance-id | |||
| | +--:(instance-id) | | | +--rw iid? instance-id-type | |||
| | | +--rw instance-id | | | +--rw mask-length? uint8 | |||
| | | +--rw instance-id? instance-id-type | | | +--rw address? simple-address | |||
| | | +--rw mask-length? uint8 | | +--:(as-number-lcaf) | |||
| | | +--rw address? simple-address | | | +--rw as-number-lcaf | |||
| | +--:(as-number) | | | +--rw as? inet:as-number | |||
| | | +--rw as-number | | | +--rw address? simple-address | |||
| | | +--rw as? inet:as-number | | +--:(application-data) | |||
| | | +--rw address? simple-address | | | +--rw application-data | |||
| | +--:(application-data) | | | +--rw address? simple-address | |||
| | | +--rw application-data | | | +--rw protocol? uint8 | |||
| | | +--rw address? simple-address | | | +--rw ip-tos? int32 | |||
| | | +--rw protocol? uint8 | | | +--rw local-port-low? inet:port-number | |||
| | | +--rw ip-tos? int32 | | | +--rw local-port-high? inet:port-number | |||
| | | +--rw local-port-low? inet:port-number | | | +--rw remote-port-low? inet:port-number | |||
| | | +--rw local-port-high? inet:port-number | | | +--rw remote-port-high? inet:port-number | |||
| | | +--rw remote-port-low? inet:port-number | | +--:(geo-coordinates) | |||
| | | +--rw remote-port-high? inet:port-number | | | +--rw geo-coordinates | |||
| | +--:(geo-coordinates) | | | +--rw latitude? bits | |||
| | | +--rw geo-coordinates | | | +--rw latitude-degrees? uint8 | |||
| | | +--rw latitude? bits | | | +--rw latitude-minutes? uint8 | |||
| | | +--rw latitude-degrees? uint8 | | | +--rw latitude-seconds? uint8 | |||
| | | +--rw latitude-minutes? uint8 | | | +--rw longitude? bits | |||
| | | +--rw latitude-seconds? uint8 | | | +--rw longitude-degrees? uint16 | |||
| | | +--rw longitude? bits | | | +--rw longitude-minutes? uint8 | |||
| | | +--rw longitude-degrees? uint16 | | | +--rw longitude-seconds? uint8 | |||
| | | +--rw longitude-minutes? uint8 | | | +--rw altitude? int32 | |||
| | | +--rw longitude-seconds? uint8 | | | +--rw address? simple-address | |||
| | | +--rw altitude? int32 | | +--:(nat-traversal) | |||
| | | +--rw address? simple-address | | | +--rw nat-traversal | |||
| | +--:(nat-traversal) | | | +--rw ms-udp-port? uint16 | |||
| | | +--rw nat-traversal | | | +--rw etr-udp-port? uint16 | |||
| | | +--rw ms-udp-port? uint16 | | | +--rw global-etr-rloc? simple-address | |||
| | | +--rw etr-udp-port? uint16 | | | +--rw ms-rloc? simple-address | |||
| | | +--rw global-etr-rloc? simple-address | | | +--rw private-etr-rloc? simple-address | |||
| | | +--rw ms-rloc? simple-address | | | +--rw rtr-rlocs* simple-address | |||
| | | +--rw private-etr-rloc? simple-address | | +--:(explicit-locator-path) | |||
| | | +--rw rtr-rlocs* simple-address | | | +--rw explicit-locator-path | |||
| | +--:(explicit-locator-path) | | | +--rw hop* [hop-id] | |||
| | | +--rw explicit-locator-path | | | +--rw hop-id string | |||
| | | +--rw hop* [address] | | | +--rw address? simple-address | |||
| | | +--rw address simple-address | | | +--rw lrs-bits? bits | |||
| | | +--rw lrs-bits? bits | | +--:(source-dest-key) | |||
| | +--:(sourc-dest-key) | | | +--rw source-dest-key | |||
| | +--rw sourc-dest-key | | | +--rw source? simple-address | |||
| | +--rw source? inet:ip-prefix | | | +--rw dest? simple-address | |||
| | +--rw dest? inet:ip-prefix | | +--:(key-value-address) | |||
| | | +--rw key-value-address | ||||
| | | +--rw key? simple-address | ||||
| | | +--rw value? simple-address | ||||
| | +--:(service-path) | ||||
| | +--rw service-path | ||||
| | +--rw service-path-id? service-path-id-type | ||||
| | +--rw service-index? uint8 | ||||
| +--rw map-resolvers | +--rw map-resolvers | |||
| | +--rw map-resolver* [id] | | +--rw map-resolver* [id] | |||
| | +--rw id lisp:eid-id | | +--rw id lisp:eid-id | |||
| | +--rw eid | | +--rw eid | |||
| | | +--rw afi lisp-address-family-ref | | | +--rw address-type lisp-address-family-ref | |||
| | | +--rw instance-id? instance-id-type | | | +--rw virtual-network-id? instance-id-type | |||
| | | +--rw (address)? | | | +--rw (address)? | |||
| | | +--:(no-address) | ||||
| | | | +--rw no-address? empty | ||||
| | | +--:(ipv4) | | | +--:(ipv4) | |||
| | | | +--rw ipv4? inet:ipv4-address | | | | +--rw ipv4? inet:ipv4-address | |||
| | | +--:(ipv4-prefix) | ||||
| | | | +--rw ipv4-prefix? inet:ipv4-prefix | ||||
| | | +--:(ipv6) | | | +--:(ipv6) | |||
| | | | +--rw ipv6? inet:ipv6-address | | | | +--rw ipv6? inet:ipv6-address | |||
| | | +--:(ipv6-prefix) | ||||
| | | | +--rw ipv6-prefix? inet:ipv6-prefix | ||||
| | | +--:(mac) | | | +--:(mac) | |||
| | | | +--rw mac? yang:mac-address | | | | +--rw mac? yang:mac-address | |||
| | | +--:(distinguished-name) | | | +--:(distinguished-name) | |||
| | | | +--rw distinguished-name? distinguished-name | | | | +--rw distinguished-name? distinguished-name-type | |||
| | | +--:(lcaf) | | | +--:(as-number) | |||
| | | +--rw lcaf | | | | +--rw as-number? inet:as-number | |||
| | | +--rw lcaf-type lcaf-ref | | | +--:(null-address) | |||
| | | +--rw (address)? | | | | +--rw null-address | |||
| | | +--:(null-address) | | | | +--rw address? empty | |||
| | | | +--rw null-address | | | +--:(afi-list) | |||
| | | | +--rw address? empty | | | | +--rw afi-list | |||
| | | +--:(afi-list) | | | | +--rw address-list* simple-address | |||
| | | | +--rw afi-list | | | +--:(instance-id) | |||
| | | | +--rw address-list* simple-address | | | | +--rw instance-id | |||
| | | +--:(instance-id) | | | | +--rw iid? instance-id-type | |||
| | | | +--rw instance-id | | | | +--rw mask-length? uint8 | |||
| | | | +--rw instance-id? instance-id-type | | | | +--rw address? simple-address | |||
| | | | +--rw mask-length? uint8 | | | +--:(as-number-lcaf) | |||
| | | | +--rw address? simple-address | | | | +--rw as-number-lcaf | |||
| | | +--:(as-number) | | | | +--rw as? inet:as-number | |||
| | | | +--rw as-number | | | | +--rw address? simple-address | |||
| | | | +--rw as? inet:as-number | | | +--:(application-data) | |||
| | | | +--rw address? simple-address | | | | +--rw application-data | |||
| | | +--:(application-data) | | | | +--rw address? simple-address | |||
| | | | +--rw application-data | | | | +--rw protocol? uint8 | |||
| | | | +--rw address? simple-address | | | | +--rw ip-tos? int32 | |||
| | | | +--rw protocol? uint8 | | | | +--rw local-port-low? inet:port-number | |||
| | | | +--rw ip-tos? int32 | | | | +--rw local-port-high? inet:port-number | |||
| | | | +--rw local-port-low? inet:port-number | | | | +--rw remote-port-low? inet:port-number | |||
| | | | +--rw local-port-high? inet:port-number | | | | +--rw remote-port-high? inet:port-number | |||
| | | | +--rw remote-port-low? inet:port-number | | | +--:(geo-coordinates) | |||
| | | | +--rw remote-port-high? inet:port-number | | | | +--rw geo-coordinates | |||
| | | +--:(geo-coordinates) | | | | +--rw latitude? bits | |||
| | | | +--rw geo-coordinates | | | | +--rw latitude-degrees? uint8 | |||
| | | | +--rw latitude? bits | | | | +--rw latitude-minutes? uint8 | |||
| | | | +--rw latitude-degrees? uint8 | | | | +--rw latitude-seconds? uint8 | |||
| | | | +--rw latitude-minutes? uint8 | | | | +--rw longitude? bits | |||
| | | | +--rw latitude-seconds? uint8 | | | | +--rw longitude-degrees? uint16 | |||
| | | | +--rw longitude? bits | | | | +--rw longitude-minutes? uint8 | |||
| | | | +--rw longitude-degrees? uint16 | | | | +--rw longitude-seconds? uint8 | |||
| | | | +--rw longitude-minutes? uint8 | | | | +--rw altitude? int32 | |||
| | | | +--rw longitude-seconds? uint8 | | | | +--rw address? simple-address | |||
| | | | +--rw altitude? int32 | | | +--:(nat-traversal) | |||
| | | | +--rw address? simple-address | | | | +--rw nat-traversal | |||
| | | +--:(nat-traversal) | | | | +--rw ms-udp-port? uint16 | |||
| | | | +--rw nat-traversal | | | | +--rw etr-udp-port? uint16 | |||
| | | | +--rw ms-udp-port? uint16 | | | | +--rw global-etr-rloc? simple-address | |||
| | | | +--rw etr-udp-port? uint16 | | | | +--rw ms-rloc? simple-address | |||
| | | | +--rw global-etr-rloc? simple-address | | | | +--rw private-etr-rloc? simple-address | |||
| | | | +--rw ms-rloc? simple-address | | | | +--rw rtr-rlocs* simple-address | |||
| | | | +--rw private-etr-rloc? simple-address | | | +--:(explicit-locator-path) | |||
| | | | +--rw rtr-rlocs* simple-address | | | | +--rw explicit-locator-path | |||
| | | +--:(explicit-locator-path) | | | | +--rw hop* [hop-id] | |||
| | | | +--rw explicit-locator-path | | | | +--rw hop-id string | |||
| | | | +--rw hop* [address] | | | | +--rw address? simple-address | |||
| | | | +--rw address simple-address | | | | +--rw lrs-bits? bits | |||
| | | | +--rw lrs-bits? bits | | | +--:(source-dest-key) | |||
| | | +--:(sourc-dest-key) | | | | +--rw source-dest-key | |||
| | | +--rw sourc-dest-key | | | | +--rw source? simple-address | |||
| | | +--rw source? inet:ip-prefix | | | | +--rw dest? simple-address | |||
| | | +--rw dest? inet:ip-prefix | | | +--:(key-value-address) | |||
| | | | +--rw key-value-address | ||||
| | | | +--rw key? simple-address | ||||
| | | | +--rw value? simple-address | ||||
| | | +--:(service-path) | ||||
| | | +--rw service-path | ||||
| | | +--rw service-path-id? service-path-id-type | ||||
| | | +--rw service-index? uint8 | ||||
| | +--rw address* inet:ip-address | | +--rw address* inet:ip-address | |||
| +--rw static-mappings | +--rw itr-rlocs? -> /lisp:lisp/locator-sets/locator-set/locator-set-name | |||
| +--rw map-cache | ||||
| +--rw mapping* [id] | +--rw mapping* [id] | |||
| +--rw id eid-id | +--rw id eid-id | |||
| +--rw eid | +--rw eid | |||
| | +--rw afi lisp-address-family-ref | | +--rw address-type lisp-address-family-ref | |||
| | +--rw instance-id? instance-id-type | | +--rw virtual-network-id? instance-id-type | |||
| | +--rw (address)? | | +--rw (address)? | |||
| | +--:(no-address) | ||||
| | | +--rw no-address? empty | ||||
| | +--:(ipv4) | | +--:(ipv4) | |||
| | | +--rw ipv4? inet:ipv4-address | | | +--rw ipv4? inet:ipv4-address | |||
| | +--:(ipv4-prefix) | ||||
| | | +--rw ipv4-prefix? inet:ipv4-prefix | ||||
| | +--:(ipv6) | | +--:(ipv6) | |||
| | | +--rw ipv6? inet:ipv6-address | | | +--rw ipv6? inet:ipv6-address | |||
| | +--:(ipv6-prefix) | ||||
| | | +--rw ipv6-prefix? inet:ipv6-prefix | ||||
| | +--:(mac) | | +--:(mac) | |||
| | | +--rw mac? yang:mac-address | | | +--rw mac? yang:mac-address | |||
| | +--:(distinguished-name) | | +--:(distinguished-name) | |||
| | | +--rw distinguished-name? distinguished-name | | | +--rw distinguished-name? distinguished-name-type | |||
| | +--:(lcaf) | | +--:(as-number) | |||
| | +--rw lcaf | | | +--rw as-number? inet:as-number | |||
| | +--rw lcaf-type lcaf-ref | | +--:(null-address) | |||
| | +--rw (address)? | | | +--rw null-address | |||
| | +--:(null-address) | | | +--rw address? empty | |||
| | | +--rw null-address | | +--:(afi-list) | |||
| | | +--rw address? empty | | | +--rw afi-list | |||
| | +--:(afi-list) | | | +--rw address-list* simple-address | |||
| | | +--rw afi-list | | +--:(instance-id) | |||
| | | +--rw address-list* simple-address | | | +--rw instance-id | |||
| | +--:(instance-id) | | | +--rw iid? instance-id-type | |||
| | | +--rw instance-id | | | +--rw mask-length? uint8 | |||
| | | +--rw instance-id? instance-id-type | | | +--rw address? simple-address | |||
| | | +--rw mask-length? uint8 | | +--:(as-number-lcaf) | |||
| | | +--rw address? simple-address | | | +--rw as-number-lcaf | |||
| | +--:(as-number) | | | +--rw as? inet:as-number | |||
| | | +--rw as-number | | | +--rw address? simple-address | |||
| | | +--rw as? inet:as-number | | +--:(application-data) | |||
| | | +--rw address? simple-address | | | +--rw application-data | |||
| | +--:(application-data) | | | +--rw address? simple-address | |||
| | | +--rw application-data | | | +--rw protocol? uint8 | |||
| | | +--rw address? simple-address | | | +--rw ip-tos? int32 | |||
| | | +--rw protocol? uint8 | | | +--rw local-port-low? inet:port-number | |||
| | | +--rw ip-tos? int32 | | | +--rw local-port-high? inet:port-number | |||
| | | +--rw local-port-low? inet:port-number | | | +--rw remote-port-low? inet:port-number | |||
| | | +--rw local-port-high? inet:port-number | | | +--rw remote-port-high? inet:port-number | |||
| | | +--rw remote-port-low? inet:port-number | | +--:(geo-coordinates) | |||
| | | +--rw remote-port-high? inet:port-number | | | +--rw geo-coordinates | |||
| | +--:(geo-coordinates) | | | +--rw latitude? bits | |||
| | | +--rw geo-coordinates | | | +--rw latitude-degrees? uint8 | |||
| | | +--rw latitude? bits | | | +--rw latitude-minutes? uint8 | |||
| | | +--rw latitude-degrees? uint8 | | | +--rw latitude-seconds? uint8 | |||
| | | +--rw latitude-minutes? uint8 | | | +--rw longitude? bits | |||
| | | +--rw latitude-seconds? uint8 | | | +--rw longitude-degrees? uint16 | |||
| | | +--rw longitude? bits | | | +--rw longitude-minutes? uint8 | |||
| | | +--rw longitude-degrees? uint16 | | | +--rw longitude-seconds? uint8 | |||
| | | +--rw longitude-minutes? uint8 | | | +--rw altitude? int32 | |||
| | | +--rw longitude-seconds? uint8 | | | +--rw address? simple-address | |||
| | | +--rw altitude? int32 | | +--:(nat-traversal) | |||
| | | +--rw address? simple-address | | | +--rw nat-traversal | |||
| | +--:(nat-traversal) | | | +--rw ms-udp-port? uint16 | |||
| | | +--rw nat-traversal | | | +--rw etr-udp-port? uint16 | |||
| | | +--rw ms-udp-port? uint16 | | | +--rw global-etr-rloc? simple-address | |||
| | | +--rw etr-udp-port? uint16 | | | +--rw ms-rloc? simple-address | |||
| | | +--rw global-etr-rloc? simple-address | | | +--rw private-etr-rloc? simple-address | |||
| | | +--rw ms-rloc? simple-address | | | +--rw rtr-rlocs* simple-address | |||
| | | +--rw private-etr-rloc? simple-address | | +--:(explicit-locator-path) | |||
| | | +--rw rtr-rlocs* simple-address | | | +--rw explicit-locator-path | |||
| | +--:(explicit-locator-path) | | | +--rw hop* [hop-id] | |||
| | | +--rw explicit-locator-path | | | +--rw hop-id string | |||
| | | +--rw hop* [address] | | | +--rw address? simple-address | |||
| | | +--rw address simple-address | | | +--rw lrs-bits? bits | |||
| | | +--rw lrs-bits? bits | | +--:(source-dest-key) | |||
| | +--:(sourc-dest-key) | | | +--rw source-dest-key | |||
| | +--rw sourc-dest-key | | | +--rw source? simple-address | |||
| | +--rw source? inet:ip-prefix | | | +--rw dest? simple-address | |||
| | +--rw dest? inet:ip-prefix | | +--:(key-value-address) | |||
| | | +--rw key-value-address | ||||
| | | +--rw key? simple-address | ||||
| | | +--rw value? simple-address | ||||
| | +--:(service-path) | ||||
| | +--rw service-path | ||||
| | +--rw service-path-id? service-path-id-type | ||||
| | +--rw service-index? uint8 | ||||
| +--rw ttl? uint32 | +--rw ttl? uint32 | |||
| +--rw authoritative? bits | +--rw authoritative? bits | |||
| +--rw static? boolean | ||||
| +--rw (locator-list)? | +--rw (locator-list)? | |||
| +--:(negative-mapping) | +--:(negative-mapping) | |||
| | +--rw map-reply-action? map-reply-action | | +--rw map-reply-action? map-reply-action | |||
| +--:(positive-mapping) | +--:(positive-mapping) | |||
| +--rw rlocs | +--rw rlocs | |||
| +--rw rloc* [id] | +--rw locator* [id] | |||
| +--rw id string | +--rw id string | |||
| +--rw (address-type)? | +--rw locator-address | |||
| | +--:(interface-name) | | +--rw address-type lisp-address-family-ref | |||
| | | +--rw interface? if:interface-state-ref | | +--rw virtual-network-id? instance-id-type | |||
| | +--:(address) | | +--rw (address)? | |||
| | +--rw locator-address | | +--:(no-address) | |||
| | +--rw afi lisp-address-family-ref | | | +--rw no-address? empty | |||
| | +--rw instance-id? instance-id-type | | +--:(ipv4) | |||
| | +--rw (address)? | | | +--rw ipv4? inet:ipv4-address | |||
| | +--:(ipv4) | | +--:(ipv4-prefix) | |||
| | | +--rw ipv4? inet:ipv4-address | | | +--rw ipv4-prefix? inet:ipv4-prefix | |||
| | +--:(ipv6) | | +--:(ipv6) | |||
| | | +--rw ipv6? inet:ipv6-address | | | +--rw ipv6? inet:ipv6-address | |||
| | +--:(mac) | | +--:(ipv6-prefix) | |||
| | | +--rw mac? yang:mac-address | | | +--rw ipv6-prefix? inet:ipv6-prefix | |||
| | +--:(distinguished-name) | | +--:(mac) | |||
| | | +--rw distinguished-name? distinguished-name | | | +--rw mac? yang:mac-address | |||
| | +--:(lcaf) | | +--:(distinguished-name) | |||
| | +--rw lcaf | | | +--rw distinguished-name? distinguished-name-type | |||
| | +--rw lcaf-type lcaf-ref | | +--:(as-number) | |||
| | +--rw (address)? | | | +--rw as-number? inet:as-number | |||
| | +--:(null-address) | | +--:(null-address) | |||
| | | +--rw null-address | | | +--rw null-address | |||
| | | +--rw address? empty | | | +--rw address? empty | |||
| | +--:(afi-list) | | +--:(afi-list) | |||
| | | +--rw afi-list | | | +--rw afi-list | |||
| | | +--rw address-list* simple-address | | | +--rw address-list* simple-address | |||
| | +--:(instance-id) | | +--:(instance-id) | |||
| | | +--rw instance-id | | | +--rw instance-id | |||
| | | +--rw instance-id? instance-id-type | | | +--rw iid? instance-id-type | |||
| | | +--rw mask-length? uint8 | | | +--rw mask-length? uint8 | |||
| | | +--rw address? simple-address | | | +--rw address? simple-address | |||
| | +--:(as-number) | | +--:(as-number-lcaf) | |||
| | | +--rw as-number | | | +--rw as-number-lcaf | |||
| | | +--rw as? inet:as-number | | | +--rw as? inet:as-number | |||
| | | +--rw address? simple-address | | | +--rw address? simple-address | |||
| | +--:(application-data) | | +--:(application-data) | |||
| | | +--rw application-data | | | +--rw application-data | |||
| | | +--rw address? simple-address | | | +--rw address? simple-address | |||
| | | +--rw protocol? uint8 | | | +--rw protocol? uint8 | |||
| | | +--rw ip-tos? int32 | | | +--rw ip-tos? int32 | |||
| | | +--rw local-port-low? inet:port-number | | | +--rw local-port-low? inet:port-number | |||
| | | +--rw local-port-high? inet:port-number | | | +--rw local-port-high? inet:port-number | |||
| | | +--rw remote-port-low? inet:port-number | | | +--rw remote-port-low? inet:port-number | |||
| | | +--rw remote-port-high? inet:port-number | | | +--rw remote-port-high? inet:port-number | |||
| | +--:(geo-coordinates) | | +--:(geo-coordinates) | |||
| | | +--rw geo-coordinates | | | +--rw geo-coordinates | |||
| | | +--rw latitude? bits | | | +--rw latitude? bits | |||
| | | +--rw latitude-degrees? uint8 | | | +--rw latitude-degrees? uint8 | |||
| | | +--rw latitude-minutes? uint8 | | | +--rw latitude-minutes? uint8 | |||
| | | +--rw latitude-seconds? uint8 | | | +--rw latitude-seconds? uint8 | |||
| | | +--rw longitude? bits | | | +--rw longitude? bits | |||
| | | +--rw longitude-degrees? uint16 | | | +--rw longitude-degrees? uint16 | |||
| | | +--rw longitude-minutes? uint8 | | | +--rw longitude-minutes? uint8 | |||
| | | +--rw longitude-seconds? uint8 | | | +--rw longitude-seconds? uint8 | |||
| | | +--rw altitude? int32 | | | +--rw altitude? int32 | |||
| | | +--rw address? simple-address | | | +--rw address? simple-address | |||
| | +--:(nat-traversal) | | +--:(nat-traversal) | |||
| | | +--rw nat-traversal | | | +--rw nat-traversal | |||
| | | +--rw ms-udp-port? uint16 | | | +--rw ms-udp-port? uint16 | |||
| | | +--rw etr-udp-port? uint16 | | | +--rw etr-udp-port? uint16 | |||
| | | +--rw global-etr-rloc? simple-address | | | +--rw global-etr-rloc? simple-address | |||
| | | +--rw ms-rloc? simple-address | | | +--rw ms-rloc? simple-address | |||
| | | +--rw private-etr-rloc? simple-address | | | +--rw private-etr-rloc? simple-address | |||
| | | +--rw rtr-rlocs* simple-address | | | +--rw rtr-rlocs* simple-address | |||
| | +--:(explicit-locator-path) | | +--:(explicit-locator-path) | |||
| | | +--rw explicit-locator-path | | | +--rw explicit-locator-path | |||
| | | +--rw hop* [address] | | | +--rw hop* [hop-id] | |||
| | | +--rw address simple-address | | | +--rw hop-id string | |||
| | | +--rw lrs-bits? bits | | | +--rw address? simple-address | |||
| | +--:(sourc-dest-key) | | | +--rw lrs-bits? bits | |||
| | +--rw sourc-dest-key | | +--:(source-dest-key) | |||
| | +--rw source? inet:ip-prefix | | | +--rw source-dest-key | |||
| | +--rw dest? inet:ip-prefix | | | +--rw source? simple-address | |||
| | | +--rw dest? simple-address | ||||
| | +--:(key-value-address) | ||||
| | | +--rw key-value-address | ||||
| | | +--rw key? simple-address | ||||
| | | +--rw value? simple-address | ||||
| | +--:(service-path) | ||||
| | +--rw service-path | ||||
| | +--rw service-path-id? service-path-id-type | ||||
| | +--rw service-index? uint8 | ||||
| +--rw priority? uint8 | +--rw priority? uint8 | |||
| +--rw weight? uint8 | +--rw weight? uint8 | |||
| +--rw multicast-priority? uint8 | +--rw multicast-priority? uint8 | |||
| +--rw multicast-weight? uint8 | +--rw multicast-weight? uint8 | |||
| augment /lisp:lisp-state/lisp:devices/lisp:device: | augment /lisp:lisp/lisp:lisp-router-instances/lisp:lisp-router-instance/lisp:lisp-role: | |||
| +--ro pitr-state | +--ro pitr-state | |||
| +--ro learned-mappings | +--ro map-cache | |||
| +--ro mapping* [id] | +--ro mapping* [id] | |||
| +--ro id eid-id | +--ro id eid-id | |||
| +--ro eid | +--ro eid | |||
| | +--ro afi lisp-address-family-ref | | +--ro address-type lisp-address-family-ref | |||
| | +--ro instance-id? instance-id-type | | +--ro virtual-network-id? instance-id-type | |||
| | +--ro (address)? | | +--ro (address)? | |||
| | +--:(no-address) | ||||
| | | +--ro no-address? empty | ||||
| | +--:(ipv4) | | +--:(ipv4) | |||
| | | +--ro ipv4? inet:ipv4-address | | | +--ro ipv4? inet:ipv4-address | |||
| | +--:(ipv4-prefix) | ||||
| | | +--ro ipv4-prefix? inet:ipv4-prefix | ||||
| | +--:(ipv6) | | +--:(ipv6) | |||
| | | +--ro ipv6? inet:ipv6-address | | | +--ro ipv6? inet:ipv6-address | |||
| | +--:(ipv6-prefix) | ||||
| | | +--ro ipv6-prefix? inet:ipv6-prefix | ||||
| | +--:(mac) | | +--:(mac) | |||
| | | +--ro mac? yang:mac-address | | | +--ro mac? yang:mac-address | |||
| | +--:(distinguished-name) | | +--:(distinguished-name) | |||
| | | +--ro distinguished-name? distinguished-name | | | +--ro distinguished-name? distinguished-name-type | |||
| | +--:(lcaf) | | +--:(as-number) | |||
| | +--ro lcaf | | | +--ro as-number? inet:as-number | |||
| | +--ro lcaf-type lcaf-ref | | +--:(null-address) | |||
| | +--ro (address)? | | | +--ro null-address | |||
| | +--:(null-address) | | | +--ro address? empty | |||
| | | +--ro null-address | | +--:(afi-list) | |||
| | | +--ro address? empty | | | +--ro afi-list | |||
| | +--:(afi-list) | | | +--ro address-list* simple-address | |||
| | | +--ro afi-list | | +--:(instance-id) | |||
| | | +--ro address-list* simple-address | | | +--ro instance-id | |||
| | +--:(instance-id) | | | +--ro iid? instance-id-type | |||
| | | +--ro instance-id | | | +--ro mask-length? uint8 | |||
| | | +--ro instance-id? instance-id-type | | | +--ro address? simple-address | |||
| | | +--ro mask-length? uint8 | | +--:(as-number-lcaf) | |||
| | | +--ro address? simple-address | | | +--ro as-number-lcaf | |||
| | +--:(as-number) | | | +--ro as? inet:as-number | |||
| | | +--ro as-number | | | +--ro address? simple-address | |||
| | | +--ro as? inet:as-number | | +--:(application-data) | |||
| | | +--ro address? simple-address | | | +--ro application-data | |||
| | +--:(application-data) | | | +--ro address? simple-address | |||
| | | +--ro application-data | | | +--ro protocol? uint8 | |||
| | | +--ro address? simple-address | | | +--ro ip-tos? int32 | |||
| | | +--ro protocol? uint8 | | | +--ro local-port-low? inet:port-number | |||
| | | +--ro ip-tos? int32 | | | +--ro local-port-high? inet:port-number | |||
| | | +--ro local-port-low? inet:port-number | | | +--ro remote-port-low? inet:port-number | |||
| | | +--ro local-port-high? inet:port-number | | | +--ro remote-port-high? inet:port-number | |||
| | | +--ro remote-port-low? inet:port-number | | +--:(geo-coordinates) | |||
| | | +--ro remote-port-high? inet:port-number | | | +--ro geo-coordinates | |||
| | +--:(geo-coordinates) | | | +--ro latitude? bits | |||
| | | +--ro geo-coordinates | | | +--ro latitude-degrees? uint8 | |||
| | | +--ro latitude? bits | | | +--ro latitude-minutes? uint8 | |||
| | | +--ro latitude-degrees? uint8 | | | +--ro latitude-seconds? uint8 | |||
| | | +--ro latitude-minutes? uint8 | | | +--ro longitude? bits | |||
| | | +--ro latitude-seconds? uint8 | | | +--ro longitude-degrees? uint16 | |||
| | | +--ro longitude? bits | | | +--ro longitude-minutes? uint8 | |||
| | | +--ro longitude-degrees? uint16 | | | +--ro longitude-seconds? uint8 | |||
| | | +--ro longitude-minutes? uint8 | | | +--ro altitude? int32 | |||
| | | +--ro longitude-seconds? uint8 | | | +--ro address? simple-address | |||
| | | +--ro altitude? int32 | | +--:(nat-traversal) | |||
| | | +--ro address? simple-address | | | +--ro nat-traversal | |||
| | +--:(nat-traversal) | | | +--ro ms-udp-port? uint16 | |||
| | | +--ro nat-traversal | | | +--ro etr-udp-port? uint16 | |||
| | | +--ro ms-udp-port? uint16 | | | +--ro global-etr-rloc? simple-address | |||
| | | +--ro etr-udp-port? uint16 | | | +--ro ms-rloc? simple-address | |||
| | | +--ro global-etr-rloc? simple-address | | | +--ro private-etr-rloc? simple-address | |||
| | | +--ro ms-rloc? simple-address | | | +--ro rtr-rlocs* simple-address | |||
| | | +--ro private-etr-rloc? simple-address | | +--:(explicit-locator-path) | |||
| | | +--ro rtr-rlocs* simple-address | | | +--ro explicit-locator-path | |||
| | +--:(explicit-locator-path) | | | +--ro hop* [hop-id] | |||
| | | +--ro explicit-locator-path | | | +--ro hop-id string | |||
| | | +--ro hop* [address] | | | +--ro address? simple-address | |||
| | | +--ro address simple-address | | | +--ro lrs-bits? bits | |||
| | | +--ro lrs-bits? bits | | +--:(source-dest-key) | |||
| | +--:(sourc-dest-key) | | | +--ro source-dest-key | |||
| | +--ro sourc-dest-key | | | +--ro source? simple-address | |||
| | +--ro source? inet:ip-prefix | | | +--ro dest? simple-address | |||
| | +--ro dest? inet:ip-prefix | | +--:(key-value-address) | |||
| | | +--ro key-value-address | ||||
| | | +--ro key? simple-address | ||||
| | | +--ro value? simple-address | ||||
| | +--:(service-path) | ||||
| | +--ro service-path | ||||
| | +--ro service-path-id? service-path-id-type | ||||
| | +--ro service-index? uint8 | ||||
| +--ro ttl? uint32 | +--ro ttl? uint32 | |||
| +--ro authoritative? bits | +--ro authoritative? bits | |||
| +--ro static? boolean | ||||
| +--ro (locator-list)? | +--ro (locator-list)? | |||
| +--:(negative-mapping) | +--:(negative-mapping) | |||
| | +--ro map-reply-action? map-reply-action | | +--ro map-reply-action? map-reply-action | |||
| +--:(positive-mapping) | +--:(positive-mapping) | |||
| +--ro rlocs | +--ro rlocs | |||
| +--ro rloc* [id] | +--ro locator* [id] | |||
| +--ro id string | +--ro id string | |||
| +--ro (address-type)? | +--ro locator-address | |||
| | +--:(interface-name) | | +--ro address-type lisp-address-family-ref | |||
| | | +--ro interface? if:interface-state-ref | | +--ro virtual-network-id? instance-id-type | |||
| | +--:(address) | | +--ro (address)? | |||
| | +--ro locator-address | | +--:(no-address) | |||
| | +--ro afi lisp-address-family-ref | | | +--ro no-address? empty | |||
| | +--ro instance-id? instance-id-type | | +--:(ipv4) | |||
| | +--ro (address)? | | | +--ro ipv4? inet:ipv4-address | |||
| | +--:(ipv4) | | +--:(ipv4-prefix) | |||
| | | +--ro ipv4? inet:ipv4-address | | | +--ro ipv4-prefix? inet:ipv4-prefix | |||
| | +--:(ipv6) | | +--:(ipv6) | |||
| | | +--ro ipv6? inet:ipv6-address | | | +--ro ipv6? inet:ipv6-address | |||
| | +--:(mac) | | +--:(ipv6-prefix) | |||
| | | +--ro mac? yang:mac-address | | | +--ro ipv6-prefix? inet:ipv6-prefix | |||
| | +--:(distinguished-name) | | +--:(mac) | |||
| | | +--ro distinguished-name? distinguished-name | | | +--ro mac? yang:mac-address | |||
| | +--:(lcaf) | | +--:(distinguished-name) | |||
| | +--ro lcaf | | | +--ro distinguished-name? distinguished-name-type | |||
| | +--ro lcaf-type lcaf-ref | | +--:(as-number) | |||
| | +--ro (address)? | | | +--ro as-number? inet:as-number | |||
| | +--:(null-address) | | +--:(null-address) | |||
| | | +--ro null-address | | | +--ro null-address | |||
| | | +--ro address? empty | | | +--ro address? empty | |||
| | +--:(afi-list) | | +--:(afi-list) | |||
| | | +--ro afi-list | | | +--ro afi-list | |||
| | | +--ro address-list* simple-address | | | +--ro address-list* simple-address | |||
| | +--:(instance-id) | | +--:(instance-id) | |||
| | | +--ro instance-id | | | +--ro instance-id | |||
| | | +--ro instance-id? instance-id-type | | | +--ro iid? instance-id-type | |||
| | | +--ro mask-length? uint8 | | | +--ro mask-length? uint8 | |||
| | | +--ro address? simple-address | | | +--ro address? simple-address | |||
| | +--:(as-number) | | +--:(as-number-lcaf) | |||
| | | +--ro as-number | | | +--ro as-number-lcaf | |||
| | | +--ro as? inet:as-number | | | +--ro as? inet:as-number | |||
| | | +--ro address? simple-address | | | +--ro address? simple-address | |||
| | +--:(application-data) | | +--:(application-data) | |||
| | | +--ro application-data | | | +--ro application-data | |||
| | | +--ro address? simple-address | | | +--ro address? simple-address | |||
| | | +--ro protocol? uint8 | | | +--ro protocol? uint8 | |||
| | | +--ro ip-tos? int32 | | | +--ro ip-tos? int32 | |||
| | | +--ro local-port-low? inet:port-number | | | +--ro local-port-low? inet:port-number | |||
| | | +--ro local-port-high? inet:port-number | | | +--ro local-port-high? inet:port-number | |||
| | | +--ro remote-port-low? inet:port-number | | | +--ro remote-port-low? inet:port-number | |||
| | | +--ro remote-port-high? inet:port-number | | | +--ro remote-port-high? inet:port-number | |||
| | +--:(geo-coordinates) | | +--:(geo-coordinates) | |||
| | | +--ro geo-coordinates | | | +--ro geo-coordinates | |||
| | | +--ro latitude? bits | | | +--ro latitude? bits | |||
| | | +--ro latitude-degrees? uint8 | | | +--ro latitude-degrees? uint8 | |||
| | | +--ro latitude-minutes? uint8 | | | +--ro latitude-minutes? uint8 | |||
| | | +--ro latitude-seconds? uint8 | | | +--ro latitude-seconds? uint8 | |||
| | | +--ro longitude? bits | | | +--ro longitude? bits | |||
| | | +--ro longitude-degrees? uint16 | | | +--ro longitude-degrees? uint16 | |||
| | | +--ro longitude-minutes? uint8 | | | +--ro longitude-minutes? uint8 | |||
| | | +--ro longitude-seconds? uint8 | | | +--ro longitude-seconds? uint8 | |||
| | | +--ro altitude? int32 | | | +--ro altitude? int32 | |||
| | | +--ro address? simple-address | | | +--ro address? simple-address | |||
| | +--:(nat-traversal) | | +--:(nat-traversal) | |||
| | | +--ro nat-traversal | | | +--ro nat-traversal | |||
| | | +--ro ms-udp-port? uint16 | | | +--ro ms-udp-port? uint16 | |||
| | | +--ro etr-udp-port? uint16 | | | +--ro etr-udp-port? uint16 | |||
| | | +--ro global-etr-rloc? simple-address | | | +--ro global-etr-rloc? simple-address | |||
| | | +--ro ms-rloc? simple-address | | | +--ro ms-rloc? simple-address | |||
| | | +--ro private-etr-rloc? simple-address | | | +--ro private-etr-rloc? simple-address | |||
| | | +--ro rtr-rlocs* simple-address | | | +--ro rtr-rlocs* simple-address | |||
| | +--:(explicit-locator-path) | | +--:(explicit-locator-path) | |||
| | | +--ro explicit-locator-path | | | +--ro explicit-locator-path | |||
| | | +--ro hop* [address] | | | +--ro hop* [hop-id] | |||
| | | +--ro address simple-address | | | +--ro hop-id string | |||
| | | +--ro lrs-bits? bits | | | +--ro address? simple-address | |||
| | +--:(sourc-dest-key) | | | +--ro lrs-bits? bits | |||
| | +--ro sourc-dest-key | | +--:(source-dest-key) | |||
| | +--ro source? inet:ip-prefix | | | +--ro source-dest-key | |||
| | +--ro dest? inet:ip-prefix | | | +--ro source? simple-address | |||
| | | +--ro dest? simple-address | ||||
| | +--:(key-value-address) | ||||
| | | +--ro key-value-address | ||||
| | | +--ro key? simple-address | ||||
| | | +--ro value? simple-address | ||||
| | +--:(service-path) | ||||
| | +--ro service-path | ||||
| | +--ro service-path-id? service-path-id-type | ||||
| | +--ro service-index? uint8 | ||||
| +--ro priority? uint8 | +--ro priority? uint8 | |||
| +--ro weight? uint8 | +--ro weight? uint8 | |||
| +--ro multicast-priority? uint8 | +--ro multicast-priority? uint8 | |||
| +--ro multicast-weight? uint8 | +--ro multicast-weight? uint8 | |||
| 7.2. Module Definition | 7.2. Module Definition | |||
| <CODE BEGINS> file "ietf-lisp-pitr@2015-07-02.yang" | <CODE BEGINS> file "ietf-lisp-pitr@2016-06-30.yang" | |||
| module ietf-lisp-pitr { | module ietf-lisp-pitr { | |||
| namespace "urn:ietf:params:xml:ns:yang:lisp-pitr"; | namespace "urn:ietf:params:xml:ns:yang:ietf-lisp-pitr"; | |||
| prefix lisp-pitr; | prefix lisp-pitr; | |||
| import ietf-lisp { | import ietf-lisp { | |||
| prefix lisp; | prefix lisp; | |||
| } | } | |||
| import ietf-lisp-address-types { | import ietf-lisp-address-types { | |||
| prefix lcaf; | prefix lcaf; | |||
| } | } | |||
| import ietf-inet-types { | import ietf-inet-types { | |||
| prefix inet; | prefix inet; | |||
| } | } | |||
| organization | organization | |||
| "IETF LISP (Locator/ID Separation Protocol) Working Group"; | "IETF LISP (Locator/ID Separation Protocol) Working Group"; | |||
| contact | contact | |||
| "lisp@ietf.org"; | "lisp@ietf.org"; | |||
| description | description | |||
| "This YANG module defines the generic configuration | "This YANG module defines the generic configuration | |||
| data for a LISP PITR. The module can be extended by vendors | data for a LISP PITR. The module can be extended by vendors | |||
| to define vendor-specific configuration parameters and | to define vendor-specific configuration parameters and | |||
| policies. | policies. | |||
| Copyright (c) 2015 IETF Trust and the persons identified as | Copyright (c) 2015 IETF Trust and the persons identified as | |||
| authors of the code. All rights reserved. | authors of the code. All rights reserved. | |||
| skipping to change at page 60, line 37 ¶ | skipping to change at page 59, line 43 ¶ | |||
| Redistribution and use in source and binary forms, with or | Redistribution and use in source and binary forms, with or | |||
| without modification, is permitted pursuant to, and subject | without modification, is permitted pursuant to, and subject | |||
| to the license terms contained in, the Simplified BSD License | to the license terms contained in, the Simplified BSD License | |||
| set forth in Section 4.c of the IETF Trust's Legal Provisions | set forth in Section 4.c of the IETF Trust's Legal Provisions | |||
| Relating to IETF Documents | Relating to IETF Documents | |||
| (http://trustee.ietf.org/license-info). | (http://trustee.ietf.org/license-info). | |||
| This version of this YANG module is part of RFC 6338; see | This version of this YANG module is part of RFC 6338; see | |||
| the RFC itself for full legal notices. | the RFC itself for full legal notices. | |||
| "; | "; | |||
| revision 2015-07-02 { | revision 2016-06-30 { | |||
| description | description | |||
| "Initial revision."; | "Initial revision."; | |||
| reference | reference | |||
| "https://tools.ietf.org/html/rfc6832"; | "https://tools.ietf.org/html/rfc6832"; | |||
| } | } | |||
| identity pitr { | identity pitr { | |||
| base lisp:lisp-device; | base lisp:lisp-role; | |||
| description | description | |||
| "LISP PITR."; | "LISP PITR."; | |||
| } | } | |||
| augment "/lisp:lisp/lisp:devices/lisp:device" { | augment "/lisp:lisp/lisp:lisp-router-instances" | |||
| when "lisp:type = 'lisp-pitr:pitr'" { | + "/lisp:lisp-router-instance/lisp:lisp-role" { | |||
| when "lisp:lisp-role-type = 'lisp-pitr:pitr'" { | ||||
| description | description | |||
| "Augment is valid when LISP device type is PITR."; | "Augment is valid when LISP device type is PITR."; | |||
| } | } | |||
| description | description | |||
| "This augments LISP devices list with PITR specific | "This augments LISP devices list with PITR specific | |||
| parameters."; | parameters."; | |||
| container proxy-itr-cfg { | container proxy-itr-cfg { | |||
| presence "LISP PITR operation enabled"; | presence "LISP PITR operation enabled"; | |||
| description | description | |||
| "Proxy-ITR configuration parameters."; | "Proxy-ITR configuration parameters."; | |||
| container servicing-eids { | ||||
| description | uses lisp:servicing-eids-grouping; | |||
| "EIDs serviced by the PITR."; | ||||
| list eid { | ||||
| key "id"; | ||||
| description | ||||
| "List of EIDs serviced by the PITR."; | ||||
| leaf id { | ||||
| type lisp:eid-id; | ||||
| description | ||||
| "Id of serviced EID."; | ||||
| } | ||||
| container eid-address { | ||||
| uses lcaf:lisp-address; | ||||
| description | ||||
| "Serviced EID address in generic LISP address format."; | ||||
| } | ||||
| } | ||||
| } | ||||
| container map-resolvers { | container map-resolvers { | |||
| description | description | |||
| "Map-Resolvers configured for PITR."; | "Map-Resolvers configured for PITR."; | |||
| list map-resolver { | list map-resolver { | |||
| key "id"; | key "id"; | |||
| description | description | |||
| "List of Map-Resolvers configured for PITR."; | "List of Map-Resolvers configured for PITR."; | |||
| leaf id { | leaf id { | |||
| type lisp:eid-id; | type lisp:eid-id; | |||
| skipping to change at page 62, line 9 ¶ | skipping to change at page 60, line 47 ¶ | |||
| "EID for which the Map-Resolver is used."; | "EID for which the Map-Resolver is used."; | |||
| } | } | |||
| leaf-list address { | leaf-list address { | |||
| type inet:ip-address; | type inet:ip-address; | |||
| min-elements 1; | min-elements 1; | |||
| description | description | |||
| "List of Map-Resolver's addresses."; | "List of Map-Resolver's addresses."; | |||
| } | } | |||
| } | } | |||
| } | } | |||
| container static-mappings{ | leaf itr-rlocs { | |||
| type leafref { | ||||
| path "/lisp:lisp/lisp:locator-sets/lisp:locator-set/" | ||||
| + "lisp:locator-set-name"; | ||||
| } | ||||
| description | ||||
| "Refrence to a locator set that the PITR includes in | ||||
| Map-Requests"; | ||||
| } | ||||
| container map-cache{ | ||||
| uses lisp:mappings; | uses lisp:mappings; | |||
| description | description | |||
| "EID to RLOCs mappings cache."; | "EID to RLOCs mappings cache."; | |||
| } | } | |||
| } | } | |||
| } | } | |||
| augment "/lisp:lisp-state/lisp:devices/lisp:device" { | augment "/lisp:lisp/lisp:lisp-router-instances" | |||
| when "lisp:type = 'lisp-pitr:pitr'" { | + "/lisp:lisp-router-instance/lisp:lisp-role" { | |||
| when "lisp:lisp-role-type = 'lisp-pitr:pitr'" { | ||||
| description | description | |||
| "Augment is valid when LISP device type is PITR."; | "Augment is valid when LISP device type is PITR."; | |||
| } | } | |||
| description | description | |||
| "This augments LISP devices list state with PITR specific | "This augments LISP devices list state with PITR specific | |||
| parameters."; | parameters."; | |||
| container pitr-state { | container pitr-state { | |||
| config false; | config false; | |||
| description | description | |||
| "ITR state."; | "ITR state."; | |||
| container learned-mappings { | container map-cache { | |||
| uses lisp:mappings; | uses lisp:mappings; | |||
| description | description | |||
| "EID to RLOCs mappings cache."; | "EID to RLOCs mappings cache."; | |||
| } | } | |||
| } | } | |||
| } | } | |||
| } | } | |||
| <CODE ENDS> | <CODE ENDS> | |||
| 8. LISP Proxy ETR Module | 8. LISP Proxy ETR Module | |||
| This module captures the configuration data model of a LISP Proxy ETR | This module captures the configuration data model of a LISP Proxy ETR | |||
| [RFC6832]. The model may also capture some operational data | [RFC6832]. The model may also capture some operational data | |||
| elements. | elements. | |||
| 8.1. Module Structure | 8.1. Module Structure | |||
| module: ietf-lisp-petr | module: ietf-lisp-petr | |||
| augment /lisp:lisp/lisp:devices/lisp:device: | augment /lisp:lisp/lisp:lisp-router-instances/lisp:lisp-router-instance/lisp:lisp-role: | |||
| +--rw proxy-etr-cfg! | +--rw proxy-etr-cfg! | |||
| +--rw servicing-eids | +--rw servicing-eids | |||
| +--rw eid* [id] | +--rw servicing-eid* [id] | |||
| +--rw id lisp:eid-id | +--rw id lisp:eid-id | |||
| +--rw eid-address | +--rw eid-address | |||
| +--rw afi lisp-address-family-ref | +--rw address-type lisp-address-family-ref | |||
| +--rw instance-id? instance-id-type | +--rw virtual-network-id? instance-id-type | |||
| +--rw (address)? | +--rw (address)? | |||
| +--:(no-address) | ||||
| | +--rw no-address? empty | ||||
| +--:(ipv4) | +--:(ipv4) | |||
| | +--rw ipv4? inet:ipv4-address | | +--rw ipv4? inet:ipv4-address | |||
| +--:(ipv4-prefix) | ||||
| | +--rw ipv4-prefix? inet:ipv4-prefix | ||||
| +--:(ipv6) | +--:(ipv6) | |||
| | +--rw ipv6? inet:ipv6-address | | +--rw ipv6? inet:ipv6-address | |||
| +--:(ipv6-prefix) | ||||
| | +--rw ipv6-prefix? inet:ipv6-prefix | ||||
| +--:(mac) | +--:(mac) | |||
| | +--rw mac? yang:mac-address | | +--rw mac? yang:mac-address | |||
| +--:(distinguished-name) | +--:(distinguished-name) | |||
| | +--rw distinguished-name? distinguished-name | | +--rw distinguished-name? distinguished-name-type | |||
| +--:(lcaf) | +--:(as-number) | |||
| +--rw lcaf | | +--rw as-number? inet:as-number | |||
| +--rw lcaf-type lcaf-ref | +--:(null-address) | |||
| +--rw (address)? | | +--rw null-address | |||
| +--:(null-address) | | +--rw address? empty | |||
| | +--rw null-address | +--:(afi-list) | |||
| | +--rw address? empty | | +--rw afi-list | |||
| +--:(afi-list) | | +--rw address-list* simple-address | |||
| | +--rw afi-list | +--:(instance-id) | |||
| | +--rw address-list* simple-address | | +--rw instance-id | |||
| +--:(instance-id) | | +--rw iid? instance-id-type | |||
| | +--rw instance-id | | +--rw mask-length? uint8 | |||
| | +--rw instance-id? instance-id-type | | +--rw address? simple-address | |||
| | +--rw mask-length? uint8 | +--:(as-number-lcaf) | |||
| | +--rw address? simple-address | | +--rw as-number-lcaf | |||
| +--:(as-number) | | +--rw as? inet:as-number | |||
| | +--rw as-number | | +--rw address? simple-address | |||
| | +--rw as? inet:as-number | +--:(application-data) | |||
| | +--rw address? simple-address | | +--rw application-data | |||
| +--:(application-data) | | +--rw address? simple-address | |||
| | +--rw application-data | | +--rw protocol? uint8 | |||
| | +--rw address? simple-address | | +--rw ip-tos? int32 | |||
| | +--rw protocol? uint8 | | +--rw local-port-low? inet:port-number | |||
| | +--rw ip-tos? int32 | | +--rw local-port-high? inet:port-number | |||
| | +--rw local-port-low? inet:port-number | | +--rw remote-port-low? inet:port-number | |||
| | +--rw local-port-high? inet:port-number | | +--rw remote-port-high? inet:port-number | |||
| | +--rw remote-port-low? inet:port-number | +--:(geo-coordinates) | |||
| | +--rw remote-port-high? inet:port-number | | +--rw geo-coordinates | |||
| +--:(geo-coordinates) | | +--rw latitude? bits | |||
| | +--rw geo-coordinates | | +--rw latitude-degrees? uint8 | |||
| | +--rw latitude? bits | | +--rw latitude-minutes? uint8 | |||
| | +--rw latitude-degrees? uint8 | | +--rw latitude-seconds? uint8 | |||
| | +--rw latitude-minutes? uint8 | | +--rw longitude? bits | |||
| | +--rw latitude-seconds? uint8 | | +--rw longitude-degrees? uint16 | |||
| | +--rw longitude? bits | | +--rw longitude-minutes? uint8 | |||
| | +--rw longitude-degrees? uint16 | | +--rw longitude-seconds? uint8 | |||
| | +--rw longitude-minutes? uint8 | | +--rw altitude? int32 | |||
| | +--rw longitude-seconds? uint8 | | +--rw address? simple-address | |||
| | +--rw altitude? int32 | +--:(nat-traversal) | |||
| | +--rw address? simple-address | | +--rw nat-traversal | |||
| +--:(nat-traversal) | | +--rw ms-udp-port? uint16 | |||
| | +--rw nat-traversal | | +--rw etr-udp-port? uint16 | |||
| | +--rw ms-udp-port? uint16 | | +--rw global-etr-rloc? simple-address | |||
| | +--rw etr-udp-port? uint16 | | +--rw ms-rloc? simple-address | |||
| | +--rw global-etr-rloc? simple-address | | +--rw private-etr-rloc? simple-address | |||
| | +--rw ms-rloc? simple-address | | +--rw rtr-rlocs* simple-address | |||
| | +--rw private-etr-rloc? simple-address | +--:(explicit-locator-path) | |||
| | +--rw rtr-rlocs* simple-address | | +--rw explicit-locator-path | |||
| +--:(explicit-locator-path) | | +--rw hop* [hop-id] | |||
| | +--rw explicit-locator-path | | +--rw hop-id string | |||
| | +--rw hop* [address] | | +--rw address? simple-address | |||
| | +--rw address simple-address | | +--rw lrs-bits? bits | |||
| | +--rw lrs-bits? bits | +--:(source-dest-key) | |||
| +--:(sourc-dest-key) | | +--rw source-dest-key | |||
| +--rw sourc-dest-key | | +--rw source? simple-address | |||
| +--rw source? inet:ip-prefix | | +--rw dest? simple-address | |||
| +--rw dest? inet:ip-prefix | +--:(key-value-address) | |||
| | +--rw key-value-address | ||||
| | +--rw key? simple-address | ||||
| | +--rw value? simple-address | ||||
| +--:(service-path) | ||||
| +--rw service-path | ||||
| +--rw service-path-id? service-path-id-type | ||||
| +--rw service-index? uint8 | ||||
| 8.2. Module Definition | 8.2. Module Definition | |||
| <CODE BEGINS> file "ietf-lisp-petr@2015-07-02.yang" | <CODE BEGINS> file "ietf-lisp-petr@2016-06-30.yang" | |||
| module ietf-lisp-petr { | module ietf-lisp-petr { | |||
| namespace "urn:ietf:params:xml:ns:yang:lisp-petr"; | namespace "urn:ietf:params:xml:ns:yang:ietf-lisp-petr"; | |||
| prefix lisp-petr; | prefix lisp-petr; | |||
| import ietf-lisp { | import ietf-lisp { | |||
| prefix lisp; | prefix lisp; | |||
| } | } | |||
| import ietf-lisp-address-types { | ||||
| prefix lcaf; | ||||
| } | ||||
| organization | organization | |||
| "IETF LISP (Locator/ID Separation Protocol) Working Group"; | "IETF LISP (Locator/ID Separation Protocol) Working Group"; | |||
| contact | contact | |||
| "lisp@ietf.org"; | "lisp@ietf.org"; | |||
| description | description | |||
| "This YANG module defines the generic configuration | "This YANG module defines the generic configuration | |||
| data for a LISP PETR. The module can be extended by vendors to | data for a LISP PETR. The module can be extended by vendors to | |||
| define vendor-specific configuration parameters and policies. | define vendor-specific configuration parameters and policies. | |||
| Copyright (c) 2015 IETF Trust and the persons identified as | Copyright (c) 2015 IETF Trust and the persons identified as | |||
| authors of the code. All rights reserved. | authors of the code. All rights reserved. | |||
| Redistribution and use in source and binary forms, with or | Redistribution and use in source and binary forms, with or | |||
| without modification, is permitted pursuant to, and subject | without modification, is permitted pursuant to, and subject | |||
| to the license terms contained in, the Simplified BSD License | to the license terms contained in, the Simplified BSD License | |||
| set forth in Section 4.c of the IETF Trust's Legal Provisions | set forth in Section 4.c of the IETF Trust's Legal Provisions | |||
| Relating to IETF Documents | Relating to IETF Documents | |||
| (http://trustee.ietf.org/license-info). | (http://trustee.ietf.org/license-info). | |||
| This version of this YANG module is part of RFC 6338; see | This version of this YANG module is part of RFC 6338; see | |||
| the RFC itself for full legal notices. | the RFC itself for full legal notices. | |||
| "; | "; | |||
| revision 2015-07-02 { | revision 2016-06-30 { | |||
| description | description | |||
| "Initial revision."; | "Initial revision."; | |||
| reference | reference | |||
| "https://tools.ietf.org/html/rfc6832"; | "https://tools.ietf.org/html/rfc6832"; | |||
| } | } | |||
| identity petr { | identity petr { | |||
| base lisp:lisp-device; | base lisp:lisp-role; | |||
| description | description | |||
| "LISP PETR."; | "LISP PETR."; | |||
| } | } | |||
| augment "/lisp:lisp/lisp:devices/lisp:device" { | augment "/lisp:lisp/lisp:lisp-router-instances" | |||
| when "lisp:type = 'lisp-petr:petr'" { | + "/lisp:lisp-router-instance/lisp:lisp-role" { | |||
| when "lisp:lisp-role-type = 'lisp-petr:petr'" { | ||||
| description | description | |||
| "Augment is valid when LISP device type is PETR."; | "Augment is valid when LISP device type is PETR."; | |||
| } | } | |||
| description | description | |||
| "This augments LISP devices list with PETR specific | "This augments LISP devices list with PETR specific | |||
| parameters."; | parameters."; | |||
| container proxy-etr-cfg { | container proxy-etr-cfg { | |||
| presence "LISP PETR operation enabled"; | presence "LISP PETR operation enabled"; | |||
| description | description | |||
| "Proxy ETR configuration parameters."; | "Proxy ETR configuration parameters."; | |||
| container servicing-eids { | ||||
| description | ||||
| "EIDs serviced by the PETR."; | ||||
| list eid { | ||||
| key "id"; | ||||
| description | ||||
| "List of EIDs serviced by the PETR."; | ||||
| leaf id { | ||||
| type lisp:eid-id; | ||||
| description | ||||
| "Id of serviced EID."; | ||||
| } | ||||
| container eid-address { | ||||
| uses lcaf:lisp-address; | ||||
| description | ||||
| "Serviced EID in generic LISP address format."; | ||||
| } | ||||
| } | uses lisp:servicing-eids-grouping; | |||
| } | }//proxy-etr-cfg | |||
| } | ||||
| } | } | |||
| } | } | |||
| <CODE ENDS> | <CODE ENDS> | |||
| 9. LISP Address Types | 9. LISP Address Types | |||
| This module captures the various LISP address types, and is an | This module captures the various LISP address types, and is an | |||
| essential building block used in other LISP modules. | essential building block used in other LISP modules. | |||
| 9.1. Module Definition | 9.1. Module Definition | |||
| skipping to change at page 72, line 52 ¶ | skipping to change at page 71, line 44 ¶ | |||
| leaf as-number { | leaf as-number { | |||
| when "../address-type = 'laddr:as-number-afi'" { | when "../address-type = 'laddr:as-number-afi'" { | |||
| description | description | |||
| "When AFI is as-number."; | "When AFI is as-number."; | |||
| } | } | |||
| type inet:as-number; | type inet:as-number; | |||
| description | description | |||
| "AS Number."; | "AS Number."; | |||
| } | } | |||
| container null-address { | container null-address { | |||
| when "../address-type = 'null-address-lcaf'" { | when "../address-type = 'laddr:null-address-lcaf'" { | |||
| description | description | |||
| "When LCAF type is null."; | "When LCAF type is null."; | |||
| } | } | |||
| description | description | |||
| "Null body LCAF type"; | "Null body LCAF type"; | |||
| leaf address { | leaf address { | |||
| type empty; | type empty; | |||
| description | description | |||
| "AFI address."; | "AFI address."; | |||
| } | } | |||
| } | } | |||
| container afi-list { | container afi-list { | |||
| when "../address-type = 'afi-list-lcaf'" { | when "../address-type = 'laddr:afi-list-lcaf'" { | |||
| description | description | |||
| "When LCAF type is AFI-List."; | "When LCAF type is AFI-List."; | |||
| } | } | |||
| description | description | |||
| "AFI-List LCAF type."; | "AFI-List LCAF type."; | |||
| reference | reference | |||
| "http://tools.ietf.org/html/draft-ietf-lisp-lcaf-10 | "http://tools.ietf.org/html/draft-ietf-lisp-lcaf-10 | |||
| #section-4.16.1"; | #section-4.16.1"; | |||
| leaf-list address-list { | leaf-list address-list { | |||
| type simple-address; | type simple-address; | |||
| description | description | |||
| "List of AFI addresses."; | "List of AFI addresses."; | |||
| } | } | |||
| } | } | |||
| container instance-id { | container instance-id { | |||
| when "../address-type = 'instance-id-lcaf'" { | when "../address-type = 'laddr:instance-id-lcaf'" { | |||
| description | description | |||
| "When LCAF type is Instance-ID"; | "When LCAF type is Instance-ID"; | |||
| } | } | |||
| description | description | |||
| "Instance ID LCAF type."; | "Instance ID LCAF type."; | |||
| reference | reference | |||
| "http://tools.ietf.org/html/draft-ietf-lisp-lcaf-10 | "http://tools.ietf.org/html/draft-ietf-lisp-lcaf-10 | |||
| #section-4.2"; | #section-4.2"; | |||
| leaf iid { | leaf iid { | |||
| type instance-id-type; | type instance-id-type; | |||
| skipping to change at page 74, line 10 ¶ | skipping to change at page 72, line 51 ¶ | |||
| description | description | |||
| "Mask length."; | "Mask length."; | |||
| } | } | |||
| leaf address { | leaf address { | |||
| type simple-address; | type simple-address; | |||
| description | description | |||
| "AFI address."; | "AFI address."; | |||
| } | } | |||
| } | } | |||
| container as-number-lcaf { | container as-number-lcaf { | |||
| when "../address-type = 'as-number-lcaf'" { | when "../address-type = 'laddr:as-number-lcaf'" { | |||
| description | description | |||
| "When LCAF type is AS-Number."; | "When LCAF type is AS-Number."; | |||
| } | } | |||
| description | description | |||
| "AS Number LCAF type."; | "AS Number LCAF type."; | |||
| reference | reference | |||
| "http://tools.ietf.org/html/draft-ietf-lisp-lcaf-10 | "http://tools.ietf.org/html/draft-ietf-lisp-lcaf-10 | |||
| #section-4.3"; | #section-4.3"; | |||
| leaf as { | leaf as { | |||
| type inet:as-number; | type inet:as-number; | |||
| description | description | |||
| "AS number."; | "AS number."; | |||
| } | } | |||
| leaf address { | leaf address { | |||
| type simple-address; | type simple-address; | |||
| description | description | |||
| "AFI address."; | "AFI address."; | |||
| } | } | |||
| } | } | |||
| container application-data { | container application-data { | |||
| when "../address-type = 'application-data-lcaf'" { | when "../address-type = 'laddr:application-data-lcaf'" { | |||
| description | description | |||
| "When LCAF type is Application Data."; | "When LCAF type is Application Data."; | |||
| } | } | |||
| description | description | |||
| "Application Data LCAF type."; | "Application Data LCAF type."; | |||
| reference | reference | |||
| "http://tools.ietf.org/html/draft-ietf-lisp-lcaf-10 | "http://tools.ietf.org/html/draft-ietf-lisp-lcaf-10 | |||
| #section-4.4"; | #section-4.4"; | |||
| leaf address { | leaf address { | |||
| type simple-address; | type simple-address; | |||
| skipping to change at page 75, line 11 ¶ | skipping to change at page 74, line 4 ¶ | |||
| } | } | |||
| leaf ip-tos { | leaf ip-tos { | |||
| type int32; | type int32; | |||
| description | description | |||
| "Type of service field."; | "Type of service field."; | |||
| } | } | |||
| leaf local-port-low { | leaf local-port-low { | |||
| type inet:port-number; | type inet:port-number; | |||
| description | description | |||
| "Low end of local port range."; | "Low end of local port range."; | |||
| } | } | |||
| leaf local-port-high { | leaf local-port-high { | |||
| type inet:port-number; | type inet:port-number; | |||
| description | description | |||
| "High end of local port range."; | "High end of local port range."; | |||
| } | } | |||
| leaf remote-port-low { | leaf remote-port-low { | |||
| type inet:port-number; | type inet:port-number; | |||
| description | description | |||
| "Low end of remote port range."; | "Low end of remote port range."; | |||
| } | } | |||
| leaf remote-port-high { | leaf remote-port-high { | |||
| type inet:port-number; | type inet:port-number; | |||
| description | description | |||
| "High end of remote port range."; | "High end of remote port range."; | |||
| } | } | |||
| } | } | |||
| container geo-coordinates { | container geo-coordinates { | |||
| when "../address-type = 'geo-coordinates-lcaf'" { | when "../address-type = 'laddr:geo-coordinates-lcaf'" { | |||
| description | description | |||
| "When LCAF type is Geo-coordinates."; | "When LCAF type is Geo-coordinates."; | |||
| } | } | |||
| description | description | |||
| "Geo-coordinates LCAF type."; | "Geo-coordinates LCAF type."; | |||
| reference | reference | |||
| "http://tools.ietf.org/html/draft-ietf-lisp-lcaf-10 | "http://tools.ietf.org/html/draft-ietf-lisp-lcaf-10 | |||
| #section-4.5"; | #section-4.5"; | |||
| leaf latitude { | leaf latitude { | |||
| type bits { | type bits { | |||
| skipping to change at page 77, line 16 ¶ | skipping to change at page 76, line 9 ¶ | |||
| description | description | |||
| "Height relative to sea level in meters."; | "Height relative to sea level in meters."; | |||
| } | } | |||
| leaf address { | leaf address { | |||
| type simple-address; | type simple-address; | |||
| description | description | |||
| "AFI address."; | "AFI address."; | |||
| } | } | |||
| } | } | |||
| container nat-traversal { | container nat-traversal { | |||
| when "../address-type = 'nat-traversal-lcaf'" { | when "../address-type = 'laddr:nat-traversal-lcaf'" { | |||
| description | description | |||
| "When LCAF type is NAT-Traversal."; | "When LCAF type is NAT-Traversal."; | |||
| } | } | |||
| description | description | |||
| "NAT-Traversal LCAF type."; | "NAT-Traversal LCAF type."; | |||
| reference | reference | |||
| "http://tools.ietf.org/html/draft-ietf-lisp-lcaf-10 | "http://tools.ietf.org/html/draft-ietf-lisp-lcaf-10 | |||
| #section-4.6"; | #section-4.6"; | |||
| leaf ms-udp-port { | leaf ms-udp-port { | |||
| type uint16; | type uint16; | |||
| skipping to change at page 78, line 9 ¶ | skipping to change at page 76, line 50 ¶ | |||
| description | description | |||
| "Private ETR RLOC address."; | "Private ETR RLOC address."; | |||
| } | } | |||
| leaf-list rtr-rlocs { | leaf-list rtr-rlocs { | |||
| type simple-address; | type simple-address; | |||
| description | description | |||
| "List of RTR RLOC addresses."; | "List of RTR RLOC addresses."; | |||
| } | } | |||
| } | } | |||
| container explicit-locator-path { | container explicit-locator-path { | |||
| when "../address-type = 'explicit-locator-path-lcaf'" { | when "../address-type = 'laddr:explicit-locator-path-lcaf'" { | |||
| description | description | |||
| "When LCAF type type is Explicit Locator Path."; | "When LCAF type type is Explicit Locator Path."; | |||
| } | } | |||
| description | description | |||
| "Explicit Locator Path LCAF type."; | "Explicit Locator Path LCAF type."; | |||
| reference | reference | |||
| "http://tools.ietf.org/html/draft-ietf-lisp-lcaf-10 | "http://tools.ietf.org/html/draft-ietf-lisp-lcaf-10 | |||
| #section-4.9"; | #section-4.9"; | |||
| list hop { | list hop { | |||
| key "hop-id"; | key "hop-id"; | |||
| ordered-by user; | ordered-by user; | |||
| description | description | |||
| "List of locator hops forming the explicit path."; | "List of locator hops forming the explicit path."; | |||
| leaf hop-id { | leaf hop-id { | |||
| type string; | type string { | |||
| length "1..64"; | ||||
| } | ||||
| description | description | |||
| "Unique identifier for the hop."; | "Unique identifier for the hop."; | |||
| } | } | |||
| leaf address { | leaf address { | |||
| type simple-address; | type simple-address; | |||
| description | description | |||
| "AFI address."; | "AFI address."; | |||
| } | } | |||
| leaf lrs-bits { | leaf lrs-bits { | |||
| type bits{ | type bits{ | |||
| skipping to change at page 79, line 4 ¶ | skipping to change at page 77, line 47 ¶ | |||
| } | } | |||
| bit strict { | bit strict { | |||
| description | description | |||
| "Strict bit."; | "Strict bit."; | |||
| } | } | |||
| } | } | |||
| description | description | |||
| "Flag bits per hop."; | "Flag bits per hop."; | |||
| } | } | |||
| } | } | |||
| } | } | |||
| container source-dest-key { | container source-dest-key { | |||
| when "../address-type = 'source-dest-key-lcaf'" { | when "../address-type = 'laddr:source-dest-key-lcaf'" { | |||
| description | description | |||
| "When LCAF type type is Source/Dest."; | "When LCAF type type is Source/Dest."; | |||
| } | } | |||
| description | description | |||
| "Source/Dest LCAF type."; | "Source/Dest LCAF type."; | |||
| reference | reference | |||
| "http://tools.ietf.org/html/draft-ietf-lisp-lcaf-10 | "http://tools.ietf.org/html/draft-ietf-lisp-lcaf-10 | |||
| #section-4.11"; | #section-4.11"; | |||
| leaf source { | leaf source { | |||
| type simple-address; | type simple-address; | |||
| description | description | |||
| "Source address."; | "Source address."; | |||
| } | } | |||
| leaf dest { | leaf dest { | |||
| type simple-address; | type simple-address; | |||
| description | description | |||
| "Destination address."; | "Destination address."; | |||
| } | } | |||
| } | } | |||
| container key-value-address { | container key-value-address { | |||
| when "../address-type = 'key-value-address-lcaf'" { | when "../address-type = 'laddr:key-value-address-lcaf'" { | |||
| description | description | |||
| "When LCAF type type is Key/Value Address."; | "When LCAF type type is Key/Value Address."; | |||
| } | } | |||
| description | description | |||
| "Key/Value Address LCAF type."; | "Key/Value Address LCAF type."; | |||
| reference | reference | |||
| "http://tools.ietf.org/html/draft-ietf-lisp-lcaf-10 | "http://tools.ietf.org/html/draft-ietf-lisp-lcaf-10 | |||
| #section-4.11"; | #section-4.11"; | |||
| leaf key { | leaf key { | |||
| type simple-address; | type simple-address; | |||
| description | description | |||
| "Address as Key."; | "Address as Key."; | |||
| } | } | |||
| leaf value { | leaf value { | |||
| type simple-address; | type simple-address; | |||
| description | description | |||
| "Address as Value."; | "Address as Value."; | |||
| } | } | |||
| } | } | |||
| container service-path { | container service-path { | |||
| when "../address-type = 'service-path-lcaf'" { | when "../address-type = 'laddr:service-path-lcaf'" { | |||
| description | description | |||
| "When LCAF type service path identifier."; | "When LCAF type service path identifier."; | |||
| } | } | |||
| description | description | |||
| "Service Path LCAF type."; | "Service Path LCAF type."; | |||
| reference | reference | |||
| "http://tools.ietf.org/html/draft-ermagan-lisp-nsh-00"; | "http://tools.ietf.org/html/draft-ermagan-lisp-nsh-00"; | |||
| leaf service-path-id { | leaf service-path-id { | |||
| type service-path-id-type; | type service-path-id-type; | |||
| description | description | |||
| "Service path identifier for the path for NSH header"; | "Service path identifier for the path for NSH header"; | |||
| } | } | |||
| leaf service-index { | leaf service-index { | |||
| End of changes. 218 change blocks. | ||||
| 2179 lines changed or deleted | 2122 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/ | ||||