draft-ietf-pce-pcep-yang-04.txt   draft-ietf-pce-pcep-yang-05.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 1, 2018 Metaswitch Expires: January 2, 2018 Metaswitch
V. Beeram V. Beeram
Juniper Networks Juniper Networks
J. Tantsura J. Tantsura
June 30, 2017 July 01, 2017
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-04 draft-ietf-pce-pcep-yang-05
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).
skipping to change at page 1, line 40 skipping to change at page 1, line 40
Internet-Drafts are working documents of the Internet Engineering Internet-Drafts are working documents of the Internet Engineering
Task Force (IETF). Note that other groups may also distribute Task Force (IETF). Note that other groups may also distribute
working documents as Internet-Drafts. The list of current Internet- working documents as Internet-Drafts. The list of current Internet-
Drafts is at http://datatracker.ietf.org/drafts/current/. Drafts is at http://datatracker.ietf.org/drafts/current/.
Internet-Drafts are draft documents valid for a maximum of six months Internet-Drafts are draft documents valid for a maximum of six months
and may be updated, replaced, or obsoleted by other documents at any and may be updated, replaced, or obsoleted by other documents at any
time. It is inappropriate to use Internet-Drafts as reference time. It is inappropriate to use Internet-Drafts as reference
material or to cite them other than as "work in progress." material or to cite them other than as "work in progress."
This Internet-Draft will expire on January 1, 2018. This Internet-Draft will expire on January 2, 2018.
Copyright Notice Copyright Notice
Copyright (c) 2017 IETF Trust and the persons identified as the Copyright (c) 2017 IETF Trust and the persons identified as the
document authors. All rights reserved. document authors. All rights reserved.
This document is subject to BCP 78 and the IETF Trust's Legal This document is subject to BCP 78 and the IETF Trust's Legal
Provisions Relating to IETF Documents Provisions Relating to IETF Documents
(http://trustee.ietf.org/license-info) in effect on the date of (http://trustee.ietf.org/license-info) in effect on the date of
publication of this document. Please review these documents publication of this document. Please review these documents
skipping to change at page 2, line 38 skipping to change at page 2, line 38
8. Open Issues and Next Step . . . . . . . . . . . . . . . . . . 19 8. Open Issues and Next Step . . . . . . . . . . . . . . . . . . 19
8.1. The PCE-Initiated LSP . . . . . . . . . . . . . . . . . . 19 8.1. The PCE-Initiated LSP . . . . . . . . . . . . . . . . . . 19
9. Other Considerations . . . . . . . . . . . . . . . . . . . . 19 9. Other Considerations . . . . . . . . . . . . . . . . . . . . 19
9.1. PCEP over TLS (PCEPS) . . . . . . . . . . . . . . . . . . 19 9.1. PCEP over TLS (PCEPS) . . . . . . . . . . . . . . . . . . 19
10. PCEP YANG Modules . . . . . . . . . . . . . . . . . . . . . . 20 10. PCEP YANG Modules . . . . . . . . . . . . . . . . . . . . . . 20
10.1. ietf-pcep module . . . . . . . . . . . . . . . . . . . . 20 10.1. ietf-pcep module . . . . . . . . . . . . . . . . . . . . 20
10.2. ietf-pcep-stats module . . . . . . . . . . . . . . . . . 76 10.2. ietf-pcep-stats module . . . . . . . . . . . . . . . . . 76
11. Security Considerations . . . . . . . . . . . . . . . . . . . 96 11. Security Considerations . . . . . . . . . . . . . . . . . . . 96
12. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 97 12. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 97
13. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 97 13. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 97
14. References . . . . . . . . . . . . . . . . . . . . . . . . . 98 14. References . . . . . . . . . . . . . . . . . . . . . . . . . 97
14.1. Normative References . . . . . . . . . . . . . . . . . . 98 14.1. Normative References . . . . . . . . . . . . . . . . . . 97
14.2. Informative References . . . . . . . . . . . . . . . . . 99 14.2. Informative References . . . . . . . . . . . . . . . . . 99
Appendix A. Contributor Addresses . . . . . . . . . . . . . . . 101 Appendix A. Contributor Addresses . . . . . . . . . . . . . . . 101
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 102 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 102
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
skipping to change at page 9, line 12 skipping to change at page 9, line 12
| +--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
| | | -> /pcep/entity/lsp-db/lsp/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* [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?
| | | -> /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? leafref | | +--ro extended-tunnel-id? leafref
| | +--ro type?
| | -> /te:te/lsps-state/lsp/type
| +--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 10, line 18 skipping to change at page 10, line 17
| | | +--ro address? te-types:te-tp-id | | | +--ro address? te-types:te-tp-id
| | | +--ro hop-type? te-hop-type | | | +--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? binary
| | | +--ro hop-type? te-hop-type | | | +--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? te-types:te-tp-id | | | +--ro link-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?
skipping to change at page 10, line 40 skipping to change at page 10, line 40
| +--ro req-id? uint32 | +--ro req-id? uint32
| +--ro retrieved? boolean | +--ro retrieved? boolean
| +--ro pcc-retrieved? | +--ro pcc-retrieved?
| | -> /pcep/entity/peers/peer/addr | | -> /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]
| +--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 {gco}?
skipping to change at page 12, line 5 skipping to change at page 12, line 6
+--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? 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)
| | +--rw tls-server | | +--rw tls-server
| | +--rw certificates | | +--rw certificates
| | | +--rw certificate* [name] | | | +--rw certificate* [name]
skipping to change at page 20, line 22 skipping to change at page 20, line 22
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-06-30.yang" <CODE BEGINS> file "ietf-pcep@2017-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";
} }
skipping to change at page 21, line 35 skipping to change at page 21, line 35
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-06-30 { revision 2017-07-01 {
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 46, line 13 skipping to change at page 46, line 13
} }
leaf extended-tunnel-id { leaf extended-tunnel-id {
type leafref { type leafref {
path "/te:te/te:lsps-state/te:lsp/te:" path "/te:te/te:lsps-state/te:lsp/te:"
+ "extended-tunnel-id"; + "extended-tunnel-id";
} }
description description
"Extended Tunnel ID of the LSP."; "Extended Tunnel ID of the LSP.";
reference "RFC3209"; reference "RFC3209";
} }
leaf type {
type leafref {
path "/te:te/te:lsps-state/te:lsp/te:type";
}
description "LSP type P2P or P2MP";
}
} }
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
skipping to change at page 70, line 4 skipping to change at page 69, line 45
description description
"The peer configured for the entity. "The peer configured for the entity.
(remote PCE)"; (remote PCE)";
leaf addr { leaf addr {
type inet:ip-address; type inet:ip-address;
description description
"The local Internet address of this "The local Internet address of this
PCEP peer."; PCEP peer.";
} }
leaf role { leaf role {
type pcep-role; type pcep-role;
mandatory true;
description description
"The role of the PCEP Peer. "The role of the PCEP Peer.
Takes one of the following values. Takes one of the following values.
- unknown(0): this PCEP peer role is not - unknown(0): this PCEP peer role is not
known. known.
- pcc(1): this PCEP peer is a PCC. - pcc(1): this PCEP peer is a PCC.
- pce(2): this PCEP peer is a PCE. - pce(2): this PCEP peer is a PCE.
- pcc-and-pce(3): this PCEP peer - pcc-and-pce(3): this PCEP peer
is both a PCC and a PCE."; is both a PCC and a PCE.";
} }
leaf description { leaf description {
type string; type string;
skipping to change at page 70, line 29 skipping to change at page 70, line 25
description description
"Description of the PCEP peer "Description of the PCEP peer
configured by the user"; configured by the user";
} }
uses info { uses info {
description description
"PCE Peer information"; "PCE Peer information";
} }
container pce-info { container pce-info {
when "../role = 'pce'" +
"or " +
"../role = 'pcc-and-pce'"
{
description
"Valid at PCE";
}
uses pce-info { uses pce-info {
description description
"PCE Peer information"; "PCE Peer information";
} }
description description
"The PCE Peer information"; "The PCE Peer information";
} }
leaf delegation-pref{ leaf delegation-pref{
if-feature stateful; if-feature stateful;
skipping to change at page 76, line 4 skipping to change at page 75, line 39
rpc trigger-resync { rpc trigger-resync {
if-feature stateful; if-feature stateful;
if-feature stateful-sync-opt; if-feature stateful-sync-opt;
description description
"Trigger the resyncrinization at the PCE"; "Trigger the resyncrinization at the PCE";
input { input {
leaf pcc { leaf pcc {
type leafref { type leafref {
path "/pcep/entity/peers/peer/addr"; path "/pcep/entity/peers/peer/addr";
} }
description description
"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-06-30.yang" <CODE BEGINS> file "ietf-pcep-stats@2017-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 ps; prefix ps;
import ietf-pcep { import ietf-pcep {
prefix p; prefix p;
} }
skipping to change at page 77, line 9 skipping to change at page 76, line 41
<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-06-30 { revision 2017-07-01 {
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 99, line 40 skipping to change at page 99, line 31
[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-09 (work in progress),
April 2017. April 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-06 (work Tunnels and Interfaces", draft-ietf-teas-yang-te-07 (work
in progress), March 2017. in progress), June 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, "TLS Client and Server Models",
draft-ietf-netconf-tls-client-server-03 (work in draft-ietf-netconf-tls-client-server-03 (work in
progress), June 2017. progress), June 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,
 End of changes. 25 change blocks. 
35 lines changed or deleted 26 lines changed or added

This html diff was produced by rfcdiff 1.45. The latest version is available from http://tools.ietf.org/tools/rfcdiff/