Blame include/opensm/osm_base.h

Packit 13e616
/*
Packit 13e616
 * Copyright (c) 2004-2009 Voltaire, Inc. All rights reserved.
Packit 13e616
 * Copyright (c) 2002-2011 Mellanox Technologies LTD. All rights reserved.
Packit 13e616
 * Copyright (c) 1996-2003 Intel Corporation. All rights reserved.
Packit 13e616
 * Copyright (c) 2009 Sun Microsystems, Inc. All rights reserved.
Packit 13e616
 *
Packit 13e616
 * This software is available to you under a choice of one of two
Packit 13e616
 * licenses.  You may choose to be licensed under the terms of the GNU
Packit 13e616
 * General Public License (GPL) Version 2, available from the file
Packit 13e616
 * COPYING in the main directory of this source tree, or the
Packit 13e616
 * OpenIB.org BSD license below:
Packit 13e616
 *
Packit 13e616
 *     Redistribution and use in source and binary forms, with or
Packit 13e616
 *     without modification, are permitted provided that the following
Packit 13e616
 *     conditions are met:
Packit 13e616
 *
Packit 13e616
 *      - Redistributions of source code must retain the above
Packit 13e616
 *        copyright notice, this list of conditions and the following
Packit 13e616
 *        disclaimer.
Packit 13e616
 *
Packit 13e616
 *      - Redistributions in binary form must reproduce the above
Packit 13e616
 *        copyright notice, this list of conditions and the following
Packit 13e616
 *        disclaimer in the documentation and/or other materials
Packit 13e616
 *        provided with the distribution.
Packit 13e616
 *
Packit 13e616
 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
Packit 13e616
 * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
Packit 13e616
 * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
Packit 13e616
 * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS
Packit 13e616
 * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
Packit 13e616
 * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
Packit 13e616
 * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
Packit 13e616
 * SOFTWARE.
Packit 13e616
 *
Packit 13e616
 */
Packit 13e616
Packit 13e616
/*
Packit 13e616
 * Abstract:
Packit 13e616
 * 	Basic OpenSM definitions.
Packit 13e616
 */
