4.1 Understanding Key Concepts
This section describes the following key concepts referenced in this chapter:
4.1.1 Ethernet Virtual Circuit
An Ethernet Virtual Circuit (EVC) represents a Carrier Ethernet service and is an entity that provides an end-to-end connection between two or more customer endpoints. The instance of a specific EVC service on the physical interface of each network device through which the EVC passes is called an Ethernet Flow Point (EFP).
The key attributes of the flow point (FP) are:
- FP ID—Generated when the FP is created.
- EVC ID—Associated EVC that the EFP a is part of.
- Encapsulation string—Defines the classification criteria for an incoming packet.
- Forwarding operation—Defines the operation to be applied on frames that belong to the EFP.
- Ingress rewrite operation—Defines the rewrites to be performed on the frames that belong to the EFP before proceeding with the forwarding operation.
- Egress rewrite operation—Defines the rewrites to be performed on the frames being transmitted out of the EFP. For multipoint services, only symmetrical egress operations are supported on the PTF_10GE_4, PT_10GE_4, and PTSA_GE cards. For point-to-point services, the same result is achieved using various combinations of ingress rewrite operations on User Network Interface (UNI) and Network Node Interface (NNI) ports.
When a packet arrives on an FP, it is processed only if the packet’s VLAN tag matches the VLAN tag mentioned in the encapsulation string of this FP. The ingress rewrite operation is applied on the matching Ethernet frames and is forwarded to other FPs participating in this EVC based on forwarding operations.
All the FPs within a node, for a particular EVC, are tied together using a bridge domain construct. A bridge domain is an Ethernet broadcast domain internal to a device. The bridge domain enables you to decouple a VLAN from a broadcast domain. The bridge domain number is local to the node and need not be unique across the network for the entire EVC. Different EVC nodes can have the same or a different bridge domain number. However, the bridge domain number is unique for an EVC within a node.
The APIs related to the following entities are described in this chapter:
- Connectionless PTPs (CPTPs)
- Matrix Flow Domains (MFDs)
- Flow Domains (FDs)
- Flow Domain Fragments (FDFrs)
Figure 4-1 displays the relationships among the above-mentioned entities.
Figure 4-1 Relationships Among Entities
All administrative information related to CPTPs, MFDs, and FDs is stored in the Prime Optical server internal database and is available only through this Prime Optical server. The administrative information is not visible in other Prime Optical servers. If any service (Carrier Ethernet EVC or pseudowire) is created outside this scope, the service collides with the administrative organization.
For example, a CTC operator can create a pseudowire (PW) or an EVC that has EFPs. The EFPs are not based on CPTPs associated to the same FD. In this case, services are discovered and associated to the given FD, but a corresponding notification is generated to inform the Prime Optical operator.
For descriptions of EVC provisioning and inventory interfaces, see the following sections:
4.1.2 Connectionless Port Termination Point
A Connectionless Port Termination Point (CPTP) is a potential port capability for connectionless technologies. A CPTP is not a new object, but it is a logical entity of a piece of equipment and supports a connectionless client layer. A CPTP is a grouping of potential FPs on the server layer. The FPs are the clients of a CPTP connected using MFD.
A CPTP is created as a Physical Termination Point (PTP) if the port is an external port and if it does not support encapsulation and link aggregation. CPTP is created as a Floating Termination Point (FTP) if the port is an internal encapsulation port and if it supports encapsulation and link aggregation. A CPTP on an MFD can be either a PTP or an FTP.
ConnectionlessPort is a boolean layered parameter that identifies termination points (TPs) as CPTPs at connectionless layers; for example, Ethernet. For an Ethernet client layer, a CPTP corresponds to an IEEE bridge port, which can either be a UNI or an NNI.
The role played by CPTP for its connectionless client layer is stored in the “PortTPRoleState” layered parameter, which is associated to the PTP/FTP object. The “PortTPRoleState” parameter can assume the following values:
- unassigned CPTP—The initial role of a CPTP is unassigned. If CPTPs are automatically created, they are created as unassigned CPTPs when the equipment that supports the port is plugged into the NE. In this role, the CPTP cannot carry any traffic.
- assigned CPTP—An unassigned CPTP becomes an assigned CPTP when it is associated to an MFD through a management operation. In this role, the CPTP cannot carry any traffic because the MFD is not associated to an FD.
- fdInternal CPTP—An assigned CPTP becomes an fdInternal CPTP when the MFD is associated to an FD. An unassigned CPTP becomes an fdInternal CPTP when it is assigned to an MFD that is already associated to an FD. In this role, the potential client FPs of the CPTP can be used as internal points of the route of a Flow Domain Fragment (FDFr) and can carry traffic.
- fdEdge CPTP—An fdEdge CPTP is the same as an fdInternal CPTP. In this role, the CPTP acts as an edge in the FD.
For descriptions of CPTP provisioning and inventory interfaces, see the following sections:
Figure 4-2 displays the different CPTP states.
Figure 4-2 CPTP States
4.1.3 Matrix Flow Domain
A Matrix Flow Domain (MFD) is a logical entity that is contained within an ME. The ME can contain many MFDs. An MFD consists of a grouping of assigned CPTPs (MFD ports). An MFD is related to only one FD. An MFD is an FD at the lowest level of decomposition that represents the actual minimum decomposition of the hardware.
For descriptions of MFD provisioning and inventory interfaces, see the following sections:
4.1.4 Flow Domain
The Flow Domain (FD) associates more MFDs (one for each NE) and the server layer TPs of FPs assigned to it. An FD indicates the potential for flow of traffic between a set of points and contains an administrative partitioning of the connectionless network domain.
Connection-oriented subnetworks constitute the widespread transport layer (DWDM, SONET/SDH). Connection-oriented subnetworks are shared by many network applications, but connectionless subnetworks, such as Metro Ethernet, are deployed as smaller islands dedicated to a single network application; for example, a corporate customer site.
FD provisioning capability allows a Network Management System (NMS) to instantiate and to change an FD so it can meet the infrastructure requirement (CPTPs, MFDs) needed to fulfill requests (FDFr setup, tear-down, and modification) received from a service order system. An ME can participate in more than one FD at the same layer rate, but in only one subnetwork.
For descriptions of Flow Domain provisioning and inventory interfaces, see the following sections:
4.1.5 EVC Flow Domain Fragment
An EVC Flow Domain Fragment (FDFr) is a logical entity that contains a transparent end-to-end connectivity between two or more FPs (at the same connectionless layer) within an FD. The FDFr represents a Virtual Private Network (VPN) for a single customer in the provider network and enables the flow of traffic between FPs.
The server-layer CPTPs of the FPs that are connected through an FDFr must be assigned to MFDs that are associated to the FD that contains the FDFr. If traffic arrives at a point that is a member of an FDFr, it emerges at one or more of the other edge FPs that are members of the same FDFr.
The edge FPs that act as endpoints of the FDFr can be associated with CPTPs connected to customer domains or to other provider domains (of the same or different providers). The VLAN IDs of the FPs of the same FDFr must be equal and in particular must be the VLAN ID of the outermost frame. An FDFr may also support untagged frames or may be unaware of frame tags.
An FDFr is used to model the EVC and has the following attributes:
- Directionality—Either bidirectional or unidirectional. For Ethernet, directionality is always bidirectional.
- Layered transmission parameters—Technology-specific parameters associated with the layer that the FDFr is connecting; for example, Ethernet.
- aEnd TPs—A list of FPs that delimit the FDFr and characterize the edges (entry or exit points). aEnd TPs are clients of the fdEdge CPTPs. For a bidirectional FDFr, this attribute may be combined with zEnd TPs to obtain all the FPs that are associated to the FDFr. For a bidirectional Point-to-Point (PPP) FDFr, it is recommended that you specify one TP in aEnd and the other TP in zEnd. For a multipoint FDFr or a PPP FDFr that may be expanded to multipoint, it is recommended that you specify all the TPs in aEnd.
- zEnd TPs—Represents a list of FPs that delimit the FDFr and characterize the edges (entry or exit points). zEnd TPs are clients of the fdEdge CPTPs. For a bidirectional FDFr, this attribute may be combined with aEnd TPs to obtain all the FPs that are associated to the FDFr.
- Flexible—Indicates whether the FDFr is fixed or flexible. If the FDFr is fixed, the NMS cannot modify or delete it and you cannot add or remove FPs.
- Administrative State—Indicates whether the FDFr is locked or unlocked. If the FDFr is locked, traffic units cannot flow through the FDFr. If the FDFr is unlocked, traffic units are allowed to flow through the FDFr.
- FDFr state—Indicates one of the following values:
–
Active—All MFDFrs and all edge FPs and internal FPs for the FDFr are active in the network.
–
Partial—All parts (MFDFrs or FPs) of the FDFr either were not created during the creation operation or were not deleted during the deletion operation.
- FDFr type—Represents the type of the FDFr:
–
Point-to-point
–
Point-to-multipoint (E-Tree)
–
Multipoint
An FP is a point in a connectionless layer, which represents an association between a CPTP and an FDFr. An FP is modeled as a connection termination point (CTP) and it is either an FDFr endpoint where traffic enters or exits an FDFr or an FDFr internal point used to define the route of an FDFr.
FPs are created as CTP objects when the associated FDFr is created and are deleted when the associated FDFr is deleted. FPs do not exist without an associated FDFr. As a result, only in-use FPs are represented as CTP objects at the interface, and therefore only in-use FPs can be inventoried.
For Ethernet, FPs are always bidirectional. Operations on frames, which either enter or exit an FDFr are defined on the CTP object. The connectionless layered parameters are specified in the layered transmission parameters attribute inherited from the TP object. This attribute represents the technology-specific parameters associated with the different connectionless layers that are supported by the FP. If the NMS does not provide a name for the FP, the Element Management System (EMS) uses the FDFr VLAN ID.
For descriptions of EVC FDFr provisioning and inventory interfaces, see the following sections:
4.1.6 Link Aggregation
Link Aggregation (LAG) is supported using the Link Aggregation Control Protocol (LACP). LACP guarantees the compatibility of both sides of the aggregated link. LACP, which is specified in IEEE 802.3ad, has many attributes and configuration parameters that are handled at the EMS level. LAG support in Multi-Technology Network Management (MTNM) version 3.5 does not deal with these attributes and configuration parameters at the NMS level.
A LAG is represented by an FTP, and the new layer rate defined for it is LR_LAG_Fragment(305). The LAG FTP is the Edge CPTP. A LAG FTP may either be created by the EMS and discovered by the NMS or it can be created by the NMS using the createFTP() operation.
A LAN port, which usually can be an edge CPTP, cannot be an edge CPTP if it is a member of a LAG. Whether created by an EMS or NMS, LAG FTPs act like other fragment TPs. You can configure the maximum number of allowed members using the AllocationMaximum attribute. You can configure a specific number of members using the AllocatedNumber attribute.
If LAGs are created by the EMS, the EMS creates all the potential LAG FTPs that it can handle, each with FragmentServerLayer set to a layer rate at which LAG can be supported and with AllocationMaximum set to the maximum number of members that can be supported for that layer rate.
As with Cisco equipment, an Ethernet LAG port can aggregate client Ethernet ports of different ME cards (for example, PTSA_GE). The corresponding FTP is logically positioned on the unique shelf of the ME itself. As a result, the FTP name does not contain any reference to slots:
name="EMS";value="CompanyName/EMSname"
name="ManagedElement";value="ManagedElementName"
name="FTP";value="/rack=1/shelf=1/port=nn"
For descriptions of LAG provisioning and inventory interfaces, see the following sections:
4.1.7 MPLS and MPLS-TP
Multiprotocol Label Switching (MPLS) allows the forwarding of packets based on labels. In a normal IP network, the packets are switched based on the destination IP address. In an MPLS network, the packets are switched based on labels.
In an MPLS network, the labels can be distributed using three different protocols:
- Label Distribution Protocol (LDP)
- Resource Reservation Protocol-Traffic Engineering (RSVP-TE)
- Border Gateway Protocol (BGP)
BGP is a routing protocol used in big IP networks where the labeling layer is mostly used to implement Layer 3 VPNs. After the labels are distributed within a network, the packets are labeled and forwarded based on labels. The advantages of labeled networks are:
- Protocol agnostic—Can transport any kind of protocol; for example, IP, ATM, Any Transport over MPLS (AToM).
- High scalability.
- Traffic Engineering—Load balancing and automatic adaption to link changes.
Multiprotocol Label Switching-Transport Profile (MPLS-TP) is a carrier-grade packet transport technology that enables the move from SONET and SDH time-division multiplexing (TDM) to packet switching. MPLS-TP enables MPLS to be deployed in a transport network and to operate similarly to existing transport technologies. MPLS-TP enables MPLS to support packet transport services with a degree of predictability that is similar to that of the existing transport networks.
The goal of MPLS-TP is to provide connection-oriented transport for packet and TDM services over optical networks leveraging the widely deployed MPLS technology. Operations, administration, and maintenance (OAM) and resiliency features are defined and implemented in MPLS-TP to ensure:
- Scalable operations
- High availability
- Performance monitoring
- Multidomain support
- Carrier-grade packet transport networks
MPLS-TP can be carried over the existing transport network infrastructure. MPLS-TP defines an MPLS profile targeted at transport applications and networks. This profile specifies the MPLS characteristics and extensions required to meet the transport requirements.
PTF_10GE_4, TP_10GE_4, and PTSA_GE equipment is mainly dedicated to forwarding Ethernet frames from customer networks, thus focusing only on AToM. The method used to transport such a frame is called pseudowire. Pseudowire is the emulation of a native service over the MPLS network. For managing PTF_10GE_4, TP_10GE_4, and PTSA_GE equipment, pseudowire and emulated (EVC-based) service are in a one-to-one relationship. Pseudowire does not provide bundling of additional EVCs. As shown in Figure 4-3, pseudowires and emulated services are represented by only one service or FDFr.
Figure 4-3 MPLS-TP Network
For descriptions of MPLS-TP provisioning and inventory interfaces, see the following sections:
4.1.8 MPLS-TP Tunnel
The MPLS-TP entity is characterized as follows:
- Has two endpoints.
- Has one or two bidirectional Label Switched Path (LSP) pairs between the endpoints. If there are two pairs, then one is the working path and the second is the protected path.
- The bidirectional LSPs in a pair are congruent. Bidirectional LSPs follow the same path in both directions.
- The tunnel can be configured with bandwidth. However, unlike MPLS-TE, there is no bandwidth reservation or preemption on the NE. Use the show command to view the configured bandwidth. Any bandwidth reservation must be handled within the NMS.
- Bidirectional Forwarding Detection (BFD) can be configured to monitor any of the bidirectional LSP pairs.
- MPLS-TP tunnel is used to carry pseudowires. Pseudowires or PW segments are explicitly configured to use a particular MPLS-TP tunnel using a given PW-CLASS configuration.
Figure 4-4 shows a typical MPLS-TP Tunnel.
Figure 4-4 MPLS-TP Tunnel
For descriptions of MPLS-TP Tunnel provisioning and inventory interfaces, see the following sections:
4.1.9 MPLS-TP LSP
The LSP circuit provides the TP tunnel circuit with the path used for routing traffic. It also provides the distribution of labels along the defined route. Both TP tunnels and LSP subnetwork connections (SNCs) have the following attributes in common:
- Layer rate—LR_MPLS (165)
- Name
- Service ID
The information that discriminates the LSP from the TP tunnel is the Unique ID number, which serves also to distinguish one LSP from another in the case of a protected TP tunnel. Before you create the second LSP in a protected TP tunnel, you must wait until the TP tunnel and the first LSP are discovered. This is necessary in order to exclude the links used by the first LSP.
For descriptions of MPLS-TP LSP provisioning and inventory interfaces, see the following sections:
4.1.10 Pseudowire
A pseudowire (PW) is an emulation of a Layer 2 point-to-point, connection-oriented service over a packet-switching network (PSN). Pseudowire is the technique used to transport these types of frames. It is the emulation of a native service over the MPLS network.
LDP, MPLS-TE, and MPLS-TP are the basement for the pseudowire technology used to transport any kind of payload over a structured network (AToM). Currently, MPLS-TP has only one client network layer, which is pseudowire. The only way to route traffic into an MPLS-TP tunnel is to configure it as the preferred path of a pseudowire.
The kinds of pseudowire are:
- Interface based
- EVC based
- Mixed configuration
Each pseudowire can carry only one EVC service and is represented and exported directly by one FDFr. From the Network Circuit Provisioning (NCP) level, the pseudowire is represented by only one service.
For descriptions of pseudowire provisioning and inventory interfaces, see the following sections:
4.1.11 Pseudowire Flow Domain Fragment
An EVC-based pseudowire with an attachment circuit (AC) type of VLAN-based or port-based is modeled as an FDFr. In this model, an EVC containing the pseudowire and an FDFr on top the EVC containing the EVC do not exist; only an FDFr exists.
Ethernet FPs are represented by CTPs and the naming rule depends on the properties of the MFD that connects it.
The following table lists the MFD types and the corresponding value.
|
|
|
VLAN unaware |
/eth=1 |
Only one FP is present. |
VLAN aware with single VLAN tag |
/ethvid=n |
Can be used either for Customer VLAN ID (C-VID) or Service VLAN ID (S-VID) in MFDs that only process a single VLAN tag. |
VLAN aware with one or two VLAN tags |
[/ethsvid=n][/ethcvid=m] |
Either S-VID or C-VID or both maybe present. The square brackets (“[ ]”) indicate options. |
Proprietary |
/eth=P<string> |
— |
For descriptions of PW FDFr provisioning and inventory interfaces, see the following sections:
4.5 EVC Provisioning Interfaces
This section describes the following EVC provisioning interfaces:
4.5.1 CPTP Provisioning Interfaces
This section describes the following interfaces:
4.5.1.1 provisionEquipment
Synopsis
public void provisionEquipment(EQTCreateData_T equipmentCreateData,
Equipment_THolder createdEquipment)
throws ProcessingFailureException
(on EquipmentInventoryMgrImpl)
Description
This interface allows you to provision CPTPs. You can provision PTPs by specifying the ConnectionlessPort additional parameter. If a PTP has been recently characterized as connectionless, you cannot set the PortTpRoleState parameter with this interface because the CPTP state machine does not allow it.
4.5.1.2 unprovisionEquipment
Synopsis
public void unprovisionEquipment(NameAndStringValue_T[] equipmentName)
throws ProcessingFailureException
Description
This interface allows you to unprovision a PTP. If the admin state is inactive and all other conditions are met, unprovisioning is successful and the corresponding CPTP entity is deleted.
4.5.1.3 setAdditionalInfo
Synopsis
public void setAdditionalInfo(NameAndStringValue_T[] objectName,
NVSList_THolder additionalInfo)
throws ProcessingFailureException
Description
This interface allows you to specify the following additional parameters:
- ConnectionlessPort
- PortTpRoleState
The PortTpRoleState parameter can be modified only if the CPTP state machine allows it.
The following table describes the parameters.
|
|
|
|
|
|
ConnectionlessPort |
|
All layers |
|
Yes |
Identifies the TP as a port at a connectionless matrix, capable of supporting a connectionless client layer; for example, an external port or internal encapsulation port. The clients of a ConnectionlessPort (FPs) are connected through the matrix. |
PortTPRoleState |
|
All connectionless layers |
- unassigned
- assigned
- fdInternal
- fdEdge
|
Yes |
Identifies the kind of role that a CPTP is playing for its connectionless client layer:
- unassigned—The initial role of a CPTP is unassigned. In this role, the CPTP cannot carry any traffic.
- assigned—An unassigned CPTP becomes an assigned CPTP when it is associated to an MFD through a management operation. In this role, the CPTP cannot carry any traffic because the MFD is not associated to an FD.
- fdInternal—An assigned CPTP becomes an fdInternal CPTP when the MFD is associated to an FD. An unassigned CPTP becomes an fdInternal CPTP when it is assigned to an MFD that is already associated to an FD. In this role, the potential client FPs of the CPTP can be used as internal points of the route of an FDFr and can carry traffic.
- fdEdge—An assigned CPTP becomes an fdEdge CPTP through a management operation. In this role, the potential client FPs of the port can be used as entry or exit points of an FDFr and can carry traffic.
Note The MFD must already be associated to the FD. |
4.5.1.4 ConfigConnLessInfos
Synopsis
void ConfigConnLessInfos(NmsSession_I session)
throws ProcessingFailureException
Description
This interface allows you to automatically populate all FDs, MFDs, and CPTPs based on the current EMS inventory.
The EMS does the following:
1.
Creates an FD for each network partition.
2.
Within each FD, creates an MFD for each ME already assigned to the FD.
3.
Within each MFD, creates a CPTP for each Ethernet port and for each port channel (link aggregation). Each CPTP is automatically assigned to the corresponding MFD and assumes the fdEdge CPTP role state. Port channel FTPs are also populated.
During discovery or provisioning, this interface allows you to manage the FDFr that represents pseudowires and EVCs. If this method is called, only the new MEs that were previously unavailable in the EMS are analyzed and contribute to the connectionless EMS information. In an administrative organization, all the APIs that allow you to create, delete, modify, assign, and unassign CPTPs, MFDs, and FDs are available.
4.5.1.5 DeleteAllConnLessInfos
Synopsis
void DeleteAllConnLessInfos(NmsSession_I session)
throws ProcessingFailureException
Description
This interface allows you to delete all the FDs, MFDs, and CPTPs currently stored in the EMS. You may use this interface at any time to reorganize the network from scratch.
4.5.2 MFD Provisioning Interfaces
This section describes the following interfaces:
4.5.2.1 createMFD
Synopsis
public void createMFD(MFDCreateData_T createData,
TPDataList_THolder tpsToModify,
MatrixFlowDomain_THolder theMFD,
StringHolder errorReason)
throws ProcessingFailureException
Description
This interface enables the NMS to request the EMS to create an MFD with the parameters specified in the method. The NMS must specify the CPTPs to be associated with the MFD that will be created.
Parameters
- MFDCreateData_T createData—Describes the structure of the MFD to be created.
- TPDataList_T tpsToModify:
–
in—The list of TPs with associated parameters to be applied.
–
out—The list of TPs with associated applied parameters.
- MatrixFlowDomain_T theMFD—The newly created MFD. The EMS is responsible for guaranteeing MFD name uniqueness. The NMS can specify the name using createData.
- string errorReason—Specifies the creation errors, if any.
Throws
Raises globaldefs::ProcessingFailureException
EXCPT_INTERNAL_ERROR - Raised in case of nonspecific EMS internal failure.
EXCPT_INVALID_INPUT - Raised when any input parameter is syntactically incorrect. For example, the createData field is invalid.
EXCPT_UNABLE_TO_COMPLY - Raised when the EMS is unable to execute the request because at least one of the parameters, although valid, cannot be set or if an unassigned CPTP could not be assigned.
EXCPT_USERLABEL_IN_USE - Raised when the userLabel uniqueness constraint is not met.
EXCPT_OBJECT_IN_USE - Raised if a specified CPTP is already associated to an existing MFD or if the MFD name specified by the NMS is already assigned to an existing object.
EXCPT_NE_COMM_LOSS - Raised when communication is lost to the ME that contains the MFD.
EXCPT_ENTITY_NOT_FOUND - Raised when one of the provided TPs does not exist.
Relevant Data Structures
NameAndStringValue_T[] name
String networkAccessDomain
NameAndStringValue_T[][] unassignedCPTPs
LayeredParameters_T[] transmissionParams
NameAndStringValue_T[] additionalCreationInfo
The name of each MFD must be in the following format:
name="EMS";value="CompanyName/EMSname"
name="ManagedElement";value="ManagedElementName"
name="MatrixFlowDomain"; value= "MatrixFlowDomainName"
In Prime Optical, each ME name is unique irrespective of which network partition or network access domain it belongs to. In this data structure, networkAccessDomain separates an ME from another that has the same name but belongs to a different network access domain.
Use Case Description
The following describes how the system requests to create an MFD:
1.
The NMS sends the request to the EMS to create an MFD with the provided parameters.
2.
The EMS validates the request:
a.
If the syntax is incorrect, an Invalid Input exception is raised.
b.
If user label uniqueness is required, the EMS checks the user label for uniqueness. If an MFD object with the same user label exists, a User Label In Use exception is raised.
c.
If one of the specified TPs is unknown to the EMS, an Entity Not Found exception is raised.
d.
If at least one of the MFD parameters could not be set, an Unable To Comply exception is raised.
e.
If any of the specified TPs is already in use by another MFD, an Object In Use exception is raised.
3.
If the request is valid, the EMS:
a.
Creates the MFD.
b.
Assigns the requested CPTPs to the MFD.
c.
Replies with a success indication.
d.
Sends object creation notifications to the notification service.
Limitations
The tpsToModify parameter is not supported.
4.5.2.2 assignCPTPsToMFD
Synopsis
public void assignCPTPsToMFD(NameAndStringValue_T[] mfdName,
NameAndStringValue_T[][] tpNames,
TPDataList_THolder tpsToModify,
StringHolder errorReason)
throws ProcessingFailureException
Description
This interface enables the NMS to request the EMS to assign one or more CPTPs to an MFD.
Parameters
- globaldefs::NamingAttributes_T mfdName—The MFD name to be modified.
- globaldefs::NamingAttributesList_T tpNames—The CPTP names to be assigned to the MFD. If the list is empty or if all the CPTPs are already assigned to the MFD, no operation is performed on the EMS and the method returns "success."
- TPDataList_T tpsToModify:
–
in—The list of TPs with associated parameters to be applied.
–
out—The list of TPs with associated applied parameters.
- string errorReason—Specifies the reason for the fault, if any.
Throws
Raises globaldefs::ProcessingFailureException
EXCPT_INTERNAL_ERROR - Raised in case of nonspecific EMS internal failure.
EXCPT_INVALID_INPUT - Raised when any input parameter is syntactically incorrect. For example, the mfdName parameter does not refer to an MFD object.
EXCPT_OBJECT_IN_USE - Raised when a CPTP is already assigned to another MFD.
EXCPT_ENTITY_NOT_FOUND - Raised when mfdName or one of the tpNames references an object that does not exist.
EXCPT_UNABLE_TO_COMPLY - Raised when a CPTP could not be assigned.
EXCPT_NE_COMM_LOSS - Raised when communication is lost to the ME containing the MFD.
Use Case Description
The following describes how the system requests to assign CPTPs to an MFD:
1.
The NMS sends a request to the EMS to assign a list of CPTPs to an existing MFD.
2.
The EMS validates the request:
a.
If the syntax is incorrect, an Invalid Input exception is raised.
b.
If the specified MFD is unknown to the EMS, an Entity Not Found exception is raised.
c.
If the specified MFD is fixed, an Unable To Comply exception is raised.
d.
If one or more of the specified CPTPs is unknown to the EMS, an Entity Not Found exception is raised.
e.
If one or more of the specified CPTPs is not a potential CPTP for this MFD (is not in the unassigned CPTP PortTPRoleState or is not in the same equipment or on the same rack with backplane connectivity), an Unable To Comply exception is raised.
3.
If the request is valid, the EMS:
a.
Assigns the specified CPTPs to the MFD. The CPTP PortTPRoleState attribute is set to assigned.
b.
Replies with a success indication.
c.
Sends an attribute value change notification to the notification service (using a notification of the MFD assignedCPTPs attribute). The notification includes the complete list of CPTP names that are assigned to the MFD.
Limitations
- The tpsToModify parameter is not supported.
- Notification changes are not sent.
4.5.2.3 unassignCPTPsFromMFD
Synopsis
void unassignCPTPsFromMFD(
NameAndStringValue_T[] mfdName,
NameAndStringValue_T[][] tpNames,
TPDataList_THolder tpsToModify,
StringHolder errorReason)
throws ProcessingFailureException
Description
This interface enables the NMS to request the EMS to unassign one or more CPTPs from an MFD.
Parameters
- globaldefs::NamingAttributes_T mfdName—The MFD name to be modified.
- globaldefs::NamingAttributesList_T tpNames—The CPTP names to be unassigned from the MFD. If no CPTP has been specified, the method returns "success."
- TPDataList_T tpsToModify:
–
in—The list of TPs with associated parameters to be applied.
–
out—The list of TPs with associated applied parameters.
- string errorReason—Specifies the reason for the fault, if any.
Throws
Raises globaldefs::ProcessingFailureException
EXCPT_INTERNAL_ERROR - Raised in case of nonspecific EMS internal failure.
EXCPT_INVALID_INPUT - Raised when any input parameter is syntactically incorrect. For example, the mfdName parameter does not refer to an MFD object.
EXCPT_OBJECT_IN_USE - Raised when a CPTP to be unassigned is carrying traffic or is connected to a call.
EXCPT_ENTITY_NOT_FOUND - Raised when the mfdName or tpNames parameter references an object that does not exist.
EXCPT_UNABLE_TO_COMPLY - Raised when a CPTP could not be unassigned. For example, the CPTP is not assigned to the MFD.
EXCPT_NOT_IN_VALID_STATE - Raised when at least one of the specified CPTPs is in the unassigned PortTPRoleState.
EXCPT_NE_COMM_LOSS - Raised when communication is lost to the ME that contains the MFD.
Use Case Description
The following describes how the system requests to unassign CPTPs from an MFD:
1.
The NMS sends a request to the EMS to unassign a list of CPTPs from an existing MFD.
2.
The EMS validates the request:
a.
If the syntax is incorrect, an Invalid Input exception is raised.
b.
If the specified MFD is unknown to the EMS, an Entity Not Found exception is raised.
c.
If the specified MFD is fixed, an Unable To Comply exception is raised.
d.
If one or more of the specified CPTPs is unknown to the EMS, an Entity Not Found exception is raised.
e.
If one or more of the specified CPTPs is in the unassigned PortTPRoleState, a Not In Valid State exception is raised.
f.
If one or more of the specified CPTPs is used by an FDFr, an Object In Use exception is raised.
g.
If one or more of the specified CPTPs is not assigned to the specified MFD, an Unable To Comply exception is raised.
3.
If the request is valid, the EMS:
a.
Unassigns the specified CPTPs from the MFD. The PortTPRoleState attribute of the CPTPs is set to unassigned. If any of the CPTPs could not be unassigned, no CPTP is unassigned and an Unable To Comply exception is raised.
b.
Replies with a success indication.
c.
Sends the appropriate notifications to the notification service.
Limitations
- The tpsToModify parameter is not supported.
- Notification changes are not sent.
4.5.2.4 deleteMFD
Synopsis
public void deleteMFD(NameAndStringValue_T[] mfdName,
TPDataList_THolder tpsToModify,
StringHolder errorReason)
throws ProcessingFailureException
Description
This interface enables the NMS to request the deletion of an MFD from the EMS.
Parameters
- NamingAttributes_T mfdName—The MFD name to be deleted.
- TPDataList_T tpsToModify:
–
in—The list of TPs with associated parameters to be applied.
–
out—The list of TPs with associated applied parameters.
- string errorReason—If a best-effort parameter could not be set, the EMS provides the fault reason.
Throws
Raises ProcessingFailureException
EXCPT_INTERNAL_ERROR - Raised in case of nonspecific EMS internal failure.
EXCPT_INVALID_INPUT - Raised when any input parameter is syntactically incorrect. For example, the mfdName parameter does not refer to an MFD object.
EXCPT_OBJECT_IN_USE - Raised when the MFD is associated with an FD.
EXCPT_ENTITY_NOT_FOUND - Raised when the mfdName attribute references an object that does not exist.
EXCPT_ACCESS_DENIED - Raised if the MFD is fixed.
EXCPT_NE_COMM_LOSS - Raised when communication is lost to the ME that contains the MFD.
Use Case Description
The following describes how the system requests to delete an MFD:
1.
The NMS sends the request to the EMS to delete an MFD.
2.
The EMS validates the request:
a.
If the syntax is incorrect, an Invalid Input exception is raised.
b.
If the specified MFD object is unknown to the EMS, an Entity Not Found exception is raised.
c.
The MFD to be deleted must not be associated with an FD. If the MFD is still associated, an Object In Use exception is raised.
d.
The MFD to be deleted must not be fixed. If the MFD is fixed, an Unable To Comply exception is raised.
3.
If the request is valid, the EMS:
a.
Deletes the MFD.
b.
Releases all assigned TPs from the MFD.
c.
Replies with a success indication.
d.
Sends an object deletion notification to the notification service.
Limitations
The tpsToModify parameter is not supported.
4.5.2.5 modifyMFD
Synopsis
public void modifyMFD(NameAndStringValue_T[] mfdName,
MFDModifyData_T mfdModifyData,
MatrixFlowDomain_THolder newMFD,
StringHolder failedAttributes,
StringHolder errorReason)
throws org.tmforum.mtnm.globaldefs.ProcessingFailureException
Description
This interface enables the NMS to request a modification of an MFD.
Parameters
- globaldefs::NamingAttributes_T mfdName—The MFD name to be modified.
- MFDModifyData_T mfdModifyData—Structure describing how the MFD will be modified. Best effort is not supported. If modifying one parameter fails, an exception is raised.
- string failedAttributes—The list of attributes that could not be modified.
- MatrixFlowDomain_T newMFD—The modified MFD.
- string errorReason—If a best-effort parameter could not be set, the EMS provides the fault reason.
Throws
Raises ProcessingFailureException
EXCPT_INTERNAL_ERROR - Raised in case of nonspecific EMS internal failure.
EXCPT_INVALID_INPUT - Raised when any input parameter is syntactically incorrect. For example, the mfdModifyData field is invalid.
EXCPT_ENTITY_NOT_FOUND - Raised when the mfdName attribute references an object that does not exist.
EXCPT_USERLABEL_IN_USE - Raised when the userLabel uniqueness constraint is not met.
EXCPT_NE_COMM_LOSS - Raised when communication is lost to an ME involved in this operation.
Relevant Data Structures
String networkAccessDomain
LayeredParameters_T[] transmissionParams
NameAndStringValue_T[] additionalModificationInfo
The read and write attributes required to modify an MFD on the EMS are bundled in the MFDModifyData structure, which the NMS passes to the EMS.
The following describes the MFDModifyData structure attributes:
- userLabel—Can be specified by the NMS or it can be empty.
- forceUniqueness—Specifies whether userLabel uniqueness is required for EMS MFDs. If the userLabel is unique and is already in use, the operation fails.
- owner—Can be specified by the NMS or it can be empty.
- networkAccessDomain—The network access domain to which the FD is assigned.
- transmissionParameters::LayeredParameterList_T transmissionParams—A list of modified connectionless parameters. As an input only, the list of parameters to be changed, removed, or added is provided. If an entry must be removed, a hyphen (-) is specified as the value. When the method is returned, this attribute contains the list of parameters that could not be applied.
- globaldefs::NVSList_T additionalModificationInfo—Additional modification information can be specified by the NMS. When the method is returned, this attribute contains the parameters that could not be applied.
Use Case Description
The following describes how the system requests to modify an MFD:
1.
The NMS sends a request to the EMS to modify an MFD.
2.
The EMS validates the request:
a.
If the syntax is incorrect, an Invalid Input exception is raised.
b.
If the specified MFD is unknown to the EMS, an Entity Not Found exception is raised.
c.
If user label uniqueness is required, the EMS checks the user label for uniqueness. If an MFD object with the same user label exists, a User Label In Use exception is raised.
d.
If the EMS cannot satisfy any attribute that must be modified, an Unable To Comply exception is raised.
e.
If the MFD already has the required information, the EMS replies with a success indication, but no notification is generated.
3.
If the request is valid:
a.
If the MFD has all the required information, the EMS does not send any notifications to the notification service.
b.
If the MFD does not have the required information, the EMS modifies the MFD attributes as requested.
c.
The EMS replies with a success indication.
d.
If the EMS makes a change, the appropriate notification is sent to the notification service.
Limitations
- The failedAttributes parameter is not supported.
- Notification changes are not sent.
4.5.3 Flow Domain Provisioning Interfaces
This section describes the following interfaces:
4.5.3.1 createFlowDomain
Synopsis
public void createFlowDomain(FDCreateData_T createData,
NamingAttributesList_THolder assignedCPTPs,
TPDataList_THolder tpsToModify,
FlowDomain_THolder theFD,
StringHolder errorReason)
throws ProcessingFailureException
Description
This interface enables the NMS to request the EMS to create an FD with the parameters specified in the method. The NMS can specify MFDs or fdEdge CPTPs to be associated with the created FD.
Parameters
- FDCreateData_T createData—Describes the FD structure to be created.
- globaldefs::NamingAttributesList_T assignedCPTPs—Identifies the list of assigned CPTPs to be associated to the FD as fdEdge CPTPs. This list can be empty. Associating CPTPs to the FD is done on a best-effort basis. When the method is returned, the list contains the names of the CPTPs that could not be associated with the FD.
- TPDataList_T tpsToModify:
–
in—The list of TPs with associated parameters to be applied.
–
out—The list of TPs with associated applied parameters.
- FlowDomain_T theFD—The newly created FD. The EMS is responsible for guaranteeing the uniqueness of the FD name. The NMS specifies the name in the createData parameter.
- string errorReason—The EMS provides the fault reason if a best-effort parameter could not be set or if a CPTP could not be associated with the FD.
Throws
Raises ProcessingFailureException
EXCPT_INTERNAL_ERROR - Raised in case of nonspecific EMS internal failure.
EXCPT_INVALID_INPUT - Raised when any input parameter is syntactically incorrect. For example, the createData field is invalid.
EXCPT_UNABLE_TO_COMPLY - Raised when the EMS is unable to execute the request because at least one of the parameters, although valid, cannot be set and that parameter is identified as not “best effort” or when a CPTP is not assigned to one of the MFDs specified in the createData parameter or when one of the specified MFDs could not be associated.
EXCPT_ENTITY_NOT_FOUND - Raised when at least one of the specified CPTPs or MFDs does not exist.
EXCPT_NE_COMM_LOSS - Raised when communication is lost to an ME involved in this operation.
EXCPT_USERLABEL_IN_USE - Raised when the userLabel uniqueness constraint is not met.
EXCPT_OBJECT_IN_USE - Raised when a specified MFD is already associated to an existing FD or if the FD name specified by the NMS is already assigned to an existing object.
Relevant Data Structures
NameAndStringValue_T[] name;
String networkAccessDomain;
NameAndStringValue_T[][] mfds;
LayeredParameters_T[] transmissionParams;
NameAndStringValue_T[] additionalCreationInfo;
The name of each FD must be in the following format:
name="EMS";value="CompanyName/EMSname"
name="FlowDomain";value=" FlowDomainName"
In Prime Optical, each ME name is unique irrespective of which network partition or network access domain it belongs to. In this data structure, networkAccessDomain separates an ME from another that has the same name but belongs to a different network access domain.
Use Case Description
The following describes how the system requests to create an FD:
1.
The NMS sends the request to the EMS to create an FD.
2.
The EMS validates the request:
a.
If the syntax is incorrect, an Invalid Input exception is raised.
b.
If an FD object with the name specified already exists, an Object In Use exception is raised.
c.
If user label uniqueness is required, the EMS checks the user label for uniqueness. If an FD object with the same user label already exists, a User Label In Use exception is raised.
d.
If one of the specified resources (MFDs or CPTPs) does not exist, an Entity Not Found exception is raised.
e.
If any of the MFDs to be associated is already associated to another FD, an Object In Use exception is raised.
f.
If any of the MFDs to be associated could not be associated to the FD, no MFD is associated and an Unable To Comply exception is raised.
g.
If a CPTP is not already assigned to one of the provided MFDs, an Unable To Comply exception is raised.
3.
If the request is valid, the EMS:
a.
Creates the FD as requested.
b.
Associates the requested CPTPs to the new FD (the PortTPRoleState attribute of the CPTPs is set to fdEdge). All names of the CPTPs that could not be associated are returned in the reply.
c.
Replies with a success indication.
d.
Sends an FD object creation notification to the notification service.
Note
TPData (tpsToModify) structure contains TP data that can be set by the NMS; for example, the transmission parameters that must be applied to the TP. Only a subset of the parameters is specified in the list and only these parameters should be applied in the NE. If the list is empty, nothing will be done. To remove a parameter from the list, use a hyphen (-) in the value part of the structure.
Limitations
- The tpsToModify parameter is not supported.
- The assignedCPTPs parameter is not supported. All CPTPs that are currently assigned to the MFDs specified in the createData attribute are automatically moved to fdEdge role state after the MFD is assigned to the FD. To explicitly assign CPTPs to an FD, use the assignCPTPsToMFD interface.
4.5.3.2 deleteFlowDomain
Synopsis
public void deleteFlowDomain(NameAndStringValue_T[] fdName,
TPDataList_THolder tpsToModify,
StringHolder errorReason)
throws ProcessingFailureException
Description
This interface enables the NMS to request the EMS to delete an FD.
Parameters
- NamingAttributes_T fdName—The name of the FD to be deleted.
- TPDataList_T tpsToModify:
–
in—The list of TPs with associated parameters to be applied.
–
out—The list of TPs with associated applied parameters.
- string errorReason—Specifies the reason for the fault, if any.
Throws
Raises ProcessingFailureException
EXCPT_INTERNAL_ERROR - Raised in case of nonspecific EMS internal failure.
EXCPT_INVALID_INPUT - Raised when any input parameter is syntactically incorrect. For example, the fdName attribute does not refer to an FD object.
EXCPT_OBJECT_IN_USE - Raised when the FD contains at least one FDFr.
EXCPT_ENTITY_NOT_FOUND - Raised when the fdName attribute references an object that does not exist.
EXCPT_UNABLE_TO_COMPLY - Raised when an associated fdEdge CPTP or MFD could not be disassociated.
EXCPT_NE_COMM_LOSS - Raised when communication is lost to an ME involved in this operation.
Use Case Description
This interface allows an NMS to delete an existing FD. The EMS verifies that no FDFr exists within the FD. The operation disassociates the fdEdge CPTPs and MFDs, and deletes the FD.
The following describes how the system requests to delete an FD:
1.
The NMS sends the request to the EMS to delete an FD.
2.
The EMS validates the request:
a.
If the syntax is incorrect, an Invalid Input exception is raised.
b.
If the FD object is unknown to the EMS, an Entity Not Found exception is raised.
c.
If any FDFr is used in the FD, an Object In Use exception is raised.
d.
If any of the MFDs cannot be disassociated from the specified FD, no MFD is disassociated and an Unable To Comply exception is raised.
e.
If any fdEdge CPTPs cannot be disassociated from the FD (the PortTPRoleState attribute of the CPTPs was set to assigned), no fdEdge CPTPs are disassociated and an Unable To Comply exception is raised.
3.
If the request is valid, the EMS:
a.
Deletes the FD.
b.
Replies with a success indication.
c.
Sends an FD object deletion notification to the notification service.
4.
If the request is successful:
a.
The fdEdge CPTPs associated to the FD are disassociated (the PortTPRoleState attribute of the CPTPs is set to assigned).
b.
The MFDs associated to the FD are disassociated.
c.
The FD is deleted.
4.5.3.3 modifyFlowDomain
Synopsis
public void modifyFlowDomain(NameAndStringValue_T[] fdName,
FDModifyData_T fdModifyData,
FlowDomain_THolder modifiedFD,
StringHolder failedAttributes,
StringHolder errorReason)
throws ProcessingFailureException
Description
This interface enables the NMS to request the EMS to modify an existing FD, as specified by the parameters in the method. The NMS can modify the user label, owner, network access domain, connectionless layered parameters, or additional information on an existing FD.
Parameters
- NamingAttributes_T fdName—The FD name to be modified.
- FDModifyData_T fdModifyData—Describes how the FD should be modified. If the FD contains the required information, nothing is done on the EMS and the method returns "success."
- string failedAttributes—The list of attributes that could not be modified.
- FlowDomain_T modifiedFD—The modified FD.
- string errorReason—Specifies the reason for the fault, if any.
Throws
Raises ProcessingFailureException
EXCPT_INTERNAL_ERROR - Raised in case of nonspecific EMS internal failure.
EXCPT_INVALID_INPUT - Raised when any input parameter is syntactically incorrect. For example, the fdModifyData field is invalid.
EXCPT_ENTITY_NOT_FOUND - Raised when the fdName attribute references an object that does not exist.
EXCPT_UNABLE_TO_COMPLY - Raised when the EMS is unable to execute the request because at least one of the parameters, although valid, cannot be set.
EXCPT_USERLABEL_IN_USE - Raised when the userLabel uniqueness constraint is not met.
EXCPT_NE_COMM_LOSS - Raised when communication is lost to an ME involved in this operation, which prevents the creation of an MFD or CPTP.
Relevant Data Structures
String networkAccessDomain
LayeredParameters_T[] transmissionParams
NameAndStringValue_T[] additionalModificationInfo
Use Case Description
The following describes how the system requests to modify an FD:
1.
The NMS sends the request to the EMS to modify an FD.
2.
The EMS validates the request:
a.
If the syntax is incorrect, an Invalid Input exception is raised.
b.
If the specified FD is unknown to the EMS, an Entity Not Found exception is raised.
c.
If user label uniqueness is required, the EMS checks the user label for uniqueness. If an FD object with the same user label exists, a User Label In Use exception is raised.
d.
If the EMS cannot satisfy any attribute that must be modified, an Unable To Comply exception is raised.
3.
If the request is valid:
a.
If the FD already has all the required information, the EMS does not send any notifications to the notification service.
b.
If the FD does not have the required information, the EMS modifies the FD attributes as requested.
4.
The EMS replies with a success indication.
5.
If the EMS makes a change, the appropriate notification is sent to the notification service.
Limitations
- The failedAttributes parameter is not supported.
- Notification changes are not sent.
4.5.3.4 associateMFDsWithFlowDomain
Synopsis
public void associateMFDsWithFlowDomain(NameAndStringValue_T[] fdName,
NameAndStringValue_T[][] mfdNames,
TPDataList_THolder tpsToModify,
StringHolder errorReason)
throws ProcessingFailureException
Description
This interface enables the NMS to request the EMS to associate one or more MFDs with an FD.
Parameters
- NamingAttributes_T fdName—The FD name to which the MFDs will be associated.
- NamingAttributesList_T mfdNames—The names of the MFDs to be associated with the FD. If the list is empty, nothing is done on the EMS and the method returns "success."
- TPDataList_T tpsToModify:
–
in—The list of TPs with associated parameters to be applied.
–
out—The list of TPs with associated applied parameters.
- string errorReason—Specifies the reason for the fault, if any.
Throws
Raises ProcessingFailureException
EXCPT_INTERNAL_ERROR - Raised in case of nonspecific EMS internal failure.
EXCPT_INVALID_INPUT - Raised when any input parameter is syntactically incorrect. For example, the fdName attribute does not refer to an FD object.
EXCPT_OBJECT_IN_USE - Raised when an MFD is already associated with another FD.
EXCPT_ENTITY_NOT_FOUND - Raised when the fdName or mfdNames attribute references an object that does not exist.
EXCPT_UNABLE_TO_COMPLY - Raised when an MFD could not be associated.
EXCPT_NE_COMM_LOSS - Raised when communication is lost to an ME involved in this operation.
Use Case Description
The following describes how the system requests to associate additional MFDs to an existing FD:
1.
The NMS sends the request to the EMS to associate additional MFDs to an existing FD.
2.
The EMS validates the request:
a.
If the syntax is incorrect, an Invalid Input exception is raised.
b.
If the specified FD is unknown to the EMS, an Entity Not Found exception is raised.
c.
If one or more of the specified MFDs is unknown to the EMS, an Entity Not Found exception is raised.
d.
If one or more of the specified MFDs are already associated to another FD, an Object In Use exception is raised.
e.
If any of the MFDs could not be associated, no MFD is associated and an Unable To Comply exception is raised.
3.
If the request is valid, the EMS:
a.
Associates the specified MFDs to the FD.
b.
Verifies the server layer connectivity between the associated MFDs. The FD Connectivity State attribute is modified accordingly (fully connected, not fully connected, or unknown).
c.
Replies with a success indication.
d.
Sends an attribute value change notification to the notification service using the MatrixFlowDomain attribute of the FD. The notification includes the complete list of MFD names that are associated to the FD.
4.
If the FD Connectivity State attribute is modified, the EMS sends a state change notification to the notification service.
Limitations
Notification changes are not sent.
4.5.3.5 deAssociateMFDsFromFlowDomain
Synopsis
public void associateMFDsWithFlowDomain(NameAndStringValue_T[] fdName,
NameAndStringValue_T[][] mfdNames,
TPDataList_THolder tpsToModify,
StringHolder errorReason)
throws ProcessingFailureException
Description
This interface enables the NMS to disassociate one or more MFDs from an existing FD. This operation also disassociates the fdEdge CPTPs that are associated to the MFDs to be disassociated.
Parameters
- NamingAttributes_T fdName—The FD name to be modified.
- NamingAttributesList_T mfdNames—The names of the MFDs to be disassociated from the FD. If the list is empty, nothing is done on the EMS and the method returns "success."
- TPDataList_T tpsToModify:
–
in—The list of TPs with associated parameters to be applied.
–
out—The list of TPs with associated applied parameters.
- string errorReason—Specifies the reason for the fault, if any.
Throws
Raises ProcessingFailureException
EXCPT_INTERNAL_ERROR - Raised in case of nonspecific EMS internal failure.
EXCPT_INVALID_INPUT - Raised when any input parameter is syntactically incorrect. For example, the fdName attribute does not refer to an FD object.
EXCPT_OBJECT_IN_USE - Raised when an MFD to be disassociated carries traffic.
EXCPT_ENTITY_NOT_FOUND - Raised when the fdName or mfdNames attribute references an object that does not exist.
EXCPT_UNABLE_TO_COMPLY - Raised when an MFD could not be disassociated. For example, the MFD is not associated with the FD or if an fdEdge CPTP specified by one of the MFDs could not be disassociated.
EXCPT_NE_COMM_LOSS - Raised when communication is lost to an ME involved in this operation.
Use Case Description
The EMS must validate the data provided by the NMS and disassociate the requested MFDs from the specified FD. If the EMS cannot disassociate the specified MFDs, an appropriate exception is raised. Best effort is not supported. The operation also disassociates the fdEdge CPTPs that are associated to the MFDs to be disassociated. After the disassociation, the EMS verifies the server layer connectivity between the associated MFDs using the FD Connectivity State attribute.
The following describes how the system requests to disassociate MFDs from an existing FD:
1.
The NMS sends the request to the EMS to disassociate MFDs from an existing FD.
2.
The EMS validates the request:
a.
If the syntax is incorrect, an Invalid Input exception is raised.
b.
If the specified FD is unknown to the EMS, an Entity Not Found exception is raised.
c.
If one or more of the specified MFDs were not previously associated to the FD, an Unable To Comply exception is raised.
d.
If one or more of the specified MFDs is carrying traffic, an Object In Use exception is raised.
e.
If any fdEdge CPTPs cannot be disassociated from the MFDs that are being disassociated (the PortTPRoleState attribute of the CPTPs is set to assigned), no fdEdge CPTPs are disassociated and an Unable To Comply exception is raised.
f.
If any of the MFDs could not be disassociated, no MFD is disassociated and an Unable To Comply exception is raised.
3.
If the request is valid, the EMS:
a.
Disassociates the specified MFDs from the FD.
b.
Replies with a success indication.
c.
Sends an attribute value change notification to the notification service using the MatrixFlowDomain attribute of the FD. The notification includes the complete list of MFD names that are associated to the FD.
d.
Verifies the server layer connectivity between the associated MFDs. The FD Connectivity State attribute is modified accordingly (fully connected, not fully connected, or unknown).
e.
If the FD Connectivity State attribute is modified, the EMS sends a state change notification to the notification service.
4.
If the request is successful:
a.
The requested MFDs are disassociated from the FD.
b.
The corresponding fdEdge CPTPs are also disassociated from the FD.
5.
If the request fails, there is no change in the system or the MFD association to the FD.
Limitations
Notification changes are not sent.
4.5.4 EVC FDFr Provisioning Interfaces
This section describes the following interfaces:
4.5.4.1 createAndActivateFDFr
Synopsis
public void createAndActivateFDFr(
FDFrCreateData_T createData,
ConnectivityRequirement_T connectivityRequirement,
NamingAttributesList_THolder aEnd,
NamingAttributesList_THolder zEnd,
NamingAttributesList_THolder internalTPs,
MatrixFlowDomainFragmentList_THolder mfdfrs,
TPDataList_THolder tpsToModify,
FlowDomainFragment_THolder theFDFr,
NamingAttributesList_THolder notConnectableCPTPList,
NamingAttributesList_THolder parameterProblemsTPList,
StringHolder errorReason)
throws ProcessingFailureException
Description
This interface requests the EMS to create and activate an FDFr representing an EVC using the parameters specified in the method. This operation allows you to create and activate the following EVCs at the LR_EVC (168) layer rate:
- Ethernet Private Line
- Ethernet Virtual Private Line
- Ethernet Private LAN
- Ethernet Virtual Private LAN
Figure 4-5 shows the point-to-point EFP.
Figure 4-5 Point-to-Point EFP
Figure 4-6 shows the multipoint-to-multipoint EFP.
Figure 4-6 Multipoint-to-Multipoint EFP
For example, if the network can automatically route, no internal CPTPs have to be specified. To configure EFP, you must consider the following:
- If aEnd and zEnd are in the same ME—Specify the following EFP layered parameters:
–
aEnd[0] (external source) EFP
–
zEnd[0] (external destination) EFP
- If aEnd and zEnd are in different MEs—Specify the following EFP layered parameters:
–
aEnd[0] (external source) EFP
–
aEnd[1] (internal source) EFP
–
zEnd[0] (external destination) EFP
If aEnd and zEnd are in different MEs, the EMS performs an Apply-All EFP configuration of the external and internal source EFPs and then overrides the external destination EFP with the one you provide.
The network creates the internal intermediate EFPs. The aEnd and zEnd parameters contain the associated CTPs; for example:
/rack=1/shelf=1/slot=7/ppm_holder=3/port=1
or
/rack=1/shelf=1/slot=7/ppm_holder=3/port=1
The EFP parameters must be specified using the tpsToModify parameter. The LR_EVC (168) and the layered parameters are reported below:
/rack=1/shelf=1/slot=7/ppm_holder=3/port=1
For Ethernet Private Line EVCs, the number of drops must always be two. For Ethernet Private LAN EVCs, the number of drops must be two at creation, but more drops can be added using the
modifyFDFr() API. For Private EVCs (Ethernet Private Line or Ethernet Private LAN), at least one of the drops must have the "/eth=default" tagging. To include MEs in EVC routing, you must specify the MEs in the tpsToModify parameter.
Use Case Description
The following describes how the system requests to create and activate an FDFr:
1.
The NMS sends a request to the EMS to create and activate an FDFr.
2.
The EMS validates the request:
a.
If the syntax is incorrect, an Invalid Input exception is raised.
b.
If one of the referenced CPTP objects is unknown to the EMS, an Entity Not Found exception is raised.
c.
If the specified CPTPs are not associated with the referenced FD, a TP Invalid Endpoint exception is raised.
d.
If an FDFr with the same properties as specified in the NMS request already exists, the EMS reuses that FDFr.
e.
If any of the specified Edge CPTPs do not have the fdEdge role, a Not In Valid State exception is raised.
f.
If user label uniqueness is required, the EMS checks the user label for uniqueness. If an FDFr object with the same user label exists already, a User Label In Use exception is raised.
g.
If the FDFr being created will have fewer than two edge FPs, an Unable To Comply exception is raised.
3.
The transmission parameters for the involved CPTPs and FPs are sent to the network by the EMS, which activated the MFDFrs as appropriate, based on the automatic route taken by the network. If any entity or parameter cannot be provisioned, a corresponding exception is raised (failed TP list is not managed).
4.
The EMS initiates the activation of the FDFr, which involves establishing the MFDFrs at the MEs.
5.
If all of the MFDFrs comprising the FDFr have been established, the EMS sets the FDFr state to active.
6.
If one or more of the MFDFrs comprising the FDFr are not established, the EMS sets the FDFr state to partial.
7.
The EMS replies with a success indication.
For descriptions of the input parameters, see createAndActivateFDFr.
Manual routing is not required for EVCs. Nodes or links can be included or excluded to drive the automatic routing performed by the network.
For pseudowires, the following layered parameters associated to the new LR_EVC layer rate change.
|
|
|
evcType |
String |
Valid values are:
- Ethernet Private Line
- Ethernet Virtual Private Line
- Ethernet Private LAN
- Ethernet Virtual Private LAN
|
bw |
Long |
EVC bandwidth |
bwUnits |
String |
Valid values are:
|
The following layered parameters that refer to the EFP configuration are specified within the tpsToModify parameter that is associated to the LR_EVC layer rate.
Note
Pseudowire class, VC ID, static labels, and protection parameters do not apply to EVC drops.
|
|
|
outerVlanTpId |
String |
Valid values are:
- TP_NONE
- DOT1Q
- DOT1AD
- TP_9100
- TP_9200
|
innerVlanTpId |
String |
Valid values are:
- TP_NONE
- DOT1Q
- DOT1AD
- TP_9100
- TP_9200
In Prime Optical 9.3, for double tagging, the only allowed value is DOT1Q. |
isExactTag |
Boolean |
If the VLAN tag is exact, set the value to true. |
rewriteOper |
String |
Valid values are:
- REWRITE_NONE
- PUSH_1
- PUSH_2
- POP_1
- POP_2
- TRANSLATE_1_TO_1
- TRANSLATE_1_TO_2
- TRANSLATE_2_TO_1
- TRANSLATE_2_TO_2
|
rewriteOuterVlanTpId |
String |
Valid values are:
- TP_NONE
- DOT1Q
- DOT1AD
- TP_9100
- TP_9200
|
rewriteOuterVlanTag |
Integer |
— |
rewriteInnerVlanTpId |
String |
Valid values are:
- TP_NONE
- DOT1Q
- DOT1AD
- TP_9100
- TP_9200
In Prime Optical 9.3, for double tagging, the only allowed value is DOT1Q. |
rewriteInnerVlanTag |
Integer |
— |
rewriteIsSymmetric |
Boolean |
Valid values are:
|
enableStatistics |
Boolean |
Enables statistics counter. Valid values are:
|
statisticsCategory |
String |
Valid values are:
This is mandatory only if enableStatistics is set to true. In Prime Optical 9.3, by default, INGRESS is set to true. |
The following table lists the mandatory parameters based on tagging type.
|
|
|
|
|
outerVlanTpId |
Yes |
Yes |
No |
No |
innerVlanTpId |
No |
Yes |
No |
No |
isExactTag |
No |
No |
No |
No |
rewriteOper |
Yes |
Yes |
No |
No |
rewriteOuterVlanTpId |
No |
No |
No |
No |
rewriteOuterVlanTag |
No |
No |
No |
No |
rewriteInnerVlanTpId |
No |
No |
No |
No |
rewriteInnerVlanTag |
No |
No |
No |
No |
rewriteIsSymmetric |
No |
No |
No |
No |
enableStatistics |
Yes |
Yes |
Yes |
Yes |
statisticsCategory |
No |
No |
No |
No |
qosTableMap |
No |
No |
No |
No |
qosIngPolicy |
No |
No |
No |
No |
qosEgrPolicy |
No |
No |
No |
No |
The network automatically assigns the SID to the FDFr at the time of creation. This SID is returned in the name. For pseudowires, see the following example:
Flow Domain Fragment Name = [0] EMS=Cisco Systems/PrimeOptical;
[2] FlowDomainFragment=GIAN_EVC_LAN_1:SID=8:LR=EVC
Native EMS Name = GIAN_EVC_LAN_1
When the creation API is executed, the service is not discovered for all parameters. The API returns a dummy object based on the input parameters. The actual objects are retrieved through the standard inventory APIs.
Limitations
Object create notifications are not generated.
4.5.4.2 deactivateAndDeleteFDFr
Synopsis
public void deactivateAndDeleteFDFr(
NameAndStringValue_T[] fdfrName,
TPDataList_THolder tpsToModify,
StringHolder errorReason)
throws ProcessingFailureException
Description
This interface enables the NMS to deactivate and delete an FDFr that represents an EVC from an FD. For descriptions of the input parameters, see deactivateAndDeleteFDFr.
The EVC name is specified as <EVC native name>:SID=nn:LR=EVC.
In this example, LR=EVC stands for Layer Rate = EVC. This is introduced because the API does not expect an LR to be specified.
Limitations
Object delete notifications are not generated.
4.5.4.3 modifyFDFr
Synopsis
NameAndStringValue_T[] fdfrName,
FDFrModifyData_T fdfrModifyData,
ConnectivityRequirement_T connectivityRequirement,
TPDataList_THolder tpsToModify,
NamingAttributesList_THolder failedTPList,
NamingAttributesList_THolder parameterProblemsTPList,
FlowDomainFragment_THolder newFDFr,
StringHolder errorReason)
throws ProcessingFailureException
Description
This interface enables the EMS to modify an existing FDFr representing an EVC as specified by the parameters in the method.
The EVC name is specified as <EVC native name>:SID=nn:LR=EVC.
In this example, LR=EVC stands for Layer Rate = EVC. This is introduced because the API does not expect an LR to be specified. For descriptions of the input parameters, see modifyFDFr.
The difference between pseudowires and EVCs is that for Ethernet Private LANs, you can add or remove drops after you create the FDFr. You must add or delete only one drop at a time. To achieve this, you must use the following structure:
String userLabel (description)
String networkAccessDomain
AdministrativeState_T administrativeState
LayeredParameters_T transmissionParams
NameAndStringValue_T[][] tpNamesToRemove
NameAndStringValue_T[][] aEndTPNames
NameAndStringValue_T[][] zEndTPNames
NameAndStringValue_T[][] internalTPNames
NameAndStringValue_T[] additionalModificationInfo
To add or remove a new drop, you must specify the tpNamesToRemove or zEndTPNames parameters.
Note
In multipoint services, all endpoints are considered as aEnd point drops.
Change Admin State
The administrative state change applies to the entire service only if the tpsToModify or zEndTPNames parameters are not specified. If they are specified, the administrative state change applies only to those services specified in the tpsToModify parameter and to the new drop specified.
To change the administrative state, you must set the changeAdminState parameter to true in the additionalModificationInfo parameter.
The additionalModificationInfo parameter contains the following additional parameter.
|
|
|
changeAdminState |
Boolean |
Indicates whether or not the admin state is changed based on the new value specified in the administrativeState field. Valid values are:
|
Add New Drop
To add a new drop to a multipoint EVC, you must specify the new CTPs in the zEndTPNames parameter and the EFP parameters in the tpsToModify parameter.
For creating and modifying an EVC, consider the following:
- The new drop (zEnd[0]) is in an ME which is already part of the EVC. In this case, you must not specify the EFP configuration for the internal-intermediate drops as being already present. You need to only specify the new drop in zEnd[0] and its associated EFP parameters in the tpsToModify parameter.
- The new drop (zEnd[0]) is in an ME which currently does not belong to the EVC. In this case, you must specify the EFP configuration for both the external drop to be added (zEnd[0]) and the internal-intermediate drop (zEnd[1]) in the same ME, which is used for all the intermediate drops in the route taken by the network.
If the new drop is in an ME which currently does not belong to the EVC, the SID associated to the EVC can change. If the current SID value associated to the EVC is not available in the ME of the new drop, the network automatically picks up the first available SID shared by the current ME belonging to the EVC and the new drop ME. The new SID value is returned by the API in the result.
Note
The source and new endpoint EFP configuration must be the same.
The addition or deletion of drops and the modification of the administrative state are mutually exclusive. For example, if you want to add a drop and remove another one, you must perform the modifyFDFr operation twice with the corresponding parameters.
QoS Change
Associate the QoS parameters to a given EVC by specifying the following layered parameters (associated to the LR_EVC layer rate) in the transmission parameters:
|
|
|
qosTableMap |
String |
QoS table map name (TC profile) |
qosIngPolicy |
String |
QoS ingress policy map name (TC profile) |
qosEgrPolicy |
String |
QoS egress policy name (TC profile) |
splitHorizontal Change
Select the splitHorizontal parameter to a given EFP by specifying the following layered parameter (associated to the LR_EVC layer rate) in the transmission parameters:
|
|
|
splitHorizontal |
Boolean |
Indicates whether or not the splitHorizontal EFP parameters of a TP are enabled. Valid values are:
|
Limitations
Object modification notifications are not generated.
4.5.5 Link Aggregation Provisioning Interfaces
This section describes the following interfaces:
4.5.5.1 createFTP
Synopsis
FTPCreateData_T createData,
TPDataList_THolder tpsToModify,
TerminationPoint_THolder theFTP,
StringHolder errorReason)
throws ProcessingFailureException
Description
This interface enables the NMS to create an FTP. A LAN port, which usually can be an edge CPTP, cannot be an edge CPTP if it is a member of a LAG. The LAG FTP is the edge CPTP.
Parameters
- FTPCreateData_T createData—Describes the FTP structure to be created.
- TPDataList_T tpsToModify—List of TPs and parameters to be applied and updated to provide the resulting parameters. The transmission parameters are applied on a best-effort basis and the resulting values of the transmission parameters are provided in the updated tpsToModify parameter. If the parameter is not best effort, the entire operation is rejected and the appropriate exception is returned. The tpsToModify parameter can be used by the NMS to determine the number of server layer CTPs to create for the specified FTP. An empty list signifies that the number of server layer CTPs is determined by the EMS.
- TerminationPoint_T theFTP—The new FTP. The EMS is responsible for guaranteeing FTP name uniqueness. The name is specified by the NMS in the createData parameter.
- string errorReason—Specifies the errors during creation, if any.
Throws
Raises globaldefs::ProcessingFailureException
EXCPT_INTERNAL_ERROR - Raised in case of nonspecific EMS internal failure.
EXCPT_INVALID_INPUT - Raised when any input parameter is syntactically incorrect. For example, the createData field is invalid.
EXCPT_UNABLE_TO_COMPLY - Raised when the EMS (or NE) does not support explicit creation of CPTPs.
EXCPT_ENTITY_NOT_FOUND - Raised when the specified equipment does not exist.
EXCPT_CAPACITY_EXCEEDED - Raised when the equipment does not have the resources. For example, less backplane bandwidth or less usable time slots.
EXCPT_NE_COMM_LOSS - Raised when communication is lost to an ME that contains the FTP.
EXCPT_USERLABEL_IN_USE - Raised when the userLabel uniqueness constraint is not met.
EXCPT_OBJECT_IN_USE - Raised when the object identified in the request is currently in use.
Relevant Data Structures
NameAndStringValue_T[] equipmentName
name="EMS";value="CompanyName/EMSname"
name="ManagedElement";value="ManagedElementName"
name="FTP";value="/rack=1/shelf=1/port=nn"
free text description for the FTP LAG. Optional.
string networkAccessDomain;
NameAndStringValue_T[] ingressTransmissionDescriptorName;
NameAndStringValue_T[] egressTransmissionDescriptorName;
TerminationMode_T tpMappingMode;
Directionality_T direction;
LayeredParameters_T[] transmissionParams;
Specify the new layer rate LR_LAG_Freagment (305)
NameAndStringValue_T[] additionalCreationInfo;
NameAndStringValue_T[] transmissionParams
The following table describes the mandatory LACP protocol attributes at the FTP Level.
|
|
|
MTU |
Integer |
MTU number. Valid values are from 64 to 9600. |
FastSwitchOver |
Boolean |
Enables 1:1 LACP. The valid value is true. |
L2ActionCDP |
String |
CDP is a Layer 2 protocol. Valid actions are:
|
L2ActionDOT1X |
String |
DOT1X is a Layer 2 protocol. Valid actions are:
|
L2ActionDTP |
String |
DTP is a Layer 2 protocol. Valid actions are:
|
L2ActionLACP |
String |
LACP is a Layer 2 protocol. Valid actions are:
|
L2ActionPAGP |
String |
PAGP is a Layer 2 protocol. Valid actions are:
|
L2ActionSTP |
String |
STP is a Layer 2 protocol. Valid actions are:
|
L2ActionVTP |
String |
VTP is a Layer 2 protocol. Valid actions are:
|
IngressPolicyMap |
String |
Ingress policy map name. Valid value is an empty string (""). In Prime Optical 9.3, this attribute is not supported. You must specify this attribute and set it to an empty string. For more information about policy maps, see Traffic Conditioning Profile Provisioning Interfaces. |
IngressTableMap |
String |
Ingress table map name. Valid value is an empty string (""). In Prime Optical 9.3, this attribute is not supported. You must specify this attribute and set it to an empty string. For more information about table maps, see Traffic Conditioning Profile Provisioning Interfaces. |
IngressTableMapConfig |
String |
Ingress table map config name. Valid value is an empty string (""). In Prime Optical 9.3, this attribute is not supported. You must specify this attribute and set it to an empty string. |
EgressPolicyMap |
String |
Egress policy map name. Valid value is an empty string (""). In Prime Optical 9.3, this attribute is not supported. You must specify this attribute and set it to an empty string. For more information about policy maps, see Traffic Conditioning Profile Provisioning Interfaces. |
enableLACP |
Boolean |
Enables LACP if the value is true. The value is not applied if the command does not include aggregated ports. |
MinBundle |
Integer |
Minimum bundle number. If portLACP is false, this attribute must be set to 1. Valid values are from 1 to 8. |
MaxBundle |
Integer |
Maximum bundle number. If portLACP is false, this attribute must be set to 8. Valid values are from 1 to 8. |
Relevant Data Structures
NameAndStringValue_T[] tpName
This is the PTP TMF name of the Ethernet built as:
name="EMS";value="CompanyName/EMSname"
name="ManagedElement";value="ManagedElementName"
name="PTP";value:"/rack=1/shelf=1/slot=2/ppm_holder=1/port to be
aggregated to the FTP LAG=1"
TerminationMode_T tpMappingMode (not handled NA)
LayeredParameters_T[] transmissionParams
NameAndStringValue_T[] ingressTrafficDescriptorName (empty)
NameAndStringValue_T[] egressTrafficDescriptorName (empty)
in our case must be specified the new LR LR_LACP (169)
NameAndStringValue_T[] transmissionParams
If LACP is not enabled at the FTP level, the transmissionParams attribute is left empty. If LACP is enabled at the FTP level, the transmissionParams attribute is used to communicate with LACP parameters:
|
|
|
LacpConfig |
String |
Valid values are:
|
LacpPriority |
Integer |
Valid values are from 0 to 65535. |
Use Case Description
The following describes how the system requests to create an FTP.:
1.
The EMS creates the requested FTP consistently with its implementation and the NMS specifications.
2.
If the EMS cannot create the FTP as specified, an appropriate exception is raised.
3.
The NMS specifies the FTP by choosing a location within the NE.
4.
After the EMS validates the input data, and if it can satisfy the input constraints, the EMS proceeds with implementing the FTP and returns the name of the new FTP and all of the attributes to the NMS.
5.
If the EMS fails to validate the input, it raises an appropriate exception.
6.
If transmission parameters are specified for the contained CTPs that are created, the EMS applies the transmission parameters after the FTP creation.
7.
Alarm reporting on the FTPs and contained CTPs might be enabled by the EMS using the alarm reporting transmission parameter.
8.
An object creation notification is sent to notify the NMS about the existence of the new FTP.
Note
If virtual concatenation applies, no notification is sent to the contained CTPs.
4.5.5.2 deleteFTP
Synopsis
NameAndStringValue_T[] ftpName,
TPDataList_THolder tpsToModify,
StringHolder errorReason)
throws ProcessingFailureException
Description
This interface enables the NMS to request the deletion of an FTP from the EMS. The service may be used to delete CPTP FTPs.
Parameters
- NamingAttributes_T ftpName—The FTP LAG name to be deleted. Because an Ethernet LAG port can aggregate client Ethernet ports of different ME cards, the corresponding FTP is logically positioned on the unique shelf of the ME itself:
name="EMS";value="CompanyName/EMSname"
name="ManagedElement";value="ManagedElementName"
name="FTP";value="/rack=1/shelf=1/port=nn"
–
in—The list of TPs with associated parameters to be applied.
–
out—The list of TPs with associated applied parameters.
- string errorReason—If a best-effort parameter could not be set, the EMS provides the fault reason.
Throws
Raises ProcessingFailureException:
EXCPT_INTERNAL_ERROR - Raised in case of nonspecific EMS internal failure.
EXCPT_INVALID_INPUT - Raised when any input parameter is syntactically incorrect. For example, the tpName does not refer to a CPTP TP object.
EXCPT_ENTITY_NOT_FOUND - Raised when tpName references an object that does not exist.
EXCPT_OBJECT_IN_USE - Raised when the CPTP is an ELL endpoint.
EXCPT_UNABLE_TO_COMPLY - Raised if the TP cannot be deleted.
EXCPT_NE_COMM_LOSS - Raised when communication is lost to an ME involved in this operation.
4.5.5.3 setTPData
Synopsis
public void setTPData(TPData_T tpInfo,
TerminationPoint_THolder modifiedTP)
throws ProcessingFailureException
Description
This interface allows the NMS to set parameters on a specified TP.
NameAndStringValue_T[] tpName
name="EMS";value="CompanyName/EMSname"
name="ManagedElement";value="ManagedElementName"
name="FTP";value="/rack=1/shelf=1/port=nn"
TerminationMode_T tpMappingMode (not handled NA)
LayeredParameters_T[] transmissionParams
NameAndStringValue_T[] ingressTrafficDescriptorName (empty)
NameAndStringValue_T[] egressTrafficDescriptorName (empty)
i Specify the new layer rate LR_LAG_Freagment (305)
NameAndStringValue_T[] transmissionParams
The following table lists the transmission parameters.
|
|
|
IngressPolicyMap |
String |
Ingress policy map name. An empty string ("") is an invalid value. The None value removes the policy reference from the FTP. For more information about policy maps, see Traffic Conditioning Profile Provisioning Interfaces. |
IngressTableMap |
String |
Ingress table map name. An empty string ("") is an invalid value. The None value removes the policy reference from the FTP. For more information about table maps, see Traffic Conditioning Profile Provisioning Interfaces. |
IngressTableMapConfig |
String |
Ingress table map configuration name. Valid values are:
The None value resets the current setting. An empty string ("") is an invalid value. |
EgressPolicyMap |
String |
Egress policy map name. An empty string ("") is an invalid value. The None value removes the policy reference from the FTP. For more information about policy maps, see Traffic Conditioning Profile Provisioning Interfaces. |
Throws
globaldefs::ProcessingFailureException:
EXCPT_INTERNAL_ERROR - Raised in case of nonspecific EMS internal failure.
EXCPT_ENTITY_NOT_FOUND - Raised if the TP referred to in tpInfo does not exist.
EXCPT_INVALID_INPUT - Raised when tpInfo does not reference a valid CTP object.
EXCPT_NE_COMM_LOSS - Raised when communication to an ME is lost.
Compliance
TMF-defined.
4.5.6 Traffic Conditioning Profile Provisioning Interfaces
The Traffic Conditioning (TC) function is a transport processing function. It does the following:
- Accepts the characteristic information about the layer network at input.
- Classifies the traffic units according to configured rules.
- Meters each traffic unit to determine eligibility.
- Polices nonconforming traffic units.
- Presents the remaining traffic units at output.
The TC function is modeled by a TC profile that contains the bandwidth parameters that police the traffic at the ingress and egress of a connectionless layer network.
The API that handles Traffic Conditioning (TC) Profiles uses the TCProfile_T and TCProfileCreateData_T data structures.
TCProfile_T
globaldefs::NamingAttributes_T name;
transmissionParameters::LayeredParameterList_T transmissionParams;
globaldefs::NVSList_T additionalInfo;
TCProfileCreateData_T
struct TCProfileCreateData_T {
transmissionParameters::LayeredParameterList_T transmissionParams;
globaldefs::NVSList_T additionalCreationInfo;
Prime Optical 9.3 models and groups CTP QoS parameters into four different classes of objects:
- Class maps
- Actions
- Policy maps
- Table maps
The QoS parameters are stored in the Prime Optical database, which you can access from the Prime Optical user interface and the NMS through the GateWay/CORBA API. The EMS models each of the objects with a TC profile. The NMS can use theGateWay/CORBA API to create, fetch, modify, and delete TC profiles in the repository.
The EMS enforces and guarantees the uniqueness of user labels within any given QoS class of objects (class maps), but not across different QoS classes of objects.
For any newly created TC profile, the EMS automatically assigns a name with the following space-separated concatenation:
<QoS object class>" "<user label>
Example
As per TMF standards, the forceUniqueness parameter can be used to guarantee user label uniqueness across all types of TC profiles. In Prime Optical 9.3, the forceUniqueness parameter is not implemented.
The following table describes the usage of the TCProfile_T and TCProfileCreateData_T fields.
|
|
|
additionalCreationInfo |
globaldefs::NVSList_T |
— |
additionalInfo |
globaldefs::NVSList_T |
Same as additionalCreationInfo, but omits the first tuple TCProfile. |
name |
globaldefs::NamingAttributes_T |
A name for the object that is unique in the EMS. |
nativeEMSName |
String |
Same as userLabel. |
owner |
String |
Not used. The EMS always sets the value to an empty string. If the NMS passes a different value to the EMS, the EMS returns an exception. |
transmissionParams |
transmissionParameters:: LayeredParameterList_T |
Not used. The EMS always sets the value to an empty string. If the NMS passes a different value to the EMS, the EMS returns an exception. |
userLabel |
String |
The human-readable object name, as displayed in Prime Optical user interface. |
The additionalInfo and additionalCreationInfo fields contain a list of tuples with values specified as per the tables below. Each tuple consists a name-value pair. Tuples in the list can be in any order, unless otherwise specified. Additional parameter names are separated by a single space.
The following table describes the additi onalInfo and additionalCreationInfo parameters for the class map.
|
|
|
tcprofile |
class-map |
Mandatory in additionalCreationInfo and must be omitted from additionalInfo. |
match-all |
String |
Valid values are:
Note In Prime Optical 9.3, only false is supported. |
cos |
Integer |
Optional. Multiple values must be separated by a single space. |
ip dscp |
Integer |
Optional. Multiple values must be separated by a single space. Must be omitted if an ip precedence tuple exists. |
ip precedence |
Integer |
Optional. Multiple values must be separated by a single space. Must be omitted an ip dscp tuple exists. |
mpls experimental topmost |
Integer |
Optional. Multiple values must be separated by a single space. |
qos-group |
Integer |
Optional. Multiple values must be separated by a single space. |
The following table describes the additionalInfo and additionalCreationInfo parameters for action.
|
|
|
tcprofile |
action |
Mandatory in additionalCreationInfo and must be omitted from additionalInfo. |
cos |
Integer |
Optional. |
ip dscp |
Integer |
Optional. |
ip precedence |
Integer |
Optional. |
qos-group |
Integer |
Optional. |
discard-class |
Integer |
Optional. |
rate |
single-rate dual color cir| single-rate dual color pir| single-rate three color|dual-rate three color |
Optional. If you do not provide, you must not provide the following tuples:
|
cir |
bps|kbps|mbps|gbps|% |
If the rate is not single-rate dual color pir, cir is mandatory; otherwise, you must omit it. |
pir |
bps|kbps|mbps|gbps|% |
If the rate is single-rate dual color pir or dual-rate three color, pir is mandatory; otherwise, you must omit it. |
bc |
bytes|kbytes|mbytes|gbytes|ms|us |
If the rate is single-rate dual color cir or single-rate three color, bc is mandatory; otherwise, you must omit it. |
be |
bytes|kbytes|mbytes|gbytes|ms|us |
If the rate is single-rate dual color pir or single-rate three color, be is mandatory; otherwise, you must omit it. |
conform-action drop |
Empty string |
Optional. |
conform-action transmit |
Empty string |
Optional. |
conform-action set-prec-transmit |
Integer |
Optional. |
conform-action set-dscp-transmit |
Integer |
Optional. |
conform-action set-qos-transmit |
Integer |
Optional. |
conform-action set-cos-transmit |
Integer |
Optional. |
conform-action set-discard-class-transmit |
Integer |
Optional. |
exceed-action drop |
Empty string |
Optional. |
exceed-action transmit |
Empty string |
Optional. |
exceed -action set-prec-transmit |
Integer |
Optional. |
exceed -action set-dscp-transmit |
Integer |
Optional. |
exceed -action set-qos-transmit |
Integer |
Optional. |
exceed -action set-cos-transmit |
Integer |
Optional. |
exceed -action set-discard-class-transmit |
Integer |
Optional. |
violate -action drop |
Empty string |
Optional. |
violate -action transmit |
Empty string |
Optional. |
violate -action set-prec-transmit |
Integer |
Optional. |
violate -action set-dscp-transmit |
Integer |
Optional. |
violate -action set-qos-transmit |
Integer |
Optional. |
violate -action set-cos-transmit |
Integer |
Optional. |
priority |
blank|{Integer %|kbps|level} |
Priority or shape average; you cannot provide both. |
shape average |
bps|kbps|mbps|gbps|% |
Shape average or priority; you cannot provide both. |
bandwidth |
kbps|% |
If you provide shape average, bandwidth or bandwidth remaining must be provided. You cannot provide both. If you do not provide shape average, omit bandwidth. |
bandwidth remaining |
ratio|% |
If you provide shape average, bandwidth or bandwidth remaining must be provided. You cannot provide both. If you do not provide shape average, omit bandwidth. |
The following table describes the additionalInfo and additionalCreationInfo parameters for policy maps.
|
|
|
tcprofile |
policy-map |
tcprofile is mandatory in additionalCreationInfo and must be omitted from additionalInfo. |
action |
String |
User label of the action. |
class-map |
String |
User label of the class map. |
policy-map |
String |
User label of the policy map. It can be an empty string ("") and requires no child policy map. |
“action,” “class-map,” and “policy-map” are optional. If one is provided, you can also repeat it. The respective values are the user labels of the action, class map, and policy map, and the values must be indicated.
The following table describes the additionalInfo and additionalCreationInfo parameters for table maps.
|
|
|
tcprofile |
table-map |
tcprofile is mandatory in additionalCreationInfo and must be omitted from additionalInfo. |
default |
copy|Integer |
— |
qos-group |
Integer |
— |
discard-class |
Integer |
— |
to |
Integer |
— |
“qos-group,” “discard-class,” and “to” are optional. If one is provided, you can also repeat it.
This section describes the following interfaces:
4.5.6.1 createTCProfile
Synopsis
public void createTCProfile(
TCProfileCreateData_T newTCProfileCreateData,
TCProfile_THolder newTCProfile)
throws ProcessingFailureException
Description
This interface is used to create a new TC profile on the server. TCProfileCreateData is passed as input, and the resulting TC profile is returned as a result or an exception is returned.
Use Case Description
The following describes how the system requests to create a new TC profile:
1.
The NMS sends a request to the EMS to create a TC profile. The NMS provides the TC profile name and a list of bandwidth parameters.
2.
The EMS validates the request:
a.
If the syntax is incorrect, an Invalid Input exception is raised.
b.
If the maximum number of TC profiles in the EMS has already been reached and the TC profile cannot be created, a Capacity Exceeded exception is raised.
3.
If the request is valid, the EMS creates the TC profile.
4.
The EMS replies with a success indication.
If the request is successful, the NMS receives an indication of the success of the request.
If the request is not successful, the NMS receives an exception as an indication of the failure of the request.
Relevant Data Structures
TCProfileCreateData_T
LayeredParameters_T[] transmissionParams
NameAndStringValue_T[] additionalCreationInfo
TCProfile_T
NameAndStringValue_T[] name
LayeredParameters_T[] transmissionParams
NameAndStringValue_T[] additionalInfo
4.5.6.2 deleteTCProfile
Synopsis
public void deleteTCProfile( NameAndStringValue_T[] tcProfileName)
throws ProcessingFailureException
Description
This interface deletes a TC profile on the server. This operation is idempotent. If the service is called with the name of a nonexistent TC profile, the operation succeeds.
4.5.6.3 modifyTCProfile
Synopsis
public void modifyTCProfile(NameAndStringValue_T[] tcProfileName,
TCProfileCreateData_T tcProfileModifyData,
TPDataList_THolder tpsToModify,
TCProfile_THolder modifiedTCProfile,
StringHolder errorReason)
throws ProcessingFailureException
Description
This interface modifies an existing TC profile as specified by the parameters in the method. A TC profile with the data to be changed is passed as input. The resulting TC profile is returned as a result.
4.6 MPLS-TP Provisioning Interfaces
This section describes the following MPLS-TP provisioning interfaces:
4.6.1 MPLS-TP Tunnel Provisioning Interfaces
This section describes the following interfaces:
4.6.1.1 createAndActivateSNC
Synopsis
public void createAndActivateSNC(
SNCCreateData_T createData,
GradesOfImpact_T tolerableImpact,
EMSFreedomLevel_T emsFreedomLevel,
TPDataList_THolder tpsToModify,
SubnetworkConnection_THolder theSNC,
StringHolder errorReason)
throws ProcessingFailureException
Description
This interface allows you to create and activate a subnetwork connection for the TP tunnel using a single command. According to TMF standards, an SNC name is assigned by the EMS when it creates an SNC. However, if the NMS must control the SNC name, it can provide the name using the additionalInfo parameter sncName.
The layer rate that applies to TP tunnel circuits is LR_MPLS (165).
When you create an MPLS-TP tunnel, the routing is linked to the associated LSPs whenever the MPLS-TP tunnel is created with layer rate LR_MPLS_PATH.
Parameters
- SNCCreateData createData—Describes the SNC structure to be created and activated.
- GradesOfImpact_T tolerableImpact—The maximum tolerable impact allowed.
- EMSFreedomLevel_T emsFreedomLevel—The maximum level of freedom allowed to the EMS to perform the creation and activation.
- TPDataList_T tpsToModify—A list of TPs and parameters that are applied and updated to provide the resulting parameters.
- SubnetworkConnection theSNC—The resulting SNC with the sncState and name set. The EMS selects the SNC names so that they are not reused for different SNCs.
- string errorReason—Specifies the creation and activation errors, if any.
Throws
Raises ProcessingFailureException
EXCPT_INTERNAL_ERROR - Raised in case of nonspecific EMS internal failure.
EXCPT_INVALID_INPUT - Raised when any input parameter is syntactically incorrect. For example, the createData field is invalid.
EXCPT_OBJECT_IN_USE - Raised if the SNC cannot be created and activated because the given tunnel number is already in use for the given endpoint ME.
EXCPT_ENTITY_NOT_FOUND - Raised when createData or tpsToModify fields reference objects that do not exist.
EXCPT_UNABLE_TO_COMPLY - Raised when the EMS is unable to execute the request because at least one of the parameters, although valid, cannot be set and when the EMS cannot determine the reason it could not comply.
EXCPT_NE_COMM_LOSS - Raised when communication to the ME is lost and this prevents SNC creation.
EXCPT_USERLABEL_IN_USE - Raised when the userLabel uniqueness constraint is not met.
EXCPT_NOT_IN_VALID_STATE - Raised where the SNC would involve a CTP that is not reachable due to the server TP state.
Relevant Data Structures
The value entered in this field will be the name of the newly created SNC. This is the TP tunnel name.
Prime Optical guarantees the uniqueness if all SNCs are created by Prime Optical. If any other tool is used to create an SNC, Prime Optical cannot guarantee uniqueness.
globaldefs::ConnectionDirection_T direction:
For MPLS-TP tunnels, the value is always CD_BI (bidirectional).
StaticProtectionLevel_T staticProtectionLevel:
For MPLS-TP tunnels, it can be UNPROTECTED or FULLY_PROTECTED.
ProtectionEffort_T protectionEffort:
Not considered for MPLS-TP tunnels.
Reroute_T rerouteAllowed:
NetworkRouted_T networkRouted:
transmissionParameters::LayerRate_T layerRate:
The layer rate for MPLS-TP tunnels is LR_MPLS (165).
CrossConnectList_T ccInclusions:
ResourceList_T neTpInclusions:
When creating the MPLS-TP tunnels, routing is taken care by specifying either a list of ME or topological link names to be included in the LSP SNC route.
ResourceList_T neTpSncExclusions;
When creating the MPLS-TP tunnels, routing is taken care by specifying either a list of ME or topological link names to be included in the LSP SNC route.
globaldefs::NamingAttributesList_T aEnd;
The CTP name reports the tunnel number associated to the given aEnd point in the following form:
“ddd” represents the integer number provided.
MPLS-TP tunnel endpoints at low level (Cisco IOS interfaces) is not located on physical ports, but on Virtual Tunnel Interfaces (VTIs) located in a given card. Even though you specify a PTP for the tunnel endpoints, the relevant information of it will be the slot in the shelf where the card is equipped.For example:
name="EMS";value="Cisco Systems/PRIMEOPTICAL"
name="ManagedElement";value="M2-65-122"
name="PTP";value="/rack=1/shelf=1/slot=2/ppm_holder=1/port=1"
name="CTP";value="tunnelNum=44"
globaldefs::NamingAttributesList_T zEnd;
globaldefs::NVSList_T additionalCreationInfo;
The following table describes the additional parameters that you can specify.
|
|
|
srcBFD |
String |
BFD template name of the source endpoint of the MPLS-TP tunnel. If the provided BFD name does not appear among the available names associated to the source ME, a corresponding exception is generated, reporting the actual list of available names. If the source BFD is not provided, the EMS picks up the first available name in the list associated to the given source ME. |
destBFD |
String |
BFD template name of the destination endpoint of the MPLS-TP tunnel. If the provided BFD name does not appear among the available names associated to the destination ME, a corresponding exception is generated, reporting the actual list of available names. If the destination BFD is not provided, the EMS picks up the first available name in the list associated to the given destination ME. |
txBW |
Long |
Transmission bandwidth associated to the MPLS-TP tunnel. |
rxBW |
Long |
Receiving bandwidth associated to the MPLS-TP tunnel. |
txBWunits |
String |
Valid values are:
|
txBWunits |
String |
Valid values are:
|
ServiceID |
Integer |
Service ID number of the given MPLS-TP tunnel. The EMS checks if it is in use on both the source and destination MEs. If it is in use, an exception is generated, reporting the next common available SID for both the source and destination. |
sncName |
String |
User-defined SNC name. If no sncName is defined, the EMS automatically assigns the following: tpTunnel:<source Node ID>:<source Tunnel ID>:<dest Node ID>:<dest Tunnel ID> The node IDs are automatically retrieved by the EMS from the TP tunnel endpoint MEs, and the tunnel numbers are provided through the endpoint CTP names; for example, tpTunnel:3.3.3.0:55:5.5.5.0:66. |
Limitations
Object create notifications are not generated.
4.6.1.2 deactivateAndDeleteSNC
Synopsis
public void deactivateAndDeleteSNC(
NameAndStringValue_T[] sncName,
GradesOfImpact_T tolerableImpact,
EMSFreedomLevel_T emsFreedomLevel,
TPDataList_THolder tpsToModify,
SubnetworkConnection_THolder theSNC,
StringHolder errorReason)
throws ProcessingFailureException
Description
This interface allows you to deactivate and then delete the SNC, which represents a given MPLS-TP tunnel in one operation. This operation implies the automatic deletion of the associated LSP SNCs. Prime Optical removes resources allocated to this SNC from each node. This is an asynchronous operation. Successful completion of this operation guarantees only the delivery of deletion request to Prime Optical. The NMS must wait for an OBJECT_DELETION event for this SNC.
Because TP tunnel names are not guaranteed to be unique in the network, you must provide the TP tunnel name in the following format:
<Native TP-Tunnel name>:TKEY=<TP-Tunnel key>
For example, tunnel192_193:TKEY=3.3.3.0:55:5.5.5.0:66.
The TKEY represents the TP tunnel key and is returned as an additional parameter whenever the corresponding SNC is retrieved. This key is composed in the following format:
<source Node ID>:<source Tunnel ID>:<dest Node ID>:<dest Tunnel ID>
The TKEY represents an invariant component for every TP tunnel. A prevention check is done in case any pseudowire is configured upon the given MPLS-TP tunnel. If any pseudowire is configured, an exception is generated and the pseudowire is removed in advance.
Limitations
Object delete notifications are not generated.
4.6.1.3 modifySNC
Synopsis
NameAndStringValue_T[] sncName,
SNCModifyData_T SNCModifyData,
GradesOfImpact_T tolerableImpact,
ProtectionEffort_T tolerableImpactEffort,
EMSFreedomLevel_T emsFreedomLevel,
TPDataList_THolder tpsToModify,
SubnetworkConnection_THolder newSNC,
StringHolder errorReason)
throws ProcessingFailureException
Description
This interface allows the modification of the circuit user label for the given TP tunnel SNC. Because TP tunnel names are not guaranteed to be unique in the network, you must provide the TP tunnel name in the following format:
<Native TP-Tunnel name>:TKEY=<TP-Tunnel key>
For example, tunnel192_193:TKEY=3.3.3.0:55:5.5.5.0:66.
The TKEY represents the TP tunnel key and is returned as an additional parameter whenever the corresponding SNC is retrieved. This key is composed in the following format:
<source Node ID>:<source Tunnel ID>:<dest Node ID>:<dest Tunnel ID>
The TKEY represents an invariant component for every TP tunnel.
Relevant Data Structures
ConnectionDirection_T direction
boolean modifyServers_allowed
StaticProtectionLevel_T staticProtectionLevel
ProtectionEffort_T protectionEffort
NetworkRouted_T networkRouted
RouteDescriptor_T[] addedOrNewRoute
RouteDescriptor_T[] removedRoute
NameAndStringValue_T[][] neTpInclusions
NameAndStringValue_T[][] neTpSncExclusions
NameAndStringValue_T[][] aEnd
NameAndStringValue_T[][] zEnd
NameAndStringValue_T[] additionalCreationInfo
Limitations
Object modify notifications are not generated.
4.6.2 MPLS-TP LSP Provisioning Interfaces
This section describes the following interfaces:
4.6.2.1 createAndActivateSNC
Synopsis
public void createAndActivateSNC(
SNCCreateData_T createData,
GradesOfImpact_T tolerableImpact,
EMSFreedomLevel_T emsFreedomLevel,
TPDataList_THolder tpsToModify,
SubnetworkConnection_THolder theSNC,
StringHolder errorReason)
throws ProcessingFailureException
Description
This interface allows you to create and activate a subnetwork connection (an LSP) in a single command. As per TMF standards, an SNC name is assigned by the EMS when it creates an SNC. However, if the NMS must control the SNC name, you can use the additionalInfo parameter sncName.
The LSP name must match the TP tunnel circuit name. As TP tunnel names are not guaranteed to be unique in the network, you must provide the TP tunnel name in the following format:
<Native TP-Tunnel name>:TKEY=<TP-Tunnel key>
For example, tunnel192_193:TKEY=3.3.3.0:55:5.5.5.0:66.
The TKEY represents the TP tunnel key and is returned as an additional parameter whenever retrieving the corresponding SNC. The layer rate that applies to the LSP circuits is LR_MPLS_PATH (166), which provides MPLS path layering to the TP tunnel entity.
Note
Local and out labels in the endpoints and midpoints are automatically assigned by the network. To modify them, use the modifySNC API.
Relevant Data Structures
Optional. The user label that is provided. If it is empty, EMS automatically assigns the default label LSP.
Prime Optical guarantees uniqueness if all SNCs are created by Prime Optical. If any other tool is used to create an SNC, Prime Optical cannot guarantee uniqueness.
globaldefs::ConnectionDirection_T direction:
For LSP circuits, the value is always CD_BI (bidirectional).
StaticProtectionLevel_T staticProtectionLevel:
For LSP circuits, it is UNPROTECTED.
ProtectionEffort_T protectionEffort:
Not considered for LSP circuits.
Reroute_T rerouteAllowed:
NetworkRouted_T networkRouted:
transmissionParameters::LayerRate_T layerRate:
The layer rate for MPLS-TP tunnels is LR_MPLS_PATH (166).
CrossConnectList_T ccInclusions:
ResourceList_T neTpInclusions:
You can specify a list of ME or topological link names to be included in the LSP SNC route. For complete manual routing, you must pass the list of all MEs or topological links through which the circuit is desired to be routed to.
ResourceList_T neTpSncExclusions;
Specify either a list of MEs or topological link names to be excluded in the LSP SNC route.
globaldefs::NamingAttributesList_T aEnd;
The CTP name reports the LSP number associated to the given aEnd point in the following format:
“ddd” represents the integer number provided.
name="EMS";value="Cisco Systems/PRIMEOPTICAL"
name="ManagedElement";value="M2-65-122"
name="PTP";value="/rack=1/shelf=1/slot=2/ppm_holder=1/port=1"
name="CTP";value="lspNum=0"
globaldefs::NamingAttributesList_T zEnd;
Same as the aEnd field. LSP numbers at the endpoints always match one another.
globaldefs::NVSList_T additionalCreationInfo;
You can specify the following additional parameters:
|
|
|
isProtLsp |
Boolean |
- True, if the LSP created is protected.
- False, if the LSP created is working.
|
sncName |
String |
The defined SNC name, which must match the TP tunnel SNC name that this LSP will be associated to. The name must be in the following format: <TP-Tunnel native name>:<source Node ID>:<source Tunnel ID>:<dest Node ID>:<dest Tunnel ID> For example, tunnel192_193:TKEY=3.3.3.0:55:5.5.5.0:66. |
Limitations
Object create notifications are not generated.
4.6.2.2 deactivateAndDeleteSNC
Synopsis
public void deactivateAndDeleteSNC(
NameAndStringValue_T[] sncName,
GradesOfImpact_T tolerableImpact,
EMSFreedomLevel_T emsFreedomLevel,
TPDataList_THolder tpsToModify,
NameAndStringValue_T[] additionalInfo,
SubnetworkConnection_THolder theSNC,
StringHolder errorReason)
throws ProcessingFailureException
Description
This interface enables you to deactivate and then delete the LSP SNC in one operation. Prime Optical removes resources allocated to this SNC from each node. This is an asynchronous operation. Successful completion of this operation guarantees only the delivery of the deletion request to Prime Optical. The NMS must wait for an OBJECT_DELETION event for this SNC.
As TP tunnel names are not guaranteed to be unique in the network, you must provide the LSP name in the following format:
<Native TP-Tunnel name>:TKEY=<TP-Tunnel key>:LSP=<LSP number>
For example, tunnel192_193:TKEY=3.3.3.0:55:5.5.5.0:66:LSP=0.
The TKEY represents the TP tunnel key and is returned as an additional parameter whenever retrieving the corresponding SNC. This key is composed as follows:
<source Node ID>:<source Tunnel ID>:<dest Node ID>:<dest Tunnel ID>
The TKEY represents an invariant component for every TP tunnel. To differentiate among the working and protected LSPs of the TP tunnel, the LSP number and the last token of the composite name is provided.
Limitations
Object delete notifications are not generated.
4.6.2.3 modifySNC
Synopsis
NameAndStringValue_T[] sncName,
SNCModifyData_T SNCModifyData,
GradesOfImpact_T tolerableImpact,
ProtectionEffort_T tolerableImpactEffort,
EMSFreedomLevel_T emsFreedomLevel,
TPDataList_THolder tpsToModify,
SubnetworkConnection_THolder newSNC,
StringHolder errorReason)
throws ProcessingFailureException
Description
This interface allows the modification of the following information for the given TP tunnel SNC:
- Local label and out label in the endpoints and midpoints.
- Lockout in the endpoints.
This information is provided as layered parameters associated to the LR_MPLS in transmissionParams of the tpsToModify input parameter. As TP tunnel names are not guaranteed to be unique in the network, you must provide the LSP name in the following format:
<Native TP-Tunnel name>:TKEY=<TP-Tunnel key>:LSP=<LSP number>
For example, tunnel192_193:TKEY=3.3.3.0:55:5.5.5.0:66:LSP=0.
Relevant Data Structures
ConnectionDirection_T direction
boolean modifyServers_allowed
StaticProtectionLevel_T staticProtectionLevel
ProtectionEffort_T protectionEffort
NetworkRouted_T networkRouted
RouteDescriptor_T[] addedOrNewRoute
RouteDescriptor_T[] removedRoute
NameAndStringValue_T[][] neTpInclusions
NameAndStringValue_T[][] neTpSncExclusions
NameAndStringValue_T[][] aEnd
NameAndStringValue_T[][] zEnd
NameAndStringValue_T[] additionalCreationInfo
NameAndStringValue_T[] tpName
TerminationMode_T tpMappingMode
LayeredParameters_T[] transmissionParams
NameAndStringValue_T[] ingressTrafficDescriptorName
NameAndStringValue_T[] egressTrafficDescriptorName
NameAndStringValue_T[] transmissionParams
The following table describes the layered parameters that can be modified on TPs. The TPs can be either midpoints or endpoints of the given LSP circuit.
|
|
|
fwLocalLabel |
Integer |
Local label value associated to the forward path of the LSP. |
fwOutLabel |
Integer |
Out label value associated to the forward path of the LSP. |
rvtLocalLabel |
Integer |
Local label value associated to the reverse path of the LSP. |
rvtOutLabel |
Integer |
Out label value associated to the reverse path of the LSP. |
The following table describes the layered parameter that can be modified on endpoints of the given LSP circuit.
|
|
|
switchState |
String |
New administrative switch state: LOCKOUT or CLEAR. |
Limitations
Object modify notifications are not generated.
4.6.3 MPLS-TP Protection (Provisioning)
In the PTF_10GE_4, PT_10GE_4, and PTSA_GE equipment, the TP tunnel circuit names are not unique. The following pair represents their primary key:
<sncName, SID>
The component LSP circuits are uniquely identified by:
<sncName, SID, uniqueID>
sncName and SID are the same as the TP tunnel key.
When creating an LSP circuit, if you provide the circuit name, SID, and Unique ID through additional parameters, the association with the corresponding TP tunnel is automatically established.
4.6.4 BFD Template, Node ID, and Label Range Provisioning Interface
When creating MPLS-TP tunnels, you can leave some parameters with the default value or you can specify it. If you specify it, you should retrieve and specify the valid range of values at the node level.
For the BFD template and the static label range, you should change the values that are currently specified for the involved ME. To achieve this, because all these parameters are seen as additional parameters at the ME level, you must call the standard setAdditionalInfo API.
This section describes the following interface:
4.6.4.1 setAdditionalInfo
Synopsis
public void setAdditionalInfo(NameAndStringValue_T[] objectName,
NVSList_THolder additionalInfo)
throws ProcessingFailureException
Description
This interface allows you to set additional information associated to an ME. Provide the name as the input parameter.
The following table is an example of the BFD template report.
|
|
|
|
|
|
Bfd1 |
True |
millisec |
300 |
400 |
3 |
Bfd2 |
True |
millisec |
500 |
600 |
6 |
Bfd3 |
True |
microsec |
700000 |
800000 |
9 |
GateWay/CORBA NBI Result
bfdTable.Name= "Bfd1, BFD2, BFD3"
bfdTable.SingleHop= "true, true, true"
bfdTable.Unit= "millisec, millisec, microsec"
bfdTable.MinTxInterval= "300, 500, 700000"
bfdTable.MinRxInterval= "400, 600, 800000"
bfdTable.Multiplier= "3, 6, 9"
You can make multiple changes in the same table, because the overall table values are provided in provisioning. To change any field in the table, the entire table must be regenerated again. The EMS analyzes the table content and provisions the necessary changes in the NE.
You can do the following operations:
- Delete a row—Do not report the row with the given BFD name in the table.
- Add a row—Report a new row with a new BFD name in the table
- Modify a row—For a row corresponding to a given BFD, change any column value. The BFD name represents the primary key.
- Delete the whole table—Set bfdtable.Count=0 and all column parameters to an empty string ("").
The routeIdName parameter is read-only. The routeID parameter can only be modified; it cannot be created or deleted.
4.7 Pseudowire Provisioning Interfaces
This section describes the following pseudowire provisioning interfaces:
4.7.1 Pseudowire FDFr Provisioning Interfaces
This section describes the following interfaces:
4.7.1.1 createAndActivateFDFr
Synopsis
public void createAndActivateFDFr(
FDFrCreateData_T createData,
ConnectivityRequirement_T connectivityRequirement,
NamingAttributesList_THolder aEnd,
NamingAttributesList_THolder zEnd,
NamingAttributesList_THolder internalTPs,
MatrixFlowDomainFragmentList_THolder mfdfrs,
TPDataList_THolder tpsToModify,
FlowDomainFragment_THolder theFDFr,
NamingAttributesList_THolder notConnectableCPTPList,
NamingAttributesList_THolder parameterProblemsTPList,
StringHolder errorReason)
throws ProcessingFailureException
Description
The NMS invokes the createAndActivateFDFr service to request the EMS to create and activate a pseudowire with the parameters specified in the method.
Parameters
- FDFrCreateData_T createData—Describes the structure of the FDFr to be created. Unless specified otherwise, connectionless parameter settings are on a best-effort basis.
- ConnectivityRequirement_T connectivityRequirement—For a connectivity-aware EMS, this parameter identifies the requested operation mode if not all FPs have potential connectivity to one another. If the EMS is not connectivity-aware, ignore this parameter.
- NamingAttributesList_T aEnd—The source CTP/EFP based on a CPTP. The CTP name implicitly provides the AC type and VLAN configuration. Pseudowires always have only one aEnd point. The name of each aEnd must be in the following format:
name="EMS";value="CompanyName/EMSname"
name="ManagedElement";value="name"
name="PTP";value="/rack/shelf/slot/ppm_holder=m/port=n"
name="CTP";value="CTP Name"
For PTSA_GE endpoints, the PTP name must be in the following format:
name="PTP";value="/remote_unit=1/shelf=1/slot=36/ppm_holder=9/port=1"
Slot 36 is mapped to the PTSA_GE remote equipment.
The following table describes the possible use cases with the associated CTP names.
|
|
|
Single tagged |
/ethvid=n |
VLAN tag is a numeric value or a range from 1 to 4094; for example:
- /ethvid=5
- /ethvid=5,10-13
|
Double tagged |
/ethsvid=n/ethcvid=m |
First (outer or S-VID) VLAN tag must be unique. Second (inner or C-VID) VLAN tag is any unique list or range; for example:
- /ethsvid=10/ethcvid=45
- /ethsvid=12/ethcvid=45-50,61
|
Untagged |
/eth=untagged |
Match untagged frames. |
Default |
/eth=default |
- VLAN unaware
- Port-based drop
|
Figure 4-7 Use Cases with Associated CTP Names
For channel group (Ethernet Link Aggregation), the CTP refers to the FTP representing the logical interface for the LAG rather than a physical PTP. The CTP name should be in the following format:
name="EMS";value="CompanyName/EMSname"
name="ManagedElement";value="name"
name="FTP";value="/rack/shelf/port=n"
name="CTP";value="CTP Name"
Parameters
- globaldefs::NamingAttributesList_T zEnd—Same as aEnd. For dual-homed protected pseudowires, there are two zEnd TPs.
- NamingAttributesList_T internalTPs—Not used. A list of internal CPTP names that must be included in the route of the FDFr. As a result of creating the FDFr, FPs are created as clients of internal CPTPs.
- MatrixFlowDomainFragmentList_T mfdfrs—Not used. An optional list of MFDFrs that represents the route of the FDFr. You can omit this attribute if the FDFr is routed by the network. As a result of creating the FDFr, MFDFrs are created in the various MFDs.
- TPDataList_T tpsToModify—A list of TPs and parameters to be applied. When the method is returned, the list is updated to provide the resulting parameters. The list may refer to FPs that are being created during the createAndActivateFDFr request or to the containing CPTPs.
- flowDomainFragment::FlowDomainFragment_T theFDFr—The newly created and activated FDFr. The EMS is responsible for guaranteeing uniqueness of the name of the FDFr.
- NamingAttributesList_T notConnectableCPTPList—The list of CPTPs that could not be connected; for example, CPTPs that are not part of the same FD.
- NamingAttributesList_T parameterProblemsTPList—The list of CPTPs and FPs for which only best-effort transmission parameters could not be set.
- string errorReason—If a best-effort parameter could not be set or an FP could not be connected, the EMS indicates the fault reason.
Throws
Raises ProcessingFailureException
EXCPT_INTERNAL_ERROR - Raised in case of nonspecific EMS internal failure.
EXCPT_INVALID_INPUT - Raised when any input parameter is syntactically incorrect. For example, the createData field is invalid.
EXCPT_ENTITY_NOT_FOUND - Raised when one of the provided CPTPs does not exist.
EXCPT_USERLABEL_IN_USE - Raised when the userLabel uniqueness constraint is not met. The specified user label is currently in use.
EXCPT_NE_COMM_LOSS - Raised in case of communication failure between the EMS and the MEs.
EXCPT_NOT_IN_VALID_STATE - Raised when the state of the specified object is such that the EMS cannot perform the request.
EXCPT_TP_INVALID_ENDPOINT - Raised when the specified TP does not exist or cannot be created.
EXCPT_UNABLE_TO_COMPLY - Raised when the EMS is unable to execute the request because of one of the following conditions:
1. The name specified by the NMS already exists in the EMS.
2. Unrecognized mapping criteria.
3. Frames map to more than one FDFr.
4. The FDFr has less than two FPs.
Relevant Data Structures
NameAndStringValue_T[] name
String networkAccessDomain
ConnectionDirection_T direction
For Ethernet, the directionality is always bidirectional.
AdministrativeState_T administrativeState
LayeredParameters_T transmissionParams
The layer rate is LR_PW (167). The associated layered parameters are described in the table below.
Always considered "false" by the EMS because the routing is done automatically by the network.
The possible values are "point-to-point," "point-to-multipoint," "multipoint." For pseudowire, only point-to-point is allowed.
NameAndStringValue_T[] additionalCreationInfo
The following table describes the transmission parameters associated to the new LR_PW.
|
|
|
|
pwType |
String |
Valid values are:
|
Yes |
bw |
Long |
Receiving bandwidth associated to the MPLS-TP tunnel. |
Yes |
bwUnits |
String |
Valid values are:
|
Yes |
isRedundant |
Boolean |
Valid values are:
If the pseudowire is protected, the value must be true. If true, specify values for the aEnd and zEnd of both the pwClass and bkpPwClass corresponding to the two TP tunnels that provide pseudowire redundancy. The two TP tunnels must be routed across different paths to reach the same endpoints. |
Yes |
isDualHomedPeer |
Boolean |
Mandatory if isRedundant is set to true. If true, specify the aEnd of both pwClass and bkpPwClass corresponding to the two TP tunnels that provide dual-homed pseudowire redundancy. For the two zEnd points, only pwClass is required. The two TP tunnels must have the same source node, but distinct destination nodes. Valid values are:
|
No |
enableDelayValue |
Integer |
Enable delay value. Mandatory if isRedundant is set to true. |
No |
isDisableDelay |
Boolean |
If disable delay is set, the valid value is true. Mandatory if isRedundant is set to true. Valid values are:
|
No |
disableDelayValue |
Integer |
Disable delay value. Mandatory if isRedundant is set to true. |
No |
isNeverDisDelay |
Boolean |
Mandatory if isRedundant is set to true. Valid values are:
|
No |
The tpsToModify parameter is defined as:
NameAndStringValue_T[] tpName
A PTP or FTP which corresponds to a given managed endpoint of the pseudowire. A pseudowire can have only one EFP from a given CPTP.
1. name="EMS";value="CompanyName/EMSname"
2. name="ManagedElement";value="name"
3. name="PTP";value="/rack/shelf/slot/ppm_holder=m/port=n"
1. name="EMS";value="CompanyName/EMSname"
2. name="ManagedElement";value="name"
3. name="FTP";value="/rack/shelf/port=n"
TerminationMode_T tpMappingMode
LayeredParameters_T[] transmissionParams
NameAndStringValue_T[] ingressTrafficDescriptorName
NameAndStringValue_T[] egressTrafficDescriptorName
a new layer rate LR_PW (167)
NameAndStringValue_T[] transmissionParams
The following table describes the layered parameters for the layer rate LR_PW that is specified on TP endpoints of the pseudowire.
|
|
|
outerVlanTpId |
String |
Valid values are:
- TP_NONE
- DOT1Q
- DOT1AD
- TP_9100
- TP_9200
|
innerVlanTpId |
String |
Valid values are:
- TP_NONE
- DOT1Q
- DOT1AD
- TP_9100
- TP_9200
In Prime Optical 9.3, for double tagging, the only allowed value is DOT1Q. |
isExactTag |
Boolean |
If the VLAN tag is exact, set it to true. |
rewriteOper |
String |
Valid values are:
- REWRITE_NONE
- PUSH_1
- PUSH_2
- POP_1
- POP_2
- TRANSLATE_1_TO_1
- TRANSLATE_1_TO_2
- TRANSLATE_2_TO_1
- TRANSLATE_2_TO_2
|
rewriteOuterVlanTpId |
String |
Valid values are:
- TP_NONE
- DOT1Q
- DOT1AD
- TP_9100
- TP_9200
|
rewriteOuterVlanTag |
Integer |
— |
rewriteInnerVlanTpId |
String |
Valid values are:
- TP_NONE
- DOT1Q
- DOT1AD
- TP_9100
- TP_9200
In Prime Optical 9.3, for double tagging, the only allowed value is DOT1Q. |
rewriteInnerVlanTag |
Integer |
— |
rewriteIsSymmetric |
Boolean |
Valid values are:
|
enableStatistics |
Boolean |
Enables statistics counter. Valid values are:
|
statisticsCategory |
String |
Valid values are:
Mandatory only if enableStatistics is true. In Prime Optical 9.3, by default, INGRESS is always set to true. |
manLoadBal |
— |
Not supported. |
qosTableMap |
String |
QoS table map name (TC profile). |
qosIngPolicy |
String |
QoS ingress policy map name (TC profile). |
qosEgrPolicy |
String |
QoS egress policy name (TC profile). |
pwClass |
String |
Pseudowire class name. This is accessible through the getManagedElement API additionalInfo. It allows association with the TP tunnel. |
vcID |
Integer |
VC ID. |
staticLabel |
Integer |
(Optional) Specify a static value for the local label. If it is not provided, the first available label is automatically picked up from the node. |
bkpPwClass |
String |
Backup (protected) pseudowire class. |
bkpVcID |
Integer |
Backup (protected) VC ID. |
bkpStaticLabel |
Integer |
(Optional) Specify a static value for the protected local label. If it is not provided, the first available label is automatically picked up from the node. |
The following table lists the mandatory information based on tagging type.
|
|
|
|
|
outerVlanTpId |
Yes |
Yes |
No |
No |
innerVlanTpId |
No |
Yes |
No |
No |
isExactTag |
No |
No |
No |
No |
rewriteOper |
Yes |
Yes |
No |
No |
rewriteOuterVlanTpId |
No |
No |
No |
No |
rewriteOuterVlanTag |
No |
No |
No |
No |
rewriteInnerVlanTpId |
No |
No |
No |
No |
rewriteInnerVlanTag |
No |
No |
No |
No |
rewriteIsSymmetric |
No |
No |
No |
No |
enableStatistics |
Yes |
Yes |
Yes |
Yes |
statisticsCategory |
No |
No |
No |
No |
qosTableMap |
No |
No |
No |
No |
qosIngPolicy |
No |
No |
No |
No |
qosEgrPolicy |
No |
No |
No |
No |
pwClass |
Yes |
Yes |
Yes |
Yes |
vcID |
Yes |
Yes |
Yes |
Yes |
staticLabel |
No |
No |
No |
No |
bkpPwClass |
No |
No |
No |
No |
bkpVcID |
No |
No |
No |
No |
bkpStaticLabel |
No |
No |
No |
No |
The network automatically assigns the SID to the FDFr at the time of creation. This SID is returned in the name. For pseudowires, see the example below:
Flow Domain Fragment Name = [0] EMS=Cisco Systems/PrimeOptical;
[2] FlowDomainFragment=GIAN_PW_1:SID=25
Native EMS Name = GIAN_PW_1
When the creation API is executed, the service is not discovered for all parameters. The API returns a dummy object based on the input parameters. The actual objects are retrieved through the standard inventory APIs.
Limitations
Object create notifications are not generated.
4.7.1.2 deactivateAndDeleteFDFr
Synopsis
public void deactivateAndDeleteFDFr(
NameAndStringValue_T[] fdfrName,
TPDataList_THolder tpsToModify,
StringHolder errorReason)
throws ProcessingFailureException
Description
This interface allows the NMS to request the deactivation and deletion of a pseudowire FDFr from an FD.
Parameters
- NamingAttributes_T fdfrName—The pseudowire name to be deactivated and deleted. The name must be in the following format: <PW native name>:SID=nn.
- TPDataList_T tpsToModify—A list of TPs and parameters to be applied. When the method is returned, the list is updated to provide the resulting parameters. The list may refer only to TPs that take part in the FDFr deletion process.
- string errorReason—Specifies the reason for the fault, if any.
Throws
Raises ProcessingFailureException
EXCPT_INTERNAL_ERROR - Raised in case of nonspecific EMS internal failure.
EXCPT_INVALID_INPUT - Raised when any input parameter is syntactically incorrect. For example, fdfrName does not refer to an FDFr object.
EXCPT_ENTITY_NOT_FOUND - Raised when fdfrName references an object that does not exist.
EXCPT_ACCESS_DENIED - Raised if the EMS does not allow the NMS to delete the FDFr. For example, the FDFr state is fixed.
EXCPT_NE_COMM_LOSS - Raised when communication is lost to an ME involved in this operation.
Use Case Description
The following describes how the system requests to deactivate and delete an FDFr:
1.
The NMS sends the request to the EMS to deactivate and delete an FDFr.
2.
The EMS validates the request:
a.
If the syntax is incorrect, an Invalid Input exception is raised.
b.
If the specified FDFr object is unknown to the EMS, an Entity Not Found exception is raised.
3.
If the request is valid:
a.
The EMS initiates the deactivation of the FDFr. It attempts to remove, from the applicable MEs, all the MFDFrs which comprise this FDFr.
b.
If the EMS succeeds in deactivating the FDFr, it then deletes the FDFr object and all associated FPs.
c.
If some MFDFrs were removed and some were not, the FDFr is not deleted from the EMS, and it is marked as Failed.
4.
The EMS provides a success indication to the NMS.
5.
The EMS sends FP and FDFr object deletion notifications to the notification service.
If the request is successful:
1.
The NMS receives a success indication.
2.
An Object Deletion notification is sent.
3.
For all MFDFrs which are removed, the associated FPs are deleted.
4.
If all MFDFrs were removed, the FDFr has been deleted.
If the FDFr was not deleted, it is marked as Failed.
If the request is not successful, the NMS receives an exception as an indication of the failure of the request.
Limitations
Object delete notifications are not generated.
4.7.1.3 modifyFDFr
Synopsis
NameAndStringValue_T[] fdfrName,
FDFrModifyData_T fdfrModifyData,
ConnectivityRequirement_T connectivityRequirement,
TPDataList_THolder tpsToModify,
NamingAttributesList_THolder failedTPList,
NamingAttributesList_THolder parameterProblemsTPList,
FlowDomainFragment_THolder newFDFr,
StringHolder errorReason)
throws ProcessingFailureException
Description
This interface allows you to request the EMS to modify an existing FDFr as specified by the parameters in the method.
Parameters
- NameAndStringValue_T[] fdfrName—The FDFr name to be modified. To uniquely identify the FDFr, use the following format: <FDFr native name>:SID=34.
- FDFrModifyData_T fdfrModifyData—Describes the structure of the FDFr to be modified. Modification of connectionless parameters is done on a best-effort basis. For pseudowires, only UserLabel and administrative state can be changed.
- ConnectivityRequirement_T connectivityRequirement—Not supported for pseudowires.
- subnetworkConnection::TPDataList_T tpsToModify—A list of TPs and parameters to be applied. When the method is returned, the list is updated to provide the resulting parameters. The list may refer to the FPs or to the containing CPTPs.
- globaldefs::NamingAttributesList_T failedTPList—Not supported for pseudowires.
- globaldefs::NamingAttributesList_T parameterProblemsTPList—The list of CPTPs and FPs for which only best-effort transmission parameters could not be set.
- flowDomainFragment::FlowDomainFragment_T newFDFr—The modified FDFr.
- string errorReason—If a best-effort parameter could not be set, the EMS provides the fault reason.
Throws
Raises ProcessingFailureException
EXCPT_INTERNAL_ERROR - Raised in case of nonspecific EMS internal failure.
EXCPT_INVALID_INPUT - Raised when any input parameter is syntactically incorrect. For example, the fdfr ModifyData field is invalid.
EXCPT_ENTITY_NOT_FOUND - Raised when fdfrName references an object that does not exist.
EXCPT_UNABLE_TO_COMPLY - Raised when the EMS is unable to execute the request because at least one of the parameters, although valid, cannot be set.
EXCPT_USERLABEL_IN_USE - Raised when the userLabel uniqueness constraint is not met.
EXCPT_ACCESS_DENIED - Raised if the EMS does not allow the NMS to modify the FDFr. For example, the FDFr state is fixed.
EXCPT_NOT_IN_VALID_STATE - Raised when at least one of the specified CPTPs is in the unassigned PortTPRoleState.
Relevant Data Structures
String networkAccessDomain
AdministrativeState_T administrativeState
LayeredParameters_T transmissionParams
NameAndStringValue_T[][] tpNamesToRemove
NameAndStringValue_T[][] aEndTPNames
NameAndStringValue_T[][] zEndTPNames
NameAndStringValue_T[][] internalTPNames
NameAndStringValue_T[] additionalModificationInfo
Use Case Description
The NMS can modify the user label, administrative state, and QoS information associated to the FDFR FPs.
The following describes how the system requests to modify an FDFr:
1.
The NMS sends a request to the EMS to modify an FDFr.
2.
The EMS validates the request:
a.
If the syntax is incorrect, an Invalid Input exception is raised.
b.
If the specified FDFr object is unknown to the EMS, an Entity Not Found exception is raised.
c.
If user label uniqueness is required, the EMS checks the user label for uniqueness. If an FDFr object with the same user label exists, a User Label In Use exception is raised.
d.
If any of the TP objects specified for modification is unknown to the EMS, an Entity Not Found exception is raised.
e.
If any of the TP objects specified in the modification is not associated with the specified FDFr, an Entity Not Found exception is raised.
f.
If an unrecognized name exists in the QoS policy names provided for specified FPs, an Unable To Comply exception is raised.
3.
If the request is valid, the EMS modifies the FDFr attributes and parameters, as requested.
4.
The EMS returns a success indication.
Change Admin State
The administrative state change applies to the entire service only if tpsToModify or zEndTPNames is specified. If neither of these parameters is specified, the change applies only to those tpsToModify that have been specified and to the new drop specified. To change the administrative state, set the changeAdminState parameter to true in the additionalModificationInfo.
The following table describes the additionalModificationInfo parameter.
|
|
|
changeAdminState |
Boolean |
Indicates whether the admin state can be changed based on the new value specified in the administrativeState field. Valid values are:
|
Limitations
Object modify notifications are not generated.
4.7.2 Pseudowire Mixed Configuration (Provisioning)
Prime Optical supports pseudowire mixed configuration. You can configure a pseudowire with an interface-based drop and a VLAN-based drop. The difference between the two is in the types of parameters that are required to characterize the two types of CTPs. For more information, see deactivateAndDeleteFDFr and modifyFDFr.
4.7.3 Pseudowire Class and Loopback Provisioning Interface
When you create a pseudowire, a given set of parameters can be either left as default values or specified. If these parameters are specified, you must retrieve and specify the valid range of values at the ME level.
The pseudowire class is a set of attributes which associates a given pseudowire with a given TP tunnel during creation. To do this, use the setAdditionalInfo API. For more information about loopback interface, see getManagedElement.
This section describes the following interface:
4.7.3.1 setAdditionalInfo
Synopsis
public void setAdditionalInfo(NameAndStringValue_T[] objectName,
NVSList_THolder additionalInfo)
throws ProcessingFailureException
Description
This interface allows you to create and associate a new pseudowire class to the ME and make it available while creating the pseudowire. You can set additional information associated to an ME by providing the name as the input parameter.
|
|
|
|
pwClassTable.Count |
Integer |
— |
Number of rows in the pseudowire class table. |
pwClassTable.OperType |
String |
|
To manage add, remove, and modify operations on huge tables, the pwClass table has this new column which specifies the operation to be performed on the single row. |
pwClassTable.Name |
String |
Up to 200 characters in length |
Name of the pseudowire class. |
pwClassTable.Encaps |
String |
MPLS |
Encapsulation type. The default is MPLS. |
pwClassTable.Protocol |
String |
|
Protocol type. |
pwClassTable.Interwork |
String |
|
Interworking type. |
pwClassTable.CtrlWord |
String |
|
Control word. |
pwClassTable.MasterRed |
String |
|
Master redundancy. |
pwClassTable.PrefPathEnabled |
String |
|
Preferred path enabled. |
pwClassTable.TunnType |
String |
|
Tunnel type. Considered only if PrefPathEnabled is true. |
pwClassTable.TunnNum |
Integer |
— |
Tunnel number. Considered only if PrefPathEnabled is true. |
pwClassTable.DisFallback |
String |
|
Disable fallback. Considered only if PrefPathEnabled is true. |
pwClassTable.SeqEnabled |
String |
|
Sequencing enabled. |
pwClassTable.SeqOper |
|
|
Sequencing operation. Considered only if SeqEnabled is true. |
pwClassTable.ResyncTimer |
Integer |
— |
Resync Timer. Considered only if SeqEnabled is true. |
pwClassTable.StaticOAMEnabled |
String |
|
Static OAM enabled. |
pwClassTable. StaticOamClass |
String |
— |
Static OAM Class. Considered only if StatOAMEnabled is true. |
pwClassTable.BFDoVCCVEnabled |
String |
|
BFD over CCV (BFDoCCV) enabled. |
pwClassTable.BfdTemplate |
String |
— |
BFD template. |
pwClassTable. AcStat |
String |
|
AC status signaling. Considered only if BFDoVCCVEnabled is true. |
qoSPolicies |
String |
Comma-separated policy names |
Applies to the TCProfile names; for example:
- class-map xxxx
- policy-map yyy
- action zzz
- table-map kkk
|
routerIdName |
String |
Up to 200 characters in length |
MPLS-TP router ID name; for example, loopback0. |
routerIdIpAddr |
String |
IP Address (Ipv4) |
Loopback IP address. |
routerIdMask |
String |
IP Address Mask (Ipv4) |
Loopback net mask. |
The pwClassTable attributes are all required if at least one of the pwClassTable attribute is specified. The attributes values are not passed in the creation request sent to the node if:
- pwClassTable.PrefPathEnabled is false, the pwClassTable.TunnType, pwClassTable.TunnNum, pwClassTable.DisFallback attributes are required, but the content is not passed to the node in the creation command.
- pwClassTable.SeqEnabled is true and pwClassTable.Protocol attribute is NONE, the pwClassTable.ResyncTimer attribute is required, but the content is not passed to the node in the creation command.
- pwClassTable.SeqEnabled is false, the pwClassTable.SeqOper and pwClassTable.ResyncTimer attributes are required, but the content is not passed to the node in the creation command.
- pwClassTable.StaticOAMenabled is false, the pwClassTable.StaticOamClass attribute is required, but the content is not passed to the node in the creation command.
- pwClassTable.BFDoVCCVEnabled is false, the pwClassTable.BfdTemplate and pwClassTable.AcStat attributes are required, but the content is not passed to the node in the creation command.
If pwClass creation or modification fails, an exception is returned if:
- The attribute values do not match the attribute description listed in the table.
- pwClassTable.Name is empty.
- pwClassTable.Interwork is not NONE and pwClassTable.SeqEnabled is true.
- pwClassTable.StaticOAMEnabled is true and pwClassTable.StaticOamClass is an empty string ("").
- pwClassTable.BFDoVCCVEnabled is true and pwClassTable.BfdTemplate is an empty string ("").
- pwClassTable.BFDoVCCVEnabled is true and pwClassTable.CtrlWord is false.
- pwClassTable.Protocol is NONE; and pwClassTable.BFDoVCCVEnabled, pwClassTable.StaticOAMEnabled, and pwClassTable.AcStat are true.
- pwClassTable.Protocol is LDP and pwClassTable.StaticOAMEnabled is true.
- pwClassTable.Protocol is LDP and pwClassTable.StaticOAMEnabled is false and pwClassTable.AcStat is true.
- pwClassTable.PrefPathEnabled is true, pwClassTable.TunnType is TP, and pwClassTable.Protocol is LDP.
If pwClass deletion fails, an exception is returned if:
- The attribute values do not match the attribute description listed in the table.
- pwClassTable.Name is empty.
The following table shows an example of adding a pseudowire class.
|
|
|
|
|
|
|
|
|
|
|
Pw-300 |
add |
MPLS |
NONE |
ETHERNET |
true |
true |
TP |
300 |
true |
TRANSMIT |
The following table shows an example of deleting a pseudowire class.
|
|
|
|
|
|
|
|
|
|
|
Pw-301 |
rem |
MPLS |
LDP |
ETHERNET |
false |
false |
TP |
301 |
true |
TRANSMIT |
The following table shows an example of modifying a pseudowire class.
|
|
|
|
|
|
|
|
|
|
|
Pw-302 |
mod |
MPLS |
LDP |
VLAN |
true |
true |
TP |
302 |
true |
TRANSMIT |
GateWay/CORBA NBI Result
pwClassTable.OperType = "add"
pwClassTable.Name= "Pw-300"
pwClassTable.Encaps= "MPLS"
pwClassTable.Protocol= "NONE"
pwClassTable.Interwork= "ETHERNET"
pwClassTable.CtrlWord= "true"
pwClassTable.PrefPath= "true"
pwClassTable.TunnType= "TP"
pwClassTable.TunnNum= "300"
pwClassTable.EnableSeq= "true"
pwClassTable.SeqMode= "Transmit"
You can add, modify, or delete only one row in the table.
4.7.4 Pseudowire QoS Provisioning Interface
When you create a pseudowire, specify the QoS policies to be associated to the pseudowire drops. If you specify policy maps, they must be available in the given ME the Ethernet drop belongs to.
Use Case Description
1.
Create the TC profiles for policy maps, class maps, actions, and table maps using the createTCProfile interface. The new policies are stored in the EMS database, not in the ME.
2.
Modify and delete QoS policies through the modifyTCProfile and deleteTCProfile interfaces.
3.
Associate the given policies that are already present in the EMS database to an ME using the setAdditionalInfo interface, which downloads the given policies to the NE.
4.
Use the getManagedElement interface to get the QoS policies present in an ME. The QoS policy names are returned with the additional parameters.
5.
When you create a pseudowire, specify the desired QoS policy map names (at ingress and egress) as additional parameters at pseudowire endpoints within the createAndActivateFDFr interface.
This section describes the following interface:
4.7.4.1 TCProfileMgr::setAdditionalInfo
Synopsis
public void setAdditionalInfo(NameAndStringValue_T[] objectName,
NVSList_THolder additionalInfo)
throws ProcessingFailureException
Description
This interface allows you to associate a list of QoS policies to an ME. The NMS provides the ME name in the objectName parameter and the list of QoS policies in the additionalInfo parameter. The EMS returns the list of policies whose provisioning has succeeded on the given ME in the additionalInfo parameter. If provisioning failed for all the given QoS policies, the additionalInfo output contains an empty array.
The following table describes the parameters for additionalInfo in TCProfileMgr::setAdditionalInfo.
|
|
|
class-map |
String |
(Optional) The user label of the class map. |
policy-map |
String |
(Optional) The user label of the policy map. |
table-map |
String |
(Optional) The user label of the table map. |
Each tuple is optional, but can be repeated as many times as needed to direct the EMS to provision multiple class maps, policy maps, and table maps on an ME. The order is irrelevant.
Note
You cannot modify or delete TC profiles that are provisioned on the node with the current API implementation.