Add new revision for pcep types model
[bgpcep.git] / pcep / tunnel / tunnel-api / src / main / yang / topology-tunnel-pcep.yang
1 module topology-tunnel-pcep {
2     // vi: set et smarttab sw=4 tabstop=4:
3     yang-version 1;
4     namespace "urn:opendaylight:params:xml:ns:yang:topology:tunnel:pcep";
5     prefix "pceptun";
6
7     import network-topology { prefix nt; revision-date 2013-10-21; }
8     import network-concepts { prefix netc; revision-date 2013-11-25; }
9     import pcep-types { prefix pcep; revision-date 2018-11-09; }
10     import rsvp { prefix rsvp; revision-date 2015-08-20; }
11     import topology-tunnel { prefix tt; revision-date 2013-08-19; }
12     import topology-tunnel-p2p { prefix p2p; revision-date 2013-08-19; }
13
14     organization "Cisco Systems, Inc.";
15     contact "Robert Varga <rovarga@cisco.com>";
16
17     description
18         "This module contains the PCEP extensions to base tunnel
19         topology model.
20
21         Copyright (c)2013 Cisco Systems, Inc. All rights reserved.
22
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";
27
28     revision "2018-11-09" {
29         description
30             "P2MP extension.";
31         reference "RFC8306";
32     }
33
34     revision "2013-08-20" {
35         description
36             "Initial revision.";
37         reference "";
38     }
39
40     grouping topology-tunnel-pcep-type {
41         container topology-tunnel-pcep {
42             presence "indicates a PCEP tunnel-aware topology";
43         }
44     }
45
46     augment "/nt:network-topology/nt:topology/nt:topology-types" {
47         uses topology-tunnel-pcep-type;
48     }
49
50     grouping tunnel-pcep-supporting-node-attributes {
51         container path-computation-client {
52             leaf controlling {
53                 type boolean;
54                 default false;
55             }
56         }
57     }
58
59     augment "/nt:network-topology/nt:topology/nt:node/nt:supporting-node" {
60         when "../../../nt:topology-types/topology-tunnel-pcep";
61
62         uses tunnel-pcep-supporting-node-attributes;
63     }
64
65     grouping tunnel-pcep-type {
66         container pcep-tunnel {
67             presence "indicates a link is a PCEP tunnel";
68         }
69     }
70
71     augment "/nt:network-topology/nt:topology/nt:link/tt:tunnel-types" {
72         uses tunnel-pcep-type;
73     }
74
75     grouping tunnel-pcep-link-cfg-attributes {
76         leaf symbolic-path-name {
77             type string;
78         }
79
80         leaf class-type {
81             type pcep:class-type;
82         }
83
84         leaf bandwidth {
85             type netc:bandwidth;
86         }
87
88         uses rsvp:tunnel-attributes;
89     }
90
91     grouping tunnel-pcep-link-oper-attributes {
92
93     }
94
95     grouping tunnel-pcep-path-attributes {
96
97     }
98
99     augment "/nt:network-topology/nt:topology/nt:link" {
100         when "../../tunnel-types/pcep-tunnel";
101         uses tunnel-pcep-link-cfg-attributes;
102         uses tunnel-pcep-link-oper-attributes;
103     }
104
105     augment "/nt:network-topology/nt:topology/tt:paths" {
106         when "../../tunnel-types/pcep-tunnel";
107         uses tunnel-pcep-path-attributes;
108     }
109
110     augment "/nt:network-topology/nt:topology/tt:paths/p2p:explicit-hops" {
111         when "../../tunnel-types/pcep-tunnel";
112         uses rsvp:explicit-route-subobjects;
113     }
114
115     augment "/nt:network-topology/nt:topology/tt:paths/p2p:reported-hops" {
116         when "../../tunnel-types/pcep-tunnel";
117         uses rsvp:record-route-subobjects;
118     }
119 }
120