Packit 13e616
Packit 13e616
#ifndef _OSM_BASE_H_
Packit 13e616
#define _OSM_BASE_H_
Packit 13e616
Packit 13e616
#if HAVE_CONFIG_H
Packit 13e616
#  include <config.h>
Packit 13e616
#endif				/* HAVE_CONFIG_H */
Packit 13e616
Packit 13e616
#ifdef __WIN__
Packit 13e616
#include <vendor/winosm_common.h>
Packit 13e616
#endif
Packit 13e616
Packit 13e616
#include <iba/ib_types.h>
Packit 13e616
Packit 13e616
#ifdef __cplusplus
Packit 13e616
#  define BEGIN_C_DECLS extern "C" {
Packit 13e616
#  define END_C_DECLS   }
Packit 13e616
#else				/* !__cplusplus */
Packit 13e616
#  define BEGIN_C_DECLS
Packit 13e616
#  define END_C_DECLS
Packit 13e616
#endif				/* __cplusplus */
Packit 13e616
Packit 13e616
BEGIN_C_DECLS
Packit 13e616
/****h* OpenSM/Constants
Packit 13e616
* NAME
Packit 13e616
*	Constants
Packit 13e616
*
Packit 13e616
* DESCRIPTION
Packit 13e616
*	The following constants are used throughout the OpenSM.
Packit 13e616
*
Packit 13e616
* AUTHOR
Packit 13e616
*	Steve King, Intel
Packit 13e616
*
Packit 13e616
*********/
Packit 13e616
/****d* OpenSM: OSM_DEFAULT_M_KEY
Packit 13e616
* NAME
Packit 13e616
*	OSM_DEFAULT_M_KEY
Packit 13e616
*
Packit 13e616
* DESCRIPTION
Packit 13e616
*	Managment key value used by the OpenSM.
Packit 13e616
*
Packit 13e616
* SYNOPSIS
Packit 13e616
*/
Packit 13e616
#define OSM_DEFAULT_M_KEY 0
Packit 13e616
/********/
Packit 13e616
/****d* OpenSM: OSM_DEFAULT_SM_KEY
Packit 13e616
* NAME
Packit 13e616
*	OSM_DEFAULT_SM_KEY
Packit 13e616
*
Packit 13e616
* DESCRIPTION
Packit 13e616
*	Subnet Manager key value used by the OpenSM.
Packit 13e616
*
Packit 13e616
* SYNOPSIS
Packit 13e616
*/
Packit 13e616
#define OSM_DEFAULT_SM_KEY CL_HTON64(1)
Packit 13e616
/********/
Packit 13e616
/****d* OpenSM: OSM_DEFAULT_SA_KEY
Packit 13e616
* NAME
Packit 13e616
*	OSM_DEFAULT_SA_KEY
Packit 13e616
*
Packit 13e616
* DESCRIPTION
Packit 13e616
*	Subnet Adminstration key value.
Packit 13e616
*
Packit 13e616
* SYNOPSIS
Packit 13e616
*/
Packit 13e616
#define OSM_DEFAULT_SA_KEY OSM_DEFAULT_SM_KEY
Packit 13e616
/********/
Packit 13e616
/****d* OpenSM: OSM_DEFAULT_LMC
Packit 13e616
* NAME
Packit 13e616
*	OSM_DEFAULT_LMC
Packit 13e616
*
Packit 13e616
* DESCRIPTION
Packit 13e616
*	Default LMC value used by the OpenSM.
Packit 13e616
*
Packit 13e616
* SYNOPSIS
Packit 13e616
*/
Packit 13e616
#define OSM_DEFAULT_LMC 0
Packit 13e616
/********/
Packit 13e616
/****d* OpenSM: OSM_DEFAULT_MAX_OP_VLS
Packit 13e616
* NAME
Packit 13e616
*	OSM_DEFAULT_MAX_OP_VLS
Packit 13e616
*
Packit 13e616
* DESCRIPTION
Packit 13e616
*	Default Maximal Operational VLs to be initialized on
Packit 13e616
*  the link ports PortInfo by the OpenSM.
Packit 13e616
*  Default value provides backward compatibility.
Packit 13e616
*
Packit 13e616
* SYNOPSIS
Packit 13e616
*/
Packit 13e616
#define OSM_DEFAULT_MAX_OP_VLS 5
Packit 13e616
/********/
Packit 13e616
/****d* OpenSM: OSM_DEFAULT_SL
Packit 13e616
* NAME
Packit 13e616
*	OSM_DEFAULT_SL
Packit 13e616
*
Packit 13e616
* DESCRIPTION
Packit 13e616
*	Default SL value used by the OpenSM.
Packit 13e616
*
Packit 13e616
* SYNOPSIS
Packit 13e616
*/
Packit 13e616
#define OSM_DEFAULT_SL 0
Packit 13e616
/********/
Packit 13e616
/****d* OpenSM: OSM_DEFAULT_SCATTER_PORTS
Packit 13e616
* NAME
Packit 13e616
*	OSM_DEFAULT_SCATTER_PORTS
Packit 13e616
*
Packit 13e616
* DESCRIPTION
Packit 13e616
*	Default Scatter Ports value used by OpenSM.
Packit 13e616
*
Packit 13e616
* SYNOPSIS
Packit 13e616
*/
Packit 13e616
#define OSM_DEFAULT_SCATTER_PORTS 0
Packit 13e616
/********/
Packit 13e616
/****d* OpenSM: OSM_DEFAULT_SM_PRIORITY
Packit 13e616
* NAME
Packit 13e616
*	OSM_DEFAULT_SM_PRIORITY
Packit 13e616
*
Packit 13e616
* DESCRIPTION
Packit 13e616
*	Default SM priority value used by the OpenSM,
Packit 13e616
*	as defined in the SMInfo attribute.  0 is the lowest priority.
Packit 13e616
*
Packit 13e616
* SYNOPSIS
Packit 13e616
*/
Packit 13e616
#define OSM_DEFAULT_SM_PRIORITY 0
Packit 13e616
/********/
Packit 13e616
/****d* OpenSM: OSM_DEFAULT_TMP_DIR
Packit 13e616
* NAME
Packit 13e616
*	OSM_DEFAULT_TMP_DIR
Packit 13e616
*
Packit 13e616
* DESCRIPTION
Packit 13e616
*	Specifies the default temporary directory for the log file,
Packit 13e616
*  osm-subnet.lst, and other log files.
Packit 13e616
*
Packit 13e616
* SYNOPSIS
Packit 13e616
*/
Packit 13e616
#ifdef __WIN__
Packit 13e616
#define OSM_DEFAULT_TMP_DIR "%TEMP%\\"
Packit 13e616
#else
Packit 13e616
#define OSM_DEFAULT_TMP_DIR "/var/log/"
Packit 13e616
#endif
Packit 13e616
/***********/
Packit 13e616
/****d* OpenSM: OSM_DEFAULT_CACHE_DIR
Packit 13e616
* NAME
Packit 13e616
*	OSM_DEFAULT_CACHE_DIR
Packit 13e616
*
Packit 13e616
* DESCRIPTION
Packit 13e616
*	Specifies the default cache directory for the db files.
Packit 13e616
*
Packit 13e616
* SYNOPSIS
Packit 13e616
*/
Packit 13e616
#ifdef __WIN__
Packit 13e616
#define OSM_DEFAULT_CACHE_DIR "%TEMP%"
Packit 13e616
#else
Packit 13e616
#define OSM_DEFAULT_CACHE_DIR "/var/cache/opensm"
Packit 13e616
#endif
Packit 13e616
/***********/
Packit 13e616
/****d* OpenSM: OSM_DEFAULT_LOG_FILE
Packit 13e616
* NAME
Packit 13e616
*	OSM_DEFAULT_LOG_FILE
Packit 13e616
*
Packit 13e616
* DESCRIPTION
Packit 13e616
*	Specifies the default log file name
Packit 13e616
*
Packit 13e616
* SYNOPSIS
Packit 13e616
*/
Packit 13e616
#ifdef __WIN__
Packit 13e616
#define OSM_DEFAULT_LOG_FILE OSM_DEFAULT_TMP_DIR "osm.log"
Packit 13e616
#else
Packit 13e616
#define OSM_DEFAULT_LOG_FILE "/var/log/opensm.log"
Packit 13e616
#endif
Packit 13e616
/***********/
Packit 13e616
Packit 13e616
/****d* OpenSM: OSM_DEFAULT_CONFIG_FILE
Packit 13e616
* NAME
Packit 13e616
*	OSM_DEFAULT_CONFIG_FILE
Packit 13e616
*
Packit 13e616
* DESCRIPTION
Packit 13e616
*	Specifies the default OpenSM config file name
Packit 13e616
*
Packit 13e616
* SYNOPSIS
Packit 13e616
*/
Packit 13e616
#if defined(HAVE_DEFAULT_OPENSM_CONFIG_FILE)
Packit 13e616
#define OSM_DEFAULT_CONFIG_FILE HAVE_DEFAULT_OPENSM_CONFIG_FILE
Packit 13e616
#elif defined (OPENSM_CONFIG_DIR)
Packit 13e616
#define OSM_DEFAULT_CONFIG_FILE OPENSM_CONFIG_DIR "/opensm.conf"
Packit 13e616
#else
Packit 13e616
#define OSM_DEFAULT_CONFIG_FILE "/etc/opensm/opensm.conf"
Packit 13e616
#endif
Packit 13e616
/***********/
Packit 13e616
Packit 13e616
/****d* OpenSM: OSM_DEFAULT_PARTITION_CONFIG_FILE
Packit 13e616
* NAME
Packit 13e616
*	OSM_DEFAULT_PARTITION_CONFIG_FILE
Packit 13e616
*
Packit 13e616
* DESCRIPTION
Packit 13e616
*	Specifies the default partition config file name
Packit 13e616
*
Packit 13e616
* SYNOPSIS
Packit 13e616
*/
Packit 13e616
#if defined(HAVE_DEFAULT_PARTITION_CONFIG_FILE)
Packit 13e616
#define OSM_DEFAULT_PARTITION_CONFIG_FILE HAVE_DEFAULT_PARTITION_CONFIG_FILE
Packit 13e616
#elif defined(OPENSM_CONFIG_DIR)
Packit 13e616
#define OSM_DEFAULT_PARTITION_CONFIG_FILE OPENSM_CONFIG_DIR "/partitions.conf"
Packit 13e616
#else
Packit 13e616
#define OSM_DEFAULT_PARTITION_CONFIG_FILE "/etc/opensm/partitions.conf"
Packit 13e616
#endif
Packit 13e616
/***********/
Packit 13e616
Packit 13e616
/****d* OpenSM: OSM_DEFAULT_QOS_POLICY_FILE
Packit 13e616
* NAME
Packit 13e616
*	OSM_DEFAULT_QOS_POLICY_FILE
Packit 13e616
*
Packit 13e616
* DESCRIPTION
Packit 13e616
*	Specifies the default QoS policy file name
Packit 13e616
*
Packit 13e616
* SYNOPSIS
Packit 13e616
*/
Packit 13e616
#if defined(HAVE_DEFAULT_QOS_POLICY_FILE)
Packit 13e616
#define OSM_DEFAULT_QOS_POLICY_FILE HAVE_DEFAULT_QOS_POLICY_FILE
Packit 13e616
#elif defined(OPENSM_CONFIG_DIR)
Packit 13e616
#define OSM_DEFAULT_QOS_POLICY_FILE OPENSM_CONFIG_DIR "/qos-policy.conf"
Packit 13e616
#else
Packit 13e616
#define OSM_DEFAULT_QOS_POLICY_FILE "/etc/opensm/qos-policy.conf"
Packit 13e616
#endif
Packit 13e616
/***********/
Packit 13e616
Packit 13e616
/****d* OpenSM: OSM_DEFAULT_TORUS_CONF_FILE
Packit 13e616
* NAME
Packit 13e616
*	OSM_DEFAULT_TORUS_CONF_FILE
Packit 13e616
*
Packit 13e616
* DESCRIPTION
Packit 13e616
*	Specifies the default file name for extra torus-2QoS configuration
Packit 13e616
*
Packit 13e616
* SYNOPSIS
Packit 13e616
*/
Packit 13e616
#ifdef __WIN__
Packit 13e616
#define OSM_DEFAULT_TORUS_CONF_FILE strcat(GetOsmCachePath(), "osm-torus-2QoS.conf")
Packit 13e616
#elif defined(OPENSM_CONFIG_DIR)
Packit 13e616
#define OSM_DEFAULT_TORUS_CONF_FILE OPENSM_CONFIG_DIR "/torus-2QoS.conf"
Packit 13e616
#else
Packit 13e616
#define OSM_DEFAULT_TORUS_CONF_FILE "/etc/opensm/torus-2QoS.conf"
Packit 13e616
#endif /* __WIN__ */
Packit 13e616
/***********/
Packit 13e616
Packit 13e616
/****d* OpenSM: OSM_DEFAULT_PREFIX_ROUTES_FILE
Packit 13e616
* NAME
Packit 13e616
*	OSM_DEFAULT_PREFIX_ROUTES_FILE
Packit 13e616
*
Packit 13e616
* DESCRIPTION
Packit 13e616
*	Specifies the default prefix routes file name
Packit 13e616
*
Packit 13e616
* SYNOPSIS
Packit 13e616
*/
Packit 13e616
#if defined(HAVE_DEFAULT_PREFIX_ROUTES_FILE)
Packit 13e616
#define OSM_DEFAULT_PREFIX_ROUTES_FILE HAVE_DEFAULT_PREFIX_ROUTES_FILE
Packit 13e616
#elif defined(OPENSM_CONFIG_DIR)
Packit 13e616
#define OSM_DEFAULT_PREFIX_ROUTES_FILE OPENSM_CONFIG_DIR "/prefix-routes.conf"
Packit 13e616
#else
Packit 13e616
#define OSM_DEFAULT_PREFIX_ROUTES_FILE "/etc/opensm/prefix-routes.conf"
Packit 13e616
#endif
Packit 13e616
/***********/
Packit 13e616
Packit 13e616
/****d* OpenSM: OSM_DEFAULT_PER_MOD_LOGGING_CONF_FILE
Packit 13e616
* NAME
Packit 13e616
*	OSM_DEFAULT_PER_MOD_LOGGING_CONF_FILE
Packit 13e616
*
Packit 13e616
* DESCRIPTION
Packit 13e616
*	Specifies the default file name for per module logging configuration
Packit 13e616
*
Packit 13e616
* SYNOPSIS
Packit 13e616
*/
Packit 13e616
#ifdef __WIN__
Packit 13e616
#define OSM_DEFAULT_PER_MOD_LOGGING_CONF_FILE strcat(GetOsmCachePath(), "per-module-logging.conf")
Packit 13e616
#elif defined(OPENSM_CONFIG_DIR)
Packit 13e616
#define OSM_DEFAULT_PER_MOD_LOGGING_CONF_FILE OPENSM_CONFIG_DIR "/per-module-logging.conf"
Packit 13e616
#else
Packit 13e616
#define OSM_DEFAULT_PER_MOD_LOGGING_CONF_FILE "/etc/opensm/per-module-logging.conf"
Packit 13e616
#endif /* __WIN__ */
Packit 13e616
/***********/
Packit 13e616
Packit 13e616
/****d* OpenSM: OSM_DEFAULT_SWEEP_INTERVAL_SECS
Packit 13e616
* NAME
Packit 13e616
*	OSM_DEFAULT_SWEEP_INTERVAL_SECS
Packit 13e616
*
Packit 13e616
* DESCRIPTION
Packit 13e616
*	Specifies the default number of seconds between subnet sweeps.
Packit 13e616
*
Packit 13e616
* SYNOPSIS
Packit 13e616
*/
Packit 13e616
#define OSM_DEFAULT_SWEEP_INTERVAL_SECS 10
Packit 13e616
/***********/
Packit 13e616
/****d* OpenSM: OSM_DEFAULT_TRANS_TIMEOUT_MILLISEC
Packit 13e616
* NAME
Packit 13e616
*	OSM_DEFAULT_TRANS_TIMEOUT_MILLISEC
Packit 13e616
*
Packit 13e616
* DESCRIPTION
Packit 13e616
*	Specifies the default transaction timeout in milliseconds.
Packit 13e616
*
Packit 13e616
* SYNOPSIS
Packit 13e616
*/
Packit 13e616
#define OSM_DEFAULT_TRANS_TIMEOUT_MILLISEC 200
Packit 13e616
/***********/
Packit 13e616
/****d* OpenSM: OSM_DEFAULT_LONG_TRANS_TIMEOUT_MILLISEC
Packit 13e616
* NAME
Packit 13e616
*       OSM_DEFAULT_LONG_TRANS_TIMEOUT_MILLISEC
Packit 13e616
*
Packit 13e616
* DESCRIPTION
Packit 13e616
*       Specifies the default "long" transaction timeout in milliseconds.
Packit 13e616
*
Packit 13e616
* SYNOPSIS
Packit 13e616
*/
Packit 13e616
#define OSM_DEFAULT_LONG_TRANS_TIMEOUT_MILLISEC 500
Packit 13e616
/***********/
Packit 13e616
/****d* OpenSM: OSM_DEFAULT_SUBNET_TIMEOUT
Packit 13e616
* NAME
Packit 13e616
*	OSM_DEFAULT_SUBNET_TIMEOUT
Packit 13e616
*
Packit 13e616
* DESCRIPTION
Packit 13e616
*	Specifies the default subnet timeout.
Packit 13e616
*	timeout time = 4us * 2^timeout.
Packit 13e616
*  We use here ~1sec.
Packit 13e616
*
Packit 13e616
* SYNOPSIS
Packit 13e616
*/
Packit 13e616
#define OSM_DEFAULT_SUBNET_TIMEOUT 0x12
Packit 13e616
/***********/
Packit 13e616
/****d* OpenSM: OSM_DEFAULT_SWITCH_PACKET_LIFE
Packit 13e616
* NAME
Packit 13e616
*	OSM_DEFAULT_SWITCH_PACKET_LIFE
Packit 13e616
*
Packit 13e616
* DESCRIPTION
Packit 13e616
*	Specifies the default max life time for a pcket on the switch.
Packit 13e616
*	timeout time = 4us * 2^timeout.
Packit 13e616
*  We use here the value of ~1sec
Packit 13e616
*  A Value > 19dec disables this mechanism.
Packit 13e616
*
Packit 13e616
* SYNOPSIS
Packit 13e616
*/
Packit 13e616
#define OSM_DEFAULT_SWITCH_PACKET_LIFE 0x12
Packit 13e616
/***********/
Packit 13e616
/****d* OpenSM: OSM_DEFAULT_HEAD_OF_QUEUE_LIFE
Packit 13e616
* NAME
Packit 13e616
*	OSM_DEFAULT_HEAD_OF_QUEUE_LIFE
Packit 13e616
*
Packit 13e616
* DESCRIPTION
Packit 13e616
*	Sets the time a packet can live in the head of the VL Queue
Packit 13e616
*  We use here the value of ~1sec
Packit 13e616
*  A Value > 19dec disables this mechanism.
Packit 13e616
*
Packit 13e616
* SYNOPSIS
Packit 13e616
*/
Packit 13e616
#define OSM_DEFAULT_HEAD_OF_QUEUE_LIFE 0x12
Packit 13e616
/***********/
Packit 13e616
/****d* OpenSM: OSM_DEFAULT_LEAF_HEAD_OF_QUEUE_LIFE
Packit 13e616
* NAME
Packit 13e616
*	OSM_DEFAULT_LEAF_HEAD_OF_QUEUE_LIFE
Packit 13e616
*
Packit 13e616
* DESCRIPTION
Packit 13e616
*	Sets the time a packet can live in the head of the VL Queue
Packit 13e616
*  of a port that drives a CA port.
Packit 13e616
*  We use here the value of ~256msec
Packit 13e616
*
Packit 13e616
* SYNOPSIS
Packit 13e616
*/
Packit 13e616
#define OSM_DEFAULT_LEAF_HEAD_OF_QUEUE_LIFE 0x10
Packit 13e616
/***********/
Packit 13e616
/****d* OpenSM: OSM_DEFAULT_VL_STALL_COUNT
Packit 13e616
* NAME
Packit 13e616
*	OSM_DEFAULT_LEAF_VL_COUNT
Packit 13e616
*
Packit 13e616
* DESCRIPTION
Packit 13e616
*	Sets the number of consecutive head of queue life time drops that
Packit 13e616
*  puts the VL into stalled state. In stalled state, the port is supposed
Packit 13e616
*  to drop everything for 8*(head of queue lifetime)
Packit 13e616
*
Packit 13e616
* SYNOPSIS
Packit 13e616
*/
Packit 13e616
#define OSM_DEFAULT_VL_STALL_COUNT 0x7
Packit 13e616
/***********/
Packit 13e616
/****d* OpenSM: OSM_DEFAULT_LEAF_VL_STALL_COUNT
Packit 13e616
* NAME
Packit 13e616
*	OSM_DEFAULT_LEAF_VL_STALL_COUNT
Packit 13e616
*
Packit 13e616
* DESCRIPTION
Packit 13e616
*	Sets the number of consecutive head of queue life time drops that
Packit 13e616
*  puts the VL into stalled state. In stalled state, the port is supposed
Packit 13e616
*  to drop everything for 8*(head of queue lifetime). This value is for
Packit 13e616
*  switch ports driving a CA port.
Packit 13e616
*
Packit 13e616
* SYNOPSIS
Packit 13e616
*/
Packit 13e616
#define OSM_DEFAULT_LEAF_VL_STALL_COUNT 0x7
Packit 13e616
/***********/
Packit 13e616
/****d* OpenSM: OSM_DEFAULT_TRAP_SUPPRESSION_TIMEOUT
Packit 13e616
* NAME
Packit 13e616
*	OSM_DEFAULT_TRAP_SUPPRESSION_TIMEOUT
Packit 13e616
*
Packit 13e616
* DESCRIPTION
Packit 13e616
*	Specifies the default timeout for ignoring same trap.
Packit 13e616
*	timeout time = 5000000us
Packit 13e616
*  We use here ~5sec.
Packit 13e616
*
Packit 13e616
* SYNOPSIS
Packit 13e616
*/
Packit 13e616
#define OSM_DEFAULT_TRAP_SUPPRESSION_TIMEOUT 5000000
Packit 13e616
#define OSM_DEFAULT_TRAP_SUPRESSION_TIMEOUT OSM_DEFAULT_TRAP_SUPPRESSION_TIMEOUT
Packit 13e616
/***********/
Packit 13e616
/****d* OpenSM: OSM_DEFAULT_UNHEALTHY_TIMEOUT
Packit 13e616
* NAME
Packit 13e616
*	OSM_DEFAULT_UNHEALTHY_TIMEOUT
Packit 13e616
*
Packit 13e616
* DESCRIPTION
Packit 13e616
*	Specifies the default timeout for setting port as unhealthy.
Packit 13e616
*	timeout time = 60000000us
Packit 13e616
*  We use here ~60sec.
Packit 13e616
*
Packit 13e616
* SYNOPSIS
Packit 13e616
*/
Packit 13e616
#define OSM_DEFAULT_UNHEALTHY_TIMEOUT 60000000
Packit 13e616
/***********/
Packit 13e616
/****d* OpenSM: OSM_DEFAULT_ERROR_THRESHOLD
Packit 13e616
* NAME
Packit 13e616
*	OSM_DEFAULT_ERROR_THRESHOLD
Packit 13e616
*
Packit 13e616
* DESCRIPTION
Packit 13e616
*	Specifies default link error threshold to be set by SubnSet(PortInfo).
Packit 13e616
*
Packit 13e616
* SYNOPSIS
Packit 13e616
*/
Packit 13e616
#define OSM_DEFAULT_ERROR_THRESHOLD 0x08
Packit 13e616
/***********/
Packit 13e616
/****d* OpenSM: OSM_DEFAULT_SMP_MAX_ON_WIRE
Packit 13e616
* NAME
Packit 13e616
*	OSM_DEFAULT_SMP_MAX_ON_WIRE
Packit 13e616
*
Packit 13e616
* DESCRIPTION
Packit 13e616
*	Specifies the default number of VL15 SMP MADs allowed on
Packit 13e616
*	the wire at any one time.
Packit 13e616
*
Packit 13e616
* SYNOPSIS
Packit 13e616
*/
Packit 13e616
#define OSM_DEFAULT_SMP_MAX_ON_WIRE 4
Packit 13e616
/***********/
Packit 13e616
/****d* OpenSM: OSM_SM_DEFAULT_QP0_RCV_SIZE
Packit 13e616
* NAME
Packit 13e616
*	OSM_SM_DEFAULT_QP0_RCV_SIZE
Packit 13e616
*
Packit 13e616
* DESCRIPTION
Packit 13e616
*	Specifies the default size (in MADs) of the QP0 receive queue
Packit 13e616
*
Packit 13e616
* SYNOPSIS
Packit 13e616
*/
Packit 13e616
#define OSM_SM_DEFAULT_QP0_RCV_SIZE 256
Packit 13e616
/***********/
Packit 13e616
/****d* OpenSM: OSM_SM_DEFAULT_QP0_SEND_SIZE
Packit 13e616
* NAME
Packit 13e616
*	OSM_SM_DEFAULT_QP0_SEND_SIZE
Packit 13e616
*
Packit 13e616
* DESCRIPTION
Packit 13e616
*	Specifies the default size (in MADs) of the QP0 send queue
Packit 13e616
*
Packit 13e616
* SYNOPSIS
Packit 13e616
*/
Packit 13e616
#define OSM_SM_DEFAULT_QP0_SEND_SIZE 256
Packit 13e616
/***********/
Packit 13e616
/****d* OpenSM: OSM_SM_DEFAULT_QP1_RCV_SIZE
Packit 13e616
* NAME
Packit 13e616
*   OSM_SM_DEFAULT_QP1_RCV_SIZE
Packit 13e616
*
Packit 13e616
* DESCRIPTION
Packit 13e616
*   Specifies the default size (in MADs) of the QP1 receive queue
Packit 13e616
*
Packit 13e616
* SYNOPSIS
Packit 13e616
*/
Packit 13e616
#define OSM_SM_DEFAULT_QP1_RCV_SIZE 256
Packit 13e616
/***********/
Packit 13e616
/****d* OpenSM: OSM_SM_DEFAULT_QP1_SEND_SIZE
Packit 13e616
* NAME
Packit 13e616
*   OSM_SM_DEFAULT_QP1_SEND_SIZE
Packit 13e616
*
Packit 13e616
* DESCRIPTION
Packit 13e616
*   Specifies the default size (in MADs) of the QP1 send queue
Packit 13e616
*
Packit 13e616
* SYNOPSIS
Packit 13e616
*/
Packit 13e616
#define OSM_SM_DEFAULT_QP1_SEND_SIZE 256
Packit 13e616
/****d* OpenSM: OSM_PM_DEFAULT_QP1_RCV_SIZE
Packit 13e616
* NAME
Packit 13e616
*   OSM_PM_DEFAULT_QP1_RCV_SIZE
Packit 13e616
*
Packit 13e616
* DESCRIPTION
Packit 13e616
*   Specifies the default size (in MADs) of the QP1 receive queue
Packit 13e616
*
Packit 13e616
* SYNOPSIS
Packit 13e616
*/
Packit 13e616
#define OSM_PM_DEFAULT_QP1_RCV_SIZE 256
Packit 13e616
/***********/
Packit 13e616
/****d* OpenSM: OSM_PM_DEFAULT_QP1_SEND_SIZE
Packit 13e616
* NAME
Packit 13e616
*   OSM_PM_DEFAULT_QP1_SEND_SIZE
Packit 13e616
*
Packit 13e616
* DESCRIPTION
Packit 13e616
*   Specifies the default size (in MADs) of the QP1 send queue
Packit 13e616
*
Packit 13e616
* SYNOPSIS
Packit 13e616
*/
Packit 13e616
#define OSM_PM_DEFAULT_QP1_SEND_SIZE 256
Packit 13e616
/****d* OpenSM: OSM_SM_DEFAULT_POLLING_TIMEOUT_MILLISECS
Packit 13e616
* NAME
Packit 13e616
*   OSM_SM_DEFAULT_POLLING_TIMEOUT_MILLISECS
Packit 13e616
*
Packit 13e616
* DESCRIPTION
Packit 13e616
*   Specifies the polling timeout (in miliseconds) - the timeout
Packit 13e616
*   between one poll to another.
Packit 13e616
*
Packit 13e616
* SYNOPSIS
Packit 13e616
*/
Packit 13e616
#define OSM_SM_DEFAULT_POLLING_TIMEOUT_MILLISECS 10000
Packit 13e616
/**********/
Packit 13e616
/****d* OpenSM: OSM_SM_DEFAULT_POLLING_RETRY_NUMBER
Packit 13e616
* NAME
Packit 13e616
*   OSM_SM_DEFAULT_POLLING_RETRY_NUMBER
Packit 13e616
*
Packit 13e616
* DESCRIPTION
Packit 13e616
*   Specifies the number of polling retries before the SM goes back
Packit 13e616
*   to DISCOVERY stage. So the default total time for handoff is 40 sec.
Packit 13e616
*
Packit 13e616
* SYNOPSIS
Packit 13e616
*/
Packit 13e616
#define OSM_SM_DEFAULT_POLLING_RETRY_NUMBER 4
Packit 13e616
/**********/
Packit 13e616
/****d* OpenSM: MC Member Record Receiver/OSM_DEFAULT_MGRP_MTU
Packit 13e616
* Name
Packit 13e616
*	OSM_DEFAULT_MGRP_MTU
Packit 13e616
*
Packit 13e616
* DESCRIPTION
Packit 13e616
*	Default MTU used for new MGRP creation (2048 bytes)
Packit 13e616
*  Note it includes the MTUSelector which is set to "Greater Than"
Packit 13e616
*
Packit 13e616
* SYNOPSIS
Packit 13e616
*/
Packit 13e616
#define OSM_DEFAULT_MGRP_MTU 0x04
Packit 13e616
/***********/
Packit 13e616
/****d* OpenSM: MC Member Record Receiver/OSM_DEFAULT_MGRP_RATE
Packit 13e616
* Name
Packit 13e616
*	OSM_DEFAULT_MGRP_RATE
Packit 13e616
*
Packit 13e616
* DESCRIPTION
Packit 13e616
*	Default RATE used for new MGRP creation (10Gb/sec)
Packit 13e616
*  Note it includes the RateSelector which is set to "Greater Than"
Packit 13e616
*
Packit 13e616
* SYNOPSIS
Packit 13e616
*/
Packit 13e616
#define OSM_DEFAULT_MGRP_RATE 0x03
Packit 13e616
/***********/
Packit 13e616
/****d* OpenSM: MC Member Record Receiver/OSM_DEFAULT_MGRP_SCOPE
Packit 13e616
* Name
Packit 13e616
*	OSM_DEFAULT_MGRP_SCOPE
Packit 13e616
*
Packit 13e616
* DESCRIPTION
Packit 13e616
*	Default SCOPE used for new MGRP creation (link local)
Packit 13e616
*
Packit 13e616
* SYNOPSIS
Packit 13e616
*/
Packit 13e616
#define OSM_DEFAULT_MGRP_SCOPE IB_MC_SCOPE_LINK_LOCAL
Packit 13e616
/***********/
Packit 13e616
/****d* OpenSM: OSM_DEFAULT_QOS_MAX_VLS
Packit 13e616
 * Name
Packit 13e616
 *       OSM_DEFAULT_QOS_MAX_VLS
Packit 13e616
 *
Packit 13e616
 * DESCRIPTION
Packit 13e616
 *       Default Maximum VLs used by the OpenSM.
Packit 13e616
 *
Packit 13e616
 * SYNOPSIS
Packit 13e616
 */
Packit 13e616
#define OSM_DEFAULT_QOS_MAX_VLS 15
Packit 13e616
/***********/
Packit 13e616
/****d* OpenSM: OSM_DEFAULT_QOS_HIGH_LIMIT
Packit 13e616
 * Name
Packit 13e616
 *       OSM_DEFAULT_QOS_HIGH_LIMIT
Packit 13e616
 *
Packit 13e616
 * DESCRIPTION
Packit 13e616
 *       Default Limit of High Priority in VL Arbitration used by OpenSM.
Packit 13e616
 *
Packit 13e616
 * SYNOPSIS
Packit 13e616
 */
Packit 13e616
#define OSM_DEFAULT_QOS_HIGH_LIMIT 0
Packit 13e616
/***********/
Packit 13e616
/****d* OpenSM: OSM_DEFAULT_QOS_VLARB_HIGH
Packit 13e616
 * Name
Packit 13e616
 *       OSM_DEFAULT_QOS_VLARB_HIGH
Packit 13e616
 *
Packit 13e616
 * DESCRIPTION
Packit 13e616
 *       Default High Priority VL Arbitration table used by the OpenSM.
Packit 13e616
 *
Packit 13e616
 * SYNOPSIS
Packit 13e616
 */
Packit 13e616
#define OSM_DEFAULT_QOS_VLARB_HIGH "0:4,1:0,2:0,3:0,4:0,5:0,6:0,7:0,8:0,9:0,10:0,11:0,12:0,13:0,14:0"
Packit 13e616
/***********/
Packit 13e616
/****d* OpenSM: OSM_DEFAULT_QOS_VLARB_LOW
Packit 13e616
 * Name
Packit 13e616
 *       OSM_DEFAULT_QOS_VLARB_LOW
Packit 13e616
 *
Packit 13e616
 * DESCRIPTION
Packit 13e616
 *       Default Low Priority VL Arbitration table used by the OpenSM.
Packit 13e616
 *
Packit 13e616
 * SYNOPSIS
Packit 13e616
 */
Packit 13e616
#define OSM_DEFAULT_QOS_VLARB_LOW "0:0,1:4,2:4,3:4,4:4,5:4,6:4,7:4,8:4,9:4,10:4,11:4,12:4,13:4,14:4"
Packit 13e616
/***********/
Packit 13e616
/****d* OpenSM: OSM_DEFAULT_QOS_SL2VL
Packit 13e616
 * Name
Packit 13e616
 *       OSM_DEFAULT_QOS_SL2VL
Packit 13e616
 *
Packit 13e616
 * DESCRIPTION
Packit 13e616
 *       Default QoS SL2VL Mapping Table used by the OpenSM.
Packit 13e616
 *
Packit 13e616
 * SYNOPSIS
Packit 13e616
 */
Packit 13e616
#define OSM_DEFAULT_QOS_SL2VL "0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,7"
Packit 13e616
/***********/
Packit 13e616
/****d* OpenSM: OSM_NO_PATH
Packit 13e616
* NAME
Packit 13e616
*	OSM_NO_PATH
Packit 13e616
*
Packit 13e616
* DESCRIPTION
Packit 13e616
*	Value indicating there is no path to the given LID.
Packit 13e616
*
Packit 13e616
* SYNOPSIS
Packit 13e616
*/
Packit 13e616
#define OSM_NO_PATH			0xFF
Packit 13e616
/**********/
Packit 13e616
/****d* OpenSM: OSM_NODE_DESC_UNKNOWN
Packit 13e616
* NAME
Packit 13e616
*	OSM_NODE_DESC_UNKNOWN
Packit 13e616
*
Packit 13e616
* DESCRIPTION
Packit 13e616
*	Value indicating the Node Description is not set and is "unknown"
Packit 13e616
*
Packit 13e616
* SYNOPSIS
Packit 13e616
*/
Packit 13e616
#define OSM_NODE_DESC_UNKNOWN "<unknown>"
Packit 13e616
/**********/
Packit 13e616
/****d* OpenSM: osm_thread_state_t
Packit 13e616
* NAME
Packit 13e616
*	osm_thread_state_t
Packit 13e616
*
Packit 13e616
* DESCRIPTION
Packit 13e616
*	Enumerates the possible states of worker threads, such
Packit 13e616
*	as the subnet sweeper.
Packit 13e616
*
Packit 13e616
* SYNOPSIS
Packit 13e616
*/
Packit 13e616
typedef enum _osm_thread_state {
Packit 13e616
	OSM_THREAD_STATE_NONE = 0,
Packit 13e616
	OSM_THREAD_STATE_INIT,
Packit 13e616
	OSM_THREAD_STATE_RUN,
Packit 13e616
	OSM_THREAD_STATE_EXIT
Packit 13e616
} osm_thread_state_t;
Packit 13e616
/***********/
Packit 13e616
Packit 13e616
/*
Packit 13e616
 * OSM_CAP are from IBA 1.2.1 Table 117 and Table 188
Packit 13e616
 */
