| < draft-ietf-pce-pcep-yang-05.txt | draft-ietf-pce-pcep-yang-06.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: January 2, 2018 Metaswitch | Expires: July 9, 2018 Metaswitch | |||
| V. Beeram | V. Beeram | |||
| Juniper Networks | Juniper Networks | |||
| J. Tantsura | J. Tantsura | |||
| July 01, 2017 | January 5, 2018 | |||
| 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-05 | draft-ietf-pce-pcep-yang-06 | |||
| 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 data and state data (status information and counters | configuration data and state data (status information and counters | |||
| for the collection of statistics). | for the collection of statistics). | |||
| 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. | |||
| 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 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 January 2, 2018. | This Internet-Draft will expire on July 9, 2018. | |||
| Copyright Notice | Copyright Notice | |||
| Copyright (c) 2017 IETF Trust and the persons identified as the | Copyright (c) 2018 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 | (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 . . . . . . . . . . . . . . . . . . . . . . . . 2 | |||
| 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 . . . . . . . . . . . . . . . . . . . . . . 4 | |||
| 3.2. Prefixes in Data Node Names . . . . . . . . . . . . . . . 5 | 3.2. Prefixes in Data Node Names . . . . . . . . . . . . . . . 4 | |||
| 4. Objectives . . . . . . . . . . . . . . . . . . . . . . . . . 6 | 4. Objectives . . . . . . . . . . . . . . . . . . . . . . . . . 5 | |||
| 5. The Design of PCEP Data Model . . . . . . . . . . . . . . . . 6 | 5. The Design of PCEP Data Model . . . . . . . . . . . . . . . . 5 | |||
| 5.1. The Entity . . . . . . . . . . . . . . . . . . . . . . . 14 | 5.1. The Overview of PCEP Data Model . . . . . . . . . . . . . 6 | |||
| 5.2. The Peer Lists . . . . . . . . . . . . . . . . . . . . . 14 | 5.2. The Full PCEP Data Model . . . . . . . . . . . . . . . . 7 | |||
| 5.3. The Session Lists . . . . . . . . . . . . . . . . . . . . 15 | 5.3. The Entity . . . . . . . . . . . . . . . . . . . . . . . 17 | |||
| 5.4. Notifications . . . . . . . . . . . . . . . . . . . . . . 15 | 5.4. The Peer Lists . . . . . . . . . . . . . . . . . . . . . 18 | |||
| 5.5. RPC . . . . . . . . . . . . . . . . . . . . . . . . . . . 15 | 5.5. The Session Lists . . . . . . . . . . . . . . . . . . . . 18 | |||
| 6. The Design of PCEP Statistics Data Model . . . . . . . . . . 15 | 5.6. Notifications . . . . . . . . . . . . . . . . . . . . . . 19 | |||
| 7. Advanced PCE Features . . . . . . . . . . . . . . . . . . . . 18 | 5.7. RPC . . . . . . . . . . . . . . . . . . . . . . . . . . . 19 | |||
| 7.1. Stateful PCE's LSP-DB . . . . . . . . . . . . . . . . . . 19 | 6. The Design of PCEP Statistics Data Model . . . . . . . . . . 19 | |||
| 8. Open Issues and Next Step . . . . . . . . . . . . . . . . . . 19 | 7. Advanced PCE Features . . . . . . . . . . . . . . . . . . . . 22 | |||
| 8.1. The PCE-Initiated LSP . . . . . . . . . . . . . . . . . . 19 | 7.1. Stateful PCE's LSP-DB . . . . . . . . . . . . . . . . . . 22 | |||
| 9. Other Considerations . . . . . . . . . . . . . . . . . . . . 19 | 8. Open Issues and Next Step . . . . . . . . . . . . . . . . . . 23 | |||
| 9.1. PCEP over TLS (PCEPS) . . . . . . . . . . . . . . . . . . 19 | 8.1. The PCE-Initiated LSP . . . . . . . . . . . . . . . . . . 23 | |||
| 10. PCEP YANG Modules . . . . . . . . . . . . . . . . . . . . . . 20 | 9. Other Considerations . . . . . . . . . . . . . . . . . . . . 23 | |||
| 10.1. ietf-pcep module . . . . . . . . . . . . . . . . . . . . 20 | 9.1. PCEP over TLS (PCEPS) . . . . . . . . . . . . . . . . . . 23 | |||
| 10.2. ietf-pcep-stats module . . . . . . . . . . . . . . . . . 76 | 10. PCEP YANG Modules . . . . . . . . . . . . . . . . . . . . . . 23 | |||
| 11. Security Considerations . . . . . . . . . . . . . . . . . . . 96 | 10.1. ietf-pcep module . . . . . . . . . . . . . . . . . . . . 23 | |||
| 12. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 97 | 10.2. ietf-pcep-stats module . . . . . . . . . . . . . . . . . 79 | |||
| 13. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 97 | 11. Security Considerations . . . . . . . . . . . . . . . . . . . 99 | |||
| 14. References . . . . . . . . . . . . . . . . . . . . . . . . . 97 | 12. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 100 | |||
| 14.1. Normative References . . . . . . . . . . . . . . . . . . 97 | 13. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 101 | |||
| 14.2. Informative References . . . . . . . . . . . . . . . . . 99 | 14. References . . . . . . . . . . . . . . . . . . . . . . . . . 101 | |||
| Appendix A. Contributor Addresses . . . . . . . . . . . . . . . 101 | 14.1. Normative References . . . . . . . . . . . . . . . . . . 101 | |||
| Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 102 | 14.2. Informative References . . . . . . . . . . . . . . . . . 103 | |||
| Appendix A. Example . . . . . . . . . . . . . . . . . . . . . . 104 | ||||
| Appendix B. Contributor Addresses . . . . . . . . . . . . . . . 106 | ||||
| Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 107 | ||||
| 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 | |||
| defined in [RFC5440]. PCEP interactions include path computation | defined in [RFC5440]. PCEP interactions include path computation | |||
| requests and path computation replies as well as notifications of | requests and path computation replies as well as notifications of | |||
| specific states related to the use of a PCE in the context of | specific states related to the use of a PCE in the context of | |||
| Multiprotocol Label Switching (MPLS) and Generalized MPLS (GMPLS) | Multiprotocol Label Switching (MPLS) and Generalized MPLS (GMPLS) | |||
| Traffic Engineering (TE). [I-D.ietf-pce-stateful-pce] specifies | Traffic Engineering (TE). [RFC8231] specifies extensions to PCEP to | |||
| extensions to PCEP to enable stateful control of MPLS TE LSPs. | enable stateful control of MPLS TE LSPs. | |||
| This document defines a YANG [RFC6020] data model for the management | This document defines a YANG [RFC6020] data model for the management | |||
| of PCEP speakers. It is important to establish a common data model | of PCEP speakers. It is important to establish a common data model | |||
| for how PCEP speakers are identified, configured, and monitored. The | for how PCEP speakers are identified, configured, and monitored. The | |||
| data model includes configuration data and state data (status | data model includes configuration data and state data (status | |||
| information and counters for the collection of statistics). | information and counters for the collection of statistics). | |||
| This document contains a specification of the PCEP YANG module, | This document contains a specification of the PCEP YANG module, | |||
| "ietf-pcep" which provides the PCEP [RFC5440] data model. | "ietf-pcep" which provides the PCEP [RFC5440] data model. | |||
| skipping to change at page 4, line 13 ¶ | skipping to change at page 4, line 17 ¶ | |||
| This document also uses the following terms defined in [RFC7420]: | This document also uses the following terms defined in [RFC7420]: | |||
| o PCEP entity: a local PCEP speaker. | o PCEP entity: a local PCEP speaker. | |||
| o PCEP peer: to refer to a remote PCEP speaker. | o PCEP peer: to refer to a remote PCEP speaker. | |||
| o PCEP speaker: where it is not necessary to distinguish between | o PCEP speaker: where it is not necessary to distinguish between | |||
| local and remote. | local and remote. | |||
| Further, this document also uses the following terms defined in | Further, this document also uses the following terms defined in | |||
| [I-D.ietf-pce-stateful-pce] : | [RFC8231] : | |||
| o Stateful PCE, Passive Stateful PCE, Active Stateful PCE | o Stateful PCE, Passive Stateful PCE, Active Stateful PCE | |||
| o Delegation, Revocation, Redelegation | o Delegation, Revocation, Redelegation | |||
| o LSP State Report, Path Computation Report message (PCRpt). | o LSP State Report, Path Computation Report message (PCRpt). | |||
| o LSP State Update, Path Computation Update message (PCUpd). | o LSP State Update, Path Computation Update message (PCUpd). | |||
| [I-D.ietf-pce-pce-initiated-lsp] : | [RFC8281] : | |||
| o PCE-initiated LSP, Path Computation LSP Initiate Message | o PCE-initiated LSP, Path Computation LSP Initiate Message | |||
| (PCInitiate). | (PCInitiate). | |||
| [I-D.ietf-pce-lsp-setup-type] : | [I-D.ietf-pce-lsp-setup-type] : | |||
| o Path Setup Type (PST). | o Path Setup Type (PST). | |||
| [I-D.ietf-pce-segment-routing] : | [I-D.ietf-pce-segment-routing] : | |||
| o Segment Routing (SR). | o Segment Routing (SR). | |||
| 3.1. Tree Diagrams | 3.1. Tree Diagrams | |||
| A graphical representation of the complete data tree is presented in | A simplified graphical representation of the data model is used in | |||
| Section 5. The meaning of the symbols in these diagrams is as | this document. The meaning of the symbols in these diagrams is | |||
| follows and as per [I-D.ietf-netmod-rfc6087bis]. Each node is | defined in [I-D.ietf-netmod-yang-tree-diagrams]. | |||
| printed as: | ||||
| <status> <flags> <name> <opts> <type> <if-features> | ||||
| <status> is one of: | ||||
| + for current | ||||
| x for deprecated | ||||
| o for obsolete | ||||
| <flags> is one of: | ||||
| rw for configuration data | ||||
| ro for non-configuration data | ||||
| -x for rpcs and actions | ||||
| -n for notifications | ||||
| <name> is the name of the node | ||||
| (<name>) means that the node is a choice node | ||||
| :(<name>) means that the node is a case node | ||||
| If the node is augmented into the tree from another module, | ||||
| its name is printed as <prefix>:<name>. | ||||
| <opts> is one of: | ||||
| ? for an optional leaf, choice, anydata or anyxml | ||||
| ! for a presence container | ||||
| * for a leaf-list or list | ||||
| [<keys>] for a list's keys | ||||
| <type> is the name of the type for leafs and leaf-lists | ||||
| If the type is a leafref, the type is printed as | ||||
| "-> TARGET", where TARGET is either the leafref path, | ||||
| with prefixed removed if possible. | ||||
| <if-features> is the list of features this node depends on, | ||||
| printed within curly brackets and a question mark "{...}? | ||||
| 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. | |||
| +-----------+-----------------+-------------------------------------+ | +-----------+-----------------+-------------------------------------+ | |||
| skipping to change at page 6, line 49 ¶ | skipping to change at page 6, line 4 ¶ | |||
| o The data model should include read-only counters in order to | o The data model should include read-only counters in order to | |||
| gather statistics for sent and received PCEP messages, received | gather statistics for sent and received PCEP messages, received | |||
| messages with errors, and messages that could not be sent due to | messages with errors, and messages that could not be sent due to | |||
| errors. This could be in a separate model which augments the base | errors. This could be in a separate model which augments the base | |||
| data model. | data model. | |||
| o It should be fairly straightforward to augment the base data model | o It should be fairly straightforward to augment the base data model | |||
| for advanced PCE features. | for advanced PCE features. | |||
| 5. The Design of PCEP Data Model | 5. The Design of PCEP Data Model | |||
| 5.1. The Overview of PCEP Data Model | ||||
| The PCEP YANG module defined in this document has all the common | ||||
| building blocks for the PCEP protocol. | ||||
| module: ietf-pcep | ||||
| +--rw pcep! | ||||
| +--rw entity | ||||
| +--rw addr inet:ip-address | ||||
| +--rw enabled? boolean | ||||
| +--rw role pcep-role | ||||
| +--rw description? string | ||||
| +--rw speaker-entity-id? string | ||||
| | {stateful-sync-opt}? | ||||
| +--rw admin-status? pcep-admin-status | ||||
| +--ro index? uint32 | ||||
| +--ro oper-status? pcep-oper-status | ||||
| +--rw domain | ||||
| | +--rw domain* [domain-type domain] | ||||
| | ... | ||||
| +--rw capability | ||||
| | ... | ||||
| +--rw pce-info | ||||
| | +--rw scope | ||||
| | | ... | ||||
| | +--rw neigh-domains | ||||
| | | ... | ||||
| | +--rw path-key {path-key}? | ||||
| | ... | ||||
| +--ro lsp-db {stateful}? | ||||
| | +--ro db-ver? uint64 | ||||
| | | {stateful-sync-opt}? | ||||
| | +--ro association-list* | ||||
| | | [id source global-source extended-id] | ||||
| | | ... | ||||
| | +--ro lsp* [plsp-id pcc-id] | ||||
| | ... | ||||
| +--ro path-keys {path-key}? | ||||
| | +--ro path-keys* [path-key] | ||||
| | ... | ||||
| +--rw peers | ||||
| +--rw peer* [addr] | ||||
| +--ro sessions | ||||
| +--ro session* [initiator] | ||||
| ... | ||||
| rpcs: | ||||
| +---x trigger-resync {stateful,stateful-sync-opt}? | ||||
| +---w input | ||||
| +---w pcc? -> /pcep/entity/peers/peer/addr | ||||
| notifications: | ||||
| +---n pcep-session-up | ||||
| | ... | ||||
| +---n pcep-session-down | ||||
| | ... | ||||
| +---n pcep-session-local-overload | ||||
| | ... | ||||
| +---n pcep-session-local-overload-clear | ||||
| | ... | ||||
| +---n pcep-session-peer-overload | ||||
| | ... | ||||
| +---n pcep-session-peer-overload-clear | ||||
| ... | ||||
| 5.2. The Full PCEP Data Model | ||||
| The module, "ietf-pcep", defines the basic components of a PCE | The module, "ietf-pcep", defines the basic components of a PCE | |||
| speaker. | speaker. | |||
| module: ietf-pcep | module: ietf-pcep | |||
| +--rw pcep! | +--rw pcep! | |||
| +--rw entity | +--rw entity | |||
| +--rw addr inet:ip-address | +--rw addr | |||
| | inet:ip-address | ||||
| +--rw enabled? boolean | +--rw enabled? boolean | |||
| +--rw role pcep-role | +--rw role | |||
| | pcep-role | ||||
| +--rw description? string | +--rw description? string | |||
| +--rw speaker-entity-id? string | +--rw speaker-entity-id? string | |||
| | {stateful-sync-opt}? | | {stateful-sync-opt}? | |||
| +--rw admin-status? pcep-admin-status | +--rw admin-status? | |||
| | pcep-admin-status | ||||
| +--ro index? uint32 | +--ro index? uint32 | |||
| +--ro oper-status? pcep-oper-status | +--ro oper-status? | |||
| | pcep-oper-status | ||||
| +--rw domain | +--rw domain | |||
| | +--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 capability | +--rw capability | |||
| | +--rw gmpls? boolean {gmpls}? | | +--rw gmpls? boolean | |||
| | | {gmpls}? | ||||
| | +--rw bi-dir? boolean | | +--rw bi-dir? boolean | |||
| | +--rw diverse? boolean | | +--rw diverse? boolean | |||
| | +--rw load-balance? boolean | | +--rw load-balance? boolean | |||
| | +--rw synchronize? boolean {svec}? | | +--rw synchronize? boolean | |||
| | | {svec}? | ||||
| | +--rw objective-function? boolean | | +--rw objective-function? boolean | |||
| | | {objective-function}? | | | {objective-function}? | |||
| | +--rw add-path-constraint? boolean | | +--rw add-path-constraint? boolean | |||
| | +--rw prioritization? boolean | | +--rw prioritization? boolean | |||
| | +--rw multi-request? boolean | | +--rw multi-request? boolean | |||
| | +--rw gco? boolean {gco}? | | +--rw gco? boolean | |||
| | +--rw p2mp? boolean {p2mp}? | | | {gco}? | |||
| | +--rw p2mp? boolean | ||||
| | | {p2mp}? | ||||
| | +--rw stateful {stateful}? | | +--rw stateful {stateful}? | |||
| | | +--rw enabled? boolean | | | +--rw enabled? boolean | |||
| | | +--rw active? boolean | | | +--rw active? boolean | |||
| | | +--rw pce-initiated? boolean | | | +--rw pce-initiated? boolean | |||
| | | | {pce-initiated}? | | | | {pce-initiated}? | |||
| | | +--rw include-db-ver? boolean | | | +--rw include-db-ver? boolean | |||
| | | | {stateful-sync-opt}? | | | | {stateful-sync-opt}? | |||
| | | +--rw trigger-resync? boolean | | | +--rw trigger-resync? boolean | |||
| | | | {stateful-sync-opt}? | | | | {stateful-sync-opt}? | |||
| | | +--rw trigger-initial-sync? boolean | | | +--rw trigger-initial-sync? boolean | |||
| | | | {stateful-sync-opt}? | | | | {stateful-sync-opt}? | |||
| | | +--rw incremental-sync? boolean | | | +--rw incremental-sync? boolean | |||
| | | {stateful-sync-opt}? | | | {stateful-sync-opt}? | |||
| | +--rw sr {sr}? | | +--rw sr {sr}? | |||
| | +--rw enabled? boolean | | +--rw enabled? boolean | |||
| +--rw pce-info | +--rw pce-info | |||
| | +--rw scope | | +--rw scope | |||
| | | +--rw intra-area-scope? boolean | | | +--rw intra-area-scope? | |||
| | | +--rw intra-area-pref? uint8 | | | | boolean | |||
| | | +--rw inter-area-scope? boolean | | | +--rw intra-area-pref? | |||
| | | +--rw inter-area-scope-default? boolean | | | | uint8 | |||
| | | +--rw inter-area-pref? uint8 | | | +--rw inter-area-scope? | |||
| | | +--rw inter-as-scope? boolean | | | | boolean | |||
| | | +--rw inter-as-scope-default? boolean | | | +--rw inter-area-scope-default? | |||
| | | +--rw inter-as-pref? uint8 | | | | boolean | |||
| | | +--rw inter-layer-scope? boolean | | | +--rw inter-area-pref? | |||
| | | +--rw inter-layer-pref? uint8 | | | | uint8 | |||
| | | +--rw inter-as-scope? | ||||
| | | | boolean | ||||
| | | +--rw inter-as-scope-default? | ||||
| | | | boolean | ||||
| | | +--rw inter-as-pref? | ||||
| | | | uint8 | ||||
| | | +--rw inter-layer-scope? | ||||
| | | | boolean | ||||
| | | +--rw inter-layer-pref? | ||||
| | | uint8 | ||||
| | +--rw neigh-domains | | +--rw neigh-domains | |||
| | | +--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 path-key {path-key}? | | +--rw path-key {path-key}? | |||
| | +--rw enabled? boolean | | +--rw enabled? boolean | |||
| | +--rw discard-timer? uint32 | | +--rw discard-timer? uint32 | |||
| | +--rw reuse-time? uint32 | | +--rw reuse-time? uint32 | |||
| | +--rw pce-id? inet:ip-address | | +--rw pce-id? inet:ip-address | |||
| +--rw connect-timer? uint32 | +--rw connect-timer? uint32 | |||
| skipping to change at page 8, line 34 ¶ | skipping to change at page 9, line 28 ¶ | |||
| +--rw max-backoff-timer? uint32 | +--rw max-backoff-timer? uint32 | |||
| +--rw open-wait-timer? uint32 | +--rw open-wait-timer? uint32 | |||
| +--rw keep-wait-timer? uint32 | +--rw keep-wait-timer? uint32 | |||
| +--rw keep-alive-timer? uint32 | +--rw keep-alive-timer? uint32 | |||
| +--rw dead-timer? uint32 | +--rw dead-timer? uint32 | |||
| +--rw allow-negotiation? boolean | +--rw allow-negotiation? boolean | |||
| +--rw max-keep-alive-timer? uint32 | +--rw max-keep-alive-timer? uint32 | |||
| +--rw max-dead-timer? uint32 | +--rw max-dead-timer? uint32 | |||
| +--rw min-keep-alive-timer? uint32 | +--rw min-keep-alive-timer? uint32 | |||
| +--rw min-dead-timer? uint32 | +--rw min-dead-timer? uint32 | |||
| +--rw sync-timer? uint32 {svec}? | +--rw sync-timer? uint32 | |||
| | {svec}? | ||||
| +--rw request-timer? uint32 | +--rw request-timer? uint32 | |||
| +--rw max-sessions? uint32 | +--rw max-sessions? uint32 | |||
| +--rw max-unknown-reqs? uint32 | +--rw max-unknown-reqs? uint32 | |||
| +--rw max-unknown-msgs? uint32 | +--rw max-unknown-msgs? uint32 | |||
| +--rw pcep-notification-max-rate uint32 | +--rw pcep-notification-max-rate uint32 | |||
| +--rw stateful-parameter {stateful}? | +--rw stateful-parameter {stateful}? | |||
| | +--rw state-timeout? uint32 | | +--rw state-timeout? uint32 | |||
| | +--rw redelegation-timeout? uint32 | | +--rw redelegation-timeout? uint32 | |||
| | +--rw rpt-non-pcep-lsp? boolean | | +--rw rpt-non-pcep-lsp? boolean | |||
| +--rw of-list {objective-function}? | +--rw of-list {objective-function}? | |||
| skipping to change at page 9, line 10 ¶ | skipping to change at page 10, line 5 ¶ | |||
| | +--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 type? assoc-type | | | +--ro type? assoc-type | |||
| | | +--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] | |||
| | | +--ro plsp-id | | | +--ro plsp-id leafref | |||
| | | | -> /pcep/entity/lsp-db/lsp/plsp-id | | | +--ro pcc-id leafref | |||
| | | +--ro pcc-id | ||||
| | | -> /pcep/entity/lsp-db/lsp/pcc-id | ||||
| | +--ro lsp* [plsp-id pcc-id] | | +--ro lsp* [plsp-id pcc-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 lsp-ref | |||
| | | +--ro source? | | | +--ro source? leafref | |||
| | | | -> /te:te/lsps-state/lsp/source | | | +--ro destination? leafref | |||
| | | +--ro destination? | | | +--ro tunnel-id? leafref | |||
| | | | -> /te:te/lsps-state/lsp/destination | | | +--ro lsp-id? leafref | |||
| | | +--ro tunnel-id? | ||||
| | | | -> /te:te/lsps-state/lsp/tunnel-id | ||||
| | | +--ro lsp-id? | ||||
| | | | -> /te:te/lsps-state/lsp/lsp-id | ||||
| | | +--ro extended-tunnel-id? leafref | | | +--ro extended-tunnel-id? leafref | |||
| | +--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? leafref | |||
| | | +--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? leafref | |||
| | +--ro symbolic-path-name? string | | +--ro symbolic-path-name? string | |||
| | +--ro last-error? lsp-error | | +--ro last-error? lsp-error | |||
| | +--ro pst? pst | | +--ro pst? pst | |||
| | +--ro association-list* | | +--ro association-list* | |||
| | [id source global-source extended-id] | | [id source global-source extended-id] | |||
| | +--ro id leafref | | +--ro id leafref | |||
| | +--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* | |||
| | | +--ro explicit-route-usage? identityref | | | [index] | |||
| | | +--ro index uint32 | | | +--ro explicit-route-usage? | |||
| | | | identityref | ||||
| | | +--ro index | ||||
| | | | uint32 | ||||
| | | +--ro (type)? | | | +--ro (type)? | |||
| | | +--:(numbered) | | | +--:(numbered) | |||
| | | | +--ro numbered-hop | | | | +--ro numbered-hop | |||
| | | | +--ro address? te-types:te-tp-id | | | | +--ro address? | |||
| | | | +--ro hop-type? te-hop-type | | | | | te-types:te-tp-id | |||
| | | | +--ro hop-type? | ||||
| | | | te-hop-type | ||||
| | | +--:(as-number) | | | +--:(as-number) | |||
| | | | +--ro as-number-hop | | | | +--ro as-number-hop | |||
| | | | +--ro as-number? binary | | | | +--ro as-number? | |||
| | | | +--ro hop-type? te-hop-type | | | | | binary | |||
| | | | +--ro hop-type? | ||||
| | | | te-hop-type | ||||
| | | +--:(unnumbered) | | | +--:(unnumbered) | |||
| | | | +--ro unnumbered-hop | | | | +--ro unnumbered-hop | |||
| | | | +--ro node-id? | | | | +--ro node-id? | |||
| | | | | te-types:te-node-id | | | | | te-types:te-node-id | |||
| | | | +--ro link-tp-id? | | | | +--ro link-tp-id? | |||
| | | | | te-types:te-tp-id | | | | | te-types:te-tp-id | |||
| | | | +--ro hop-type? te-hop-type | | | | +--ro hop-type? | |||
| | | | te-hop-type | ||||
| | | +--:(label) | | | +--:(label) | |||
| | | | +--ro label-hop | | | | +--ro label-hop | |||
| | | | +--ro value? | | | | +--ro value? | |||
| | | | rt-types:generalized-label | | | | rt-types:generalized-label | |||
| | | +--:(sid) | | | +--:(sid) | |||
| | | +--ro sid-hop | | | +--ro sid-hop | |||
| | | +--ro sid? | | | +--ro sid? | |||
| | | rt-types:generalized-label | | | rt-types:generalized-label | |||
| | +--ro pcc-original? | | +--ro pcc-original? leafref | |||
| | | -> /pcep/entity/peers/peer/addr | ||||
| | +--ro req-id? uint32 | | +--ro req-id? uint32 | |||
| | +--ro retrieved? boolean | | +--ro retrieved? boolean | |||
| | +--ro pcc-retrieved? | | +--ro pcc-retrieved? leafref | |||
| | | -> /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 | |||
| +--rw role pcep-role | | inet:ip-address | |||
| +--rw role | ||||
| | pcep-role | ||||
| +--rw description? string | +--rw description? string | |||
| +--rw domain | +--rw domain | |||
| | +--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 capability | +--rw capability | |||
| | +--rw gmpls? boolean | | +--rw gmpls? | |||
| | | {gmpls}? | | | boolean {gmpls}? | |||
| | +--rw bi-dir? boolean | | +--rw bi-dir? | |||
| | +--rw diverse? boolean | | | boolean | |||
| | +--rw load-balance? boolean | | +--rw diverse? | |||
| | +--rw synchronize? boolean {svec}? | | | boolean | |||
| | +--rw objective-function? boolean | | +--rw load-balance? | |||
| | | boolean | ||||
| | +--rw synchronize? | ||||
| | | boolean {svec}? | ||||
| | +--rw objective-function? | ||||
| | | boolean | ||||
| | | {objective-function}? | | | {objective-function}? | |||
| | +--rw add-path-constraint? boolean | | +--rw add-path-constraint? | |||
| | +--rw prioritization? boolean | | | boolean | |||
| | +--rw multi-request? boolean | | +--rw prioritization? | |||
| | +--rw gco? boolean {gco}? | | | boolean | |||
| | +--rw p2mp? boolean {p2mp}? | | +--rw multi-request? | |||
| | | boolean | ||||
| | +--rw gco? | ||||
| | | boolean {gco}? | ||||
| | +--rw p2mp? | ||||
| | | boolean {p2mp}? | ||||
| | +--rw stateful {stateful}? | | +--rw stateful {stateful}? | |||
| | | +--rw enabled? boolean | | | +--rw enabled? | |||
| | | +--rw active? boolean | | | | boolean | |||
| | | +--rw pce-initiated? boolean | | | +--rw active? | |||
| | | | boolean | ||||
| | | +--rw pce-initiated? | ||||
| | | | boolean | ||||
| | | | {pce-initiated}? | | | | {pce-initiated}? | |||
| | | +--rw include-db-ver? boolean | | | +--rw include-db-ver? | |||
| | | | boolean | ||||
| | | | {stateful-sync-opt}? | | | | {stateful-sync-opt}? | |||
| | | +--rw trigger-resync? boolean | | | +--rw trigger-resync? | |||
| | | | boolean | ||||
| | | | {stateful-sync-opt}? | | | | {stateful-sync-opt}? | |||
| | | +--rw trigger-initial-sync? boolean | | | +--rw trigger-initial-sync? | |||
| | | | boolean | ||||
| | | | {stateful-sync-opt}? | | | | {stateful-sync-opt}? | |||
| | | +--rw incremental-sync? boolean | | | +--rw incremental-sync? | |||
| | | boolean | ||||
| | | {stateful-sync-opt}? | | | {stateful-sync-opt}? | |||
| | +--rw sr {sr}? | | +--rw sr {sr}? | |||
| | +--rw enabled? boolean | | +--rw enabled? boolean | |||
| +--rw pce-info | +--rw pce-info | |||
| | +--rw scope | | +--rw scope | |||
| | | +--rw intra-area-scope? boolean | | | +--rw intra-area-scope? | |||
| | | +--rw intra-area-pref? uint8 | | | | boolean | |||
| | | +--rw inter-area-scope? boolean | | | +--rw intra-area-pref? | |||
| | | +--rw inter-area-scope-default? boolean | | | | uint8 | |||
| | | +--rw inter-area-pref? uint8 | | | +--rw inter-area-scope? | |||
| | | +--rw inter-as-scope? boolean | | | | boolean | |||
| | | +--rw inter-as-scope-default? boolean | | | +--rw inter-area-scope-default? | |||
| | | +--rw inter-as-pref? uint8 | | | | boolean | |||
| | | +--rw inter-layer-scope? boolean | | | +--rw inter-area-pref? | |||
| | | +--rw inter-layer-pref? uint8 | | | | uint8 | |||
| | | +--rw inter-as-scope? | ||||
| | | | boolean | ||||
| | | +--rw inter-as-scope-default? | ||||
| | | | boolean | ||||
| | | +--rw inter-as-pref? | ||||
| | | | uint8 | ||||
| | | +--rw inter-layer-scope? | ||||
| | | | boolean | ||||
| | | +--rw inter-layer-pref? | ||||
| | | uint8 | ||||
| | +--rw neigh-domains | | +--rw neigh-domains | |||
| | +--rw domain* [domain-type domain] | | +--rw domain* | |||
| | +--rw domain-type domain-type | | [domain-type domain] | |||
| | +--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 | | | +--rw key-string | |||
| | | +--rw (key-string-style)? | | | +--rw (key-string-style)? | |||
| | | +--:(keystring) | | | +--:(keystring) | |||
| | | | +--rw keystring? | | | | +--rw keystring? | |||
| | | | string | | | | 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) | |||
| | | +--rw tls-server | | | +--rw tls-server | |||
| | | +--rw certificates | | | +--rw server-identity | |||
| | | | +--rw certificate* [name] | | | | +--rw algorithm? | |||
| | | | +--rw name leafref | | | | | identityref | |||
| | | | +--rw private-key? | ||||
| | | | | union | ||||
| | | | +--rw public-key? | ||||
| | | | | binary | ||||
| | | | +---x generate-private-key | ||||
| | | | | +---w input | ||||
| | | | | +---w algorithm | ||||
| | | | | identityref | ||||
| | | | +--rw certificates | ||||
| | | | | +--rw certificate* | ||||
| | | | | [name] | ||||
| | | | | +--rw name | ||||
| | | | | | string | ||||
| | | | | +--rw value? | ||||
| | | | | binary | ||||
| | | | +---x generate-certificate-signing-request | ||||
| | | | +---w input | ||||
| | | | | +---w subject | ||||
| | | | | | binary | ||||
| | | | | +---w attributes? | ||||
| | | | | binary | ||||
| | | | +--ro output | ||||
| | | | +--ro certificate-signing-request | ||||
| | | | binary | ||||
| | | +--rw client-auth | | | +--rw client-auth | |||
| | | | +--rw trusted-ca-certs? leafref | | | | +--rw pinned-ca-certs? | |||
| | | | +--rw trusted-client-certs? leafref | | | | | ks:pinned-certificates | |||
| | | | +--rw pinned-client-certs? | ||||
| | | | ks:pinned-certificates | ||||
| | | +--rw hello-params | | | +--rw hello-params | |||
| | | {tls-server-hello-params-config}? | | | {tls-server-hello-params-config}? | |||
| | | +--rw tls-versions | | | +--rw tls-versions | |||
| | | | +--rw tls-version* | | | | +--rw tls-version* | |||
| | | | identityref | | | | identityref | |||
| | | +--rw cipher-suites | | | +--rw cipher-suites | |||
| | | +--rw cipher-suite* | | | +--rw cipher-suite* | |||
| | | identityref | | | identityref | |||
| | +--:(client) | | +--:(client) | |||
| | +--rw tls-client | | +--rw tls-client | |||
| | +--rw server-auth | | +--rw client-identity | |||
| | | +--rw trusted-ca-certs? leafref | ||||
| | | +--rw trusted-server-certs? leafref | ||||
| | +--rw client-auth | ||||
| | | +--rw (auth-type)? | | | +--rw (auth-type)? | |||
| | | +--:(certificate) | | | +--:(certificate) | |||
| | | +--rw certificate? leafref | | | +--rw certificate | |||
| | | +--rw algorithm? | ||||
| | | | identityref | ||||
| | | +--rw private-key? | ||||
| | | | union | ||||
| | | +--rw public-key? | ||||
| | | | binary | ||||
| | | +---x generate-private-key | ||||
| | | | +---w input | ||||
| | | | +---w algorithm | ||||
| | | | identityref | ||||
| | | +--rw certificates | ||||
| | | | +--rw certificate* | ||||
| | | | [name] | ||||
| | | | +--rw name | ||||
| | | | | string | ||||
| | | | +--rw value? | ||||
| | | | binary | ||||
| | | +---x generate-certificate-signing-request | ||||
| | | +---w input | ||||
| | | | +---w subject | ||||
| | | | | binary | ||||
| | | | +---w attributes? | ||||
| | | | binary | ||||
| | | +--ro output | ||||
| | | +--ro certificate-signing-request | ||||
| | | binary | ||||
| | +--rw server-auth | ||||
| | | +--rw pinned-ca-certs? | ||||
| | | | ks:pinned-certificates | ||||
| | | +--rw pinned-server-certs? | ||||
| | | ks:pinned-certificates | ||||
| | +--rw hello-params | | +--rw hello-params | |||
| | {tls-client-hello-params-config}? | | {tls-client-hello-params-config}? | |||
| | +--rw tls-versions | | +--rw tls-versions | |||
| | | +--rw tls-version* | | | +--rw tls-version* | |||
| | | identityref | | | identityref | |||
| | +--rw cipher-suites | | +--rw cipher-suites | |||
| | +--rw cipher-suite* | | +--rw cipher-suite* | |||
| | identityref | | identityref | |||
| +--ro discontinuity-time? yang:timestamp | +--ro discontinuity-time? | |||
| | yang:timestamp | ||||
| +--ro initiate-session? boolean | +--ro initiate-session? boolean | |||
| +--ro session-exists? boolean | +--ro session-exists? boolean | |||
| +--ro session-up-time? yang:timestamp | +--ro session-up-time? | |||
| +--ro session-fail-time? yang:timestamp | | yang:timestamp | |||
| +--ro session-fail-up-time? yang:timestamp | +--ro session-fail-time? | |||
| | yang:timestamp | ||||
| +--ro session-fail-up-time? | ||||
| | yang:timestamp | ||||
| +--ro sessions | +--ro sessions | |||
| +--ro session* [initiator] | +--ro session* [initiator] | |||
| +--ro initiator pcep-initiator | +--ro initiator | |||
| | pcep-initiator | ||||
| +--ro role? | +--ro role? | |||
| | -> /pcep/entity/role | | -> /pcep/entity/role | |||
| +--ro state-last-change? yang:timestamp | +--ro state-last-change? | |||
| +--ro state? pcep-sess-state | | yang:timestamp | |||
| +--ro session-creation? yang:timestamp | +--ro state? | |||
| +--ro connect-retry? yang:counter32 | | pcep-sess-state | |||
| +--ro local-id? uint32 | +--ro session-creation? | |||
| +--ro remote-id? uint32 | | yang:timestamp | |||
| +--ro keepalive-timer? uint32 | +--ro connect-retry? | |||
| +--ro peer-keepalive-timer? uint32 | | yang:counter32 | |||
| +--ro dead-timer? uint32 | +--ro local-id? | |||
| +--ro peer-dead-timer? uint32 | | uint32 | |||
| +--ro ka-hold-time-rem? uint32 | +--ro remote-id? | |||
| +--ro overloaded? boolean | | uint32 | |||
| +--ro overload-time? uint32 | +--ro keepalive-timer? | |||
| +--ro peer-overloaded? boolean | | uint32 | |||
| +--ro peer-overload-time? uint32 | +--ro peer-keepalive-timer? | |||
| +--ro lspdb-sync? sync-state | | uint32 | |||
| +--ro dead-timer? | ||||
| | uint32 | ||||
| +--ro peer-dead-timer? | ||||
| | uint32 | ||||
| +--ro ka-hold-time-rem? | ||||
| | uint32 | ||||
| +--ro overloaded? | ||||
| | boolean | ||||
| +--ro overload-time? | ||||
| | uint32 | ||||
| +--ro peer-overloaded? | ||||
| | boolean | ||||
| +--ro peer-overload-time? | ||||
| | uint32 | ||||
| +--ro lspdb-sync? | ||||
| | sync-state | ||||
| | {stateful}? | | {stateful}? | |||
| +--ro recv-db-ver? uint64 | +--ro recv-db-ver? | |||
| | uint64 | ||||
| | {stateful,stateful-sync-opt}? | | {stateful,stateful-sync-opt}? | |||
| +--ro of-list {objective-function}? | +--ro of-list | |||
| | +--ro objective-function* [of] | | {objective-function}? | |||
| | +--ro of objective-function | | +--ro objective-function* | |||
| +--ro speaker-entity-id? string | | [of] | |||
| | +--ro of | ||||
| | objective-function | ||||
| +--ro speaker-entity-id? | ||||
| | string | ||||
| | {stateful-sync-opt}? | | {stateful-sync-opt}? | |||
| +--ro discontinuity-time? yang:timestamp | +--ro discontinuity-time? | |||
| yang:timestamp | ||||
| rpcs: | rpcs: | |||
| +---x trigger-resync {stateful,stateful-sync-opt}? | +---x trigger-resync | |||
| {stateful,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 | ||||
| | +--ro session-initiator? leafref | | +--ro session-initiator? leafref | |||
| | +--ro state-last-change? yang:timestamp | | +--ro state-last-change? yang:timestamp | |||
| | +--ro state? pcep-sess-state | | +--ro state? pcep-sess-state | |||
| +---n pcep-session-down | +---n pcep-session-down | |||
| | +--ro peer-addr? -> /pcep/entity/peers/peer/addr | | +--ro peer-addr? | |||
| | | -> /pcep/entity/peers/peer/addr | ||||
| | +--ro session-initiator? pcep-initiator | | +--ro session-initiator? pcep-initiator | |||
| | +--ro state-last-change? yang:timestamp | | +--ro state-last-change? yang:timestamp | |||
| | +--ro state? pcep-sess-state | | +--ro state? pcep-sess-state | |||
| +---n pcep-session-local-overload | +---n pcep-session-local-overload | |||
| | +--ro peer-addr? -> /pcep/entity/peers/peer/addr | | +--ro peer-addr? | |||
| | | -> /pcep/entity/peers/peer/addr | ||||
| | +--ro session-initiator? leafref | | +--ro session-initiator? leafref | |||
| | +--ro overloaded? boolean | | +--ro overloaded? boolean | |||
| | +--ro overload-time? uint32 | | +--ro overload-time? uint32 | |||
| +---n pcep-session-local-overload-clear | +---n pcep-session-local-overload-clear | |||
| | +--ro peer-addr? -> /pcep/entity/peers/peer/addr | | +--ro peer-addr? | |||
| | | -> /pcep/entity/peers/peer/addr | ||||
| | +--ro overloaded? boolean | | +--ro overloaded? boolean | |||
| +---n pcep-session-peer-overload | +---n pcep-session-peer-overload | |||
| | +--ro peer-addr? -> /pcep/entity/peers/peer/addr | | +--ro peer-addr? | |||
| | | -> /pcep/entity/peers/peer/addr | ||||
| | +--ro session-initiator? leafref | | +--ro session-initiator? leafref | |||
| | +--ro peer-overloaded? boolean | | +--ro peer-overloaded? boolean | |||
| | +--ro peer-overload-time? uint32 | | +--ro peer-overload-time? uint32 | |||
| +---n pcep-session-peer-overload-clear | +---n pcep-session-peer-overload-clear | |||
| +--ro peer-addr? -> /pcep/entity/peers/peer/addr | +--ro peer-addr? | |||
| | -> /pcep/entity/peers/peer/addr | ||||
| +--ro peer-overloaded? boolean | +--ro peer-overloaded? boolean | |||
| 5.1. The Entity | 5.3. The Entity | |||
| The PCEP yang module may contain status information for the local | The PCEP yang module may contain status information for the local | |||
| PCEP entity. | PCEP entity. | |||
| The entity has an IP address (using ietf-inet-types [RFC6991]) and a | The entity has an IP address (using ietf-inet-types [RFC6991]) and a | |||
| "role" leaf (the local entity PCEP role) as mandatory. | "role" leaf (the local entity PCEP role) as mandatory. | |||
| Note that, the PCEP MIB module [RFC7420] uses an entity list and a | Note that, the PCEP MIB module [RFC7420] uses an entity list and a | |||
| system generated entity index as a primary index to the read only | system generated entity index as a primary index to the read only | |||
| entity table. If the device implements the PCEP MIB, the "index" | entity table. If the device implements the PCEP MIB, the "index" | |||
| leaf MUST contain the value of the corresponding pcePcepEntityIndex | leaf MUST contain the value of the corresponding pcePcepEntityIndex | |||
| and only one entity is assumed. | and only one entity is assumed. | |||
| 5.2. The Peer Lists | 5.4. The Peer Lists | |||
| The peer list contains peer(s) that the local PCEP entity knows | The peer list contains peer(s) that the local PCEP entity knows | |||
| about. A PCEP speaker is identified by its IP address. If there is | about. A PCEP speaker is identified by its IP address. If there is | |||
| a PCEP speaker in the network that uses multiple IP addresses then it | a PCEP speaker in the network that uses multiple IP addresses then it | |||
| looks like multiple distinct peers to the other PCEP speakers in the | looks like multiple distinct peers to the other PCEP speakers in the | |||
| network. | network. | |||
| Since PCEP sessions can be ephemeral, the peer list tracks a peer | Since PCEP sessions can be ephemeral, the peer list tracks a peer | |||
| even when no PCEP session currently exists to that peer. The | even when no PCEP session currently exists to that peer. The | |||
| statistics contained are an aggregate of the statistics for all | statistics contained are an aggregate of the statistics for all | |||
| skipping to change at page 15, line 16 ¶ | skipping to change at page 18, line 39 ¶ | |||
| list of peers. Each peer in the list is identified by its IP address | list of peers. Each peer in the list is identified by its IP address | |||
| (addr-type, addr). | (addr-type, addr). | |||
| There is a list for static peer configuration and operational state | There is a list for static peer configuration and operational state | |||
| of all peers (i.e.static as well as discovered)("/pcep/entity/ | of all peers (i.e.static as well as discovered)("/pcep/entity/ | |||
| peers"). The list is used to enable remote PCE configuration at PCC | peers"). The list is used to enable remote PCE configuration at PCC | |||
| (or PCE) and has the operational state of these peers as well as the | (or PCE) and has the operational state of these peers as well as the | |||
| remote PCE peer which were discovered and PCC peers that have | remote PCE peer which were discovered and PCC peers that have | |||
| initiated session. | initiated session. | |||
| 5.3. The Session Lists | 5.5. The Session Lists | |||
| The session list contains PCEP session that the PCEP entity (PCE or | The session list contains PCEP session that the PCEP entity (PCE or | |||
| PCC) is currently participating in. The statistics in session are | PCC) is currently participating in. The statistics in session are | |||
| semantically different from those in peer since the former applies to | semantically different from those in peer since the former applies to | |||
| the current session only, whereas the latter is the aggregate for all | the current session only, whereas the latter is the aggregate for all | |||
| sessions that have existed to that peer. | sessions that have existed to that peer. | |||
| Although [RFC5440] forbids more than one active PCEP session between | Although [RFC5440] forbids more than one active PCEP session between | |||
| a given pair of PCEP entities at any given time, there is a window | a given pair of PCEP entities at any given time, there is a window | |||
| during session establishment where two sessions may exist for a given | during session establishment where two sessions may exist for a given | |||
| pair, one representing a session initiated by the local PCEP entity | pair, one representing a session initiated by the local PCEP entity | |||
| and the other representing a session initiated by the peer. If | and the other representing a session initiated by the peer. If | |||
| either of these sessions reaches active state first, then the other | either of these sessions reaches active state first, then the other | |||
| is discarded. | is discarded. | |||
| The data model for PCEP session presented in this document uses a | The data model for PCEP session presented in this document uses a | |||
| flat list of sessions. Each session in the list is identified by its | flat list of sessions. Each session in the list is identified by its | |||
| initiator. This index allows two sessions to exist transiently for a | initiator. This index allows two sessions to exist transiently for a | |||
| given peer, as discussed above. | given peer, as discussed above. | |||
| 5.4. Notifications | 5.6. Notifications | |||
| This YANG model defines a list of notifications to inform client of | This YANG model defines a list of notifications to inform client of | |||
| important events detected during the protocol operation. The | important events detected during the protocol operation. The | |||
| notifications defined cover the PCEP MIB notifications. | notifications defined cover the PCEP MIB notifications. | |||
| 5.5. RPC | 5.7. RPC | |||
| This YANG model defines a RPC to trigger state resynchronization to a | This YANG model defines a RPC to trigger state resynchronization to a | |||
| particular PCEP peer. | particular PCEP peer. | |||
| 6. The Design of PCEP Statistics Data Model | 6. The Design of PCEP Statistics Data Model | |||
| The module, "ietf-pcep-stats", augments the ietf-pcep module to | The module, "ietf-pcep-stats", augments the ietf-pcep module to | |||
| include statistics at the PCEP peer and session level. | include statistics at the PCEP peer and session level. | |||
| module: ietf-pcep-stats | module: ietf-pcep-stats | |||
| skipping to change at page 19, line 48 ¶ | skipping to change at page 23, line 27 ¶ | |||
| The TE Model at [I-D.ietf-teas-yang-te] should support creating of | The TE Model at [I-D.ietf-teas-yang-te] should support creating of | |||
| tunnels at the controller (PCE) and marking them as PCE-Initiated. | tunnels at the controller (PCE) and marking them as PCE-Initiated. | |||
| The LSP-DB in the PCEP Yang (/pcep/entity/lsp-db/lsp/initiation) also | The LSP-DB in the PCEP Yang (/pcep/entity/lsp-db/lsp/initiation) also | |||
| marks the LSPs which are PCE-initiated. | marks the LSPs which are PCE-initiated. | |||
| 9. Other Considerations | 9. Other Considerations | |||
| 9.1. PCEP over TLS (PCEPS) | 9.1. PCEP over TLS (PCEPS) | |||
| [I-D.ietf-pce-pceps] describe the use of TLS in PCEP. The peer | [RFC8253] describe the use of TLS in PCEP. The peer acting as the | |||
| acting as the PCEP client MUST act as the TLS client. The TLS client | PCEP client MUST act as the TLS client. The TLS client actively | |||
| actively opens the TLS connection and the TLS server passively | opens the TLS connection and the TLS server passively listens for the | |||
| listens for the incoming TLS connections. The well-known TCP port | incoming TLS connections. The well-known TCP port number 4189 is | |||
| number 4189 is used by PCEP servers to listen for TCP connections | used by PCEP servers to listen for TCP connections established by | |||
| established by PCEP over TLS clients. The TLS client MUST send the | PCEP over TLS clients. The TLS client MUST send the TLS ClientHello | |||
| TLS ClientHello message to begin the TLS handshake. The TLS server | message to begin the TLS handshake. The TLS server MUST send a | |||
| MUST send a CertificateRequest in order to request a certificate from | CertificateRequest in order to request a certificate from the TLS | |||
| the TLS client. Once the TLS handshake has finished, the client and | client. Once the TLS handshake has finished, the client and the | |||
| the server MAY begin to exchange PCEP messages. Client and server | server MAY begin to exchange PCEP messages. Client and server | |||
| identity verification is done before the PCEP open message is sent. | identity verification is done before the PCEP open message is sent. | |||
| 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@2017-07-01.yang" | <CODE BEGINS> file "ietf-pcep@2018-01-05.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"; | |||
| } | } | |||
| import ietf-yang-types { | import ietf-yang-types { | |||
| skipping to change at page 21, line 35 ¶ | skipping to change at page 25, line 13 ¶ | |||
| WG Chair: Jonathan Hardwick | WG Chair: Jonathan Hardwick | |||
| <mailto:Jonathan.Hardwick@metaswitch.com> | <mailto:Jonathan.Hardwick@metaswitch.com> | |||
| Editor: Dhruv Dhody | Editor: Dhruv Dhody | |||
| <mailto:dhruv.ietf@gmail.com>"; | <mailto:dhruv.ietf@gmail.com>"; | |||
| description | description | |||
| "The YANG module defines a generic configuration and | "The YANG module defines a generic configuration and | |||
| operational model for PCEP common across all of the | operational model for PCEP common across all of the | |||
| vendor implementations."; | vendor implementations."; | |||
| revision 2017-07-01 { | revision 2018-01-05 { | |||
| description "Initial revision."; | description "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 | Element Communications Protocol | |||
| (PCEP)"; | (PCEP)"; | |||
| } | } | |||
| /* | /* | |||
| * Identities | * Identities | |||
| */ | */ | |||
| skipping to change at page 56, line 28 ¶ | skipping to change at page 60, line 8 ¶ | |||
| "The initiator of the session,that is, whether | "The initiator of the session,that is, whether | |||
| the TCP connection was initiated by the local | the TCP connection was initiated by the local | |||
| PCEP entity or the peer. | PCEP entity or the peer. | |||
| There is a window during session | There is a window during session | |||
| initialization where two sessions can exist | initialization where two sessions can exist | |||
| between a pair of PCEP speakers, each | between a pair of PCEP speakers, each | |||
| initiated by one of the speakers. One of | initiated by one of the speakers. One of | |||
| these sessions is always discarded before it | these sessions is always discarded before it | |||
| leaves OpenWait state. However, before it is | leaves OpenWait state. However, before it is | |||
| discarded, two sessions to the given peer | discarded, two sessions to the given peer | |||
| appear transiently in this MIB module. The | appear transiently in this yang module. The | |||
| sessions are distinguished by who initiated | sessions are distinguished by who initiated | |||
| them, and so this field is the key."; | them, and so this field is the key."; | |||
| } | } | |||
| leaf role { | leaf role { | |||
| type leafref { | type leafref { | |||
| path "/pcep/entity/role"; | path "/pcep/entity/role"; | |||
| } | } | |||
| description | description | |||
| "The reference to peer role ."; | "The reference to peer role ."; | |||
| skipping to change at page 76, line 4 ¶ | skipping to change at page 79, line 29 ¶ | |||
| "The IP address to identify the PCC. The state | "The IP address to identify the PCC. The state | |||
| syncronization is re-triggered for all LSPs from | syncronization is re-triggered for all LSPs from | |||
| the PCC. The rpc on the PCC will be ignored."; | the PCC. The rpc on the PCC will be ignored."; | |||
| } | } | |||
| } | } | |||
| }//rpc | }//rpc | |||
| }//module | }//module | |||
| <CODE ENDS> | <CODE ENDS> | |||
| 10.2. ietf-pcep-stats module | 10.2. ietf-pcep-stats module | |||
| <CODE BEGINS> file "ietf-pcep-stats@2017-07-01.yang" | <CODE BEGINS> file "ietf-pcep-stats@2018-01-05.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 ps; | prefix ps; | |||
| import ietf-pcep { | import ietf-pcep { | |||
| prefix p; | prefix p; | |||
| } | } | |||
| import ietf-yang-types { | import ietf-yang-types { | |||
| prefix "yang"; | prefix "yang"; | |||
| } | } | |||
| skipping to change at page 76, line 41 ¶ | skipping to change at page 80, line 22 ¶ | |||
| <mailto:julien.meuric@orange.com> | <mailto:julien.meuric@orange.com> | |||
| WG Chair: Jonathan Hardwick | WG Chair: Jonathan Hardwick | |||
| <mailto:Jonathan.Hardwick@metaswitch.com> | <mailto:Jonathan.Hardwick@metaswitch.com> | |||
| 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"; | |||
| revision 2017-07-01 { | revision 2018-01-05 { | |||
| description "Initial revision."; | description "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 | Element Communications Protocol | |||
| (PCEP)"; | (PCEP)"; | |||
| } | } | |||
| /* | /* | |||
| * Groupings | * Groupings | |||
| */ | */ | |||
| grouping pcep-stats{ | grouping pcep-stats{ | |||
| description | description | |||
| "This grouping defines statistics for PCEP. It is used | "This grouping defines statistics for PCEP. It is used | |||
| for both peer and current session."; | for both peer and current session."; | |||
| skipping to change at page 97, line 50 ¶ | skipping to change at page 101, line 22 ¶ | |||
| 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. | |||
| 14. References | 14. References | |||
| 14.1. Normative References | 14.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, | |||
| <http://www.rfc-editor.org/info/rfc2119>. | <https://www.rfc-editor.org/info/rfc2119>. | |||
| [RFC3688] Mealling, M., "The IETF XML Registry", BCP 81, RFC 3688, | [RFC3688] Mealling, M., "The IETF XML Registry", BCP 81, RFC 3688, | |||
| DOI 10.17487/RFC3688, January 2004, | DOI 10.17487/RFC3688, January 2004, | |||
| <http://www.rfc-editor.org/info/rfc3688>. | <https://www.rfc-editor.org/info/rfc3688>. | |||
| [RFC5440] Vasseur, JP., Ed. and JL. Le Roux, Ed., "Path Computation | [RFC5440] Vasseur, JP., Ed. and JL. Le Roux, Ed., "Path Computation | |||
| Element (PCE) Communication Protocol (PCEP)", RFC 5440, | Element (PCE) Communication Protocol (PCEP)", RFC 5440, | |||
| DOI 10.17487/RFC5440, March 2009, | DOI 10.17487/RFC5440, March 2009, | |||
| <http://www.rfc-editor.org/info/rfc5440>. | <https://www.rfc-editor.org/info/rfc5440>. | |||
| [RFC5246] Dierks, T. and E. Rescorla, "The Transport Layer Security | [RFC5246] Dierks, T. and E. Rescorla, "The Transport Layer Security | |||
| (TLS) Protocol Version 1.2", RFC 5246, | (TLS) Protocol Version 1.2", RFC 5246, | |||
| DOI 10.17487/RFC5246, August 2008, | DOI 10.17487/RFC5246, August 2008, | |||
| <http://www.rfc-editor.org/info/rfc5246>. | <https://www.rfc-editor.org/info/rfc5246>. | |||
| [RFC6020] Bjorklund, M., Ed., "YANG - A Data Modeling Language for | [RFC6020] Bjorklund, M., Ed., "YANG - A Data Modeling Language for | |||
| the Network Configuration Protocol (NETCONF)", RFC 6020, | the Network Configuration Protocol (NETCONF)", RFC 6020, | |||
| DOI 10.17487/RFC6020, October 2010, | DOI 10.17487/RFC6020, October 2010, | |||
| <http://www.rfc-editor.org/info/rfc6020>. | <https://www.rfc-editor.org/info/rfc6020>. | |||
| [RFC6241] Enns, R., Ed., Bjorklund, M., Ed., Schoenwaelder, J., Ed., | [RFC6241] Enns, R., Ed., Bjorklund, M., Ed., Schoenwaelder, J., Ed., | |||
| and A. Bierman, Ed., "Network Configuration Protocol | and A. Bierman, Ed., "Network Configuration Protocol | |||
| (NETCONF)", RFC 6241, DOI 10.17487/RFC6241, June 2011, | (NETCONF)", RFC 6241, DOI 10.17487/RFC6241, June 2011, | |||
| <http://www.rfc-editor.org/info/rfc6241>. | <https://www.rfc-editor.org/info/rfc6241>. | |||
| [RFC6242] Wasserman, M., "Using the NETCONF Protocol over Secure | [RFC6242] Wasserman, M., "Using the NETCONF Protocol over Secure | |||
| Shell (SSH)", RFC 6242, DOI 10.17487/RFC6242, June 2011, | Shell (SSH)", RFC 6242, DOI 10.17487/RFC6242, June 2011, | |||
| <http://www.rfc-editor.org/info/rfc6242>. | <https://www.rfc-editor.org/info/rfc6242>. | |||
| [RFC6536] Bierman, A. and M. Bjorklund, "Network Configuration | [RFC6536] Bierman, A. and M. Bjorklund, "Network Configuration | |||
| Protocol (NETCONF) Access Control Model", RFC 6536, | Protocol (NETCONF) Access Control Model", RFC 6536, | |||
| DOI 10.17487/RFC6536, March 2012, | DOI 10.17487/RFC6536, March 2012, | |||
| <http://www.rfc-editor.org/info/rfc6536>. | <https://www.rfc-editor.org/info/rfc6536>. | |||
| [RFC6991] Schoenwaelder, J., Ed., "Common YANG Data Types", | [RFC6991] Schoenwaelder, J., Ed., "Common YANG Data Types", | |||
| RFC 6991, DOI 10.17487/RFC6991, July 2013, | RFC 6991, DOI 10.17487/RFC6991, July 2013, | |||
| <http://www.rfc-editor.org/info/rfc6991>. | <https://www.rfc-editor.org/info/rfc6991>. | |||
| [RFC8177] Lindem, A., Ed., Qu, Y., Yeung, D., Chen, I., and J. | [RFC8177] Lindem, A., Ed., Qu, Y., Yeung, D., Chen, I., and J. | |||
| Zhang, "YANG Data Model for Key Chains", RFC 8177, | Zhang, "YANG Data Model for Key Chains", RFC 8177, | |||
| DOI 10.17487/RFC8177, June 2017, | DOI 10.17487/RFC8177, June 2017, | |||
| <http://www.rfc-editor.org/info/rfc8177>. | <https://www.rfc-editor.org/info/rfc8177>. | |||
| [RFC8040] Bierman, A., Bjorklund, M., and K. Watsen, "RESTCONF | [RFC8040] Bierman, A., Bjorklund, M., and K. Watsen, "RESTCONF | |||
| Protocol", RFC 8040, DOI 10.17487/RFC8040, January 2017, | Protocol", RFC 8040, DOI 10.17487/RFC8040, January 2017, | |||
| <http://www.rfc-editor.org/info/rfc8040>. | <https://www.rfc-editor.org/info/rfc8040>. | |||
| [I-D.ietf-pce-stateful-pce] | [RFC8231] Crabbe, E., Minei, I., Medved, J., and R. Varga, "Path | |||
| Crabbe, E., Minei, I., Medved, J., and R. Varga, "PCEP | Computation Element Communication Protocol (PCEP) | |||
| Extensions for Stateful PCE", draft-ietf-pce-stateful- | Extensions for Stateful PCE", RFC 8231, | |||
| pce-21 (work in progress), June 2017. | DOI 10.17487/RFC8231, September 2017, | |||
| <https://www.rfc-editor.org/info/rfc8231>. | ||||
| [I-D.ietf-pce-pce-initiated-lsp] | [RFC8281] Crabbe, E., Minei, I., Sivabalan, S., and R. Varga, "Path | |||
| Crabbe, E., Minei, I., Sivabalan, S., and R. Varga, "PCEP | Computation Element Communication Protocol (PCEP) | |||
| Extensions for PCE-initiated LSP Setup in a Stateful PCE | Extensions for PCE-Initiated LSP Setup in a Stateful PCE | |||
| Model", draft-ietf-pce-pce-initiated-lsp-10 (work in | Model", RFC 8281, DOI 10.17487/RFC8281, December 2017, | |||
| progress), June 2017. | <https://www.rfc-editor.org/info/rfc8281>. | |||
| [I-D.ietf-pce-lsp-setup-type] | [I-D.ietf-pce-lsp-setup-type] | |||
| Sivabalan, S., Tantsura, J., Minei, I., Varga, R., and J. | Sivabalan, S., Tantsura, J., Minei, I., Varga, R., and J. | |||
| Hardwick, "Conveying path setup type in PCEP messages", | Hardwick, "Conveying path setup type in PCEP messages", | |||
| draft-ietf-pce-lsp-setup-type-04 (work in progress), April | draft-ietf-pce-lsp-setup-type-07 (work in progress), | |||
| 2017. | December 2017. | |||
| [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-09 (work in progress), | draft-ietf-pce-segment-routing-11 (work in progress), | |||
| April 2017. | November 2017. | |||
| [I-D.ietf-teas-yang-te] | [I-D.ietf-teas-yang-te] | |||
| Saad, T., Gandhi, R., Liu, X., Beeram, V., Shah, H., and | Saad, T., Gandhi, R., Liu, X., Beeram, V., Shah, H., and | |||
| I. Bryskin, "A YANG Data Model for Traffic Engineering | I. Bryskin, "A YANG Data Model for Traffic Engineering | |||
| Tunnels and Interfaces", draft-ietf-teas-yang-te-07 (work | Tunnels and Interfaces", draft-ietf-teas-yang-te-10 (work | |||
| in progress), June 2017. | in progress), December 2017. | |||
| [I-D.ietf-netconf-tls-client-server] | [I-D.ietf-netconf-tls-client-server] | |||
| Watsen, K. and G. Wu, "TLS Client and Server Models", | Watsen, K. and G. Wu, "YANG Groupings for TLS Clients and | |||
| draft-ietf-netconf-tls-client-server-03 (work in | TLS Servers", draft-ietf-netconf-tls-client-server-05 | |||
| progress), June 2017. | (work in progress), October 2017. | |||
| 14.2. Informative References | 14.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, | |||
| <http://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, | |||
| <http://www.rfc-editor.org/info/rfc7420>. | <https://www.rfc-editor.org/info/rfc7420>. | |||
| [I-D.ietf-netmod-rfc6087bis] | [RFC8253] Lopez, D., Gonzalez de Dios, O., Wu, Q., and D. Dhody, | |||
| Bierman, A., "Guidelines for Authors and Reviewers of YANG | "PCEPS: Usage of TLS to Provide a Secure Transport for the | |||
| Data Model Documents", draft-ietf-netmod-rfc6087bis-13 | Path Computation Element Communication Protocol (PCEP)", | |||
| (work in progress), June 2017. | RFC 8253, DOI 10.17487/RFC8253, October 2017, | |||
| <https://www.rfc-editor.org/info/rfc8253>. | ||||
| [I-D.ietf-netmod-yang-tree-diagrams] | ||||
| Bjorklund, M. and L. Berger, "YANG Tree Diagrams", draft- | ||||
| ietf-netmod-yang-tree-diagrams-04 (work in progress), | ||||
| December 2017. | ||||
| [I-D.ietf-netmod-revised-datastores] | [I-D.ietf-netmod-revised-datastores] | |||
| Bjorklund, M., Schoenwaelder, J., Shafer, P., Watsen, K., | Bjorklund, M., Schoenwaelder, J., Shafer, P., Watsen, K., | |||
| and R. Wilton, "Network Management Datastore | and R. Wilton, "Network Management Datastore | |||
| Architecture", draft-ietf-netmod-revised-datastores-02 | Architecture", draft-ietf-netmod-revised-datastores-09 | |||
| (work in progress), May 2017. | (work in progress), December 2017. | |||
| [I-D.ietf-pce-pceps] | Appendix A. Example | |||
| Lopez, D., Dios, O., Wu, Q., and D. Dhody, "Secure | ||||
| Transport for PCEP", draft-ietf-pce-pceps-14 (work in | ||||
| progress), May 2017. | ||||
| Appendix A. Contributor Addresses | The example below provide an overview of PCEP peer session | |||
| informations and LSP-DB in the Yang Module. | ||||
| +-------+ +-------+ | ||||
| | | | | | ||||
| | PCC1 |<---------------->| | | ||||
| | | | | | ||||
| +-------+ | | | ||||
| IP:192.0.2.1 | | | ||||
| | PCE | | ||||
| | | | ||||
| +-------+ | | | ||||
| | | | | | ||||
| | PCC2 |<---------------->| | | ||||
| | | | | | ||||
| +-------+ +-------+ | ||||
| IP:192.0.2.2 IP:192.0.2.3 | ||||
| at PCE: | ||||
| { | ||||
| "entity": [ | ||||
| { | ||||
| "addr": "192.0.2.3", | ||||
| "oper-status": "oper-status-up", | ||||
| "role":"pce", | ||||
| "capability" : { | ||||
| "stateful": { | ||||
| "enabled": true | ||||
| } | ||||
| } | ||||
| "lsp-db" : [ | ||||
| "lsp" : { | ||||
| "plsp-id": 3, | ||||
| "pcc-id" :"192.0.2.1", | ||||
| "lsp-ref" : { | ||||
| "source": "192.0.2.1", | ||||
| "destination": "192.0.2.4" | ||||
| "tunnel-id": 16, | ||||
| "lsp-id": 3, | ||||
| "extended-tunnel-id": 0 | ||||
| }, | ||||
| "oper-status": "oper-status-up", | ||||
| "delegated": true, | ||||
| "symbolic-path-name": "iewauh", | ||||
| }, | ||||
| "lsp" : { | ||||
| "plsp-id": 4, | ||||
| "pcc-id" :"192.0.2.2", | ||||
| "lsp-ref" : { | ||||
| "source": "192.0.2.2", | ||||
| "destination": "192.0.2.5" | ||||
| "tunnel-id": 17, | ||||
| "lsp-id": 4 | ||||
| "extended-tunnel-id": 0 | ||||
| }, | ||||
| "oper-status": "oper-status-up", | ||||
| "delegated": true, | ||||
| "symbolic-path-name": "iewauhiewauh", | ||||
| "extended-tunnel-id": 0 | ||||
| } | ||||
| ] | ||||
| "peers":[ | ||||
| { | ||||
| "peer": { | ||||
| "addr":"192.0.2.1", | ||||
| "role": "pcc", | ||||
| "capability": { | ||||
| "stateful" : { | ||||
| "enabled": true, | ||||
| "active": yes, | ||||
| } | ||||
| } | ||||
| "sessions": [ | ||||
| { | ||||
| "session": { | ||||
| "initiator": "remote", | ||||
| "role": "pcc", | ||||
| } | ||||
| } | ||||
| ] | ||||
| } | ||||
| }, | ||||
| { | ||||
| "peer": { | ||||
| "addr":"192.0.2.2", | ||||
| "role": "pcc", | ||||
| "capability": { | ||||
| "stateful" : { | ||||
| "enabled": true, | ||||
| "active": true, | ||||
| } | ||||
| } | ||||
| "sessions": [ | ||||
| { | ||||
| "session": { | ||||
| "initiator": "remote", | ||||
| "role": "pcc", | ||||
| } | ||||
| } | ||||
| ] | ||||
| } | ||||
| } | ||||
| ] | ||||
| } | ||||
| } | ||||
| Appendix B. Contributor Addresses | ||||
| Rohit Pobbathi | Rohit Pobbathi | |||
| Huawei Technologies | Huawei Technologies | |||
| Divyashree Techno Park, Whitefield | Divyashree Techno Park, Whitefield | |||
| Bangalore, Karnataka 560066 | Bangalore, Karnataka 560066 | |||
| India | India | |||
| EMail: rohit.pobbathi@huawei.com | EMail: rohit.pobbathi@huawei.com | |||
| Vinod KumarS | Vinod KumarS | |||
| End of changes. 103 change blocks. | ||||
| 267 lines changed or deleted | 560 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/ | ||||