2 namespace "urn:mef:yang:TapiTopology";
7 organization "Metro Ethernet Forum (MEF)";
11 description "MEF NRP 1.0.alpha";
12 reference "ONF-TR-527, ONF-TR-512, ONF-TR-531, RFC 6020 and RFC 6087";
14 augment "/tapi-common:context" {
15 uses topology-context;
18 /***********************
19 * package object-classes
20 **********************/
22 leaf-list node-edge-point {
24 path '/tapi-common:context/tapi-topology:topology/tapi-topology:node/tapi-topology:owned-node-edge-point/tapi-topology:uuid';
32 path '/tapi-common:context/tapi-topology:topology/tapi-topology:node/tapi-topology:uuid';
40 uses tapi-common:admin-state-pac;
43 container transfer-capacity {
45 uses transfer-capacity-pac;
48 container transfer-cost {
50 uses transfer-cost-pac;
53 container transfer-integrity {
55 uses transfer-integrity-pac;
58 container transfer-timing {
60 uses transfer-timing-pac;
63 container risk-parameter {
65 uses risk-parameter-pac;
68 container validation {
73 container lp-transition {
75 uses layer-protocol-transition-pac;
78 leaf-list layer-protocol-name {
79 type tapi-common:layer-protocol-name;
85 type tapi-common:forwarding-direction;
87 description "The directionality of the Link.
88 Is applicable to simple Links where all LinkEnds are BIDIRECTIONAL (the Link will be BIDIRECTIONAL) or UNIDIRECTIONAL (the Link will be UNIDIRECTIONAL).
89 Is not present in more complex cases.";
91 uses tapi-common:resource-spec;
92 description "The Link object class models effective adjacency between two or more ForwardingDomains (FD). ";
95 list owned-node-edge-point {
101 leaf-list aggregated-node-edge-point {
103 path '/tapi-common:context/tapi-topology:topology/tapi-topology:node/tapi-topology:owned-node-edge-point/tapi-topology:uuid';
108 leaf encap-topology {
110 path '/tapi-common:context/tapi-topology:topology/tapi-topology:uuid';
117 uses tapi-common:admin-state-pac;
120 container transfer-capacity {
122 uses transfer-capacity-pac;
125 container transfer-cost {
127 uses transfer-cost-pac;
130 container transfer-integrity {
132 uses transfer-integrity-pac;
135 container transfer-timing {
137 uses transfer-timing-pac;
140 leaf-list layer-protocol-name {
141 type tapi-common:layer-protocol-name;
146 uses tapi-common:resource-spec;
147 description "The ForwardingDomain (FD) object class models the “ForwardingDomain” topological component which is used to effect forwarding of transport characteristic information and offers the potential to enable forwarding.
148 At the lowest level of recursion, an FD (within a network element (NE)) represents a switch matrix (i.e., a fabric). Note that an NE can encompass multiple switch matrices (FDs). ";
163 leaf-list layer-protocol-name {
164 type tapi-common:layer-protocol-name;
169 uses tapi-common:resource-spec;
170 description "The ForwardingDomain (FD) object class models the “ForwardingDomain” topological component which is used to effect forwarding of transport characteristic information and offers the potential to enable forwarding.
171 At the lowest level of recursion, an FD (within a network element (NE)) represents a switch matrix (i.e., a fabric). Note that an NE can encompass multiple switch matrices (FDs). ";
173 grouping layer-protocol-transition-pac {
174 leaf-list transitioned-layer-protocol-name {
177 description "Provides the ordered structure of layer protocol transitions encapsulated in the TopologicalEntity. The ordering relates to the LinkPort role.";
179 description "Relevant for a Link that is formed by abstracting one or more LTPs (in a stack) to focus on the flow and deemphasize the protocol transformation.
180 This abstraction is relevant when considering multi-layer routing.
181 The layer protocols of the LTP and the order of their application to the signal is still relevant and need to be accounted for. This is derived from the LTP spec details.
182 This Pac provides the relevant abstractions of the LTPs and provides the necessary association to the LTPs involved.
183 Links that included details in this Pac are often referred to as Transitional Links.";
185 grouping node-edge-point {
186 list layer-protocol {
190 uses tapi-common:layer-protocol;
193 leaf-list aggregated-node-edge-point {
195 path '/tapi-common:context/tapi-topology:topology/tapi-topology:node/tapi-topology:owned-node-edge-point/tapi-topology:uuid';
200 leaf-list mapped-service-interface-point {
202 path '/tapi-common:context/tapi-common:service-interface-point/tapi-common:uuid';
208 uses tapi-common:admin-state-pac;
211 leaf termination-direction {
212 type tapi-common:termination-direction;
216 leaf link-port-direction {
217 type tapi-common:port-direction;
219 description "The orientation of defined flow at the LinkEnd.";
221 leaf link-port-role {
222 type tapi-common:port-role;
224 description "Each LinkEnd of the Link has a role (e.g., symmetric, hub, spoke, leaf, root) in the context of the Link with respect to the Link function. ";
226 uses tapi-common:resource-spec;
227 description "The LogicalTerminationPoint (LTP) object class encapsulates the termination and adaptation functions of one or more transport layers.
228 The structure of LTP supports all transport protocols including circuit and packet forms.";
230 grouping risk-parameter-pac {
231 list risk-characteristic {
232 key 'risk-characteristic-name';
235 uses risk-characteristic;
236 description "A list of risk characteristics for consideration in an analysis of shared risk. Each element of the list represents a specific risk consideration.";
238 description "The risk characteristics of a TopologicalEntity come directly from the underlying physical realization.
239 The risk characteristics propagate from the physical realization to the client and from the server layer to the client layer, this propagation may be modified by protection.
240 A TopologicalEntity may suffer degradation or failure as a result of a problem in a part of the underlying realization.
241 The realization can be partitioned into segments which have some relevant common failure modes.
242 There is a risk of failure/degradation of each segment of the underlying realization.
243 Each segment is a part of a larger physical/geographical unit that behaves as one with respect to failure (i.e. a failure will have a high probability of impacting the whole unit (e.g. all cables in the same duct).
244 Disruptions to that larger physical/geographical unit will impact (cause failure/errors to) all TopologicalEntities that use any part of that larger physical/geographical entity.
245 Any TopologicalEntity that uses any part of that larger physical/geographical unit will suffer impact and hence each TopologicalEntity shares risk.
246 The identifier of each physical/geographical unit that is involved in the realization of each segment of a Topological entity can be listed in the RiskParameter_Pac of that TopologicalEntity.
247 A segment has one or more risk characteristic.
248 Shared risk between two TopologicalEntities compromises the integrity of any solution that use one of those TopologicalEntity as a backup for the other.
249 Where two TopologicalEntities have a common risk characteristic they have an elevated probability of failing simultaneously compared to two TopologicalEntities that do not share risk characteristics.";
251 grouping transfer-capacity-pac {
252 container total-potential-capacity {
255 description "An optimistic view of the capacity of the TopologicalEntity assuming that any shared capacity is available to be taken.";
257 container available-capacity {
260 description "Capacity available to be assigned.";
262 list capacity-assigned-to-user-view {
266 description "Capacity already assigned";
268 leaf capacity-interaction-algorithm {
271 description "A reference to an algorithm that describes how various chunks of allocated capacity interact (e.g. when shared)";
273 description "The TopologicalEntity derives capacity from the underlying realization.
274 A TopologicalEntity may be an abstraction and virtualization of a subset of the underlying capability offered in a view or may be directly reflecting the underlying realization.
275 A TopologicalEntity may be directly used in the view or may be assigned to another view for use.
276 The clients supported by a multi-layer TopologicalEntity may interact such that the resources used by one client may impact those available to another. This is derived from the LTP spec details.
277 Represents the capacity available to user (client) along with client interaction and usage.
278 A TopologicalEntity may reflect one or more client protocols and one or more members for each profile.";
280 grouping transfer-cost-pac {
281 list cost-characteristic {
282 key 'cost-name cost-value cost-algorithm';
285 uses cost-characteristic;
286 description "The list of costs where each cost relates to some aspect of the TopologicalEntity.";
288 description "The cost characteristics of a TopologicalEntity not necessarily correlated to the cost of the underlying physical realization.
289 They may be quite specific to the individual TopologicalEntity e.g. opportunity cost. Relates to layer capacity
290 There may be many perspectives from which cost may be considered for a particular TopologicalEntity and hence many specific costs and potentially cost algorithms.
291 Using an entity will incur a cost. ";
293 grouping transfer-integrity-pac {
294 leaf error-characteristic {
297 description "Describes the degree to which the signal propagated can be errored.
298 Applies to TDM systems as the errored signal will be propagated and not packet as errored packets will be discarded.";
300 leaf loss-characteristic {
303 description "Describes the acceptable characteristic of lost packets where loss may result from discard due to errors or overflow.
304 Applies to packet systems and not TDM (as for TDM errored signals are propagated unless grossly errored and overflow/underflow turns into timing slips).";
306 leaf repeat-delivery-characteristic {
309 description "Primarily applies to packet systems where a packet may be delivered more than once (in fault recovery for example).
310 It can also apply to TDM where several frames may be received twice due to switching in a system with a large differential propagation delay.";
312 leaf delivery-order-characteristic {
315 description "Describes the degree to which packets will be delivered out of sequence.
316 Does not apply to TDM as the TDM protocols maintain strict order.";
318 leaf unavailable-time-characteristic {
321 description "Describes the duration for which there may be no valid signal propagated.";
323 leaf server-integrity-process-characteristic {
326 description "Describes the effect of any server integrity enhancement process on the characteristics of the TopologicalEntity.";
328 description "Transfer intergrity characteristic covers expected/specified/acceptable characteristic of degradation of the transfered signal.
329 It includes all aspects of possible degradation of signal content as well as any damage of any form to the total TopologicalEntity and to the carried signals.
330 Note that the statement is of total impact to the TopologicalEntity so any partial usage of the TopologicalEntity (e.g. a signal that does not use full capacity) will only suffer its portion of the impact.";
332 grouping transfer-timing-pac {
333 list latency-characteristic {
334 key 'traffic-property-name traffic-property-queing-latency';
337 uses latency-characteristic;
338 description "The effect on the latency of a queuing process. This only has significant effect for packet based systems and has a complex characteristic.";
340 description "A TopologicalEntity will suffer effects from the underlying physical realization related to the timing of the information passed by the TopologicalEntity.";
342 grouping validation-pac {
343 list validation-mechanism {
344 key 'validation-mechanism layer-protocol-adjacency-validated validation-robustness';
347 uses validation-mechanism;
348 description "Provides details of the specific validation mechanism(s) used to confirm the presence of an intended topologicalEntity.";
350 description "Validation covers the various adjacenct discovery and reachability verification protocols. Also may cover Information source and degree of integrity.";
352 grouping network-topology-service {
355 path '/tapi-common:context/tapi-topology:topology/tapi-topology:uuid';
360 uses tapi-common:service-spec;
363 grouping topology-context {
364 container nw-topology-service {
366 uses network-topology-service;
378 /***********************
379 * package type-definitions
380 **********************/
383 type fixed-capacity-value;
384 description "Total capacity of the TopologicalEntity in MB/s";
386 leaf packet-bw-profile-type {
387 type bandwidth-profile-type;
390 leaf committed-information-rate {
394 leaf committed-burst-size {
398 leaf peak-information-rate {
402 leaf peak-burst-size {
414 description "Information on capacity of a particular TopologicalEntity.";
416 grouping cost-characteristic {
419 description "The cost characteristic will related to some aspect of the TopologicalEntity (e.g. $ cost, routing weight). This aspect will be conveyed by the costName.";
423 description "The specific cost.";
425 leaf cost-algorithm {
427 description "The cost may vary based upon some properties of the TopologicalEntity. The rules for the variation are conveyed by the costAlgorithm.";
429 description "The information for a particular cost characteristic.";
431 typedef fixed-capacity-value {
433 enum not-applicable {
464 description "The Capacity (Bandwidth) values that are applicable for digital layers. ";
466 grouping latency-characteristic {
467 leaf fixed-latency-characteristic {
470 description "A TopologicalEntity suffers delay caused by the realization of the servers (e.g. distance related; FEC encoding etc.) along with some client specific processing. This is the total average latency effect of the TopologicalEntity";
472 leaf jitter-characteristic {
475 description "High frequency deviation from true periodicity of a signal and therefore a small high rate of change of transfer latency.
476 Applies to TDM systems (and not packet).";
478 leaf wander-characteristic {
481 description "Low frequency deviation from true periodicity of a signal and therefore a small low rate of change of transfer latency.
482 Applies to TDM systems (and not packet).";
484 leaf traffic-property-name {
486 description "The identifier of the specific traffic property to which the queuing latency applies.";
488 leaf traffic-property-queing-latency {
490 description "The specific queuing latency for the traffic property.";
492 description "Provides information on latency characteristic for a particular stated trafficProperty.";
494 grouping risk-characteristic {
495 leaf risk-characteristic-name {
497 description "The name of the risk characteristic. The characteristic may be related to a specific degree of closeness.
498 For example a particular characteristic may apply to failures that are localized (e.g. to one side of a road) where as another characteristic may relate to failures that have a broader impact (e.g. both sides of a road that crosses a bridge).
499 Depending upon the importance of the traffic being routed different risk characteristics will be evaluated.";
501 leaf-list risk-identifier-list {
504 description "A list of the identifiers of each physical/geographic unit (with the specific risk characteristic) that is related to a segment of the TopologicalEntity.";
506 description "The information for a particular risk characteristic where there is a list of risk identifiers related to that characteristic.";
508 grouping validation-mechanism {
509 leaf validation-mechanism {
511 description "Name of mechanism used to validate adjacency";
513 leaf layer-protocol-adjacency-validated {
515 description "State of validatiion";
517 leaf validation-robustness {
519 description "Quality of validation (i.e. how likely is the stated validation to be invalid)";
521 description "Identifies the validation mechanism and describes the characteristics of that mechanism";
523 typedef bandwidth-profile-type {
525 enum not-applicable {
544 /***********************
546 **********************/
547 rpc get-topology-details {
550 leaf topology-id-or-name {
562 rpc get-node-details {
565 leaf topology-id-or-name {
569 leaf node-id-or-name {
581 rpc get-node-edge-point-details {
584 leaf topology-id-or-name {
588 leaf node-id-or-name {
598 container node-edge-point {
599 uses node-edge-point;
604 rpc get-link-details {
607 leaf topology-id-or-name {
611 leaf link-id-or-name {
623 rpc get-topology-list {