1 /* 2 * CDDL HEADER START 3 * 4 * The contents of this file are subject to the terms of the 5 * Common Development and Distribution License (the "License"). 6 * You may not use this file except in compliance with the License. 7 * 8 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 9 * or http://www.opensolaris.org/os/licensing. 10 * See the License for the specific language governing permissions 11 * and limitations under the License. 12 * 13 * When distributing Covered Code, include this CDDL HEADER in each 14 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 15 * If applicable, add the following below this CDDL HEADER, with the 16 * fields enclosed by brackets "[]" replaced with your own identifying 17 * information: Portions Copyright [yyyy] [name of copyright owner] 18 * 19 * CDDL HEADER END 20 */ 21 22 /* 23 * Copyright (c) 2002-2003, Network Appliance, Inc. All rights reserved. 24 */ 25 26 /* 27 * Copyright 2004 Sun Microsystems, Inc. All rights reserved. 28 * Use is subject to license terms. 29 */ 30 31 /* 32 * 33 * HEADER: dapl_vendor.h 34 * 35 * PURPOSE: 36 * Vendor provides values for their implementation. Most of 37 * these values are returned in the DAT_IA_ATTR parameter of 38 * dat_ia_query() 39 * 40 */ 41 42 #ifndef _DAPL_VENDOR_H_ 43 #define _DAPL_VENDOR_H_ 44 45 #ifdef __cplusplus 46 extern "C" { 47 #endif 48 49 /* 50 * DAT_IA_ATTR attributes 51 * 52 * These values are used in the provider support routine 53 * dapls_ib_query_hca (). Many of the values there are HW 54 * specific, the the vendor should look to make sure they are 55 * appropriate for their implementation. Specifically, 56 * vendors are encouraged to update transport and vendor 57 * attributes: the reference implementation sets these to NULL. 58 */ 59 60 /* 61 * Product name of the adapter. 62 * Returned in DAT_IA_ATTR.adapter_name 63 * adapter name is limited to DAT_NAME_MAX_LENGTH 64 */ 65 #define VN_ADAPTER_NAME "InfiniBand HCA Tavor" 66 67 68 /* 69 * Vendor name 70 * Returned in DAT_IA_ATTR.vendor_name 71 */ 72 #define VN_VENDOR_NAME "SUNW" 73 74 75 /* 76 * PROVIDER Attributes 77 * 78 * These values are used in ./common/dapl_ia_query.c, in dapl_ia_query (). 79 * The values below are the most common for vendors to change, but 80 * there are several other values that may be updated once the 81 * implementation becomes mature. 82 * 83 */ 84 85 /* 86 * Provider Versions 87 * Returned in DAT_PROVIDER_ATTR.provider_version_major and 88 * DAT_PROVIDER_ATTR.provider_version_minor 89 */ 90 91 #define VN_PROVIDER_MAJOR 1 92 #define VN_PROVIDER_MINOR 0 93 94 /* 95 * Provider support for memory types. The reference implementation 96 * always supports DAT_MEM_TYPE_VIRTUAL and DAT_MEM_TYPE_LMR, so 97 * the vendor must indicate if they support DAT_MEM_TYPE_SHARED_VIRTUAL. 98 * Set this value to '1' if DAT_MEM_TYPE_SHARED_VIRTUAL is supported. 99 * 100 * Returned in DAT_PROVIDER_ATTR.lmr_mem_types_supported 101 */ 102 103 #define VN_MEM_SHARED_VIRTUAL_SUPPORT 1 104 105 106 /* 107 * 108 * This value will be assigned to dev_name_prefix in ./udapl/dapl_init.c. 109 * 110 * DAT is designed to support multiple DAPL instances simultaneously, 111 * with different dapl libraries originating from different providers. 112 * There is always the possibility of name conflicts, so a dat name 113 * prefix is provided to make a vendor's adapter name unique. This is 114 * especially true of the IBM Access API, which returns adapter 115 * names that are simply ordinal numbers (e.g. 0, 1, 2). If 116 * a vendor doesn't need or want a prefix, it should be left 117 * as a NULL (use ""). 118 * 119 * Values that might be used: 120 * #define VN_PREFIX "jni" (JNI: OS Acces API) 121 * #define VN_PREFIX "ibm" (IBM: OS Acces API) 122 * #define VN_PREFIX "" (Mellanox: VAPI) 123 * #define VN_PREFIX "" (Intel: IB Common API) 124 */ 125 #define VN_PREFIX "" 126 127 #ifdef __cplusplus 128 } 129 #endif 130 131 #endif /* _DAPL_VENDOR_H_ */ 132