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