HBA_SendRNIDV2 Subroutine

Purpose

Issues an RNID ELS to another FC_Port requesting a specified Node Identification Data Format.

Syntax

HBA_STATUS HBA_SendRNIDV2(
		HBA_HANDLE handle,
		HBA_WWN hbaPortWWN,
		HBA_WWN destWWN,
		HBA_UINT32 destFCID,
		HBA_UINT32 NodeIdDataFormat,
		void *pRspBuffer,
		HBA_UINT32 *pRspBufferSize,
);

Description

The HBA_SendRNIDV2 function issues an RNID ELS to another FC_Port requesting a specified Node Identification Data Format.

The destFCID parameter can be set to allow the RNID ELS to be sent to an FC_Port that might not be registered with the name server. If destFCID is set to x'00 00 00', the parameter is ignored. If destFCID is not 0, the HBA API library verifies that the destWWN/destFCID pair match in order to limit visibility that can violate scoping mechanisms (such as soft zoning):

Parameters

Item Description
handle A handle to an open HBA through which the ELS is sent.
hbaPortWWN Port Name of the local HBA end port through which the ELS is sent.
destWWN Port Name of the remote FC_Port to which the ELS is sent.
destFCID Address identifier of the destination to which the ELS is sent if destFCID is nonzero. destFCID is ignored if destFCID is 0.
NodeIdDataFormat Valid value for Node Identification Data Format.
pRSPBuffer Pointer to a buffer to receive the ELS response.
pRSPBufferSize Pointer to the size in bytes of pRspBuffer.

Return Values

The value of the HBA_SendRNIDV2 function is a valid status return value that indicates the reason for completion of the requested function. HBA_STATUS_OK is returned to indicate that the complete LS_ACC to the RNID ELS has been returned. A valid status return value that most closely describes the result of the function should be returned to indicate a reason with no required value.

The return values for the following parameters are as follows:

Item Description
pRspBuffer Remains unchanged. The buffer to which it points contains the payload data from the RNID Reply. Note that if the ELS was rejected, this is the LS_RJT payload. If the size of the reply payload exceeds the size specified in the pRspBufferSize parameter at entry to the function, the returned data is truncated to the size specified in the argument.
pRspBufferSize Remains unchanged. The value of the integer to which it points contains the size in bytes of the complete ELS reply payload. This can exceed the size specified as an argument. This indicates that the data in pRspBuffer has been truncated.

Error Codes

Item Description
HBA_STATUS_ERROR_ELS_REJECT The RNID ELS was rejected by the destination end port.
HBA_STATUS_ERROR_ILLEGAL_WWN The HBA referenced by handle does not contain an end port with Port Name hbaPortWWN.
HBA_STATUS_ERROR_ILLEGAL_FCID The destWWN/destFCID pair conflicts with a discovered Port Name/address identifier pair known by the HBA referenced by handle.
HBA_STATUS_ERROR_ILLEGAL_FCID The N_Port_Name in the RNID response does not match the destWWN.
HBA_STATUS_ERROR Returned to indicate any problem with no required value.