| < draft-ietf-lisp-yang-01.txt | draft-ietf-lisp-yang-02.txt > | |||
|---|---|---|---|---|
| Network 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: June 19, 2016 F. Coras | Expires: December 20, 2016 F. Coras | |||
| Technical University of Catalonia | Technical University of Catalonia | |||
| C. Moberg | C. Moberg | |||
| Cisco Systems | Cisco Systems | |||
| A. Cabellos-Aparicio | A. Cabellos-Aparicio | |||
| Technical University of Catalonia | Technical University of Catalonia | |||
| F. Maino | F. Maino | |||
| Cisco Systems | Cisco Systems | |||
| December 17, 2015 | June 18, 2016 | |||
| LISP Configuration YANG Model | LISP Configuration YANG Model | |||
| draft-ietf-lisp-yang-01 | draft-ietf-lisp-yang-02 | |||
| 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 June 19, 2016. | This Internet-Draft will expire on December 20, 2016. | |||
| Copyright Notice | Copyright Notice | |||
| Copyright (c) 2015 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 | |||
| carefully, as they describe your rights and restrictions with respect | carefully, as they describe your rights and restrictions with respect | |||
| to this document. Code Components extracted from this document must | to this document. Code Components extracted from this document must | |||
| include Simplified BSD License text as described in Section 4.e of | include Simplified BSD License text as described in Section 4.e of | |||
| the Trust Legal Provisions and are provided without warranty as | the Trust Legal Provisions and are provided without warranty as | |||
| skipping to change at page 5, line 52 ¶ | skipping to change at page 5, line 52 ¶ | |||
| "Group that defines a list of LISP locators."; | "Group that defines a list of LISP locators."; | |||
| list rloc { | list rloc { | |||
| key "id"; | key "id"; | |||
| description | description | |||
| "List of routing locators"; | "List of routing locators"; | |||
| leaf id { | leaf id { | |||
| type string; | type string; | |||
| description | description | |||
| "Locator id"; | "Locator id"; | |||
| } | } | |||
| // FC need to be sure we don't use interface-name in itr | ||||
| // cached mappings | // cached mappings | |||
| choice address-type { | choice address-type { | |||
| description | description | |||
| "The address type of the locator"; | "The address type of the locator"; | |||
| case interface-name { | case interface-name { | |||
| leaf interface { | leaf interface { | |||
| type if:interface-state-ref; | type if:interface-ref; | |||
| description | description | |||
| "The name of the interface supporting the locator."; | "The name of the interface supporting the locator."; | |||
| } | } | |||
| } | } | |||
| case address { | 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."; | |||
| skipping to change at page 22, line 21 ¶ | skipping to change at page 22, line 20 ¶ | |||
| | +--ro dest? inet:ip-prefix | | +--ro dest? inet:ip-prefix | |||
| +--ro priority? uint8 | +--ro priority? uint8 | |||
| +--ro weight? uint8 | +--ro weight? uint8 | |||
| +--ro multicast-priority? uint8 | +--ro multicast-priority? uint8 | |||
| +--ro multicast-weight? uint8 | +--ro multicast-weight? uint8 | |||
| 3.2. Module Definition | 3.2. Module Definition | |||
| <CODE BEGINS> file "ietf-lisp-itr@2015-07-02.yang" | <CODE BEGINS> file "ietf-lisp-itr@2015-07-02.yang" | |||
| module ietf-lisp-itr { | module ietf-lisp-itr { | |||
| namespace "urn:ietf:params:xml:ns:yang:ietf-lisp-itr"; | namespace "urn:ietf:params:xml:ns:yang: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 | |||
| skipping to change at page 23, line 4 ¶ | skipping to change at page 22, line 50 ¶ | |||
| 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 2015-07-02 { | |||
| 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-device; | |||
| description | description | |||
| "LISP ITR."; | "LISP ITR."; | |||
| } | } | |||
| augment "/lisp:lisp/lisp:devices/lisp:device" { | augment "/lisp:lisp/lisp:devices/lisp:device" { | |||
| when "lisp:type = lisp-itr:itr" { | when "lisp:type = 'lisp-itr:itr'" { | |||
| description | description | |||
| "Augment is valid when LISP device type is ITR."; | "Augment is valid when LISP device 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"; | |||
| skipping to change at page 26, line 5 ¶ | skipping to change at page 26, line 4 ¶ | |||
| } | } | |||
| } | } | |||
| container static-mappings { | container static-mappings { | |||
| 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-state/lisp:devices/lisp:device" { | |||
| when "lisp:type = lisp-itr:itr" { | when "lisp:type = 'lisp-itr:itr'" { | |||
| description | description | |||
| "Augment is valid when LISP device type is ITR."; | "Augment is valid when LISP device 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."; | |||
| skipping to change at page 30, line 10 ¶ | skipping to change at page 30, line 9 ¶ | |||
| | +--rw multicast-weight? uint8 | | +--rw multicast-weight? uint8 | |||
| +--rw record-ttl? uint32 | +--rw record-ttl? uint32 | |||
| +--rw want-map-notify? boolean | +--rw want-map-notify? boolean | |||
| +--rw proxy-reply? boolean | +--rw proxy-reply? boolean | |||
| +--rw registration-interval? uint16 | +--rw registration-interval? uint16 | |||
| 4.2. Module Definition | 4.2. Module Definition | |||
| <CODE BEGINS> file "ietf-lisp-etr@2015-07-02.yang" | <CODE BEGINS> file "ietf-lisp-etr@2015-07-02.yang" | |||
| module ietf-lisp-etr { | module ietf-lisp-etr { | |||
| namespace "urn:ietf:params:xml:ns:yang:ietf-lisp-etr"; | namespace "urn:ietf:params:xml:ns:yang: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; | |||
| } | } | |||
| skipping to change at page 31, line 6 ¶ | skipping to change at page 31, line 4 ¶ | |||
| revision 2015-07-02 { | revision 2015-07-02 { | |||
| 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-device; | |||
| description | description | |||
| "LISP ETR."; | "LISP ETR."; | |||
| } | } | |||
| augment "/lisp:lisp/lisp:devices/lisp:device" { | augment "/lisp:lisp/lisp:devices/lisp:device" { | |||
| when "lisp:type = lisp-etr:etr" { | when "lisp: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 43, line 17 ¶ | skipping to change at page 43, line 17 ¶ | |||
| | +--ro sourc-dest-key | | +--ro sourc-dest-key | |||
| | +--ro source? inet:ip-prefix | | +--ro source? inet:ip-prefix | |||
| | +--ro dest? inet:ip-prefix | | +--ro dest? inet:ip-prefix | |||
| +--ro priority? uint8 | +--ro priority? uint8 | |||
| +--ro weight? uint8 | +--ro weight? uint8 | |||
| +--ro multicast-priority? uint8 | +--ro multicast-priority? uint8 | |||
| +--ro multicast-weight? uint8 | +--ro multicast-weight? uint8 | |||
| 5.2. Module Definition | 5.2. Module Definition | |||
| <CODE BEGINS> file "ietf-lisp-mapserver@2015-07-02.yang" | <CODE BEGINS> file "ietf-lisp-mapserver@2015-07-02.yang" | |||
| module ietf-lisp-mapserver { | module ietf-lisp-map-server { | |||
| namespace "urn:ietf:params:xml:ns:yang:ietf-lisp-mapserver"; | namespace "urn:ietf:params:xml:ns:yang:lisp-ms"; | |||
| prefix lisp-ms; | prefix lisp-ms; | |||
| import ietf-lisp { | import ietf-lisp { | |||
| prefix lisp; | prefix lisp; | |||
| } | } | |||
| import ietf-lisp-address-types { | import ietf-lisp-address-types { | |||
| prefix lcaf; | prefix lcaf; | |||
| } | } | |||
| import ietf-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 Map-Server. 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 2015-07-02 { | |||
| description | description | |||
| "Initial revision."; | "Initial revision."; | |||
| reference | reference | |||
| "https://tools.ietf.org/html/rfc6833"; | "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."; | ||||
| } | ||||
| //Can be augmented to have 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 { | identity ms { | |||
| description | base lisp:lisp-device; | |||
| "EIDs registered by device."; | description | |||
| list eid { | "LISP Map-Server."; | |||
| key "id"; | } | |||
| description | ||||
| "List of EIDs registered by device."; | augment "/lisp:lisp/lisp:devices/lisp:device" { | |||
| leaf id { | when "lisp:type = 'lisp-ms:ms'" { | |||
| type lisp:eid-id; | description | |||
| description | "Augment is valid when LISP device type is Map-Server."; | |||
| "Id of the EID registered."; | } | |||
| } | description | |||
| container eid-address { | "This augments LISP devices list with Map-Server specific | |||
| uses lcaf:lisp-address; | parameters."; | |||
| description | container map-server-cfg { | |||
| "EID in generic LISP address format registered | presence "LISP Map-Server operation enabled"; | |||
| with the Map-Server."; | description | |||
| } | "Map-Server configuration parameters."; | |||
| leaf more-specifics-accepted { | container sites { | |||
| type boolean; | description | |||
| description | "Sites for which the Map-Server accepts registrations."; | |||
| "Flag indicating if more specific prefixes | list site { | |||
| can be registered."; | key "site-id"; | |||
| } | description | |||
| leaf mapping-expiration-timeout { | "List of sites for which the Map-Server acceptes | |||
| type int16; | registrations."; | |||
| units "seconds"; | leaf site-id { | |||
| default "180"; //3 times the mapregister int | type uint64; | |||
| description | description | |||
| "Time before mapping is expired if no new | "Site identifier."; | |||
| registrations are received."; | } | |||
| } | // This model can be augmented with below for per site auth-key | |||
| // Can be augmented to have below for per-eid auth-key | // leaf auth-key { | |||
| // leaf auth-key { | // description "clear text authentication key"; | |||
| // description "clear text authentication key"; | // type string; | |||
| // type string; | // } | |||
| // } | container devices { | |||
| } | description | |||
| } | "Site devices registered with the Map-Server."; | |||
| } | ||||
| } | list device { | |||
| } | key "device-id"; | |||
| } | description | |||
| container static-mappings { | "List of site devices registered with the | |||
| uses lisp:mappings; | Map-Server."; | |||
| description | leaf device-id { | |||
| "Datastore of statically registred mappings."; | type uint64; | |||
| } | description | |||
| choice mapping-system { | "Device identifier."; | |||
| mandatory true; | } | |||
| description | container auth-key { | |||
| "Interface to Mapping System."; | description | |||
| container ddt-mapping-system { | "Device authentication key."; | |||
| presence "DDT Mapping System in use"; | leaf auth-key-value { | |||
| description | type string; | |||
| "DDT Mapping System interface."; | description | |||
| leaf-list ddt-root { | "Clear text authentication key"; | |||
| type inet:ip-address; | } | |||
| description | leaf auth-key-type { | |||
| "List of DDT root address."; | type lisp:auth-key-type; | |||
| } | description | |||
| container authoritative-eids { | "Authentication key type."; | |||
| description | } | |||
| "Authoritative EIDs"; | } | |||
| list authoritative-eid { | ||||
| key "id"; | container eids { | |||
| description | description | |||
| "List of authoritative EIDs."; | "EIDs registered by device."; | |||
| leaf id { | list eid { | |||
| type lisp:eid-id; | key "id"; | |||
| description | description | |||
| "EID id."; | "List of EIDs registered by device."; | |||
| } | leaf id { | |||
| container eid-address { | type lisp:eid-id; | |||
| uses lcaf:lisp-address; | description | |||
| description | "Id of the EID registered."; | |||
| "EID in generic LISP address format."; | } | |||
| } | container eid-address { | |||
| } | uses lcaf:lisp-address; | |||
| } | description | |||
| } | "EID in generic LISP address format registered | |||
| container alt-mapping-system { | with the Map-Server."; | |||
| presence "ALT Mapping System in use"; | } | |||
| description | leaf more-specifics-accepted { | |||
| "ALT Mapping System interface."; | type boolean; | |||
| // TBD | description | |||
| } | "Flag indicating if more specific prefixes | |||
| } | can be registered."; | |||
| } | ||||
| } | } | |||
| augment "/lisp:lisp-state/lisp:devices/lisp:device" { | leaf mapping-expiration-timeout { | |||
| when "lisp:type = lisp-ms:ms" { | type int16; | |||
| description | units "seconds"; | |||
| "Augment is valid when LISP device type is Map-Server."; | default "180"; //3 times the mapregister int | |||
| } | description | |||
| description | "Time before mapping is expired if no new | |||
| "This augments LISP devices list state with Map-Server | registrations are received."; | |||
| specific parameters."; | } | |||
| container ms-state { | // This model can be augmented to have below for per-eid auth-key | |||
| config false; | // leaf auth-key { | |||
| description | // description "clear text authentication key"; | |||
| "Map-Server state."; | // type string; | |||
| container registered-mappings { | // } | |||
| uses lisp:mappings; | } | |||
| description | } | |||
| "Datastore of registred mappings."; | } | |||
| } | } | |||
| } | } | |||
| } | } | |||
| } | container static-mappings { | |||
| <CODE ENDS> | 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 | 6. LISP Map Resolver Module | |||
| This module captures the configuration data model of a LISP Map | This module captures the configuration data model of a LISP Map | |||
| Resolver [RFC6833]. The model also captures some operational data | Resolver [RFC6833]. The model also captures some operational data | |||
| elements. | elements. | |||
| 6.1. Module Structure | 6.1. Module Structure | |||
| module: ietf-lisp-mapresolver | module: ietf-lisp-mapresolver | |||
| skipping to change at page 48, line 20 ¶ | skipping to change at page 48, line 20 ¶ | |||
| +--rw (mapping-system) | +--rw (mapping-system) | |||
| +--:(ddt-mapping-system) | +--:(ddt-mapping-system) | |||
| | +--rw ddt-mapping-system! | | +--rw ddt-mapping-system! | |||
| | +--rw ddt-root* inet:ip-address | | +--rw ddt-root* inet:ip-address | |||
| +--:(alt-mapping-system) | +--:(alt-mapping-system) | |||
| +--rw alt-mapping-system! | +--rw alt-mapping-system! | |||
| 6.2. Module Definition | 6.2. Module Definition | |||
| <CODE BEGINS> file "ietf-lisp-mapresolver@2015-07-02.yang" | <CODE BEGINS> file "ietf-lisp-mapresolver@2015-07-02.yang" | |||
| module ietf-lisp-mapresolver { | module ietf-lisp-map-resolver { | |||
| namespace "urn:ietf:params:xml:ns:yang:ietf-lisp-mapresolver"; | namespace "urn:ietf:params:xml:ns:yang:lisp-mr"; | |||
| prefix lisp-mr; | prefix lisp-mr; | |||
| import ietf-lisp { | import ietf-lisp { | |||
| prefix lisp; | prefix lisp; | |||
| } | } | |||
| import ietf-inet-types { | import ietf-inet-types { | |||
| prefix inet; | prefix inet; | |||
| } | } | |||
| organization | organization | |||
| "IETF LISP (Locator/ID Separation Protocol) Working Group"; | "IETF LISP (Locator/ID Separation Protocol) Working Group"; | |||
| contact | contact | |||
| skipping to change at page 49, line 15 ¶ | skipping to change at page 49, line 15 ¶ | |||
| "Initial revision."; | "Initial revision."; | |||
| reference | reference | |||
| "https://tools.ietf.org/html/rfc6833"; | "https://tools.ietf.org/html/rfc6833"; | |||
| } | } | |||
| identity mr { | identity mr { | |||
| base lisp:lisp-device; | base lisp:lisp-device; | |||
| description | description | |||
| "LISP Map-Resolver."; | "LISP Map-Resolver."; | |||
| } | } | |||
| augment "/lisp:lisp/lisp:devices/lisp:device" { | augment "/lisp:lisp/lisp:devices/lisp:device" { | |||
| when "lisp:type = lisp-mr:mr" { | when "lisp:type = 'lisp-mr:mr'" { | |||
| description | description | |||
| "Augment is valid when LISP device type is Map-Resolver."; | "Augment is valid when LISP device type is Map-Resolver."; | |||
| } | } | |||
| description | description | |||
| "This augments LISP devices list with Map-Resolver specific | "This augments LISP devices list with Map-Resolver specific | |||
| parameters."; | parameters."; | |||
| container map-resolver-cfg { | container map-resolver-cfg { | |||
| presence "LISP Map-Resolver operation enabled"; | presence "LISP Map-Resolver operation enabled"; | |||
| description | description | |||
| "Map-Resolver configuration parameters."; | "Map-Resolver configuration parameters."; | |||
| skipping to change at page 59, line 51 ¶ | skipping to change at page 59, line 51 ¶ | |||
| | +--ro dest? inet:ip-prefix | | +--ro dest? inet:ip-prefix | |||
| +--ro priority? uint8 | +--ro priority? uint8 | |||
| +--ro weight? uint8 | +--ro weight? uint8 | |||
| +--ro multicast-priority? uint8 | +--ro multicast-priority? uint8 | |||
| +--ro multicast-weight? uint8 | +--ro multicast-weight? uint8 | |||
| 7.2. Module Definition | 7.2. Module Definition | |||
| <CODE BEGINS> file "ietf-lisp-pitr@2015-07-02.yang" | <CODE BEGINS> file "ietf-lisp-pitr@2015-07-02.yang" | |||
| module ietf-lisp-pitr { | module ietf-lisp-pitr { | |||
| namespace "urn:ietf:params:xml:ns:yang:ietf-lisp-pitr"; | namespace "urn:ietf:params:xml:ns:yang: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; | |||
| } | } | |||
| skipping to change at page 60, line 49 ¶ | skipping to change at page 60, line 49 ¶ | |||
| "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-device; | |||
| description | description | |||
| "LISP PITR."; | "LISP PITR."; | |||
| } | } | |||
| augment "/lisp:lisp/lisp:devices/lisp:device" { | augment "/lisp:lisp/lisp:devices/lisp:device" { | |||
| when "lisp:type = lisp-pitr:pitr" { | when "lisp: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 | |||
| skipping to change at page 62, line 17 ¶ | skipping to change at page 62, line 17 ¶ | |||
| } | } | |||
| } | } | |||
| container static-mappings{ | container static-mappings{ | |||
| 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-state/lisp:devices/lisp:device" { | |||
| when "lisp:type = lisp-pitr:pitr" { | when "lisp: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."; | |||
| skipping to change at page 64, line 30 ¶ | skipping to change at page 64, line 30 ¶ | |||
| | +--rw lrs-bits? bits | | +--rw lrs-bits? bits | |||
| +--:(sourc-dest-key) | +--:(sourc-dest-key) | |||
| +--rw sourc-dest-key | +--rw sourc-dest-key | |||
| +--rw source? inet:ip-prefix | +--rw source? inet:ip-prefix | |||
| +--rw dest? inet:ip-prefix | +--rw dest? inet:ip-prefix | |||
| 8.2. Module Definition | 8.2. Module Definition | |||
| <CODE BEGINS> file "ietf-lisp-petr@2015-07-02.yang" | <CODE BEGINS> file "ietf-lisp-petr@2015-07-02.yang" | |||
| module ietf-lisp-petr { | module ietf-lisp-petr { | |||
| namespace "urn:ietf:params:xml:ns:yang:ietf-lisp-petr"; | namespace "urn:ietf:params:xml:ns:yang:lisp-petr"; | |||
| prefix lisp-petr; | prefix lisp-petr; | |||
| import ietf-lisp { | import ietf-lisp { | |||
| prefix lisp; | prefix lisp; | |||
| } | } | |||
| import ietf-lisp-address-types { | import ietf-lisp-address-types { | |||
| prefix lcaf; | prefix lcaf; | |||
| } | } | |||
| organization | organization | |||
| "IETF LISP (Locator/ID Separation Protocol) Working Group"; | "IETF LISP (Locator/ID Separation Protocol) Working Group"; | |||
| contact | contact | |||
| skipping to change at page 65, line 24 ¶ | skipping to change at page 65, line 24 ¶ | |||
| "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-device; | |||
| description | description | |||
| "LISP PETR."; | "LISP PETR."; | |||
| } | } | |||
| augment "/lisp:lisp/lisp:devices/lisp:device" { | augment "/lisp:lisp/lisp:devices/lisp:device" { | |||
| when "lisp:type = lisp-petr:petr" { | when "lisp: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."; | |||
| skipping to change at page 66, line 25 ¶ | skipping to change at page 66, line 25 ¶ | |||
| essential building block used in other LISP modules. | essential building block used in other LISP modules. | |||
| 9.1. Module Definition | 9.1. Module Definition | |||
| <CODE BEGINS> file "ietf-lisp-address-types@2015-11-05.yang" | <CODE BEGINS> file "ietf-lisp-address-types@2015-11-05.yang" | |||
| module ietf-lisp-address-types { | module ietf-lisp-address-types { | |||
| namespace "urn:ietf:params:xml:ns:yang:ietf-lisp-address-types"; | namespace "urn:ietf:params:xml:ns:yang:ietf-lisp-address-types"; | |||
| prefix laddr; | prefix laddr; | |||
| import ietf-inet-types { | import ietf-inet-types { | |||
| prefix inet; | prefix inet; | |||
| //revision-date 2010-09-24; | revision-date 2013-07-15; | |||
| } | } | |||
| import ietf-yang-types { | import ietf-yang-types { | |||
| prefix yang; | prefix yang; | |||
| //revision-date 2010-09-24; | revision-date 2013-07-15; | |||
| } | } | |||
| organization | organization | |||
| "IETF LISP (Locator/ID Separation Protocol) Working Group"; | "IETF LISP (Locator/ID Separation Protocol) Working Group"; | |||
| contact | contact | |||
| "lisp@ietf.org"; | "lisp@ietf.org"; | |||
| description | description | |||
| "This YANG module defines the LISP Canonical Address Formats | "This YANG module defines the LISP Canonical Address Formats | |||
| (LCAF) for LISP. The module can be extended by vendors to | (LCAF) for LISP. The module can be extended by vendors to | |||
| define vendor-specific parameters. | define vendor-specific parameters. | |||
| skipping to change at page 71, line 27 ¶ | skipping to change at page 71, line 27 ¶ | |||
| leaf virtual-network-id { | leaf virtual-network-id { | |||
| type instance-id-type; | type instance-id-type; | |||
| description | description | |||
| "Virtual Network Identifier (instance-id) of the address."; | "Virtual Network Identifier (instance-id) of the address."; | |||
| } | } | |||
| choice address { | choice address { | |||
| description | description | |||
| "Various LISP address types, including IP, MAC, and LCAF."; | "Various LISP address types, including IP, MAC, and LCAF."; | |||
| leaf no-address { | leaf no-address { | |||
| when "../../address-type = 'laddr:no-addr-afi'" { | when "../address-type = 'laddr:no-addr-afi'" { | |||
| description | description | |||
| "When AFI is 0."; | "When AFI is 0."; | |||
| } | } | |||
| type empty; | type empty; | |||
| description | description | |||
| "No address."; | "No address."; | |||
| } | } | |||
| leaf ipv4 { | leaf ipv4 { | |||
| when "../../address-type = 'laddr:ipv4-afi'" { | when "../address-type = 'laddr:ipv4-afi'" { | |||
| description | description | |||
| "When AFI is IPv4."; | "When AFI is IPv4."; | |||
| } | } | |||
| type inet:ipv4-address; | type inet:ipv4-address; | |||
| description | description | |||
| "IPv4 address."; | "IPv4 address."; | |||
| } | } | |||
| leaf ipv4-prefix { | leaf ipv4-prefix { | |||
| when "../../address-type = 'laddr:ipv4-prefix-afi'" { | when "../address-type = 'laddr:ipv4-prefix-afi'" { | |||
| description | description | |||
| "When AFI is IPv4."; | "When AFI is IPv4."; | |||
| } | } | |||
| type inet:ipv4-prefix; | type inet:ipv4-prefix; | |||
| description | description | |||
| "IPv4 prefix."; | "IPv4 prefix."; | |||
| } | } | |||
| leaf ipv6 { | leaf ipv6 { | |||
| when "../../address-type = 'laddr:ipv6-afi'" { | when "../address-type = 'laddr:ipv6-afi'" { | |||
| description | description | |||
| "When AFI is IPv6."; | "When AFI is IPv6."; | |||
| } | } | |||
| type inet:ipv6-address; | type inet:ipv6-address; | |||
| description | description | |||
| "IPv6 address."; | "IPv6 address."; | |||
| } | } | |||
| leaf ipv6-prefix { | leaf ipv6-prefix { | |||
| when "../../address-type = 'laddr:ipv6-prefix-afi'" { | when "../address-type = 'laddr:ipv6-prefix-afi'" { | |||
| description | description | |||
| "When AFI is IPv6."; | "When AFI is IPv6."; | |||
| } | } | |||
| type inet:ipv6-prefix; | type inet:ipv6-prefix; | |||
| description | description | |||
| "IPv6 address."; | "IPv6 address."; | |||
| } | } | |||
| leaf mac { | leaf mac { | |||
| when "../../address-type = 'laddr:mac-afi'" { | when "../address-type = 'laddr:mac-afi'" { | |||
| description | description | |||
| "When AFI is MAC."; | "When AFI is MAC."; | |||
| } | } | |||
| type yang:mac-address; | type yang:mac-address; | |||
| description | description | |||
| "MAC address."; | "MAC address."; | |||
| } | } | |||
| leaf distinguished-name { | leaf distinguished-name { | |||
| when "../../address-type = 'laddr:distinguished-name-afi'" { | when "../address-type = 'laddr:distinguished-name-afi'" { | |||
| description | description | |||
| "When AFI is distinguished-name."; | "When AFI is distinguished-name."; | |||
| } | } | |||
| type distinguished-name-type; | type distinguished-name-type; | |||
| description | description | |||
| "Distinguished Name address."; | "Distinguished Name address."; | |||
| } | } | |||
| 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 = '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 = '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 = '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 74, line 10 ¶ | |||
| 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 = '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 = '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 29 ¶ | skipping to change at page 75, line 29 ¶ | |||
| description | description | |||
| "Low end of remote port range."; | "Low end of remote port range."; | |||
| } | } | |||
| leaf remote-port-high { | leaf remote-port-high { | |||
| type inet:port-number; | type inet:port-number; | |||
| description | description | |||
| "High end of remote port range."; | "High end of remote port range."; | |||
| } | } | |||
| } | } | |||
| container geo-coordinates { | container geo-coordinates { | |||
| when "../../address-type = 'geo-coordinates-lcaf'" { | when "../address-type = 'geo-coordinates-lcaf'" { | |||
| description | description | |||
| "When LCAF type is Geo-coordinates."; | "When LCAF type is Geo-coordinates."; | |||
| } | } | |||
| description | description | |||
| "Geo-coordinates LCAF type."; | "Geo-coordinates LCAF type."; | |||
| reference | reference | |||
| "http://tools.ietf.org/html/draft-ietf-lisp-lcaf-10 | "http://tools.ietf.org/html/draft-ietf-lisp-lcaf-10 | |||
| #section-4.5"; | #section-4.5"; | |||
| leaf latitude { | leaf latitude { | |||
| type bits { | type bits { | |||
| skipping to change at page 77, line 16 ¶ | skipping to change at page 77, line 16 ¶ | |||
| description | description | |||
| "Height relative to sea level in meters."; | "Height relative to sea level in meters."; | |||
| } | } | |||
| leaf address { | leaf address { | |||
| type simple-address; | type simple-address; | |||
| description | description | |||
| "AFI address."; | "AFI address."; | |||
| } | } | |||
| } | } | |||
| container nat-traversal { | container nat-traversal { | |||
| when "../../address-type = 'nat-traversal-lcaf'" { | when "../address-type = 'nat-traversal-lcaf'" { | |||
| description | description | |||
| "When LCAF type is NAT-Traversal."; | "When LCAF type is NAT-Traversal."; | |||
| } | } | |||
| description | description | |||
| "NAT-Traversal LCAF type."; | "NAT-Traversal LCAF type."; | |||
| reference | reference | |||
| "http://tools.ietf.org/html/draft-ietf-lisp-lcaf-10 | "http://tools.ietf.org/html/draft-ietf-lisp-lcaf-10 | |||
| #section-4.6"; | #section-4.6"; | |||
| leaf ms-udp-port { | leaf ms-udp-port { | |||
| type uint16; | type uint16; | |||
| skipping to change at page 78, line 9 ¶ | skipping to change at page 78, line 9 ¶ | |||
| description | description | |||
| "Private ETR RLOC address."; | "Private ETR RLOC address."; | |||
| } | } | |||
| leaf-list rtr-rlocs { | leaf-list rtr-rlocs { | |||
| type simple-address; | type simple-address; | |||
| description | description | |||
| "List of RTR RLOC addresses."; | "List of RTR RLOC addresses."; | |||
| } | } | |||
| } | } | |||
| container explicit-locator-path { | container explicit-locator-path { | |||
| when "../../address-type = 'explicit-locator-path-lcaf'" { | when "../address-type = 'explicit-locator-path-lcaf'" { | |||
| description | description | |||
| "When LCAF type type is Explicit Locator Path."; | "When LCAF type type is Explicit Locator Path."; | |||
| } | } | |||
| description | description | |||
| "Explicit Locator Path LCAF type."; | "Explicit Locator Path LCAF type."; | |||
| reference | reference | |||
| "http://tools.ietf.org/html/draft-ietf-lisp-lcaf-10 | "http://tools.ietf.org/html/draft-ietf-lisp-lcaf-10 | |||
| #section-4.9"; | #section-4.9"; | |||
| list hop { | list hop { | |||
| key "hop-id"; | key "hop-id"; | |||
| skipping to change at page 79, line 7 ¶ | skipping to change at page 79, line 7 ¶ | |||
| "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 = '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 = '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 = '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; | |||
| skipping to change at page 80, line 23 ¶ | skipping to change at page 80, line 23 ¶ | |||
| } | } | |||
| leaf service-index { | leaf service-index { | |||
| type uint8; | type uint8; | |||
| description | description | |||
| "Service path index for NSH header"; | "Service path index for NSH header"; | |||
| } | } | |||
| } | } | |||
| } | } | |||
| } | } | |||
| } | } | |||
| <CODE ENDS> | <CODE ENDS> | |||
| 10. Acknowledgments | 10. Acknowledgments | |||
| The tree view and the YANG model shown in this document have been | The tree view and the YANG model shown in this document have been | |||
| formated with the 'pyang' tool. | formated with the 'pyang' tool. | |||
| 11. IANA Considerations | 11. IANA Considerations | |||
| This memo includes no request to IANA. | This memo includes no request to IANA. | |||
| 12. Security Considerations | 12. Security Considerations | |||
| Security Considerations TBD | Security Considerations TBD | |||
| 13. Normative References | 13. Normative References | |||
| [I-D.ietf-lisp-ddt] | [I-D.ietf-lisp-ddt] | |||
| Fuller, V., Lewis, D., Ermagan, V., and A. Jain, "LISP | Fuller, V., Lewis, D., Ermagan, V., Jain, A., and A. | |||
| Delegated Database Tree", draft-ietf-lisp-ddt-03 (work in | Smirnov, "LISP Delegated Database Tree", draft-ietf-lisp- | |||
| progress), April 2015. | ddt-07 (work in progress), May 2016. | |||
| [I-D.ietf-lisp-lcaf] | [I-D.ietf-lisp-lcaf] | |||
| Farinacci, D., Meyer, D., and J. Snijders, "LISP Canonical | Farinacci, D., Meyer, D., and J. Snijders, "LISP Canonical | |||
| Address Format (LCAF)", draft-ietf-lisp-lcaf-11 (work in | Address Format (LCAF)", draft-ietf-lisp-lcaf-13 (work in | |||
| progress), September 2015. | progress), May 2016. | |||
| [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate | [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate | |||
| Requirement Levels", BCP 14, RFC 2119, | Requirement Levels", BCP 14, RFC 2119, | |||
| DOI 10.17487/RFC2119, March 1997, | DOI 10.17487/RFC2119, March 1997, | |||
| <http://www.rfc-editor.org/info/rfc2119>. | <http://www.rfc-editor.org/info/rfc2119>. | |||
| [RFC6830] Farinacci, D., Fuller, V., Meyer, D., and D. Lewis, "The | [RFC6830] Farinacci, D., Fuller, V., Meyer, D., and D. Lewis, "The | |||
| Locator/ID Separation Protocol (LISP)", RFC 6830, | Locator/ID Separation Protocol (LISP)", RFC 6830, | |||
| DOI 10.17487/RFC6830, January 2013, | DOI 10.17487/RFC6830, January 2013, | |||
| <http://www.rfc-editor.org/info/rfc6830>. | <http://www.rfc-editor.org/info/rfc6830>. | |||
| End of changes. 54 change blocks. | ||||
| 260 lines changed or deleted | 266 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/ | ||||