dapl_vendor.h revision 9517:b4839b0aa7a4
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
46extern "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