|
|
|
|
An MDS-level application uses this verb to send network management data in MDS_MU format. An MDS-level application can also send data in NMVT format using TRANSFER_MS_DATA. To send alert information, always use TRANSFER_MS_DATA. Do not use SEND_MDS_MU to send alert information.
The application can supply a complete MDS_MU to be sent, or it can supply some of the required subvectors and request SNAP-IX to add additional subvectors. For more information about the format of MDS_MUs, including the format of the subvectors that SNAP-IX adds, refer to IBM Systems Network Architecture: Formats.
If the destination application is NMVT-level, SNAP-IX automatically converts the supplied MDS_MU to an NMVT.
An error that occurs while sending the MDS_MU to the destination application is reported to the application in different ways, depending on where it is detected:
If the SNAP-IX local node detects an error, it returns an error return code to the SEND_MDS_MU verb.
If a remote node detects an error, it sends an error MDS_MU. SNAP-IX returns the error MDS_MU to the application in an MDS_MU_RECEIVED indication, provided the application has registered to receive MDS_MUs.
typedef struct send_mds_mu
{
AP_UINT16 opcode; /* Verb operation code */
unsigned char reserv2; /* reserved */
unsigned char format; /* reserved */
AP_UINT16 primary_rc; /* Primary return code */
AP_UINT32 secondary_rc; /* Secondary return code */
unsigned char options; /* Verb options */
unsigned char reserv3; /* reserved */
unsigned char originator_id[8]; /* Originator ID */
unsigned char pu_name[8]; /* Physical unit name */
unsigned char reserv4[4]; /* reserved */
AP_UINT16 dlen; /* Length of data */
unsigned char *dptr; /* Data */
} SEND_MDS_MU;
An application supplies the following parameters when it issues SEND_MDS_MU:
This parameter is a one-byte value, with individual bits used as follows to indicate the options selected. Bit 0 is the most significant and bit 7 is the least significant bit. For compatibility with other implementations, the bit values for bits 0-3 are defined so that a value of 1 indicates no action and a value of 0 indicates an action.
Add Date/Time subvector to the data. Set this bit to one of the following values:
Requests that SNAP-IX add the subvector
Requests that SNAP-IX not add the subvector
Add Product Set ID subvector to the data. Set this bit to one of the following:
Requests that SNAP-IX add the subvector. If the application supplies data that already contains a Product Set ID subvector, SNAP-IX adds its own Product Set ID subvector immediately preceding the existing one.
Requests that SNAP-IX not add the subvector.
Reserved. Must be set to 0.
Log the data in the SNAP-IX error log file. Set this bit to one of the following:
Requests that SNAP-IX log the data.
Requests that SNAP-IX not log the data.
Specifies whether MS is to use default or direct routing to send the MS data to the destination application. Set this bit to one of the following:
Requests that SNAP-IX use default routing. Specify default routing
unless the application has received an FP_NOTIFICATION indication that describes
the destination application and has the fp_routing
parameter set to
Requests that SNAP-IX use direct routing.
Reserved. Must be set to 0.
Name of the component that issued the verb. If the data is being logged in the SNAP-IX error log file, this name is used to identify the originator of the log message; otherwise, it is not used.
This optional parameter is an ASCII string of up to eight characters, using any locally displayable characters. Set the first character to 0x00 if you do not want to include it.
Destination physical unit for this MDS-MU. Set this to one of the following:
Specify an 8-byte type-A EBCDIC string, padded to the right with EBCDIC spaces (0x40). Applications that use SEND_MDS_MU to respond to MDS_MU_RECEIVED indications that were converted from incoming NMVTs should specify the pu_name received in the MDS_MU_RECEIVED indication.
In this case, the pu_name must match a pu_name specified on the definition of a link station (LS); the MDS_MU is sent over this link station. For more information about defining an LS, refer to SNAP-IX Administration Guide.
Use this value for MDS_MUs that are to be transported using the normal MDS routing protocols.
Length of the data string supplied by the application.
A pointer to the data string supplied by the application. This data string must contain a complete MDS_MU, except as follows:
If the application used the options parameter to add one or more subvectors, these subvectors can be omitted from the supplied data.
The Origin Net ID and Origin NAU Name fields can be set to all EBCDIC spaces (0x40 ); in this case, SNAP-IX fills in the appropriate information before sending the data.
After the verb executes, SNAP-IX returns parameters to indicate whether the execution was successful and, if not, to indicate the reason the execution was not successful.
If the verb executes successfully, SNAP-IX returns the following parameter:
AP_OK
SNAP-IX does not return a secondary_rc when the verb executes successfully.
When a verb does not execute successfully, SNAP-IX returns a primary return code to indicate the type of error and a secondary return code to provide specific details about the reason for unsuccessful execution.
If the verb does not execute because of a parameter error, SNAP-IX returns the following parameters:
AP_PARAMETER_CHECK
One of the following:
The length field in the supplied MDS_MU does not correspond to the value in the dlen parameter.
The supplied data string does not contain a valid MDS_MU.
SNAP-IX cannot find an active PU with the name specified by the supplied pu_name parameter.
If the verb fails to execute because of a state error, SNAP-IX returns the following parameters:
AP_STATE_CHECK
One of the following:
The application specified a PU name, but no session exists between this PU and an SSCP.
This verb was issued using the synchronous entry point, but another synchronous verb was in progress for this target handle. Only one synchronous verb can be in progress on a particular target handle at any time.
The application used the synchronous MS entry point to issue this verb within a callback routine. The application must use the asynchronous entry point to issue any verb from a callback routine.
If the verb does not execute because the SNAP-IX software is not active, SNAP-IX returns the following parameter:
The SNAP-IX software has failed.
SNAP-IX does not return a secondary_rc when the SNAP-IX software is not active.
If the verb does not execute because the SNAP-IX configuration does not allow it, SNAP-IX returns the following parameter:
The SNAP-IX local node is not configured to support MDS-level network management applications. Only NMVT-level applications can be used.
SNAP-IX does not return a secondary_rc when it is not configured for MDS-LEVEL support.
If the verb does not execute because of a system error, SNAP-IX returns the following parameters:
An operating system call failed during processing of the verb.
The return code from the operating system call. For the meaning of this return code, check the returned value in the file /usr/include/sys/errno.h .
|
|
|
|
|