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 or name for the netslice-subnet in NST scope.";
150 description "Description of the NSD.";
154 description "NSS is shared between NS";
159 description "Reference to catalog NSD";
162 path "/nsd:nsd-catalog/nsd:nsd/nsd:id";
165 container instantiation-parameters {
166 uses instantiation-parameters:ns_params;
171 grouping slice-connection-points {
172 description "List for external connection points. Each NS has one or more external connection
173 points. As the name implies that external connection points are used for connecting
174 the NS to other NS or to external networks. Each NS exposes these connection points
175 to the orchestrator. The orchestrator can construct network service chains by
176 connecting the connection points between different NS.";
178 uses nsd-base:nsd-connection-point-common;
181 description "Logical connection of the CP to a NSVLD or to a NSD CP";
182 case netslice-vld-ref {
183 leaf netslice-vld-id-ref {
184 description "ID reference to a NSVLD in the NS";
186 path "../../netslice-vld/id";
191 case nsd-connection-point-ref {
193 description "A reference to a nsd.";
195 path "/nsd:nsd-catalog/nsd:nsd/nsd:id";
198 leaf nsd-connection-point-ref {
201 path "/nsd:nsd-catalog/nsd:nsd/nsd:connection-point/nsd:name";
210 uses nsd-base:rsp-common;
212 list nsd-connection-point-ref {
214 "A list of references to connection points.";
218 description "Reference to member-vnf within constituent-vnfds";
220 path "/nsd:nsd-catalog/nsd:nsd/nsd:id";
226 "A number that denotes the order of a NSD in a chain";
228 leaf nsd-connection-point-ref {
230 path "/nsd:nsd-catalog/nsd:nsd/nsd:connection-point/nsd:name";
236 grouping classifier {
237 uses nsd-base:classifier-common;
241 path "/nsd:nsd-catalog/nsd:nsd/nsd:id";
245 leaf nsd-connection-point-ref {
248 path "/nsd:nsd-catalog/nsd:nsd/nsd:connection-point/nsd:name";
253 grouping netslicefgd {
255 uses nsd-base:fgd-common;
259 "List of Rendered Service Paths (RSP).";
266 "List of classifier rules.";
271 grouping network-slice{
282 container SNSSAI-identifier {
285 container quality-of-service {
288 list netslice-subnet {//list with multiple network service elements
290 uses netslice-subnet;
292 list netslice-connection-point {
294 uses slice-connection-points;
306 //containers definitions