3 //contact "Pol Alemany, Ricard Vilalta, Juan Luis de la Cruz";
4 //description "Network Slice components definition";
10 namespace "urn:ietf:params:xml:ns:yang:nfvo:nst";
21 import instantiation-parameters {
22 prefix "instantiation-parameters";
25 import ietf-inet-types {
31 description "Initial version";
35 typedef connection-points {
40 typedef network-slice-type {
43 description "enhanced Mobile Broadband slice";
46 description "Ultra Reliable Low Latency Communications slice";
49 description "massive Machine Type Communications slice";
54 typedef resource-type {
56 enum delay-critical-GBR {
57 description "delay critical guaranted bit rate";
60 description "guaranted bit rate";
63 description "NON guaranted bit rate";
69 description "List of NetSlice Subnet Virtual Link Descriptors.";
71 uses nsd-base:vld-common;
73 list nsd-connection-point-ref {
75 "A list of references to connection points.";
76 key "nsd-ref nsd-connection-point-ref";
79 description "Reference to nsd";
81 path "/nsd:nsd-catalog/nsd:nsd/nsd:id";
85 leaf nsd-connection-point-ref {
86 description "A reference to a connection point name";
88 path "/nsd:nsd-catalog/nsd:nsd/nsd:connection-point/nsd:name";
93 description "IP address of the connection point";
102 leaf slice-service-type {
103 description "Network slice service type ";
104 type network-slice-type;
107 leaf slice-differentiator {
108 description "Network slice differentiator";
115 description "Quality of service identifier";
120 description "Quality of service resource type";
123 leaf priority-level {
124 description "Priority level of the service";
127 leaf packet-delay-budget {
128 description "Packet delay budget in miliseconds (ms)";
131 leaf packet-error-rate {
132 description "Packet error rate (PER) given in powers of ten";
135 leaf default-max-data-burst {
136 description "Maximum data burst given in bytes (B)";
141 grouping netslice-subnet {
143 description "Identifier for the netslice-subnet.";
150 description "netslice-subnet name.";
155 description "Short name to appear as label in the UI";
160 description "Vendor of the NSD.";
165 description "NSS is shared between NS";
170 description "Description of the NSD.";
175 description "Version of the NSD";
180 description "Reference to catalog NSD";
183 path "/nsd:nsd-catalog/nsd:nsd/nsd:id";
186 container instantiation-parameters {
187 uses instantiation-parameters:ns_instantiate;
192 grouping slice-connection-points {
193 description "List for external connection points. Each NS has one or more external connection
194 points. As the name implies that external connection points are used for connecting
195 the NS to other NS or to external networks. Each NS exposes these connection points
196 to the orchestrator. The orchestrator can construct network service chains by
197 connecting the connection points between different NS.";
199 uses nsd-base:nsd-connection-point-common;
202 description "Logical connection of the CP to a NSVLD or to a NSD CP";
203 case netslice-vld-ref {
204 leaf netslice-vld-id-ref {
205 description "ID reference to a NSVLD in the NS";
207 path "../../netslice-vld/id";
212 case nsd-connection-point-ref {
214 description "A reference to a nsd.";
216 path "/nsd:nsd-catalog/nsd:nsd/nsd:id";
219 leaf nsd-connection-point-ref {
222 path "/nsd:nsd-catalog/nsd:nsd/nsd:connection-point/nsd:name";
231 uses nsd-base:rsp-common;
233 list nsd-connection-point-ref {
235 "A list of references to connection points.";
239 description "Reference to member-vnf within constituent-vnfds";
241 path "/nsd:nsd-catalog/nsd:nsd/nsd:id";
247 "A number that denotes the order of a NSD in a chain";
249 leaf nsd-connection-point-ref {
251 path "/nsd:nsd-catalog/nsd:nsd/nsd:connection-point/nsd:name";
257 grouping classifier {
258 uses nsd-base:classifier-common;
262 path "/nsd:nsd-catalog/nsd:nsd/nsd:id";
266 leaf nsd-connection-point-ref {
269 path "/nsd:nsd-catalog/nsd:nsd/nsd:connection-point/nsd:name";
274 grouping netslicefgd {
276 uses nsd-base:fgd-common;
280 "List of Rendered Service Paths (RSP).";
287 "List of classifier rules.";
292 grouping network-slice{
302 container SNSSAI-identifier {
305 container quality-of-service {
308 list netslice-subnet {//list with multiple network service elements
310 uses netslice-subnet;
312 list netslice-connection-point {
314 uses slice-connection-points;
326 //containers definitions