📄 protection.idl
字号:
#ifndef protection_idl
#define protection_idl
// *************************************
// * *
// * protection.idl *
// * *
// *************************************
//Include list
#include "globaldefs.idl"
#include "transmissionParameters.idl"
#include "common.idl"
#pragma prefix "mtnm.tmforum.org"
/**
* <a href=supportingDocumentation/overview_NML-EML_Interface.pdf>Overview of
* NML-EML interface</a>
*
* <p>This module contains the definition of the protection structure
* of the NML-EML interface.
* It also contains the definition of the protection manager.</p>
*
* <h5> Version 3.0. </h5>
**/
module protection
{
/**
* <p>The protection scheme state identifies the state in which the
* protection scheme is in. PSS_FORCED_OR_LOCKED_OUT indicates that the
* entire group is locked; partial locking is indicated by PSS_AUTOMATIC.
* Individual locks can be reported through transmission parameters on the
* appropriate TPs or equipment instances.</p>
**/
enum ProtectionSchemeState_T
{
PSS_UNKNOWN,
PSS_AUTOMATIC,
PSS_FORCED_OR_LOCKED_OUT
};
/**
* <p>The protection type identifies whether a protection switch
* is an MS protection switch or an SNCP protection switch.</p>
* <p>It should be noted that although the term MSP was chosen
* as the original specific protection scheme to which the related behaviour
* applied was Multiplex Section Protection, the label is now more generally
* applied to any 1+1 or 1:N Trail protection scheme.</p>
**/
enum ProtectionType_T
{
PT_MSP_APS,
PT_SNCP
};
/**
* <p>The switch reason reflects the reason why a
* switch occurred.<br>
* SR_NA is used upon retrieval of switch data for non-revertive groups, if a
* more precise value is not available.<br>
* SR_RESTORED is used for revertive groups to indicate a return to the normal
* state.<br>
* SR_SIGNAL_MISMATCH is used in the case the signal is ok, but is identified
* as coming from an incorrect source: TRAIL_TRACE_IDENTIFIER_MISMATCH, Signal
* Label Mismatch, etc.<br>
* SR_AUTOMATIC_SWITCH is used when the exact switch reason is unknown,
* in retrievals of switch data if a protection switch is currently active
* or in protection switch notifications.<br>
* SR_MANUAL indicates a switch that was requested by the operator
* and includes forced switches.
* </p>
**/
enum SwitchReason_T
{
SR_NA,
SR_RESTORED,
SR_SIGNAL_FAIL,
SR_SIGNAL_MISMATCH,
SR_SIGNAL_DEGRADE,
SR_AUTOMATIC_SWITCH,
SR_MANUAL
};
/**
* <p>The equipment switch reason reflects the reason why a
* switch occurred. EswitchReason is a string that can take
* the following values.<br>
* "SR_NA" is used,
* if a more precise value is not available.<br>
* "SR_E_FAILURE" is used when an instance of equipment has failed.<br>
* "SR_MANUAL" indicates a switch that was requested by the operator
* and includes forced switches.
* </p>
**/
typedef string ESwitchReason_T;
/**
* <p> This type identifies the possible protection switch commands.
* See ITU-T Recommendation G.841 for definitions.</p>
**/
enum ProtectionCommand_T
{
PC_CLEAR,
PC_LOCKOUT,
PC_FORCED_SWITCH,
PC_MANUAL_SWITCH,
PC_EXERCISER
};
/**
* <p>The protection group type identifies the type of the
* protection Group.</p>
* <p>It should be noted that although the term MSP was chosen
* as the original specific protection scheme to which the related behaviour
* applied was Multiplex Section Protection, the label is now more generally
* applied to any 1+1 or 1:N Trail protection scheme.</p>
**/
enum ProtectionGroupType_T
{
PGT_MSP_1_PLUS_1,
PGT_MSP_1_FOR_N,
PGT_2_FIBER_BLSR,
PGT_4_FIBER_BLSR
};
/**
* <p> The equipment protection group type is a string that identifies the
* type of equipment protection. The string can take on the following value:
* "M_FOR_N."
* M:N equipment protection means that M pieces of equipment protect N
* pieces of equipment. </p>
**/
typedef string EProtectionGroupType_T;
/**
* <p>Reversion mode is used to indicate whether, after repair of a
* failed resource, an additional switch should be
* made to revert to the preferred resource.
* Revertive modes may require a wait to restore (WTR) time
* setting.</p>
**/
enum ReversionMode_T
{
RM_UNKNOWN,
RM_NON_REVERTIVE, // i.e. non revertive
RM_REVERTIVE // when the failed resource is repaired,
// it reverts to the preferred resource.
};
/**
* <p>The struct ProtectionGroup_T represents a protection group,
* which is used to model any 1+1 or 1:N Trail protection (for example
* MS layer protection in an MSSPRING).</p>
*
* <p>See <a href=supportingDocumentation/protectionSwitch.pdf>
* Protection Switch</a> for more information.</p>
*
* globaldefs::NamingAttributes_T <b>name</b>:
* <br>The name represents the name of the
* Protection Group which is assigned by the EMS upon creation.
* The EMS is responsible for guaranteeing the uniqueness of the name
* within the context of the ManagedElement.
* It is a readonly attribute.<br>
*
* string <b>userLabel</b>:
* <br>The userLabel is provisionable by the NMS and would typically
* represent the ring-id of a ring. This attribute can be set
* by NMS through the Common_I interface service
* common::Common_I::setUserLabel(). It is a read/write attribute.<br>
*
* string <b>nativeEMSName</b>:
* <br>The native name of the protection group is the AID of the
* protection group itself. In case of the 4-Fiber BLSR (MSSPRING) group, the
* managed element usually has only one group, whereas it is represented as
* three groups in this interface.
* Therefore the native name of the 4-Fiber group will be
* the AID of the 4-Fiber group. The native name of the component APS (MSP)
* groups is set to some useful name chosen by the EMS. Its
* aim is to provide a "nomenclature bridge" to aid relating information
* presented on NMS displays to EMS displays (via GUI cut through).
* This is never set to a null string. It should be noted that although the
* term MSP was chosen as the original specific protection scheme to which the
* related behaviour applied was Multiplex Section Protection, the label is
* now more generally applied to any 1+1 or 1:N Trail protection scheme.<br>
*
* string <b>owner</b>:
* <br>The owner is provisionable by the NMS. This attribute can be set
* by NMS through the Common_I interface service
* common::Common_I::setOwner(). It is a read/write attribute.<br>
*
* ProtectionGroupType_T <b>protectionGroupType</b>:
* <br>Defines the type of scheme this group represents (e.g. 2f,4f blsr
* etc). It is a readonly attribute.<br>
*
* ProtectionSchemeState_T <b>protectionSchemeState</b>:
* <br>Identifies the current protection scheme state.
* It is a readonly attribute.<br>
*
* ReversionMode_T <b>reversionMode</b>:
* <br>Defines whether the protection scheme is revertive or not.
* It is a readonly attribute.<br>
*
* transmissionParameters::LayerRate_T <b>rate</b>:
* <br>Line rate of the PTPs/FTPs of the protection group.
* It is a readonly attribute.<br>
*
* globaldefs::NamingAttributesList_T <b>pgpTPList</b>:
* <br>This is the list of TPs that belong in the protection group.
* The list of TPs is partially ordered. The protecting TP always
* trails its worker TPs. The East TPs are always contiguous in the list, as
* well as West TPs.
* <br>
*
* globaldefs::NVSList_T <b>pgpParameters</b>:
* <br>The pgpParameters contains a name value list for the known parameters
* of the protection group. Non-applicable parameters and parameters for
* which the value is unknown to the EMS may be left out.
* See <a href=supportingDocumentation/PGPParameters.pdf>PGP Parameters</a>
* for details. It is a readonly attribute.<br>
*
* globaldefs::NVSList_T <b>additionalInfo</b>:
* <br>This attribute allows the communication from the EMS to the NMS of
* additional information which is not explicitly modelled. Additional info
* is used to convey the pointer to the alarm severity assignment profile.
* See <a href=supportingDocumentation/additionalInfoUsage.pdf>
* Additional Info Usage</a> for further information on usage. This
* may be an empty list.<br>
**/
struct ProtectionGroup_T
{
globaldefs::NamingAttributes_T name;
string userLabel;
string nativeEMSName;
string owner;
ProtectionGroupType_T protectionGroupType;
ProtectionSchemeState_T protectionSchemeState;
ReversionMode_T reversionMode;
transmissionParameters::LayerRate_T rate;
globaldefs::NamingAttributesList_T pgpTPList;
globaldefs::NVSList_T pgpParameters;
globaldefs::NVSList_T additionalInfo;
};
/**
* <p>Sequence of ProtectionGroup_T.</p>
**/
typedef sequence <ProtectionGroup_T> ProtectionGroupList_T;
/**
* <p>The struct EProtectionGroup_T represents an equipment protection group,
* which is used to model equipment protection.</p>
*
* globaldefs::NamingAttributes_T <b>name</b>:
* <br>The name represents the name of the Equipment
* Protection Group which is assigned by the EMS upon creation.
* The EMS is responsible for guaranteeing the uniqueness of the name
* within the context of the ManagedElement.
* It is a readonly attribute.<br>
*
* string <b>userLabel</b>:
* <br>The userLabel is provisionable by the NMS. This attribute can be set
* by NMS through the Common_I interface service
* common::Common_I::setUserLabel(). It is a read/write attribute.<br>
*
* string <b>nativeEMSName</b>:
* <br>The native name of the equipment protection group <br>.
*
* string <b>owner</b>:
* <br>The owner is provisionable by the NMS. This attribute can be set
* by NMS through the Common_I interface service
* common::Common_I::setOwner(). It is a read/write attribute.<br>
*
* EProtectionGroupType_T <b>eProtectionGroupType</b>:
* <br>Defines the type of scheme this group represents (so far, only M:N
* equipment protection has been identified). It is a readonly attribute.<br>
*
* ProtectionSchemeState_T <b>protectionSchemeState</b>:
* <br>Identifies the current protection scheme state.
* It is a readonly attribute.<br>
*
* ReversionMode_T <b>reversionMode</b>:
* <br>Defines whether the protection scheme is revertive or not.
* It is a readonly attribute.<br>
*
* globaldefs::NamingAttributesList_T <b>protectedList</b>:
* <br>This is provides a list of the protected equipment instances.
* For M:N equipment protection, this list would have N elements.<br>
*
* globaldefs::NamingAttributesList_T <b>protectingList</b>:
* <br>This is provides a list of the protecting equipment instances.
* For M:N equipment protection, this list would have M elements. <br>
*
* globaldefs::NVSList_T <b>ePgpParameters</b>:
* <br>The epgpParameters contains a name value list of the associated
* parameters for the equipment protection group.
* No epgpParameters have been identified.
* It is a readonly attribute.<br>
*
* globaldefs::NVSList_T <b>additionalInfo</b>:
* <br>This attribute allows the communication from the EMS to the NMS of
* additional information which is not explicitly modelled. Additional info
* is used to convey the pointer to the alarm severity assignment profile.
* See <a href=supportingDocumentation/additionalInfoUsage.pdf>
* Additional Info Usage</a> for further information on usage. This
* may be an empty list.<br>
**/
struct EProtectionGroup_T
{
globaldefs::NamingAttributes_T name;
string userLabel;
string nativeEMSName;
string owner;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -