/*
* CDDL HEADER START
*
* The contents of this file are subject to the terms of the
* Common Development and Distribution License (the "License").
* You may not use this file except in compliance with the License.
*
* You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
* See the License for the specific language governing permissions
* and limitations under the License.
*
* When distributing Covered Code, include this CDDL HEADER in each
* file and include the License file at usr/src/OPENSOLARIS.LICENSE.
* If applicable, add the following below this CDDL HEADER, with the
* fields enclosed by brackets "[]" replaced with your own identifying
* information: Portions Copyright [yyyy] [name of copyright owner]
*
* CDDL HEADER END
*/
/*
* Copyright 2007 Sun Microsystems, Inc. All rights reserved.
* Use is subject to license terms.
*/
#ifndef _SYS_IB_IB_TYPES_H
#define _SYS_IB_IB_TYPES_H
#pragma ident "%Z%%M% %I% %E% SMI"
/*
*
* Data definitions for all IBTA primitive data types.
*/
#ifdef __cplusplus
extern "C" {
#endif
/*
* Addressing types
* See Chapter 4 of the IBTA Volume 1 IB specification for more details.
*/
/* LID Ranges */
/* Unicast GID & Multicast GID */
typedef struct ib_ucast_gid_s {
typedef struct ib_mcast_gid_s {
typedef struct ib_gid_s {
union {
} gid;
} ib_gid_t;
/* Multicast GID. */
/* Multicast Address Scope. */
/* Multicast Join State. */
/*
* IP-on-IB Multicast GIDs
*
* IPV4 gid_prefix:
* IB_MCGID_IPV4_PREFIX
* IB_MCGID_SCOPE_MASK
* IB_MCGID_IP_PKEY_MASK
* IPV4 gid_guid:
* IB_MCGID_IPV4_LOW_GROUP_MASK
*
* IPV6 gid_prefix:
* IB_MCGID_IPV6_PREFIX
* IB_MCGID_SCOPE_MASK
* IB_MCGID_IP_PKEY_MASK
* IB_MCGID_IPV6_HI_GROUP_MASK
* IPV6 gid_guid:
* entire gid_guid holds low part of group ID
*/
/*
* PKeys and QKeys
*/
/*
* General IBT types
*/
/* which includes a terminating NULL */
/* MTU Size */
typedef enum {
IB_MTU_NOT_SPECIFIED = 0,
} ib_mtu_t;
/*
* Infiniband Identifiers, based on Administration Group Number (AGN) codes
* there are different types of Service IDs which identifies the group.
* The first byte of the Service ID comprises of AGN field and following
* specifies the values for AGN field.
*
* 0x0 - IBTA assigned Ids (WellKnown)
* 0x1 - IETF (any category)
* 0x2 - Locally assigned Ids with limited cacheability
* 0x10 to 0x1f - External Organizations assigned Ids (Well Known)
* others - Reserved
*/
#ifdef __cplusplus
}
#endif
#endif /* _SYS_IB_IB_TYPES_H */