xref: /illumos-gate/usr/src/lib/udapl/udapl_tavor/include/dapl_vendor.h (revision 9e39c5ba00a55fa05777cc94b148296af305e135)
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