| < draft-ietf-pce-pcep-yang-11.txt | draft-ietf-pce-pcep-yang-12.txt > | |||
|---|---|---|---|---|
| PCE Working Group D. Dhody, Ed. | PCE Working Group D. Dhody, Ed. | |||
| Internet-Draft Huawei Technologies | Internet-Draft Huawei Technologies | |||
| Intended status: Standards Track J. Hardwick | Intended status: Standards Track J. Hardwick | |||
| Expires: September 27, 2019 Metaswitch | Expires: January 2, 2020 Metaswitch | |||
| V. Beeram | V. Beeram | |||
| Juniper Networks | Juniper Networks | |||
| J. Tantsura | J. Tantsura | |||
| March 26, 2019 | July 1, 2019 | |||
| A YANG Data Model for Path Computation Element Communications Protocol | A YANG Data Model for Path Computation Element Communications Protocol | |||
| (PCEP) | (PCEP) | |||
| draft-ietf-pce-pcep-yang-11 | draft-ietf-pce-pcep-yang-12 | |||
| Abstract | Abstract | |||
| This document defines a YANG data model for the management of Path | This document defines a YANG data model for the management of Path | |||
| Computation Element communications Protocol (PCEP) for communications | Computation Element communications Protocol (PCEP) for communications | |||
| between a Path Computation Client (PCC) and a Path Computation | between a Path Computation Client (PCC) and a Path Computation | |||
| Element (PCE), or between two PCEs. The data model includes | Element (PCE), or between two PCEs. The data model includes | |||
| configuration and state data. | configuration and state data. | |||
| Status of This Memo | Status of This Memo | |||
| 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 https://datatracker.ietf.org/drafts/current/. | Drafts is at https://datatracker.ietf.org/drafts/current/. | |||
| Internet-Drafts are draft documents valid for a maximum of six months | Internet-Drafts are draft documents valid for a maximum of six months | |||
| and may be updated, replaced, or obsoleted by other documents at any | and may be updated, replaced, or obsoleted by other documents at any | |||
| time. It is inappropriate to use Internet-Drafts as reference | time. It is inappropriate to use Internet-Drafts as reference | |||
| material or to cite them other than as "work in progress." | material or to cite them other than as "work in progress." | |||
| This Internet-Draft will expire on September 27, 2019. | This Internet-Draft will expire on January 2, 2020. | |||
| Copyright Notice | Copyright Notice | |||
| Copyright (c) 2019 IETF Trust and the persons identified as the | Copyright (c) 2019 IETF Trust and the persons identified as the | |||
| document authors. All rights reserved. | document authors. All rights reserved. | |||
| This document is subject to BCP 78 and the IETF Trust's Legal | This document is subject to BCP 78 and the IETF Trust's Legal | |||
| Provisions Relating to IETF Documents | Provisions Relating to IETF Documents | |||
| (https://trustee.ietf.org/license-info) in effect on the date of | (https://trustee.ietf.org/license-info) in effect on the date of | |||
| publication of this document. Please review these documents | publication of this document. Please review these documents | |||
| carefully, as they describe your rights and restrictions with respect | carefully, as they describe your rights and restrictions with respect | |||
| to this document. Code Components extracted from this document must | to this document. Code Components extracted from this document must | |||
| include Simplified BSD License text as described in Section 4.e of | include Simplified BSD License text as described in Section 4.e of | |||
| the Trust Legal Provisions and are provided without warranty as | the Trust Legal Provisions and are provided without warranty as | |||
| described in the Simplified BSD License. | described in the Simplified BSD License. | |||
| Table of Contents | Table of Contents | |||
| 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2 | 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 3 | |||
| 2. Requirements Language . . . . . . . . . . . . . . . . . . . . 3 | 2. Requirements Language . . . . . . . . . . . . . . . . . . . . 3 | |||
| 3. Terminology and Notation . . . . . . . . . . . . . . . . . . 3 | 3. Terminology and Notation . . . . . . . . . . . . . . . . . . 3 | |||
| 3.1. Tree Diagrams . . . . . . . . . . . . . . . . . . . . . . 4 | 3.1. Tree Diagrams . . . . . . . . . . . . . . . . . . . . . . 5 | |||
| 3.2. Prefixes in Data Node Names . . . . . . . . . . . . . . . 5 | 3.2. Prefixes in Data Node Names . . . . . . . . . . . . . . . 5 | |||
| 3.3. Refrences in the Model . . . . . . . . . . . . . . . . . 5 | 3.3. Refrences in the Model . . . . . . . . . . . . . . . . . 5 | |||
| 4. Objectives . . . . . . . . . . . . . . . . . . . . . . . . . 7 | 4. Objectives . . . . . . . . . . . . . . . . . . . . . . . . . 7 | |||
| 5. The Design of PCEP Data Model . . . . . . . . . . . . . . . . 8 | 5. The Design of PCEP Data Model . . . . . . . . . . . . . . . . 8 | |||
| 5.1. The Overview of PCEP Data Model . . . . . . . . . . . . . 8 | 5.1. The Overview of PCEP Data Model . . . . . . . . . . . . . 8 | |||
| 5.2. The Entity . . . . . . . . . . . . . . . . . . . . . . . 9 | 5.2. The Entity . . . . . . . . . . . . . . . . . . . . . . . 9 | |||
| 5.3. The Peer Lists . . . . . . . . . . . . . . . . . . . . . 13 | 5.3. The Peer Lists . . . . . . . . . . . . . . . . . . . . . 13 | |||
| 5.4. The Session Lists . . . . . . . . . . . . . . . . . . . . 15 | 5.4. The Session Lists . . . . . . . . . . . . . . . . . . . . 15 | |||
| 5.5. Notifications . . . . . . . . . . . . . . . . . . . . . . 17 | 5.5. Notifications . . . . . . . . . . . . . . . . . . . . . . 17 | |||
| 5.6. RPC . . . . . . . . . . . . . . . . . . . . . . . . . . . 17 | 5.6. RPC . . . . . . . . . . . . . . . . . . . . . . . . . . . 17 | |||
| skipping to change at page 2, line 39 ¶ | skipping to change at page 2, line 39 ¶ | |||
| 7.1. Stateful PCE's LSP-DB . . . . . . . . . . . . . . . . . . 28 | 7.1. Stateful PCE's LSP-DB . . . . . . . . . . . . . . . . . . 28 | |||
| 8. Open Issues and Next Step . . . . . . . . . . . . . . . . . . 28 | 8. Open Issues and Next Step . . . . . . . . . . . . . . . . . . 28 | |||
| 8.1. The PCE-Initiated LSP . . . . . . . . . . . . . . . . . . 28 | 8.1. The PCE-Initiated LSP . . . . . . . . . . . . . . . . . . 28 | |||
| 9. Other Considerations . . . . . . . . . . . . . . . . . . . . 28 | 9. Other Considerations . . . . . . . . . . . . . . . . . . . . 28 | |||
| 9.1. PCEP over TLS (PCEPS) . . . . . . . . . . . . . . . . . . 28 | 9.1. PCEP over TLS (PCEPS) . . . . . . . . . . . . . . . . . . 28 | |||
| 10. PCEP YANG Modules . . . . . . . . . . . . . . . . . . . . . . 28 | 10. PCEP YANG Modules . . . . . . . . . . . . . . . . . . . . . . 28 | |||
| 10.1. ietf-pcep module . . . . . . . . . . . . . . . . . . . . 29 | 10.1. ietf-pcep module . . . . . . . . . . . . . . . . . . . . 29 | |||
| 10.2. ietf-pcep-stats module . . . . . . . . . . . . . . . . . 83 | 10.2. ietf-pcep-stats module . . . . . . . . . . . . . . . . . 83 | |||
| 11. Security Considerations . . . . . . . . . . . . . . . . . . . 101 | 11. Security Considerations . . . . . . . . . . . . . . . . . . . 101 | |||
| 12. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 102 | 12. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 102 | |||
| 13. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 102 | 13. Implementation Status . . . . . . . . . . . . . . . . . . . . 103 | |||
| 14. References . . . . . . . . . . . . . . . . . . . . . . . . . 103 | 14. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 103 | |||
| 14.1. Normative References . . . . . . . . . . . . . . . . . . 103 | 15. References . . . . . . . . . . . . . . . . . . . . . . . . . 104 | |||
| 14.2. Informative References . . . . . . . . . . . . . . . . . 106 | 15.1. Normative References . . . . . . . . . . . . . . . . . . 104 | |||
| Appendix A. Example . . . . . . . . . . . . . . . . . . . . . . 108 | 15.2. Informative References . . . . . . . . . . . . . . . . . 107 | |||
| Appendix B. Contributor Addresses . . . . . . . . . . . . . . . 111 | Appendix A. Example . . . . . . . . . . . . . . . . . . . . . . 109 | |||
| Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 112 | Appendix B. Contributor Addresses . . . . . . . . . . . . . . . 112 | |||
| Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 113 | ||||
| 1. Introduction | 1. Introduction | |||
| The Path Computation Element (PCE) defined in [RFC4655] is an entity | The Path Computation Element (PCE) defined in [RFC4655] is an entity | |||
| that is capable of computing a network path or route based on a | that is capable of computing a network path or route based on a | |||
| network graph, and applying computational constraints. A Path | network graph, and applying computational constraints. A Path | |||
| Computation Client (PCC) may make requests to a PCE for paths to be | Computation Client (PCC) may make requests to a PCE for paths to be | |||
| computed. | computed. | |||
| PCEP is the communication protocol between a PCC and PCE and is | PCEP is the communication protocol between a PCC and PCE and is | |||
| skipping to change at page 5, line 13 ¶ | skipping to change at page 5, line 19 ¶ | |||
| defined in [RFC8340]. | defined in [RFC8340]. | |||
| 3.2. Prefixes in Data Node Names | 3.2. Prefixes in Data Node Names | |||
| In this document, names of data nodes and other data model objects | In this document, names of data nodes and other data model objects | |||
| are often used without a prefix, as long as it is clear from the | are often used without a prefix, as long as it is clear from the | |||
| context in which YANG module each name is defined. Otherwise, names | context in which YANG module each name is defined. Otherwise, names | |||
| are prefixed using the standard prefix associated with the | are prefixed using the standard prefix associated with the | |||
| corresponding YANG module, as shown in Table 1. | corresponding YANG module, as shown in Table 1. | |||
| +-----------+-----------------+-------------------------------------+ | +----------+------------------+-------------------------------------+ | |||
| | Prefix | YANG module | Reference | | | Prefix | YANG module | Reference | | |||
| +-----------+-----------------+-------------------------------------+ | +----------+------------------+-------------------------------------+ | |||
| | yang | ietf-yang-types | [RFC6991] | | | yang | ietf-yang-types | [RFC6991] | | |||
| | inet | ietf-inet-types | [RFC6991] | | | inet | ietf-inet-types | [RFC6991] | | |||
| | te | ietf-te | [I-D.ietf-teas-yang-te] | | | te | ietf-te | [I-D.ietf-teas-yang-te] | | |||
| | te-types | ietf-te-types | [I-D.ietf-teas-yang-te] | | | te-types | ietf-te-types | [I-D.ietf-teas-yang-te] | | |||
| | key-chain | ietf-key-chain | [RFC8177] | | | key- | ietf-key-chain | [RFC8177] | | |||
| | nacm | ietf-netconf- | [RFC8341] | | | chain | | | | |||
| | | acm | | | | nacm | ietf-netconf-acm | [RFC8341] | | |||
| | tls- | ietf-tls-server | [I-D.ietf-netconf-tls-client-server | | | tlss | ietf-tls-server | [I-D.ietf-netconf-tls-client-server | | |||
| | server | | ] | | | | | ] | | |||
| | tls- | ietf-tls-client | [I-D.ietf-netconf-tls-client-server | | | tlsc | ietf-tls-client | [I-D.ietf-netconf-tls-client-server | | |||
| | client | | ] | | | | | ] | | |||
| | ospf | ietf-ospf | [I-D.ietf-ospf-yang] | | | ospf | ietf-ospf | [I-D.ietf-ospf-yang] | | |||
| | isis | ietf-isis | [I-D.ietf-isis-yang-isis-cfg] | | | isis | ietf-isis | [I-D.ietf-isis-yang-isis-cfg] | | |||
| +-----------+-----------------+-------------------------------------+ | +----------+------------------+-------------------------------------+ | |||
| Table 1: Prefixes and corresponding YANG modules | Table 1: Prefixes and corresponding YANG modules | |||
| 3.3. Refrences in the Model | 3.3. Refrences in the Model | |||
| Following documents are refrenced in the model defined in this | Following documents are refrenced in the model defined in this | |||
| document - | document - | |||
| +----------------------------+--------------------------------------+ | +----------------------------+--------------------------------------+ | |||
| | Documents | Reference | | | Documents | Reference | | |||
| skipping to change at page 8, line 44 ¶ | skipping to change at page 8, line 47 ¶ | |||
| | | ... | | | ... | |||
| | +--rw path-key {path-key}? | | +--rw path-key {path-key}? | |||
| | ... | | ... | |||
| +--ro lsp-db {stateful}? | +--ro lsp-db {stateful}? | |||
| | +--ro db-ver? uint64 | | +--ro db-ver? uint64 | |||
| | | {stateful-sync-opt}? | | | {stateful-sync-opt}? | |||
| | +--ro association-list* | | +--ro association-list* | |||
| | | [id source global-source extended-id] | | | [id source global-source extended-id] | |||
| | | ... | | | ... | |||
| | +--ro lsp* [plsp-id pcc-id] | | +--ro lsp* [plsp-id pcc-id lsp-id] | |||
| | ... | | ... | |||
| +--ro path-keys {path-key}? | +--ro path-keys {path-key}? | |||
| | +--ro path-keys* [path-key] | | +--ro path-keys* [path-key] | |||
| | ... | | ... | |||
| +--rw peers | +--rw peers | |||
| +--rw peer* [addr] | +--rw peer* [addr] | |||
| +--ro sessions | +--ro sessions | |||
| +--ro session* [initiator] | +--ro session* [initiator] | |||
| ... | ... | |||
| skipping to change at page 11, line 31 ¶ | skipping to change at page 11, line 34 ¶ | |||
| +--ro lsp-db {stateful}? | +--ro lsp-db {stateful}? | |||
| | +--ro db-ver? uint64 {sync-opt}? | | +--ro db-ver? uint64 {sync-opt}? | |||
| | +--ro association-list* | | +--ro association-list* | |||
| | | [type id source global-source extended-id] | | | [type id source global-source extended-id] | |||
| | | {association}? | | | {association}? | |||
| | | +--ro type identityref | | | +--ro type identityref | |||
| | | +--ro id uint16 | | | +--ro id uint16 | |||
| | | +--ro source inet:ip-address | | | +--ro source inet:ip-address | |||
| | | +--ro global-source uint32 | | | +--ro global-source uint32 | |||
| | | +--ro extended-id string | | | +--ro extended-id string | |||
| | | +--ro lsp* [plsp-id pcc-id] | | | +--ro lsp* [plsp-id pcc-id lsp-id] | |||
| | | +--ro plsp-id -> /pcep/entity/lsp-db/lsp/plsp-id | | | +--ro plsp-id -> /pcep/entity/lsp-db/lsp/plsp-id | |||
| | | +--ro pcc-id -> /pcep/entity/lsp-db/lsp/pcc-id | | | +--ro pcc-id -> /pcep/entity/lsp-db/lsp/pcc-id | |||
| | +--ro lsp* [plsp-id pcc-id] | | | +--ro lsp-id -> /pcep/entity/lsp-db/lsp/lsp-id | |||
| | +--ro lsp* [plsp-id pcc-id lsp-id] | ||||
| | +--ro plsp-id uint32 | | +--ro plsp-id uint32 | |||
| | +--ro pcc-id inet:ip-address | | +--ro pcc-id inet:ip-address | |||
| | +--ro lsp-ref | | +--ro source? | |||
| | | +--ro source? | | | -> /te:te/lsps-state/lsp/source | |||
| | | | -> /te:te/lsps-state/lsp/source | | +--ro destination? | |||
| | | +--ro destination? | | | -> /te:te/lsps-state/lsp/destination | |||
| | | | -> /te:te/lsps-state/lsp/destination | | +--ro tunnel-id? | |||
| | | +--ro tunnel-id? | | | -> /te:te/lsps-state/lsp/tunnel-id | |||
| | | | -> /te:te/lsps-state/lsp/tunnel-id | | +--ro lsp-id | |||
| | | +--ro lsp-id? | | | -> /te:te/lsps-state/lsp/lsp-id | |||
| | | | -> /te:te/lsps-state/lsp/lsp-id | | +--ro extended-tunnel-id? | |||
| | | +--ro extended-tunnel-id? | | | -> /te:te/lsps-state/lsp/extended-tunnel-id | |||
| | | -> /te:te/lsps-state/lsp/extended-tunnel-id | ||||
| | +--ro admin-state? boolean | | +--ro admin-state? boolean | |||
| | +--ro operational-state? operational-state | | +--ro operational-state? operational-state | |||
| | +--ro delegated | | +--ro delegated | |||
| | | +--ro enabled? boolean | | | +--ro enabled? boolean | |||
| | | +--ro peer? -> /pcep/entity/peers/peer/addr | | | +--ro peer? -> /pcep/entity/peers/peer/addr | |||
| | | +--ro srp-id? uint32 | | | +--ro srp-id? uint32 | |||
| | +--ro initiation {pce-initiated}? | | +--ro initiation {pce-initiated}? | |||
| | | +--ro enabled? boolean | | | +--ro enabled? boolean | |||
| | | +--ro peer? -> /pcep/entity/peers/peer/addr | | | +--ro peer? -> /pcep/entity/peers/peer/addr | |||
| | +--ro symbolic-path-name? string | | +--ro symbolic-path-name? string | |||
| skipping to change at page 12, line 51 ¶ | skipping to change at page 13, line 6 ¶ | |||
| | | | +--ro node-id te-node-id | | | | +--ro node-id te-node-id | |||
| | | | +--ro hop-type? te-hop-type | | | | +--ro hop-type? te-hop-type | |||
| | | | +--ro direction? te-link-direction | | | | +--ro direction? te-link-direction | |||
| | | +--:(as-number) | | | +--:(as-number) | |||
| | | | +--ro as-number-hop | | | | +--ro as-number-hop | |||
| | | | +--ro as-number inet:as-number | | | | +--ro as-number inet:as-number | |||
| | | | +--ro hop-type? te-hop-type | | | | +--ro hop-type? te-hop-type | |||
| | | +--:(label) | | | +--:(label) | |||
| | | +--ro label-hop | | | +--ro label-hop | |||
| | | +--ro te-label | | | +--ro te-label | |||
| | | ... | | | +--ro (technology)? | |||
| | | | +--:(generic) | ||||
| | | | ... | ||||
| | | +--ro direction? | ||||
| | | te-label-direction | ||||
| | +--ro pcc-original? -> /pcep/entity/peers/peer/addr | | +--ro pcc-original? -> /pcep/entity/peers/peer/addr | |||
| | +--ro req-id? uint32 | | +--ro req-id? uint32 | |||
| | +--ro retrieved? boolean | | +--ro retrieved? boolean | |||
| | +--ro pcc-retrieved? -> /pcep/entity/peers/peer/addr | | +--ro pcc-retrieved? -> /pcep/entity/peers/peer/addr | |||
| | +--ro creation-time? yang:timestamp | | +--ro creation-time? yang:timestamp | |||
| | +--ro discard-time? uint32 | | +--ro discard-time? uint32 | |||
| | +--ro reuse-time? uint32 | | +--ro reuse-time? uint32 | |||
| +--rw peers | +--rw peers | |||
| +--rw peer* [addr] | +--rw peer* [addr] | |||
| ... | ... | |||
| skipping to change at page 19, line 44 ¶ | skipping to change at page 19, line 44 ¶ | |||
| +--ro lsp-db {stateful}? | +--ro lsp-db {stateful}? | |||
| | +--ro db-ver? uint64 {sync-opt}? | | +--ro db-ver? uint64 {sync-opt}? | |||
| | +--ro association-list* | | +--ro association-list* | |||
| | | [type id source global-source extended-id] | | | [type id source global-source extended-id] | |||
| | | {association}? | | | {association}? | |||
| | | +--ro type identityref | | | +--ro type identityref | |||
| | | +--ro id uint16 | | | +--ro id uint16 | |||
| | | +--ro source inet:ip-address | | | +--ro source inet:ip-address | |||
| | | +--ro global-source uint32 | | | +--ro global-source uint32 | |||
| | | +--ro extended-id string | | | +--ro extended-id string | |||
| | | +--ro lsp* [plsp-id pcc-id] | | | +--ro lsp* [plsp-id pcc-id lsp-id] | |||
| | | +--ro plsp-id -> /pcep/entity/lsp-db/lsp/plsp-id | | | +--ro plsp-id | |||
| | | | -> /pcep/entity/lsp-db/lsp/plsp-id | ||||
| | | +--ro pcc-id -> /pcep/entity/lsp-db/lsp/pcc-id | | | +--ro pcc-id -> /pcep/entity/lsp-db/lsp/pcc-id | |||
| | +--ro lsp* [plsp-id pcc-id] | | | +--ro lsp-id -> /pcep/entity/lsp-db/lsp/lsp-id | |||
| | +--ro lsp* [plsp-id pcc-id lsp-id] | ||||
| | +--ro plsp-id uint32 | | +--ro plsp-id uint32 | |||
| | +--ro pcc-id inet:ip-address | | +--ro pcc-id inet:ip-address | |||
| | +--ro lsp-ref | | +--ro source? | |||
| | | +--ro source? | | | -> /te:te/lsps-state/lsp/source | |||
| | | | -> /te:te/lsps-state/lsp/source | | +--ro destination? | |||
| | | +--ro destination? | | | -> /te:te/lsps-state/lsp/destination | |||
| | | | -> /te:te/lsps-state/lsp/destination | | +--ro tunnel-id? | |||
| | | +--ro tunnel-id? | | | -> /te:te/lsps-state/lsp/tunnel-id | |||
| | | | -> /te:te/lsps-state/lsp/tunnel-id | | +--ro lsp-id | |||
| | | +--ro lsp-id? | | | -> /te:te/lsps-state/lsp/lsp-id | |||
| | | | -> /te:te/lsps-state/lsp/lsp-id | | +--ro extended-tunnel-id? | |||
| | | +--ro extended-tunnel-id? | | | -> /te:te/lsps-state/lsp/extended-tunnel-id | |||
| | | -> /te:te/lsps-state/lsp/extended-tunnel-id | ||||
| | +--ro admin-state? boolean | | +--ro admin-state? boolean | |||
| | +--ro operational-state? operational-state | | +--ro operational-state? operational-state | |||
| | +--ro delegated | | +--ro delegated | |||
| | | +--ro enabled? boolean | | | +--ro enabled? boolean | |||
| | | +--ro peer? -> /pcep/entity/peers/peer/addr | | | +--ro peer? -> /pcep/entity/peers/peer/addr | |||
| | | +--ro srp-id? uint32 | | | +--ro srp-id? uint32 | |||
| | +--ro initiation {pce-initiated}? | | +--ro initiation {pce-initiated}? | |||
| | | +--ro enabled? boolean | | | +--ro enabled? boolean | |||
| | | +--ro peer? -> /pcep/entity/peers/peer/addr | | | +--ro peer? -> /pcep/entity/peers/peer/addr | |||
| | +--ro symbolic-path-name? string | | +--ro symbolic-path-name? string | |||
| | +--ro last-error? identityref | | +--ro last-error? identityref | |||
| | +--ro pst? identityref | | +--ro pst? identityref | |||
| | +--ro association-list* | | +--ro association-list* | |||
| | [type id source global-source extended-id] | | [type id source global-source extended-id] | |||
| | {association}? | | {association}? | |||
| | +--ro type | | +--ro type leafref | |||
| | | -> /pcep/entity/lsp-db/association-list/type | ||||
| | +--ro id | | +--ro id | |||
| | | -> /pcep/entity/lsp-db/association-list/id | | | -> /pcep/entity/lsp-db/association-list/id | |||
| | +--ro source leafref | | +--ro source leafref | |||
| | +--ro global-source leafref | | +--ro global-source leafref | |||
| | +--ro extended-id leafref | | +--ro extended-id leafref | |||
| +--ro path-keys {path-key}? | +--ro path-keys {path-key}? | |||
| | +--ro path-keys* [path-key] | | +--ro path-keys* [path-key] | |||
| | +--ro path-key uint16 | | +--ro path-key uint16 | |||
| | +--ro cps | | +--ro cps | |||
| | | +--ro explicit-route-objects* [index] | | | +--ro explicit-route-objects* [index] | |||
| skipping to change at page 21, line 17 ¶ | skipping to change at page 21, line 17 ¶ | |||
| | | | +--ro hop-type? te-hop-type | | | | +--ro hop-type? te-hop-type | |||
| | | | +--ro direction? te-link-direction | | | | +--ro direction? te-link-direction | |||
| | | +--:(as-number) | | | +--:(as-number) | |||
| | | | +--ro as-number-hop | | | | +--ro as-number-hop | |||
| | | | +--ro as-number inet:as-number | | | | +--ro as-number inet:as-number | |||
| | | | +--ro hop-type? te-hop-type | | | | +--ro hop-type? te-hop-type | |||
| | | +--:(label) | | | +--:(label) | |||
| | | +--ro label-hop | | | +--ro label-hop | |||
| | | +--ro te-label | | | +--ro te-label | |||
| | | ... | | | ... | |||
| | +--ro pcc-original? -> /pcep/entity/peers/peer/addr | | +--ro pcc-original? | |||
| | | -> /pcep/entity/peers/peer/addr | ||||
| | +--ro req-id? uint32 | | +--ro req-id? uint32 | |||
| | +--ro retrieved? boolean | | +--ro retrieved? boolean | |||
| | +--ro pcc-retrieved? -> /pcep/entity/peers/peer/addr | | +--ro pcc-retrieved? | |||
| | | -> /pcep/entity/peers/peer/addr | ||||
| | +--ro creation-time? yang:timestamp | | +--ro creation-time? yang:timestamp | |||
| | +--ro discard-time? uint32 | | +--ro discard-time? uint32 | |||
| | +--ro reuse-time? uint32 | | +--ro reuse-time? uint32 | |||
| +--rw peers | +--rw peers | |||
| +--rw peer* [addr] | +--rw peer* [addr] | |||
| +--rw addr inet:ip-address | +--rw addr inet:ip-address | |||
| +--rw role pcep-role | +--rw role pcep-role | |||
| +--rw description? string | +--rw description? string | |||
| +--rw domain | +--rw domain | |||
| | +--rw domain* [domain-type domain] | | +--rw domain* [domain-type domain] | |||
| skipping to change at page 22, line 20 ¶ | skipping to change at page 22, line 22 ¶ | |||
| | +--rw domain* [domain-type domain] | | +--rw domain* [domain-type domain] | |||
| | +--rw domain-type domain-type | | +--rw domain-type domain-type | |||
| | +--rw domain domain | | +--rw domain domain | |||
| +--rw delegation-pref? uint8 {stateful}? | +--rw delegation-pref? uint8 {stateful}? | |||
| +--rw auth | +--rw auth | |||
| | +--rw (auth-type-selection)? | | +--rw (auth-type-selection)? | |||
| | +--:(auth-key-chain) | | +--:(auth-key-chain) | |||
| | | +--rw key-chain? | | | +--rw key-chain? | |||
| | | key-chain:key-chain-ref | | | key-chain:key-chain-ref | |||
| | +--:(auth-key) | | +--:(auth-key) | |||
| | | +--rw crypto-algorithm identityref | | | +--rw crypto-algorithm | |||
| | | | identityref | ||||
| | | +--rw (key-string-style)? | | | +--rw (key-string-style)? | |||
| | | +--:(keystring) | | | +--:(keystring) | |||
| | | | +--rw keystring? string | | | | +--rw keystring? string | |||
| | | +--:(hexadecimal) | | | +--:(hexadecimal) | |||
| | | {key-chain:hex-key-string}? | | | {key-chain:hex-key-string}? | |||
| | | +--rw hexadecimal-string? | | | +--rw hexadecimal-string? | |||
| | | yang:hex-string | | | yang:hex-string | |||
| | +--:(auth-tls) {tls}? | | +--:(auth-tls) {tls}? | |||
| | +--rw (role)? | | +--rw (role)? | |||
| | +--:(server) | | +--:(server) | |||
| skipping to change at page 23, line 27 ¶ | skipping to change at page 23, line 30 ¶ | |||
| | {stateful,sync-opt}? | | {stateful,sync-opt}? | |||
| +--ro of-list {objective-function}? | +--ro of-list {objective-function}? | |||
| | +--ro objective-function* [of] | | +--ro objective-function* [of] | |||
| | +--ro of identityref | | +--ro of identityref | |||
| +--ro pst-list | +--ro pst-list | |||
| | +--ro path-setup-type* [pst] | | +--ro path-setup-type* [pst] | |||
| | +--ro pst identityref | | +--ro pst identityref | |||
| +--ro assoc-type-list {association}? | +--ro assoc-type-list {association}? | |||
| | +--ro assoc-type* [at] | | +--ro assoc-type* [at] | |||
| | +--ro at identityref | | +--ro at identityref | |||
| +--ro speaker-entity-id? string {sync-opt}? | +--ro speaker-entity-id? string | |||
| | {sync-opt}? | ||||
| +--ro discontinuity-time? yang:timestamp | +--ro discontinuity-time? yang:timestamp | |||
| rpcs: | rpcs: | |||
| +---x trigger-resync {stateful,sync-opt}? | +---x trigger-resync {stateful,sync-opt}? | |||
| +---w input | +---w input | |||
| +---w pcc? -> /pcep/entity/peers/peer/addr | +---w pcc? -> /pcep/entity/peers/peer/addr | |||
| notifications: | notifications: | |||
| +---n pcep-session-up | +---n pcep-session-up | |||
| | +--ro peer-addr? -> /pcep/entity/peers/peer/addr | | +--ro peer-addr? -> /pcep/entity/peers/peer/addr | |||
| skipping to change at page 27, line 29 ¶ | skipping to change at page 27, line 32 ¶ | |||
| "ietf-pcep" which provides the basic PCEP [RFC5440] data model. | "ietf-pcep" which provides the basic PCEP [RFC5440] data model. | |||
| This document further handles advanced PCE features like - | This document further handles advanced PCE features like - | |||
| o Capability and Scope | o Capability and Scope | |||
| o Domain information (local/neighbour) | o Domain information (local/neighbour) | |||
| o Path-Key | o Path-Key | |||
| o OF | o Objective Function (OF) | |||
| o GCO | o Global Concurrent Optimization (GCO) | |||
| o P2MP | o P2MP | |||
| o GMPLS | o GMPLS | |||
| o Inter-Layer | o Inter-Layer | |||
| o Stateful PCE | o Stateful PCE | |||
| o Segement Routing | o Segment Routing (SR) | |||
| o Authentication including PCEPS (TLS) | o Authentication including PCEPS (TLS) | |||
| 7.1. Stateful PCE's LSP-DB | 7.1. Stateful PCE's LSP-DB | |||
| In the operational state of PCEP which supports stateful PCE mode, | In the operational state of PCEP which supports stateful PCE mode, | |||
| the list of LSP state are maintained in LSP-DB. The key is the PLSP- | the list of LSP state are maintained in LSP-DB. The key is the PLSP- | |||
| ID and the PCC IP address. | ID and the PCC IP address. | |||
| The PCEP data model contains the operational state of LSPs | The PCEP data model contains the operational state of LSPs | |||
| skipping to change at page 29, line 10 ¶ | skipping to change at page 29, line 10 ¶ | |||
| This means that the identity verification is completed before the | This means that the identity verification is completed before the | |||
| PCEP session is started.. | PCEP session is started.. | |||
| 10. PCEP YANG Modules | 10. PCEP YANG Modules | |||
| 10.1. ietf-pcep module | 10.1. ietf-pcep module | |||
| RFC Ed.: In this section, replace all occurrences of 'XXXX' with the | RFC Ed.: In this section, replace all occurrences of 'XXXX' with the | |||
| actual RFC number and all occurrences of the revision date below with | actual RFC number and all occurrences of the revision date below with | |||
| the date of RFC publication (and remove this note). | the date of RFC publication (and remove this note). | |||
| <CODE BEGINS> file "ietf-pcep@2019-03-26.yang" | <CODE BEGINS> file "ietf-pcep@2019-07-01.yang" | |||
| module ietf-pcep { | module ietf-pcep { | |||
| yang-version 1.1; | yang-version 1.1; | |||
| namespace "urn:ietf:params:xml:ns:yang:ietf-pcep"; | namespace "urn:ietf:params:xml:ns:yang:ietf-pcep"; | |||
| prefix pcep; | prefix pcep; | |||
| import ietf-inet-types { | import ietf-inet-types { | |||
| prefix inet; | prefix inet; | |||
| reference | reference | |||
| "RFC 6991: Common YANG Data Types"; | "RFC 6991: Common YANG Data Types"; | |||
| } | } | |||
| import ietf-yang-types { | import ietf-yang-types { | |||
| prefix yang; | prefix yang; | |||
| reference | reference | |||
| "RFC 6991: Common YANG Data Types"; | "RFC 6991: Common YANG Data Types"; | |||
| } | } | |||
| import ietf-te { | import ietf-te { | |||
| prefix te; | prefix te; | |||
| reference | reference | |||
| "[I-D.ietf-teas-yang-te]: A YANG Data Model for Traffic | "I-D.ietf-teas-yang-te: A YANG Data Model for Traffic | |||
| Engineering Tunnels and Interfaces"; | Engineering Tunnels and Interfaces"; | |||
| } | } | |||
| import ietf-te-types { | import ietf-te-types { | |||
| prefix te-types; | prefix te-types; | |||
| reference | reference | |||
| "[I-D.ietf-teas-yang-te-types]: Traffic Engineering Common YANG | "I-D.ietf-teas-yang-te-types: Traffic Engineering Common YANG | |||
| Types"; | Types"; | |||
| } | } | |||
| import ietf-key-chain { | import ietf-key-chain { | |||
| prefix key-chain; | prefix key-chain; | |||
| reference | reference | |||
| "RFC 8177: YANG Data Model for Key Chains"; | "RFC 8177: YANG Data Model for Key Chains"; | |||
| } | } | |||
| import ietf-netconf-acm { | import ietf-netconf-acm { | |||
| prefix netconf-acm; | prefix nacm; | |||
| reference | reference | |||
| "RFC 8341: Network Configuration Protocol (NETCONF) Access | "RFC 8341: Network Configuration Protocol (NETCONF) Access | |||
| Control Model"; | Control Model"; | |||
| } | } | |||
| import ietf-tls-server { | import ietf-tls-server { | |||
| prefix tls-server; | prefix tlss; | |||
| reference | reference | |||
| "[I-D.ietf-netconf-tls-client-server]: YANG Groupings for TLS | "I-D.ietf-netconf-tls-client-server: YANG Groupings for TLS | |||
| Clients and TLS Servers"; | Clients and TLS Servers"; | |||
| } | } | |||
| import ietf-tls-client { | import ietf-tls-client { | |||
| prefix tls-client; | prefix tlsc; | |||
| reference | reference | |||
| "[I-D.ietf-netconf-tls-client-server]: YANG Groupings for TLS | "I-D.ietf-netconf-tls-client-server: YANG Groupings for TLS | |||
| Clients and TLS Servers"; | Clients and TLS Servers"; | |||
| } | } | |||
| import ietf-ospf { | import ietf-ospf { | |||
| prefix ospf; | prefix ospf; | |||
| reference | reference | |||
| "[I-D.ietf-ospf-yang]: YANG Data Model for OSPF Protocol"; | "I-D.ietf-ospf-yang: YANG Data Model for OSPF Protocol"; | |||
| } | } | |||
| import ietf-isis { | import ietf-isis { | |||
| prefix isis; | prefix isis; | |||
| reference | reference | |||
| "[I-D.ietf-isis-yang-isis-cfg]: YANG Data Model for IS-IS | "I-D.ietf-isis-yang-isis-cfg: YANG Data Model for IS-IS | |||
| Protocol"; | Protocol"; | |||
| } | } | |||
| organization | organization | |||
| "IETF PCE (Path Computation Element) Working Group"; | "IETF PCE (Path Computation Element) Working Group"; | |||
| contact | contact | |||
| "WG Web: <https://tools.ietf.org/wg/pce/> | "WG Web: <https://tools.ietf.org/wg/pce/> | |||
| WG List: <mailto:pce@ietf.org> | WG List: <mailto:pce@ietf.org> | |||
| Editor: Dhruv Dhody | Editor: Dhruv Dhody | |||
| <mailto:dhruv.ietf@gmail.com>"; | <mailto:dhruv.ietf@gmail.com>"; | |||
| skipping to change at page 30, line 45 ¶ | skipping to change at page 30, line 49 ¶ | |||
| operational model for PCEP. | operational model for PCEP. | |||
| Copyright (c) 2019 IETF Trust and the persons identified as | Copyright (c) 2019 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). | (https://trustee.ietf.org/license-info). | |||
| This version of this YANG module is part of RFC XXXX; see the | This version of this YANG module is part of RFC XXXX; see the | |||
| RFC itself for full legal notices."; | RFC itself for full legal notices."; | |||
| revision 2019-03-26 { | revision 2019-07-01 { | |||
| description | description | |||
| "Initial revision."; | "Initial revision."; | |||
| reference | reference | |||
| "RFC XXXX: A YANG Data Model for Path Computation | "RFC XXXX: A YANG Data Model for Path Computation | |||
| Element Communications Protocol (PCEP)"; | Element Communications Protocol (PCEP)"; | |||
| } | } | |||
| /* | /* | |||
| * Typedefs | * Typedefs | |||
| */ | */ | |||
| skipping to change at page 34, line 42 ¶ | skipping to change at page 34, line 42 ¶ | |||
| } | } | |||
| description | description | |||
| "The PCE Domain Type"; | "The PCE Domain Type"; | |||
| } | } | |||
| typedef domain-ospf-area { | typedef domain-ospf-area { | |||
| type ospf:area-id-type; | type ospf:area-id-type; | |||
| description | description | |||
| "OSPF Area ID."; | "OSPF Area ID."; | |||
| reference | reference | |||
| "[I-D.ietf-ospf-yang]: YANG Data Model for OSPF Protocol"; | "I-D.ietf-ospf-yang: YANG Data Model for OSPF Protocol"; | |||
| } | } | |||
| typedef domain-isis-area { | typedef domain-isis-area { | |||
| type isis:area-address; | type isis:area-address; | |||
| description | description | |||
| "IS-IS Area ID."; | "IS-IS Area ID."; | |||
| reference | reference | |||
| "[I-D.ietf-isis-yang-isis-cfg]: YANG Data Model for IS-IS | "I-D.ietf-isis-yang-isis-cfg: YANG Data Model for IS-IS | |||
| Protocol"; | Protocol"; | |||
| } | } | |||
| typedef domain-as { | typedef domain-as { | |||
| type inet:as-number; | type inet:as-number; | |||
| description | description | |||
| "Autonomous System number."; | "Autonomous System number."; | |||
| } | } | |||
| typedef domain { | typedef domain { | |||
| type union { | type union { | |||
| type domain-ospf-area; | type domain-ospf-area; | |||
| type domain-isis-area; | type domain-isis-area; | |||
| skipping to change at page 37, line 4 ¶ | skipping to change at page 37, line 6 ¶ | |||
| description | description | |||
| "Support synchronized path computation."; | "Support synchronized path computation."; | |||
| reference | reference | |||
| "RFC 5440: Path Computation Element (PCE) Communication | "RFC 5440: Path Computation Element (PCE) Communication | |||
| Protocol (PCEP)"; | Protocol (PCEP)"; | |||
| } | } | |||
| feature gmpls { | feature gmpls { | |||
| description | description | |||
| "Support GMPLS."; | "Support GMPLS."; | |||
| reference | reference | |||
| "[I-D.ietf-pce-gmpls-pcep-extensions]: PCEP extensions for | "I-D.ietf-pce-gmpls-pcep-extensions: PCEP extensions for | |||
| GMPLS"; | GMPLS"; | |||
| } | } | |||
| feature objective-function { | feature objective-function { | |||
| description | description | |||
| "Support OF as per RFC 5541."; | "Support OF as per RFC 5541."; | |||
| reference | reference | |||
| "RFC 5541: Encoding of Objective Functions in the Path | "RFC 5541: Encoding of Objective Functions in the Path | |||
| Computation Element Communication Protocol (PCEP)"; | Computation Element Communication Protocol (PCEP)"; | |||
| } | } | |||
| skipping to change at page 38, line 36 ¶ | skipping to change at page 38, line 37 ¶ | |||
| reference | reference | |||
| "RFC 8253: PCEPS: Usage of TLS to Provide a Secure Transport | "RFC 8253: PCEPS: Usage of TLS to Provide a Secure Transport | |||
| for the Path Computation Element Communication Protocol | for the Path Computation Element Communication Protocol | |||
| (PCEP)"; | (PCEP)"; | |||
| } | } | |||
| feature sr { | feature sr { | |||
| description | description | |||
| "Support Segment Routing for PCE."; | "Support Segment Routing for PCE."; | |||
| reference | reference | |||
| "[I-D.ietf-pce-segment-routing]: PCEP Extensions for Segment | "I-D.ietf-pce-segment-routing: PCEP Extensions for Segment | |||
| Routing"; | Routing"; | |||
| } | } | |||
| feature association { | feature association { | |||
| description | description | |||
| "Support Association in PCEP."; | "Support Association in PCEP."; | |||
| reference | reference | |||
| "[I-D.ietf-pce-association-group]: PCEP Extensions for | "I-D.ietf-pce-association-group: PCEP Extensions for | |||
| Establishing Relationships Between Sets of LSPs"; | Establishing Relationships Between Sets of LSPs"; | |||
| } | } | |||
| /* | /* | |||
| * Identities | * Identities | |||
| */ | */ | |||
| identity lsp-error { | identity lsp-error { | |||
| if-feature "stateful"; | if-feature "stateful"; | |||
| description | description | |||
| skipping to change at page 46, line 46 ¶ | skipping to change at page 46, line 46 ¶ | |||
| "Support incremental (delta) sync"; | "Support incremental (delta) sync"; | |||
| reference | reference | |||
| "RFC 8232: Optimizations of Label Switched Path State | "RFC 8232: Optimizations of Label Switched Path State | |||
| Synchronization Procedures for a Stateful PCE"; | Synchronization Procedures for a Stateful PCE"; | |||
| } | } | |||
| container sr { | container sr { | |||
| if-feature "sr"; | if-feature "sr"; | |||
| description | description | |||
| "If segment routing is supported"; | "If segment routing is supported"; | |||
| reference | reference | |||
| "[I-D.ietf-pce-segment-routing]: PCEP Extensions for Segment | "I-D.ietf-pce-segment-routing: PCEP Extensions for Segment | |||
| Routing"; | Routing"; | |||
| leaf enabled { | leaf enabled { | |||
| type boolean; | type boolean; | |||
| description | description | |||
| "Set to true if SR is enabled"; | "Set to true if SR is enabled"; | |||
| } | } | |||
| leaf msd-limit { | leaf msd-limit { | |||
| type boolean; | type boolean; | |||
| default "false"; | default "false"; | |||
| skipping to change at page 47, line 30 ¶ | skipping to change at page 47, line 30 ¶ | |||
| } | } | |||
| //sr | //sr | |||
| } | } | |||
| //capability | //capability | |||
| leaf msd { | leaf msd { | |||
| if-feature "sr"; | if-feature "sr"; | |||
| type uint8; | type uint8; | |||
| description | description | |||
| "Maximum SID Depth for SR"; | "Maximum SID Depth for SR"; | |||
| reference | reference | |||
| "[I-D.ietf-pce-segment-routing]: PCEP Extensions for Segment | "I-D.ietf-pce-segment-routing: PCEP Extensions for Segment | |||
| Routing"; | Routing"; | |||
| } | } | |||
| } | } | |||
| //info | //info | |||
| grouping pce-info { | grouping pce-info { | |||
| description | description | |||
| "This grouping specifies all PCE information | "This grouping specifies all PCE information | |||
| which maybe relevant to the PCE selection. | which maybe relevant to the PCE selection. | |||
| skipping to change at page 59, line 40 ¶ | skipping to change at page 59, line 40 ¶ | |||
| type uint64; | type uint64; | |||
| description | description | |||
| "The LSP State Database Version Number"; | "The LSP State Database Version Number"; | |||
| } | } | |||
| list association-list { | list association-list { | |||
| if-feature "association"; | if-feature "association"; | |||
| key "type id source global-source extended-id"; | key "type id source global-source extended-id"; | |||
| description | description | |||
| "List of all PCEP associations"; | "List of all PCEP associations"; | |||
| reference | reference | |||
| "[I-D.ietf-pce-association-group]: PCEP | "I-D.ietf-pce-association-group: PCEP | |||
| Extensions for Establishing Relationships | Extensions for Establishing Relationships | |||
| Between Sets of LSPs"; | Between Sets of LSPs"; | |||
| leaf type { | leaf type { | |||
| type identityref { | type identityref { | |||
| base te-types:association-type; | base te-types:association-type; | |||
| } | } | |||
| description | description | |||
| "The PCEP association type"; | "The PCEP association type"; | |||
| } | } | |||
| leaf id { | leaf id { | |||
| skipping to change at page 60, line 24 ¶ | skipping to change at page 60, line 24 ¶ | |||
| description | description | |||
| "PCEP Association Global Source."; | "PCEP Association Global Source."; | |||
| } | } | |||
| leaf extended-id { | leaf extended-id { | |||
| type string; | type string; | |||
| description | description | |||
| "Additional information to support unique | "Additional information to support unique | |||
| identification."; | identification."; | |||
| } | } | |||
| list lsp { | list lsp { | |||
| key "plsp-id pcc-id"; | key "plsp-id pcc-id lsp-id"; | |||
| description | description | |||
| "List of all LSP in this association"; | "List of all LSP in this association"; | |||
| leaf plsp-id { | leaf plsp-id { | |||
| type leafref { | type leafref { | |||
| path "/pcep/entity/lsp-db/" | path "/pcep/entity/lsp-db/" | |||
| + "lsp/plsp-id"; | + "lsp/plsp-id"; | |||
| } | } | |||
| description | description | |||
| "Reference to PLSP-ID in LSP-DB"; | "Reference to PLSP-ID in LSP-DB"; | |||
| } | } | |||
| leaf pcc-id { | leaf pcc-id { | |||
| type leafref { | type leafref { | |||
| path "/pcep/entity/lsp-db/" | path "/pcep/entity/lsp-db/" | |||
| + "lsp/pcc-id"; | + "lsp/pcc-id"; | |||
| } | } | |||
| description | description | |||
| "Reference to PCC-ID in LSP-DB"; | "Reference to PCC-ID in LSP-DB"; | |||
| } | } | |||
| leaf lsp-id { | ||||
| type leafref { | ||||
| path "/pcep/entity/lsp-db/" | ||||
| + "lsp/lsp-id"; | ||||
| } | ||||
| description | ||||
| "Reference to LSP ID in LSP-DB"; | ||||
| } | ||||
| } | } | |||
| } | } | |||
| list lsp { | list lsp { | |||
| key "plsp-id pcc-id"; | key "plsp-id pcc-id lsp-id"; | |||
| description | description | |||
| "List of all LSPs in LSP-DB"; | "List of all LSPs in LSP-DB"; | |||
| leaf plsp-id { | leaf plsp-id { | |||
| type uint32 { | type uint32 { | |||
| range "1..1048575"; | range "1..1048575"; | |||
| } | } | |||
| description | description | |||
| "A PCEP-specific identifier for the LSP. A PCC | "A PCEP-specific identifier for the LSP. A PCC | |||
| creates a unique PLSP-ID for each LSP that is | creates a unique PLSP-ID for each LSP that is | |||
| constant for the lifetime of a PCEP session. | constant for the lifetime of a PCEP session. | |||
| PLSP-ID is 20 bits with 0 and 0xFFFFF are | PLSP-ID is 20 bits with 0 and 0xFFFFF are | |||
| reserved"; | reserved"; | |||
| } | } | |||
| leaf pcc-id { | leaf pcc-id { | |||
| type inet:ip-address; | type inet:ip-address; | |||
| description | description | |||
| "The local internet address of the PCC, that | "The local internet address of the PCC, that | |||
| generated the PLSP-ID."; | generated the PLSP-ID."; | |||
| } | } | |||
| container lsp-ref { | leaf source { | |||
| description | type leafref { | |||
| "reference to ietf-te lsp state"; | path "/te:te/te:lsps-state/te:lsp/te:source"; | |||
| leaf source { | ||||
| type leafref { | ||||
| path "/te:te/te:lsps-state/te:lsp/te:source"; | ||||
| } | ||||
| description | ||||
| "Tunnel sender address extracted from | ||||
| SENDER_TEMPLATE object"; | ||||
| reference | ||||
| "RFC 3209: RSVP-TE: Extensions to RSVP for | ||||
| LSP Tunnels"; | ||||
| } | } | |||
| leaf destination { | description | |||
| type leafref { | "Tunnel sender address extracted from | |||
| path "/te:te/te:lsps-state/te:lsp/te:" | SENDER_TEMPLATE object"; | |||
| + "destination"; | reference | |||
| } | "RFC 3209: RSVP-TE: Extensions to RSVP for | |||
| description | LSP Tunnels"; | |||
| "Tunnel endpoint address extracted from | } | |||
| SESSION object"; | leaf destination { | |||
| reference | type leafref { | |||
| "RFC 3209: RSVP-TE: Extensions to RSVP for | path "/te:te/te:lsps-state/te:lsp/te:" | |||
| LSP Tunnels"; | + "destination"; | |||
| } | } | |||
| leaf tunnel-id { | description | |||
| type leafref { | "Tunnel endpoint address extracted from | |||
| path "/te:te/te:lsps-state/te:lsp/te:tunnel-id"; | SESSION object"; | |||
| } | reference | |||
| description | "RFC 3209: RSVP-TE: Extensions to RSVP for | |||
| "Tunnel identifier used in the SESSION | LSP Tunnels"; | |||
| that remains constant over the life | } | |||
| of the tunnel."; | leaf tunnel-id { | |||
| type leafref { | ||||
| path "/te:te/te:lsps-state/te:lsp/te:tunnel-id"; | ||||
| reference | ||||
| "RFC 3209: RSVP-TE: Extensions to RSVP for | ||||
| LSP Tunnels"; | ||||
| } | } | |||
| leaf lsp-id { | description | |||
| type leafref { | "Tunnel identifier used in the SESSION | |||
| path "/te:te/te:lsps-state/te:lsp/te:lsp-id"; | that remains constant over the life | |||
| } | of the tunnel."; | |||
| description | reference | |||
| "Identifier used in the SENDER_TEMPLATE | "RFC 3209: RSVP-TE: Extensions to RSVP for | |||
| and the FILTER_SPEC that can be changed | LSP Tunnels"; | |||
| to allow a sender to share resources with | } | |||
| itself."; | leaf lsp-id { | |||
| reference | type leafref { | |||
| "RFC 3209: RSVP-TE: Extensions to RSVP for | path "/te:te/te:lsps-state/te:lsp/te:lsp-id"; | |||
| LSP Tunnels"; | ||||
| } | } | |||
| leaf extended-tunnel-id { | description | |||
| type leafref { | "Identifier used in the SENDER_TEMPLATE | |||
| path "/te:te/te:lsps-state/te:lsp/te:" | and the FILTER_SPEC that can be changed | |||
| + "extended-tunnel-id"; | to allow a sender to share resources with | |||
| } | itself."; | |||
| description | reference | |||
| "Extended Tunnel ID of the LSP."; | "RFC 3209: RSVP-TE: Extensions to RSVP for | |||
| reference | LSP Tunnels"; | |||
| "RFC 3209: RSVP-TE: Extensions to RSVP for | } | |||
| LSP Tunnels"; | leaf extended-tunnel-id { | |||
| type leafref { | ||||
| path "/te:te/te:lsps-state/te:lsp/te:" | ||||
| + "extended-tunnel-id"; | ||||
| } | } | |||
| description | ||||
| "Extended Tunnel ID of the LSP."; | ||||
| reference | ||||
| "RFC 3209: RSVP-TE: Extensions to RSVP for | ||||
| LSP Tunnels"; | ||||
| } | } | |||
| leaf admin-state { | leaf admin-state { | |||
| type boolean; | type boolean; | |||
| description | description | |||
| "The desired operational state"; | "The desired operational state"; | |||
| } | } | |||
| leaf operational-state { | leaf operational-state { | |||
| type operational-state; | type operational-state; | |||
| description | description | |||
| "The operational status of the LSP"; | "The operational status of the LSP"; | |||
| skipping to change at page 65, line 27 ¶ | skipping to change at page 65, line 32 ¶ | |||
| leaf extended-id { | leaf extended-id { | |||
| type leafref { | type leafref { | |||
| path "/pcep/entity/lsp-db/" | path "/pcep/entity/lsp-db/" | |||
| + "association-list/extended-id"; | + "association-list/extended-id"; | |||
| } | } | |||
| description | description | |||
| "Additional information to | "Additional information to | |||
| support unique identification."; | support unique identification."; | |||
| } | } | |||
| reference | reference | |||
| "[I-D.ietf-pce-association-group]: PCEP | "I-D.ietf-pce-association-group: PCEP | |||
| Extensions for Establishing Relationships | Extensions for Establishing Relationships | |||
| Between Sets of LSPs"; | Between Sets of LSPs"; | |||
| } | } | |||
| } | } | |||
| } | } | |||
| container path-keys { | container path-keys { | |||
| when "../role = 'pce' or ../role = 'pcc-and-pce'" { | when "../role = 'pce' or ../role = 'pcc-and-pce'" { | |||
| description | description | |||
| "These fields are applicable when the role is | "These fields are applicable when the role is | |||
| PCE"; | PCE"; | |||
| skipping to change at page 69, line 4 ¶ | skipping to change at page 69, line 8 ¶ | |||
| leaf key-chain { | leaf key-chain { | |||
| type key-chain:key-chain-ref; | type key-chain:key-chain-ref; | |||
| description | description | |||
| "key-chain name."; | "key-chain name."; | |||
| } | } | |||
| } | } | |||
| case auth-key { | case auth-key { | |||
| leaf crypto-algorithm { | leaf crypto-algorithm { | |||
| type identityref { | type identityref { | |||
| base key-chain:crypto-algorithm; | base key-chain:crypto-algorithm; | |||
| } | } | |||
| mandatory true; | mandatory true; | |||
| description | description | |||
| "Cryptographic algorithm associated | "Cryptographic algorithm associated | |||
| with key."; | with key."; | |||
| } | } | |||
| choice key-string-style { | choice key-string-style { | |||
| description | description | |||
| "Key string styles"; | "Key string styles"; | |||
| case keystring { | case keystring { | |||
| leaf keystring { | leaf keystring { | |||
| netconf-acm:default-deny-all; | nacm:default-deny-all; | |||
| type string; | type string; | |||
| description | description | |||
| "Key string in ASCII format."; | "Key string in ASCII format."; | |||
| } | } | |||
| } | } | |||
| case hexadecimal { | case hexadecimal { | |||
| if-feature "key-chain:hex-key-string"; | if-feature "key-chain:hex-key-string"; | |||
| leaf hexadecimal-string { | leaf hexadecimal-string { | |||
| netconf-acm:default-deny-all; | nacm:default-deny-all; | |||
| type yang:hex-string; | type yang:hex-string; | |||
| description | description | |||
| "Key in hexadecimal string format. When | "Key in hexadecimal string format. When | |||
| compared to ASCII, specification in | compared to ASCII, specification in | |||
| hexadecimal affords greater key entropy | hexadecimal affords greater key entropy | |||
| with the same number of internal | with the same number of internal | |||
| key-string octets. Additionally, it | key-string octets. Additionally, it | |||
| discourages usage of well-known words or | discourages usage of well-known words or | |||
| numbers."; | numbers."; | |||
| } | } | |||
| } | } | |||
| } | } | |||
| } | } | |||
| case auth-tls { | case auth-tls { | |||
| if-feature "tls"; | if-feature "tls"; | |||
| choice role { | choice role { | |||
| description | description | |||
| "The role of the local entity"; | "The role of the local entity"; | |||
| case server { | case server { | |||
| container tls-server { | container tls-server { | |||
| uses tls-server:tls-server-grouping { | uses tlss:tls-server-grouping { | |||
| description | description | |||
| "Server TLS information."; | "Server TLS information."; | |||
| } | } | |||
| description | description | |||
| "TLS related information"; | "TLS related information"; | |||
| } | } | |||
| } | } | |||
| case client { | case client { | |||
| container tls-client { | container tls-client { | |||
| uses tls-client:tls-client-grouping { | uses tlsc:tls-client-grouping { | |||
| description | description | |||
| "Client TLS information."; | "Client TLS information."; | |||
| } | } | |||
| description | description | |||
| "TLS related information"; | "TLS related information"; | |||
| } | } | |||
| } | } | |||
| } | } | |||
| } | } | |||
| } | } | |||
| skipping to change at page 78, line 28 ¶ | skipping to change at page 78, line 32 ¶ | |||
| "The PST authorized"; | "The PST authorized"; | |||
| } | } | |||
| } | } | |||
| } | } | |||
| container assoc-type-list { | container assoc-type-list { | |||
| if-feature "association"; | if-feature "association"; | |||
| description | description | |||
| "Indicate the list of supported association types | "Indicate the list of supported association types | |||
| on this session"; | on this session"; | |||
| reference | reference | |||
| "[I-D.ietf-pce-association-group]: PCEP | "I-D.ietf-pce-association-group: PCEP | |||
| Extensions for Establishing Relationships | Extensions for Establishing Relationships | |||
| Between Sets of LSPs"; | Between Sets of LSPs"; | |||
| list assoc-type { | list assoc-type { | |||
| key "at"; | key "at"; | |||
| description | description | |||
| "The list of authorized association types"; | "The list of authorized association types"; | |||
| leaf at { | leaf at { | |||
| type identityref { | type identityref { | |||
| base te-types:association-type; | base te-types:association-type; | |||
| } | } | |||
| skipping to change at page 83, line 24 ¶ | skipping to change at page 83, line 29 ¶ | |||
| //input | //input | |||
| } | } | |||
| //rpc | //rpc | |||
| } | } | |||
| <CODE ENDS> | <CODE ENDS> | |||
| 10.2. ietf-pcep-stats module | 10.2. ietf-pcep-stats module | |||
| <CODE BEGINS> file "ietf-pcep-stats@2019-03-26.yang" | <CODE BEGINS> file "ietf-pcep-stats@2019-07-01.yang" | |||
| module ietf-pcep-stats { | module ietf-pcep-stats { | |||
| yang-version 1.1; | yang-version 1.1; | |||
| namespace "urn:ietf:params:xml:ns:yang:ietf-pcep-stats"; | namespace "urn:ietf:params:xml:ns:yang:ietf-pcep-stats"; | |||
| prefix pcep-stats; | prefix pcep-stats; | |||
| import ietf-pcep { | import ietf-pcep { | |||
| prefix pcep; | prefix pcep; | |||
| reference | reference | |||
| "RFC XXXX: A YANG Data Model for Path Computation | "RFC XXXX: A YANG Data Model for Path Computation | |||
| Element Communications Protocol (PCEP)"; | Element Communications Protocol (PCEP)"; | |||
| } | } | |||
| import ietf-yang-types { | import ietf-yang-types { | |||
| prefix yang; | prefix yang; | |||
| skipping to change at page 83, line 44 ¶ | skipping to change at page 84, line 4 ¶ | |||
| Element Communications Protocol (PCEP)"; | Element Communications Protocol (PCEP)"; | |||
| } | } | |||
| import ietf-yang-types { | import ietf-yang-types { | |||
| prefix yang; | prefix yang; | |||
| reference | reference | |||
| "RFC 6991: Common YANG Data Types"; | "RFC 6991: Common YANG Data Types"; | |||
| } | } | |||
| organization | organization | |||
| "IETF PCE (Path Computation Element) Working Group"; | "IETF PCE (Path Computation Element) Working Group"; | |||
| contact | contact | |||
| "WG Web: <https://tools.ietf.org/wg/pce/> | "WG Web: <https://tools.ietf.org/wg/pce/> | |||
| WG List: <mailto:pce@ietf.org> | WG List: <mailto:pce@ietf.org> | |||
| Editor: Dhruv Dhody | Editor: Dhruv Dhody | |||
| <mailto:dhruv.ietf@gmail.com>"; | <mailto:dhruv.ietf@gmail.com>"; | |||
| description | description | |||
| "The YANG module augments the PCEP yang operational | "The YANG module augments the PCEP yang operational | |||
| model with statistics, counters and telemetry data. | model with statistics, counters and telemetry data. | |||
| Copyright (c) 2019 IETF Trust and the persons identified as | Copyright (c) 2019 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 | |||
| (httpcep://trustee.ietf.org/license-info). | (https://trustee.ietf.org/license-info). | |||
| This version of this YANG module is part of RFC XXXX; see the | This version of this YANG module is part of RFC XXXX; see the | |||
| RFC itself for full legal notices."; | RFC itself for full legal notices."; | |||
| revision 2019-03-26 { | revision 2019-07-01 { | |||
| description | description | |||
| "Initial revision."; | "Initial revision."; | |||
| reference | reference | |||
| "RFC XXXX: A YANG Data Model for Path Computation | "RFC XXXX: A YANG Data Model for Path Computation | |||
| Element Communications Protocol (PCEP)"; | Element Communications Protocol (PCEP)"; | |||
| } | } | |||
| /* | /* | |||
| * Groupings | * Groupings | |||
| */ | */ | |||
| skipping to change at page 101, line 14 ¶ | skipping to change at page 101, line 21 ¶ | |||
| //pcep-stats | //pcep-stats | |||
| } | } | |||
| //augment | //augment | |||
| } | } | |||
| <CODE ENDS> | <CODE ENDS> | |||
| 11. Security Considerations | 11. Security Considerations | |||
| The YANG module defined in this document is designed to be accessed | The YANG modules defined in this document is designed to be accessed | |||
| via network management protocol such as NETCONF [RFC6241] or RESTCONF | via network management protocol such as NETCONF [RFC6241] or RESTCONF | |||
| [RFC8040]. The lowest NETCONF layer is the secure transport layer | [RFC8040]. The lowest NETCONF layer is the secure transport layer | |||
| and the mandatory-to-implement secure transport is SSH [RFC6242]. | and the mandatory-to-implement secure transport is SSH [RFC6242]. | |||
| The lowest RESTCONF layer is HTTPS, and the mandatory-to-implement | The lowest RESTCONF layer is HTTPS, and the mandatory-to-implement | |||
| secure transport is TLS [RFC8446] | secure transport is TLS [RFC8446] | |||
| The NETCONF access control model [RFC8341] provides the means to | The NETCONF access control model [RFC8341] provides the means to | |||
| restrict access for particular NETCONF or RESTCONF users to a pre- | restrict access for particular NETCONF or RESTCONF users to a pre- | |||
| configured subset of all available NETCONF or RESTCONF protocol | configured subset of all available NETCONF or RESTCONF protocol | |||
| operations and content. | operations and content. | |||
| There are a number of data nodes defined in the YANG module which are | There are a number of data nodes defined in the ietf-pcep YANG module | |||
| writable/creatable/deletable (i.e., config true, which is the | which are writable/creatable/deletable (i.e., config true, which is | |||
| default). These data nodes may be considered sensitive or vulnerable | the default). These data nodes may be considered sensitive or | |||
| in some network environments. Write operations (e.g., <edit-config>) | vulnerable in some network environments. Write operations (e.g., | |||
| to these data nodes without proper protection can have a negative | <edit-config>) to these data nodes without proper protection can have | |||
| effect on network operations. These are the subtrees and data nodes | a negative effect on network operations. These are the subtrees and | |||
| and their sensitivity/vulnerability: | data nodes and their sensitivity/vulnerability: | |||
| /pcep/entity/ - configure local parameters, capabilities etc. | /pcep/entity/ - configure local parameters, capabilities etc. | |||
| /pcep/entity/peers - configure remote peers to setup PCEP session. | /pcep/entity/peers - configure remote peers to setup PCEP session. | |||
| Unauthorized access to above list can adversely affect the PCEP | Unauthorized access to above list can adversely affect the PCEP | |||
| session between the local entity and the peers. This may lead to | session between the local entity and the peers. This may lead to | |||
| inability to compute new paths, stateful operations on the delegated | inability to compute new paths, stateful operations on the delegated | |||
| as well as PCE-initiated LSPs. | as well as PCE-initiated LSPs. | |||
| Some of the readable data nodes in this YANG module may be considered | Some of the readable data nodes in the ietf-pcep YANG module may be | |||
| sensitive or vulnerable in some network environments. It is thus | considered sensitive or vulnerable in some network environments. It | |||
| important to control read access (e.g., via get, get-config, or | is thus important to control read access (e.g., via get, get-config, | |||
| notification) to these data nodes. These are the subtrees and data | or notification) to these data nodes. These are the subtrees and | |||
| nodes and their sensitivity/vulnerability: | data nodes and their sensitivity/vulnerability: | |||
| /pcep/lsp-db - All the LSPs in the network. Unauthorized access | /pcep/lsp-db - All the LSPs in the network. Unauthorized access | |||
| to this could provide the all path and network usage information. | to this could provide the all path and network usage information. | |||
| /pcep/path-keys/ - The Confidential Path Segments (CPS) are hidden | /pcep/path-keys/ - The Confidential Path Segments (CPS) are hidden | |||
| using path-keys. Unauthorized access to this could leak | using path-keys. Unauthorized access to this could leak | |||
| confidential path information. | confidential path information. | |||
| Some of the RPC operations in this YANG module may be considered | Some of the RPC operations in the ietf-pcep YANG module may be | |||
| sensitive or vulnerable in some network environments. It is thus | considered sensitive or vulnerable in some network environments. It | |||
| important to control access to these operations. These are the | is thus important to control access to these operations. These are | |||
| operations and their sensitivity/vulnerability: | the operations and their sensitivity/vulnerability: | |||
| trigger-resync - trigger resynchronization with the PCE. | trigger-resync - trigger resynchronization with the PCE. | |||
| Unauthorized access to this could force a PCEP session into | Unauthorized access to this could force a PCEP session into | |||
| continuous state synchronization. | continuous state synchronization. | |||
| 12. IANA Considerations | Further, this document also include another YANG module (called ietf- | |||
| pcep-stats) for maintaining the statistics by augmenting the ietf- | ||||
| This document registers a URI in the "IETF XML Registry" [RFC3688]. | pcep YANG module. There are no data nodes defined in this module | |||
| Following the format in RFC 3688, the following registration has been | which are writable/creatable/deletable (i.e., config true). The | |||
| made. | readable data nodes in this YANG module may be considered sensitive | |||
| or vulnerable in some network environments. The statistics could | ||||
| provide information related to the current usage patterns of the | ||||
| network. It is thus important to control read access (e.g., via get, | ||||
| get-config, or notification). | ||||
| URI: urn:ietf:params:xml:ns:yang:ietf-pcep | 12. IANA Considerations | |||
| Registrant Contact: The PCE WG of the IETF. | This document request the IANA to register two URIs in the "IETF XML | |||
| Registry" [RFC3688]. Following the format in RFC 3688, the following | ||||
| registrations are requested - | ||||
| XML: N/A; the requested URI is an XML namespace. | URI: urn:ietf:params:xml:ns:yang:ietf-pcep | |||
| Registrant Contact: The IESG | ||||
| XML: N/A; the requested URI is an XML namespace. | ||||
| This document registers a YANG module in the "YANG Module Names" | URI: urn:ietf:params:xml:ns:yang:ietf-pcep-stats | |||
| registry [RFC6020]. | Registrant Contact: The IESG | |||
| XML: N/A; the requested URI is an XML namespace. | ||||
| This document request the IANA to register two YANG modules in the | ||||
| "YANG Module Names" registry [RFC6020], as follows - | ||||
| Name: ietf-pcep | Name: ietf-pcep | |||
| Namespace: urn:ietf:params:xml:ns:yang:ietf-pcep | Namespace: urn:ietf:params:xml:ns:yang:ietf-pcep | |||
| Prefix: pcep | Prefix: pcep | |||
| Reference: [This.I-D] | Reference: [This.I-D] | |||
| Name: ietf-pcep-stats | Name: ietf-pcep-stats | |||
| Namespace: urn:ietf:params:xml:ns:yang:ietf-pcep-stats | Namespace: urn:ietf:params:xml:ns:yang:ietf-pcep-stats | |||
| Prefix: pcep-stats | Prefix: pcep-stats | |||
| Reference: [This.I-D] | Reference: [This.I-D] | |||
| 13. Acknowledgements | 13. Implementation Status | |||
| [Note to the RFC Editor - remove this section before publication, as | ||||
| well as remove the reference to RFC 7942.] | ||||
| This section records the status of known implementations of the | ||||
| protocol defined by this specification at the time of posting of this | ||||
| Internet-Draft, and is based on a proposal described in [RFC7942]. | ||||
| The description of implementations in this section is intended to | ||||
| assist the IETF in its decision processes in progressing drafts to | ||||
| RFCs. Please note that the listing of any individual implementation | ||||
| here does not imply endorsement by the IETF. Furthermore, no effort | ||||
| has been spent to verify the information presented here that was | ||||
| supplied by IETF contributors. This is not intended as, and must not | ||||
| be construed to be, a catalog of available implementations or their | ||||
| features. Readers are advised to note that other implementations may | ||||
| exist. | ||||
| According to [RFC7942], "this will allow reviewers and working groups | ||||
| to assign due consideration to documents that have the benefit of | ||||
| running code, which may serve as evidence of valuable experimentation | ||||
| and feedback that have made the implemented protocols more mature. | ||||
| It is up to the individual working groups to use this information as | ||||
| they see fit". | ||||
| Currently, there are no known implementations of the YANG Module as | ||||
| specified. | ||||
| 14. Acknowledgements | ||||
| The initial document is based on the PCEP MIB [RFC7420]. We would | The initial document is based on the PCEP MIB [RFC7420]. We would | |||
| like to thank the authors of aforementioned documents. | like to thank the authors of aforementioned documents. | |||
| Thanks to Mahesh Jethmalani for the Yang Doctor review. | Thanks to Mahesh Jethmalani for the Yang Doctor review. | |||
| Thanks to Martin Bjorklund and Tom Petch for providing guidance | Thanks to Martin Bjorklund and Tom Petch for providing guidance | |||
| regarding the Yang guidelines. | regarding the Yang guidelines. | |||
| 14. References | 15. References | |||
| 14.1. Normative References | 15.1. Normative References | |||
| [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate | [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate | |||
| Requirement Levels", BCP 14, RFC 2119, | Requirement Levels", BCP 14, RFC 2119, | |||
| DOI 10.17487/RFC2119, March 1997, | DOI 10.17487/RFC2119, March 1997, | |||
| <https://www.rfc-editor.org/info/rfc2119>. | <https://www.rfc-editor.org/info/rfc2119>. | |||
| [RFC3209] Awduche, D., Berger, L., Gan, D., Li, T., Srinivasan, V., | [RFC3209] Awduche, D., Berger, L., Gan, D., Li, T., Srinivasan, V., | |||
| and G. Swallow, "RSVP-TE: Extensions to RSVP for LSP | and G. Swallow, "RSVP-TE: Extensions to RSVP for LSP | |||
| Tunnels", RFC 3209, DOI 10.17487/RFC3209, December 2001, | Tunnels", RFC 3209, DOI 10.17487/RFC3209, December 2001, | |||
| <https://www.rfc-editor.org/info/rfc3209>. | <https://www.rfc-editor.org/info/rfc3209>. | |||
| skipping to change at page 105, line 51 ¶ | skipping to change at page 106, line 51 ¶ | |||
| Protocol (PCEP) Messages", RFC 8408, DOI 10.17487/RFC8408, | Protocol (PCEP) Messages", RFC 8408, DOI 10.17487/RFC8408, | |||
| July 2018, <https://www.rfc-editor.org/info/rfc8408>. | July 2018, <https://www.rfc-editor.org/info/rfc8408>. | |||
| [RFC8446] Rescorla, E., "The Transport Layer Security (TLS) Protocol | [RFC8446] Rescorla, E., "The Transport Layer Security (TLS) Protocol | |||
| Version 1.3", RFC 8446, DOI 10.17487/RFC8446, August 2018, | Version 1.3", RFC 8446, DOI 10.17487/RFC8446, August 2018, | |||
| <https://www.rfc-editor.org/info/rfc8446>. | <https://www.rfc-editor.org/info/rfc8446>. | |||
| [I-D.ietf-teas-yang-te] | [I-D.ietf-teas-yang-te] | |||
| Saad, T., Gandhi, R., Liu, X., Beeram, V., and I. Bryskin, | Saad, T., Gandhi, R., Liu, X., Beeram, V., and I. Bryskin, | |||
| "A YANG Data Model for Traffic Engineering Tunnels and | "A YANG Data Model for Traffic Engineering Tunnels and | |||
| Interfaces", draft-ietf-teas-yang-te-20 (work in | Interfaces", draft-ietf-teas-yang-te-21 (work in | |||
| progress), March 2019. | progress), April 2019. | |||
| [I-D.ietf-teas-yang-te-types] | [I-D.ietf-teas-yang-te-types] | |||
| Saad, T., Gandhi, R., Liu, X., Beeram, V., and I. Bryskin, | Saad, T., Gandhi, R., Liu, X., Beeram, V., and I. Bryskin, | |||
| "Traffic Engineering Common YANG Types", draft-ietf-teas- | "Traffic Engineering Common YANG Types", draft-ietf-teas- | |||
| yang-te-types-06 (work in progress), February 2019. | yang-te-types-09 (work in progress), May 2019. | |||
| [I-D.ietf-netconf-tls-client-server] | [I-D.ietf-netconf-tls-client-server] | |||
| Watsen, K., Wu, G., and L. Xia, "YANG Groupings for TLS | Watsen, K., Wu, G., and L. Xia, "YANG Groupings for TLS | |||
| Clients and TLS Servers", draft-ietf-netconf-tls-client- | Clients and TLS Servers", draft-ietf-netconf-tls-client- | |||
| server-10 (work in progress), March 2019. | server-13 (work in progress), June 2019. | |||
| [I-D.ietf-pce-association-group] | [I-D.ietf-pce-association-group] | |||
| Minei, I., Crabbe, E., Sivabalan, S., Ananthakrishnan, H., | Minei, I., Crabbe, E., Sivabalan, S., Ananthakrishnan, H., | |||
| Dhody, D., and Y. Tanaka, "PCEP Extensions for | Dhody, D., and Y. Tanaka, "PCEP Extensions for | |||
| Establishing Relationships Between Sets of LSPs", draft- | Establishing Relationships Between Sets of LSPs", draft- | |||
| ietf-pce-association-group-08 (work in progress), March | ietf-pce-association-group-09 (work in progress), April | |||
| 2019. | 2019. | |||
| [I-D.ietf-pce-segment-routing] | [I-D.ietf-pce-segment-routing] | |||
| Sivabalan, S., Filsfils, C., Tantsura, J., Henderickx, W., | Sivabalan, S., Filsfils, C., Tantsura, J., Henderickx, W., | |||
| and J. Hardwick, "PCEP Extensions for Segment Routing", | and J. Hardwick, "PCEP Extensions for Segment Routing", | |||
| draft-ietf-pce-segment-routing-16 (work in progress), | draft-ietf-pce-segment-routing-16 (work in progress), | |||
| March 2019. | March 2019. | |||
| [I-D.ietf-isis-yang-isis-cfg] | [I-D.ietf-isis-yang-isis-cfg] | |||
| Litkowski, S., Yeung, D., Lindem, A., Zhang, Z., and L. | Litkowski, S., Yeung, D., Lindem, A., Zhang, Z., and L. | |||
| Lhotka, "YANG Data Model for IS-IS Protocol", draft-ietf- | Lhotka, "YANG Data Model for IS-IS Protocol", draft-ietf- | |||
| isis-yang-isis-cfg-35 (work in progress), March 2019. | isis-yang-isis-cfg-35 (work in progress), March 2019. | |||
| [I-D.ietf-ospf-yang] | [I-D.ietf-ospf-yang] | |||
| Yeung, D., Qu, Y., Zhang, Z., Chen, I., and A. Lindem, | Yeung, D., Qu, Y., Zhang, Z., Chen, I., and A. Lindem, | |||
| "YANG Data Model for OSPF Protocol", draft-ietf-ospf- | "YANG Data Model for OSPF Protocol", draft-ietf-ospf- | |||
| yang-21 (work in progress), January 2019. | yang-22 (work in progress), June 2019. | |||
| [I-D.ietf-pce-gmpls-pcep-extensions] | [I-D.ietf-pce-gmpls-pcep-extensions] | |||
| Margaria, C., Dios, O., and F. Zhang, "PCEP extensions for | Margaria, C., Dios, O., and F. Zhang, "PCEP extensions for | |||
| GMPLS", draft-ietf-pce-gmpls-pcep-extensions-13 (work in | GMPLS", draft-ietf-pce-gmpls-pcep-extensions-14 (work in | |||
| progress), January 2019. | progress), April 2019. | |||
| 14.2. Informative References | 15.2. Informative References | |||
| [RFC4655] Farrel, A., Vasseur, J., and J. Ash, "A Path Computation | [RFC4655] Farrel, A., Vasseur, J., and J. Ash, "A Path Computation | |||
| Element (PCE)-Based Architecture", RFC 4655, | Element (PCE)-Based Architecture", RFC 4655, | |||
| DOI 10.17487/RFC4655, August 2006, | DOI 10.17487/RFC4655, August 2006, | |||
| <https://www.rfc-editor.org/info/rfc4655>. | <https://www.rfc-editor.org/info/rfc4655>. | |||
| [RFC7420] Koushik, A., Stephan, E., Zhao, Q., King, D., and J. | [RFC7420] Koushik, A., Stephan, E., Zhao, Q., King, D., and J. | |||
| Hardwick, "Path Computation Element Communication Protocol | Hardwick, "Path Computation Element Communication Protocol | |||
| (PCEP) Management Information Base (MIB) Module", | (PCEP) Management Information Base (MIB) Module", | |||
| RFC 7420, DOI 10.17487/RFC7420, December 2014, | RFC 7420, DOI 10.17487/RFC7420, December 2014, | |||
| <https://www.rfc-editor.org/info/rfc7420>. | <https://www.rfc-editor.org/info/rfc7420>. | |||
| [RFC7942] Sheffer, Y. and A. Farrel, "Improving Awareness of Running | ||||
| Code: The Implementation Status Section", BCP 205, | ||||
| RFC 7942, DOI 10.17487/RFC7942, July 2016, | ||||
| <https://www.rfc-editor.org/info/rfc7942>. | ||||
| [RFC8342] Bjorklund, M., Schoenwaelder, J., Shafer, P., Watsen, K., | [RFC8342] Bjorklund, M., Schoenwaelder, J., Shafer, P., Watsen, K., | |||
| and R. Wilton, "Network Management Datastore Architecture | and R. Wilton, "Network Management Datastore Architecture | |||
| (NMDA)", RFC 8342, DOI 10.17487/RFC8342, March 2018, | (NMDA)", RFC 8342, DOI 10.17487/RFC8342, March 2018, | |||
| <https://www.rfc-editor.org/info/rfc8342>. | <https://www.rfc-editor.org/info/rfc8342>. | |||
| Appendix A. Example | Appendix A. Example | |||
| The example below provide an overview of PCEP peer session | The example below provide an overview of PCEP peer session | |||
| informations and LSP-DB in the Yang Module. | informations and LSP-DB in the Yang Module. | |||
| skipping to change at page 109, line 5 ¶ | skipping to change at page 110, line 5 ¶ | |||
| "role":"pce", | "role":"pce", | |||
| "capability" : { | "capability" : { | |||
| "stateful": { | "stateful": { | |||
| "enabled": true | "enabled": true | |||
| } | } | |||
| } | } | |||
| "lsp-db" : [ | "lsp-db" : [ | |||
| "lsp" : { | "lsp" : { | |||
| "plsp-id": 3, | "plsp-id": 3, | |||
| "pcc-id" :"192.0.2.1", | "pcc-id" :"192.0.2.1", | |||
| "lsp-ref" : { | "source": "192.0.2.1", | |||
| "source": "192.0.2.1", | "destination": "192.0.2.4" | |||
| "destination": "192.0.2.4" | "tunnel-id": 16, | |||
| "tunnel-id": 16, | "lsp-id": 3, | |||
| "lsp-id": 3, | "extended-tunnel-id": 0, | |||
| "extended-tunnel-id": 0 | ||||
| }, | ||||
| "oper-status": "oper-status-up", | "oper-status": "oper-status-up", | |||
| "delegated": true, | "delegated": true, | |||
| "symbolic-path-name": "iewauh", | "symbolic-path-name": "iewauh", | |||
| }, | }, | |||
| "lsp" : { | "lsp" : { | |||
| "plsp-id": 4, | "plsp-id": 4, | |||
| "pcc-id" :"192.0.2.2", | "pcc-id" :"192.0.2.2", | |||
| "lsp-ref" : { | "source": "192.0.2.2", | |||
| "source": "192.0.2.2", | "destination": "192.0.2.5" | |||
| "destination": "192.0.2.5" | "tunnel-id": 17, | |||
| "tunnel-id": 17, | "lsp-id": 4 | |||
| "lsp-id": 4 | "extended-tunnel-id": 0, | |||
| "extended-tunnel-id": 0 | ||||
| }, | ||||
| "oper-status": "oper-status-up", | "oper-status": "oper-status-up", | |||
| "delegated": true, | "delegated": true, | |||
| "symbolic-path-name": "iewauhiewauh", | "symbolic-path-name": "iewauhiewauh", | |||
| "extended-tunnel-id": 0 | "extended-tunnel-id": 0 | |||
| } | } | |||
| ] | ] | |||
| "peers":[ | "peers":[ | |||
| { | { | |||
| "peer": { | "peer": { | |||
| "addr":"192.0.2.1", | "addr":"192.0.2.1", | |||
| skipping to change at page 111, line 30 ¶ | skipping to change at page 112, line 30 ¶ | |||
| EMail: vinods.kumar@huawei.com | EMail: vinods.kumar@huawei.com | |||
| Zafar Ali | Zafar Ali | |||
| Cisco Systems | Cisco Systems | |||
| Canada | Canada | |||
| EMail: zali@cisco.com | EMail: zali@cisco.com | |||
| Xufeng Liu | Xufeng Liu | |||
| Jabil | Volta Networks | |||
| 8281 Greensboro Drive, Suite 200 | ||||
| McLean VA 22102 | ||||
| USA | ||||
| EMail: Xufeng_Liu@jabil.com | EMail: xufeng.liu.ietf@gmail.com | |||
| Young Lee | Young Lee | |||
| Huawei Technologies | Futurewei | |||
| 5340 Legacy Drive, Building 3 | 5340 Legacy Drive, Building 3 | |||
| Plano, TX 75023, USA | Plano, TX 75023 | |||
| USA | ||||
| Phone: (469) 277-5838 | EMail: younglee.tx@gmail.com | |||
| EMail: leeyoung@huawei.com | ||||
| Udayasree Palle | Udayasree Palle | |||
| Huawei Technologies | ||||
| Divyashree Techno Park, Whitefield | ||||
| Bangalore, Karnataka 560066 | ||||
| India | ||||
| EMail: udayasreereddy@gmail.com | EMail: udayasreereddy@gmail.com | |||
| Xian Zhang | Xian Zhang | |||
| Huawei Technologies | Huawei Technologies | |||
| Bantian, Longgang District | Bantian, Longgang District | |||
| Shenzhen 518129 | Shenzhen 518129 | |||
| P.R.China | P.R.China | |||
| EMail: zhang.xian@huawei.com | EMail: zhang.xian@huawei.com | |||
| Avantika | Avantika | |||
| Huawei Technologies | ECI Telecom | |||
| Divyashree Techno Park, Whitefield | ||||
| Bangalore, Karnataka 560066 | ||||
| India | India | |||
| EMail: s.avantika.avantika@gmail.com | EMail: avantika.srm@gmail.com | |||
| Shashikanth | Shashikanth | |||
| Huawei Technologies | Huawei Technologies | |||
| Divyashree Techno Park, Whitefield | Divyashree Techno Park, Whitefield | |||
| Bangalore, Karnataka 560066 | Bangalore, Karnataka 560066 | |||
| India | India | |||
| EMail: shashikanth.vh@huawei.com | EMail: shashikanth.vh@huawei.com | |||
| Authors' Addresses | Authors' Addresses | |||
| End of changes. 112 change blocks. | ||||
| 232 lines changed or deleted | 283 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/ | ||||