xref: /onnv-gate/usr/src/uts/common/sys/ib/clients/of/ofed_kernel.h (revision 12787:45ed97ad3d9f)
112084SPramod.Gunjikar@Sun.COM /*
212084SPramod.Gunjikar@Sun.COM  * This file contains definitions used in the OFED defined user/kernel
312084SPramod.Gunjikar@Sun.COM  * interfaces. These are imported from the OFED headers ib_mad.h, ib_cm.h
412084SPramod.Gunjikar@Sun.COM  * and ib_sa.h. Oracle elects to have and use the contents of these headers
512084SPramod.Gunjikar@Sun.COM  * under and governed  by the OpenIB.org BSD license (see below for full
612084SPramod.Gunjikar@Sun.COM  * license text). However, the following notice accompanied the original
712084SPramod.Gunjikar@Sun.COM  * version of these files:
812084SPramod.Gunjikar@Sun.COM  */
912084SPramod.Gunjikar@Sun.COM 
1012084SPramod.Gunjikar@Sun.COM /* ib_mad.h */
1112084SPramod.Gunjikar@Sun.COM 
1212084SPramod.Gunjikar@Sun.COM /*
1312084SPramod.Gunjikar@Sun.COM  * Copyright (c) 2004 Mellanox Technologies Ltd.  All rights reserved.
1412084SPramod.Gunjikar@Sun.COM  * Copyright (c) 2004 Infinicon Corporation.  All rights reserved.
1512084SPramod.Gunjikar@Sun.COM  * Copyright (c) 2004 Intel Corporation.  All rights reserved.
1612084SPramod.Gunjikar@Sun.COM  * Copyright (c) 2004 Topspin Corporation.  All rights reserved.
1712084SPramod.Gunjikar@Sun.COM  * Copyright (c) 2004-2006 Voltaire Corporation.  All rights reserved.
1812084SPramod.Gunjikar@Sun.COM  *
1912084SPramod.Gunjikar@Sun.COM  * This software is available to you under a choice of one of two
2012084SPramod.Gunjikar@Sun.COM  * licenses.  You may choose to be licensed under the terms of the GNU
2112084SPramod.Gunjikar@Sun.COM  * General Public License (GPL) Version 2, available from the file
2212084SPramod.Gunjikar@Sun.COM  * COPYING in the main directory of this source tree, or the
2312084SPramod.Gunjikar@Sun.COM  * OpenIB.org BSD license below:
2412084SPramod.Gunjikar@Sun.COM  *
2512084SPramod.Gunjikar@Sun.COM  *     Redistribution and use in source and binary forms, with or
2612084SPramod.Gunjikar@Sun.COM  *     without modification, are permitted provided that the following
2712084SPramod.Gunjikar@Sun.COM  *     conditions are met:
2812084SPramod.Gunjikar@Sun.COM  *
2912084SPramod.Gunjikar@Sun.COM  *      - Redistributions of source code must retain the above
3012084SPramod.Gunjikar@Sun.COM  *        copyright notice, this list of conditions and the following
3112084SPramod.Gunjikar@Sun.COM  *        disclaimer.
3212084SPramod.Gunjikar@Sun.COM  *
3312084SPramod.Gunjikar@Sun.COM  *      - Redistributions in binary form must reproduce the above
3412084SPramod.Gunjikar@Sun.COM  *        copyright notice, this list of conditions and the following
3512084SPramod.Gunjikar@Sun.COM  *        disclaimer in the documentation and/or other materials
3612084SPramod.Gunjikar@Sun.COM  *        provided with the distribution.
3712084SPramod.Gunjikar@Sun.COM  *
3812084SPramod.Gunjikar@Sun.COM  * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
3912084SPramod.Gunjikar@Sun.COM  * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
4012084SPramod.Gunjikar@Sun.COM  * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
4112084SPramod.Gunjikar@Sun.COM  * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS
4212084SPramod.Gunjikar@Sun.COM  * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
4312084SPramod.Gunjikar@Sun.COM  * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
4412084SPramod.Gunjikar@Sun.COM  * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
4512084SPramod.Gunjikar@Sun.COM  * SOFTWARE.
4612084SPramod.Gunjikar@Sun.COM  */
4712084SPramod.Gunjikar@Sun.COM 
4812084SPramod.Gunjikar@Sun.COM /* ib_cm.h */
4912084SPramod.Gunjikar@Sun.COM 
5012084SPramod.Gunjikar@Sun.COM /*
5112084SPramod.Gunjikar@Sun.COM  * Copyright (c) 2004, 2005 Intel Corporation.  All rights reserved.
5212084SPramod.Gunjikar@Sun.COM  * Copyright (c) 2004 Topspin Corporation.  All rights reserved.
5312084SPramod.Gunjikar@Sun.COM  * Copyright (c) 2004 Voltaire Corporation.  All rights reserved.
5412084SPramod.Gunjikar@Sun.COM  * Copyright (c) 2005 Sun Microsystems, Inc. All rights reserved.
5512084SPramod.Gunjikar@Sun.COM  *
5612084SPramod.Gunjikar@Sun.COM  * This software is available to you under a choice of one of two
5712084SPramod.Gunjikar@Sun.COM  * licenses.  You may choose to be licensed under the terms of the GNU
5812084SPramod.Gunjikar@Sun.COM  * General Public License (GPL) Version 2, available from the file
5912084SPramod.Gunjikar@Sun.COM  * COPYING in the main directory of this source tree, or the
6012084SPramod.Gunjikar@Sun.COM  * OpenIB.org BSD license below:
6112084SPramod.Gunjikar@Sun.COM  *
6212084SPramod.Gunjikar@Sun.COM  *     Redistribution and use in source and binary forms, with or
6312084SPramod.Gunjikar@Sun.COM  *     without modification, are permitted provided that the following
6412084SPramod.Gunjikar@Sun.COM  *     conditions are met:
6512084SPramod.Gunjikar@Sun.COM  *
6612084SPramod.Gunjikar@Sun.COM  *      - Redistributions of source code must retain the above
6712084SPramod.Gunjikar@Sun.COM  *        copyright notice, this list of conditions and the following
6812084SPramod.Gunjikar@Sun.COM  *        disclaimer.
6912084SPramod.Gunjikar@Sun.COM  *
7012084SPramod.Gunjikar@Sun.COM  *      - Redistributions in binary form must reproduce the above
7112084SPramod.Gunjikar@Sun.COM  *        copyright notice, this list of conditions and the following
7212084SPramod.Gunjikar@Sun.COM  *        disclaimer in the documentation and/or other materials
7312084SPramod.Gunjikar@Sun.COM  *        provided with the distribution.
7412084SPramod.Gunjikar@Sun.COM  *
7512084SPramod.Gunjikar@Sun.COM  * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
7612084SPramod.Gunjikar@Sun.COM  * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
7712084SPramod.Gunjikar@Sun.COM  * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
7812084SPramod.Gunjikar@Sun.COM  * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS
7912084SPramod.Gunjikar@Sun.COM  * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
8012084SPramod.Gunjikar@Sun.COM  * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
8112084SPramod.Gunjikar@Sun.COM  * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
8212084SPramod.Gunjikar@Sun.COM  * SOFTWARE.
8312084SPramod.Gunjikar@Sun.COM  */
8412084SPramod.Gunjikar@Sun.COM 
8512084SPramod.Gunjikar@Sun.COM /* ib_sa.h */
8612084SPramod.Gunjikar@Sun.COM 
8712084SPramod.Gunjikar@Sun.COM /*
8812084SPramod.Gunjikar@Sun.COM  * Copyright (c) 2004 Topspin Communications.  All rights reserved.
8912084SPramod.Gunjikar@Sun.COM  * Copyright (c) 2005 Voltaire, Inc.  All rights reserved.
9012084SPramod.Gunjikar@Sun.COM  * Copyright (c) 2006 Intel Corporation.  All rights reserved.
9112084SPramod.Gunjikar@Sun.COM  *
9212084SPramod.Gunjikar@Sun.COM  * This software is available to you under a choice of one of two
9312084SPramod.Gunjikar@Sun.COM  * licenses.  You may choose to be licensed under the terms of the GNU
9412084SPramod.Gunjikar@Sun.COM  * General Public License (GPL) Version 2, available from the file
9512084SPramod.Gunjikar@Sun.COM  * COPYING in the main directory of this source tree, or the
9612084SPramod.Gunjikar@Sun.COM  * OpenIB.org BSD license below:
9712084SPramod.Gunjikar@Sun.COM  *
9812084SPramod.Gunjikar@Sun.COM  *     Redistribution and use in source and binary forms, with or
9912084SPramod.Gunjikar@Sun.COM  *     without modification, are permitted provided that the following
10012084SPramod.Gunjikar@Sun.COM  *     conditions are met:
10112084SPramod.Gunjikar@Sun.COM  *
10212084SPramod.Gunjikar@Sun.COM  *      - Redistributions of source code must retain the above
10312084SPramod.Gunjikar@Sun.COM  *        copyright notice, this list of conditions and the following
10412084SPramod.Gunjikar@Sun.COM  *        disclaimer.
10512084SPramod.Gunjikar@Sun.COM  *
10612084SPramod.Gunjikar@Sun.COM  *      - Redistributions in binary form must reproduce the above
10712084SPramod.Gunjikar@Sun.COM  *        copyright notice, this list of conditions and the following
10812084SPramod.Gunjikar@Sun.COM  *        disclaimer in the documentation and/or other materials
10912084SPramod.Gunjikar@Sun.COM  *        provided with the distribution.
11012084SPramod.Gunjikar@Sun.COM  *
11112084SPramod.Gunjikar@Sun.COM  * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
11212084SPramod.Gunjikar@Sun.COM  * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
11312084SPramod.Gunjikar@Sun.COM  * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
11412084SPramod.Gunjikar@Sun.COM  * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS
11512084SPramod.Gunjikar@Sun.COM  * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
11612084SPramod.Gunjikar@Sun.COM  * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
11712084SPramod.Gunjikar@Sun.COM  * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
11812084SPramod.Gunjikar@Sun.COM  * SOFTWARE.
11912084SPramod.Gunjikar@Sun.COM  */
12012084SPramod.Gunjikar@Sun.COM #ifndef _SYS_IB_CLIENTS_OF_OFED_KERNEL_H
12112084SPramod.Gunjikar@Sun.COM #define	_SYS_IB_CLIENTS_OF_OFED_KERNEL_H
12212084SPramod.Gunjikar@Sun.COM #ifdef __cplusplus
12312084SPramod.Gunjikar@Sun.COM extern "C" {
12412084SPramod.Gunjikar@Sun.COM #endif
12512084SPramod.Gunjikar@Sun.COM 
12612084SPramod.Gunjikar@Sun.COM #include <sys/ib/clients/of/ofa_solaris.h>
12712084SPramod.Gunjikar@Sun.COM #include <sys/ib/clients/of/rdma/ib_verbs.h>
12812084SPramod.Gunjikar@Sun.COM #include <sys/ib/clients/of/rdma/ib_user_verbs.h>
12912084SPramod.Gunjikar@Sun.COM #include <sys/ib/clients/of/rdma/ib_user_mad.h>
13012084SPramod.Gunjikar@Sun.COM 
13112084SPramod.Gunjikar@Sun.COM 
13212084SPramod.Gunjikar@Sun.COM /*
13312084SPramod.Gunjikar@Sun.COM  * From ib_mad.h
13412084SPramod.Gunjikar@Sun.COM  */
13512084SPramod.Gunjikar@Sun.COM enum {
13612084SPramod.Gunjikar@Sun.COM 	IB_MGMT_MAD_HDR = 24,
13712084SPramod.Gunjikar@Sun.COM 	IB_MGMT_MAD_DATA = 232,
13812084SPramod.Gunjikar@Sun.COM 	IB_MGMT_RMPP_HDR = 36,
13912084SPramod.Gunjikar@Sun.COM 	IB_MGMT_RMPP_DATA = 220,
14012084SPramod.Gunjikar@Sun.COM 	IB_MGMT_VENDOR_HDR = 40,
14112084SPramod.Gunjikar@Sun.COM 	IB_MGMT_VENDOR_DATA = 216,
14212084SPramod.Gunjikar@Sun.COM 	IB_MGMT_SA_HDR = 56,
14312084SPramod.Gunjikar@Sun.COM 	IB_MGMT_SA_DATA = 200,
14412084SPramod.Gunjikar@Sun.COM 	IB_MGMT_DEVICE_HDR = 64,
14512084SPramod.Gunjikar@Sun.COM 	IB_MGMT_DEVICE_DATA = 192,
146*12787SLida.Horn@Oracle.COM 	IB_MGMT_SNMP_HDR = 56,
147*12787SLida.Horn@Oracle.COM 	IB_MGMT_SNMP_DATA = 64,
14812084SPramod.Gunjikar@Sun.COM };
14912084SPramod.Gunjikar@Sun.COM 
15012084SPramod.Gunjikar@Sun.COM /*
15112084SPramod.Gunjikar@Sun.COM  * From ib_cm.h
15212084SPramod.Gunjikar@Sun.COM  */
15312084SPramod.Gunjikar@Sun.COM enum ib_cm_sidr_status {
15412084SPramod.Gunjikar@Sun.COM 	IB_SIDR_SUCCESS,
15512084SPramod.Gunjikar@Sun.COM 	IB_SIDR_UNSUPPORTED,
15612084SPramod.Gunjikar@Sun.COM 	IB_SIDR_REJECT,
15712084SPramod.Gunjikar@Sun.COM 	IB_SIDR_NO_QP,
15812084SPramod.Gunjikar@Sun.COM 	IB_SIDR_REDIRECT,
15912084SPramod.Gunjikar@Sun.COM 	IB_SIDR_UNSUPPORTED_VERSION
16012084SPramod.Gunjikar@Sun.COM };
16112084SPramod.Gunjikar@Sun.COM 
16212084SPramod.Gunjikar@Sun.COM /*
16312084SPramod.Gunjikar@Sun.COM  * From ib_sa.h
16412084SPramod.Gunjikar@Sun.COM  */
16512084SPramod.Gunjikar@Sun.COM struct ib_sa_path_rec {
16612084SPramod.Gunjikar@Sun.COM 	uint64_t	service_id;
16712084SPramod.Gunjikar@Sun.COM 	union ib_gid	dgid;
16812084SPramod.Gunjikar@Sun.COM 	union ib_gid	sgid;
16912084SPramod.Gunjikar@Sun.COM 	uint16_t	dlid;
17012084SPramod.Gunjikar@Sun.COM 	uint16_t	slid;
17112084SPramod.Gunjikar@Sun.COM 	int		raw_traffic;
17212084SPramod.Gunjikar@Sun.COM 	/* reserved */
17312084SPramod.Gunjikar@Sun.COM 	uint32_t	flow_label;
17412084SPramod.Gunjikar@Sun.COM 	uint8_t		hop_limit;
17512084SPramod.Gunjikar@Sun.COM 	uint8_t		traffic_class;
17612084SPramod.Gunjikar@Sun.COM 	int		reversible;
17712084SPramod.Gunjikar@Sun.COM 	uint8_t		numb_path;
17812084SPramod.Gunjikar@Sun.COM 	uint16_t	pkey;
17912084SPramod.Gunjikar@Sun.COM 	uint16_t	qos_class;
18012084SPramod.Gunjikar@Sun.COM 	uint8_t		sl;
18112084SPramod.Gunjikar@Sun.COM 	uint8_t		mtu_selector;
18212084SPramod.Gunjikar@Sun.COM 	uint8_t		mtu;
18312084SPramod.Gunjikar@Sun.COM 	uint8_t		rate_selector;
18412084SPramod.Gunjikar@Sun.COM 	uint8_t		rate;
18512084SPramod.Gunjikar@Sun.COM 	uint8_t		packet_life_time_selector;
18612084SPramod.Gunjikar@Sun.COM 	uint8_t		packet_life_time;
18712084SPramod.Gunjikar@Sun.COM 	uint8_t		preference;
18812084SPramod.Gunjikar@Sun.COM };
18912084SPramod.Gunjikar@Sun.COM 
19012084SPramod.Gunjikar@Sun.COM #ifdef __cplusplus
19112084SPramod.Gunjikar@Sun.COM }
19212084SPramod.Gunjikar@Sun.COM #endif
19312084SPramod.Gunjikar@Sun.COM #endif /* _SYS_IB_CLIENTS_OF_OFED_KERNEL_H */
194