1 module odl-pcep-segment-routing {
3 namespace "urn:opendaylight:params:xml:ns:yang:pcep:segment:routing";
6 import pcep-types { prefix pcep; revision-date 2013-10-05; }
7 import pcep-message { prefix msg; revision-date 2013-10-07; }
8 import odl-pcep-ietf-stateful07 { prefix stateful; revision-date 2013-12-22; }
9 import odl-pcep-ietf-initiated00 { prefix crabbe; revision-date 2013-11-26; }
10 import ietf-inet-types { prefix inet; revision-date 2010-09-24; }
11 import network-topology { prefix nt; revision-date 2013-10-21; }
12 import network-topology-pcep { prefix pn; revision-date 2013-10-24; }
14 organization "Cisco Systems, Inc.";
15 contact "Milos Fabian <milfabia@cisco.com>";
18 "This module contains the data model of PCEP Extensions for Segment Routing,
19 draft-ietf-pce-segment-routing-00.
21 Copyright (c)2015 Cisco Systems, Inc. All rights reserved.
23 This program and the accompanying materials are made available
24 under the terms of the Eclipse Public License v1.0 which
25 accompanies this distribution, and is available at
26 http://www.eclipse.org/legal/epl-v10.html";
28 revision "2015-01-12" {
30 "Upgrade from draft-sivabalan-pce-segment-routing-02.";
31 reference "http://tools.ietf.org/html/draft-ietf-pce-segment-routing-00";
34 grouping sr-pce-capability-tlv {
35 description "SR-PCE-CAPABILITY TLV";
36 reference "http://tools.ietf.org/html/draft-ietf-pce-segment-routing-00#section-5.1.1";
38 container sr-pce-capability {
41 description "Maximum SID Depth";
48 augment "/msg:open/msg:open-message/msg:open/msg:tlvs" {
49 reference "http://tools.ietf.org/html/draft-ietf-pce-segment-routing-00#section-5.1";
50 uses sr-pce-capability-tlv;
53 augment "/msg:pcerr/msg:pcerr-message/msg:error-type/msg:session-case/msg:session/msg:open/msg:tlvs" {
54 reference "http://tools.ietf.org/html/draft-ietf-pce-segment-routing-00#section-5.1";
55 uses sr-pce-capability-tlv;
59 reference "http://tools.ietf.org/html/draft-ietf-pce-segment-routing-00#section-5.3.1";
79 grouping sr-subobject {
85 description "Segment Identifier";
90 reference "http://tools.ietf.org/html/draft-ietf-pce-segment-routing-00#section-5.3.2";
91 description "Node or Adjacency Identifier";
93 when "../sid-type = 'ipv4-node-id' or ../sid-type = 'ipv6-node-id'";
94 description "IP Node ID";
101 when "../sid-type = 'ipv4-adjacency' or ../sid-type = 'ipv6-adjacency'";
102 description "IP Adjacency";
103 leaf local-ip-address {
104 type inet:ip-address;
107 leaf remote-ip-address {
108 type inet:ip-address;
112 case unnumbered-adjacency {
113 when "../sid-type = 'unnumbered'";
114 description "Unnumbered Adjacency with IPv4 NodeIDs";
119 leaf local-interface-id {
123 leaf remote-node-id {
127 leaf remote-interface-id {
135 grouping sr-ero-subobject {
136 reference "http://tools.ietf.org/html/draft-ietf-pce-segment-routing-00#section-5.3.1";
148 grouping sr-rro-subobject {
149 reference "http://tools.ietf.org/html/draft-ietf-pce-segment-routing-00#section-5.4";
154 augment "/msg:pcrep/msg:pcrep-message/msg:replies/msg:result/msg:success-case/msg:success/msg:paths/msg:ero/msg:subobject/msg:subobject-type" {
156 uses sr-ero-subobject;
161 augment "/crabbe:pcinitiate/crabbe:pcinitiate-message/crabbe:requests/crabbe:ero/crabbe:subobject/crabbe:subobject-type" {
163 uses sr-ero-subobject;
167 augment "/stateful:pcrpt/stateful:pcrpt-message/stateful:reports/stateful:path/stateful:ero/stateful:subobject/stateful:subobject-type" {
169 uses sr-ero-subobject;
173 augment "/stateful:pcupd/stateful:pcupd-message/stateful:updates/stateful:path/stateful:ero/stateful:subobject/stateful:subobject-type" {
175 uses sr-ero-subobject;
180 augment "/pn:add-lsp/pn:input/pn:arguments/pn:ero/pn:subobject/pn:subobject-type" {
182 uses sr-ero-subobject;
186 augment "/pn:update-lsp/pn:input/pn:arguments/pn:ero/pn:subobject/pn:subobject-type" {
188 uses sr-ero-subobject;
192 augment "/nt:network-topology/nt:topology/nt:node/pn:path-computation-client/pn:reported-lsp/pn:path/pn:ero/pn:subobject/pn:subobject-type" {
194 uses sr-ero-subobject;
199 augment "/msg:pcreq/msg:pcreq-message/msg:requests/msg:segment-computation/msg:p2p/msg:reported-route/msg:rro/msg:subobject/msg:subobject-type" {
201 uses sr-rro-subobject;
205 augment "/msg:pcreq/msg:pcreq-message/msg:requests/msg:segment-computation/msg:p2p/msg:rro/msg:subobject/msg:subobject-type" {
207 uses sr-rro-subobject;
211 augment "/msg:pcrep/msg:pcrep-message/msg:replies/msg:result/msg:failure-case/msg:rro/msg:subobject/msg:subobject-type" {
213 uses sr-rro-subobject;
217 augment "/msg:pcrep/msg:pcrep-message/msg:replies/msg:result/msg:success-case/msg:success/msg:paths/msg:rro/msg:subobject/msg:subobject-type" {
219 uses sr-rro-subobject;
224 augment "/crabbe:pcinitiate/crabbe:pcinitiate-message/crabbe:requests/crabbe:rro/crabbe:subobject/crabbe:subobject-type" {
226 uses sr-rro-subobject;
230 augment "/stateful:pcrpt/stateful:pcrpt-message/stateful:reports/stateful:path/stateful:rro/stateful:subobject/stateful:subobject-type" {
232 uses sr-rro-subobject;
236 augment "/stateful:pcupd/stateful:pcupd-message/stateful:updates/stateful:path/stateful:rro/stateful:subobject/stateful:subobject-type" {
238 uses sr-rro-subobject;
243 augment "/pn:add-lsp/pn:input/pn:arguments/pn:rro/pn:subobject/pn:subobject-type" {
245 uses sr-rro-subobject;
249 augment "/pn:update-lsp/pn:input/pn:arguments/pn:rro/pn:subobject/pn:subobject-type" {
251 uses sr-rro-subobject;
255 augment "/nt:network-topology/nt:topology/nt:node/pn:path-computation-client/pn:reported-lsp/pn:path/pn:rro/pn:subobject/pn:subobject-type" {
257 uses sr-rro-subobject;