Previous Page Contents Page Next Page

3.5 SEND_MDS_MU

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:

3.5.1 VCB Structure

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; 

3.5.2 Supplied Parameters

An application supplies the following parameters when it issues SEND_MDS_MU:

opcode

AP_SEND_MDS_MU

options

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.

Bit 0

Add Date/Time subvector to the data. Set this bit to one of the following values:

0

Requests that SNAP-IX add the subvector

1

Requests that SNAP-IX not add the subvector

Bit 1

Add Product Set ID subvector to the data. Set this bit to one of the following:

0

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.

1

Requests that SNAP-IX not add the subvector.

Bit 2

Reserved. Must be set to 0.

Bit 3

Log the data in the SNAP-IX error log file. Set this bit to one of the following:

0

Requests that SNAP-IX log the data.

1

Requests that SNAP-IX not log the data.

Bit 4

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:

0

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 AP_DIRECT. For more information, see FP_NOTIFICATION.

1

Requests that SNAP-IX use direct routing.

Bits 5-7

Reserved. Must be set to 0.

originator_id

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.

pu_name

Destination physical unit for this MDS-MU. Set this to one of the following:

A name of a PU

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.

All binary zeros

Use this value for MDS_MUs that are to be transported using the normal MDS routing protocols.

dlen

Length of the data string supplied by the application.

dptr

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.

3.5.3 Returned Parameters

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.

Successful Execution

If the verb executes successfully, SNAP-IX returns the following parameter:

primary_rc

AP_OK

SNAP-IX does not return a secondary_rc when the verb executes successfully.

Unsuccessful Execution

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.

Parameter Check

If the verb does not execute because of a parameter error, SNAP-IX returns the following parameters:

primary_rc

AP_PARAMETER_CHECK

secondary_rc

One of the following:

AP_INVALID_DATA_SIZE

The length field in the supplied MDS_MU does not correspond to the value in the dlen parameter.

AP_INVALID_MDS_MU_FORMAT

The supplied data string does not contain a valid MDS_MU.

AP_INVALID_PU_NAME

SNAP-IX cannot find an active PU with the name specified by the supplied pu_name parameter.

State Check

If the verb fails to execute because of a state error, SNAP-IX returns the following parameters:

primary_rc

AP_STATE_CHECK

secondary_rc

One of the following:

AP_SSCP_PU_SESSION_NOT_ACTIVE

The application specified a PU name, but no session exists between this PU and an SSCP.

AP_SYNC_PENDING

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.

AP_SYNC_NOT_ALLOWED

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.

SNAP-IX Software Not Active

If the verb does not execute because the SNAP-IX software is not active, SNAP-IX returns the following parameter:

primary_rc

AP_COMM_SUBSYSTEM_ABENDED

The SNAP-IX software has failed.

SNAP-IX does not return a secondary_rc when the SNAP-IX software is not active.

MDS Support Not Configured

If the verb does not execute because the SNAP-IX configuration does not allow it, SNAP-IX returns the following parameter:

primary_rc

AP_FUNCTION_NOT_SUPPORTED

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.

System Error

If the verb does not execute because of a system error, SNAP-IX returns the following parameters:

primary_rc

AP_UNEXPECTED_SYSTEM_ERROR

An operating system call failed during processing of the verb.

secondary_rc

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 .

Previous Page Contents Page Top of Page Next page