Packit 13e616
Packit 13e616
/****d* OpenSM: OSM_CAP_IS_TRAP_SUP
Packit 13e616
* Name
Packit 13e616
*	OSM_CAP_IS_SUBN_TRAP_SUP
Packit 13e616
*
Packit 13e616
* DESCRIPTION
Packit 13e616
*	Management class generates Trap() MADs
Packit 13e616
*
Packit 13e616
* SYNOPSIS
Packit 13e616
*/
Packit 13e616
#define OSM_CAP_IS_SUBN_TRAP_SUP (1 << 0)
Packit 13e616
/***********/
Packit 13e616
Packit 13e616
/****d* OpenSM: OSM_CAP_IS_GET_SET_NOTICE_SUP
Packit 13e616
* Name
Packit 13e616
*	OSM_CAP_IS_GET_SET_NOTICE_SUP
Packit 13e616
*
Packit 13e616
* DESCRIPTION
Packit 13e616
*       Management class supports Get/Set(Notice)
Packit 13e616
*
Packit 13e616
* SYNOPSIS
Packit 13e616
*/
Packit 13e616
#define OSM_CAP_IS_SUBN_GET_SET_NOTICE_SUP (1 << 1)
Packit 13e616
/***********/
Packit 13e616
Packit 13e616
/****d* OpenSM: OSM_CAP_IS_SUBN_OPT_RECS_SUP
Packit 13e616
* Name
Packit 13e616
*	OSM_CAP_IS_SUBN_OPT_RECS_SUP
Packit 13e616
*
Packit 13e616
* DESCRIPTION
Packit 13e616
*	Support all optional attributes except:
Packit 13e616
*  MCMemberRecord, TraceRecord, MultiPathRecord
Packit 13e616
*
Packit 13e616
* SYNOPSIS
Packit 13e616
*/
Packit 13e616
#define OSM_CAP_IS_SUBN_OPT_RECS_SUP (1 << 8)
Packit 13e616
/***********/
Packit 13e616
Packit 13e616
/****d* OpenSM: OSM_CAP_IS_UD_MCAST_SUP
Packit 13e616
* Name
Packit 13e616
*	OSM_CAP_IS_UD_MCAST_SUP
Packit 13e616
*
Packit 13e616
* DESCRIPTION
Packit 13e616
*	Multicast is supported
Packit 13e616
*
Packit 13e616
* SYNOPSIS
Packit 13e616
*/
Packit 13e616
#define OSM_CAP_IS_UD_MCAST_SUP (1 << 9)
Packit 13e616
/***********/
Packit 13e616
Packit 13e616
/****d* OpenSM: OSM_CAP_IS_MULTIPATH_SUP
Packit 13e616
* Name
Packit 13e616
*	OSM_CAP_IS_MULTIPATH_SUP
Packit 13e616
*
Packit 13e616
* DESCRIPTION
Packit 13e616
*	MultiPathRecord and TraceRecord are supported
Packit 13e616
*
Packit 13e616
* SYNOPSIS
Packit 13e616
*/
Packit 13e616
#define OSM_CAP_IS_MULTIPATH_SUP (1 << 10)
Packit 13e616
/***********/
Packit 13e616
Packit 13e616
/****d* OpenSM: OSM_CAP_IS_REINIT_SUP
Packit 13e616
* Name
Packit 13e616
*	OSM_CAP_IS_REINIT_SUP
Packit 13e616
*
Packit 13e616
* DESCRIPTION
Packit 13e616
*	SM/SA supports re-initialization supported
Packit 13e616
*
Packit 13e616
* SYNOPSIS
Packit 13e616
*/
Packit 13e616
#define OSM_CAP_IS_REINIT_SUP (1 << 11)
Packit 13e616
/***********/
Packit 13e616
Packit 13e616
/****d* OpenSM: OSM_CAP_IS_PORT_INFO_CAPMASK_MATCH_SUPPORTED
Packit 13e616
* Name
Packit 13e616
*	OSM_CAP_IS_PORT_INFO_CAPMASK_MATCH_SUPPORTED
Packit 13e616
*
Packit 13e616
* DESCRIPTION
Packit 13e616
*	SM/SA supports enhanced SA PortInfoRecord searches per 1.2 Errata:
Packit 13e616
*  ClassPortInfo:CapabilityMask.IsPortInfoCapMaskMatchSupported is 1,
Packit 13e616
*  then the AttributeModifier of the SubnAdmGet() and SubnAdmGetTable()
Packit 13e616
*  methods affects the matching behavior on the PortInfo:CapabilityMask
Packit 13e616
*  component. If the high-order bit (bit 31) of the AttributeModifier
Packit 13e616
*  is set to 1, matching on the CapabilityMask component will not be an
Packit 13e616
*  exact bitwise match as described in <ref to 15.4.4>.  Instead,
Packit 13e616
*  matching will only be performed on those bits which are set to 1 in
Packit 13e616
*  the PortInfo:CapabilityMask embedded in the query.
Packit 13e616
*
Packit 13e616
* SYNOPSIS
Packit 13e616
*/
Packit 13e616
#define OSM_CAP_IS_PORT_INFO_CAPMASK_MATCH_SUPPORTED (1 << 13)
Packit 13e616
/***********/
Packit 13e616
Packit 13e616
/****d* OpenSM: OSM_CAP2_IS_QOS_SUPPORTED
Packit 13e616
* Name
Packit 13e616
*	OSM_CAP2_IS_QOS_SUPPORTED
Packit 13e616
*
Packit 13e616
* DESCRIPTION
Packit 13e616
*	QoS is supported
Packit 13e616
*
Packit 13e616
* SYNOPSIS
Packit 13e616
*/
Packit 13e616
#define OSM_CAP2_IS_QOS_SUPPORTED (1 << 1)
Packit 13e616
/***********/
Packit 13e616
Packit 13e616
/****d* OpenSM: OSM_CAP2_IS_REVERSE_PATH_PKEY_SUPPPORTED
Packit 13e616
* Name
Packit 13e616
*	OSM_CAP2_IS_REVERSE_PATH_PKEY_SUPPPORTED
Packit 13e616
*
Packit 13e616
* DESCRIPTION
Packit 13e616
*	Reverse path PKeys indicate in PathRecord responses
Packit 13e616
*
Packit 13e616
* SYNOPSIS
Packit 13e616
*/
Packit 13e616
#define OSM_CAP2_IS_REVERSE_PATH_PKEY_SUPPPORTED (1 << 2)
Packit 13e616
/***********/
Packit 13e616
Packit 13e616
/****d* OpenSM: OSM_CAP2_IS_MCAST_TOP_SUPPORTED
Packit 13e616
* Name
Packit 13e616
*	OSM_CAP2_IS_MCAST_TOP_SUPPORTED
Packit 13e616
*
Packit 13e616
* DESCRIPTION
Packit 13e616
*       SwitchInfo.MulticastFDBTop is supported
Packit 13e616
*
Packit 13e616
* SYNOPSIS
Packit 13e616
*/
Packit 13e616
#define OSM_CAP2_IS_MCAST_TOP_SUPPORTED (1 << 3)
Packit 13e616
/***********/
Packit 13e616
Packit 13e616
/****d* OpenSM: OSM_CAP2_IS_HIERARCHY_SUPPORTED
Packit 13e616
* Name
Packit 13e616
*
Packit 13e616
* DESCRIPTION
Packit 13e616
*	Hierarchy info supported
Packit 13e616
*
Packit 13e616
* SYNOPSIS
Packit 13e616
*/
Packit 13e616
#define OSM_CAP2_IS_HIERARCHY_SUPPORTED (1 << 4)
Packit 13e616
/***********/
Packit 13e616
Packit 13e616
/****d* OpenSM: OSM_CAP2_IS_ALIAS_GUIDS_SUPPORTED
Packit 13e616
* Name
Packit 13e616
*
Packit 13e616
* DESCRIPTION
Packit 13e616
*	Alias GUIDs supported
Packit 13e616
*
Packit 13e616
* SYNOPSIS
Packit 13e616
*/
Packit 13e616
#define OSM_CAP2_IS_ALIAS_GUIDS_SUPPORTED (1 << 5)
Packit 13e616
/***********/
Packit 13e616
Packit 13e616
/****d* OpenSM: OSM_CAP2_IS_FULL_PORTINFO_REC_SUPPORTED
Packit 13e616
* Name
Packit 13e616
*	OSM_CAP2_IS_FULL_PORTINFO_REC_SUPPORTED
Packit 13e616
*
Packit 13e616
* DESCRIPTION
Packit 13e616
*	Full PortInfoRecords supported
Packit 13e616
*
Packit 13e616
* SYNOPSIS
Packit 13e616
*/
Packit 13e616
#define OSM_CAP2_IS_FULL_PORTINFO_REC_SUPPORTED (1 << 6)
Packit 13e616
/***********/
Packit 13e616
Packit 13e616
/****d* OpenSM: OSM_CAP2_IS_EXTENDED_SPEEDS_SUPPORTED
Packit 13e616
* Name
Packit 13e616
*	OSM_CAP2_IS_EXTENDED_SPEEDS_SUPPORTED
Packit 13e616
*
Packit 13e616
* DESCRIPTION
Packit 13e616
*	Extended Link Speeds supported
Packit 13e616
*
Packit 13e616
* SYNOPSIS
Packit 13e616
*/
Packit 13e616
#define OSM_CAP2_IS_EXTENDED_SPEEDS_SUPPORTED (1 << 7)
Packit 13e616
/***********/
Packit 13e616
Packit 13e616
/****d* OpenSM: OSM_CAP2_IS_MULTICAST_SERVICE_RECS_SUPPORTED
Packit 13e616
 * Name
Packit 13e616
 *	OSM_CAP2_IS_MULTICAST_SERVICE_RECS_SUPPORTED
Packit 13e616
 *
Packit 13e616
 * DESCRIPTION
Packit 13e616
 *	Multicast Service Records supported
Packit 13e616
 *
Packit 13e616
 * SYNOPSIS
Packit 13e616
 */
