📄 subnetworkconnection.idl
字号:
#ifndef subnetworkConnection_idl#define subnetworkConnection_idl// ********************************// * *// * subnetworkConnection.idl *// * *// ********************************//Include list#include "globaldefs.idl"#include "transmissionParameters.idl"#include "terminationPoint.idl"#pragma prefix "mtnm.tmforum.org" /** * <a href=supportingDocumentation/overview.html>Overview of NML-EML interface</a> * * <p>This module contains the definition of the subnetworkConnection structure * of the NML-EML interface.</p> * <p>For a detailed description of the use of this struct see * <a href=supportingDocumentation/snctypes.pdf>SNC Types</a>.</p) * <br> * * <h5> Version 2.0. </h5> **/module subnetworkConnection{ /** * <p>The static protection level is a statement of the internal resiliency of the SNC * (internal to * the subnetwork). The more resilient an SNC is, the more bandwidth * it will consume.<br> * The protection level does not have any bearing on the externally visible * shape and traffic flows of the SNC (in non-failure cases).<br> * For a detailed description of the use of this attribute, see * <a href=supportingDocumentation/snctypes.pdf>SNC Types</a>.</p> **/ enum StaticProtectionLevel_T { PREEMPTIBLE, UNPROTECTED, PARTIALLY_PROTECTED, FULLY_PROTECTED, HIGHLY_PROTECTED };/** * <p>The protection effort is a statement of the requirement * of the static protection level. * For example if EFFORT_SAME_OR_WORSE is specified for a 3-ended * FULLY_PROTECTED connection, a 3-ended PARTIALLY_PROTECTED connection is acceptable, * but a 2-ended connection (ST_SIMPLE) is not acceptable i.e. ProtectionEffort_T * does not have any bearing on the externaly visible shape of the SNC.</p> * * <p>EFFORT_WHATEVER indicates that the specified static protection level is preferred, * but that any other level is acceptable.</p> * * <p>For a detailed description of the use of this attribute see * <a href=supportingDocumentation/snctypes.pdf>SNC Types</a>.</p> **/ enum ProtectionEffort_T { EFFORT_WHATEVER, EFFORT_SAME_OR_BETTER, EFFORT_SAME_OR_WORSE, EFFORT_SAME }; /** * <p>The SNCState enum is used to represent the various states that * an SNC may take.</p> * * <p>The following states may be supported by the EMS, depending on the SNC * management mode of operation used by the EMS. * See <a href=supportingDocumentation/modesOfOperation.html>SNC Management * Modes Of Operation</a> for details.<br> * <ul> * <li> SNCS_PENDING: the SNC has been created by an NMS and has not been * activated by any NMS; or the SNC has been successfully deactivated by an NMS. * That state has no relationship with the network state of the cross-connects of * the SNC. * It is allowable for an EMS to not support the SNCS_PENDING state and to * reject any operation that attempts to put an SNC into SNCS_PENDING state.</li> * <li> SNCS_ACTIVE: the SNC is not in pending state, a route has been assigned to * the SNC and all cross-connects for the SNC are active in the network.</li> * <li> SNCS_PARTIAL: the SNC is not in pending state, and either a route has not been * assigned to the SNC, or not all of the * cross-connects of the SNC are active in the network. This may or may not * include activated SNCs for which there are currently no active cross-connects * in the network, depending on the SNC management mode of operation. * It is possible that, in some EMSes, this state be unreachable.</li> * <li> SNCS_NONEXISTENT: this is not an SNC state per se, as it applies to * "non-existent SNCs". It is used in the interface to report SNCs that have * been deleted. * </li></ul></p> * * <p>See * <a href=supportingDocumentation/SNCStateDiagram.pdf>SNCState state diagram</a> * for details on valid transitions.</p> **/ enum SNCState_T { SNCS_NONEXISTENT, SNCS_PENDING, SNCS_ACTIVE, SNCS_PARTIAL }; /** * <p>Grades of maximum tolerable disruption to traffic as a result of the * operation that this parameter is describing. The following relates * to design intent:<dir>GOI_HITLESS,<br> * GOI_MINOR_IMPACT <= 50ms,<br> * GOI_MAJOR_IMPACT > 50ms.</dir></p> **/ enum GradesOfImpact_T { GOI_HITLESS, GOI_MINOR_IMPACT, GOI_MAJOR_IMPACT }; /** * <p>The TPData struct contains termination point data that is settable by the NMS.</p> * * globaldefs::NamingAttributes_T <b>tpName</b>: * <dir>The name of the termination point to which this data applies.</dir> * * TerminationMode_T <b>tpMappingMode</b>: * <dir>The mapping mode to put the TP in.</dir> * * transmissionParameters::LayeredParameterList_T <b>transmissionParams</b>: * <dir>When used as output to the NMS, this is the transmission parameters of the TP. * When used as input to the EMS, this * is a "delta" list that needs to be applied to the specified TP. Only * a subset of the parameters may be specified in the list, and * only those should be applied in the NE. * If the list is empty then this means do nothing. To remove a parameter from the * list, "-" should be specified in the value part of the structure. * When a BLSR connection is created, the SPRING_NodeId parameter should be provided * for the aEnd and zEnd CTPs.</dir> * * globaldefs::NamingAttributes_T <b>ingressTrafficDescriptorName</b>: * <dir>The ingressTrafficDescriptorName of the TP (to be set).</dir> * * globaldefs::NamingAttributes_T <b>egressTrafficDescriptorName</b>: * <dir>The egressTrafficDescriptorName of the TP (to be set).</dir> **/ struct TPData_T { globaldefs::NamingAttributes_T tpName; terminationPoint::TerminationMode_T tpMappingMode; transmissionParameters::LayeredParameterList_T transmissionParams; globaldefs::NamingAttributes_T ingressTrafficDescriptorName; globaldefs::NamingAttributes_T egressTrafficDescriptorName; }; /** * <p>Sequence of TPData_T.</p> **/ typedef sequence<TPData_T> TPDataList_T; /** * <p>The SNC Type describes the connection based on the signal * flows.</p> * * <p>For a detailed description of the use of this attribute see * <a href=supportingDocumentation/snctypes.pdf>SNC Types</a>.</p> * * <p>In case of an ATM SNC (VP or VC), ST_SIMPLE is used to specify a 'plain' * (hard or regular) PVC.</p> **/ enum SNCType_T { ST_SIMPLE, ST_ADD_DROP_A, ST_ADD_DROP_Z, ST_INTERCONNECT, ST_DOUBLE_INTERCONNECT, ST_DOUBLE_ADD_DROP, ST_OPEN_ADD_DROP, ST_EXPLICIT }; /** * <p>The Reroute_T type indicates if the EMS/MEs are allowed and/or required * to reroute this SNC if there * is a failure on this SNC, periodically to optimize the routes, of for any other reason. * It is an EMS/ME implementation whether this is done using network routing protocols * or if the EMS/MEs detect the failure and take appropriate action to attempt to fix * the SNC.</p> * * <p>The RR_NO value means that the EMS/MEs are not allowed to reroute the SNC. * The RR_YES value means that the EMS/MEs are allowed to reroute the SNC and required * to attempt to reroute it upon failure. * The RR_NA value is used when the NMS does not want to specify the exact EMS behaviour. * In this case it is left up to the EMS to decide whether rerouting will be provided. * It is also used if the EMS/MEs are allowed to reroute the SNC but not required * to attempt to reroute it upon failure.</p> **/ enum Reroute_T { RR_NA, RR_NO, RR_YES }; /** * Network routed, indicates if the route must be or is computed and * implemented at the network level. * NR_YES indicates that the * route must be / is computed at the network. * NR_NO indicates that the route must not be / is not * computed at the network. * NR_NA indicates that the route can be computed * anywhere. **/ enum NetworkRouted_T { NR_NA, NR_NO, NR_YES }; /** * The route change goes through different stages during a * reroute of a SubnetworkConnection. These stages are a part * of the ROUTE_CHANGE notification. * These are: * <ol> * <li> "RerouteStarted" </li> * <li> "RerouteCompleted" </li> * <li> "RerouteFailed" </li> * </ol> **/ typedef string RerouteChangeEvent_T; /** * <p>A subnetwork connection represents a connection between CTPs.</p> * * globaldefs::NamingAttributes_T <b>name</b>: * <dir>The name represents the name of the * SubnetworkConnection which is assigned by the EMS upon creation. * The EMS is responsible for guaranteeing the uniqueness of the name * within the context of the MultiLayerSubnetworkMgr_I. * It is a readonly attribute.</dir> * * string <b>userLabel</b>: * <dir>The user label of the subnetwork connection is NMS data * (typically end-to-end trail data). This could be used by the EMS * to display to the user (to associate SNCs/cross-connects to the NMS data), * but this is not a requirement on the EMS to display on its GUI. * This attribute can be set * by the NMS through the Common_I interface service * <a href=_common.Common_I.html#common::Common_I::setUserLabel>setUserLabel</a> * or through the createSNC and createAndActivateSNC operations. * It is a read/write attribute.</dir> * * string <b>nativeEMSName</b>: * <dir>The name represents how the SNC is referred to on EMS displays. Its * aim is to provide a "nomenclature bridge" to aid relating information * presented on NMS displays to EMS displays (via GUI cut through). * The native name is defaulted to a NULL string. However, this could * be used by the EMS for its implementation dependent purpose.</dir> * * string <b>owner</b>: * <dir> * The owner is provisionable by the NMS. This attribute can be set * by NMS through the Common_I interface service * <a href=_common.Common_I.html#common::Common_I::setOwner>setOwner</a> * or through the createSNC and createAndActivateSNC operations. * It is a read/write attribute.</dir> * * SNCState_T <b>sncState</b>: * <dir>The EMS may operate in one of four modes, summarized below. See * <a href=supportingDocumentation/SNCModes.html>SNC Management * Modes Of Operation</a>.<br> * <ol> * <li> No pending no sharing </li> * <ul> * <li> The pending state is not supported. Conflicting SNCs are rejected * on creation. Sharing of CCs amongst SNCs is not allowed, except for * broadcast SNCs. * </li> * </ul> * <li> No pending with sharing </li> * <ul> * <li> The pending state is not supported. Conflicting SNCs are rejected * on creation. However, sharing of CCs amongst SNCs is allowed. * </li> * </ul> * <li> Pending no sharing </li> * <ul> * <li> The pending state is supported. Conflicting SNCs and SNCs that share CCs * are accepted on creation, however their activation is rejected. * Sharing of CCs amongst SNCs is not allowed for partial and active SNCs, * except for broadcast SNCs. * </li> * </ul> * <li> Pending with sharing </li> * <ul> * <li> The pending state is supported. Conflicting SNCs are accepted * on creation, however their activation is rejected. * Sharing of CCs amongst SNCs is allowed. * </li> * </ul> * </ol> * See <a href=supportingDocumentation/modesOfOperation.html>SNC Management
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -