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

vipquerynic.c

Go to the documentation of this file.
00001 /********************************************************
00002  * Myricom VI-GM  networking software and documentation *
00003  * Copyright (c) 2001 by Myricom, Inc.                  *
00004  * All rights reserved.                                 *
00005  * See the file `COPYING' for copyright notice.         *
00006  ********************************************************/
00007 
00013 #include "vipl_priv.h"
00014 
00015 
00036 VIP_ENTRY_POINT VIP_RETURN
00037 VipQueryNic (VIP_NIC_HANDLE NicHandle, VIP_NIC_ATTRIBUTES * NicAttribs)
00038 {
00039   VIP_NIC *vip_nic_ptr;
00040   VIP_GM *vip_gm_ptr;
00041   VIP_DEBUG_LABEL (("VipQueryNic"));
00042 
00043 
00044   if (NicAttribs == NULL)
00045     {
00046       VIP_DEBUG (("NicAttribs is null"));
00047       return VIP_INVALID_PARAMETER;
00048     }
00049 
00050   /* static information */
00051   NicAttribs->HardwareVersion = VI_GM_HARDWARE_VERSION;
00052   NicAttribs->ProviderVersion = VI_GM_PROVIDER_VERSION;
00053   NicAttribs->NicAddressLen = VI_GM_MAC_ADDRESS_LEN;
00054   NicAttribs->ThreadSafe = VI_GM_THREAD_SAFE;
00055   NicAttribs->MaxDiscriminatorLen = VI_GM_MAX_DISCRIMINATOR_LEN;
00056   NicAttribs->MaxRegisterBytes = VI_GM_MAX_REGISTER_BYTES;
00057   NicAttribs->MaxRegisterRegions = VI_GM_MAX_REGISTER_REGIONS;
00058   NicAttribs->MaxRegisterBlockBytes = VI_GM_MAX_REGISTER_BLOCK_BYTES;
00059   NicAttribs->MaxVI = VI_GM_MAX_VI;
00060   NicAttribs->MaxDescriptorsPerQueue = VI_GM_MAX_DESCRIPTOR_PER_QUEUE;
00061   NicAttribs->MaxSegmentsPerDesc = VI_GM_MAX_SEGMENTS_PER_DESCRIPTOR;
00062   NicAttribs->MaxCQ = VI_GM_MAX_CQ;
00063   NicAttribs->MaxCQEntries = VI_GM_MAX_CQ_ENTRIES;
00064   NicAttribs->MaxTransferSize = VI_GM_MAX_TRANSFER_SIZE;
00065   NicAttribs->MaxPtags = VI_GM_MAX_PTAGS;
00066   NicAttribs->ReliabilityLevelSupport = VI_GM_RELIABILITY_SUPPORT;
00067   NicAttribs->RDMAReadSupport = VI_GM_ENABLE_RDMAREAD;
00068 
00069   /* check nic handle */
00070   vip_nic_ptr = (VIP_NIC *) NicHandle;
00071   if (VIP_INVALID_NIC_HANDLE (vip_nic_ptr))
00072     {
00073       VIP_DEBUG (("Invalid NIC handle"));
00074       return VIP_INVALID_PARAMETER;
00075     }
00076 
00077   vip_gm_ptr = vip_nic_ptr->vip_gm_ptr;
00078   VIP_MUTEX_LOCK (&(vip_gm_ptr->lock));
00079 
00080   NicAttribs->NativeMTU = gm_mtu (vip_gm_ptr->gm_port);
00081   NicAttribs->LocalNicAddress = vip_gm_ptr->mac_address;
00082   sprintf (NicAttribs->Name, "VINIC%hd", vip_gm_ptr->gm_board_id);
00083 
00084   VIP_DEBUG (("Success"));
00085   VIP_MUTEX_UNLOCK (&(vip_gm_ptr->lock));
00086   return VIP_SUCCESS;
00087 }
VI-GM-1.3 by Myricom © 1997-2006. Documentation generated on 20 May 2006 by doxygen 1.4.4.