Packit 13e616
#define OSM_CAP2_IS_MULTICAST_SERVICE_RECS_SUPPORTED (1 << 8)
Packit 13e616
Packit 13e616
/****d* OpenSM: OSM_CAP2_IS_PORT_INFO_CAPMASK2_MATCH_SUPPORTED
Packit 13e616
 * Name
Packit 13e616
 *	OSM_CAP2_IS_PORT_INFO_CAPMASK2_MATCH_SUPPORTED
Packit 13e616
 *
Packit 13e616
 * DESCRIPTION
Packit 13e616
 *	CapMask2 matching for PortInfoRecord supported
Packit 13e616
 *
Packit 13e616
 * SYNOPSIS
Packit 13e616
 */
Packit 13e616
#define OSM_CAP2_IS_PORT_INFO_CAPMASK2_MATCH_SUPPORTED (1 << 10)
Packit 13e616
Packit 13e616
/****d* OpenSM: OSM_CAP2_IS_SEND_ONLY_FULL_MEMBER_SUPPORTED
Packit 13e616
 * Name
Packit 13e616
 *	OSM_CAP2_IS_SEND_ONLY_FULL_MEMBER_SUPPORTED
Packit 13e616
 *
Packit 13e616
 * DESCRIPTION
Packit 13e616
 *	Send only full member multicast join supported
Packit 13e616
 *
Packit 13e616
 * SYNOPSIS
Packit 13e616
 */
