2 namespace "urn:onf:params:xml:ns:yang:core-model";
\r
4 organization "ONF (Open Networking Foundation) Open Transport Working Group - Wireless Transport Project";
\r
5 contact "WG Web: <https://www.opennetworking.org/technical-communities/areas/specification/1931-optical-transport>
\r
6 WG List: <mailto:wireless-transport@login.opennetworking.org>
\r
8 <mailto:lyong@ciena.com>
\r
9 WG Chair: Giorgio Cazzaniga
\r
10 <mailto:giorgio.cazzaniga@sm-optics.com>
\r
11 Editors: Thorsten Heinze
\r
12 <mailto:thorsten.heinze@telefonica.com>
\r
14 <mailto:martin.skorupski@highstreet-technologies.com>";
\r
15 description "This module contains a collection of YANG definitions for managing wireless networks.";
\r
16 revision 2017-03-20 {
\r
17 description "Initial version";
\r
18 reference "ONF TR 532: A YANG Data Model for Wireless Networks.";
\r
20 /***********************
\r
21 * package core-network-model
\r
22 **********************/
\r
23 /***********************
\r
24 * package type-definitions
\r
25 **********************/
\r
26 /***********************
\r
27 * package resilience
\r
28 **********************/
\r
29 typedef protection-reason {
\r
31 enum wait-to-revert {
\r
32 description "The resource is selected as control is waiting to restore to a preferred resource.";
\r
34 enum signal-degrade {
\r
35 description "The resource is selected as the best preferred resource is in signal degrade.";
\r
38 description "The resource is selected as the best preferred resource is in signal fail.";
\r
41 description "The cause of the current protection state.";
\r
43 typedef route-selection-control {
\r
46 description "No administrative control applied to the switch.";
\r
49 description "Resource temporarily chosen by control configuration where the resource is not the preferred resource.
\r
50 Preferred resource has highest priority.
\r
51 Temporarily overrides reversion.
\r
52 If this resource fails will switch to best available resource.
\r
53 If resource selected is shared and another FC requires the resource then the selection control will change to Normal and switch to best available based upon normal rules.
\r
54 If the resource selected is then set to LOCK_OUT then the the selection control will change to NORMAL and switch to best available based upon normal rules.
\r
55 Can be returned to NORMAL by configuration action.";
\r
58 description "Resource temporarily chosen by control configuration where the resource is not the preferred resource.
\r
59 Preferred resource has highest priority.
\r
60 Temporarily overrides reversion.
\r
61 If this resource fails will NOT switch.
\r
62 If resource selected is shared and another FC requires the resource through a FORCE on that FC and the FC is of a higher FcPriority then the selection control will change to NORMAL and switch to best available based upon normal rules.
\r
63 If the resource selected is then set to LOCK_OUT then the the selection control will change to NORMAL and switch to best available based upon normal rules.
\r
64 Can be returned to NORMAL by configuration action.";
\r
67 description "The resource is configured to temporarily not be available for use in the protection scheme(s) it is part of.
\r
68 This overrides all other protection control states including forced.
\r
69 If the item is locked out then it cannot be used under any circumstances.
\r
70 Note: Only relevant when part of a protection scheme.";
\r
73 description "Possible degrees of administrative control applied to the Route selection.";
\r
75 typedef route-selection-reason {
\r
77 enum wait-to-revert {
\r
78 description "The resource is selected as control is waiting to restore to a preferred resource.";
\r
80 enum signal-degrade {
\r
81 description "The resource is selected as the best preferred resource is in signal degrade.";
\r
84 description "The resource is selected as the best preferred resource is in signal fail.";
\r
87 description "No administrative control applied to the switch.";
\r
90 description "Resource temporarily chosen by control configuration where the resource is not the preferred resource.
\r
91 Preferred resource has highest priority.
\r
92 Temporarily overrides reversion.
\r
93 If this resource fails will switch to best available resource.
\r
94 If resource selected is shared and another FC requires the resource then the selection control will change to Normal and switch to best available based upon normal rules.
\r
95 If the resource selected is then set to LOCK_OUT then the the selection control will change to NORMAL and switch to best available based upon normal rules.
\r
96 Can be returned to NORMAL by configuration action.";
\r
99 description "Resource temporarily chosen by control configuration where the resource is not the preferred resource.
\r
100 Preferred resource has highest priority.
\r
101 Temporarily overrides reversion.
\r
102 If this resource fails will NOT switch.
\r
103 If resource selected is shared and another FC requires the resource through a FORCE on that FC and the FC is of a higher FcPriority then the selection control will change to NORMAL and switch to best available based upon normal rules.
\r
104 If the resource selected is then set to LOCK_OUT then the the selection control will change to NORMAL and switch to best available based upon normal rules.
\r
105 Can be returned to NORMAL by configuration action.";
\r
108 description "The resource is configured to temporarily not be available for use in the protection scheme(s) it is part of.
\r
109 This overrides all other protection control states including forced.
\r
110 If the item is locked out then it cannot be used under any circumstances.
\r
111 Note: Only relevant when part of a protection scheme.";
\r
114 description "The cause of the current route selection.";
\r
116 typedef switch-control {
\r
119 description "No administrative control applied to the switch.";
\r
122 description "Resource temporarily chosen by control configuration where the resource is not the preferred resource.
\r
123 Preferred resource has highest priority.
\r
124 Temporarily overrides reversion.
\r
125 If this resource fails will switch to best available resource.
\r
126 If resource selected is shared and another FC requires the resource then the selection control will change to Normal and switch to best available based upon normal rules.
\r
127 If the resource selected is then set to LOCK_OUT then the the selection control will change to NORMAL and switch to best available based upon normal rules.
\r
128 Can be returned to NORMAL by configuration action.";
\r
131 description "Resource temporarily chosen by control configuration where the resource is not the preferred resource.
\r
132 Preferred resource has highest priority.
\r
133 Temporarily overrides reversion.
\r
134 If this resource fails will NOT switch.
\r
135 If resource selected is shared and another FC requires the resource through a FORCE on that FC and the FC is of a higher FcPriority then the selection control will change to NORMAL and switch to best available based upon normal rules.
\r
136 If the resource selected is then set to LOCK_OUT then the the selection control will change to NORMAL and switch to best available based upon normal rules.
\r
137 Can be returned to NORMAL by configuration action.";
\r
140 description "none";
\r
142 typedef switch-state-reason {
\r
144 enum wait-to-revert {
\r
145 description "The resource is selected as control is waiting to restore to a preferred resource.";
\r
147 enum signal-degrade {
\r
148 description "The resource is selected as the best preferred resource is in signal degrade.";
\r
151 description "The resource is selected as the best preferred resource is in signal fail.";
\r
154 description "No administrative control applied to the switch.";
\r
157 description "Resource temporarily chosen by control configuration where the resource is not the preferred resource.
\r
158 Preferred resource has highest priority.
\r
159 Temporarily overrides reversion.
\r
160 If this resource fails will switch to best available resource.
\r
161 If resource selected is shared and another FC requires the resource then the selection control will change to Normal and switch to best available based upon normal rules.
\r
162 If the resource selected is then set to LOCK_OUT then the the selection control will change to NORMAL and switch to best available based upon normal rules.
\r
163 Can be returned to NORMAL by configuration action.";
\r
166 description "Resource temporarily chosen by control configuration where the resource is not the preferred resource.
\r
167 Preferred resource has highest priority.
\r
168 Temporarily overrides reversion.
\r
169 If this resource fails will NOT switch.
\r
170 If resource selected is shared and another FC requires the resource through a FORCE on that FC and the FC is of a higher FcPriority then the selection control will change to NORMAL and switch to best available based upon normal rules.
\r
171 If the resource selected is then set to LOCK_OUT then the the selection control will change to NORMAL and switch to best available based upon normal rules.
\r
172 Can be returned to NORMAL by configuration action.";
\r
175 description "Explains the reason for the current switch state.";
\r
177 typedef reversion-mode {
\r
180 description "An FC switched to a lower priority (non-preferred) resource will revert to a higher priority (preferred) resource when that recovers (potentially after some hold-off time).";
\r
182 enum non-revertive {
\r
183 description "An FC switched to a lower priority (non-preferred) resource will not revert to a higher priority (preferred) resource when that recovers.";
\r
186 description "The reversion mode associated with protection.";
\r
188 grouping global-pac-g {
\r
189 uses global-class-g;
\r
190 description "Provides the properties of a GlobalClass via composition.";
\r
192 grouping local-pac-g {
\r
193 uses local-class-g;
\r
194 description "Provides the properties of a LocalClass via composition.";
\r
196 typedef protection-type {
\r
198 description "Identifies the type of protection of an FcSwitch.";
\r
201 typedef layer-protocol-name {
\r
203 description "Provides a controlled list of layer protocol names and indicates the naming authority.
\r
204 Note that it is expected that attributes will be added to this structure to convey the naming authority name, the name of the layer protocol using a human readable string and any particular standard reference.
\r
205 Layer protocol names include:
\r
206 - Layer 1 (L1): OTU, ODU
\r
207 - Layer 2 (L2): Carrier Grade Ethernet (ETY, ETH), MPLS-TP (MT)
\r
210 typedef port-role {
\r
212 description "The role of a port in the context of the function of the forwarding entity that it bounds.";
\r
214 typedef port-direction {
\r
216 enum bidirectional {
\r
217 description "The Port has both an INPUT flow and an OUTPUT flow defined.";
\r
220 description "The Port only has definition for a flow into the Forwarding entity (i.e. an ingress flow).";
\r
223 description "The Port only has definition for a flow out of the Forwarding entity (i.e. an egress flow).";
\r
225 enum unidentified-or-unknown {
\r
226 description "Not a normal state. The system is unable to determine the correct value.";
\r
229 description "The orientation of flow at the Port of a Forwarding entity";
\r
231 typedef forwarding-direction {
\r
233 enum bidirectional {
\r
234 description "The Forwarding entity supports both BIDIRECTIONAL flows at all Ports (i.e. all Ports have both an INPUT flow and an OUTPUT flow defined).";
\r
236 enum unidirectional {
\r
237 description "The Forwarding entity has Ports that are either INPUT or OUTPUT. It has no BIDIRECTIONAL Ports.";
\r
239 enum undefined-or-unknown {
\r
240 description "Not a normal state. The system is unable to determine the correct value.";
\r
243 description "The directionality of a Forwarding entity.";
\r
245 typedef termination-direction {
\r
247 enum bidirectional {
\r
248 description "A Termination with both SINK and SOURCE flows.";
\r
251 description "The flow is up the layer stack from the server side to the client side.
\r
252 Considering an example of a Termination function within the termination entity, a SINK flow:
\r
253 - will arrive at at the base of the termination function (the server side) where it is essentially at an INPUT to the termination component
\r
254 - then will be decoded and deconstructed
\r
255 - then relevant parts of the flow will be sent out of the termination function (the client side) where it is essentially at an OUTPUT from the termination component
\r
256 A SINK termination is one that only supports a SINK flow.
\r
257 A SINK termiation can be bound to an OUTPUT Port of a Forwarding entity";
\r
260 description "The flow is down the layer stack from the server side to the client side.
\r
261 Considering an example of a Termination function within the termination entity, a SOURCE flow:
\r
262 - will arrive at at the top of the termination function (the client side) where it is essentially at an INPUT to the termination component
\r
263 - then will be assembled with various overheads etc and will be coded
\r
264 - then coded form of the assembly of flow will be sent out of the termination function (the server side) where it is essentially at an OUTPUT from the termination component
\r
265 A SOURCE termination is one that only supports a SOURCE flow.
\r
266 A SOURCE termiation can be bound to an INPUT Port of a Forwarding entity";
\r
268 enum undefined-or-unknown {
\r
269 description "Not a normal state. The system is unable to determine the correct value.";
\r
272 description "The directionality of a termination entity.";
\r
274 typedef extended-termination-direction {
\r
276 enum bidirectional {
\r
277 description "A Termination with both SINK and SOURCE flows.";
\r
280 description "The flow is up the layer stack from the server side to the client side.
\r
281 Considering an example of a Termination function within the termination entity, a SINK flow:
\r
282 - will arrive at at the base of the termination function (the server side) where it is essentially at an INPUT to the termination component
\r
283 - then will be decoded and deconstructed
\r
284 - then relevant parts of the flow will be sent out of the termination function (the client side) where it is essentially at an OUTPUT from the termination component
\r
285 A SINK termination is one that only supports a SINK flow.
\r
286 A SINK termiation can be bound to an OUTPUT Port of a Forwarding entity";
\r
289 description "The flow is down the layer stack from the server side to the client side.
\r
290 Considering an example of a Termination function within the termination entity, a SOURCE flow:
\r
291 - will arrive at at the top of the termination function (the client side) where it is essentially at an INPUT to the termination component
\r
292 - then will be assembled with various overheads etc and will be coded
\r
293 - then coded form of the assembly of flow will be sent out of the termination function (the server side) where it is essentially at an OUTPUT from the termination component
\r
294 A SOURCE termination is one that only supports a SOURCE flow.
\r
295 A SOURCE termiation can be bound to an INPUT Port of a Forwarding entity";
\r
297 enum undefined-or-unknown {
\r
298 description "Not a normal state. The system is unable to determine the correct value.";
\r
300 enum contra-direction-sink {
\r
301 description "The essential flow of the Termination entity is SINK (i.e. up the layer stack) but the INPUT flow of the Termination entity was provided by a SOURCE OUTPUT or taken from a SOURCE INPUT (duplicating the input signal) hence reversing the flow orientation from down the layer stack to up the layer stack.";
\r
303 enum contra-direction-source {
\r
304 description "The essential flow of the Termination entity is SOURCE (i.e. down the layer stack) but the OUTPUT flow of the Termination entity was fed to (and replaces) a SINK OUTPUT or was fed to a SINK INPUT (replacing the normal flow) hence reversing the flow orientation from down the layer stack to up the layer stack.";
\r
307 description "Extended to include contra-direction considerations. Only applies to LP and elements of LP not to LTP.";
\r
309 typedef termination-state {
\r
311 enum lp-can-never-terminate {
\r
312 description "A non-flexible case that can never be terminated.";
\r
314 enum lt-not-terminated {
\r
315 description "A flexible termination that can terminate but is currently not terminated.";
\r
317 enum terminated-server-to-client-flow {
\r
318 description "A flexible termination that is currently terminated for server to client flow only.";
\r
320 enum terminated-client-to-server-flow {
\r
321 description "A flexible termination that is currently terminated for client to server flow only.";
\r
323 enum terminated-bidirectional {
\r
324 description "A flexible termination that is currently terminated in both directions of flow.";
\r
326 enum lt-permenantly-terminated {
\r
327 description "A non-flexible termination that is always terminated (in both directions of flow for a bidirectional case and in the one direction of flow for both unidirectional cases).";
\r
329 enum termination-state-unknown {
\r
330 description "There TerminationState cannot be determined.";
\r
333 description "Provides support for the range of behaviours and specific states that an LP can take with respect to termination of the signal.
\r
334 Indicates to what degree the LayerTermination is terminated.";
\r
337 /***********************
\r
338 * package object-classes
\r
339 **********************/
\r
340 /***********************
\r
341 * package resilience
\r
342 **********************/
\r
343 grouping configuration-and-switch-controller-g {
\r
345 type to-be-defined;
\r
346 description "A sketch of the presence of complex rules governing the switch behavior.";
\r
348 leaf-list fc-switch {
\r
350 path '/forwarding-construct/fc-switch/uuid';
\r
352 description "The switch being controlled.";
\r
354 container control-parameters {
\r
355 uses control-parameters-pac-g;
\r
356 description "The control parameters to be applied if local parameters are used rather than profiles";
\r
358 leaf-list profile-proxy {
\r
360 description "Applied profiles.";
\r
362 container local-pac {
\r
364 description "none";
\r
366 container global-pac {
\r
368 description "none";
\r
372 description "Temporarily prevents any switch action to be taken and, as such, freezes the current state.
\r
373 Until the freeze is cleared, additional near-end external commands are rejected and fault condition changes and received APS messages are ignored.
\r
374 All administrative controls of any aspect of protection are rejected.";
\r
376 leaf is-coordinated-switching-both-ends {
\r
378 description "The C&SC is operating such that switching at both ends of each flow acorss the FC is coordinated at both ingress and egress ends.";
\r
380 leaf-list subordinate-controller {
\r
382 path '/network-element/ltp/lp/config-and-switch-controller/switch-rule';
\r
384 description "A C&SC that is fully or partially subordinate this C&SC.
\r
385 A peer is considered as partially subordinate in that the peer will respond to requests for action from this C&SC but will also make requests for action to be carried out by this C&SC.
\r
386 Where there is a peer relationship each controller in the peering will see the other controller as subordinate.";
\r
388 description "Represents the capability to control and coordinate switches, to add/delete/modify FCs and to add/delete/modify LTPs/LPs so as to realize a protection scheme.";
\r
390 grouping control-parameters-pac-g {
\r
391 leaf reversion-mode {
\r
392 type reversion-mode;
\r
393 description "Indcates whether the protection scheme is revertive or non-revertive.";
\r
395 leaf wait-to-revert-time {
\r
398 description "If the protection system is revertive, this attribute specifies the time, in minutes, to wait after a fault clears on a higher priority (preferred) resource before reverting to the preferred resource.";
\r
401 type protection-type;
\r
402 description "Indicates the protection scheme that is used for the ProtectionGroup.";
\r
404 leaf hold-off-time {
\r
406 description "This attribute indicates the time, in milliseconds, between declaration of signal degrade or signal fail, and the initialization of the protection switching algorithm.";
\r
408 leaf network-scheme-specification {
\r
410 description "none";
\r
412 description "A list of control parameters to apply to a switch.";
\r
414 grouping fc-switch-g {
\r
415 leaf hold-off-time {
\r
417 description "Moved to ControlParameter_Pac... This attribute indicates the time, in seconds, between declaration of unacceptable quality of signal on the currently selected FcPort, and the initialization of the protection switching algorithm. ";
\r
420 type protection-type;
\r
421 description "Indicates the protection scheme that is used for the ProtectionGroup.";
\r
423 leaf reversion-mode {
\r
424 type reversion-mode;
\r
425 description "Moved to ControlParameter_Pac... This attribute whether or not the protection scheme is revertive or non-revertive. ";
\r
427 leaf-list selected-fc-port {
\r
429 path '/forwarding-construct/fc-port/uuid';
\r
431 description "Indicates which points are selected by the switch.
\r
432 Depending on the switch spec (via Fcspec)
\r
433 - more than one FcPort can be selected at any one time (e.g. egress switch, ingress packet switch)
\r
434 - zero FcPorts can be selected. For an ingress switch this indicates that the switch common (egress) is 'high impedance'
\r
437 leaf-list profile-proxy {
\r
439 description "Provides a set of predefined values for switch control in place of the direct values available via the FcSwitch or via _configurationAndSwitchControl.";
\r
441 container internal-configuration-and-switch-control {
\r
442 uses configuration-and-switch-controller-g;
\r
443 description "A switch controller encapsulated in the FcSwitch.";
\r
445 leaf switch-control {
\r
446 type switch-control;
\r
447 description "Degree of administrative control applied to the switch selection.";
\r
449 leaf switch-selects-ports {
\r
450 type port-direction;
\r
451 description "Indicates whether the switch selects from ingress to the FC or to egress of the FC, or both.";
\r
453 leaf switch-selection-reason {
\r
454 type switch-state-reason;
\r
456 description "The reason for the current switch selection.";
\r
458 container control-parameters {
\r
459 uses control-parameters-pac-g;
\r
460 description "none";
\r
462 leaf wait-to-restore-time {
\r
464 description "Moved to ControlParameter_Pac and changed to waitToRevert... If the protection system is revertive, this attribute specifies the amount of time, in seconds, to wait after the preferred FcPort returns to an acceptable state of operation (e.g. a fault has cleared) before restoring traffic to that preferred FcPort.";
\r
466 uses local-class-g;
\r
467 description "The FcSwitch class models the switched forwarding of traffic (traffic flow) between FcPorts and is present where there is protection functionality in the FC.
\r
468 If an FC exposes protection (having two or more FcPorts that provide alternative identical inputs/outputs), the FC will have one or more associated FcSwitch objects to represent the alternative flow choices visible at the edge of the FC.
\r
469 The FC switch represents and defines a protection switch structure encapsulated in the FC.
\r
470 Essentially performs one of the functions of the Protection Group in a traditional model. It associates to 2 or more FcPorts each playing the role of a Protection Unit.
\r
471 One or more protection, i.e. standby/backup, FcPorts provide protection for one or more working (i.e. regular/main/preferred) FcPorts where either protection or working can feed one or more protected FcPort.
\r
472 The switch may be used in revertive or non-revertive (symmetric) mode. When in revertive mode it may define a waitToRestore time.
\r
473 It may be used in one of several modes including source switch, destination switched, source and destination switched etc (covering cases such as 1+1 and 1:1).
\r
474 It may be locked out (prevented from switching), force switched or manual switched.
\r
475 It will indicate switch state and change of state.
\r
476 The switch can be switched away from all sources such that it becomes open and hence two coordinated switches can both feed the same LTP so long as at least one of the two is switched away from all sources (is 'open').
\r
477 The ability for a Switch to be 'high impedance' allows bidirectional ForwardingConstructs to be overlaid on the same bidirectional LTP where the appropriate control is enabled to prevent signal conflict.
\r
478 This ability allows multiple alternate routes to be present that otherwise would be in conflict.";
\r
481 grouping forwarding-domain-g {
\r
482 leaf-list layer-protocol-name {
\r
483 type layer-protocol-name;
\r
485 description "One or more protocol layers at which the FD represents the opportunity to enable forwarding between LTP that bound it.";
\r
487 leaf-list lower-level-fd {
\r
489 path '/network-element/fd/uuid';
\r
491 description "The FD class supports a recursive aggregation relationship (HigherLevelFdEncompassesLowerLevelFds) such that the internal construction of an FD can be exposed as multiple lower level FDs and associated Links (partitioning).
\r
492 The aggregated FDs and Links form an interconnected topology that provides and describes the capability of the aggregating FD.
\r
493 Note that the model actually represents aggregation of lower level FDs into higher level FDs as views rather than FD partition, and supports multiple views.
\r
494 Aggregation allow reallocation of capacity from lower level FDs to different higher level FDs as if the network is reorganized (as the association is aggregation not composition).";
\r
498 path '/forwarding-construct/uuid';
\r
500 description "An FD aggregares one or more FCs. A aggregated FC connects LTPs that bound the FD.";
\r
504 path '/network-element/ltp/uuid';
\r
506 description "An instance of FD is associated with zero or more LTP objects.
\r
507 The LTPs that bound the FD provide capacity for forwarding.";
\r
509 leaf-list lower-level-link {
\r
511 description "The FD encompasses Links that interconnect lower level FDs and collect links that are wholly within the bounds of the FD.
\r
512 See also _lowerLevelFd.";
\r
514 uses global-class-g;
\r
515 description "The ForwardingDomain (FD) class models the topological component that represents the opportunity to enable forwarding (of specific transport characteristic information at one or more protocol layers) between points represented by the LTP in the model.
\r
516 The FD object provides the context for and constrains the formation, adjustment and removal of FCs and hence offers the potential to enable forwarding.
\r
517 The LTPs available are those defined at the boundary of the FD.
\r
518 At a lower level of recursion an FD could represent a fabric (switch matrix) in a Network Element (NE).
\r
519 An NE can encompass more than one switch matrix and hence more than one FD. The FD representing a switch matrix can be further partitioned.
\r
520 The FD corresponds to a subnetwork [ITU-T G.800], FlowDomain [TMF 612] and a MultiLayerSubNetwork (MLSN) [TMF 612]. As in the TMF concept of MLSN and unlike the ITU-T concet of subnetwork model the FD can support more than one layer-protocol.";
\r
522 grouping forwarding-construct-g {
\r
523 leaf layer-protocol-name {
\r
524 type layer-protocol-name;
\r
525 description "The layerProtocol at which the FC enables the potential for forwarding.";
\r
527 leaf-list lower-level-fc {
\r
529 path '/forwarding-construct/uuid';
\r
531 description "An FC object supports a recursive aggregation relationship such that the internal construction of an FC can be exposed as multiple lower level FC objects (partitioning).
\r
532 Aggregation is used as for the FD to allow changes in hierarchy.
\r
533 FC aggregation reflects FD aggregation.
\r
534 The FC represents a Cross-Connection in an NE. The Cross-Connection in an NE is not necessarily the lowest level of FC partitioning.
\r
537 leaf-list fc-route {
\r
539 description "An FC object can have zero or more routes, each of which is defined as a list of lower level FC objects describing the flow across the network.";
\r
545 description "The association of the FC to LTPs is made via FcPorts (essentially the ports of the FC).";
\r
550 description "If an FC exposes protection (having two FcPorts that provide alternative identical inputs/outputs), the FC will have one or more associated FcSwitch objects.
\r
551 The arrangement of switches for a particular instance is described by a referenced FcSpec";
\r
553 leaf forwarding-direction {
\r
554 type forwarding-direction;
\r
555 description "The directionality of the ForwardingConstruct.
\r
556 Is applicable to simple ForwardingConstructs where all FcPorts are BIDIRECTIONAL (the ForwardingConstruct will be BIDIRECTIONAL) or UNIDIRECTIONAL (the ForwardingConstruct will be UNIDIRECTIONAL).
\r
557 Is not present in more complex cases.";
\r
559 leaf is-protection-lock-out {
\r
560 if-feature protection-exclude-server;
\r
562 description "The resource is configured to temporarily not be available for use in the protection scheme(s) it is part of.
\r
563 This overrides all other protection control states including forced.
\r
564 If the item is locked out then it cannot be used under any circumstances.
\r
565 Note: Only relevant when part of a protection scheme.";
\r
567 leaf service-priority {
\r
569 description "Relevant where 'service' FCs are competing for server resources.
\r
570 Used to determine which signal FC is allocated resource.
\r
571 The priority of the 'service' with respect to other 'services'.
\r
572 Lower numeric value means higher priority.
\r
573 Covers cases such as preemptable.";
\r
575 leaf-list supported-link {
\r
577 description "An FC that spans between LTPs that terminate the LayerProtocol usually supports one or more links in the client layer.";
\r
579 uses global-class-g;
\r
580 description "The ForwardingConstruct (FC) class models enabled constrained potential for forwarding between two or more LTPs at a particular specific layerProtocol.
\r
581 Like the LTP, the FC supports any transport protocol including all circuit and packet forms.
\r
582 It is used to effect forwarding of transport characteristic (layer protocol) information.
\r
583 An FC can be in only one FD.
\r
584 The ForwardingConstruct is a Forwarding entity.
\r
585 At a low level of the recursion, a FC represents a cross-connection within an NE. It may also represent a fragment of a cross-connection under certain circumstances.
\r
586 The FC object can be used to represent many different structures including point-to-point (P2P), point-to-multipoint (P2MP), rooted-multipoint (RMP) and multipoint-to-multipoint (MP2MP) bridge and selector structures for linear, ring or mesh protection schemes.";
\r
588 container network-element {
\r
592 uses forwarding-domain-g;
\r
593 description "Represents the FD that is completely within the boundary of the NE.
\r
594 At a low level of recursion, an FD (within a network element (NE)) represents a switch matrix (i.e., a fabric).
\r
595 Note that an NE can encompass multiple switch matrices (FDs) and the FD representing the switch matrix can be further partitioned.
\r
596 Where an FD is referenced by the NeEncompassesFd association, any FDs that it encompasses (i.e., that are associated with it by HigherLevelFdEncompassesLowerLevelFds), must also be encompassed by the NE and hence must have the NeEncompassesFd association.
\r
601 uses logical-termination-point-g;
\r
602 description "An NE has associated LTPs that are at its boundary.
\r
603 The NeEncompassesFd association occurs for FDs that are within the bounds of the NetworkElement definition such that the FD is bounded by LTPs, all of which are on the boundary of the NetworkElement or are within the NetworkElement.
\r
604 An LTP can be independent of an NE.";
\r
606 uses global-class-g;
\r
607 description "The Network Element (NE) class represents a network element (traditional NE) in the data plane.
\r
608 A data plane network element is essentially a consolidation of capabilities that can be viewed and controlled through a 'single' management-control port.
\r
609 In the direct interface from an SDN controller to a network element in the data plane, the NetworkElement object defines the scope of control for the resources within the network element
\r
610 For example internal transfer of user information between the external terminations (ports of the NE), encapsulation, multiplexing/demultiplexing, and OAM functions, etc.
\r
611 The NetworkElement provides the scope of the naming space for identifying objects representing the resources within the data plane network element.
\r
612 NE is really a product bundling or some view of management scope, management access, session.
\r
613 The NE is not directly part of topology but brings meaning to the FD context and the LTP context (and hence the links). ";
\r
615 list forwarding-construct {
\r
617 uses forwarding-construct-g;
\r
618 description "none";
\r
620 grouping fc-port-g {
\r
623 path '/network-element/ltp/uuid';
\r
626 description "The FcPort may be associated with more than one LTP when the FcPort is bidirectional and the LTPs are unidirectional.
\r
628 - Bidirectional FcPort to two Uni Ltps
\r
630 - BreakBeforeMake transition
\r
631 - Planned Ltp not yet in place
\r
632 - Off-network LTP referenced through other mechanism";
\r
636 description "Each FcPort of the FC has a role (e.g., working, protection, protected, symmetric, hub, spoke, leaf, root) in the context of the FC with respect to the FC function. ";
\r
638 leaf fc-port-direction {
\r
639 type port-direction;
\r
640 description "The orientation of defined flow at the FcPort.";
\r
642 leaf is-protection-lock-out {
\r
643 if-feature protection-exclude-fc-port;
\r
645 description "The resource is configured to temporarily not be available for use in the protection scheme(s) it is part of.
\r
646 This overrides all other protection control states including forced.
\r
647 If the item is locked out then it cannot be used under any circumstances.
\r
648 Note: Only relevant when part of a protection scheme.";
\r
650 leaf selection-priority {
\r
652 description "The preference priority of the resource in the protection scheme for a particular FC.
\r
653 The lower the value the higher the priority.
\r
654 A lower value of selection priority is preferred
\r
655 If two resources have the same value they are of equal priory.
\r
656 There is no preference between equal priorities.
\r
657 If a resource with the lowest value selection priority fails then the next lowest value available (may be the same value) is picked.
\r
658 Hence on failure of the current resource the next best available will be selected.
\r
659 If there are several equal values the choice is essentially arbitrary).
\r
660 If the scheme is revertive then when a resource of higher priority than the currently selected resource recovers it will be selected.
\r
661 This is equivalent to working/protection but allows for all static scheme types with n:m capability.
\r
662 In simple schemes 0 = working and 1 = protecting.";
\r
664 leaf is-internal-port {
\r
667 description "The FcPort is not exposed and cannot have associated LTPs.
\r
668 This form of FcPort is used to enable chaining of FcSwitches or FcRoutes in complex network protection scenarios.";
\r
670 leaf-list fc-route-feeds-fc-port-egress {
\r
672 description "Identifies which route(s) currently actively forward to the FcPort to exit the FC to an LTP (or for an internal FcPort to propagate to the next internal switch/route).";
\r
674 uses local-class-g;
\r
675 description "The association of the FC to LTPs is made via FcPorts.
\r
676 The FcPort class models the access to the FC function.
\r
677 The traffic forwarding between the associated FcPorts of the FC depends upon the type of FC and may be associated with FcSwitch object instances.
\r
678 In cases where there is resilience, the FcPort may convey the resilience role of the access to the FC.
\r
679 It can represent a protected (resilient/reliable) point or a protecting (unreliable working or protection) point.
\r
680 The FcPort replaces the Protection Unit of a traditional protection model.
\r
681 The ForwardingConstruct can be considered as a component and the FcPort as a Port on that component.";
\r
683 grouping layer-protocol-g {
\r
684 leaf layer-protocol-name {
\r
685 type layer-protocol-name;
\r
686 description "Indicate the specific layer-protocol described by the LayerProtocol entity.";
\r
688 leaf configured-client-capacity {
\r
689 type to-be-defined;
\r
690 description "Provides a summarized view of the client capacity that is configurable for use.
\r
691 Note the client LTP association should provide all necessary detail hence this attribute is questionable.";
\r
693 leaf lp-direction {
\r
694 type termination-direction;
\r
695 description "The overall directionality of the LP.
\r
696 - A BIDIRECTIONAL LP will have some SINK and/or SOURCE flows.
\r
697 - A SINK LP can only contain elements with SINK flows or CONTRA_DIRECTION_SOURCE flows
\r
698 - A SOURCE LP can only contain SOURCE flows or CONTRA_DIRECTION_SINK flows";
\r
700 leaf termination-state {
\r
701 type termination-state;
\r
702 description "Indicates whether the layer is terminated and if so how.";
\r
704 list config-and-switch-controller {
\r
706 uses configuration-and-switch-controller-g;
\r
707 description "A switch controller external to the LayerProtocol.
\r
708 The controller will coordinate one or more switches in one or more FCs related to the LayerProtocol";
\r
710 leaf is-protection-lock-out {
\r
711 if-feature protection-exclude-ltp;
\r
713 description "The resource is configured to temporarily not be available for use in the protection scheme(s) it is part of.
\r
714 This overrides all other protection control states including forced.
\r
715 If the item is locked out then it cannot be used under any circumstances.
\r
716 Note: Only relevant when part of a protection scheme.";
\r
718 leaf fc-blocks-signal-to-lp {
\r
720 description "none";
\r
722 uses local-class-g;
\r
723 description "The projection of an LTP into each transport layer is represented by a LayerProtocol (LP) instance. A LayerProtocol instances can be used for controlling termination and monitoring functionality. It can also be used for controlling the adaptation (i.e. encapsulation and/or multiplexing of client signal), tandem connection monitoring, traffic conditioning and/or shaping functionality at an intermediate point along a connection. Where the client - server relationship is fixed 1:1 and immutable, the layers can be encapsulated in a single LTP instance. Where there is a n:1 relationship between client and server, the layers must be split over two separate instances of LTP. ";
\r
725 grouping logical-termination-point-g {
\r
726 leaf-list server-ltp {
\r
728 path '/network-element/ltp/uuid';
\r
730 description "References contained LTPs representing servers of this LTP in an inverse multiplexing configuration (e.g. VCAT).";
\r
732 leaf-list client-ltp {
\r
734 path '/network-element/ltp/uuid';
\r
736 description "References contained LTPs representing client traffic of this LTP for normal cases of multiplexing.";
\r
741 uses layer-protocol-g;
\r
742 description "Ordered list of LayerProtocols that this LTP is comprised of where the first entry in the list is the lowest server layer (e.g. physical).";
\r
744 leaf connected-ltp {
\r
746 path '/network-element/ltp/uuid';
\r
748 description "Applicable in a simple context where two LTPs are associated via a non-adjustable enabled forwarding.
\r
749 Reduces clutter removing the need for two additional LTPs and an FC with a pair of FcPorts.";
\r
753 path '/network-element/ltp/uuid';
\r
755 description "References contained LTPs representing the reversal of orientation of flow where two LTPs are associated via a non-adjustable enabled forwarding and where the referenced LTP is fully dependent on the this LTP.";
\r
757 leaf-list physical-port-reference {
\r
759 description "One or more text labels for the unmodelled physical port associated with the LTP.
\r
760 In many cases there is no associated physical port.";
\r
762 leaf-list ltp-in-other-view {
\r
764 path '/network-element/ltp/uuid';
\r
766 description "References one or more LTPs in other views that represent this LTP.
\r
767 The referencing LTP is the provider of capability.";
\r
769 leaf ltp-direction {
\r
770 type termination-direction;
\r
771 description "The overall directionality of the LTP.
\r
772 - A BIDIRECTIONAL LTP must have at least some LPs that are BIDIRECTIONAL but may also have some SINK and/or SOURCE LPs.
\r
773 - A SINK LTP can only contain SINK LPs
\r
774 - A SOURCE LTP can only contain SOURCE LPs";
\r
776 uses global-class-g;
\r
777 description "The LogicalTerminationPoint (LTP) class encapsulates the termination and adaptation functions of one or more transport layers represented by instances of LayerProtocol.
\r
778 The encapsulated transport layers have a simple fixed 1:1 client-server relationship defined by association end ordering.
\r
779 The structure of LTP supports all transport protocols including circuit and packet forms.";
\r
781 feature protection-exclude-server {
\r
782 description "In protection context if server of protection where entire server is to be excluded from use for protection.";
\r
784 feature protection-exclude-fc-port {
\r
785 description "In protection context where the FcPort is to be excluded from use for protection.";
\r
787 feature protection-exclude-ltp {
\r
788 description "In protection context if LTP of protection where entire LTP is to be excluded from use for protection.";
\r
791 /***********************
\r
793 **********************/
\r
795 /***********************
\r
796 * package associations
\r
797 **********************/
\r
800 /***********************
\r
801 * package core-foundation-model
\r
802 **********************/
\r
803 /***********************
\r
804 * package type-definitions
\r
805 **********************/
\r
806 typedef date-and-time {
\r
808 description "This primitive type defines the date and time according to the following structure:
\r
809 'yyyyMMddhhmmss.s[Z|{+|-}HHMm]' where:
\r
810 yyyy '0000'..'9999' year
\r
811 MM '01'..'12' month
\r
814 mm '00'..'59' minute
\r
815 ss '00'..'59' second
\r
816 s '.0'..'.9' tenth of second (set to '.0' if EMS or NE cannot support this granularity)
\r
817 Z 'Z' indicates UTC (rather than local time)
\r
818 {+|-} '+' or '-' delta from UTC
\r
819 HH '00'..'23' time zone difference in hours
\r
820 Mm '00'..'59' time zone difference in minutes.";
\r
822 typedef bit-string {
\r
824 description "This primitive type defines a bit oriented string.
\r
825 The size of the BitString will be defined in the valueRange property of the attribute; according to ASN.1 (X.680).
\r
826 The semantic of each bit position will be defined in the Documentation field of the attribute.";
\r
830 description "This primitive type maps to the 'realnumber' defined in Recommendation X.680.";
\r
832 typedef printable-string {
\r
834 description "A string that only includes printable characters.";
\r
836 typedef to-be-defined {
\r
838 description "This type is used when the actual type of the attrbute is expected to be complex but where the type has not yet been developed.
\r
839 This type should only be used for attributes that are experimental.";
\r
842 /***********************
\r
843 * package super-classes-and-common-packages
\r
844 **********************/
\r
845 /***********************
\r
846 * package object-classes
\r
847 **********************/
\r
852 uses name-and-value-g;
\r
853 description "List of names.";
\r
855 description "Name: A property of an entity with a value that is unique in some namespace but may change during the life of the entity. A name carries no semantics with respect to the purpose of the entity.";
\r
857 grouping global-class-g {
\r
860 uses name-and-value-g;
\r
861 description "An identifier that is unique in the context of some scope that is less than the global scope.
\r
862 (consider in the context of Identifier: A property of an entity/role with a value that is unique within an identifier space, where the identifier space is itself unique, and immutable. The identifier therefore represents the identity of the entity/role. An identifier carries no semantics with respect to the purpose of the entity.)";
\r
866 description "UUID: An identifier that is universally unique
\r
867 (consider in the context of Identifier: A property of an entity/role with a value that is unique within an identifier space, where the identifier space is itself globally unique, and immutable. An identifier carries no semantics with respect to the purpose or state of the entity)
\r
868 The uuid should be treated as opaque by the user.";
\r
874 description "Represents a type of thing (an Entity) that has instances which can exist in their own right (independently of any others).
\r
875 Entity: Has identity, defined boundary, properties, functionality and lifecycle in a global context.
\r
876 (consider in the context of a Class: (usage) The representation of a thing that may be an entity or an inseparable Entity Feature).";
\r
878 grouping local-class-g {
\r
882 uses name-and-value-g;
\r
883 description "An identifier that is unique in the context of some scope that is less than the global scope.
\r
884 (consider in the context of Identifier: A property of an entity/role with a value that is unique within an identifier space, where the identifier space is itself unique, and immutable. The identifier therefore represents the identity of the entity/role. An identifier carries no semantics with respect to the purpose of the entity.)";
\r
888 description "A global identifier for the LocalClass, which is used as reference.";
\r
894 description "A LocalClass represents a Feature of an Entity. It is inseparable from a GlobalClass but is a distinct feature of that GlobalClass such that the instances of LocalClass are able to have associations to other instances..
\r
895 Feature of an Entity: An inseparable, externally distinguishable part of an entity.
\r
896 The mandatory LocalId of the LocalClass instance is unique in the context of the GlobalClass from which it is inseparable.
\r
897 (consider in the context of a Class: (usage) The representation of a thing that may be an entity or an inseparable feature of an entity)
\r
903 uses name-and-value-g;
\r
904 description "List of labels.";
\r
906 description "A property of an entity with a value that is not expected to be unique and is allowed to change. A label carries no semantics with respect to the purpose of the entity and has no effect on the entity behavior or state.";
\r
908 grouping extension-g {
\r
911 uses name-and-value-g;
\r
912 description "List of simple name-value extensions.";
\r
914 description "Extension provides an opportunity to define properties not declared in the class that extend the class enabling a realization with simple ad-hoc extension of standard classes to be conformant.";
\r
916 grouping universal-id-authority-g {
\r
919 description "The UUID for the UUID authority.";
\r
921 description "Represents the authority that controls the allocation of UUIDs.";
\r
923 grouping name-and-value-authority-g {
\r
926 description "The UUID for the NameValueAuthority.";
\r
928 description "Represents the authority that controls the legal values for the names and values of a name/value attribute.";
\r
930 grouping conditional-package-g {
\r
933 description "The base class for conditional packages.";
\r
936 /***********************
\r
937 * package type-definitions
\r
938 **********************/
\r
939 grouping name-and-value-g {
\r
942 description "The name of the value. The value need not have a name.";
\r
946 description "The value.";
\r
948 description "A scoped name-value pair.";
\r
950 typedef universal-id {
\r
952 description "The universal ID value where the mechanism for generation is defined by some authority not directly referenced in the structure.
\r
953 A example structure is [IETF RFC4122].";
\r
955 grouping address-g {
\r
956 leaf address-name {
\r
958 description "The name of the address (to allow the specific hierarchy to be distinguished from others for the same entity).";
\r
960 list address-element {
\r
962 uses address-element-g;
\r
963 description "The elements of the address that form the recursive scope narrowing.";
\r
965 description "A description of location via a hierarchy of narrowing contexts.";
\r
967 grouping local-id-and-class-g {
\r
968 leaf class-of-instance {
\r
970 description "The class to which the name refers.";
\r
972 container local-id {
\r
973 uses name-and-value-g;
\r
974 description "The localId of the entity.";
\r
976 description "The localId and the class of entity that it identifies.";
\r
978 grouping name-and-class-g {
\r
979 leaf class-of-instance {
\r
981 description "The class to which the name refers.";
\r
984 uses name-and-value-g;
\r
985 description "If the element is a name.";
\r
987 description "The name and the class of entity that it names.";
\r
989 grouping address-element-g {
\r
990 leaf address-element-name {
\r
992 description "The name of the address element (e.g. 'shelf' as an element of a shelf/slot/port addressing scheme).
\r
993 The remainder of the structure has the reference for the shelf.
\r
996 container local-id {
\r
997 uses local-id-and-class-g;
\r
998 description "If the element is a localId (where the element above in the hierarchy must be the context in which the specific localId is relevant).";
\r
1001 type universal-id;
\r
1002 description "If the element is a uuid (where this element could be the top of a hierarchy but may also be at some level in the hierarchy where address navigation is considered necessary to assist in location of the UUID).";
\r
1005 uses name-and-class-g;
\r
1006 description "If the element is a name.";
\r
1008 leaf arbitrary-element {
\r
1010 description "Where the element is from some external model that is not formally represented in this model.";
\r
1012 description "One element of a hierarchy of elements.
\r
1013 Note that the element must have one and only one value chosen from a list of potential value types.";
\r
1017 /***********************
\r
1018 * package state-model
\r
1019 **********************/
\r
1020 /***********************
\r
1021 * package object-classes
\r
1022 **********************/
\r
1023 grouping state-pac-g {
\r
1024 leaf operational-state {
\r
1025 type operational-state;
\r
1027 description "The operational state is used to indicate whether or not the resource is installed and working.";
\r
1029 leaf administrative-control {
\r
1030 type administrative-control;
\r
1031 description "The administrativeControl state provides control of the availability of specific resources without modification to the provisioning of those resources.
\r
1032 The value is the current control target. The actual administrativeState may or may not be at target.";
\r
1034 leaf administrative-state {
\r
1035 type administrative-state;
\r
1037 description "Shows whether or not the client has permission to use or has a prohibition against using the resource.
\r
1038 The administrative state expresses usage permissions for specific resources without modification to the provisioning of those resources.";
\r
1040 leaf lifecycle-state {
\r
1041 type lifecycle-state;
\r
1042 description "Used to track the planned deployment, allocation to clients and withdrawal of resources.";
\r
1044 description "Provides general state attributes.";
\r
1047 /***********************
\r
1048 * package type-definitions
\r
1049 **********************/
\r
1050 typedef operational-state {
\r
1051 type enumeration {
\r
1053 description "The resource is unable to meet the SLA of the user of the resource. If no (explicit) SLA is defined the resource is disabled if it is totally inoperable and unable to provide service to the user.";
\r
1056 description "The resource is partially or fully operable and available for use.";
\r
1059 description "The possible values of the operationalState.";
\r
1061 typedef administrative-state {
\r
1062 type enumeration {
\r
1064 description "Users are administratively prohibited from making use of the resource.";
\r
1067 description "Users are allowed to use the resource.";
\r
1070 description "The possible values of the administrativeState.";
\r
1072 typedef administrative-control {
\r
1073 type enumeration {
\r
1075 description "The intention is for the entity to become unlocked.
\r
1076 The entity may already be UNLOCKED.";
\r
1078 enum lock-passive {
\r
1079 description "The intention is for the entity to become locked but no effort is expected to move to the Locked state (the state will be achieved once all users stop using the resource).
\r
1080 The entity may be LOCKED.";
\r
1082 enum lock-active {
\r
1083 description "The intention is for the entity to become locked and it is expected that effort will be made to move to the Locked state (users will be actively removed).
\r
1084 The entity may already be LOCKED.";
\r
1086 enum lock-immediate {
\r
1087 description "The intention is for the entity to become locked and it is expected to move to the Locked state immediately (users will be force removed).
\r
1088 The entity may already be LOCKED.";
\r
1091 description "Reflects the current control action when the entity is not in the desired state.
\r
1092 The possible values of the current target administrative state.";
\r
1094 typedef extended-admin-state {
\r
1095 type enumeration {
\r
1097 description "Users are administratively prohibited from making use of the resource.";
\r
1100 description "Users are allowed to use the resource.";
\r
1102 enum shutting-down-active {
\r
1103 description "The entity is administratively restricted to existing instances of use only. There are specific actions to remove existing uses. There may be no new instances of use enabled. This corresponds to a control of LOCK_ACTIVE.";
\r
1105 enum shutting-down-passive {
\r
1106 description "The entity is administratively restricted to existing instances of use only. There may be no new instances of use enabled. This corresponds to a control of LOCK_PASSIVE.";
\r
1109 description "Possible extensions to AdministrativeState.";
\r
1111 typedef lifecycle-state {
\r
1112 type enumeration {
\r
1114 description "The resource is planned but is not present in the network.";
\r
1117 description "The supporting resources are present in the network but are shared with other clients; or require further configuration before they can be used; or both.o When a potential resource is configured and allocated to a client it is moved to the 'installed' state for that client.o If the potential resource has been consumed (e.g. allocated to another client) it is moved to the 'planned' state for all other clients.";
\r
1120 description "The resource is present in the network and is capable of providing the service expected.";
\r
1122 enum pending-removal {
\r
1123 description "The resource has been marked for removal.";
\r
1126 description "The possible values of the lifecycleState.";
\r
1131 /***********************
\r
1132 * package core-operations-model
\r
1133 **********************/
\r
1134 /***********************
\r
1136 **********************/
\r
1137 /***********************
\r
1138 * package data-types
\r
1139 **********************/
\r
1140 typedef action-verbs {
\r
1141 type enumeration {
\r
1142 enum create-post-add {
\r
1143 description "none";
\r
1145 enum set-update-put-modify-write-add {
\r
1146 description "none";
\r
1149 description "none";
\r
1151 enum delete-remove {
\r
1152 description "none";
\r
1155 description "none";
\r
1157 typedef test-type {
\r
1159 description "none";
\r
1161 typedef activity-directive {
\r
1162 type enumeration {
\r
1163 enum structure-is-not {
\r
1164 description "none";
\r
1166 enum new-structure-and-values {
\r
1167 description "none";
\r
1169 enum incremental-structure-and-values {
\r
1170 description "none";
\r
1172 enum only-values-in-existing-structure {
\r
1173 description "none";
\r
1175 enum defined-by-verb {
\r
1176 description "none";
\r
1179 description "none";
\r
1182 /***********************
\r
1183 * package diagrams
\r
1184 **********************/
\r
1185 typedef action-effort {
\r
1186 type enumeration {
\r
1187 enum best-effort {
\r
1188 description "none";
\r
1190 enum exact-match {
\r
1191 description "none";
\r
1194 description "none";
\r
1196 typedef pause-resume-rule {
\r
1197 type enumeration {
\r
1198 enum no-pause-possible {
\r
1199 description "none";
\r
1202 description "none";
\r
1205 /***********************
\r
1206 * package object-classes
\r
1207 **********************/
\r
1208 grouping general-directives-g {
\r
1209 description "none";
\r
1211 grouping necessary-initial-condition-constraints-g {
\r
1214 description "none";
\r
1216 description "none";
\r
1218 grouping operation-details-g {
\r
1219 leaf action-verb {
\r
1220 type action-verbs;
\r
1221 description "none";
\r
1223 list necessary-initialcondition-constraints {
\r
1225 uses necessary-initial-condition-constraints-g;
\r
1226 description "none";
\r
1228 description "none";
\r
1230 container operation-envelope {
\r
1232 list operation-set {
\r
1233 key 'effort-and-action';
\r
1235 uses operation-set-g;
\r
1236 description "none";
\r
1238 container generaldirectives {
\r
1239 uses general-directives-g;
\r
1240 description "none";
\r
1242 container operationidentifiers {
\r
1243 uses operation-identifiers-g;
\r
1244 description "none";
\r
1246 description "none";
\r
1248 grouping operation-identifiers-g {
\r
1249 description "none";
\r
1251 grouping operation-set-g {
\r
1252 leaf-list after-operation-set {
\r
1254 path '/operation-envelope/operation-set/effort-and-action';
\r
1256 description "none";
\r
1258 leaf-list before-operation-set {
\r
1260 path '/operation-envelope/operation-set/effort-and-action';
\r
1262 description "none";
\r
1264 leaf effort-and-action {
\r
1265 type action-effort;
\r
1266 description "none";
\r
1268 leaf pause-resume-rule {
\r
1269 type pause-resume-rule;
\r
1270 description "none";
\r
1272 leaf-list operationset {
\r
1274 path '/operation-envelope/operation-set/effort-and-action';
\r
1276 description "none";
\r
1278 leaf is-short-lived {
\r
1281 description "none";
\r
1283 list operation-details {
\r
1284 key 'action-verb';
\r
1286 uses operation-details-g;
\r
1287 description "none";
\r
1289 description "none";
\r
1294 /***********************
\r
1295 * package core-physical-model-initial
\r
1296 **********************/
\r
1297 /***********************
\r
1298 * package rule-models
\r
1299 **********************/
\r
1300 /***********************
\r
1301 * package connector-rules
\r
1302 **********************/
\r
1303 /***********************
\r
1304 * package object-classes
\r
1305 **********************/
\r
1306 grouping connector-in-holder-g {
\r
1307 leaf connector-on-equipment-for-holder {
\r
1308 type universal-id;
\r
1309 description "none";
\r
1312 description "A rule class (an abstract specialization of Connector) that represents a connector that are only accessible to an equipment inserted in the holder.";
\r
1314 grouping connector-cable-end-g {
\r
1315 leaf connector-on-equipment-for-cable {
\r
1316 type universal-id;
\r
1317 description "none";
\r
1320 description "A rule class (an abstract specialization of Connector) that represents a connector on the end of a cable.";
\r
1322 grouping connector-on-equipment-for-cable-g {
\r
1323 leaf connector-cable-end {
\r
1324 type universal-id;
\r
1325 description "none";
\r
1328 description "A rule class (an abstract specialization of Connector) that represents a connector exposed on an equipment such that a cable may be plugged in.";
\r
1330 grouping connector-on-equipment-for-holder-g {
\r
1331 leaf connector-in-holder {
\r
1332 type universal-id;
\r
1333 description "none";
\r
1336 description "A rule class (an abstract specialization of Connector) that represents a connector on an equipment that is intended to mate with a connector in a holder.";
\r
1341 /***********************
\r
1342 * package equipment-detail
\r
1343 **********************/
\r
1344 /***********************
\r
1345 * package object-classes
\r
1346 **********************/
\r
1347 /***********************
\r
1348 * package dynamic-details
\r
1349 **********************/
\r
1350 grouping function-enablers-g {
\r
1351 leaf power-state {
\r
1352 type to-be-defined;
\r
1353 description "none";
\r
1355 description "Represents the dynamic aspects of the properties that relate to the motive force that directly enable functionality to emerge from the equipment.";
\r
1357 grouping mechanical-functions-g {
\r
1358 leaf rotation-speed {
\r
1359 type to-be-defined;
\r
1360 description "none";
\r
1362 description "Represents the dynamic aspects of the mechanical functions of the equipment.";
\r
1364 grouping physical-properties-g {
\r
1365 leaf temperature {
\r
1366 type to-be-defined;
\r
1367 description "none";
\r
1369 description "Represents the dynamic aspects of the physical environmental properties of the equipment.";
\r
1371 grouping holder-monitors-g {
\r
1374 description "none";
\r
1376 leaf is-actual-mismatch-with-expected {
\r
1378 description "none";
\r
1380 leaf aggregate-function {
\r
1382 description "none";
\r
1384 description "Represents the dynamic state of the holder instance. ";
\r
1386 grouping location-g {
\r
1387 container equipment-location {
\r
1389 description "none";
\r
1391 container geographical-location {
\r
1393 description "none";
\r
1395 description "none";
\r
1398 /***********************
\r
1399 * package invariant-details
\r
1400 **********************/
\r
1401 grouping category-g {
\r
1403 type equipment-category;
\r
1404 description "none";
\r
1406 description "Represents the form of the equipment.";
\r
1408 grouping equipment-instance-g {
\r
1409 leaf manufacture-date {
\r
1411 description "none";
\r
1413 leaf serial-number {
\r
1415 description "none";
\r
1417 leaf asset-instance-identifier {
\r
1419 description "none";
\r
1421 description "Represents the per instance invariant properties of the equipment.";
\r
1423 grouping equipment-type-g {
\r
1424 leaf description {
\r
1426 description "none";
\r
1428 leaf model-identifier {
\r
1430 description "none";
\r
1432 leaf part-type-identifier {
\r
1434 description "none";
\r
1438 description "none";
\r
1442 description "none";
\r
1444 description "Represents the invariant properties of the equipment that define and characterise the type.";
\r
1446 grouping holder-structure-g {
\r
1447 leaf holder-category {
\r
1448 type holder-category;
\r
1449 description "none";
\r
1453 description "none";
\r
1457 description "none";
\r
1459 leaf is-quantized-space {
\r
1461 description "none";
\r
1463 description "Represents the form of the holder.";
\r
1465 grouping manufactured-thing-g {
\r
1466 container manufacturer-properties {
\r
1467 uses manufacturer-properties-g;
\r
1468 description "none";
\r
1470 container equipment-type {
\r
1471 uses equipment-type-g;
\r
1472 description "none";
\r
1474 container equipment-instance {
\r
1475 uses equipment-instance-g;
\r
1476 description "none";
\r
1478 container operator-augmented-equipment-type {
\r
1479 uses operator-augmented-equipment-type-g;
\r
1480 description "none";
\r
1482 description "Collects all invariant aspects of a manufactured thing.";
\r
1484 grouping manufacturer-properties-g {
\r
1485 leaf manufacturer-identifier {
\r
1487 description "none";
\r
1489 leaf manufacturer-name {
\r
1491 description "none";
\r
1493 description "Represents the properties of the manufacturer.";
\r
1495 grouping mechanical-features-g {
\r
1496 description "Represents the invariant characteristics of dynamic mechanical features of a physical thing.";
\r
1498 grouping operator-augmented-equipment-type-g {
\r
1499 leaf asset-type-identifier {
\r
1501 description "none";
\r
1503 description "Represents the invariant properties of the equipment asset allocated by the operator that define and characterise the type.";
\r
1505 grouping physical-characteristics-g {
\r
1506 leaf weight-characteristics {
\r
1507 type to-be-defined;
\r
1508 description "none";
\r
1510 leaf fire-characteristics {
\r
1511 type to-be-defined;
\r
1512 description "none";
\r
1515 type to-be-defined;
\r
1516 description "none";
\r
1518 description "Represents the invariant physical characteristics (including composition and physical robustness) of the type.";
\r
1520 grouping physical-rating-g {
\r
1521 leaf thermal-rating {
\r
1522 type to-be-defined;
\r
1523 description "none";
\r
1525 leaf power-rating {
\r
1526 type to-be-defined;
\r
1527 description "none";
\r
1529 description "Represents the invariant physical operational boundaries for the equipment/holder type.";
\r
1531 grouping position-g {
\r
1532 leaf relative-position {
\r
1533 type to-be-defined;
\r
1534 description "none";
\r
1536 description "Represents the invariant relative position of the holder (with respect to some frame of reference in an equipment) or connector on an equipment or pin in a connector.";
\r
1538 grouping spatial-properties-of-type-g {
\r
1540 type to-be-defined;
\r
1541 description "none";
\r
1544 type to-be-defined;
\r
1545 description "none";
\r
1548 type to-be-defined;
\r
1549 description "none";
\r
1551 description "Represents the basic invariant spatial properties of a physical thing.";
\r
1553 grouping swapability-g {
\r
1554 leaf is-hot-swappable {
\r
1557 description "none";
\r
1559 description "Represents the degree of field replacement that is possible for the equipment type.";
\r
1564 /***********************
\r
1565 * package equipment-pattern-structure
\r
1566 **********************/
\r
1567 /***********************
\r
1568 * package object-classes
\r
1569 **********************/
\r
1570 grouping cable-g {
\r
1575 description "none";
\r
1577 container manufactured-thing {
\r
1578 uses manufactured-thing-g;
\r
1579 description "none";
\r
1581 container physical-characteristics {
\r
1582 uses physical-characteristics-g;
\r
1583 description "none";
\r
1585 container mechanical-features {
\r
1586 uses mechanical-features-g;
\r
1587 description "none";
\r
1589 container spatial-properties-of-type {
\r
1590 uses spatial-properties-of-type-g;
\r
1591 description "none";
\r
1593 uses global-class-g;
\r
1594 description "Basic model representing a cable with connectors fitted where the cable is 'short' (e.g. patch cord, in-station cabling).
\r
1595 This is intentionally a very basic representation of a cable.
\r
1596 In a more sophisticated representation cable ends might be represented that then associate to the attached connector.
\r
1597 At this point it is assumed that the basic model is sufficient.";
\r
1599 grouping connector-g {
\r
1602 description "none";
\r
1608 description "none";
\r
1610 leaf orientation {
\r
1611 type connector-and-pin-orientation;
\r
1612 description "none";
\r
1614 container manufactured-thing {
\r
1615 uses manufactured-thing-g;
\r
1616 description "none";
\r
1618 container position {
\r
1620 description "none";
\r
1622 container mechanical-features {
\r
1623 uses mechanical-features-g;
\r
1624 description "none";
\r
1626 container pin-layout {
\r
1627 uses pin-layout-g;
\r
1628 description "none";
\r
1630 leaf connector-type {
\r
1631 type to-be-defined;
\r
1632 description "none";
\r
1634 uses local-class-g;
\r
1635 uses group-of-pins-g;
\r
1636 description "Represents a connector that may be fully exposed (e.g. to plug in a cable or on the end of a cable) or partially exposed (e.g. backplane to plug in another piece of equipment such as a module).";
\r
1638 grouping equipment-g {
\r
1642 description "none";
\r
1644 list contained-holder {
\r
1647 description "none";
\r
1649 list exposed-cable {
\r
1652 description "none";
\r
1654 container manufactured-thing {
\r
1655 uses manufactured-thing-g;
\r
1656 description "none";
\r
1658 container spatial-properties-of-type {
\r
1659 uses spatial-properties-of-type-g;
\r
1660 description "none";
\r
1662 container mechanical-features {
\r
1663 uses mechanical-features-g;
\r
1664 description "none";
\r
1666 container physical-properties {
\r
1667 uses physical-properties-g;
\r
1668 description "none";
\r
1670 container function-enablers {
\r
1671 uses function-enablers-g;
\r
1672 description "none";
\r
1674 container mechanical-functions {
\r
1675 uses mechanical-functions-g;
\r
1676 description "none";
\r
1678 container physical-characteristics {
\r
1679 uses physical-characteristics-g;
\r
1680 description "none";
\r
1682 container swapability {
\r
1683 uses swapability-g;
\r
1684 description "none";
\r
1686 container category {
\r
1688 description "none";
\r
1690 container physical-rating {
\r
1691 uses physical-rating-g;
\r
1692 description "none";
\r
1694 leaf is-field-replaceable {
\r
1698 description "Indicates whether or not the equipment can be removed and replaced 'in the field' (i.e. in a deployment) by normal operations personnel.
\r
1701 leaf-list function-block {
\r
1703 description "none";
\r
1705 container expected-equipment {
\r
1706 uses expected-equipment-g;
\r
1707 description "none";
\r
1709 container actual-equipment {
\r
1710 uses actual-equipment-g;
\r
1711 description "none";
\r
1713 container location {
\r
1715 description "none";
\r
1717 uses global-class-g;
\r
1718 description "Represents any relevant physical thing.
\r
1719 Can be either field replaceable or not field replaceable.
\r
1720 Note: The model is currently constrained to inside plant.";
\r
1725 description "none";
\r
1727 grouping holder-g {
\r
1728 leaf-list connector {
\r
1730 path '/equipment/exposed-cable/connector/uuid';
\r
1732 description "none";
\r
1734 leaf occupying-fru {
\r
1736 path '/equipment/uuid';
\r
1738 description "The FRU that is occupying the holder.
\r
1739 A holder may be unoccupied.
\r
1740 An FRU may occupy more hat one holder (using or blocking are intentionally not distinguished here).";
\r
1742 container spatial-properties-of-type {
\r
1743 uses spatial-properties-of-type-g;
\r
1744 description "none";
\r
1746 container holder-monitors {
\r
1747 uses holder-monitors-g;
\r
1748 description "none";
\r
1750 container holder-location {
\r
1752 description "none";
\r
1754 container position {
\r
1756 description "none";
\r
1758 container holder-structure {
\r
1759 uses holder-structure-g;
\r
1760 description "none";
\r
1762 container physical-rating {
\r
1763 uses physical-rating-g;
\r
1764 description "none";
\r
1766 leaf-list supported-equipment {
\r
1769 description "none";
\r
1771 container expected-holder {
\r
1772 uses expected-holder-g;
\r
1773 description "none";
\r
1775 container actual-holder {
\r
1776 uses actual-holder-g;
\r
1777 description "none";
\r
1779 uses local-class-g;
\r
1780 description "Represents a space in an equipment in which another equipment can be fitted in the field.";
\r
1783 /***********************
\r
1784 * package data-types
\r
1785 **********************/
\r
1786 typedef connector-and-pin-orientation {
\r
1787 type enumeration {
\r
1789 description "The connecting elements are dominantly protrusions.";
\r
1792 description "The connecting elements are dominantly indentations.";
\r
1794 enum symmetric-neutral {
\r
1795 description "The pin (and housing) orientation combination is such that it is symmetric so a connector is compatible with itself.
\r
1796 The connecting element may be a surface rather than protrusions or indentations.";
\r
1799 description "Most connector schems are asymmetric such that there are two orientations of the connector where a mating is only possible between two connectors of different orientations.
\r
1800 A multi-pin connector may have a mix of pin orientations. In this case it is expected that the dominant orientation of pin is chosen for the connector orientation.";
\r
1802 typedef equipment-category {
\r
1803 type enumeration {
\r
1805 description "An assembly with holders designed to accommodate CIRCUIT_PACKs.
\r
1806 The assembly is designed to be mounted in a RACK.";
\r
1808 enum circuit-pack {
\r
1809 description "An assembly with connectors compatible with those in a holder.
\r
1810 The assembly is designed to be mounted in a holder (SLOT) of a SUBRACK.
\r
1811 May also support holders (SLOTs) for SMALL_FORMFACTOR_PLUGGABLEs";
\r
1813 enum small-formfactor-pluggable {
\r
1814 description "A small assembly (compared to a CIRCUIT_PACK) with connectors compatible with those in a holder.
\r
1815 The assembly is designed to be mounted in a holder (SLOT) of a CIRCUIT_PACK or STAND_ALONE_UNIT.";
\r
1817 enum stand-alone-unit {
\r
1818 description "An assembly with connectors for cabling and potentially with holders.
\r
1819 The assembly is designed to be mounted in a freeform environment (on a table or simple mechanical cabinet).
\r
1820 May support holders (SLOTs) for CIRCUIT_PACKs or for SMALL_FORMFACTOR_PLUGGABLEs";
\r
1823 description "A mechanical assembly with cabling and predefined mounting points for particular SUBRACK types.
\r
1824 The assembly is designed to be mounted on the floor in a row with other RACKs.";
\r
1827 description "The form of equipment.";
\r
1829 typedef holder-category {
\r
1830 type enumeration {
\r
1832 description "A guided holder with fixed connectors.
\r
1833 The guided holder is designed to take a particular form of CIRCUIT_PACK or SMALL_FORMFACTOR_PLUGGABLE";
\r
1836 description "The form of holder.";
\r
1840 /***********************
\r
1841 * package expected-and-actual
\r
1842 **********************/
\r
1843 /***********************
\r
1844 * package object-classes
\r
1845 **********************/
\r
1846 grouping actual-holder-g {
\r
1847 description "A holder in the ActualEquipment.";
\r
1849 grouping expected-holder-g {
\r
1850 description "A definition of a holder expected in the ActualEquipment (i.e. an ActualHolder) as part of the constraints provided by the ExpectedEquipment.";
\r
1852 grouping actual-equipment-g {
\r
1853 description "The equipment that is actually present in the physical network.
\r
1854 It will expose all dynamic properties and some critical static properties.";
\r
1856 grouping expected-equipment-g {
\r
1857 description "A definition of the restrictions on the equipment that is expected to be present in the physical network at a particular 'place'.
\r
1858 The expected equipment will state the type and may constrain any other invariant properties.
\r
1859 It may also provide desired ranges for dynami properties.";
\r
1863 /***********************
\r
1864 * package connector-and-pin
\r
1865 **********************/
\r
1866 /***********************
\r
1867 * package object-classes
\r
1868 **********************/
\r
1872 path '/equipment/exposed-cable/connector/position/relative-position';
\r
1874 description "none";
\r
1876 leaf orientation {
\r
1877 type connector-and-pin-orientation;
\r
1878 description "none";
\r
1880 description "An individual physical connection point (male or female).
\r
1881 May be capable of carrying electrical or optical signals.
\r
1882 A pin may have more than one wire/fiber attached but is such that all attached things get exactly the same signal set.";
\r
1884 grouping pin-group-g {
\r
1887 path '/equipment/exposed-cable/connector/pin/position';
\r
1890 description "none";
\r
1893 uses group-of-pins-g;
\r
1894 description "A group of pins that together provide signal group where any one pin removed from the group will prevent the signals of the signal group from flowing successfully.";
\r
1896 grouping pin-layout-g {
\r
1898 key 'relative-position';
\r
1901 description "none";
\r
1903 description "The structuring of pins in a connector.";
\r
1906 description "A conceptual access point for a group of signals (where that group of signals cannot be separated).";
\r
1908 grouping signal-ref-pt-g {
\r
1911 path '/network-element/ltp/uuid';
\r
1913 description "none";
\r
1915 leaf-list elemental-signals {
\r
1916 type universal-id;
\r
1918 description "none";
\r
1920 description "A single coherent signal as processed by a single LTP.";
\r
1922 grouping signal-ref-pt-group-g {
\r
1924 type universal-id;
\r
1925 description "none";
\r
1927 leaf-list signal-ref-pt {
\r
1928 type universal-id;
\r
1930 description "none";
\r
1933 description "A physical indivisible group of signals.";
\r
1935 grouping elemental-signals-g {
\r
1938 path '/equipment/exposed-cable/connector/pin/position';
\r
1941 description "none";
\r
1943 description "The elemental (sub-atomic) parts of an 'indivisible' signal where processing in the LTP is required to extract the elemental signals.";
\r
1945 grouping group-of-pins-g {
\r
1946 description "A group of pins from one or more connectors relevant for some purpose.";
\r