Main Page | Data Structures | Directories | File List | Data Fields | Globals | Related Pages

vipcreatevi.c File Reference

#include "vipl_priv.h"

Go to the source code of this file.

Functions

VIP_ENTRY_POINT VIP_RETURN VipCreateVi (VIP_NIC_HANDLE NicHandle, VIP_VI_ATTRIBUTES *ViAttribs, VIP_CQ_HANDLE SendCQHandle, VIP_CQ_HANDLE RecvCQHandle, VIP_VI_HANDLE *ViHandle)


Detailed Description

The VI-GM function VipCreateVi implementation.

Definition in file vipcreatevi.c.


Function Documentation

VIP_ENTRY_POINT VIP_RETURN VipCreateVi VIP_NIC_HANDLE  NicHandle,
VIP_VI_ATTRIBUTES ViAttribs,
VIP_CQ_HANDLE  SendCQHandle,
VIP_CQ_HANDLE  RecvCQHandle,
VIP_VI_HANDLE ViHandle
 

VipCreateVi() creates an instance of a Virtual Interface to the specified NIC. The ViAttribs input parameter specifies the initial attributes for this VI instance. The SendCQHandle and RecvCQHandle parameters allow the caller to associate the Work Queues of this VI with a Completion Queue. If one or both of the Work Queues are associated with a Completion Queue, the calling process cannot wait on that queue via VipSendWait() or VipRecvWait().

When a new instance of a VI is created, it begins in the Idle state.

Return values:
VIP_SUCCESS Operation completed successfully.
VIP_ERROR_RESOURCE The operation failed due to insufficient resources.
VIP_INVALID_PARAMETER One of the parameters was invalid.
VIP_INVALID_RELIABILITY_LEVEL The requested reliability level attribute was invalid or not supported.
VIP_INVALID_MTU The maximum transfer size attribute was invalid or not supported.
VIP_INVALID_QOS The quality of service attribute was invalid or not supported.
VIP_INVALID_PTAG The protection tag attribute was invalid.
VIP_INVALID_RDMAREAD The attributes requested support for RDMA Read, but the VI Provider does not support it.
Parameters:
NicHandle (IN) Handle of the associated VI NIC.
ViAttribs (IN) The initial attributes to set for the new VI.
SendCQHandle (IN) The handle of a Completion Queue. If valid, the send Work Queue of this VI will be associated with the Completion Queue. If NULL, the send queue is not associated with any Completion Queue.
RecvCQHandle (IN) The handle of a Completion Queue. If valid, the receiveWork Queue of this VI will be associated with the Completion Queue. If NULL, the receive queue is not associated with any Completion Queue.
ViHandle (OUT) The handle for the newly created VI instance.
See also:
VipDestroyVi VIP_VI
Author:
Patrick Geoffray
Version:
1.0

Definition at line 61 of file vipcreatevi.c.

References VIP_VI::conn_ptr, VIP_VI_QUEUE::count_to_process, VIP_VI_QUEUE::current_desc, VIP_VI_QUEUE::current_mem, VIP_VI_ATTRIBUTES::EnableRdmaRead, VIP_VI_ATTRIBUTES::EnableRdmaWrite, VIP_VI_QUEUE::event, VIP_VI_QUEUE::event_count, VIP_VI_QUEUE::first, VIP_VI_QUEUE::first_notify_handler, VIP_VI::gm_dest_id, VIP_VI::gm_dest_port, VIP_CQ::handle, VIP_VI::index, VIP_VI_QUEUE::last, VIP_VI_QUEUE::last_notify_handler, VIP_VI_ATTRIBUTES::MaxTransferSize, VIP_VI::mtu, VIP_VI::net_remote_nic_index, VIP_VI::net_remote_vi_index, VIP_VI_QUEUE::notify_cancelled, VIP_VI_QUEUE::notify_initialized, VIP_VI_QUEUE::notify_tokens, VIP_VI::pending_callbacks, VIP_VI_ATTRIBUTES::Ptag, VIP_VI::qos, VIP_VI_ATTRIBUTES::QoS, VIP_VI::rdma_write, VIP_VI::recv_queue, VIP_HANDLE::ref_count, VIP_VI::reliability, VIP_VI_ATTRIBUTES::ReliabilityLevel, VIP_VI::send_queue, VIP_VI::state, VIP_VI_QUEUE::total_count, VI_GM_ENABLE_RDMAREAD, VI_GM_MAX_TRANSFER_SIZE, VI_GM_RELIABILITY_SUPPORT, vip_allocate_handle(), VIP_VI_QUEUE::vip_cq_ptr, VIP_DEBUG, VIP_DEBUG_LABEL, VIP_ERROR_RESOURCE, VIP_EVENT_INIT, VIP_FALSE, VIP_HTON_UINT16, VIP_INVALID_CQ_HANDLE, VIP_INVALID_MTU, VIP_INVALID_NIC_HANDLE, VIP_INVALID_PARAMETER, VIP_INVALID_PTAG, VIP_INVALID_PTAG_HANDLE, VIP_INVALID_QOS, VIP_INVALID_RDMAREAD, VIP_INVALID_RELIABILITY_LEVEL, VIP_MUTEX_LOCK, VIP_MUTEX_UNLOCK, VIP_VI::vip_ptag_ptr, VIP_SEMAPHORE_INIT, VIP_SERVICE_RELIABLE_DELIVERY, VIP_SERVICE_RELIABLE_RECEPTION, VIP_SERVICE_UNRELIABLE, VIP_STATE_IDLE, VIP_SUCCESS, and VIP_TRUE.

VI-GM-1.3 by Myricom © 1997-2006. Documentation generated on 20 May 2006 by doxygen 1.4.4.