Packit 13e616
#define OSM_CAP2_IS_SEND_ONLY_FULL_MEMBER_SUPPORTED (1 << 12)
Packit 13e616
Packit 13e616
/****d* OpenSM: OSM_CAP2_IS_LINK_WIDTH_2X_SUPPORTED
Packit 13e616
 * Name
Packit 13e616
 *	OSM_CAP2_IS_LINK_WIDTH_2X_SUPPORTED
Packit 13e616
 *
Packit 13e616
 * DESCRIPTION
Packit 13e616
 *	2x link widths supported
Packit 13e616
 *
Packit 13e616
 * SYNOPSIS
Packit 13e616
 */
Packit 13e616
#define OSM_CAP2_IS_LINK_WIDTH_2X_SUPPORTED (1 << 13)
Packit 13e616
Packit 13e616
/****d* OpenSM: OSM_CAP2_IS_LINK_SPEED_HDR_SUPPORTED
Packit 13e616
 * Name
Packit 13e616
 *	OSM_CAP2_IS_LINK_SPEED_HDR_SUPPORTED
Packit 13e616
 *
Packit 13e616
 * DESCRIPTION
Packit 13e616
 *	HDR link speed supported
Packit 13e616
 *
Packit 13e616
 * SYNOPSIS
Packit 13e616
 */
