
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 }
1.4.4.