Packit 13e616
#define OSM_CAP2_IS_LINK_SPEED_HDR_SUPPORTED (1 << 15)
Packit 13e616
Packit 13e616
/****d* OpenSM: osm_signal_t
Packit 13e616
* NAME
Packit 13e616
*	osm_signal_t
Packit 13e616
*
Packit 13e616
* DESCRIPTION
Packit 13e616
*	Enumerates the possible signal codes used by the OSM managers
Packit 13e616
*	This cannot be an enum type, since conversion to and from
Packit 13e616
*	integral types is necessary when passing signals through
Packit 13e616
*	the dispatcher.
Packit 13e616
*
Packit 13e616
* SYNOPSIS
Packit 13e616
*/
Packit 13e616
#define OSM_SIGNAL_NONE				0
Packit 13e616
#define OSM_SIGNAL_SWEEP			1
Packit 13e616
#define OSM_SIGNAL_IDLE_TIME_PROCESS_REQUEST	2
Packit 13e616
#define OSM_SIGNAL_PERFMGR_SWEEP		3
Packit 13e616
#define OSM_SIGNAL_GUID_PROCESS_REQUEST		4
Packit 13e616
#define OSM_SIGNAL_MAX				5
Packit 13e616
Packit 13e616
typedef unsigned int osm_signal_t;
Packit 13e616
/***********/
Packit 13e616
Packit 13e616
/****d* OpenSM: osm_sm_signal_t
Packit 13e616
* NAME
Packit 13e616
*	osm_sm_signal_t
Packit 13e616
*
Packit 13e616
* DESCRIPTION
Packit 13e616
*	Enumerates the possible signals used by the OSM_SM_MGR
Packit 13e616
*
Packit 13e616
* SYNOPSIS
Packit 13e616
*/
Packit 13e616
typedef enum _osm_sm_signal {
Packit 13e616
	OSM_SM_SIGNAL_NONE = 0,
Packit 13e616
	OSM_SM_SIGNAL_DISCOVERY_COMPLETED,
Packit 13e616
	OSM_SM_SIGNAL_POLLING_TIMEOUT,
Packit 13e616
	OSM_SM_SIGNAL_DISCOVER,
Packit 13e616
	OSM_SM_SIGNAL_DISABLE,
Packit 13e616
	OSM_SM_SIGNAL_HANDOVER,
Packit 13e616
	OSM_SM_SIGNAL_HANDOVER_SENT,
Packit 13e616
	OSM_SM_SIGNAL_ACKNOWLEDGE,
Packit 13e616
	OSM_SM_SIGNAL_STANDBY,
Packit 13e616
	OSM_SM_SIGNAL_MASTER_OR_HIGHER_SM_DETECTED,
Packit 13e616
	OSM_SM_SIGNAL_WAIT_FOR_HANDOVER,
Packit 13e616
	OSM_SM_SIGNAL_MAX
Packit 13e616
} osm_sm_signal_t;
Packit 13e616
/***********/
Packit 13e616
Packit 13e616
/****d* OpenSM: MAX_GUID_FILE_LINE_LENGTH
Packit 13e616
* NAME
Packit 13e616
*	MAX_GUID_FILE_LINE_LENGTH
Packit 13e616
*
Packit 13e616
* DESCRIPTION
Packit 13e616
*	The maximum line number when reading guid file
Packit 13e616
*
Packit 13e616
* SYNOPSIS
Packit 13e616
*/
Packit 13e616
#define MAX_GUID_FILE_LINE_LENGTH 120
Packit 13e616
/**********/
Packit 13e616
Packit 13e616
/****d* OpenSM: VendorOUIs
Packit 13e616
* NAME
Packit 13e616
*	VendorOUIs
Packit 13e616
*
Packit 13e616
* DESCRIPTION
Packit 13e616
*	Known device vendor ID and GUID OUIs
Packit 13e616
*
Packit 13e616
* SYNOPSIS
Packit 13e616
*/
Packit 13e616
#define OSM_VENDOR_ID_INTEL         0x00D0B7
Packit 13e616
#define OSM_VENDOR_ID_MELLANOX      0x0002C9
Packit 13e616
#define OSM_VENDOR_ID_REDSWITCH     0x000617
Packit 13e616
#define OSM_VENDOR_ID_SILVERSTORM   0x00066A
Packit 13e616
#define OSM_VENDOR_ID_TOPSPIN       0x0005AD
Packit 13e616
#define OSM_VENDOR_ID_FUJITSU       0x00E000
Packit 13e616
#define OSM_VENDOR_ID_FUJITSU2      0x000B5D
Packit 13e616
#define OSM_VENDOR_ID_VOLTAIRE      0x0008F1
Packit 13e616
#define OSM_VENDOR_ID_YOTTAYOTTA    0x000453
Packit 13e616
#define OSM_VENDOR_ID_PATHSCALE     0x001175
Packit 13e616
#define OSM_VENDOR_ID_IBM           0x000255
Packit 13e616
#define OSM_VENDOR_ID_DIVERGENET    0x00084E
Packit 13e616
#define OSM_VENDOR_ID_FLEXTRONICS   0x000B8C
Packit 13e616
#define OSM_VENDOR_ID_AGILENT       0x0030D3
Packit 13e616
#define OSM_VENDOR_ID_OBSIDIAN      0x001777
Packit 13e616
#define OSM_VENDOR_ID_BAYMICRO      0x000BC1
Packit 13e616
#define OSM_VENDOR_ID_LSILOGIC      0x00A0B8
Packit 13e616
#define OSM_VENDOR_ID_DDN           0x0001FF
Packit 13e616
#define OSM_VENDOR_ID_PANTA         0x001393
Packit 13e616
#define OSM_VENDOR_ID_HP            0x001708
Packit 13e616
#define OSM_VENDOR_ID_RIOWORKS      0x005045
Packit 13e616
#define OSM_VENDOR_ID_SUN           0x0003BA
Packit 13e616
#define OSM_VENDOR_ID_SUN2          0x002128
Packit 13e616
#define OSM_VENDOR_ID_3LEAFNTWKS    0x0016A1
Packit 13e616
#define OSM_VENDOR_ID_XSIGO         0x001397
Packit 13e616
#define OSM_VENDOR_ID_HP2           0x0018FE
Packit 13e616
#define OSM_VENDOR_ID_DELL          0x00188B
Packit 13e616
#define OSM_VENDOR_ID_SUPERMICRO    0x003048
Packit 13e616
#define OSM_VENDOR_ID_HP3           0x0019BB
Packit 13e616
#define OSM_VENDOR_ID_HP4           0x00237D
Packit 13e616
#define OSM_VENDOR_ID_OPENIB        0x001405
Packit 13e616
#define OSM_VENDOR_ID_IBM2	    0x5CF3FC
Packit 13e616
#define OSM_VENDOR_ID_MELLANOX2     0xF45214
Packit 13e616
#define OSM_VENDOR_ID_MELLANOX3     0x00258B
Packit 13e616
#define OSM_VENDOR_ID_MELLANOX4     0xE41D2D
Packit 13e616
#define OSM_VENDOR_ID_MELLANOX5     0x7CFE90
Packit 13e616
#define OSM_VENDOR_ID_MELLANOX6     0xEC0D9A
Packit 13e616
#define OSM_VENDOR_ID_MELLANOX7     0x248A07
Packit 13e616
#define OSM_VENDOR_ID_MELLANOX8     0x506B4B
Packit 13e616
#define OSM_VENDOR_ID_MELLANOX9     0x98039B
Packit 13e616
#define OSM_VENDOR_ID_BULL          0x080038
Packit 13e616
Packit 13e616
/* IPoIB Broadcast Defaults */
Packit 13e616
#define OSM_IPOIB_BROADCAST_MGRP_QKEY 0x0b1b
Packit 13e616
extern const ib_gid_t osm_ipoib_broadcast_mgid;
Packit 13e616
Packit 13e616
/**********/
Packit 13e616
Packit 13e616
END_C_DECLS
Packit 13e616
#endif				/* _OSM_BASE_H_ */