[OPENSM] remove files no longer used in opensm build.
authorstansmith <stansmith@ad392aa1-c5ef-ae45-8dd8-e69d62a5ef86>
Mon, 7 Dec 2009 22:29:57 +0000 (22:29 +0000)
committerstansmith <stansmith@ad392aa1-c5ef-ae45-8dd8-e69d62a5ef86>
Mon, 7 Dec 2009 22:29:57 +0000 (22:29 +0000)
git-svn-id: svn://openib.tc.cornell.edu/gen1/trunk@2626 ad392aa1-c5ef-ae45-8dd8-e69d62a5ef86

135 files changed:
ulp/opensm/user/README.opensm-build [deleted file]
ulp/opensm/user/TODO [deleted file]
ulp/opensm/user/doc/modular-routing.txt [deleted file]
ulp/opensm/user/doc/opensm_release_notes_openib-2.0.5.txt [deleted file]
ulp/opensm/user/include/complib/cl_byteswap.h [deleted file]
ulp/opensm/user/include/complib/cl_signal_osd.h [deleted file]
ulp/opensm/user/include/iba/ib_types_extended.h [deleted file]
ulp/opensm/user/include/opensm/cl_dispatcher.h [deleted file]
ulp/opensm/user/include/opensm/cl_event_wheel.h [deleted file]
ulp/opensm/user/include/opensm/osm_drop_mgr.h [deleted file]
ulp/opensm/user/include/opensm/osm_fwd_tbl.h [deleted file]
ulp/opensm/user/include/opensm/osm_lin_fwd_rcv.h [deleted file]
ulp/opensm/user/include/opensm/osm_lin_fwd_rcv_ctrl.h [deleted file]
ulp/opensm/user/include/opensm/osm_lin_fwd_tbl.h [deleted file]
ulp/opensm/user/include/opensm/osm_link_mgr.h [deleted file]
ulp/opensm/user/include/opensm/osm_matrix.h [deleted file]
ulp/opensm/user/include/opensm/osm_mcast_fwd_rcv.h [deleted file]
ulp/opensm/user/include/opensm/osm_mcast_fwd_rcv_ctrl.h [deleted file]
ulp/opensm/user/include/opensm/osm_mcast_mgr.h [deleted file]
ulp/opensm/user/include/opensm/osm_mcm_info.h [deleted file]
ulp/opensm/user/include/opensm/osm_mtl_bind.h [deleted file]
ulp/opensm/user/include/opensm/osm_node_desc_rcv.h [deleted file]
ulp/opensm/user/include/opensm/osm_node_desc_rcv_ctrl.h [deleted file]
ulp/opensm/user/include/opensm/osm_node_info_rcv.h [deleted file]
ulp/opensm/user/include/opensm/osm_node_info_rcv_ctrl.h [deleted file]
ulp/opensm/user/include/opensm/osm_pkey_mgr.h [deleted file]
ulp/opensm/user/include/opensm/osm_pkey_rcv.h [deleted file]
ulp/opensm/user/include/opensm/osm_pkey_rcv_ctrl.h [deleted file]
ulp/opensm/user/include/opensm/osm_port_info_rcv.h [deleted file]
ulp/opensm/user/include/opensm/osm_port_info_rcv_ctrl.h [deleted file]
ulp/opensm/user/include/opensm/osm_rand_fwd_tbl.h [deleted file]
ulp/opensm/user/include/opensm/osm_req.h [deleted file]
ulp/opensm/user/include/opensm/osm_req_ctrl.h [deleted file]
ulp/opensm/user/include/opensm/osm_resp.h [deleted file]
ulp/opensm/user/include/opensm/osm_sa_class_port_info.h [deleted file]
ulp/opensm/user/include/opensm/osm_sa_class_port_info_ctrl.h [deleted file]
ulp/opensm/user/include/opensm/osm_sa_guidinfo_record.h [deleted file]
ulp/opensm/user/include/opensm/osm_sa_guidinfo_record_ctrl.h [deleted file]
ulp/opensm/user/include/opensm/osm_sa_informinfo.h [deleted file]
ulp/opensm/user/include/opensm/osm_sa_informinfo_ctrl.h [deleted file]
ulp/opensm/user/include/opensm/osm_sa_lft_record.h [deleted file]
ulp/opensm/user/include/opensm/osm_sa_lft_record_ctrl.h [deleted file]
ulp/opensm/user/include/opensm/osm_sa_link_record.h [deleted file]
ulp/opensm/user/include/opensm/osm_sa_link_record_ctrl.h [deleted file]
ulp/opensm/user/include/opensm/osm_sa_mcmember_record.h [deleted file]
ulp/opensm/user/include/opensm/osm_sa_mcmember_record_ctrl.h [deleted file]
ulp/opensm/user/include/opensm/osm_sa_mft_record.h [deleted file]
ulp/opensm/user/include/opensm/osm_sa_mft_record_ctrl.h [deleted file]
ulp/opensm/user/include/opensm/osm_sa_multipath_record.h [deleted file]
ulp/opensm/user/include/opensm/osm_sa_multipath_record_ctrl.h [deleted file]
ulp/opensm/user/include/opensm/osm_sa_node_record.h [deleted file]
ulp/opensm/user/include/opensm/osm_sa_node_record_ctrl.h [deleted file]
ulp/opensm/user/include/opensm/osm_sa_path_record.h [deleted file]
ulp/opensm/user/include/opensm/osm_sa_path_record_ctrl.h [deleted file]
ulp/opensm/user/include/opensm/osm_sa_pkey_record.h [deleted file]
ulp/opensm/user/include/opensm/osm_sa_pkey_record_ctrl.h [deleted file]
ulp/opensm/user/include/opensm/osm_sa_portinfo_record.h [deleted file]
ulp/opensm/user/include/opensm/osm_sa_portinfo_record_ctrl.h [deleted file]
ulp/opensm/user/include/opensm/osm_sa_response.h [deleted file]
ulp/opensm/user/include/opensm/osm_sa_service_record.h [deleted file]
ulp/opensm/user/include/opensm/osm_sa_service_record_ctrl.h [deleted file]
ulp/opensm/user/include/opensm/osm_sa_slvl_record.h [deleted file]
ulp/opensm/user/include/opensm/osm_sa_slvl_record_ctrl.h [deleted file]
ulp/opensm/user/include/opensm/osm_sa_sminfo_record.h [deleted file]
ulp/opensm/user/include/opensm/osm_sa_sminfo_record_ctrl.h [deleted file]
ulp/opensm/user/include/opensm/osm_sa_sw_info_record.h [deleted file]
ulp/opensm/user/include/opensm/osm_sa_sw_info_record_ctrl.h [deleted file]
ulp/opensm/user/include/opensm/osm_sa_vlarb_record.h [deleted file]
ulp/opensm/user/include/opensm/osm_sa_vlarb_record_ctrl.h [deleted file]
ulp/opensm/user/include/opensm/osm_slvl_map_rcv.h [deleted file]
ulp/opensm/user/include/opensm/osm_slvl_map_rcv_ctrl.h [deleted file]
ulp/opensm/user/include/opensm/osm_sm_state_mgr.h [deleted file]
ulp/opensm/user/include/opensm/osm_sminfo_rcv.h [deleted file]
ulp/opensm/user/include/opensm/osm_sminfo_rcv_ctrl.h [deleted file]
ulp/opensm/user/include/opensm/osm_state_mgr.h [deleted file]
ulp/opensm/user/include/opensm/osm_state_mgr_ctrl.h [deleted file]
ulp/opensm/user/include/opensm/osm_sw_info_rcv.h [deleted file]
ulp/opensm/user/include/opensm/osm_sw_info_rcv_ctrl.h [deleted file]
ulp/opensm/user/include/opensm/osm_sweep_fail_ctrl.h [deleted file]
ulp/opensm/user/include/opensm/osm_trap_rcv.h [deleted file]
ulp/opensm/user/include/opensm/osm_trap_rcv_ctrl.h [deleted file]
ulp/opensm/user/include/opensm/osm_ts_useraccess.h [deleted file]
ulp/opensm/user/include/opensm/osm_umadt.h [deleted file]
ulp/opensm/user/include/opensm/osm_vl_arb_rcv.h [deleted file]
ulp/opensm/user/include/opensm/osm_vl_arb_rcv_ctrl.h [deleted file]
ulp/opensm/user/include/unistd.h [deleted file]
ulp/opensm/user/include/vendor/osm_vendor_select.h [deleted file]
ulp/opensm/user/libopensm/Makefile [deleted file]
ulp/opensm/user/libopensm/SOURCES [deleted file]
ulp/opensm/user/libopensm/osm_helper.c [deleted file]
ulp/opensm/user/libopensm/osm_log.c [deleted file]
ulp/opensm/user/libopensm/osm_mad_pool.c [deleted file]
ulp/opensm/user/opensm/Makefile [deleted file]
ulp/opensm/user/opensm/cl_dispatcher.c [deleted file]
ulp/opensm/user/opensm/cl_event_wheel.c [deleted file]
ulp/opensm/user/opensm/opensm.opts [deleted file]
ulp/opensm/user/opensm/osm.mc [deleted file]
ulp/opensm/user/opensm/osm_files.c [deleted file]
ulp/opensm/user/opensm/osm_fwd_tbl.c [deleted file]
ulp/opensm/user/opensm/osm_lin_fwd_rcv_ctrl.c [deleted file]
ulp/opensm/user/opensm/osm_lin_fwd_tbl.c [deleted file]
ulp/opensm/user/opensm/osm_matrix.c [deleted file]
ulp/opensm/user/opensm/osm_mcast_fwd_rcv_ctrl.c [deleted file]
ulp/opensm/user/opensm/osm_mcm_info.c [deleted file]
ulp/opensm/user/opensm/osm_node_desc_rcv_ctrl.c [deleted file]
ulp/opensm/user/opensm/osm_node_info_rcv_ctrl.c [deleted file]
ulp/opensm/user/opensm/osm_pkey_rcv_ctrl.c [deleted file]
ulp/opensm/user/opensm/osm_port_info_rcv_ctrl.c [deleted file]
ulp/opensm/user/opensm/osm_req_ctrl.c [deleted file]
ulp/opensm/user/opensm/osm_sa_class_port_info_ctrl.c [deleted file]
ulp/opensm/user/opensm/osm_sa_guidinfo_record_ctrl.c [deleted file]
ulp/opensm/user/opensm/osm_sa_informinfo_ctrl.c [deleted file]
ulp/opensm/user/opensm/osm_sa_lft_record_ctrl.c [deleted file]
ulp/opensm/user/opensm/osm_sa_link_record_ctrl.c [deleted file]
ulp/opensm/user/opensm/osm_sa_mcmember_record_ctrl.c [deleted file]
ulp/opensm/user/opensm/osm_sa_mft_record_ctrl.c [deleted file]
ulp/opensm/user/opensm/osm_sa_multipath_record_ctrl.c [deleted file]
ulp/opensm/user/opensm/osm_sa_node_record_ctrl.c [deleted file]
ulp/opensm/user/opensm/osm_sa_path_record_ctrl.c [deleted file]
ulp/opensm/user/opensm/osm_sa_pkey_record_ctrl.c [deleted file]
ulp/opensm/user/opensm/osm_sa_portinfo_record_ctrl.c [deleted file]
ulp/opensm/user/opensm/osm_sa_response.c [deleted file]
ulp/opensm/user/opensm/osm_sa_service_record_ctrl.c [deleted file]
ulp/opensm/user/opensm/osm_sa_slvl_record_ctrl.c [deleted file]
ulp/opensm/user/opensm/osm_sa_sminfo_record_ctrl.c [deleted file]
ulp/opensm/user/opensm/osm_sa_sw_info_record_ctrl.c [deleted file]
ulp/opensm/user/opensm/osm_sa_vlarb_record_ctrl.c [deleted file]
ulp/opensm/user/opensm/osm_slvl_map_rcv_ctrl.c [deleted file]
ulp/opensm/user/opensm/osm_sminfo_rcv_ctrl.c [deleted file]
ulp/opensm/user/opensm/osm_state_mgr_ctrl.c [deleted file]
ulp/opensm/user/opensm/osm_sw_info_rcv_ctrl.c [deleted file]
ulp/opensm/user/opensm/osm_sweep_fail_ctrl.c [deleted file]
ulp/opensm/user/opensm/osm_trap_rcv_ctrl.c [deleted file]
ulp/opensm/user/opensm/osm_vl_arb_rcv_ctrl.c [deleted file]
ulp/opensm/user/osmtest/include/error.h [deleted file]

diff --git a/ulp/opensm/user/README.opensm-build b/ulp/opensm/user/README.opensm-build
deleted file mode 100644 (file)
index cccd07a..0000000
+++ /dev/null
@@ -1,24 +0,0 @@
-##### Begin svn/gen1/trunk/src/userspace/osm/README.opensm-build
-
-# How to Build the OpenSM Subnet Manager
-# ----------------------------------------
-
-# This file is arranged as a shell script so you can paste or execute
-# it.  This is for building from the SVN source at openib.org.
-                                                                                          
-# 1. Complete steps outlined in README.kernel-build.
-# 2. Complete steps outlined in README.user-build.
-
-# set TOP to wherever you've checked out the openib repository.
-TOP=/usr/src/openib
-
-export TSHOME=$TOP/src/linux-kernel/infiniband/include/
-export MTHOME=$TOP/src/userspace/hw/mellanox-hca/mthome/
-
-# Add util dir to path for makedepend
-export PATH=$TOP/src/userspace/osm/util:$PATH
-
-cd $TOP/src/userspace/osm
-make VENDOR=ts
-
-##### end
\ No newline at end of file
diff --git a/ulp/opensm/user/TODO b/ulp/opensm/user/TODO
deleted file mode 100644 (file)
index 684ef45..0000000
+++ /dev/null
@@ -1,16 +0,0 @@
-Support new HOQ value for the ports feeding HCA ports
-
-Support Static Lid assignment with a flag for specifying a file with guid to lid.
-
-Support PKey comp in Path Record
-Support SL comp in Path Record
-
-Support VL traversal in Path Record - compute the SL accordingly 
- Make it a runtime option, So we do not pay the price if no SL are used.
-
-Support a fast Path Record mode - if the fabric is totally uniform in rate and
- MTU. No need to traverse the path at all...
-
-Improve the MinHop routing algorithm such that it only calc the min hops 
-for switches, then 
-
diff --git a/ulp/opensm/user/doc/modular-routing.txt b/ulp/opensm/user/doc/modular-routing.txt
deleted file mode 100644 (file)
index 0a59346..0000000
+++ /dev/null
@@ -1,78 +0,0 @@
-Modular Routine Engine
-
-Modular routing engine structure has been added to allow
-for ease of "plugging" new routing modules.
-
-Currently, only unicast callbacks are supported. Multicast
-can be added later.
-
-One of existing routing modules is up-down "updn", which may
-be activated with '-R updn' option (instead of old '-u').
-
-General usage is:
-$ opensm -R 'module-name'
-
-There is also a trivial routing module which is able
-to load LFT tables from a dump file.
-
-Main features:
-
-- this will load switch LFTs and/or LID matrices (min hops tables)
-- this will load switch LFTs according to the path entries introduced in
-  the dump file
-- no additional checks will be performed (such as "is port connected", etc.)
-- in case when fabric LIDs were changed this will try to reconstruct LFTs
-  correctly if endport GUIDs are represented in the dump file (in order
-  to disable this GUIDs may be removed from the dump file or zeroed)
-
-The dump file format is compatible with output of 'ibroute' util and for
-whole fabric may be generated with script like this:
-
-  for sw_lid in `ibswitches | awk '{print $NF}'` ; do
-       ibroute $sw_lid
-  done > /path/to/dump_file
-
-, or using DR paths:
-
-  for sw_dr in `ibnetdiscover -v \
-               | sed -ne '/^DR path .* switch /s/^DR path \[\(.*\)\].*$/\1/p' \
-               | sed -e 's/\]\[/,/g' \
-               | sort -u` ; do
-       ibroute -D ${sw_dr}
-  done > /path/to/dump_file
-
-This script is dump_lfts.sh
-
-In order to activate new module use:
-
-  opensm -R file -U /path/to/dump_file
-
-If the dump_file is not found or is in error, the default routing 
-algorithm is utilized.
-
-The ability to dump switch lid matrices (aka min hops tables) to file and
-later to load these is also supported.
-
-The usage is similar to unicast forwarding tables loading from dump
-file (introduced by 'file' routing engine), but new lid matrix file
-name should be specified by -M or --lid_matrix_file option. For example:
-
-  opensm -R file -M ./opensm-lid-matrix.dump
-
-The dump file is named 'opensm-lid-matrix.dump' and will be generated in
-standard opensm dump directory (/var/log by default) when
-OSM_LOG_ROUTING logging flag is set.
-
-When routing engine 'file' is activated, but dump file is not specified
-or not cannot be open default lid matrix algorithm will be used.
-
-There is also a switch forwarding tables dumper which generates
-a file compatible with dump_lfts.sh output. This file can be used
-as input for forwarding tables loading by 'file' routing engine.
-Both or one of options -U and -M can be specified together with '-R file'.
-
-NOTE: ibroute has been updated (for switch management ports) to support this.
-Also, lmc was added to switch management ports. ibroute needs to be r7855 or
-later from the trunk.
-
-
diff --git a/ulp/opensm/user/doc/opensm_release_notes_openib-2.0.5.txt b/ulp/opensm/user/doc/opensm_release_notes_openib-2.0.5.txt
deleted file mode 100644 (file)
index a655573..0000000
+++ /dev/null
@@ -1,487 +0,0 @@
-                        OpenSM Release Notes 2.0.5
-                       ============================
-
-Version: OpenFabrics Enterprise Distribution (OFED) 1.1
-Repo:    https://openib.org/svn/gen2/branches/1.1/src/userspace/management/osm
-Version: 9535 (openib-2.0.5)
-Date:    October 2006
-
-1 Overview
-----------
-This document describes the contents of the OpenSM OFED 1.1 release. 
-OpenSM is an InfiniBand compliant Subnet Manager and Administration,
-and runs on top of OpenIB. The OpenSM version for this release 
-is openib-2.0.5
-
-This document includes the following sections:
-1 This Overview section (describing new features and software
-  dependencies)
-2 Known Issues And Limitations
-3 Unsupported IB compliance statements
-4 Major Bug Fixes
-5 Main Verification Flows
-6 Qualified software stacks and devices
-
-1.1 Major New Features
-
-* Partition manager: 
-  The partition manager provides a means to setup multiple partitions 
-  by providing a partition policy file. For details please read the
-  doc/partition-config.txt or the opensm man page.
-
-* Basic QoS Manager: 
-  Provides a uniform configuration of the entire fabric with values defined 
-  in the OpenSM options file. The options support different settings for 
-  CAs, Switches, and Routers. Note that this is disabled by default and
-  using -Q enables QoS fabric setup. 
-
-* Loading pre-routes from a file:
-  A new routing module enables loading pre-routes from a file. 
-  To use this option you should use the command line options:
-  "-R file --U <your routing file>" or 
-  "--routing_engine file --ucast_file <your routing file>"
-  For more information refer to the file doc/modular-routing.txt
-  or the opensm man page.
-
-* SA MultiPathRecord support:
-  The SA can now handle requests for multiple PathRecords in one query.
-  This includes methods SA GetMulti/GetMultiResp and dual sided RMPP.
-
-* PPC64 is now QAed and supported
-
-* Support LMC > 0 for Switch Enhanced Port 0:
-  Allows enhanced switch port 0 (ESP0) to have a non zero
-  LMC. Use the configured subnet wide LMC for this. Modifications were
-  necessary to the LID assignment and routing to support this. 
-  Also, added an option to the configuration to use LMC configured for
-  subnet for enhanced switch port 0 or set it to 0 even if a non zero
-  LMC is configured for the subnet. The default is currently the
-  latter option. The new configuration option is: lmc_esp0
-
-1.2 Minor New Features:
-
-* IPoIB broadcast group configuration:
-  It is now possible to control the IPoIB broadcast group parameters
-  (MTU, rate, SL) through the partitions configuration file.
-
-* Limiting OpenSM log file size:
-  By providing the command line option: "-L <size in MB>" or
-  "--log_limit <size in MB>" the user can limit the generated log 
-  file size. When specified, the log file will be truncated upon reaching
-  this limit.
-
-* Favor 1K MTU for Tavor (MT23108) HCA
-  In cases where a PathRecord or MultiPathRecord is queried and the
-  requestor does not specify the MTU or does specify it in a way
-  that allows for MTU to be 1K and one of the path ends in a Tavor,
-  limit the MTU to 1K max.
-
-* Man pages:
-  Added opensm.8 and osmtest.8
-
-* Leaf VL stall count control:
-  A new parameter (leaf_vl_stall_count) for controlling the number of
-  sequential packets dropped on a switch port driving a HCA/TCA/Router
-  that cause the port to enter the VLStalled state was added to the
-  options file.
-
-* SM Polling/Handover defaults changed
-  The default SMInfo polling retries was decreased from 18 to 4
-  which reduces the default handover time from 3 min to 40 seconds.
-
-1.3 Library API Changes
-
-* cl_mem* APIs deprecated in complib:
-  These functions are now considered as deprecated and should be
-  replaced by direct calls to malloc, free, memset, etc.
-
-* osm_log_init_v2 API added in libopensm:
-  Supports providing the new option for log file truncation.
-
-1.4 Software Dependencies
-
-OpenSM depends on the installation of either OFED 1.1, OFED 1.0,
-OpenIB gen2 (e.g. IBG2 distribution), OpenIB gen1 (e.g. IBGD
-distribution), or Mellanox VAPI stacks. The qualified driver versions
-are provided in Table 2, "Qualified IB Stacks".
-
-1.5 Supported Devices Firmware
-
-The main task of OpenSM is to initialize InfiniBand devices. The
-qualified devices and their corresponding firmware versions 
-are listed in Table 3.
-
-2 Known Issues And Limitations
-------------------------------
-
-* No Service / Key associations:
-  There is no way to manage Service access by Keys. 
-
-* No SM to SM SMDB synchronization: 
-  Puts the burden of re-registering services, multicast groups, and
-  inform-info on the client application (or IB access layer core). 
-
-* No "port down" event handling:
-  Changing the switch port through which OpenSM connects to the IB
-  fabric may cause incorrect operation. Please restart OpenSM whenever
-  such a connectivity change is made.
-
-* Changing connections during SM operation:
-  Under some conditions the SM can get confused by a change in 
-  cabling (moving a cable from one switch port to the other) and 
-  momentarily see this as having the same GUID appear connected 
-  to two different IB ports. Under some conditions, when the SM fails to 
-  get the corresponding change event it might mistakenly report this case
-  as a "duplicated GUID" case and abort. It is advisable to double-check
-  the syslog after each such change in connectivity and restart
-  OpenSM if it has exited.
-  
-3 Unsupported IB Compliance Statements
---------------------------------------
-The following section lists all the IB compliance statements which
-OpenSM does not support. Please refer to the IB specification for detailed
-information regarding each compliance statement. 
-
-* C14-22 (Authentication):
-  M_Key M_KeyProtectBits and M_KeyLeasePeriod shall be set in one
-  SubnSet method. As a work-around, an OpenSM option is provided for
-  defining the protect bits.
-
-* C14-67 (Authentication):
-  On SubnGet(SMInfo) and SubnSet(SMInfo) - if M_Key is not zero then
-  the SM shall generate a SubnGetResp if the M_Key matches, or
-  silently drop the packet if M_Key does not match.
-
-* C15-0.1.23.4 (Authentication):
-  InformInfoRecords shall always be provided with the QPN set to 0,
-  except for the case of a trusted request, in which case the actual
-  subscriber QPN shall be returned. 
-
-* o13-17.1.2 (Event-FWD):
-  If no permission to forward, the subscription should be removed and
-  no further forwarding should occur.
-
-* C14-24.1.1.5 and C14-62.1.1.22 (Initialization):
-  GUIDInfo - SM should enable assigning Port GUIDInfo.
-
-* C14-44 (Initialization):
-  If the SM discovers that it is missing an M_Key to update CA/RT/SW,
-  it should notify the higher level.
-
-* C14-62.1.1.12 (Initialization):
-  PortInfo:M_Key - Set the M_Key to a node based random value.
-
-* C14-62.1.1.13 (Initialization):
-  PortInfo:P_KeyProtectBits - set according to an optional policy.
-
-* C14-62.1.1.24 (Initialization):
-  SwitchInfo:DefaultPort - should be configured for random FDB.
-
-* C14-62.1.1.32 (Initialization):
-  RandomForwardingTable should be configured.
-
-* o15-0.1.12 (Multicast):
-  If the JoinState is SendOnlyNonMember = 1 (only), then the endport
-  should join as sender only.
-
-* o15-0.1.8 (Multicast):
-  If a request for creating an MCG with fields that cannot be met,
-  return ERR_REQ_INVALID (currently ignores SL and FlowLabelTClass).
-
-* C15-0.1.8.6 (SA-Query):
-  Respond to SubnAdmGetTraceTable - this is an optional attribute.
-
-* C15-0.1.13 Services:
-  Reject ServiceRecord create, modify or delete if the given
-  ServiceP_Key does not match the one included in the ServiceGID port
-  and the port that sent the request.
-
-* C15-0.1.14 (Services):
-  Provide means to associate service name and ServiceKeys.
-
-4 Major Bug Fixes
------------------
-
-The following is a list of bugs that were fixed. Note that other less critical
-or visible bugs were also fixed.
-
-* "Broken" fabric (duplicated port GUIDs) handling improved
-  Replace assert with a real check to handle invalid physical port
-  in osm_node_info_rcv.c which could occur on a broken fabric
-
-* SA client synchronous request failed but status returned was IB_SUCCESS
-  even if there was no response.
-  There was a missing setting of the status in the synchronous case.
-* Memory leak fixes:
-  1. In libvendor/osm_vendor_ibumad.c:osm_vendor_get_all_port_attr
-  2. In libvendor/osm_vendor_ibumad_sa.c:__osmv_sa_mad_rcv_cb
-  3. On receiving SMInfo SA request from a node that does not share a 
-         partition, the response mad was allocated but never free'd 
-         as it was never sent.
-
-* Set(InformInfo) OpenSM Deadlock:
-  When receiving a request with unknown LID
-
-* PathRecord to inconsistent multicast destination:
-  Fix the return error when multicast destination is not consistently
-  indicated.
-
-* Remove double calculation of reversible path 
-  In osm_sa_path_record.c:__osm_pr_rcv_get_lid_pair_path a PathRecord 
-  query used to double check if the path is reversible
-
-* Some PathRecord log messages use "net order":
-  Fix GUID net to host conversion in some osm_log messages
-
-* DR/LID routed SMPs direction bit handling:
-  osm_resp.c:osm_resp_make_resp_smp, set direction bit only if direct
-  routed class. This bug caused two issues:
-  1. Get/Set responses always had direction bit set. 
-  2. Trap represses never had direction bit set.
-  The direction bit needs setting in direct routed responses and it
-  doesn't exist in LID routed responses. 
-  osm_sm_mad_ctrl.c: did not detect the "direction bit" correctly.
-
-* OpenSM crash due to transaction lookup (interop with Cisco stack)
-  When a wire TID that maps to internal TID of zero (after applying
-  mask) was received the lookup of the transaction was successful.
-  The stale transaction pointed to "free'd" memory.
-
-* Better handling for Path/MultiPath requests for raw traffic
-
-* Wrong ProducerType provided in Notice Reports:
-  When formating an SM generated report, the ProducerType was using
-  CL_NTOH32 which can not be used to format a 24bit network order number.
-
-* OpenSM break on PPC64 
-  complib: Fixed memory corruption in cl_pool.c:cl_qcpool_init. This
-  affected big endian 64-bit architectures only. 
-
-* Illegal Set(InformInfo) was wrongly successful in updating the SMDB
-  osm_sa_informinfo.c: In osm_infr_rcv_process_set_method, if sending
-  error, don't call osm_infr_rcv_process_set_method 
-
-* RMPP queries of InformInfoRecord fail
-  ib_types.h: Pad ib_inform_info_record_t to be modulo 8 in size so
-  that attribute offset is calculated properly 
-
-* Returning "invalid request" rather than "unsupported method/attribute"
-  In these cases, a noncompliant response was being provided.
-
-* Noncompliant response for SubnAdmGet(PortInfoRecord) with no match
-  osm_pir_rcv_process, now returns "SA no records error" for SubnAdmGet
-  with 0 records found
-
-* Noncompliant non base LID returned by some queries:
-  The following attributes used to return the request LID rather than
-  its base LID in responses: PKeyTableRecord, GUIDInfoRecord,
-  SLtoVLMappingTableRecord, VLArbitrationTableRecord, LinkRecord
-
-* Noncompliant SubnAdmGet and SubnAdmGetTable:
-  Mixing of error codes in case of no records or multiple records
-  fixed for the attributes: 
-  LinearForwardingTableRecord, GUIDInfoRecord,
-  VLArbitrationTableRecord, LinkRecord, PathRecord
-
-* segfault in InformInfo flows
-  Under stress concurrent Set/Delete/Get flows. Fixed by adding
-  missing lock.
-
-* SA queries containing LID out if range did not return ERR_REQ_INVALID
-
-5 Main Verification Flows
--------------------------
-
-OpenSM verification is run using the following activities:
-* osmtest - a stand-alone program
-* ibmgtsim (IB management simulator) based - a set of flows that
-  simulate clusters, inject errors and verify OpenSM capability to
-  respond and bring up the network correctly.
-* small cluster regression testing - where the SM is used on back to
-  back or single switch configurations. The regression includes
-  multiple OpenSM dedicated tests.
-* cluster testing - when we run OpenSM to setup a large cluster, perform
-  hand-off, reboots and reconnects, verify routing correctness and SA
-  responsiveness at the ULP level (IPoIB and SDP).
-
-5.1 osmtest
-
-osmtest is an automated verification tool used for OpenSM
-testing. Its verification flows are described by list below. 
-
-* Inventory File: Obtain and verify all port info, node info, link and path
-  records parameters.
-
-* Service Record:
-   - Register new service
-   - Register another service (with a lease period)
-   - Register another service (with service p_key set to zero)
-   - Get all services by name
-   - Delete the first service
-   - Delete the third service
-   - Added bad flows of get/delete  non valid service
-   - Add / Get same service with different data 
-   - Add / Get / Delete by different component  mask values (services
-     by Name & Key / Name & Data / Name & Id / Id only )
-
-* Multicast Member Record: 
-   - Query of existing Groups (IPoIB)
-   - BAD Join with insufficient comp mask (o15.0.1.3)
-   - Create given MGID=0 (o15.0.1.4)
-   - Create given MGID=0xFF12A01C,FE800000,00000000,12345678 (o15.0.1.4)
-   - Create BAD MGID=0xFA. (o15.0.1.6)
-   - Create BAD MGID=0xFF12A01B w/ link-local not set (o15.0.1.6)
-   - New MGID with invalid join state (o15.0.1.9)
-   - Retry of existing MGID - See JoinState update (o15.0.1.11)
-   - BAD RATE when connecting to existing MGID (o15.0.1.13)
-   - Partial JoinState delete request - removing FullMember (o15.0.1.14)
-   - Full Delete of a group (o15.0.1.14)
-   - Verify Delete by trying to Join deleted group (o15.0.1.14)
-   - BAD Delete of IPoIB membership (no prev join) (o15.0.1.15)
-
-* GUIDInfo Record:
-   - All GUIDInfoRecords in subnet are obtained
-
-* MultiPathRecord:
-   - Perform some compliant and noncompliant MultiPathRecord requests
-   - Validation is via status in responses and IB analyzer
-
-* PKeyTableRecord:
-  - Perform some compliant and noncompliant PKeyTableRecord queries
-  - Validation is via status in responses and IB analyzer
-
-* LinearForwardingTableRecord:
-  - Perform some compliant and noncompliant LinearForwardingTableRecord queries
-  - Validation is via status in responses and IB analyzer
-
-* Event Forwarding: Register for trap forwarding using reports
-   - Send a trap and wait for report
-   - Unregister non-existing
-
-* Trap 64/65 Flow: Register to Trap 64-65, create traps (by
-  disconnecting/connecting ports) and wait for report, then unregister.
-
-* Stress Test: send PortInfoRecord queries, both single and RMPP and
-  check for the rate of responses as well as their validity.
-
-
-5.2 IB Management Simulator OpenSM Test Flows:
-
-The simulator provides ability to simulate the SM handling of virtual
-topologies that are not limited to actual lab equipment availability.
-OpenSM was simulated to bring up clusters of up to 10,000 nodes. Daily
-regressions use smaller (16 and 128 nodes clusters).
-
-The following test flows are run on the IB management simulator:
-
-* Stability:
-  Up to 12 links from the fabric are randomly selected to drop packets
-  at drop rates up to 90%. The SM is required to succeed in bringing the
-  fabric up. The resulting routing is verified to be correct as well.
-
-* LID Manager:
-  Using LMC = 2 the fabric is initialized with LIDs. Faults such as
-  zero LID, Duplicated LID, non-aligned (to LMC) LIDs are 
-  randomly assigned to various nodes and other errors are randomly
-  output to the guid2lid cache file. The SM sweep is run 5 times and
-  after each iteration a complete verification is made to ensure that all
-  LIDs that could possibly be maintained are kept, as well as that all nodes
-  were assigned a legal LID range.
-
-* Multicast Routing:
-  Nodes randomly join the 0xc000 group and eventually the
-  resulting routing is verified for completeness and adherence to
-  Up/Down routing rules. 
-
-* osmtest:
-  The complete osmtest flow as described in the previous table is run on
-  the simulated fabrics.
-
-* Stress Test:
-  This flow merges fabric, LID and stability issues with continuous 
-  PathRecord, ServiceRecord and Multicast Join/Leave activity to
-  stress the SM/SA during continuous sweeps. InformInfo Set/Delete/Get
-  were added to the test such both existing and non existing nodes
-  perform them in random order.
-
-5.3 OpenSM Regression
-
-Using a back-to-back or single switch connection, the following set of
-tests is run nightly on the stacks described in table 2. The included
-tests are:
-
-* Stress Testing: Flood the SA with queries from multiple channel
-  adapters to check the robustness of the entire stack up to the SA.
-
-* Dynamic Changes: Dynamic Topology changes, through randomly
-  dropping SMP packets, used to test OpenSM adaptation to an unstable
-  network & verify DB correctness.
-
-* Trap Injection: This flow injects traps to the SM and verifies that it
-  handles them gracefully. 
-
-* SA Query Test: This test exhaustively checks the SA responses to all
-  possible single component mask. To do that the test examines the
-  entire set of records the SA can provide, classifies them by their
-  field values and then selects every field (using component mask and a
-  value) and verifies that the response matches the expected set of records.
-  A random selection using multiple component mask bits is also performed.
-
-5.4 Cluster testing:
-
-Cluster testing is usually run before a distribution release. It
-involves real hardware setups of 16 to 32 nodes (or more if a beta site
-is available). Each test is validated by running all-to-all ping through the IB
-interface. The test procedure includes:
-
-* Cluster bringup 
-
-* Hand-off between 2 or 3 SM's while performing:
-  - Node reboots
-  - Switch power cycles (disconnecting the SM's)
-
-* Unresponsive port detection and recovery
-
-* osmtest from multiple nodes
-
-* Trap injection and recovery
-
-
-6 Qualification 
-----------------
-
-Table 2 - Qualified IB Stacks
-=============================
-
-Stack                                    | Version
------------------------------------------|--------------------------
-OFED                                     |   1.1
-OFED                                     |   1.0
-OpenIB Gen2 (IBG2 distribution)          |   1.0
-OpenIB Gen1 (IBGD distribution)          |   1.8.0
-VAPI (Mellanox InfiniBand HCA Driver)    |   3.2 and later
-
-Table 3 - Qualified Devices and Corresponding Firmware 
-======================================================
-
-Mellanox
-Device  |   FW versions 
---------|-----------------------------------------------------------
-MT43132 |   InfiniScale - fw-43132  5.2.0 (and later)
-MT47396 |   InfiniScale III - fw-47396 0.5.0 (and later)
-MT23108 |   InfiniHost - fw-23108   3.3.2 (and later)
-MT25204 |   InfiniHost III Lx - fw-25204  1.0.1i (and later)
-MT25208 |   InfiniHost III Ex (InfiniHost Mode) - fw-25208  4.6.2 (and later)
-MT25208 |   InfiniHost III Ex (MemFree Mode) - fw-25218  5.0.1 (and later)
-
-QLogic/PathScale
-Device  |   Note
---------|-----------------------------------------------------------
-iPath   | QHT6040 (PathScale InfiniPath HT-460)
-iPath   | QHT6140 (PathScale InfiniPath HT-465)
-iPath   | QLE6140 (PathScale InfiniPath PE-880)
-
-Note: OpenSM does not run on an IBM Galaxy (eHCA) as it does not expose 
-QP0 and QP1. However, it does support it as a device on the subnet.
-
diff --git a/ulp/opensm/user/include/complib/cl_byteswap.h b/ulp/opensm/user/include/complib/cl_byteswap.h
deleted file mode 100644 (file)
index 2ba5a77..0000000
+++ /dev/null
@@ -1,547 +0,0 @@
-/*
- * Copyright (c) 2004,2005 Voltaire, Inc. All rights reserved.   
- * Copyright (c) 2002-2005 Mellanox Technologies LTD. All rights reserved.   
- * Copyright (c) 1996-2003 Intel Corporation. All rights reserved.   
- *  
- * This software is available to you under the OpenIB.org BSD license  
- * below:  
- *  
- *     Redistribution and use in source and binary forms, with or  
- *     without modification, are permitted provided that the following  
- *     conditions are met:  
- *  
- *      - Redistributions of source code must retain the above  
- *        copyright notice, this list of conditions and the following  
- *        disclaimer.  
- *  
- *      - Redistributions in binary form must reproduce the above  
- *        copyright notice, this list of conditions and the following  
- *        disclaimer in the documentation and/or other materials  
- *        provided with the distribution.  
- *  
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,  
- * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF   
- * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND           
- * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS  
- * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN  
- * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN  
- * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE  
- * SOFTWARE.  
- *  
- * $Id$
- */
-
-
-
-/*
- * Abstract:
- *     provides byteswapping utilities. Basic fuctions are obtained from platform
- *  specific implementations from ibyteswap_osd.h.
- *
- * Environment:
- *     All
- */
-
-
-#ifndef _CL_BYTESWAP_H_
-#define _CL_BYTESWAP_H_
-
-
-#include <complib/cl_memory.h>
-#include <complib/cl_byteswap_osd.h>
-
-
-/****h* Component Library/Byte Swapping
-* NAME
-*      Byte Swapping
-*
-* DESCRIPTION
-*      The byte swapping functions and macros allow swapping bytes from network
-*      byte order to host byte order.
-*
-*      All data transmitted between systems should be in network byte order.
-*      In order to utilize such data, it must be converted to host byte order
-*      before use.
-*
-* SEE ALSO
-*      Functions:
-*              cl_ntoh16, cl_hton16, cl_ntoh32, cl_hton32, cl_ntoh64, cl_hton64,
-*              cl_ntoh
-*
-*      Macros:
-*              CL_NTOH16, CL_HTON16, CL_NTOH32, CL_HTON32, CL_NTOH64, CL_HTON64
-*********/
-
-
-/*
- * The ibyteswap_osd.h provides the following macros.
- *             __LITTLE_ENDIAN
- *             __BIG_ENDIAN
- *             __BYTE_ORDER
- *
- * If the platform provides byte swapping functions, ibyteswap_osd.h also
- * provides the following macros.
- *             ntoh16, hton16
- *             ntoh32, hton32
- *             ntoh64, hton64
- */
-
-#ifdef __cplusplus
-extern "C"
-{
-#endif
-
-
-/****d* Component Library: Byte Swapping/CL_NTOH16
-* NAME
-*      CL_NTOH16
-*
-* DESCRIPTION
-*      The CL_NTOH16 macro converts a 16-bit value from network byte order to
-*      host byte order.  The CL_NTOH16 macro will cause constant values to be
-*      swapped by the pre-processor.  For variables, CL_NTOH16 is less efficient
-*      than the cl_ntoh16 function.
-*
-* SYNOPSIS
-*      CL_NTOH16( val );
-*
-* PARAMETERS
-*      val
-*              [in] 16-bit value to swap from network byte order to host byte order.
-*
-* RESULT
-*      Value of val converted to host byte order.
-*
-* NOTES
-*      This macro is analogous to CL_HTON16.
-*
-* SEE ALSO
-*      Byte Swapping, CL_HTON16, CL_NTOH32, CL_NTOH64,
-*      cl_ntoh16, cl_ntoh32, cl_ntoh64, cl_ntoh
-*********/
-/****d* Component Library: Byte Swapping/CL_HTON16
-* NAME
-*      CL_HTON16
-*
-* DESCRIPTION
-*      The CL_HTON16 macro converts a 16-bit value from host byte order to
-*      network byte order.  The CL_HTON16 macro will cause constant values to be
-*      swapped by the pre-processor.  For variables, CL_HTON16 is less efficient
-*      than the cl_hton16 function.
-*
-* SYNOPSIS
-*      CL_HTON16( val );
-*
-* PARAMETERS
-*      val
-*              [in] 16-bit value to swap from host byte order to network byte order.
-*
-* RESULT
-*      Value of val converted to network byte order.
-*
-* NOTES
-*      This macro is analogous to CL_NTOH16.
-*
-* SEE ALSO
-*      Byte Swapping, CL_NTOH16, CL_HTON32, CL_HTON64,
-*      cl_hton16, cl_hton32, cl_hton64, cl_ntoh
-*********/
-#if CPU_LE
-       #define CL_NTOH16( x )          (uint16_t)(             \
-                       (((uint16_t)(x) & 0x00FF) << 8) |       \
-                       (((uint16_t)(x) & 0xFF00) >> 8) )
-#else
-       #define CL_NTOH16( x )          (x)
-#endif
-#define CL_HTON16                              CL_NTOH16
-
-
-/****f* Component Library: Byte Swapping/cl_ntoh16
-* NAME
-*      cl_ntoh16
-*
-* DESCRIPTION
-*      The cl_ntoh16 function converts a 16-bit value from network byte order to
-*      host byte order.
-*
-* SYNOPSIS
-*      uint16_t
-*      cl_ntoh16(
-*              IN      const uint16_t  val );
-*
-* PARAMETERS
-*      val
-*              [in] Value to swap from network byte order to host byte order.
-*
-* RETURN VALUE
-*      Value of val converted to host byte order.
-*
-* NOTES
-*      This function is analogous to cl_hton16.
-*
-* SEE ALSO
-*      Byte Swapping, cl_hton16, cl_ntoh32, cl_ntoh64, cl_ntoh
-*********/
-/****f* Component Library: Byte Swapping/cl_hton16
-* NAME
-*      cl_hton16
-*
-* DESCRIPTION
-*      The cl_hton16 function converts a 16-bit value from host byte order to
-*      network byte order.
-*
-* SYNOPSIS
-*      uint16_t
-*      cl_hton16(
-*              IN      const uint16_t  val );
-*
-* PARAMETERS
-*      val
-*              [in] Value to swap from host byte order to network byte order .
-*
-* RETURN VALUE
-*      Value of val converted to network byte order.
-*
-* NOTES
-*      This function is analogous to cl_ntoh16.
-*
-* SEE ALSO
-*      Byte Swapping, cl_ntoh16, cl_hton32, cl_hton64, cl_ntoh
-*********/
-#undef cl_ntoh16
-#undef cl_hton16
-#ifndef cl_ntoh16
-       #define cl_ntoh16       CL_NTOH16
-       #define cl_hton16       CL_HTON16
-#endif
-
-
-/****d* Component Library: Byte Swapping/CL_NTOH32
-* NAME
-*      CL_NTOH32
-*
-* DESCRIPTION
-*      The CL_NTOH32 macro converts a 32-bit value from network byte order to
-*      host byte order.  The CL_NTOH32 macro will cause constant values to be
-*      swapped by the pre-processor.  For variables, CL_NTOH32 is less efficient
-*      than the cl_ntoh32 function.
-*
-* SYNOPSIS
-*      CL_NTOH32( val );
-*
-* PARAMETERS
-*      val
-*              [in] 32-bit value to swap from network byte order to host byte order.
-*
-* RESULT
-*      Value of val converted to host byte order.
-*
-* NOTES
-*      This macro is analogous to CL_HTON32.
-*
-* SEE ALSO
-*      Byte Swapping, CL_HTON32, CL_NTOH16, CL_NTOH64,
-*      cl_ntoh16, cl_ntoh32, cl_ntoh64, cl_ntoh
-*********/
-/****d* Component Library: Byte Swapping/CL_HTON32
-* NAME
-*      CL_HTON32
-*
-* DESCRIPTION
-*      The CL_HTON32 macro converts a 32-bit value from host byte order to
-*      network byte order.  The CL_HTON32 macro will cause constant values to be
-*      swapped by the pre-processor.  For variables, CL_HTON32 is less efficient
-*      than the cl_hton32 function.
-*
-* SYNOPSIS
-*      CL_HTON32( val );
-*
-* PARAMETERS
-*      val
-*              [in] 32-bit value to swap from host byte order to network byte order.
-*
-* RESULT
-*      Value of val converted to network byte order.
-*
-* NOTES
-*      This macro is analogous to CL_NTOH32.
-*
-* SEE ALSO
-*      Byte Swapping, CL_NTOH32, CL_HTON16, CL_HTON64,
-*      cl_hton16, cl_hton32, cl_hton64, cl_ntoh
-*********/
-#if CPU_LE
-       #define CL_NTOH32( x )          (uint32_t)(                     \
-                       (((uint32_t)(x) & 0x000000FF) << 24) |  \
-                       (((uint32_t)(x) & 0x0000FF00) << 8) |   \
-                       (((uint32_t)(x) & 0x00FF0000) >> 8) |   \
-                       (((uint32_t)(x) & 0xFF000000) >> 24) )
-#else
-       #define CL_NTOH32( x )          (x)
-#endif
-#define CL_HTON32                              CL_NTOH32
-
-
-/****f* Component Library: Byte Swapping/cl_ntoh32
-* NAME
-*      cl_ntoh32
-*
-* DESCRIPTION
-*      The cl_ntoh32 function converts a 32-bit value from network byte order to
-*      host byte order.
-*
-* SYNOPSIS
-*      uint32_t
-*      cl_ntoh32(
-*              IN      const uint32_t  val );
-*
-* PARAMETERS
-*      val
-*              [in] Value to swap from network byte order to host byte order.
-*
-* RETURN VALUE
-*      Value of val converted in host byte order.
-*
-* NOTES
-*      This function is analogous to cl_hton32.
-*
-* SEE ALSO
-*      Byte Swapping, cl_hton32, cl_ntoh16, cl_ntoh64, cl_ntoh
-*********/
-/****f* Component Library: Byte Swapping/cl_hton32
-* NAME
-*      cl_hton32
-*
-* DESCRIPTION
-*      The cl_hton32 function converts a 32-bit value from host byte order to
-*      network byte order.
-*
-* SYNOPSIS
-*      uint32_t
-*      cl_hton32(
-*              IN      const uint32_t  val );
-*
-* PARAMETERS
-*      val
-*              [in] Value to swap from host byte order to network byte order .
-*
-* RETURN VALUE
-*      Value of val converted to network byte order.
-*
-* NOTES
-*      This function is analogous to cl_ntoh32.
-*
-* SEE ALSO
-*      Byte Swapping, cl_ntoh32, cl_hton16, cl_hton64, cl_ntoh
-*********/
-#undef  cl_ntoh32
-#undef  cl_hton32
-#ifndef cl_ntoh32
-       #define cl_ntoh32       CL_NTOH32
-       #define cl_hton32       CL_HTON32
-#endif
-
-
-/****d* Component Library: Byte Swapping/CL_NTOH64
-* NAME
-*      CL_NTOH64
-*
-* DESCRIPTION
-*      The CL_NTOH64 macro converts a 64-bit value from network byte order to
-*      host byte order.  The CL_NTOH64 macro will cause constant values to be
-*      swapped by the pre-processor.  For variables, CL_NTOH64 is less efficient
-*      than the cl_ntoh64 function.
-*
-* SYNOPSIS
-*      CL_NTOH64( val );
-*
-* PARAMETERS
-*      val
-*              [in] 64-bit value to swap from network byte order to host byte order.
-*
-* RESULT
-*      Value of val converted to host byte order.
-*
-* NOTES
-*      This macro is analogous to CL_HTON64.
-*
-* SEE ALSO
-*      Byte Swapping, CL_HTON64, CL_NTOH16, CL_NTOH32,
-*      cl_ntoh16, cl_ntoh32, cl_ntoh64, cl_ntoh
-*********/
-/****d* Component Library: Byte Swapping/CL_HTON64
-* NAME
-*      CL_HTON64
-*
-* DESCRIPTION
-*      The CL_HTON64 macro converts a 64-bit value from host byte order to
-*      network byte order.  The CL_HTON64 macro will cause constant values to be
-*      swapped by the pre-processor.  For variables, CL_HTON64 is less efficient
-*      than the cl_hton64 function.
-*
-* SYNOPSIS
-*      CL_HTON64( val );
-*
-* PARAMETERS
-*      val
-*              [in] 64-bit value to swap from host byte order to network byte order.
-*
-* RESULT
-*      Value of val converted to network byte order.
-*
-* NOTES
-*      This macro is analogous to CL_NTOH64.
-*
-* SEE ALSO
-*      Byte Swapping, CL_NTOH64, CL_HTON16, CL_HTON32,
-*      cl_hton16, cl_hton32, cl_hton64, cl_ntoh
-*********/
-#if CPU_LE
-       #define CL_NTOH64( x )          (uint64_t)(                                     \
-                       (((uint64_t)(x) & CL_CONST64(0x00000000000000FF)) << 56) |      \
-                       (((uint64_t)(x) & CL_CONST64(0x000000000000FF00)) << 40) |      \
-                       (((uint64_t)(x) & CL_CONST64(0x0000000000FF0000)) << 24) |      \
-                       (((uint64_t)(x) & CL_CONST64(0x00000000FF000000)) << 8 ) |      \
-                       (((uint64_t)(x) & CL_CONST64(0x000000FF00000000)) >> 8 ) |      \
-                       (((uint64_t)(x) & CL_CONST64(0x0000FF0000000000)) >> 24) |      \
-                       (((uint64_t)(x) & CL_CONST64(0x00FF000000000000)) >> 40) |      \
-                       (((uint64_t)(x) & CL_CONST64(0xFF00000000000000)) >> 56) )
-#else
-       #define CL_NTOH64( x )          (x)
-#endif
-#define CL_HTON64                              CL_NTOH64
-
-
-/****f* Component Library: Byte Swapping/cl_ntoh64
-* NAME
-*      cl_ntoh64
-*
-* DESCRIPTION
-*      The cl_ntoh64 function converts a 64-bit value from network byte order to
-*      host byte order.
-*
-* SYNOPSIS
-*      uint64_t
-*      cl_ntoh64(
-*              IN      const uint64_t  val );
-*
-* PARAMETERS
-*      val
-*              [in] Value to swap from network byte order to host byte order.
-*
-* RETURN VALUE
-*      Value of val converted in host byte order.
-*
-* NOTES
-*      This function is analogous to cl_hton64.
-*
-* SEE ALSO
-*      Byte Swapping, cl_hton64, cl_ntoh16, cl_ntoh32, cl_ntoh
-*********/
-/****f* Component Library: Byte Swapping/cl_hton64
-* NAME
-*      cl_hton64
-*
-* DESCRIPTION
-*      The cl_hton64 function converts a 64-bit value from host byte order to
-*      network byte order.
-*
-* SYNOPSIS
-*      uint64_t
-*      cl_hton64(
-*              IN      const uint64_t  val );
-*
-* PARAMETERS
-*      val
-*              [in] Value to swap from host byte order to network byte order .
-*
-* RETURN VALUE
-*      Value of val converted to network byte order.
-*
-* NOTES
-*      This function is analogous to cl_ntoh64.
-*
-* SEE ALSO
-*      Byte Swapping, cl_ntoh64, cl_hton16, cl_hton32, cl_ntoh
-*********/
-#undef cl_ntoh64
-#undef cl_hton64
-#ifndef cl_ntoh64
-       #define cl_ntoh64       CL_NTOH64
-       #define cl_hton64       CL_HTON64
-#endif
-
-
-/****f* Component Library: Byte Swapping/cl_ntoh
-* NAME
-*      cl_ntoh
-*
-* DESCRIPTION
-*      The cl_ntoh function converts a value from network byte order to
-*      host byte order.
-*
-* SYNOPSIS
-*/
-CL_INLINE void CL_API
-cl_ntoh(
-       OUT     char* const                     p_dest,
-       IN      const char* const       p_src,
-       IN      const uint8_t           size )
-{
-#if CPU_LE
-       uint8_t i;
-       char    temp;
-
-       if( p_src == p_dest )
-       {
-               /* Swap in place if source and destination are the same. */
-               for( i = 0; i < size / 2; i++ )
-               {
-                       temp = p_dest[i];
-                       p_dest[i] = p_src[size - 1 - i];
-                       p_dest[size - 1 - i] = temp;
-               }
-       }
-       else
-       {
-               for( i = 0; i < size; i++ )
-                       p_dest[i] = p_src[size - 1 - i];
-       }
-#else
-       /*
-        * If the source and destination are not the same, copy the source to
-        * the destination.
-        */
-       if( p_src != p_dest )
-               cl_memcpy( p_dest, p_src, size );
-#endif
-}
-/*
-* PARAMETERS
-*      p_dest
-*              [in] Pointer to a byte array to contain the converted value of p_src.
-*
-*      p_src
-*              [in] Pointer to a byte array to be converted from network byte
-*              ordering.
-*
-*      size
-*              [in] Number of bytes to swap.p_dest
-*
-* RETURN VALUE
-*      This function does not return a value.
-*
-* NOTES
-*      cl_ntoh can perform in place swapping if both p_src and p_dest point to
-*      the same buffer.
-*
-* SEE ALSO
-*      Byte Swapping, cl_ntoh16, cl_ntoh32, cl_ntoh64
-*********/
-
-
-#ifdef __cplusplus
-}      /* extern "C" */
-#endif
-
-#endif /* _CL_BYTESWAP_H_ */
diff --git a/ulp/opensm/user/include/complib/cl_signal_osd.h b/ulp/opensm/user/include/complib/cl_signal_osd.h
deleted file mode 100644 (file)
index 1b73156..0000000
+++ /dev/null
@@ -1,127 +0,0 @@
-/*
- * Copyright (c) 2005 Mellanox Technologies.  All rights reserved.
- * Copyright (c) 1996-2003 Intel Corporation. All rights reserved. 
- *
- * This software is available to you under the OpenIB.org BSD license
- * below:
- *
- *     Redistribution and use in source and binary forms, with or
- *     without modification, are permitted provided that the following
- *     conditions are met:
- *
- *      - Redistributions of source code must retain the above
- *        copyright notice, this list of conditions and the following
- *        disclaimer.
- *
- *      - Redistributions in binary form must reproduce the above
- *        copyright notice, this list of conditions and the following
- *        disclaimer in the documentation and/or other materials
- *        provided with the distribution.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
- * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
- * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
- * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS
- * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
- * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
- * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- * SOFTWARE.
- *
- * $Id$
- */
-
-/*
- * Abstract:
- *     Declaration of Signal Handler Registration
- *
- * Environment:
- *     All
- *
- * $Revision: 1.3 $
- */
-
-
-#ifndef _CL_SIG_HDL_H_
-#define _CL_SIG_HDL_H_
-
-#include <signal.h>
-
-/****h* Component Library/Signal Handler
-* NAME
-*   Signal Handler Registration
-*
-* DESCRIPTION
-*      The Signal Handler Registration allows to register a callback on the case of incoming signal
-*
-* SEE ALSO
-*********/
-/* TODO : Required when calling signal function in windows*/
-typedef void (__cdecl *cl_sig_hdl)(
-   IN int sig);
-/* Prototypes */
-
-/****f* Component Library: Signal Handler/cl_reg_sig_hdl
-* NAME
-*      cl_reg_sig_hdl
-*
-* DESCRIPTION
-*      Register the handler for the given signal
-*
-* SYNOPSIS
-*/
-
-static inline void 
-cl_reg_sig_hdl(int sig, cl_sig_hdl pfn_sig_hdl);
-
-
-
-/****f* Component Library: Signal Handler/cl_mask_sigint
-* NAME
-*      cl_sig_mask_sigint
-*
-* DESCRIPTION
-*      Mask the kill signal
-*
-* SYNOPSIS
-*/
-
-static inline void 
-cl_sig_mask_sigint(void);
-
-
-
-
-/****f* Component Library: Signal Handler/cl_reg_sig_hdl
-* NAME
-*      cl_reg_sig_hdl
-*
-* DESCRIPTION
-*      Register the handler for the given signal
-*
-* SYNOPSIS
-*/
-static inline void 
-cl_reg_sig_hdl(int sig, cl_sig_hdl pfn_sig_hdl) {
-       signal(sig,pfn_sig_hdl);
- }
-/*
-*********/
-
-/****f* Component Library: Signal Handler/cl_mask_sigint
-* NAME
-*      cl_sig_mask_sigint
-*
-* DESCRIPTION
-*      Mask the kill signal
-*
-* SYNOPSIS
-*/
-static inline void 
-cl_sig_mask_sigint(void)
-{
-}
-/*
-*********/
-
-#endif /* _CL_SIG_HDL_H_ */
diff --git a/ulp/opensm/user/include/iba/ib_types_extended.h b/ulp/opensm/user/include/iba/ib_types_extended.h
deleted file mode 100644 (file)
index edd978d..0000000
+++ /dev/null
@@ -1,2809 +0,0 @@
-/*\r
- * Copyright (c) 2004,2005 Voltaire, Inc. All rights reserved.   \r
- * Copyright (c) 2002-2005 Mellanox Technologies LTD. All rights reserved.   \r
- * Copyright (c) 1996-2003 Intel Corporation. All rights reserved.   \r
- * Portions Copyright (c) 2008 Microsoft Corporation.  All rights reserved.\r
- *  \r
- * This software is available to you under the OpenIB.org BSD license  \r
- * below:  \r
- *  \r
- *     Redistribution and use in source and binary forms, with or  \r
- *     without modification, are permitted provided that the following  \r
- *     conditions are met:  \r
- *  \r
- *      - Redistributions of source code must retain the above  \r
- *        copyright notice, this list of conditions and the following  \r
- *        disclaimer.  \r
- *  \r
- *      - Redistributions in binary form must reproduce the above  \r
- *        copyright notice, this list of conditions and the following  \r
- *        disclaimer in the documentation and/or other materials  \r
- *        provided with the distribution.  \r
- *  \r
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,  \r
- * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF   \r
- * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND           \r
- * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS  \r
- * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN  \r
- * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN  \r
- * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE  \r
- * SOFTWARE.  \r
- *  \r
- * $Id$\r
- */\r
-\r
-\r
-#if !defined(__IB_TYPES_EXTENDED_H__)\r
-#define __IB_TYPES_EXTENDED_H__\r
-\r
-\r
-#if defined( WIN32 )\r
-       #if defined( EXPORT_AL_SYMBOLS )\r
-               #define AL_EXPORT       __declspec(dllexport)\r
-       #else\r
-               #define AL_EXPORT       __declspec(dllimport)\r
-       #endif\r
-\r
-       #ifdef CL_KERNEL\r
-               #define AL_API\r
-               #define AL_INLINE       static inline\r
-       #else\r
-               #define AL_API          __stdcall\r
-               #define AL_INLINE       static  inline\r
-       #endif  /* CL_KERNEL */\r
-#else\r
-       #define AL_EXPORT       extern\r
-       #define AL_INLINE       static inline\r
-       #define AL_API\r
-       #define __ptr64\r
-#endif\r
-\r
-/*\r
- *     Defines the size of user available data in communication management MADs\r
- */\r
-#define IB_REQ_PDATA_SIZE                                      92\r
-#define IB_MRA_PDATA_SIZE                                      222\r
-#define IB_REJ_PDATA_SIZE                                      148\r
-#define IB_REP_PDATA_SIZE                                      196\r
-#define IB_RTU_PDATA_SIZE                                      224\r
-#define IB_LAP_PDATA_SIZE                                      168\r
-#define IB_APR_PDATA_SIZE                                      148\r
-#define IB_DREQ_PDATA_SIZE                                     220\r
-#define IB_DREP_PDATA_SIZE                                     224\r
-#define IB_SIDR_REQ_PDATA_SIZE                         216\r
-#define IB_SIDR_REP_PDATA_SIZE                         136\r
-\r
-/* following v1 ver1.2 p901 */\r
-#define IB_PATH_RECORD_RATE_5_GBS               5\r
-#define IB_PATH_RECORD_RATE_20_GBS              6\r
-#define IB_PATH_RECORD_RATE_40_GBS              7\r
-#define IB_PATH_RECORD_RATE_60_GBS              8\r
-#define IB_PATH_RECORD_RATE_80_GBS              9\r
-#define IB_PATH_RECORD_RATE_120_GBS             10\r
-\r
-\r
-\r
-typedef struct _ib_srq*                ib_srq_handle_t ; \r
-\r
-/*\r
- *     The following definitions are shared between the Access Layer and VPD\r
- */\r
-\r
-\r
-\r
-/****d* Access Layer/ib_api_status_t\r
-* NAME\r
-*      ib_api_status_t\r
-*\r
-* DESCRIPTION\r
-*      Function return codes indicating the success or failure of an API call.\r
-*      Note that success is indicated by the return value IB_SUCCESS, which\r
-*      is always zero.\r
-*\r
-* NOTES\r
-*      IB_VERBS_PROCESSING_DONE is used by UVP library to terminate a verbs call\r
-*      in the pre-ioctl step itself.\r
-*\r
-* SYNOPSIS\r
-*/\r
-typedef enum _ib_api_status_t\r
-{\r
-       IB_SUCCESS,\r
-       IB_INSUFFICIENT_RESOURCES,\r
-       IB_INSUFFICIENT_MEMORY,\r
-       IB_INVALID_PARAMETER,\r
-       IB_INVALID_SETTING,\r
-       IB_NOT_FOUND,\r
-       IB_TIMEOUT,\r
-       IB_CANCELED,\r
-       IB_INTERRUPTED,\r
-       IB_INVALID_PERMISSION,\r
-       IB_UNSUPPORTED,\r
-       IB_OVERFLOW,\r
-       IB_MAX_MCAST_QPS_REACHED,\r
-       IB_INVALID_QP_STATE,\r
-       IB_INVALID_APM_STATE,\r
-       IB_INVALID_PORT_STATE,\r
-       IB_INVALID_STATE,\r
-       IB_RESOURCE_BUSY,\r
-       IB_INVALID_PKEY,\r
-       IB_INVALID_LKEY,\r
-       IB_INVALID_RKEY,\r
-       IB_INVALID_MAX_WRS,\r
-       IB_INVALID_MAX_SGE,\r
-       IB_INVALID_CQ_SIZE,\r
-       IB_INVALID_SRQ_SIZE,\r
-       IB_INVALID_SERVICE_TYPE,\r
-       IB_INVALID_GID,\r
-       IB_INVALID_LID,\r
-       IB_INVALID_GUID,\r
-       IB_INVALID_GUID_MASK,\r
-       IB_INVALID_CA_HANDLE,\r
-       IB_INVALID_AV_HANDLE,\r
-       IB_INVALID_CQ_HANDLE,\r
-       IB_INVALID_QP_HANDLE,\r
-       IB_INVALID_SRQ_HANDLE,\r
-       IB_INVALID_PD_HANDLE,\r
-       IB_INVALID_MR_HANDLE,\r
-       IB_INVALID_FMR_HANDLE,\r
-       IB_INVALID_MW_HANDLE,\r
-       IB_INVALID_MCAST_HANDLE,\r
-       IB_INVALID_CALLBACK,\r
-       IB_INVALID_AL_HANDLE,                                   /* InfiniBand Access Layer */\r
-       IB_INVALID_HANDLE,                                              /* InfiniBand Access Layer */\r
-       IB_ERROR,                                                               /* InfiniBand Access Layer */\r
-       IB_REMOTE_ERROR,                                                /* Infiniband Access Layer */\r
-       IB_VERBS_PROCESSING_DONE,                               /* See Notes above                 */\r
-       IB_INVALID_WR_TYPE,\r
-       IB_QP_IN_TIMEWAIT,\r
-       IB_EE_IN_TIMEWAIT,\r
-       IB_INVALID_PORT,\r
-       IB_NOT_DONE,\r
-       IB_INVALID_INDEX,\r
-       IB_NO_MATCH,\r
-       IB_PENDING,\r
-       IB_UNKNOWN_ERROR                                                /* ALWAYS LAST ENUM VALUE! */\r
-\r
-}      ib_api_status_t;\r
-/*****/\r
-\r
-\r
-\r
-/****f* IBA Base: Types/ib_get_err_str\r
-* NAME\r
-*      ib_get_err_str\r
-*\r
-* DESCRIPTION\r
-*      Returns a string for the specified status value.\r
-*\r
-* SYNOPSIS\r
-*/\r
-AL_EXPORT const char* AL_API\r
-ib_get_err_str(\r
-       IN                              ib_api_status_t                         status );\r
-/*\r
-* PARAMETERS\r
-*      status\r
-*              [in] status value\r
-*\r
-* RETURN VALUES\r
-*      Pointer to the status description string.\r
-*\r
-* NOTES\r
-*\r
-* SEE ALSO\r
-*********/\r
-\r
-/****d* Verbs/ib_async_event_t\r
-* NAME\r
-*      ib_async_event_t -- Async event types\r
-*\r
-* DESCRIPTION\r
-*      This type indicates the reason the async callback was called.\r
-*      The context in the ib_event_rec_t indicates the resource context\r
-*      that associated with the callback.  For example, for IB_AE_CQ_ERROR\r
-*      the context provided during the ib_create_cq is returned in the event.\r
-*\r
-* SYNOPSIS\r
-*/\r
-typedef enum _ib_async_event_t\r
-{\r
-       IB_AE_SQ_ERROR = 1,\r
-       IB_AE_SQ_DRAINED,\r
-       IB_AE_RQ_ERROR,\r
-       IB_AE_CQ_ERROR,\r
-       IB_AE_QP_FATAL,\r
-       IB_AE_QP_COMM,\r
-       IB_AE_QP_APM,\r
-       IB_AE_LOCAL_FATAL,\r
-       IB_AE_PKEY_TRAP,\r
-       IB_AE_QKEY_TRAP,\r
-       IB_AE_MKEY_TRAP,\r
-       IB_AE_PORT_TRAP,\r
-       IB_AE_SYSIMG_GUID_TRAP,\r
-       IB_AE_BUF_OVERRUN,\r
-       IB_AE_LINK_INTEGRITY,\r
-       IB_AE_FLOW_CTRL_ERROR,\r
-       IB_AE_BKEY_TRAP,\r
-       IB_AE_QP_APM_ERROR,\r
-       IB_AE_WQ_REQ_ERROR,\r
-       IB_AE_WQ_ACCESS_ERROR,\r
-       IB_AE_PORT_ACTIVE,\r
-       IB_AE_PORT_DOWN,\r
-       IB_AE_CLIENT_REREGISTER,\r
-       IB_AE_SRQ_LIMIT_REACHED,\r
-       IB_AE_SRQ_CATAS_ERROR,\r
-       IB_AE_SRQ_QP_LAST_WQE_REACHED,\r
-       IB_AE_RESET_DRIVER,\r
-       IB_AE_RESET_CLIENT,\r
-       IB_AE_RESET_END,\r
-       IB_AE_RESET_FAILED,\r
-       IB_AE_LID_CHANGE,\r
-       IB_AE_PKEY_CHANGE,\r
-       IB_AE_SM_CHANGE,\r
-       IB_AE_GID_CHANGE,\r
-       IB_AE_UNKNOWN           /* ALWAYS LAST ENUM VALUE */\r
-\r
-}      ib_async_event_t;\r
-/*\r
-* VALUES\r
-*      IB_AE_SQ_ERROR\r
-*              An error occurred when accessing the send queue of the QP.\r
-*              This event is optional.\r
-*\r
-*      IB_AE_SQ_DRAINED\r
-*              The send queue of the specified QP has completed the outstanding\r
-*              messages in progress when the state change was requested and, if\r
-*              applicable, has received all acknowledgements for those messages.\r
-*\r
-*      IB_AE_RQ_ERROR\r
-*              An error occurred when accessing the receive queue of the QP.\r
-*              This event is optional.\r
-*\r
-*      IB_AE_CQ_ERROR\r
-*              An error occurred when writing an entry to the CQ.\r
-*\r
-*      IB_AE_QP_FATAL\r
-*              A catastrophic error occurred while accessing or processing the\r
-*              work queue that prevents reporting of completions.\r
-*\r
-*      IB_AE_QP_COMM\r
-*              The first packet has arrived for the receive work queue where the\r
-*              QP is still in the RTR state.\r
-*\r
-*      IB_AE_QP_APM\r
-*              If alternate path migration is supported, this event indicates that\r
-*              the QP connection has migrated to the alternate path.\r
-*\r
-*      IB_AE_LOCAL_FATAL\r
-*              A catastrophic HCA error occurred which cannot be attributed to any\r
-*              resource; behavior is indeterminate.\r
-*\r
-*      IB_AE_PKEY_TRAP\r
-*              A PKEY violation was detected.  This event is optional.\r
-*\r
-*      IB_AE_QKEY_TRAP\r
-*              A QKEY violation was detected.  This event is optional.\r
-*\r
-*      IB_AE_MKEY_TRAP\r
-*              An MKEY violation was detected.  This event is optional.\r
-*\r
-*      IB_AE_PORT_TRAP\r
-*              A port capability change was detected.  This event is optional.\r
-*\r
-*      IB_AE_SYSIMG_GUID_TRAP\r
-*              If the system image GUID is supported, this event indicates that the\r
-*              system image GUID of this HCA has been changed.  This event is\r
-*              optional.\r
-*\r
-*      IB_AE_BUF_OVERRUN\r
-*              The number of consecutive flow control update periods with at least\r
-*              one overrun error in each period has exceeded the threshold specified\r
-*              in the port info attributes.  This event is optional.\r
-*\r
-*      IB_AE_LINK_INTEGRITY\r
-*              The detection of excessively frequent local physical errors has\r
-*              exceeded the threshold specified in the port info attributes.  This\r
-*              event is optional.\r
-*\r
-*      IB_AE_FLOW_CTRL_ERROR\r
-*              An HCA watchdog timer monitoring the arrival of flow control updates\r
-*              has expired without receiving an update.  This event is optional.\r
-*\r
-*      IB_AE_BKEY_TRAP\r
-*              An BKEY violation was detected.  This event is optional.\r
-*\r
-*      IB_AE_QP_APM_ERROR\r
-*              If alternate path migration is supported, this event indicates that\r
-*              an incoming path migration request to this QP was not accepted.\r
-*\r
-*      IB_AE_WQ_REQ_ERROR\r
-*              An OpCode violation was detected at the responder.\r
-*\r
-*      IB_AE_WQ_ACCESS_ERROR\r
-*              An access violation was detected at the responder.\r
-*\r
-*      IB_AE_PORT_ACTIVE\r
-*              If the port active event is supported, this event is generated\r
-*              when the link becomes active: IB_LINK_ACTIVE.\r
-*\r
-*      IB_AE_PORT_DOWN\r
-*              The link is declared unavailable: IB_LINK_INIT, IB_LINK_ARMED,\r
-*              IB_LINK_DOWN.\r
-*\r
-*      IB_AE_CLIENT_REREGISTER\r
-*              The SM idicate to client to reregister its SA records.\r
-*\r
-*      IB_AE_SRQ_LIMIT_REACHED\r
-*              Reached SRQ low watermark\r
-*\r
-*      IB_AE_SRQ_CATAS_ERROR\r
-*              An error occurred while processing or accessing the SRQ that prevents\r
-*              dequeuing a WQE from the SRQ and reporting of receive completions.\r
-*\r
-*      IB_AE_SRQ_QP_LAST_WQE_REACHED\r
-*              An event,  issued for a QP, associated with a shared receive queue, when\r
-*                      a CQE is generated for the last WQE, or\r
-*                      the QP gets in the Error State and there are no more WQEs on the RQ.\r
-*\r
-*      IB_AE_UNKNOWN\r
-*              An unknown error occurred which cannot be attributed to any\r
-*              resource; behavior is indeterminate.\r
-*\r
-*****/\r
-\r
-\r
-\r
-/****f* IBA Base: Types/ib_get_async_event_str\r
-* NAME\r
-*      ib_get_async_event_str\r
-*\r
-* DESCRIPTION\r
-*      Returns a string for the specified asynchronous event.\r
-*\r
-* SYNOPSIS\r
-*/\r
-AL_EXPORT const char* AL_API\r
-ib_get_async_event_str(\r
-       IN                              ib_async_event_t                        event );\r
-/*\r
-* PARAMETERS\r
-*      event\r
-*              [in] event value\r
-*\r
-* RETURN VALUES\r
-*      Pointer to the asynchronous event description string.\r
-*\r
-* NOTES\r
-*\r
-* SEE ALSO\r
-*********/\r
-\r
-\r
-/****s* Verbs/ib_event_rec_t\r
-* NAME\r
-*      ib_event_rec_t -- Async event notification record\r
-*\r
-* DESCRIPTION\r
-*      When an async event callback is made, this structure is passed to indicate\r
-*      the type of event, the source of event that caused it, and the context\r
-*      associated with this event.\r
-*\r
-*      context -- Context of the resource that caused the event.\r
-*              -- ca_context if this is a port/adapter event.\r
-*              -- qp_context if the source is a QP event\r
-*              -- cq_context if the source is a CQ event.\r
-*              -- ee_context if the source is an EE event.\r
-*\r
-* SYNOPSIS\r
-*/\r
-typedef struct _ib_event_rec\r
-{\r
-       TO_LONG_PTR(void*,              context);\r
-       ib_async_event_t                type;\r
-\r
-       /* HCA vendor specific event information. */\r
-       uint64_t                                vendor_specific;\r
-       uint8_t                                 port_number;\r
-\r
-}      ib_event_rec_t;\r
-/*******/\r
-\r
-\r
-/****d* Access Layer/ib_atomic_t\r
-* NAME\r
-*      ib_atomic_t\r
-*\r
-* DESCRIPTION\r
-*      Indicates atomicity levels supported by an adapter.\r
-*\r
-* SYNOPSIS\r
-*/\r
-typedef enum _ib_atomic_t\r
-{\r
-       IB_ATOMIC_NONE,\r
-       IB_ATOMIC_LOCAL,\r
-       IB_ATOMIC_GLOBAL\r
-\r
-}      ib_atomic_t;\r
-/*\r
-* VALUES\r
-*      IB_ATOMIC_NONE\r
-*              Atomic operations not supported.\r
-*\r
-*      IB_ATOMIC_LOCAL\r
-*              Atomic operations guaranteed between QPs of a single CA.\r
-*\r
-*      IB_ATOMIC_GLOBAL\r
-*              Atomic operations are guaranteed between CA and any other entity\r
-*              in the system.\r
-*****/\r
-\r
-\r
-/****s* Access Layer/ib_port_cap_t\r
-* NAME\r
-*      ib_port_cap_t\r
-*\r
-* DESCRIPTION\r
-*      Indicates which management agents are currently available on the specified\r
-*      port.\r
-*\r
-* SYNOPSIS\r
-*/\r
-typedef struct _ib_port_cap\r
-{\r
-       boolean_t               cm;\r
-       boolean_t               snmp;\r
-       boolean_t               dev_mgmt;\r
-       boolean_t               vend;\r
-       boolean_t               sm;\r
-       boolean_t               sm_disable;\r
-       boolean_t               qkey_ctr;\r
-       boolean_t               pkey_ctr;\r
-       boolean_t               notice;\r
-       boolean_t               trap;\r
-       boolean_t               apm;\r
-       boolean_t               slmap;\r
-       boolean_t               pkey_nvram;\r
-       boolean_t               mkey_nvram;\r
-       boolean_t               sysguid;\r
-       boolean_t               dr_notice;\r
-       boolean_t               boot_mgmt;\r
-       boolean_t               capm_notice;\r
-       boolean_t               reinit;\r
-       boolean_t               ledinfo;\r
-       boolean_t               port_active;\r
-       boolean_t               ipd;\r
-       boolean_t               pkey_switch_ext_port;\r
-       boolean_t               bm;\r
-       boolean_t               link_rtl;\r
-       boolean_t               client_reregister;      \r
-\r
-}      ib_port_cap_t;\r
-/*****/\r
-\r
-\r
-/****d* Access Layer/ib_init_type_t\r
-* NAME\r
-*      ib_init_type_t\r
-*\r
-* DESCRIPTION\r
-*      If supported by the HCA, the type of initialization requested by\r
-*      this port before SM moves it to the active or armed state.  If the\r
-*      SM implements reinitialization, it shall set these bits to indicate\r
-*      the type of initialization performed prior to activating the port.\r
-*      Otherwise, these bits shall be set to 0.\r
-*\r
-* SYNOPSIS\r
-*/\r
-typedef uint8_t                                        ib_init_type_t;\r
-#define IB_INIT_TYPE_NO_LOAD                           0x01\r
-#define IB_INIT_TYPE_PRESERVE_CONTENT          0x02\r
-#define IB_INIT_TYPE_PRESERVE_PRESENCE         0x04\r
-#define IB_INIT_TYPE_DO_NOT_RESUSCITATE                0x08\r
-/*****/\r
-\r
-\r
-/****s* Access Layer/ib_port_attr_mod_t\r
-* NAME\r
-*      ib_port_attr_mod_t\r
-*\r
-* DESCRIPTION\r
-*      Port attributes that may be modified.\r
-*\r
-* SYNOPSIS\r
-*/\r
-typedef struct _ib_port_attr_mod\r
-{\r
-       ib_port_cap_t                   cap;\r
-       uint16_t                                pkey_ctr;\r
-       uint16_t                                qkey_ctr;\r
-\r
-       ib_init_type_t                  init_type;\r
-       ib_net64_t                              system_image_guid;\r
-\r
-}      ib_port_attr_mod_t;\r
-/*\r
-* SEE ALSO\r
-*      ib_port_cap_t\r
-*****/\r
-\r
-\r
-/****s* Access Layer/ib_port_attr_t\r
-* NAME\r
-*      ib_port_attr_t\r
-*\r
-* DESCRIPTION\r
-*      Information about a port on a given channel adapter.\r
-*\r
-* SYNOPSIS\r
-*/\r
-typedef struct _ib_port_attr\r
-{\r
-       ib_net64_t                              port_guid;\r
-       uint8_t                                 port_num;\r
-       uint8_t                                 mtu;\r
-       uint64_t                                max_msg_size;\r
-       ib_net16_t                              lid;\r
-       uint8_t                                 lmc;\r
-\r
-       /*\r
-        * LinkWidthSupported as defined in PortInfo.  Required to calculate\r
-        * inter-packet delay (a.k.a. static rate).\r
-        */\r
-       uint8_t                                 link_width_supported;\r
-\r
-       uint16_t                                max_vls;\r
-\r
-       ib_net16_t                              sm_lid;\r
-       uint8_t                                 sm_sl;\r
-       uint8_t                                 link_state;\r
-\r
-       ib_init_type_t                  init_type_reply;        /* Optional */\r
-\r
-       /*\r
-        * subnet_timeout:\r
-        * The maximum expected subnet propagation delay to reach any port on\r
-        * the subnet.  This value also determines the rate at which traps can\r
-        * be generated from this node.\r
-        *\r
-        * timeout = 4.096 microseconds * 2^subnet_timeout\r
-        */\r
-       uint8_t                                 subnet_timeout;\r
-       uint8_t                                 active_speed;\r
-       uint8_t                                 phys_state;\r
-\r
-       ib_port_cap_t                   cap;\r
-       uint16_t                                pkey_ctr;\r
-       uint16_t                                qkey_ctr;\r
-\r
-       uint16_t                                num_gids;\r
-       uint16_t                                num_pkeys;\r
-       /*\r
-        * Pointers at the end of the structure to allow doing a simple\r
-        * memory comparison of contents up to the first pointer.\r
-        */\r
-       TO_LONG_PTR(ib_gid_t*,  p_gid_table);\r
-       TO_LONG_PTR(ib_net16_t*,p_pkey_table);\r
-\r
-}      ib_port_attr_t;\r
-/*\r
-* SEE ALSO\r
-*      uint8_t, ib_port_cap_t, ib_link_states_t\r
-*****/\r
-\r
-\r
-/****s* Access Layer/ib_ca_attr_t\r
-* NAME\r
-*      ib_ca_attr_t\r
-*\r
-* DESCRIPTION\r
-*      Information about a channel adapter.\r
-*\r
-* SYNOPSIS\r
-*/\r
-typedef struct _ib_ca_attr\r
-{\r
-       ib_net64_t                              ca_guid;\r
-\r
-       uint32_t                                vend_id;\r
-       uint16_t                                dev_id;\r
-       uint16_t                                revision;\r
-       uint64_t                                fw_ver;\r
-\r
-       /*\r
-        * Total size of the ca attributes in bytes\r
-        */\r
-       uint32_t                                size;\r
-       uint32_t                                max_qps;\r
-       uint32_t                                max_wrs;\r
-\r
-       uint32_t                                max_sges;\r
-       uint32_t                                max_rd_sges;\r
-\r
-       uint32_t                                max_cqs;\r
-       uint32_t                                max_cqes;\r
-\r
-       uint32_t                                max_pds;\r
-\r
-       uint32_t                                init_regions;\r
-       uint64_t                                init_region_size;\r
-\r
-       uint32_t                                init_windows;\r
-       uint64_t                                max_addr_handles;\r
-\r
-       uint32_t                                max_partitions;\r
-\r
-       ib_atomic_t                             atomicity;\r
-\r
-       uint8_t                                 max_qp_resp_res;\r
-       uint8_t                                 max_resp_res;\r
-\r
-       uint8_t                                 max_qp_init_depth;\r
-\r
-       uint32_t                                max_ipv6_qps;\r
-       uint32_t                                max_ether_qps;\r
-\r
-       uint32_t                                max_mcast_grps;\r
-       uint32_t                                max_mcast_qps;\r
-       uint32_t                                max_qps_per_mcast_grp;\r
-       uint32_t                                max_fmr;\r
-       uint32_t                                max_map_per_fmr;\r
-       uint32_t                                max_srq;\r
-       uint32_t                                max_srq_wrs;\r
-       uint32_t                                max_srq_sges;\r
-\r
-       /*\r
-        * local_ack_delay:\r
-        * Specifies the maximum time interval between the local CA receiving\r
-        * a message and the transmission of the associated ACK or NAK.\r
-        *\r
-        * timeout = 4.096 microseconds * 2^local_ack_delay\r
-        */\r
-       uint8_t                                 local_ack_delay;\r
-\r
-       boolean_t                               bad_pkey_ctr_support;\r
-       boolean_t                               bad_qkey_ctr_support;\r
-       boolean_t                               raw_mcast_support;\r
-       boolean_t                               apm_support;\r
-       boolean_t                               av_port_check;\r
-       boolean_t                               change_primary_port;\r
-       boolean_t                               modify_wr_depth;\r
-       boolean_t                               modify_srq_depth;\r
-       boolean_t                               current_qp_state_support;\r
-       boolean_t                               shutdown_port_capability;\r
-       boolean_t                               init_type_support;\r
-       boolean_t                               port_active_event_support;\r
-       boolean_t                               system_image_guid_support;\r
-       boolean_t                               hw_agents;\r
-       boolean_t                               ipoib_csum;\r
-       \r
-       ib_net64_t                              system_image_guid;\r
-\r
-       uint32_t                                num_page_sizes;\r
-       uint8_t                                 num_ports;\r
-\r
-       TO_LONG_PTR(uint32_t*,  p_page_size);\r
-       TO_LONG_PTR(ib_port_attr_t*, p_port_attr);\r
-\r
-}      ib_ca_attr_t;\r
-/*\r
-* FIELDS\r
-*      ca_guid\r
-*              GUID for this adapter.\r
-*\r
-*      vend_id\r
-*              IEEE vendor ID for this adapter\r
-*\r
-*      dev_id\r
-*              Device ID of this adapter. (typically from PCI device ID)\r
-*\r
-*      revision\r
-*              Revision ID of this adapter\r
-*\r
-*      fw_ver\r
-*              Device Firmware version.\r
-*\r
-*      size\r
-*              Total size in bytes for the HCA attributes.  This size includes total\r
-*              size required for all the variable members of the structure.  If a\r
-*              vendor requires to pass vendor specific fields beyond this structure,\r
-*              the HCA vendor can choose to report a larger size.  If a vendor is\r
-*              reporting extended vendor specific features, they should also provide\r
-*              appropriate access functions to aid with the required interpretation.\r
-*\r
-*      max_qps\r
-*              Maximum number of QP's supported by this HCA.\r
-*\r
-*      max_wrs\r
-*              Maximum number of work requests supported by this HCA.\r
-*\r
-*      max_sges\r
-*              Maximum number of scatter gather elements supported per work request.\r
-*\r
-*      max_rd_sges\r
-*              Maximum number of scatter gather elements supported for READ work\r
-*              requests for a Reliable Datagram QP.  This value must be zero if RD\r
-*              service is not supported.\r
-*\r
-*      max_cqs\r
-*              Maximum number of Completion Queues supported.\r
-*\r
-*      max_cqes\r
-*              Maximum number of CQ elements supported per CQ.\r
-*\r
-*      max_pds\r
-*              Maximum number of protection domains supported.\r
-*\r
-*      init_regions\r
-*              Initial number of memory regions supported.  These are only informative\r
-*              values.  HCA vendors can extended and grow these limits on demand.\r
-*\r
-*      init_region_size\r
-*              Initial limit on the size of the registered memory region.\r
-*\r
-*      init_windows\r
-*              Initial number of window entries supported.\r
-*\r
-*      max_addr_handles\r
-*              Maximum number of address handles supported.\r
-*\r
-*      max_partitions\r
-*              Maximum number of partitions supported.\r
-*\r
-*      atomicity\r
-*              Indicates level of atomic operations supported by this HCA.\r
-*\r
-*      max_qp_resp_res\r
-*              Maximum limit on number of responder resources for incomming RDMA\r
-*              operations on QPs.\r
-*\r
-*      max_fmr\r
-*              Maximum number of Fast Memory Regions supported.\r
-*\r
-*      max_map_per_fmr\r
-*              Maximum number of mappings, supported by a Fast Memory Region.\r
-*\r
-*      max_srq\r
-*              Maximum number of Shared Receive Queues supported.\r
-*\r
-*      max_srq_wrs\r
-*              Maximum number of work requests supported by this SRQ.\r
-*\r
-*      max_srq_sges\r
-*              Maximum number of scatter gather elements supported per work request on SRQ.\r
-*\r
-*      max_resp_res\r
-*              Maximum number of responder resources per HCA, with this HCA used as\r
-*              the target.\r
-*\r
-*      max_qp_init_depth\r
-*              Maximimum initiator depth per QP for initiating RDMA reads and\r
-*              atomic operations.\r
-*\r
-*      max_ipv6_qps\r
-*      max_ether_qps\r
-*              Maximum number of IPV6 and raw ether QP's supported by this HCA.\r
-*\r
-*      max_mcast_grps\r
-*              Maximum number of multicast groups supported.\r
-*\r
-*      max_mcast_qps\r
-*              Maximum number of QP's that can support multicast operations.\r
-*\r
-*      max_qps_per_mcast_grp\r
-*              Maximum number of multicast QP's per multicast group.\r
-*\r
-*      local_ack_delay\r
-*              Specifies the maximum time interval between the local CA receiving\r
-*              a message and the transmission of the associated ACK or NAK.\r
-*              timeout = 4.096 microseconds * 2^local_ack_delay\r
-*\r
-*      bad_pkey_ctr_support\r
-*      bad_qkey_ctr_support\r
-*              Indicates support for the bad pkey and qkey counters.\r
-*\r
-*      raw_mcast_support\r
-*              Indicates support for raw packet multicast.\r
-*\r
-*      apm_support\r
-*              Indicates support for Automatic Path Migration.\r
-*\r
-*      av_port_check\r
-*              Indicates ability to check port number in address handles.\r
-*\r
-*      change_primary_port\r
-*              Indicates ability to change primary port for a QP during a\r
-*              SQD->RTS transition.\r
-*\r
-*      modify_wr_depth\r
-*              Indicates ability to modify QP depth during a modify QP operation.\r
-*              Check the verb specification for permitted states.\r
-*\r
-*      modify_srq_depth\r
-*              Indicates ability to modify SRQ depth during a modify SRQ operation.\r
-*              Check the verb specification for permitted states.\r
-*\r
-*      current_qp_state_support\r
-*              Indicates ability of the HCA to support the current QP state modifier\r
-*              during a modify QP operation.\r
-*\r
-*      shutdown_port_capability\r
-*              Shutdown port capability support indicator.\r
-*\r
-*      init_type_support\r
-*              Indicates init_type_reply and ability to set init_type is supported.\r
-*\r
-*      port_active_event_support\r
-*              Port active event support indicator.\r
-*\r
-*      system_image_guid_support\r
-*              System image GUID support indicator.\r
-*\r
-*      hw_agents\r
-*              Indicates SMA is implemented in HW.\r
-*\r
-*      system_image_guid\r
-*              Optional system image GUID.  This field is valid only if the\r
-*              system_image_guid_support flag is set.\r
-*\r
-*      num_page_sizes\r
-*              Indicates support for different page sizes supported by the HCA.\r
-*              The variable size array can be obtained from p_page_size.\r
-*\r
-*      num_ports\r
-*              Number of physical ports supported on this HCA.\r
-*\r
-*      p_page_size\r
-*              Array holding different page size supported.\r
-*\r
-*      p_port_attr\r
-*              Array holding port attributes.\r
-*\r
-* NOTES\r
-*      This structure contains the attributes of a channel adapter.  Users must\r
-*      call ib_copy_ca_attr to copy the contents of this structure to a new\r
-*      memory region.\r
-*\r
-* SEE ALSO\r
-*      ib_port_attr_t, ib_atomic_t, ib_copy_ca_attr\r
-*****/\r
-\r
-/****f* Access layer/ib_copy_ca_attr\r
-* NAME\r
-*      ib_copy_ca_attr\r
-*\r
-* DESCRIPTION\r
-*      Copies CA attributes.\r
-*\r
-* SYNOPSIS\r
-*/\r
-AL_EXPORT ib_ca_attr_t* AL_API\r
-ib_copy_ca_attr(\r
-       IN                              ib_ca_attr_t* const             p_dest,\r
-       IN              const   ib_ca_attr_t* const             p_src );\r
-/*\r
-* PARAMETERS\r
-*      p_dest\r
-*              Pointer to the buffer that is the destination of the copy.\r
-*\r
-*      p_src\r
-*              Pointer to the CA attributes to copy.\r
-*\r
-* RETURN VALUE\r
-*      Pointer to the copied CA attributes.\r
-*\r
-* NOTES\r
-*      The buffer pointed to by the p_dest parameter must be at least the size\r
-*      specified in the size field of the buffer pointed to by p_src.\r
-*\r
-* SEE ALSO\r
-*      ib_ca_attr_t, ib_dup_ca_attr, ib_free_ca_attr\r
-*****/\r
-\r
-\r
-/****d* Access Layer/ib_pd_type_t\r
-* NAME\r
-*      ib_pd_type_t\r
-*\r
-* DESCRIPTION\r
-*      Indicates the type of protection domain being allocated.\r
-*\r
-* SYNOPSIS\r
-*/\r
-typedef enum _ib_pd_type\r
-{\r
-       IB_PDT_NORMAL,\r
-       IB_PDT_ALIAS,\r
-       IB_PDT_SQP,\r
-       IB_PDT_UD\r
-\r
-}      ib_pd_type_t;\r
-/*\r
-* VALUES\r
-*      IB_PDT_NORMAL\r
-*              Protection domain for all non-aliased QPs.\r
-*\r
-*      IB_PDT_ALIAS\r
-*              Protection domain for IB_QPT_QP0_ALIAS and IB_QPT_QP1_ALIAS QPs.\r
-*\r
-*      IB_PDT_SQP\r
-*              Protection domain for special queue pair usage.\r
-*\r
-*      IB_PDT_UD\r
-*              Protection domain for UD queue pair usage.\r
-*****/\r
-\r
-\r
-/****s* Access Layer/ib_av_attr_t\r
-* NAME\r
-*      ib_av_attr_t\r
-*\r
-* DESCRIPTION\r
-*      IBA address vector.\r
-*\r
-* SYNOPSIS\r
-*/\r
-typedef struct _ib_av_attr\r
-{\r
-       uint8_t                                 port_num;\r
-\r
-       uint8_t                                 sl;\r
-       ib_net16_t                              dlid;\r
-\r
-       boolean_t                               grh_valid;\r
-       ib_grh_t                                grh;\r
-       uint8_t                                 static_rate;\r
-       uint8_t                                 path_bits;\r
-\r
-       struct _av_conn\r
-       {\r
-               uint8_t                         path_mtu;\r
-               uint8_t                         local_ack_timeout;\r
-               uint8_t                         seq_err_retry_cnt;\r
-               uint8_t                         rnr_retry_cnt;\r
-\r
-       }       conn;\r
-\r
-}      ib_av_attr_t;\r
-/*\r
-* SEE ALSO\r
-*      ib_gid_t\r
-*****/\r
-\r
-\r
-/****d* Access Layer/ib_qp_type_t\r
-* NAME\r
-*      ib_qp_type_t\r
-*\r
-* DESCRIPTION\r
-*      Indicates the type of queue pair being created.\r
-*\r
-* SYNOPSIS\r
-*/\r
-typedef enum _ib_qp_type\r
-{\r
-       IB_QPT_RELIABLE_CONN    = 0,            /* Matches CM REQ transport type */\r
-       IB_QPT_UNRELIABLE_CONN  = 1,            /* Matches CM REQ transport type */\r
-       IB_QPT_RELIABLE_DGRM    = 2,    /* Matches CM REQ transport type */\r
-       IB_QPT_UNRELIABLE_DGRM,\r
-       IB_QPT_QP0,\r
-       IB_QPT_QP1,\r
-       IB_QPT_RAW_IPV6,\r
-       IB_QPT_RAW_ETHER,\r
-       IB_QPT_MAD,                                                             /* InfiniBand Access Layer */\r
-       IB_QPT_QP0_ALIAS,                                               /* InfiniBand Access Layer */\r
-       IB_QPT_QP1_ALIAS,                                               /* InfiniBand Access Layer */\r
-       IB_QPT_UNKNOWN\r
-}      ib_qp_type_t;\r
-/*\r
-* VALUES\r
-*      IB_QPT_RELIABLE_CONN\r
-*              Reliable, connected queue pair.\r
-*\r
-*      IB_QPT_UNRELIABLE_CONN\r
-*              Unreliable, connected queue pair.\r
-*\r
-*      IB_QPT_RELIABLE_DGRM\r
-*              Reliable, datagram queue pair.\r
-*\r
-*      IB_QPT_UNRELIABLE_DGRM\r
-*              Unreliable, datagram queue pair.\r
-*\r
-*      IB_QPT_QP0\r
-*              Queue pair 0.\r
-*\r
-*      IB_QPT_QP1\r
-*              Queue pair 1.\r
-*\r
-*      IB_QPT_RAW_DGRM\r
-*              Raw datagram queue pair.\r
-*\r
-*      IB_QPT_RAW_IPV6\r
-*              Raw IP version 6 queue pair.\r
-*\r
-*      IB_QPT_RAW_ETHER\r
-*              Raw Ethernet queue pair.\r
-*\r
-*      IB_QPT_MAD\r
-*              Unreliable, datagram queue pair that will send and receive management\r
-*              datagrams with assistance from the access layer.\r
-*\r
-*      IB_QPT_QP0_ALIAS\r
-*              Alias to queue pair 0.  Aliased QPs can only be created on an aliased\r
-*              protection domain.\r
-*\r
-*      IB_QPT_QP1_ALIAS\r
-*              Alias to queue pair 1.  Aliased QPs can only be created on an aliased\r
-*              protection domain.\r
-*****/\r
-\r
-\r
-/****f* IBA Base: Types/ib_get_qp_type_str\r
-* NAME\r
-*      ib_get_qp_type_str\r
-*\r
-* DESCRIPTION\r
-*      Returns a string for the specified QP type\r
-*\r
-* SYNOPSIS\r
-*/\r
-AL_EXPORT const char* AL_API\r
-ib_get_qp_type_str(\r
-       IN                              uint8_t                                         qp_type );\r
-\r
-/*\r
-* PARAMETERS\r
-*      qp_type\r
-*              [in] Encoded QP type as defined in the\r
-QP attribute.\r
-\r
-* RETURN VALUES\r
-*      Pointer to the QP type string.\r
-*\r
-* NOTES\r
-*\r
-* SEE ALSO\r
-* ib_qp_type_t\r
-*********/\r
-\r
-/****d* Access Layer/ib_access_t\r
-* NAME\r
-*      ib_access_t\r
-*\r
-* DESCRIPTION\r
-*      Indicates the type of access is permitted on resources such as QPs,\r
-*      memory regions and memory windows.\r
-*\r
-* SYNOPSIS\r
-*/\r
-typedef uint32_t                               ib_access_t;\r
-#define IB_AC_RDMA_READ                        0x00000001\r
-#define IB_AC_RDMA_WRITE               0x00000002\r
-#define IB_AC_ATOMIC                   0x00000004\r
-#define IB_AC_LOCAL_WRITE              0x00000008\r
-#define IB_AC_MW_BIND                  0x00000010\r
-/*\r
-* NOTES\r
-*      Users may combine access rights using a bit-wise or operation to specify\r
-*      additional access.  For example: IB_AC_RDMA_READ | IB_AC_RDMA_WRITE grants\r
-*      RDMA read and write access.\r
-*****/\r
-\r
-\r
-/****d* Access Layer/ib_qp_state_t\r
-* NAME\r
-*      ib_qp_state_t\r
-*\r
-* DESCRIPTION\r
-*      Indicates or sets the state of a queue pair.  The current state of a queue\r
-*      pair is returned through the ib_qp_query call and set via the\r
-*      ib_qp_modify call.\r
-*\r
-* SYNOPSIS\r
-*/\r
-typedef uint32_t                               ib_qp_state_t;\r
-#define IB_QPS_RESET                   0x00000001\r
-#define IB_QPS_INIT                            0x00000002\r
-#define IB_QPS_RTR                             0x00000004\r
-#define IB_QPS_RTS                             0x00000008\r
-#define IB_QPS_SQD                             0x00000010\r
-#define IB_QPS_SQD_DRAINING            0x00000030\r
-#define IB_QPS_SQD_DRAINED             0x00000050\r
-#define IB_QPS_SQERR                   0x00000080\r
-#define IB_QPS_ERROR                   0x00000100\r
-#define IB_QPS_TIME_WAIT               0xDEAD0000      /* InfiniBand Access Layer */\r
-/*****/\r
-\r
-\r
-/****d* Access Layer/ib_apm_state_t\r
-* NAME\r
-*      ib_apm_state_t\r
-*\r
-* DESCRIPTION\r
-*      The current automatic path migration state of a queue pair\r
-*\r
-* SYNOPSIS\r
-*/\r
-typedef enum _ib_apm_state\r
-{\r
-       IB_APM_MIGRATED = 1,\r
-       IB_APM_REARM,\r
-       IB_APM_ARMED\r
-\r
-}      ib_apm_state_t;\r
-/*****/\r
-\r
-/****d* Access Layer/ib_srq_attr_mask_t\r
-* NAME\r
-*      ib_srq_attr_mask_t\r
-*\r
-* DESCRIPTION\r
-*      Indicates valid fields in ib_srq_attr_t structure\r
-*\r
-* SYNOPSIS\r
-*/\r
-typedef enum _ib_srq_attr_mask {\r
-       IB_SRQ_MAX_WR   = 1 << 0,\r
-       IB_SRQ_LIMIT    = 1 << 1,\r
-} ib_srq_attr_mask_t;\r
-/*****/\r
-\r
-\r
-/****s* Access Layer/ib_srq_attr_t\r
-* NAME\r
-*      ib_srq_attr_t\r
-*\r
-* DESCRIPTION\r
-*      Attributes used to initialize a shared queue pair at creation time.\r
-*\r
-* SYNOPSIS\r
-*/\r
-typedef struct _ib_srq_attr {\r
-       uint32_t                                max_wr;\r
-       uint32_t                                max_sge;\r
-       uint32_t                                srq_limit;\r
-} ib_srq_attr_t;\r
-/*\r
-* FIELDS\r
-*      max_wr\r
-*              Specifies the max number of work request on SRQ.\r
-*\r
-*      max_sge\r
-*              Specifies the max number of scatter/gather elements in one work request.\r
-*\r
-*      srq_limit\r
-*              Specifies the low water mark for SRQ.\r
-*\r
-* SEE ALSO\r
-*      ib_qp_type_t, ib_srq_attr_mask_t\r
-*****/\r
-\r
-\r
-\r
-/****s* Access Layer/ib_qp_create_t\r
-* NAME\r
-*      ib_qp_create_t\r
-*\r
-* DESCRIPTION\r
-*      Attributes used to initialize a queue pair at creation time.\r
-*\r
-* SYNOPSIS\r
-*/\r
-typedef struct _ib_qp_create\r
-{\r
-       ib_qp_type_t                    qp_type;\r
-\r
-       uint32_t                                sq_max_inline;\r
-       uint32_t                                sq_depth;\r
-       uint32_t                                rq_depth;\r
-       uint32_t                                sq_sge;\r
-       uint32_t                                rq_sge;\r
-\r
-       TO_LONG_PTR(ib_cq_handle_t, h_sq_cq);\r
-       TO_LONG_PTR(ib_cq_handle_t, h_rq_cq);\r
-       TO_LONG_PTR(ib_srq_handle_t, h_srq);\r
-\r
-       boolean_t                               sq_signaled;\r
-\r
-}      ib_qp_create_t;\r
-/*\r
-* FIELDS\r
-*      type\r
-*              Specifies the type of queue pair to create.\r
-*\r
-*      sq_max_inline\r
-*              Maximum payload that can be inlined directly in a WQE, eliminating\r
-*              protection checks and additional DMA operations.\r
-*\r
-*      sq_depth\r
-*              Indicates the requested maximum number of work requests that may be\r
-*              outstanding on the queue pair's send queue.  This value must be less\r
-*              than or equal to the maximum reported by the channel adapter associated\r
-*              with the queue pair.\r
-*\r
-*      rq_depth\r
-*              Indicates the requested maximum number of work requests that may be\r
-*              outstanding on the queue pair's receive queue.  This value must be less\r
-*              than or equal to the maximum reported by the channel adapter associated\r
-*              with the queue pair.\r
-*\r
-*      sq_sge\r
-*              Indicates the maximum number scatter-gather elements that may be\r
-*              given in a send work request.  This value must be less\r
-*              than or equal to the maximum reported by the channel adapter associated\r
-*              with the queue pair.\r
-*\r
-*      rq_sge\r
-*              Indicates the maximum number scatter-gather elements that may be\r
-*              given in a receive work request.  This value must be less\r
-*              than or equal to the maximum reported by the channel adapter associated\r
-*              with the queue pair.\r
-*\r
-*      h_sq_cq\r
-*              A handle to the completion queue that will be used to report send work\r
-*              request completions.  This handle must be NULL if the type is\r
-*              IB_QPT_MAD, IB_QPT_QP0_ALIAS, or IB_QPT_QP1_ALIAS.\r
-*\r
-*      h_rq_cq\r
-*              A handle to the completion queue that will be used to report receive\r
-*              work request completions.  This handle must be NULL if the type is\r
-*              IB_QPT_MAD, IB_QPT_QP0_ALIAS, or IB_QPT_QP1_ALIAS.\r
-*\r
-*      h_srq\r
-*              A handle to an SRQ to get receive completions via. Must be coded NULL \r
-*              when QP is not associated with SRQ\r
-*\r
-*      sq_signaled\r
-*              A flag that is used to indicate whether the queue pair will signal\r
-*              an event upon completion of a send work request.  If set to\r
-*              TRUE, send work requests will always generate a completion\r
-*              event.  If set to FALSE, a completion event will only be\r
-*              generated if the send_opt field of the send work request has the\r
-*              IB_SEND_OPT_SIGNALED flag set.\r
-*\r
-* SEE ALSO\r
-*      ib_qp_type_t, ib_qp_attr_t\r
-*****/\r
-\r
-\r
-/****s* Access Layer/ib_qp_attr_t\r
-* NAME\r
-*      ib_qp_attr_t\r
-*\r
-* DESCRIPTION\r
-*      Queue pair attributes returned through ib_query_qp.\r
-*\r
-* SYNOPSIS\r
-*/\r
-typedef struct _ib_qp_attr\r
-{\r
-       TO_LONG_PTR(ib_pd_handle_t, h_pd);\r
-       ib_qp_type_t                    qp_type;\r
-       ib_access_t                             access_ctrl;\r
-       uint16_t                                pkey_index;\r
-\r
-       uint32_t                                sq_max_inline;\r
-       uint32_t                                sq_depth;\r
-       uint32_t                                rq_depth;\r
-       uint32_t                                sq_sge;\r
-       uint32_t                                rq_sge;\r
-       uint8_t                                 init_depth;\r
-       uint8_t                                 resp_res;\r
-\r
-       TO_LONG_PTR(ib_cq_handle_t, h_sq_cq);\r
-       TO_LONG_PTR(ib_cq_handle_t, h_rq_cq);\r
-       TO_LONG_PTR(ib_srq_handle_t,h_srq);\r
-\r
-       boolean_t                               sq_signaled;\r
-\r
-       ib_qp_state_t                   state;\r
-       ib_net32_t                              num;\r
-       ib_net32_t                              dest_num;\r
-       ib_net32_t                              qkey;\r
-\r
-       ib_net32_t                              sq_psn;\r
-       ib_net32_t                              rq_psn;\r
-\r
-       uint8_t                                 primary_port;\r
-       uint8_t                                 alternate_port;\r
-       ib_av_attr_t                    primary_av;\r
-       ib_av_attr_t                    alternate_av;\r
-       ib_apm_state_t                  apm_state;\r
-\r
-}      ib_qp_attr_t;\r
-/*\r
-* FIELDS\r
-*      h_pd\r
-*              This is a handle to a protection domain associated with the QP.\r
-*\r
-*      sq_max_inline\r
-*              Maximum payload that can be inlined directly in a WQE, eliminating\r
-*              protection checks and additional DMA operations.\r
-*\r
-* NOTES\r
-*      Other fields are defined by the Infiniband specification.\r
-*\r
-* SEE ALSO\r
-*      ib_qp_type_t, ib_access_t, ib_qp_state_t, ib_av_attr_t, ib_apm_state_t\r
-*****/\r
-\r
-\r
-/****d* Access Layer/ib_qp_opts_t\r
-* NAME\r
-*      ib_qp_opts_t\r
-*\r
-* DESCRIPTION\r
-*      Optional fields supplied in the modify QP operation.\r
-*\r
-* SYNOPSIS\r
-*/\r
-typedef uint32_t                               ib_qp_opts_t;\r
-#define IB_MOD_QP_ALTERNATE_AV         0x00000001\r
-#define IB_MOD_QP_PKEY                         0x00000002\r
-#define IB_MOD_QP_APM_STATE                    0x00000004\r
-#define IB_MOD_QP_PRIMARY_AV           0x00000008\r
-#define IB_MOD_QP_RNR_NAK_TIMEOUT      0x00000010\r
-#define IB_MOD_QP_RESP_RES                     0x00000020\r
-#define IB_MOD_QP_INIT_DEPTH           0x00000040\r
-#define IB_MOD_QP_PRIMARY_PORT         0x00000080\r
-#define IB_MOD_QP_ACCESS_CTRL          0x00000100\r
-#define IB_MOD_QP_QKEY                         0x00000200\r
-#define IB_MOD_QP_SQ_DEPTH                     0x00000400\r
-#define IB_MOD_QP_RQ_DEPTH                     0x00000800\r
-#define IB_MOD_QP_CURRENT_STATE                0x00001000\r
-#define IB_MOD_QP_RETRY_CNT                    0x00002000\r
-#define IB_MOD_QP_LOCAL_ACK_TIMEOUT    0x00004000\r
-#define IB_MOD_QP_RNR_RETRY_CNT                0x00008000\r
-\r
-/*\r
-* SEE ALSO\r
-*      ib_qp_mod_t\r
-*****/\r
-\r
-\r
-/****s* Access Layer/ib_qp_mod_t\r
-* NAME\r
-*      ib_qp_mod_t\r
-*\r
-* DESCRIPTION\r
-*      Information needed to change the state of a queue pair through the\r
-*      ib_modify_qp call.\r
-*\r
-* SYNOPSIS\r
-*/\r
-typedef struct _ib_qp_mod\r
-{\r
-       ib_qp_state_t                           req_state;\r
-\r
-       union _qp_state\r
-       {\r
-               struct _qp_init\r
-               {\r
-                       uint8_t                         primary_port;\r
-                       ib_net32_t                      qkey;\r
-                       uint16_t                        pkey_index;\r
-                       ib_access_t                     access_ctrl;\r
-\r
-               }       init;\r
-\r
-               struct _qp_rtr\r
-               {\r
-                       ib_net32_t                      rq_psn;\r
-                       ib_net32_t                      dest_qp;\r
-                       ib_av_attr_t            primary_av;\r
-                       uint8_t                         resp_res;\r
-                       uint8_t                         rnr_nak_timeout;\r
-\r
-                       ib_qp_opts_t            opts;\r
-                       ib_av_attr_t            alternate_av;\r
-                       ib_net32_t                      qkey;\r
-                       uint16_t                        pkey_index;\r
-                       ib_access_t                     access_ctrl;\r
-                       uint32_t                        sq_depth;\r
-                       uint32_t                        rq_depth;\r
-\r
-               }       rtr;\r
-\r
-               struct _qp_rts\r
-               {\r
-                       ib_net32_t                      sq_psn;\r
-                       uint8_t                         retry_cnt;\r
-                       uint8_t                         rnr_retry_cnt;\r
-                       uint8_t                         local_ack_timeout;\r
-                       uint8_t                         init_depth;\r
-\r
-                       ib_qp_opts_t            opts;\r
-                       uint8_t                         rnr_nak_timeout;\r
-                       ib_qp_state_t           current_state;\r
-                       ib_net32_t                      qkey;\r
-                       ib_access_t                     access_ctrl;\r
-                       uint8_t                         resp_res;\r
-\r
-                       ib_av_attr_t            primary_av;\r
-                       ib_av_attr_t            alternate_av;\r
-\r
-                       uint32_t                        sq_depth;\r
-                       uint32_t                        rq_depth;\r
-\r
-                       ib_apm_state_t          apm_state;\r
-                       uint8_t                         primary_port;\r
-                       uint16_t                        pkey_index;\r
-\r
-               }       rts;\r
-\r
-               struct _qp_sqd\r
-               {\r
-                       boolean_t                       sqd_event;\r
-\r
-               }       sqd;\r
-\r
-       }       state;\r
-\r
-}      ib_qp_mod_t;\r
-/*\r
-* SEE ALSO\r
-*      ib_qp_state_t, ib_access_t, ib_av_attr_t, ib_apm_state_t\r
-*****/\r
-\r
-\r
-/****d* Access Layer/ib_wr_type_t\r
-* NAME\r
-*      ib_wr_type_t\r
-*\r
-* DESCRIPTION\r
-*      Identifies the type of work request posted to a queue pair.\r
-*\r
-* SYNOPSIS\r
-*/\r
-typedef enum _ib_wr_type_t\r
-{\r
-       WR_SEND,\r
-       WR_RDMA_WRITE,\r
-       WR_RDMA_READ,\r
-       WR_COMPARE_SWAP,\r
-       WR_FETCH_ADD,\r
-       WR_LSO,\r
-       WR_UNKNOWN\r
-\r
-}      ib_wr_type_t;\r
-/*****/\r
-\r
-\r
-/****f* IBA Base: Types/ib_get_wr_type_str\r
-* NAME\r
-*      ib_get_wr_type_str\r
-*\r
-* DESCRIPTION\r
-*      Returns a string for the specified work request type\r
-*\r
-* SYNOPSIS\r
-*/\r
-AL_EXPORT const char* AL_API\r
-ib_get_wr_type_str(\r
-       IN                              uint8_t                                         wr_type );\r
-\r
-/*\r
-* PARAMETERS\r
-*      wr_type\r
-*              [in] Encoded work request type as defined in the\r
-work request attribute.\r
-\r
-* RETURN VALUES\r
-*      Pointer to the work request type string.\r
-*\r
-* NOTES\r
-*\r
-* SEE ALSO\r
-* ib_wr_type_t\r
-*********/\r
-\r
-\r
-/****s* Access Layer/ib_local_ds_t\r
-* NAME\r
-*      ib_local_ds_t\r
-*\r
-* DESCRIPTION\r
-*      Local data segment information referenced by send and receive work\r
-*      requests.  This is used to specify local data buffers used as part of a\r
-*      work request.\r
-*\r
-* SYNOPSIS\r
-*/\r
-typedef struct _ib_local_ds\r
-{\r
-       uint64_t                                vaddr;\r
-       uint32_t                                length;\r
-       uint32_t                                lkey;\r
-\r
-}      ib_local_ds_t;\r
-/*****/\r
-\r
-\r
-/****d* Access Layer/ib_send_opt_t\r
-* NAME\r
-*      ib_send_opt_t\r
-*\r
-* DESCRIPTION\r
-*      Optional flags used when posting send work requests.  These flags\r
-*      indicate specific processing for the send operation.\r
-*\r
-* SYNOPSIS\r
-*/\r
-typedef uint32_t                                       ib_send_opt_t;\r
-#define IB_SEND_OPT_IMMEDIATE          0x00000001\r
-#define IB_SEND_OPT_FENCE                      0x00000002\r
-#define IB_SEND_OPT_SIGNALED           0x00000004\r
-#define IB_SEND_OPT_SOLICITED          0x00000008\r
-#define IB_SEND_OPT_INLINE                     0x00000010\r
-#define IB_SEND_OPT_LOCAL                      0x00000020\r
-#define IB_SEND_OPT_TX_IP_CSUM         0x00000040\r
-#define IB_SEND_OPT_TX_TCP_UDP_CSUM    0x00000080\r
-\r
-#define IB_SEND_OPT_VEND_MASK          0xFFFF0000\r
-/*\r
-* VALUES\r
-*      The following flags determine the behavior of a work request when\r
-*      posted to the send side.\r
-*\r
-*      IB_SEND_OPT_IMMEDIATE\r
-*              Send immediate data with the given request.\r
-*\r
-*      IB_SEND_OPT_FENCE\r
-*              The operation is fenced.  Complete all pending send operations\r
-*              before processing this request.\r
-*\r
-*      IB_SEND_OPT_SIGNALED\r
-*              If the queue pair is configured for signaled completion, then\r
-*              generate a completion queue entry when this request completes.\r
-*\r
-*      IB_SEND_OPT_SOLICITED\r
-*              Set the solicited bit on the last packet of this request.\r
-*\r
-*      IB_SEND_OPT_INLINE\r
-*              Indicates that the requested send data should be copied into a VPD\r
-*              owned data buffer.  This flag permits the user to issue send operations\r
-*              without first needing to register the buffer(s) associated with the\r
-*              send operation.  Verb providers that support this operation may place\r
-*              vendor specific restrictions on the size of send operation that may\r
-*              be performed as inline.\r
-*\r
-*\r
-*      IB_SEND_OPT_LOCAL\r
-*              Indicates that a sent MAD request should be given to the local VPD for\r
-*              processing.  MADs sent using this option are not placed on the wire.\r
-*              This send option is only valid for MAD send operations.\r
-*\r
-*\r
-*      IB_SEND_OPT_VEND_MASK\r
-*              This mask indicates bits reserved in the send options that may be used\r
-*              by the verbs provider to indicate vendor specific options.  Bits set\r
-*              in this area of the send options are ignored by the Access Layer, but\r
-*              may have specific meaning to the underlying VPD.\r
-*\r
-*****/\r
-\r
-\r
-/****s* Access Layer/ib_send_wr_t\r
-* NAME\r
-*      ib_send_wr_t\r
-*\r
-* DESCRIPTION\r
-*      Information used to submit a work request to the send queue of a queue\r
-*      pair.\r
-*\r
-* SYNOPSIS\r
-*/\r
-typedef struct _ib_send_wr\r
-{\r
-       uint64_t                                        wr_id;\r
-       struct _ib_send_wr*                     p_next;\r
-       ib_local_ds_t*                          ds_array;\r
-       uint32_t                                        num_ds;\r
-       ib_wr_type_t                            wr_type;\r
-       ib_send_opt_t                           send_opt;\r
-       ib_net32_t                                      immediate_data;\r
-\r
-       union\r
-       {\r
-               union _send_dgrm\r
-               {\r
-                       struct _send_ud\r
-                       {\r
-                               ib_av_handle_t  h_av; \r
-                               ib_net32_t              remote_qp;\r
-                               ib_net32_t              remote_qkey;\r
-                               void*                   rsvd;\r
-                               uint16_t                pkey_index;\r
-                               void*                   header;\r
-                               int                             hlen;\r
-                               int                             mss;\r
-                       }       ud;\r
-\r
-                       struct _send_rd\r
-                       {\r
-                               ib_net32_t              remote_qp;\r
-                               ib_net32_t              remote_qkey;\r
-                               ib_net32_t              eecn;\r
-\r
-                       }       rd;\r
-\r
-                       struct _send_raw_ether\r
-                       {\r
-                               ib_net16_t              dest_lid;\r
-                               uint8_t                 path_bits;\r
-                               uint8_t                 sl;\r
-                               uint8_t                 max_static_rate;\r
-                               ib_net16_t              ether_type;\r
-       \r
-                       }       raw_ether;\r
-\r
-                       struct _send_raw_ipv6\r
-                       {\r
-                               ib_net16_t              dest_lid;\r
-                               uint8_t                 path_bits;\r
-                               uint8_t                 sl;\r
-                               uint8_t                 max_static_rate;\r
-       \r
-                       }       raw_ipv6;\r
-       \r
-               }       dgrm;\r
-\r
-               struct _send_remote_ops\r
-               {\r
-                       uint64_t                        vaddr;\r
-                       net32_t                         rkey;\r
-\r
-                       ib_net64_t                      atomic1;\r
-                       ib_net64_t                      atomic2;\r
-       \r
-               }       remote_ops;\r
-       };\r
-}      ib_send_wr_t;\r
-/*\r
-* FIELDS\r
-*      p_next\r
-*              A pointer used to chain work requests together.  This permits multiple\r
-*              work requests to be posted to a queue pair through a single function\r
-*              call.  This value is set to NULL to mark the end of the chain.\r
-*\r
-*      wr_id\r
-*              A 64-bit work request identifier that is returned to the consumer\r
-*              as part of the work completion.\r
-*\r
-*      wr_type\r
-*              The type of work request being submitted to the send queue.\r
-*\r
-*      send_opt\r
-*              Optional send control parameters.\r
-*\r
-*      num_ds\r
-*              Number of local data segments specified by this work request.\r
-*\r
-*      ds_array\r
-*              A reference to an array of local data segments used by the send\r
-*              operation.\r
-*\r
-*      immediate_data\r
-*              32-bit field sent as part of a message send or RDMA write operation.\r
-*              This field is only valid if the send_opt flag IB_SEND_OPT_IMMEDIATE\r
-*              has been set.\r
-*\r
-*      dgrm.ud.remote_qp\r
-*              Identifies the destination queue pair of an unreliable datagram send\r
-*              operation.\r
-*\r
-*      dgrm.ud.remote_qkey\r
-*              The qkey for the destination queue pair.\r
-*\r
-*      dgrm.ud.h_av\r
-*              An address vector that specifies the path information used to route\r
-*              the outbound datagram to the destination queue pair.\r
-*\r
-*      dgrm.ud.pkey_index\r
-*              The pkey index for this send work request.  This is valid only\r
-*              for IB_QPT_QP1 and IB_QPT_QP1_ALIAS QP types.  The work request\r
-*              is posted to using this pkey index build the GMP's BTH instead\r
-*              of the QP's pkey.\r
-*\r
-*      dgrm.ud.rsvd\r
-*              Reserved for use by the Access Layer.\r
-*\r
-*      dgrm.raw_ether.dest_lid\r
-*              The destination LID that will receive this raw ether send.\r
-*\r
-*      dgrm.raw_ether.path_bits\r
-*              path bits...\r
-*\r
-*      dgrm.raw_ether.sl\r
-*              service level...\r
-*\r
-*      dgrm.raw_ether.max_static_rate\r
-*              static rate...\r
-*\r
-*      dgrm.raw_ether.ether_type\r
-*              ether type...\r
-*\r
-*      dgrm.raw_ipv6.dest_lid\r
-*              The destination LID that will receive this raw ether send.\r
-*\r
-*      dgrm.raw_ipv6.path_bits\r
-*              path bits...\r
-*\r
-*      dgrm.raw_ipv6.sl\r
-*              service level...\r
-*\r
-*      dgrm.raw_ipv6.max_static_rate\r
-*              static rate...\r
-*\r
-*      remote_ops.vaddr\r
-*              The registered virtual memory address of the remote memory to access\r
-*              with an RDMA or atomic operation.\r
-*\r
-*      remote_ops.rkey\r
-*              The rkey associated with the specified remote vaddr. This data must\r
-*              be presented exactly as obtained from the remote node. No swapping\r
-*              of data must be performed.\r
-*\r
-*      atomic1\r
-*              The first operand for an atomic operation.\r
-*\r
-*      atomic2\r
-*              The second operand for an atomic operation.\r
-*\r
-* NOTES\r
-*      The format of data sent over the fabric is user-defined and is considered\r
-*      opaque to the access layer.  The sole exception to this are MADs posted\r
-*      to a MAD QP service.  MADs are expected to match the format defined by\r
-*      the Infiniband specification and must be in network-byte order when posted\r
-*      to the MAD QP service.\r
-*\r
-* SEE ALSO\r
-*      ib_wr_type_t, ib_local_ds_t, ib_send_opt_t\r
-*****/\r
-\r
-\r
-/****s* Access Layer/ib_recv_wr_t\r
-* NAME\r
-*      ib_recv_wr_t\r
-*\r
-* DESCRIPTION\r
-*      Information used to submit a work request to the receive queue of a queue\r
-*      pair.\r
-*\r
-* SYNOPSIS\r
-*/\r
-typedef struct _ib_recv_wr\r
-{\r
-       TO_LONG_PTR(struct _ib_recv_wr*, p_next);\r
-       uint64_t                                        wr_id;\r
-       uint32_t                                        num_ds;\r
-       TO_LONG_PTR(ib_local_ds_t*,     ds_array);\r
-\r
-}      ib_recv_wr_t;\r
-/*\r
-* FIELDS\r
-*      p_next\r
-*              A pointer used to chain work requests together.  This permits multiple\r
-*              work requests to be posted to a queue pair through a single function\r
-*              call.  This value is set to NULL to mark the end of the chain.\r
-*\r
-*      wr_id\r
-*              A 64-bit work request identifier that is returned to the consumer\r
-*              as part of the work completion.\r
-*\r
-*      num_ds\r
-*              Number of local data segments specified by this work request.\r
-*\r
-*      ds_array\r
-*              A reference to an array of local data segments used by the send\r
-*              operation.\r
-*\r
-* SEE ALSO\r
-*      ib_local_ds_t\r
-*****/\r
-\r
-\r
-/****s* Access Layer/ib_bind_wr_t\r
-* NAME\r
-*      ib_bind_wr_t\r
-*\r
-* DESCRIPTION\r
-*      Information used to submit a memory window bind work request to the send\r
-*      queue of a queue pair.\r
-*\r
-* SYNOPSIS\r
-*/\r
-typedef struct _ib_bind_wr\r
-{\r
-       uint64_t                                wr_id;\r
-       ib_send_opt_t                   send_opt;\r
-\r
-       TO_LONG_PTR(ib_mr_handle_t, h_mr);\r
-       ib_access_t                             access_ctrl;\r
-       net32_t                                 current_rkey;\r
-\r
-       ib_local_ds_t                   local_ds;\r
-\r
-}      ib_bind_wr_t;\r
-/*\r
-* FIELDS\r
-*      wr_id\r
-*              A 64-bit work request identifier that is returned to the consumer\r
-*              as part of the work completion.\r
-*\r
-*      send_opt\r
-*              Optional send control parameters.\r
-*\r
-*      h_mr\r
-*              Handle to the memory region to which this window is being bound.\r
-*\r
-*      access_ctrl\r
-*              Access rights for this memory window.\r
-*\r
-*      current_rkey\r
-*              The current rkey assigned to this window for remote access.\r
-*\r
-*      local_ds\r
-*              A reference to a local data segment used by the bind operation.\r
-*\r
-* SEE ALSO\r
-*      ib_send_opt_t, ib_access_t, ib_local_ds_t\r
-*****/\r
-\r
-\r
-/****d* Access Layer/ib_wc_status_t\r
-* NAME\r
-*      ib_wc_status_t\r
-*\r
-* DESCRIPTION\r
-*      Indicates the status of a completed work request.  These VALUES are\r
-*      returned to the user when retrieving completions.  Note that success is\r
-*      identified as IB_WCS_SUCCESS, which is always zero.\r
-*\r
-* SYNOPSIS\r
-*/\r
-typedef enum _ib_wc_status_t\r
-{\r
-       IB_WCS_SUCCESS,\r
-       IB_WCS_LOCAL_LEN_ERR,\r
-       IB_WCS_LOCAL_OP_ERR,\r
-       IB_WCS_LOCAL_PROTECTION_ERR,\r
-       IB_WCS_WR_FLUSHED_ERR,\r
-       IB_WCS_MEM_WINDOW_BIND_ERR,\r
-       IB_WCS_REM_ACCESS_ERR,\r
-       IB_WCS_REM_OP_ERR,\r
-       IB_WCS_RNR_RETRY_ERR,\r
-       IB_WCS_TIMEOUT_RETRY_ERR,\r
-       IB_WCS_REM_INVALID_REQ_ERR,\r
-       IB_WCS_BAD_RESP_ERR,\r
-       IB_WCS_LOCAL_ACCESS_ERR,\r
-       IB_WCS_GENERAL_ERR,\r
-       IB_WCS_UNMATCHED_RESPONSE,                      /* InfiniBand Access Layer */\r
-       IB_WCS_CANCELED,                                        /* InfiniBand Access Layer */\r
-       IB_WCS_REM_ABORT_ERR,\r
-       IB_WCS_UNKNOWN                                          /* Must be last. */\r
-\r
-}      ib_wc_status_t;\r
-\r
-/*\r
-* VALUES\r
-*      IB_WCS_SUCCESS\r
-*              Work request completed successfully.\r
-*\r
-*      IB_WCS_MAD\r
-*              The completed work request was associated with a managmenet datagram\r
-*              that requires post processing.  The MAD will be returned to the user\r
-*              through a callback once all post processing has completed.\r
-*\r
-*      IB_WCS_LOCAL_LEN_ERR\r
-*              Generated for a work request posted to the send queue when the\r
-*              total of the data segment lengths exceeds the message length of the\r
-*              channel.  Generated for a work request posted to the receive queue when\r
-*              the total of the data segment lengths is too small for a\r
-*              valid incoming message.\r
-*\r
-*      IB_WCS_LOCAL_OP_ERR\r
-*              An internal QP consistency error was generated while processing this\r
-*              work request.  This may indicate that the QP was in an incorrect state\r
-*              for the requested operation.\r
-*\r
-*      IB_WCS_LOCAL_PROTECTION_ERR\r
-*              The data segments of the locally posted work request did not refer to\r
-*              a valid memory region.  The memory may not have been properly\r
-*              registered for the requested operation.\r
-*\r
-*      IB_WCS_WR_FLUSHED_ERR\r
-*              The work request was flushed from the QP before being completed.\r
-*\r
-*      IB_WCS_MEM_WINDOW_BIND_ERR\r
-*              A memory window bind operation failed due to insufficient access\r
-*              rights.\r
-*\r
-*      IB_WCS_REM_ACCESS_ERR,\r
-*              A protection error was detected at the remote node for a RDMA or atomic\r
-*              operation.\r
-*\r
-*      IB_WCS_REM_OP_ERR,\r
-*              The operation could not be successfully completed at the remote node.\r
-*              This may indicate that the remote QP was in an invalid state or\r
-*              contained an invalid work request.\r
-*\r
-*      IB_WCS_RNR_RETRY_ERR,\r
-*              The RNR retry count was exceeded while trying to send this message.\r
-*\r
-*      IB_WCS_TIMEOUT_RETRY_ERR\r
-*              The local transport timeout counter expired while trying to send this\r
-*              message.\r
-*\r
-*      IB_WCS_REM_INVALID_REQ_ERR,\r
-*              The remote node detected an invalid message on the channel.  This error\r
-*              is usually a result of one of the following:\r
-*                      - The operation was not supported on receive queue.\r
-*                      - There was insufficient buffers to receive a new RDMA request.\r
-*                      - There was insufficient buffers to receive a new atomic operation.\r
-*                      - An RDMA request was larger than 2^31 bytes.\r
-*\r
-*      IB_WCS_BAD_RESP_ERR,\r
-*              An unexpected transport layer opcode was returned\r
-*              by the responder.\r
-*\r
-*      IB_WCS_LOCAL_ACCESS_ERR,\r
-*              A protection error occurred on a local data buffer\r
-*              during the processing of a RDMA Write with Immediate Data \r
-*              operation sent from the remote node.\r
-*\r
-*      IB_WCS_REM_ABORT_ERR,\r
-*              The operation was aborted (e.g., For UD QPs associated with an SRQ, \r
-*              the responder aborted the operation).\r
-*\r
-*      IB_WCS_REM_ABORT_ERR,\r
-*              The operation was aborted (e.g., For UD QPs associated with an SRQ, \r
-*              the responder aborted the operation).\r
-*\r
-*      IB_WCS_UNMATCHED_RESPONSE\r
-*              A response MAD was received for which there was no matching send.  The\r
-*              send operation may have been canceled by the user or may have timed\r
-*              out.\r
-*\r
-*      IB_WCS_CANCELED\r
-*              The completed work request was canceled by the user.\r
- *\r
- *     IB_WCS_GENERAL_ERR,\r
- *             Any other error\r
- *\r
-*****/\r
-\r
-\r
-\r
-/****f* IBA Base: Types/ib_get_wc_status_str\r
-* NAME\r
-*      ib_get_wc_status_str\r
-*\r
-* DESCRIPTION\r
-*      Returns a string for the specified work completion status.\r
-*\r
-* SYNOPSIS\r
-*/\r
-AL_EXPORT const char* AL_API\r
-ib_get_wc_status_str(\r
-       IN                              ib_wc_status_t                          wc_status );\r
-/*\r
-* PARAMETERS\r
-*      wc_status\r
-*              [in] work completion status value\r
-*\r
-* RETURN VALUES\r
-*      Pointer to the work completion status description string.\r
-*\r
-* NOTES\r
-*\r
-* SEE ALSO\r
-*********/\r
-\r
-\r
-/****d* Access Layer/ib_wc_type_t\r
-* NAME\r
-*      ib_wc_type_t\r
-*\r
-* DESCRIPTION\r
-*      Indicates the type of work completion.\r
-*\r
-* SYNOPSIS\r
-*/\r
-typedef enum _ib_wc_type_t\r
-{\r
-       IB_WC_SEND,\r
-       IB_WC_RDMA_WRITE,\r
-       IB_WC_RDMA_READ,\r
-       IB_WC_COMPARE_SWAP,\r
-       IB_WC_FETCH_ADD,\r
-       IB_WC_MW_BIND,\r
-       IB_WC_UNKNOWN1,\r
-       IB_WC_RECV = (1 << 7),\r
-       IB_WC_RECV_RDMA_WRITE,\r
-       IB_WR_LSO,\r
-       IB_WC_UNKNOWN2\r
-\r
-}      ib_wc_type_t;\r
-/*****/\r
-\r
-\r
-/****f* IBA Base: Types/ib_get_wc_type_str\r
-* NAME\r
-*      ib_get_wc_type_str\r
-*\r
-* DESCRIPTION\r
-*      Returns a string for the specified work completion type.\r
-*\r
-* SYNOPSIS\r
-*/\r
-AL_EXPORT const char* AL_API\r
-ib_get_wc_type_str(\r
-       IN                              ib_wc_type_t                            wc_type );\r
-/*\r
-* PARAMETERS\r
-*      wc_type\r
-*              [in] work completion type value\r
-*\r
-* RETURN VALUES\r
-*      Pointer to the work completion type description string.\r
-*\r
-* NOTES\r
-*\r
-* SEE ALSO\r
-*********/\r
-\r
-\r
-/****d* Access Layer/ib_recv_opt_t\r
-* NAME\r
-*      ib_recv_opt_t\r
-*\r
-* DESCRIPTION\r
-*      Indicates optional fields valid in a receive work completion.\r
-*\r
-* SYNOPSIS\r
-*/\r
-typedef uint32_t                                       ib_recv_opt_t;\r
-#define        IB_RECV_OPT_IMMEDIATE           0x00000001\r
-#define IB_RECV_OPT_FORWARD                    0x00000002\r
-#define IB_RECV_OPT_GRH_VALID          0x00000004\r
-#define IB_RECV_OPT_VEND_MASK          0xFFFF0000\r
-/*\r
-* VALUES\r
-*      IB_RECV_OPT_IMMEDIATE\r
-*              Indicates that immediate data is valid for this work completion.\r
-*\r
-*      IB_RECV_OPT_FORWARD\r
-*              Indicates that the received trap should be forwarded to the SM.\r
-*\r
-*      IB_RECV_OPT_GRH_VALID\r
-*              Indicates presence of the global route header. When set, the first\r
-*              40 bytes received are the GRH.\r
-*\r
-*      IB_RECV_OPT_VEND_MASK\r
-*              This mask indicates bits reserved in the receive options that may be\r
-*              used by the verbs provider to indicate vendor specific options.  Bits\r
-*              set in this area of the receive options are ignored by the Access Layer,\r
-*              but may have specific meaning to the underlying VPD.\r
-*****/\r
-\r
-\r
-/****s* Access Layer/ib_wc_t\r
-* NAME\r
-*      ib_wc_t\r
-*\r
-* DESCRIPTION\r
-*      Work completion information.\r
-*\r
-* SYNOPSIS\r
-*/\r
-typedef struct _ib_wc\r
-{\r
-       TO_LONG_PTR(struct _ib_wc*, p_next);\r
-       uint64_t                                wr_id;\r
-       ib_wc_type_t                    wc_type;\r
-\r
-       uint32_t                                length;\r
-       uint64_t                                vendor_specific;\r
-       ib_wc_status_t                  status;\r
-\r
-       union _wc_recv\r
-       {\r
-               struct _wc_conn\r
-               {\r
-                       ib_recv_opt_t   recv_opt;\r
-                       ib_net32_t              immediate_data;\r
-\r
-               }       conn;\r
-\r
-               struct _wc_ud\r
-               {\r
-                       ib_recv_opt_t   recv_opt;\r
-                       ib_net32_t              immediate_data;\r
-                       ib_net32_t              remote_qp;\r
-                       uint16_t                pkey_index;\r
-                       ib_net16_t              remote_lid;\r
-                       uint8_t                 remote_sl;\r
-                       uint8_t                 path_bits;\r
-                       uint8_t                 csum_ok;\r
-\r
-               }       ud;\r
-\r
-               struct _wc_rd\r
-               {\r
-                       ib_net32_t      remote_eecn;\r
-                       ib_net32_t      remote_qp;\r
-                       ib_net16_t      remote_lid;\r
-                       uint8_t         remote_sl;\r
-                       uint32_t        free_cnt;\r
-\r
-               }       rd;\r
-\r
-               struct _wc_raw_ipv6\r
-               {\r
-                       ib_net16_t              remote_lid;\r
-                       uint8_t                 remote_sl;\r
-                       uint8_t                 path_bits;\r
-\r
-               }       raw_ipv6;\r
-\r
-               struct _wc_raw_ether\r
-               {\r
-                       ib_net16_t              remote_lid;\r
-                       uint8_t                 remote_sl;\r
-                       uint8_t                 path_bits;\r
-                       ib_net16_t              ether_type;\r
-\r
-               }       raw_ether;\r
-\r
-       }       recv;\r
-\r
-}      ib_wc_t;\r
-/*\r
-* FIELDS\r
-*      p_next\r
-*              A pointer used to chain work completions.  This permits multiple\r
-*              work completions to be retrieved from a completion queue through a\r
-*              single function call.  This value is set to NULL to mark the end of\r
-*              the chain.\r
-*\r
-*      wr_id\r
-*              The 64-bit work request identifier that was specified when posting the\r
-*              work request.\r
-*\r
-*      wc_type\r
-*              Indicates the type of work completion.\r
-*\r
-*\r
-*      length\r
-*              The total length of the data sent or received with the work request.\r
-*\r
-*      status\r
-*              The result of the work request.\r
-*\r
-*      vendor_specific\r
-*              HCA vendor specific information returned as part of the completion.\r
-*\r
-*      recv.conn.recv_opt\r
-*              Indicates optional fields valid as part of a work request that\r
-*              completed on a connected (reliable or unreliable) queue pair.\r
-*\r
-*      recv.conn.immediate_data\r
-*              32-bit field received as part of an inbound message on a connected\r
-*              queue pair.  This field is only valid if the recv_opt flag\r
-*              IB_RECV_OPT_IMMEDIATE has been set.\r
-*\r
-*      recv.ud.recv_opt\r
-*              Indicates optional fields valid as part of a work request that\r
-*              completed on an unreliable datagram queue pair.\r
-*\r
-*      recv.ud.immediate_data\r
-*              32-bit field received as part of an inbound message on a unreliable\r
-*              datagram queue pair.  This field is only valid if the recv_opt flag\r
-*              IB_RECV_OPT_IMMEDIATE has been set.\r
-*\r
-*      recv.ud.remote_qp\r
-*              Identifies the source queue pair of a received datagram.\r
-*\r
-*      recv.ud.pkey_index\r
-*              The pkey index for the source queue pair. This is valid only for\r
-*              GSI type QP's.\r
-*\r
-*      recv.ud.remote_lid\r
-*              The source LID of the received datagram.\r
-*\r
-*      recv.ud.remote_sl\r
-*              The service level used by the source of the received datagram.\r
-*\r
-*      recv.ud.path_bits\r
-*              path bits...\r
-*\r
-*      recv.rd.remote_eecn\r
-*              The remote end-to-end context number that sent the received message.\r
-*\r
-*      recv.rd.remote_qp\r
-*              Identifies the source queue pair of a received message.\r
-*\r
-*      recv.rd.remote_lid\r
-*              The source LID of the received message.\r
-*\r
-*      recv.rd.remote_sl\r
-*              The service level used by the source of the received message.\r
-*\r
-*      recv.rd.free_cnt\r
-*              The number of available entries in the completion queue.  Reliable\r
-*              datagrams may complete out of order, so this field may be used to\r
-*              determine the number of additional completions that may occur.\r
-*\r
-*      recv.raw_ipv6.remote_lid\r
-*              The source LID of the received message.\r
-*\r
-*      recv.raw_ipv6.remote_sl\r
-*              The service level used by the source of the received message.\r
-*\r
-*      recv.raw_ipv6.path_bits\r
-*              path bits...\r
-*\r
-*      recv.raw_ether.remote_lid\r
-*              The source LID of the received message.\r
-*\r
-*      recv.raw_ether.remote_sl\r
-*              The service level used by the source of the received message.\r
-*\r
-*      recv.raw_ether.path_bits\r
-*              path bits...\r
-*\r
-*      recv.raw_ether.ether_type\r
-*              ether type...\r
-* NOTES\r
-*      When the work request completes with error, the only values that the\r
-*      consumer can depend on are the wr_id field, and the status of the\r
-*      operation.\r
-*\r
-*      If the consumer is using the same CQ for completions from more than\r
-*      one type of QP (i.e Reliable Connected, Datagram etc), then the consumer\r
-*      must have additional information to decide what fields of the union are\r
-*      valid.\r
-* SEE ALSO\r
-*      ib_wc_type_t, ib_qp_type_t, ib_wc_status_t, ib_recv_opt_t\r
-*****/\r
-\r
-\r
-/****s* Access Layer/ib_mr_create_t\r
-* NAME\r
-*      ib_mr_create_t\r
-*\r
-* DESCRIPTION\r
-*      Information required to create a registered memory region.\r
-*\r
-* SYNOPSIS\r
-*/\r
-typedef struct _ib_mr_create\r
-{\r
-       TO_LONG_PTR(void*,              vaddr);\r
-       uint64_t                                length;\r
-       ib_access_t                             access_ctrl;\r
-\r
-}      ib_mr_create_t;\r
-/*\r
-* FIELDS\r
-*      vaddr\r
-*              Starting virtual address of the region being registered.\r
-*\r
-*      length\r
-*              Length of the buffer to register.\r
-*\r
-*      access_ctrl\r
-*              Access rights of the registered region.\r
-*\r
-* SEE ALSO\r
-*      ib_access_t\r
-*****/\r
-\r
-#ifdef CL_KERNEL\r
-\r
-/****s* Access Layer/mlnx_fmr_create_t\r
-* NAME\r
-*      mlnx_fmr_create_t\r
-*\r
-* DESCRIPTION\r
-*      Information required to create a Mellanox fast memory region.\r
-*\r
-* SYNOPSIS\r
-*/\r
-typedef struct _mlnx_fmr_create\r
-{\r
-       int                                     max_pages;\r
-       int                                     max_maps;\r
-       uint8_t                         page_size;\r
-       ib_access_t                     access_ctrl;\r
-\r
-}      mlnx_fmr_create_t;\r
-/*\r
-* FIELDS\r
-*      max_pages\r
-*              max pages in the region.\r
-*\r
-*      max_maps\r
-*              max times, the region can be mapped before remapping.\r
-*\r
-*      page_size\r
-*              log2 of the page size (e.g. 12 for 4KB).\r
-*\r
-*      access_ctrl\r
-*              Access rights of the registered region.\r
-*\r
-* NOTES\r
-*      This is a Mellanox specific extension to verbs.\r
-*\r
-* SEE ALSO\r
-*      ib_access_t\r
-*****/\r
-\r
-\r
-/****s* Access Layer/mlnx_fmr_pool_create_t\r
-* NAME\r
-*      mlnx_fmr_pool_create_t\r
-*\r
-* DESCRIPTION\r
-*      Information required to create a Mellanox fast memory region pool.\r
-*\r
-* SYNOPSIS\r
-*/\r
-typedef struct _mlnx_fmr_pool_create\r
-{\r
-       int                             max_pages_per_fmr;\r
-       uint8_t                 page_size;      /* really - page_shift, log2 of page_size */\r
-       enum ib_access_flags    access_ctrl;\r
-       int                             pool_size;\r
-       int                             dirty_watermark;\r
-       void                    (*flush_function)(mlnx_fmr_pool_handle_t h_pool, void *arg);\r
-       void                            *flush_arg;\r
-       boolean_t                       cache;\r
-}      mlnx_fmr_pool_create_t;\r
-/*\r
-* FIELDS\r
-*      max_pages\r
-*              max pages in the region.\r
-*\r
-*      max_maps\r
-*              max times, the region can be mapped before remapping.\r
-*\r
-*      page_size\r
-*              log2 of the page size (e.g. 12 for 4KB).\r
-*\r
-*      access_ctrl\r
-*              Access rights of the registered region.\r
-*\r
-* NOTES\r
-*      This is a Mellanox specific extension to verbs.\r
-*\r
-* SEE ALSO\r
-*      ib_access_t\r
-*****/\r
-#endif\r
-\r
-/****s* Access Layer/ib_phys_range_t\r
-* NAME\r
-*      ib_phys_range_t\r
-*\r
-* DESCRIPTION\r
-*      Information describing a physical memory range.\r
-*\r
-* SYNOPSIS\r
-*/\r
-typedef struct _ib_phys_range\r
-{\r
-       uint64_t                                base_addr;\r
-       uint64_t                                size;\r
-\r
-}      ib_phys_range_t;\r
-/*\r
-* FIELDS\r
-*      base_addr\r
-*              Physical address of the base of the memory range.\r
-*\r
-*      size\r
-*              size, in bytes, of the memory range.\r
-*\r
-* NOTES\r
-*      The base address must be start and end on an HCA-supported page boundary.\r
-*\r
-* SEE ALSO\r
-*      ib_phys_create_t\r
-*********/\r
-\r
-\r
-/****s* Access Layer/ib_phys_create_t\r
-* NAME\r
-*      ib_phys_create_t\r
-*\r
-* DESCRIPTION\r
-*      Information required to create a physical memory region.\r
-*\r
-* SYNOPSIS\r
-*/\r
-typedef struct _ib_phys_create\r
-{\r
-       uint64_t                                        length;\r
-       uint32_t                                        num_ranges;\r
-       ib_phys_range_t*                        range_array;\r
-       uint32_t                                        buf_offset;\r
-       uint32_t                                        hca_page_size;\r
-       ib_access_t                                     access_ctrl;\r
-\r
-}      ib_phys_create_t;\r
-/*\r
-* FIELDS\r
-*      length\r
-*              The length of the memory region in bytes.\r
-*\r
-*      num_ranges\r
-*              Number of ib_phys_range structures listed in the specified range array.\r
-*\r
-*      range_array\r
-*              An array of ib_phys_range structures to be registered as a single memory\r
-*              region.\r
-*\r
-*      buf_offset\r
-*              The offset into the first physical memory range of the specified memory\r
-*              region on which to start the virtual address.\r
-*\r
-*      hca_page_size\r
-*              The HCA page size to use to register the memory.\r
-*\r
-*      access_ctrl\r
-*              Access rights of the registered region.\r
-*\r
-* SEE ALSO\r
-*      ib_access_t\r
-*****/\r
-\r
-\r
-/****s* Access Layer/ib_mr_attr_t\r
-* NAME\r
-*      ib_mr_attr_t\r
-*\r
-* DESCRIPTION\r
-*      Attributes of a registered memory region.\r
-*\r
-* SYNOPSIS\r
-*/\r
-typedef struct _ib_mr_attr\r
-{\r
-       TO_LONG_PTR(ib_pd_handle_t, h_pd);\r
-       uint64_t                                local_lb;\r
-       uint64_t                                local_ub;\r
-       uint64_t                                remote_lb;\r
-       uint64_t                                remote_ub;\r
-       ib_access_t                             access_ctrl;\r
-       net32_t                                 lkey;\r
-       net32_t                                 rkey;\r
-\r
-}      ib_mr_attr_t;\r
-/*\r
-* DESCRIPTION\r
-*      h_pd\r
-*              Handle to the protection domain for this memory region.\r
-*\r
-*      local_lb\r
-*              The virtual address of the lower bound of protection for local\r
-*              memory access.  This is always a 64-bit quantity to support registering\r
-*              more than 4GB of memory on 32-bit systems with PAE.\r
-*\r
-*      local_ub\r
-*              The virtual address of the upper bound of protection for local\r
-*              memory access.  This is always a 64-bit quantity to support registering\r
-*              more than 4GB of memory on 32-bit systems with PAE.\r
-*\r
-*      remote_lb\r
-*              The virtual address of the lower bound of protection for remote\r
-*              memory access.  This is always a 64-bit quantity to support registering\r
-*              more than 4GB of memory on 32-bit systems with PAE.\r
-*\r
-*      remote_ub\r
-*              The virtual address of the upper bound of protection for remote\r
-*              memory access.  This is always a 64-bit quantity to support registering\r
-*              more than 4GB of memory on 32-bit systems with PAE.\r
-*\r
-*      access_ctrl\r
-*              Access rights for the specified memory region.\r
-*\r
-*      lkey\r
-*              The lkey associated with this memory region.\r
-*\r
-*      rkey\r
-*              The rkey associated with this memory region.\r
-*\r
-* NOTES\r
-*      The remote_lb, remote_ub, and rkey are only valid if remote memory access\r
-*      is enabled for this memory region.\r
-*\r
-* SEE ALSO\r
-*      ib_access_t\r
-*****/\r
-\r
-\r
-/****d* Access Layer/ib_ca_mod_t\r
-* NAME\r
-*      ib_ca_mod_t -- Modify port attributes and error counters\r
-*\r
-* DESCRIPTION\r
-*      Specifies modifications to the port attributes of a channel adapter.\r
-*\r
-* SYNOPSIS\r
-*/\r
-typedef uint32_t                                                       ib_ca_mod_t;\r
-#define IB_CA_MOD_IS_CM_SUPPORTED                      0x00000001\r
-#define IB_CA_MOD_IS_SNMP_SUPPORTED                    0x00000002\r
-#define        IB_CA_MOD_IS_DEV_MGMT_SUPPORTED         0x00000004\r
-#define        IB_CA_MOD_IS_VEND_SUPPORTED                     0x00000008\r
-#define        IB_CA_MOD_IS_SM                                         0x00000010\r
-#define IB_CA_MOD_IS_SM_DISABLED                       0x00000020\r
-#define IB_CA_MOD_QKEY_CTR                                     0x00000040\r
-#define IB_CA_MOD_PKEY_CTR                                     0x00000080\r
-#define IB_CA_MOD_IS_NOTICE_SUPPORTED          0x00000100\r
-#define IB_CA_MOD_IS_TRAP_SUPPORTED                    0x00000200\r
-#define IB_CA_MOD_IS_APM_SUPPORTED                     0x00000400\r
-#define IB_CA_MOD_IS_SLMAP_SUPPORTED           0x00000800\r
-#define IB_CA_MOD_IS_PKEY_NVRAM_SUPPORTED      0x00001000\r
-#define IB_CA_MOD_IS_MKEY_NVRAM_SUPPORTED      0x00002000\r
-#define IB_CA_MOD_IS_SYSGUID_SUPPORTED         0x00004000\r
-#define IB_CA_MOD_IS_DR_NOTICE_SUPPORTED       0x00008000\r
-#define IB_CA_MOD_IS_BOOT_MGMT_SUPPORTED       0x00010000\r
-#define IB_CA_MOD_IS_CAPM_NOTICE_SUPPORTED     0x00020000\r
-#define IB_CA_MOD_IS_REINIT_SUPORTED           0x00040000\r
-#define IB_CA_MOD_IS_LEDINFO_SUPPORTED         0x00080000\r
-#define IB_CA_MOD_SHUTDOWN_PORT                                0x00100000\r
-#define IB_CA_MOD_INIT_TYPE_VALUE                      0x00200000\r
-#define IB_CA_MOD_SYSTEM_IMAGE_GUID                    0x00400000\r
-#define IB_CA_MOD_IS_CLIENT_REREGISTER_SUPPORTED       0x00800000\r
-#define IB_CA_MOD_RESERVED_MASK                                0xFF000000\r
-/*\r
-* VALUES\r
-*      IB_CA_MOD_IS_CM_SUPPORTED\r
-*              Indicates if there is a communication manager accessible through\r
-*              the port.\r
-*\r
-*      IB_CA_MOD_IS_SNMP_SUPPORTED\r
-*              Indicates if there is an SNMP agent accessible through the port.\r
-*\r
-*      IB_CA_MOD_IS_DEV_MGMT_SUPPORTED\r
-*              Indicates if there is a device management agent accessible\r
-*              through the port.\r
-*\r
-*      IB_CA_MOD_IS_VEND_SUPPORTED\r
-*              Indicates if there is a vendor supported agent accessible\r
-*              through the port.\r
-*\r
-*      IB_CA_MOD_IS_SM\r
-*              Indicates if there is a subnet manager accessible through\r
-*              the port.\r
-*\r
-*      IB_CA_MOD_IS_SM_DISABLED\r
-*              Indicates if the port has been disabled for configuration by the\r
-*              subnet manager.\r
-*\r
-*      IB_CA_MOD_QKEY_CTR\r
-*              Used to reset the qkey violation counter associated with the\r
-*              port.\r
-*\r
-*      IB_CA_MOD_PKEY_CTR\r
-*              Used to reset the pkey violation counter associated with the\r
-*              port.\r
-*\r
-*      IB_CA_MOD_IS_NOTICE_SUPPORTED\r
-*              Indicates that this CA supports ability to generate Notices for\r
-*              Port State changes. (only applicable to switches)\r
-*\r
-*      IB_CA_MOD_IS_TRAP_SUPPORTED\r
-*              Indicates that this management port supports ability to generate\r
-*              trap messages. (only applicable to switches)\r
-*\r
-*      IB_CA_MOD_IS_APM_SUPPORTED\r
-*              Indicates that this port is capable of performing Automatic\r
-*              Path Migration.\r
-*\r
-*      IB_CA_MOD_IS_SLMAP_SUPPORTED\r
-*              Indicates this port supports SLMAP capability.\r
-*\r
-*      IB_CA_MOD_IS_PKEY_NVRAM_SUPPORTED\r
-*              Indicates that PKEY is supported in NVRAM\r
-*\r
-*      IB_CA_MOD_IS_MKEY_NVRAM_SUPPORTED\r
-*              Indicates that MKEY is supported in NVRAM\r
-*\r
-*      IB_CA_MOD_IS_SYSGUID_SUPPORTED\r
-*              Indicates System Image GUID support.\r
-*\r
-*      IB_CA_MOD_IS_DR_NOTICE_SUPPORTED\r
-*              Indicate support for generating Direct Routed Notices\r
-*\r
-*      IB_CA_MOD_IS_BOOT_MGMT_SUPPORTED\r
-*              Indicates support for Boot Management\r
-*\r
-*      IB_CA_MOD_IS_CAPM_NOTICE_SUPPORTED\r
-*              Indicates capability to generate notices for changes to CAPMASK\r
-*\r
-*      IB_CA_MOD_IS_REINIT_SUPORTED\r
-*              Indicates type of node init supported. Refer to Chapter 14 for\r
-*              Initialization actions.\r
-*\r
-*      IB_CA_MOD_IS_LEDINFO_SUPPORTED\r
-*              Indicates support for LED info.\r
-*\r
-*      IB_CA_MOD_SHUTDOWN_PORT\r
-*              Used to modify the port active indicator.\r
-*\r
-*      IB_CA_MOD_INIT_TYPE_VALUE\r
-*              Used to modify the init_type value for the port.\r
-*\r
-*      IB_CA_MOD_SYSTEM_IMAGE_GUID\r
-*              Used to modify the system image GUID for the port.\r
-*\r
-*      IB_CA_MOD_IS_CLIENT_REREGISTER_SUPPORTED\r
-*              Used to modify the system image GUID for the port.\r
-*\r
-*      IB_CA_MOD_RESERVED_MASK\r
-*              Mask of all the reserved bits.  If any of these bits are set\r
-*              ib_modify_ca will return IB_INVALID_PARAMETER.\r
-*****/\r
-\r
-\r
-/****d* Access Layer/ib_mr_mod_t\r
-* NAME\r
-*      ib_mr_mod_t\r
-*\r
-* DESCRIPTION\r
-*      Mask used to specify which attributes of a registered memory region are\r
-*      being modified.\r
-*\r
-* SYNOPSIS\r
-*/\r
-typedef uint32_t                                               ib_mr_mod_t;\r
-#define IB_MR_MOD_ADDR                                 0x00000001\r
-#define IB_MR_MOD_PD                                   0x00000002\r
-#define IB_MR_MOD_ACCESS                               0x00000004\r
-/*\r
-* PARAMETERS\r
-*      IB_MEM_MOD_ADDR\r
-*              The address of the memory region is being modified.\r
-*\r
-*      IB_MEM_MOD_PD\r
-*              The protection domain associated with the memory region is being\r
-*              modified.\r
-*\r
-*      IB_MEM_MOD_ACCESS\r
-*              The access rights the memory region are being modified.\r
-*****/\r
-\r
-/****d* IBA Base: Constants/IB_SMINFO_STATE_INIT\r
-* NAME\r
-*      IB_SMINFO_STATE_INIT\r
-*\r
-* DESCRIPTION\r
-*      Encoded state value used in the SMInfo attribute.\r
-*\r
-* SOURCE\r
-*/\r
-#define IB_SMINFO_STATE_INIT                                   4\r
-/**********/\r
-\r
-/****d* IBA Base: Constants/IB_SMINFO_ATTR_MOD_HANDOVER\r
-* NAME\r
-*      IB_SMINFO_ATTR_MOD_HANDOVER\r
-*\r
-* DESCRIPTION\r
-*      Encoded attribute modifier value used on SubnSet(SMInfo) SMPs.\r
-*\r
-* SOURCE\r
-*/\r
-#define IB_SMINFO_ATTR_MOD_HANDOVER            (CL_NTOH32(0x000001))\r
-/**********/\r
-\r
-/****d* IBA Base: Constants/IB_SMINFO_ATTR_MOD_ACKNOWLEDGE\r
-* NAME\r
-*      IB_SMINFO_ATTR_MOD_ACKNOWLEDGE\r
-*\r
-* DESCRIPTION\r
-*      Encoded attribute modifier value used on SubnSet(SMInfo) SMPs.\r
-*\r
-* SOURCE\r
-*/\r
-#define IB_SMINFO_ATTR_MOD_ACKNOWLEDGE         (CL_NTOH32(0x000002))\r
-/**********/\r
-\r
-/****d* IBA Base: Constants/IB_SMINFO_ATTR_MOD_DISABLE\r
-* NAME\r
-*      IB_SMINFO_ATTR_MOD_DISABLE\r
-*\r
-* DESCRIPTION\r
-*      Encoded attribute modifier value used on SubnSet(SMInfo) SMPs.\r
-*\r
-* SOURCE\r
-*/\r
-#define IB_SMINFO_ATTR_MOD_DISABLE                     (CL_NTOH32(0x000003))\r
-/**********/\r
-\r
-/****d* IBA Base: Constants/IB_SMINFO_ATTR_MOD_STANDBY\r
-* NAME\r
-*      IB_SMINFO_ATTR_MOD_STANDBY\r
-*\r
-* DESCRIPTION\r
-*      Encoded attribute modifier value used on SubnSet(SMInfo) SMPs.\r
-*\r
-* SOURCE\r
-*/\r
-#define IB_SMINFO_ATTR_MOD_STANDBY                     (CL_NTOH32(0x000004))\r
-/**********/\r
-\r
-/****d* IBA Base: Constants/IB_SMINFO_ATTR_MOD_DISCOVER\r
-* NAME\r
-*      IB_SMINFO_ATTR_MOD_DISCOVER\r
-*\r
-* DESCRIPTION\r
-*      Encoded attribute modifier value used on SubnSet(SMInfo) SMPs.\r
-*\r
-* SOURCE\r
-*/\r
-#define IB_SMINFO_ATTR_MOD_DISCOVER                    (CL_NTOH32(0x000005))\r
-/**********/\r
-\r
-/****s* Access Layer/ib_ci_op_t\r
-* NAME\r
-*      ib_ci_op_t\r
-*\r
-* DESCRIPTION\r
-*      A structure used for vendor specific CA interface communication.\r
-*\r
-* SYNOPSIS\r
-*/\r
-typedef struct _ib_ci_op\r
-{\r
-       IN                              uint32_t                                        command;\r
-       IN                              uint32_t                                        buf_size;\r
-       IN                              uint32_t                                        buf_info;\r
-       IN      OUT                     int32_t                                         status;\r
-       IN      OUT                     TO_LONG_PTR(void*,                      p_buf) OPTIONAL; // Do not put it last in the structure, because of memory alignment\r
-               OUT                     uint32_t                                        num_bytes_ret;\r
-       \r
-\r
-}      ib_ci_op_t;\r
-/*\r
-* FIELDS\r
-*      command\r
-*              A command code that is understood by the verbs provider.\r
-*\r
-*      status\r
-*              The completion status from the verbs provider.  This field should be\r
-*              initialize to indicate an error to allow detection and cleanup in\r
-*              case a communication error occurs between user-mode and kernel-mode.\r
-*\r
-*      buf_size\r
-*              The size of the buffer in bytes.\r
-*\r
-*      buf_info\r
-*              Additional buffer information\r
-*\r
-*      p_buf\r
-*              A reference to a buffer containing vendor specific data.  The verbs\r
-*              provider must not access pointers in the p_buf between user-mode and\r
-*              kernel-mode.  Any pointers embedded in the p_buf are invalidated by\r
-*              the user-mode/kernel-mode transition.\r
-*\r
-*      num_bytes_ret\r
-*              The size in bytes of the vendor specific data returned in the buffer.\r
-*              This field is set by the verbs provider.  The verbs provider should\r
-*              verify that the buffer size is sufficient to hold the data being\r
-*              returned.\r
-*\r
-* NOTES\r
-*      This structure is provided to allow the exchange of vendor specific\r
-*      data between the originator and the verbs provider.  Users of this\r
-*      structure are expected to know the format of data in the p_buf based\r
-*      on the structure command field or the usage context.\r
-*****/\r
-\r
-\r
-#endif // __IB_TYPES_EXTENDED_H__\r
diff --git a/ulp/opensm/user/include/opensm/cl_dispatcher.h b/ulp/opensm/user/include/opensm/cl_dispatcher.h
deleted file mode 100644 (file)
index 7b5a3ec..0000000
+++ /dev/null
@@ -1,673 +0,0 @@
-/*
- * Copyright (c) 2004, 2005 Voltaire, Inc. All rights reserved.
- * Copyright (c) 2002-2005 Mellanox Technologies LTD. All rights reserved.
- * Copyright (c) 1996-2003 Intel Corporation. All rights reserved.
- *
- * This software is available to you under the OpenIB.org BSD license
- * below:
- *
- *     Redistribution and use in source and binary forms, with or
- *     without modification, are permitted provided that the following
- *     conditions are met:
- *
- *      - Redistributions of source code must retain the above
- *        copyright notice, this list of conditions and the following
- *        disclaimer.
- *
- *      - Redistributions in binary form must reproduce the above
- *        copyright notice, this list of conditions and the following
- *        disclaimer in the documentation and/or other materials
- *        provided with the distribution.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
- * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
- * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
- * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS
- * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
- * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
- * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- * SOFTWARE.
- *
- * $Id$
- */
-
-
-/*
- * Abstract:
- *     Declaration of dispatcher abstraction.
- * 
- * Environment:
- *     All
- *
- * $Revision: 1.4 $
- */
-
-
-#ifndef _CL_DISPATCHER_H_
-#define _CL_DISPATCHER_H_
-
-
-#include <complib/cl_atomic.h>
-#include <complib/cl_threadpool.h>
-#include <complib/cl_qlist.h>
-#include <complib/cl_qpool.h>
-#include <complib/cl_spinlock.h>
-#include <complib/cl_ptr_vector.h>
-
-#ifdef __cplusplus
-#  define BEGIN_C_DECLS extern "C" {
-#  define END_C_DECLS   }
-#else /* !__cplusplus */
-#  define BEGIN_C_DECLS
-#  define END_C_DECLS
-#endif /* __cplusplus */
-
-BEGIN_C_DECLS
-
-/****h* Component Library/Dispatcher
-* NAME
-*      Dispatcher
-*
-* DESCRIPTION
-*      The Dispatcher provides a facility for message routing to
-*      asynchronous worker threads.
-*
-*      The Dispatcher functions operate on a cl_dispatcher_t structure
-*      which should be treated as opaque and should be manipulated
-*      only through the provided functions.
-*
-* SEE ALSO
-*      Structures:
-*              cl_dispatcher_t
-*
-*      Initialization/Destruction:
-*              cl_disp_construct, cl_disp_init, cl_disp_shutdown, cl_disp_destroy
-*
-*      Manipulation:
-*              cl_disp_post, cl_disp_reset, cl_disp_wait_on
-*********/
-
-
-/****s* Component Library: Dispatcher/cl_disp_msgid_t
-* NAME
-*      cl_disp_msgid_t
-*
-* DESCRIPTION
-*      Defines the type of dispatcher messages.
-*
-* SYNOPSIS
-*/
-typedef uint32_t cl_disp_msgid_t;
-/**********/
-
-
-/****s* Component Library: Dispatcher/CL_DISP_MSGID_NONE
-* NAME
-*      CL_DISP_MSGID_NONE
-*
-* DESCRIPTION
-*      Defines a message value that means "no message".
-*      This value is used during registration by Dispatcher clients
-*      that do not wish to receive messages.
-*
-*      No Dispatcher message is allowed to have this value.
-*
-* SYNOPSIS
-*/
-#define CL_DISP_MSGID_NONE     0xFFFFFFFF
-/**********/
-
-/****s* Component Library: Dispatcher/CL_DISP_INVALID_HANDLE
-* NAME
-*      CL_DISP_INVALID_HANDLE
-*
-* DESCRIPTION
-*      Defines the value of an invalid Dispatcher registration handle.
-*
-* SYNOPSIS
-*/
-#define CL_DISP_INVALID_HANDLE ((cl_disp_reg_handle_t)0)
-/*********/
-
-/****f* Component Library: Dispatcher/cl_pfn_msgrcv_cb_t
-* NAME
-*      cl_pfn_msgrcv_cb_t
-*
-* DESCRIPTION
-*      This typedef defines the prototype for client functions invoked
-*      by the Dispatcher.  The Dispatcher calls the corresponding
-*      client function when delivering a message to the client.
-*
-*      The client function must be reentrant if the user creates a
-*      Dispatcher with more than one worker thread.
-*
-* SYNOPSIS
-*/
-typedef void 
-(*cl_pfn_msgrcv_cb_t)(
-       IN      void*                           context,
-       IN      void*                           p_data );
-/*
-* PARAMETERS
-*      context
-*              [in] Client specific context specified in a call to
-*              cl_disp_register
-*
-*      p_data
-*              [in] Pointer to the client specific data payload
-*              of this message.
-*
-* RETURN VALUE
-*      This function does not return a value.
-*
-* NOTES
-*      This typedef provides a function prototype reference for
-*      the function provided by Dispatcher clients as a parameter
-*      to the cl_disp_register function.
-*
-* SEE ALSO
-*      Dispatcher, cl_disp_register
-*********/
-
-
-/****f* Component Library: Dispatcher/cl_pfn_msgdone_cb_t
-* NAME
-*      cl_pfn_msgdone_cb_t
-*
-* DESCRIPTION
-*      This typedef defines the prototype for client functions invoked
-*      by the Dispatcher.  The Dispatcher calls the corresponding
-*      client function after completing delivery of a message.
-*
-*      The client function must be reentrant if the user creates a
-*      Dispatcher with more than one worker thread.
-*
-* SYNOPSIS
-*/
-typedef void 
-(*cl_pfn_msgdone_cb_t)(
-       IN      void*                           context,
-       IN      void*                           p_data );
-/*
-* PARAMETERS
-*      context
-*              [in] Client specific context specified in a call to
-*              cl_disp_post
-*
-*      p_data
-*              [in] Pointer to the client specific data payload
-*              of this message.
-*
-* RETURN VALUE
-*      This function does not return a value.
-*
-* NOTES
-*      This typedef provides a function prototype reference for
-*      the function provided by Dispatcher clients as a parameter
-*      to the cl_disp_post function.
-*
-* SEE ALSO
-*      Dispatcher, cl_disp_post
-*********/
-
-
-/****s* Component Library: Dispatcher/cl_dispatcher_t
-* NAME
-*      cl_dispatcher_t
-*
-* DESCRIPTION
-*      Dispatcher structure.
-*
-*      The Dispatcher is thread safe.
-*
-*      The cl_dispatcher_t structure should be treated as opaque and should
-*      be manipulated only through the provided functions.
-*
-* SYNOPSIS
-*/
-typedef struct _cl_dispatcher
-{
-  cl_spinlock_t      lock;
-  cl_ptr_vector_t    reg_vec;
-  cl_qlist_t         reg_list;
-  cl_thread_pool_t   worker_threads;
-  cl_qlist_t         msg_fifo;
-  cl_qpool_t         msg_pool;
-  uint64_t           last_msg_queue_time_us;
-} cl_dispatcher_t;
-/*
-* FIELDS
-*      reg_vec
-*              Vector of registration info objects.  Indexed by message msg_id.
-*
-*      lock
-*              Spinlock to guard internal structures.
-*
-*      msg_fifo
-*              FIFO of messages being processed by the Dispatcher.  New
-*              messages are posted to the tail of the FIFO.  Worker threads
-*              pull messages from the front.
-*
-*      worker_threads
-*              Thread pool of worker threads to dispose of posted messages.
-*
-*      msg_pool
-*              Pool of message objects to be processed through the FIFO.
-*
-*      reg_count
-*              Count of the number of registrants.
-*
-*      state
-*              Indicates the state of the object.
-* 
-*       last_msg_queue_time_us
-*               The time that the last message spent in the Q in usec
-*      
-* SEE ALSO
-*      Dispatcher
-*********/
-
-
-/****s* Component Library: Dispatcher/cl_disp_reg_info_t
-* NAME
-*      cl_disp_reg_info_t
-*
-* DESCRIPTION
-*      Defines the dispatcher registration object structure.
-*
-*      The cl_disp_reg_info_t structure is for internal use by the
-*      Dispatcher only.
-*
-* SYNOPSIS
-*/
-typedef struct _cl_disp_reg_info
-{
-       cl_list_item_t                  list_item;
-       cl_pfn_msgrcv_cb_t              pfn_rcv_callback;
-       const void                              *context;
-       atomic32_t                              ref_cnt;
-       cl_disp_msgid_t                 msg_id;
-       cl_dispatcher_t                 *p_disp;
-
-} cl_disp_reg_info_t;
-/*
-* FIELDS
-*      pfn_rcv_callback
-*              Client's message receive callback.
-*
-*      context
-*              Client's context for message receive callback.
-*
-*      rcv_thread_count
-*              Number of threads currently in the receive callback.
-*
-*      msg_done_thread_count
-*              Number of threads currently in the message done callback.
-*
-*      state
-*              State of this registration object.
-*                      DISP_REGSTATE_INIT: initialized and inactive
-*                      DISP_REGSTATE_ACTIVE: in active use
-*                      DISP_REGSTATE_UNREGPEND: unregistration is pending
-*
-*      msg_id
-*              Dispatcher message msg_id value for this registration object.
-*
-*      p_disp
-*              Pointer to parent Dispatcher.
-*
-* SEE ALSO
-*********/
-
-
-/****s* Component Library: Dispatcher/cl_disp_msg_t
-* NAME
-*      cl_disp_msg_t
-*
-* DESCRIPTION
-*      Defines the dispatcher message structure.
-*
-*      The cl_disp_msg_t structure is for internal use by the
-*      Dispatcher only.
-*
-* SYNOPSIS
-*/
-typedef struct _cl_disp_msg
-{
-  cl_pool_item_t         item;
-  const void            *p_data;
-  cl_disp_reg_info_t    *p_src_reg;
-  cl_disp_reg_info_t    *p_dest_reg;
-  cl_pfn_msgdone_cb_t    pfn_xmt_callback;
-  uint64_t               in_time;
-  const void            *context;
-} cl_disp_msg_t;
-/*
-* FIELDS
-*      item
-*              List & Pool linkage.  Must be first element in the structure!!
-*
-*      msg_id
-*              The message's numberic ID value.
-*
-*      p_data
-*              Pointer to the data payload for this message.  The payload
-*              is opaque to the Dispatcher.
-*
-*      p_reg_info
-*              Pointer to the registration info of the sender.
-*
-*      pfn_xmt_callback
-*              Client's message done callback.
-*
-*       in_time 
-*               The absolute time the message was inserted into the queue
-*
-*      context
-*              Client's message done callback context.
-*              
-* SEE ALSO
-*********/
-
-
-/****s* Component Library: Dispatcher/cl_disp_reg_info_t
-* NAME
-*      cl_disp_reg_info_t
-*
-* DESCRIPTION
-*      Defines the Dispatcher registration handle.  This handle
-*      should be treated as opaque by the client.
-*
-* SYNOPSIS
-*/
-typedef const struct _cl_disp_reg_info *cl_disp_reg_handle_t;
-/**********/
-
-
-/****f* Component Library: Dispatcher/cl_disp_construct
-* NAME
-*      cl_disp_construct
-*
-* DESCRIPTION
-*      This function constructs a Dispatcher object.
-*
-* SYNOPSIS
-*/
-void
-cl_disp_construct(
-       IN      cl_dispatcher_t* const p_disp );
-/*
-* PARAMETERS
-*      p_disp
-*              [in] Pointer to a Dispatcher.
-*
-* RETURN VALUE
-*      This function does not return a value.
-*
-* NOTES
-*      Allows calling cl_disp_init and cl_disp_destroy.
-*
-* SEE ALSO
-*      Dispatcher, cl_disp_init, cl_disp_destroy
-*********/
-
-
-/****f* Component Library: Dispatcher/cl_disp_init
-* NAME
-*      cl_disp_init
-*
-* DESCRIPTION
-*      This function initializes a Dispatcher object.
-*
-* SYNOPSIS
-*/
-cl_status_t
-cl_disp_init(
-       IN      cl_dispatcher_t* const  p_disp,
-       IN      const uint32_t                  thread_count,
-    IN const char* const               name );
-/*
-* PARAMETERS
-*      p_disp
-*              [in] Pointer to a Dispatcher.
-*
-*      thread_count
-*              [in] The number of worker threads to create in this Dispatcher.
-*              A value of 0 causes the Dispatcher to create one worker thread
-*              per CPU in the system.  When the Dispatcher is created with
-*              only one thread, the Dispatcher guarantees to deliver posted
-*              messages in order.  When the Dispatcher is created with more
-*              than one thread, messages may be delivered out of order.
-*
-*      name
-*              [in] Name to associate with the threads.  The name may be up to 16
-*              characters, including a terminating null character.  All threads
-*              created in the Dispatcher have the same name.
-*
-* RETURN VALUE
-*      CL_SUCCESS if the operation is successful.
-*
-* SEE ALSO
-*      Dispatcher, cl_disp_destoy, cl_disp_register, cl_disp_unregister, 
-*      cl_disp_post
-*********/
-
-/****f* Component Library: Dispatcher/cl_disp_shutdown
-* NAME
-*      cl_disp_shutdown
-*
-* DESCRIPTION
-*      This function shutdown a Dispatcher object. So it unreg all messages and
-*  clears the fifo and waits for the threads to exit
-*
-* SYNOPSIS
-*/
-void
-cl_disp_shutdown(
-       IN cl_dispatcher_t* const p_disp );
-/*
-* PARAMETERS
-*      p_disp
-*              [in] Pointer to a Dispatcher.
-*
-* RETURN VALUE
-*      This function does not return a value.
-*
-* NOTES
-*      This function does not returns until all worker threads
-*      have exited client callback functions and been successfully
-*      shutdowned.
-*
-* SEE ALSO
-*      Dispatcher, cl_disp_construct, cl_disp_init
-*********/
-
-/****f* Component Library: Dispatcher/cl_disp_destroy
-* NAME
-*      cl_disp_destroy
-*
-* DESCRIPTION
-*      This function destroys a Dispatcher object.
-*
-* SYNOPSIS
-*/
-void
-cl_disp_destroy(
-       IN cl_dispatcher_t* const p_disp );
-/*
-* PARAMETERS
-*      p_disp
-*              [in] Pointer to a Dispatcher.
-*
-* RETURN VALUE
-*      This function does not return a value.
-*
-* SEE ALSO
-*      Dispatcher, cl_disp_construct, cl_disp_init
-*********/
-
-
-/****f* Component Library: Dispatcher/cl_disp_register
-* NAME
-*      cl_disp_register
-*
-* DESCRIPTION
-*      This function registers a client with a Dispatcher object.
-*
-* SYNOPSIS
-*/
-cl_disp_reg_handle_t
-cl_disp_register(
-       IN cl_dispatcher_t* const p_disp,
-       IN const cl_disp_msgid_t msg_id,
-       IN cl_pfn_msgrcv_cb_t pfn_callback OPTIONAL,
-       IN const void* const context );
-/*
-* PARAMETERS
-*      p_disp
-*              [in] Pointer to a Dispatcher.
-*
-*      msg_id
-*              [in] Numberic message ID for which the client is registering.
-*              If the client does not wish to receive any messages,
-*              (a send-only client) then the caller should set this value
-*              to CL_DISP_MSGID_NONE.  For efficiency, numeric message msg_id
-*              values should start with 0 and should be contiguous, or nearly so.
-*
-*      pfn_callback
-*              [in] Message receive callback.  The Dispatcher calls this
-*              function after receiving a posted message with the
-*              appropriate message msg_id value.  Send-only clients may specify
-*              NULL for this value.
-*
-*      context
-*              [in] Client context value passed to the cl_pfn_msgrcv_cb_t
-*              function.
-*
-* RETURN VALUE
-*      On success a Dispatcher registration handle.
-*      CL_CL_DISP_INVALID_HANDLE otherwise.
-*
-* SEE ALSO
-*      Dispatcher, cl_disp_unregister, cl_disp_post
-*********/
-
-
-/****f* Component Library: Dispatcher/cl_disp_unregister
-* NAME
-*      cl_disp_unregister
-*
-* DESCRIPTION
-*      This function unregisters a client from a Dispatcher.
-*
-* SYNOPSIS
-*/
-void
-cl_disp_unregister(
-       IN const cl_disp_reg_handle_t handle );
-/*
-* PARAMETERS
-*      handle
-*              [in] cl_disp_reg_handle_t value return by cl_disp_register.
-*
-* RETURN VALUE
-*      This function does not return a value.
-*
-* NOTES
-*      This function will not return until worker threads have exited
-*      the callback functions for this client.  Do not invoke this
-*      function from a callback.
-*
-* SEE ALSO
-*      Dispatcher, cl_disp_register
-*********/
-
-
-/****f* Component Library: Dispatcher/cl_disp_post
-* NAME
-*      cl_disp_post
-*
-* DESCRIPTION
-*      This function posts a message to a Dispatcher object.
-*
-* SYNOPSIS
-*/
-cl_status_t
-cl_disp_post(
-       IN const cl_disp_reg_handle_t handle,
-       IN const cl_disp_msgid_t msg_id,
-       IN const void* const p_data,
-       IN cl_pfn_msgdone_cb_t pfn_callback OPTIONAL,
-       IN const void* const context );
-/*
-* PARAMETERS
-*      handle
-*              [in] cl_disp_reg_handle_t value return by cl_disp_register.
-*
-*      msg_id
-*              [in] Numeric message msg_id value associated with this message.
-*
-*      p_data
-*              [in] Data payload for this message.
-*
-*      pfn_callback
-*              [in] Pointer to a cl_pfn_msgdone_cb_t function.
-*              The Dispatcher calls this function after the message has been
-*              processed by the recipient.
-*              The caller may pass NULL for this value, which indicates no
-*              message done callback is necessary.
-*
-*      context
-*              [in] Client context value passed to the cl_pfn_msgdone_cb_t
-*              function.
-*      
-* RETURN VALUE
-*      CL_SUCCESS if the message was successfully queued in the Dispatcher.
-*
-* NOTES
-*      The caller must not modify the memory pointed to by p_data until
-*      the Dispatcher call the pfn_callback function.
-*
-* SEE ALSO
-*      Dispatcher
-*********/
-
-/****f* Component Library: Dispatcher/cl_disp_get_queue_status
-* NAME
-*      cl_disp_get_queue_status
-*
-* DESCRIPTION
-*      This function posts a message to a Dispatcher object.
-*
-* SYNOPSIS
-*/
-void
-cl_disp_get_queue_status(
-  IN const cl_disp_reg_handle_t handle,
-  OUT uint32_t *p_num_queued_msgs,
-  OUT uint64_t *p_last_msg_queue_time_ms);
-/*
-* PARAMETERS
-*   handle
-*     [in] cl_disp_reg_handle_t value return by cl_disp_register.
-*
-*   p_last_msg_queue_time_ms
-*     [out] pointer to a variable to hold the time the last popped up message 
-*           spent in the queue 
-*
-*   p_num_queued_msgs
-*     [out] number of messages in the queue
-*
-* RETURN VALUE
-*      Thr time the last popped up message stayed in the queue, in msec
-*
-* NOTES
-*      Extarnel Locking is not required.
-*
-* SEE ALSO
-*      Dispatcher
-*********/
-
-END_C_DECLS
-
-#endif /* !defined(_CL_DISPATCHER_H_) */
diff --git a/ulp/opensm/user/include/opensm/cl_event_wheel.h b/ulp/opensm/user/include/opensm/cl_event_wheel.h
deleted file mode 100644 (file)
index 559f2aa..0000000
+++ /dev/null
@@ -1,497 +0,0 @@
-/*
- * Copyright (c) 2004, 2005 Voltaire, Inc. All rights reserved.
- * Copyright (c) 2002-2005 Mellanox Technologies LTD. All rights reserved.
- * Copyright (c) 1996-2003 Intel Corporation. All rights reserved.
- *
- * This software is available to you under the OpenIB.org BSD license
- * below:
- *
- *     Redistribution and use in source and binary forms, with or
- *     without modification, are permitted provided that the following
- *     conditions are met:
- *
- *      - Redistributions of source code must retain the above
- *        copyright notice, this list of conditions and the following
- *        disclaimer.
- *
- *      - Redistributions in binary form must reproduce the above
- *        copyright notice, this list of conditions and the following
- *        disclaimer in the documentation and/or other materials
- *        provided with the distribution.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
- * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
- * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
- * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS
- * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
- * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
- * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- * SOFTWARE.
- *
- * $Id$
- */
-
-
-/*
- * Abstract:
- *     Declaration of event wheel abstraction.
- * 
- * Environment:
- *     All
- *
- * $Revision: 1.4 $
- */
-
-
-#ifndef _CL_EVENT_WHEEL_H_
-#define _CL_EVENT_WHEEL_H_
-
-#include <complib/cl_atomic.h>
-#include <complib/cl_qlist.h>
-#include <complib/cl_qmap.h>
-#include <complib/cl_timer.h>
-#include <complib/cl_spinlock.h>
-#include <opensm/osm_log.h>
-
-#ifdef __cplusplus
-#  define BEGIN_C_DECLS extern "C" {
-#  define END_C_DECLS   }
-#else /* !__cplusplus */
-#  define BEGIN_C_DECLS
-#  define END_C_DECLS
-#endif /* __cplusplus */
-
-BEGIN_C_DECLS
-
-/****h* Component Library/Event_Wheel
-* NAME
-*      Event_Wheel
-*
-* DESCRIPTION
-*      The Event_Wheel provides a facility for registering delayed events
-*      and getting called once they timeout.
-*
-*      The Event_Wheel functions operate on a cl_event_wheel_t structure
-*      which should be treated as opaque and should be manipulated
-*      only through the provided functions.
-*
-* SEE ALSO
-*      Structures:
-*              cl_event_wheel_t
-*
-*      Initialization/Destruction:
-*              cl_event_wheel_construct, cl_event_wheel_init, cl_event_wheel_destroy
-*
-*      Manipulation:
-*              cl_event_wheel_reg, cl_event_wheel_unreg
-*
-*********/
-
-/****f* Component Library: Event_Wheel/cl_pfn_event_aged_cb_t
-* NAME
-*      cl_pfn_event_aged_cb_t
-*
-* DESCRIPTION
-*      This typedef defines the prototype for client functions invoked
-*      by the Event_Wheel.  The Event_Wheel calls the corresponding
-*      client function when the specific item has aged.
-*
-* SYNOPSIS
-*/
-typedef uint64_t
-(*cl_pfn_event_aged_cb_t)(
-  IN  uint64_t       key,
-  IN  uint32_t       num_regs,
-  IN   void*                           context);
-/*
-* PARAMETERS
-*  key
-*     [in] The key used for registering the item in the call to
-*     cl_event_wheel_reg
-*
-*  num_regs
-*     [in] The number of times this event was registered (pushed in time).
-*
-*      context
-*              [in] Client specific context specified in a call to
-*              cl_event_wheel_reg
-*
-* RETURN VALUE
-*      This function returns the abosolute time the event should fire in [usec].
-*  If lower then current time means the event should be unregistered
-*  immediatly.
-*
-* NOTES
-*      This typedef provides a function prototype reference for
-*      the function provided by Event_Wheel clients as a parameter
-*      to the cl_event_wheel_reg function.
-*
-* SEE ALSO
-*      Event_Wheel, cl_event_wheel_reg
-*********/
-
-/****s* Component Library: Event_Wheel/cl_event_wheel_t
-* NAME
-*      cl_event_wheel_t
-*
-* DESCRIPTION
-*      Event_Wheel structure.
-*
-*      The Event_Wheel is thread safe.
-*
-*      The cl_event_wheel_t structure should be treated as opaque and should
-*      be manipulated only through the provided functions.
-*
-* SYNOPSIS
-*/
-typedef struct _cl_event_wheel
-{
-  cl_spinlock_t                   lock;
-  cl_spinlock_t           *p_external_lock;
-    
-  cl_qmap_t                events_map;
-  boolean_t                closing;
-  cl_qlist_t               events_wheel;
-  cl_timer_t               timer;
-  osm_log_t                *p_log;
-} cl_event_wheel_t;
-/*
-* FIELDS
-*      lock
-*              Spinlock to guard internal structures.
-*
-*       p_external_lock
-*               Reference to external spinlock to guard internal structures
-*               if the event wheel is part of a larger object protected by its own lock
-*
-*      events_map
-*              A Map holding all registered event items by their key.
-*
-*  closing 
-*     A flag indicating the event wheel is closing. This means that
-*     callbacks that are called when closing == TRUE should just be ignored.
-*
-*      events_wheel
-*              A list of the events sorted by expiration time.
-*
-*      timer
-*              The timer scheduling event time propagation.
-*
-*  p_log
-*     Pointer to opensm log object.
-*
-* SEE ALSO
-*      Event_Wheel
-*********/
-
-/****s* Component Library: Event_Wheel/cl_event_wheel_reg_info_t
-* NAME
-*      cl_event_wheel_reg_info_t
-*
-* DESCRIPTION
-*      Defines the event_wheel registration object structure.
-*
-*      The cl_event_wheel_reg_info_t structure is for internal use by the
-*      Event_Wheel only.
-*
-* SYNOPSIS
-*/
-typedef struct _cl_event_wheel_reg_info
-{
-  cl_map_item_t          map_item;
-  cl_list_item_t                        list_item;
-  uint64_t               key;
-  cl_pfn_event_aged_cb_t pfn_aged_callback;
-  uint64_t               aging_time;
-  uint32_t               num_regs;
-  void                                *context;
-  cl_event_wheel_t              *p_event_wheel;
-} cl_event_wheel_reg_info_t;
-/*
-* FIELDS
-*  map_item 
-*     The map item of this event 
-*
-*  list_item
-*     The sorted by aging time list item
-*
-*  key
-*     The key by which one can find the event
-*
-*      pfn_aged_callback
-*              The clients Event-Aged callback
-*
-*  aging_time
-*     The delta time [msec] for which the event should age.
-*
-*  num_regs
-*     The number of times the same event (key) was registered
-*
-*      context
-*              Client's context for event-aged callback.
-*
-*      p_event_wheel
-*              Pointer to this event wheel object
-*
-* SEE ALSO
-*********/
-
-
-/****f* Component Library: Event_Wheel/cl_event_wheel_construct
-* NAME
-*      cl_event_wheel_construct
-*
-* DESCRIPTION
-*      This function constructs a Event_Wheel object.
-*
-* SYNOPSIS
-*/
-void
-cl_event_wheel_construct(
-       IN      cl_event_wheel_t* const p_event_wheel );
-/*
-* PARAMETERS
-*      p_event_wheel
-*              [in] Pointer to a Event_Wheel.
-*
-* RETURN VALUE
-*      This function does not return a value.
-*
-* NOTES
-*      Allows calling cl_event_wheel_init and cl_event_wheel_destroy.
-*
-* SEE ALSO
-*      Event_Wheel, cl_event_wheel_init, cl_event_wheel_destroy
-*********/
-
-
-/****f* Component Library: Event_Wheel/cl_event_wheel_init
-* NAME
-*      cl_event_wheel_init
-*
-* DESCRIPTION
-*      This function initializes a Event_Wheel object.
-*
-* SYNOPSIS
-*/
-cl_status_t
-cl_event_wheel_init(
-  IN   cl_event_wheel_t* const p_event_wheel,
-  IN    osm_log_t               *p_log);
-
-/*
-* PARAMETERS
-*      p_event_wheel
-*              [in] Pointer to a Event_Wheel.
-*
-*  p_log
-*     [in] Pointer to opensm log object to be used for logging
-*
-* RETURN VALUE
-*      CL_SUCCESS if the operation is successful.
-*
-* SEE ALSO
-*      Event_Wheel, cl_event_wheel_destoy, cl_event_wheel_reg, cl_event_wheel_unreg
-*      
-*********/
-
-/****f* Component Library: Event_Wheel/cl_event_wheel_init
-* NAME
-*      cl_event_wheel_init
-*
-* DESCRIPTION
-*      This function initializes a Event_Wheel object.
-*
-* SYNOPSIS
-*/
-cl_status_t
-cl_event_wheel_init_ex(
-  IN   cl_event_wheel_t* const p_event_wheel,
-  IN    osm_log_t               *p_log,
-  IN    cl_spinlock_t           *p_external_lock);
-
-/*
-* PARAMETERS
-*  p_event_wheel
-*     [in] Pointer to a Event_Wheel.
-*
-*  p_log
-*     [in] Pointer to opensm log object to be used for logging
-*
-*  p_external_lock
-*     [in] Reference to external spinlock to guard internal structures
-*          if the event wheel is part of a larger object protected by its own lock
-*
-* RETURN VALUE
-*      CL_SUCCESS if the operation is successful.
-*
-* SEE ALSO
-*      Event_Wheel, cl_event_wheel_destoy, cl_event_wheel_reg, cl_event_wheel_unreg
-*      
-*********/
-
-
-/****f* Component Library: Event_Wheel/cl_event_wheel_destroy
-* NAME
-*      cl_event_wheel_destroy
-*
-* DESCRIPTION
-*      This function destroys a Event_Wheel object.
-*
-* SYNOPSIS
-*/
-void
-cl_event_wheel_destroy(
-       IN cl_event_wheel_t* const p_event_wheel );
-/*
-* PARAMETERS
-*      p_event_wheel
-*              [in] Pointer to a Event_Wheel.
-*
-* RETURN VALUE
-*      This function does not return a value.
-*
-* NOTES
-*      This function does not returns until all client callback functions
-*  been successfully finished.
-*
-* SEE ALSO
-*      Event_Wheel, cl_event_wheel_construct, cl_event_wheel_init
-*********/
-
-/****f* Component Library: Event_Wheel/cl_event_wheel_dump
-* NAME
-*      cl_event_wheel_dump
-*
-* DESCRIPTION
-*      This function dumps the details of an Event_Whell object.
-*
-* SYNOPSIS
-*/
-void
-cl_event_wheel_dump(
-       IN cl_event_wheel_t* const p_event_wheel );
-/*
-* PARAMETERS
-*      p_event_wheel
-*              [in] Pointer to a Event_Wheel.
-*
-* RETURN VALUE
-*      This function does not return a value.
-*
-* NOTES
-*      Note that this function should be called inside a lock of the event wheel!
-*  It doesn't aquire the lock by itself. 
-*
-* SEE ALSO
-*      Event_Wheel, cl_event_wheel_construct, cl_event_wheel_init
-*********/
-
-/****f* Component Library: Event_Wheel/cl_event_wheel_reg
-* NAME
-*      cl_event_wheel_reg
-*
-* DESCRIPTION
-*      This function registers a client with a Event_Wheel object.
-*
-* SYNOPSIS
-*/
-cl_status_t
-cl_event_wheel_reg(
-       IN cl_event_wheel_t* const p_event_wheel,
-       IN const uint64_t          key,
-       IN const uint64_t          aging_time_usec,
-       IN cl_pfn_event_aged_cb_t  pfn_callback,
-       IN void* const context );
-/*
-* PARAMETERS
-*      p_event_wheel
-*              [in] Pointer to a Event_Wheel.
-*
-*      key
-*              [in] The specifc Key by which events are registered.
-*
-*  aging_time_usec
-*     [in] The absolute time this event should age in usec
-*
-*      pfn_callback
-*              [in] Event Aging callback.  The Event_Wheel calls this
-*              function after the time the event has registed for has come.
-*
-*      context
-*              [in] Client context value passed to the cl_pfn_event_aged_cb_t
-*              function.
-*
-* RETURN VALUE
-*      On success a Event_Wheel CL_SUCCESS or CL_ERROR otherwise.
-*
-* SEE ALSO
-*      Event_Wheel, cl_event_wheel_unreg
-*********/
-
-
-/****f* Component Library: Event_Wheel/cl_event_wheel_unreg
-* NAME
-*      cl_event_wheel_unreg
-*
-* DESCRIPTION
-*      This function unregisters a client event from a Event_Wheel.
-*
-* SYNOPSIS
-*/
-void
-cl_event_wheel_unreg(
-  IN cl_event_wheel_t* const p_event_wheel,
-  IN uint64_t key );
-/*
-* PARAMETERS
-*      p_event_wheel
-*              [in] Pointer to a Event_Wheel.
-*
-*      key
-*              [in] The key used for registering the event
-*
-* RETURN VALUE
-*      This function does not return a value.
-*
-* NOTES
-*  After the event has aged it is automatically removed from 
-*  the event wheel. So it should only be invoked when the need arises
-*  to remove existing events before they age.
-*
-* SEE ALSO
-*      Event_Wheel, cl_event_wheel_reg
-*********/
-
-/****f* Component Library: Event_Wheel/cl_event_wheel_num_regs
-* NAME
-*      cl_event_wheel_num_regs
-*
-* DESCRIPTION
-*      This function returns the number of times an event was registered.
-*
-* SYNOPSIS
-*/
-uint32_t 
-cl_event_wheel_num_regs(
-  IN cl_event_wheel_t* const p_event_wheel,
-  IN uint64_t key );
-/*
-* PARAMETERS
-*      p_event_wheel
-*              [in] Pointer to a Event_Wheel.
-*
-*      key
-*              [in] The key used for registering the event
-*
-* RETURN VALUE
-*      The number of times the event was registered.
-*  0 if never registered or eventually aged.
-*
-* SEE ALSO
-*      Event_Wheel, cl_event_wheel_reg, cl_event_wheel_unreg
-*********/
-
-END_C_DECLS
-
-#endif /* !defined(_CL_EVENT_WHEEL_H_) */
diff --git a/ulp/opensm/user/include/opensm/osm_drop_mgr.h b/ulp/opensm/user/include/opensm/osm_drop_mgr.h
deleted file mode 100644 (file)
index 81c51fa..0000000
+++ /dev/null
@@ -1,259 +0,0 @@
-/*
- * Copyright (c) 2004-2006 Voltaire, Inc. All rights reserved.
- * Copyright (c) 2002-2006 Mellanox Technologies LTD. All rights reserved.
- * Copyright (c) 1996-2003 Intel Corporation. All rights reserved.
- *
- * This software is available to you under the OpenIB.org BSD license
- * below:
- *
- *     Redistribution and use in source and binary forms, with or
- *     without modification, are permitted provided that the following
- *     conditions are met:
- *
- *      - Redistributions of source code must retain the above
- *        copyright notice, this list of conditions and the following
- *        disclaimer.
- *
- *      - Redistributions in binary form must reproduce the above
- *        copyright notice, this list of conditions and the following
- *        disclaimer in the documentation and/or other materials
- *        provided with the distribution.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
- * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
- * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
- * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS
- * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
- * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
- * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- * SOFTWARE.
- *
- * $Id$
- */
-
-
-/*
- * Abstract:
- *     Declaration of osm_drop_mgr_t.
- *     This object represents the Drop Manager object.
- *     This object is part of the OpenSM family of objects.
- *
- * Environment:
- *     Linux User Mode
- *
- * $Revision: 1.4 $
- */
-
-#ifndef _OSM_DROP_MGR_H_
-#define _OSM_DROP_MGR_H_
-
-#include <complib/cl_passivelock.h>
-#include <opensm/osm_base.h>
-#include <opensm/osm_madw.h>
-#include <opensm/osm_subnet.h>
-#include <opensm/osm_req.h>
-#include <opensm/osm_log.h>
-
-#ifdef __cplusplus
-#  define BEGIN_C_DECLS extern "C" {
-#  define END_C_DECLS   }
-#else /* !__cplusplus */
-#  define BEGIN_C_DECLS
-#  define END_C_DECLS
-#endif /* __cplusplus */
-
-BEGIN_C_DECLS
-
-/****h* OpenSM/Drop Manager
-* NAME
-*      Drop Manager
-*
-* DESCRIPTION
-*      The Drop Manager object encapsulates the information
-*      needed to receive the SwitchInfo attribute from a node.
-*
-*      The Drop Manager object is thread safe.
-*
-*      This object should be treated as opaque and should be
-*      manipulated only through the provided functions.
-*
-* AUTHOR
-*      Steve King, Intel
-*
-*********/
-
-/****s* OpenSM: Drop Manager/osm_drop_mgr_t
-* NAME
-*      osm_drop_mgr_t
-*
-* DESCRIPTION
-*      Drop Manager structure.
-*
-*      This object should be treated as opaque and should
-*      be manipulated only through the provided functions.
-*
-* SYNOPSIS
-*/
-typedef struct _osm_drop_mgr
-{
-       osm_subn_t                                      *p_subn;
-       osm_log_t                                       *p_log;
-       osm_req_t                                       *p_req;
-       cl_plock_t                                      *p_lock;
-
-} osm_drop_mgr_t;
-/*
-* FIELDS
-*      p_subn
-*              Pointer to the Subnet object for this subnet.
-*
-*      p_log
-*              Pointer to the log object.
-*
-*      p_req
-*              Pointer to the Request object.
-*
-*      p_lock
-*              Pointer to the serializing lock.
-*
-* SEE ALSO
-*      Drop Manager object
-*********/
-
-/****f* OpenSM: Drop Manager/osm_drop_mgr_construct
-* NAME
-*      osm_drop_mgr_construct
-*
-* DESCRIPTION
-*      This function constructs a Drop Manager object.
-*
-* SYNOPSIS
-*/
-void osm_drop_mgr_construct(
-       IN osm_drop_mgr_t* const p_mgr );
-/*
-* PARAMETERS
-*      p_mgr
-*              [in] Pointer to a Drop Manager object to construct.
-*
-* RETURN VALUE
-*      This function does not return a value.
-*
-* NOTES
-*      Allows calling osm_drop_mgr_init, osm_drop_mgr_destroy
-*
-*      Calling osm_drop_mgr_construct is a prerequisite to calling any other
-*      method except osm_drop_mgr_init.
-*
-* SEE ALSO
-*      Drop Manager object, osm_drop_mgr_init,
-*      osm_drop_mgr_destroy
-*********/
-
-/****f* OpenSM: Drop Manager/osm_drop_mgr_destroy
-* NAME
-*      osm_drop_mgr_destroy
-*
-* DESCRIPTION
-*      The osm_drop_mgr_destroy function destroys the object, releasing
-*      all resources.
-*
-* SYNOPSIS
-*/
-void osm_drop_mgr_destroy(
-       IN osm_drop_mgr_t* const p_mgr );
-/*
-* PARAMETERS
-*      p_mgr
-*              [in] Pointer to the object to destroy.
-*
-* RETURN VALUE
-*      This function does not return a value.
-*
-* NOTES
-*      Performs any necessary cleanup of the specified
-*      Drop Manager object.
-*      Further operations should not be attempted on the destroyed object.
-*      This function should only be called after a call to
-*      osm_drop_mgr_construct or osm_drop_mgr_init.
-*
-* SEE ALSO
-*      Drop Manager object, osm_drop_mgr_construct,
-*      osm_drop_mgr_init
-*********/
-
-/****f* OpenSM: Drop Manager/osm_drop_mgr_init
-* NAME
-*      osm_drop_mgr_init
-*
-* DESCRIPTION
-*      The osm_drop_mgr_init function initializes a
-*      Drop Manager object for use.
-*
-* SYNOPSIS
-*/
-ib_api_status_t osm_drop_mgr_init(
-       IN osm_drop_mgr_t* const p_mgr,
-       IN osm_subn_t* const p_subn,
-       IN osm_log_t* const p_log,
-       IN osm_req_t* const p_req,
-       IN cl_plock_t* const p_lock );
-/*
-* PARAMETERS
-*      p_mgr
-*              [in] Pointer to an osm_drop_mgr_t object to initialize.
-*
-*      p_subn
-*              [in] Pointer to the Subnet object for this subnet.
-*
-*      p_log
-*              [in] Pointer to the log object.
-*
-*      p_req
-*              [in] Pointer to an osm_req_t object.
-*
-*      p_lock
-*              [in] Pointer to the OpenSM serializing lock.
-*
-* RETURN VALUES
-*      IB_SUCCESS if the Drop Manager object was initialized
-*      successfully.
-*
-* NOTES
-*      Allows calling other Drop Manager methods.
-*
-* SEE ALSO
-*      Drop Manager object, osm_drop_mgr_construct,
-*      osm_drop_mgr_destroy
-*********/
-
-/****f* OpenSM: Drop Manager/osm_drop_mgr_process
-* NAME
-*      osm_drop_mgr_process
-*
-* DESCRIPTION
-*      Process the SwitchInfo attribute.
-*
-* SYNOPSIS
-*/
-void osm_drop_mgr_process(
-       IN const osm_drop_mgr_t* const p_mgr );
-/*
-* PARAMETERS
-*      p_mgr
-*              [in] Pointer to an osm_drop_mgr_t object.
-*
-* RETURN VALUES
-*      None
-*
-* NOTES
-*      This function processes a SwitchInfo attribute.
-*
-* SEE ALSO
-*      Drop Manager, Switch Info Response Controller
-*********/
-
-END_C_DECLS
-
-#endif /* _OSM_DROP_MGR_H_ */
-
diff --git a/ulp/opensm/user/include/opensm/osm_fwd_tbl.h b/ulp/opensm/user/include/opensm/osm_fwd_tbl.h
deleted file mode 100644 (file)
index ac31131..0000000
+++ /dev/null
@@ -1,388 +0,0 @@
-/*
- * Copyright (c) 2004-2006 Voltaire, Inc. All rights reserved.
- * Copyright (c) 2002-2006 Mellanox Technologies LTD. All rights reserved.
- * Copyright (c) 1996-2003 Intel Corporation. All rights reserved.
- *
- * This software is available to you under the OpenIB.org BSD license
- * below:
- *
- *     Redistribution and use in source and binary forms, with or
- *     without modification, are permitted provided that the following
- *     conditions are met:
- *
- *      - Redistributions of source code must retain the above
- *        copyright notice, this list of conditions and the following
- *        disclaimer.
- *
- *      - Redistributions in binary form must reproduce the above
- *        copyright notice, this list of conditions and the following
- *        disclaimer in the documentation and/or other materials
- *        provided with the distribution.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
- * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
- * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
- * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS
- * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
- * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
- * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- * SOFTWARE.
- *
- * $Id$
- */
-
-
-/*
- * Abstract:
- *     Declaration of osm_fwd_tbl_t.
- *     This object represents a unicast forwarding table.
- *     This object is part of the OpenSM family of objects.
- *
- * Environment:
- *     Linux User Mode
- *
- * $Revision: 1.4 $
- */
-
-#ifndef _OSM_FWD_TBL_H_
-#define _OSM_FWD_TBL_H_
-
-#include <iba/ib_types.h>
-#include <opensm/osm_base.h>
-#include <opensm/osm_rand_fwd_tbl.h>
-#include <opensm/osm_lin_fwd_tbl.h>
-
-#ifdef __cplusplus
-#  define BEGIN_C_DECLS extern "C" {
-#  define END_C_DECLS   }
-#else /* !__cplusplus */
-#  define BEGIN_C_DECLS
-#  define END_C_DECLS
-#endif /* __cplusplus */
-
-BEGIN_C_DECLS
-
-/****h* OpenSM/Forwarding Table
-* NAME
-*      Forwarding Table
-*
-* DESCRIPTION
-*      The Forwarding Table objects encapsulate the information
-*      needed by the OpenSM to manage forwarding tables.  The OpenSM
-*      allocates one Forwarding Table object per switch in the
-*      IBA subnet.
-*
-*      The Forwarding Table objects are not thread safe, thus
-*      callers must provide serialization.
-*
-* AUTHOR
-*      Steve King, Intel
-*
-*********/
-
-/****s* OpenSM: Forwarding Table/osm_fwd_tbl_t
-* NAME
-*      osm_fwd_tbl_t
-*
-* DESCRIPTION
-*      Forwarding Table structure.  This object hides the type
-*      of fowarding table (linear or random) actually used by
-*      the switch.
-*
-*      This object should be treated as opaque and should
-*      be manipulated only through the provided functions.
-*
-* SYNOPSIS
-*/
-typedef struct _osm_fwd_tbl_t
-{
-       osm_rand_fwd_tbl_t      *p_rnd_tbl;
-       osm_lin_fwd_tbl_t       *p_lin_tbl;
-
-} osm_fwd_tbl_t;
-/*
-* FIELDS
-*      p_rnd_tbl
-*              Pointer to the switch's Random Forwarding Table object.
-*              If the switch does not use a Random Forwarding Table,
-*              then this pointer is NULL.
-*
-*      p_lin_tbl
-*              Pointer to the switch's Linear Forwarding Table object.
-*              If the switch does not use a Linear Forwarding Table,
-*              then this pointer is NULL.
-*
-* SEE ALSO
-*      Forwarding Table object, Random Forwarding Table object.
-*********/
-
-/****f* OpenSM: Forwarding Table/osm_fwd_tbl_init
-* NAME
-*      osm_fwd_tbl_init
-*
-* DESCRIPTION
-*      Initializes a Forwarding Table object.
-*
-* SYNOPSIS
-*/
-ib_api_status_t
-osm_fwd_tbl_init(
-       IN osm_fwd_tbl_t* const p_tbl,
-       IN const ib_switch_info_t* const p_si );
-/*
-* PARAMETERS
-*      p_tbl
-*              [in] Pointer to the Forwarding Table object.
-*
-*      p_si
-*              [in] Pointer to the SwitchInfo attribute of the associated
-*              switch.
-*
-* RETURN VALUE
-*      IB_SUCCESS if the operation is successful.
-*
-* NOTES
-*
-* SEE ALSO
-*********/
-
-/****f* OpenSM: Forwarding Table/osm_fwd_tbl_destroy
-* NAME
-*      osm_fwd_tbl_destroy
-*
-* DESCRIPTION
-*      Destroys a Forwarding Table object.
-*
-* SYNOPSIS
-*/
-void
-osm_fwd_tbl_destroy(
-       IN osm_fwd_tbl_t* const p_tbl );
-/*
-* PARAMETERS
-*      p_tbl
-*              [in] Pointer to the Forwarding Table object.
-*
-* RETURN VALUE
-*      None.
-*
-* NOTES
-*
-* SEE ALSO
-*********/
-
-/****f* OpenSM: Forwarding Table/osm_fwd_tbl_get
-* NAME
-*      osm_fwd_tbl_get
-*
-* DESCRIPTION
-*      Returns the port that routes the specified LID.
-*
-* SYNOPSIS
-*/
-static inline uint8_t
-osm_fwd_tbl_get(
-       IN const osm_fwd_tbl_t* const p_tbl,
-       IN uint16_t const lid_ho )
-{
-       if( p_tbl->p_lin_tbl )
-               return( osm_lin_fwd_tbl_get( p_tbl->p_lin_tbl, lid_ho ) );
-       else
-               return( osm_rand_fwd_tbl_get( p_tbl->p_rnd_tbl, lid_ho ) );
-}
-/*
-* PARAMETERS
-*      p_tbl
-*              [in] Pointer to the Forwarding Table object.
-*
-*      lid_ho
-*              [in] LID (host order) for which to find the route.
-*
-* RETURN VALUE
-*      Returns the port that routes the specified LID.
-*      IB_INVALID_PORT_NUM if the table does not have a route for this LID.
-*
-* NOTES
-*
-* SEE ALSO
-*********/
-
-/****f* OpenSM: Forwarding Table/osm_fwd_tbl_set
-* NAME
-*      osm_fwd_tbl_set
-*
-* DESCRIPTION
-*      Sets the port to route the specified LID.
-*
-* SYNOPSIS
-*/
-static inline void
-osm_fwd_tbl_set(
-       IN osm_fwd_tbl_t* const p_tbl,
-       IN const uint16_t lid_ho,
-       IN const uint8_t port )
-{
-       CL_ASSERT( p_tbl );
-       if( p_tbl->p_lin_tbl )
-               osm_lin_fwd_tbl_set( p_tbl->p_lin_tbl, lid_ho, port );
-       else
-               osm_rand_fwd_tbl_set( p_tbl->p_rnd_tbl, lid_ho, port );
-}
-/*
-* PARAMETERS
-*      p_tbl
-*              [in] Pointer to the Forwarding Table object.
-*
-*      lid_ho
-*              [in] LID value (host order) for which to set the route.
-*
-*      port
-*              [in] Port to route the specified LID value.
-*
-* RETURN VALUE
-*      None.
-*
-* NOTES
-*
-* SEE ALSO
-*********/
-
-/****f* OpenSM: Forwarding Table/osm_fwd_tbl_set_block
-* NAME
-*      osm_fwd_tbl_set_block
-*
-* DESCRIPTION
-*      Copies the specified block into the Forwarding Table.
-*
-* SYNOPSIS
-*/
-static inline ib_api_status_t
-osm_fwd_tbl_set_block(
-       IN osm_fwd_tbl_t* const p_tbl,
-       IN const uint8_t* const p_block,
-       IN const uint32_t block_num )
-{
-       CL_ASSERT( p_tbl );
-       if( p_tbl->p_lin_tbl )
-               return( osm_lin_fwd_tbl_set_block( p_tbl->p_lin_tbl,
-                               p_block, block_num ) );
-       else
-               return( osm_rand_fwd_tbl_set_block( p_tbl->p_rnd_tbl,
-                               p_block, block_num ) );
-}
-/*
-* PARAMETERS
-*      p_tbl
-*              [in] Pointer to the Forwarding Table object.
-*
-* RETURN VALUE
-*      None.
-*
-* NOTES
-*
-* SEE ALSO
-*********/
-
-/****f* OpenSM: Forwarding Table/osm_fwd_tbl_get_size
-* NAME
-*      osm_fwd_tbl_get_size
-*
-* DESCRIPTION
-*      Returns the number of entries available in the forwarding table.
-*
-* SYNOPSIS
-*/
-static inline uint16_t
-osm_fwd_tbl_get_size(
-       IN const osm_fwd_tbl_t* const p_tbl )
-{
-       CL_ASSERT( p_tbl );
-       if( p_tbl->p_lin_tbl )
-               return( osm_lin_fwd_tbl_get_size( p_tbl->p_lin_tbl ) );
-       else
-               return( osm_rand_fwd_tbl_get_size( p_tbl->p_rnd_tbl ) );
-}
-/*
-* PARAMETERS
-*      p_tbl
-*              [in] Pointer to the Forwarding Table object.
-*
-* RETURN VALUE
-*      Returns the number of entries available in the forwarding table.
-*
-* NOTES
-*
-* SEE ALSO
-*********/
-
-/****f* OpenSM: Forwarding Table/osm_fwd_tbl_get_lids_per_block
-* NAME
-*      osm_fwd_tbl_get_lids_per_block
-*
-* DESCRIPTION
-*      Returns the number of LIDs per LID block.
-*
-* SYNOPSIS
-*/
-static inline uint16_t
-osm_fwd_tbl_get_lids_per_block(
-       IN const osm_fwd_tbl_t* const p_tbl )
-{
-       CL_ASSERT( p_tbl );
-       if( p_tbl->p_lin_tbl )
-               return( osm_lin_fwd_tbl_get_lids_per_block( p_tbl->p_lin_tbl ) );
-       else
-               return( osm_rand_fwd_tbl_get_lids_per_block( p_tbl->p_rnd_tbl ) );
-}
-/*
-* PARAMETERS
-*      p_tbl
-*              [in] Pointer to the Forwarding Table object.
-*
-* RETURN VALUE
-*      Returns the number of LIDs per LID block.
-*
-* NOTES
-*
-* SEE ALSO
-*********/
-
-/****f* OpenSM: Forwarding Table/osm_fwd_tbl_get_max_block_id_in_use
-* NAME
-*      osm_fwd_tbl_get_max_block_id_in_use
-*
-* DESCRIPTION
-*      Returns the number of LIDs per LID block.
-*
-* SYNOPSIS
-*/
-static inline uint16_t
-osm_fwd_tbl_get_max_block_id_in_use(
-       IN const osm_fwd_tbl_t* const p_tbl,
-       IN const uint16_t lid_top_ho )
-{
-       CL_ASSERT( p_tbl );
-       if( p_tbl->p_lin_tbl )
-               return( osm_lin_fwd_tbl_get_max_block_id_in_use(
-                               p_tbl->p_lin_tbl, lid_top_ho ) );
-       else
-               return( osm_rand_fwd_tbl_get_max_block_id_in_use(
-                               p_tbl->p_rnd_tbl, lid_top_ho ) );
-}
-/*
-* PARAMETERS
-*      p_tbl
-*              [in] Pointer to the Forwarding Table object.
-*
-* RETURN VALUE
-*      Returns the number of LIDs per LID block.
-*
-* NOTES
-*
-* SEE ALSO
-*********/
-
-END_C_DECLS
-
-#endif         /* _OSM_FWD_TBL_H_ */
-
diff --git a/ulp/opensm/user/include/opensm/osm_lin_fwd_rcv.h b/ulp/opensm/user/include/opensm/osm_lin_fwd_rcv.h
deleted file mode 100644 (file)
index 3ba174d..0000000
+++ /dev/null
@@ -1,255 +0,0 @@
-/*
- * Copyright (c) 2004-2006 Voltaire, Inc. All rights reserved.
- * Copyright (c) 2002-2006 Mellanox Technologies LTD. All rights reserved.
- * Copyright (c) 1996-2003 Intel Corporation. All rights reserved.
- *
- * This software is available to you under the OpenIB.org BSD license
- * below:
- *
- *     Redistribution and use in source and binary forms, with or
- *     without modification, are permitted provided that the following
- *     conditions are met:
- *
- *      - Redistributions of source code must retain the above
- *        copyright notice, this list of conditions and the following
- *        disclaimer.
- *
- *      - Redistributions in binary form must reproduce the above
- *        copyright notice, this list of conditions and the following
- *        disclaimer in the documentation and/or other materials
- *        provided with the distribution.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
- * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
- * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
- * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS
- * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
- * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
- * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- * SOFTWARE.
- *
- * $Id$
- */
-
-
-/*
- * Abstract:
- *     Declaration of osm_lft_rcv_t.
- *     This object represents the LFT Receiver object.
- *     This object is part of the OpenSM family of objects.
- *
- * Environment:
- *     Linux User Mode
- *
- * $Revision: 1.4 $
- */
-
-#ifndef _OSM_LFT_RCV_H_
-#define _OSM_LFT_RCV_H_
-
-#include <complib/cl_passivelock.h>
-#include <opensm/osm_base.h>
-#include <opensm/osm_madw.h>
-#include <opensm/osm_subnet.h>
-#include <opensm/osm_log.h>
-
-#ifdef __cplusplus
-#  define BEGIN_C_DECLS extern "C" {
-#  define END_C_DECLS   }
-#else /* !__cplusplus */
-#  define BEGIN_C_DECLS
-#  define END_C_DECLS
-#endif /* __cplusplus */
-
-BEGIN_C_DECLS
-
-/****h* OpenSM/LFT Receiver
-* NAME
-*      LFT Receiver
-*
-* DESCRIPTION
-*      The LFT Receiver object encapsulates the information
-*      needed to receive the LFT attribute from a node.
-*
-*      The LFT Receiver object is thread safe.
-*
-*      This object should be treated as opaque and should be
-*      manipulated only through the provided functions.
-*
-* AUTHOR
-*      Steve King, Intel
-*
-*********/
-
-/****s* OpenSM: LFT Receiver/osm_lft_rcv_t
-* NAME
-*      osm_lft_rcv_t
-*
-* DESCRIPTION
-*      LFT Receiver structure.
-*
-*      This object should be treated as opaque and should
-*      be manipulated only through the provided functions.
-*
-* SYNOPSIS
-*/
-typedef struct _osm_lft_rcv
-{
-       osm_subn_t                                      *p_subn;
-       osm_log_t                                       *p_log;
-       cl_plock_t                                      *p_lock;
-
-} osm_lft_rcv_t;
-/*
-* FIELDS
-*      p_subn
-*              Pointer to the Subnet object for this subnet.
-*
-*      p_log
-*              Pointer to the log object.
-*
-*      p_lock
-*              Pointer to the serializing lock.
-*
-* SEE ALSO
-*      LFT Receiver object
-*********/
-
-/****f* OpenSM: LFT Receiver/osm_lft_rcv_construct
-* NAME
-*      osm_lft_rcv_construct
-*
-* DESCRIPTION
-*      This function constructs a LFT Receiver object.
-*
-* SYNOPSIS
-*/
-void osm_lft_rcv_construct(
-       IN osm_lft_rcv_t* const p_rcv );
-/*
-* PARAMETERS
-*      p_rcv
-*              [in] Pointer to a LFT Receiver object to construct.
-*
-* RETURN VALUE
-*      This function does not return a value.
-*
-* NOTES
-*      Allows calling osm_lft_rcv_init, osm_lft_rcv_destroy
-*
-*      Calling osm_lft_rcv_construct is a prerequisite to calling any other
-*      method except osm_lft_rcv_init.
-*
-* SEE ALSO
-*      LFT Receiver object, osm_lft_rcv_init,
-*      osm_lft_rcv_destroy
-*********/
-
-/****f* OpenSM: LFT Receiver/osm_lft_rcv_destroy
-* NAME
-*      osm_lft_rcv_destroy
-*
-* DESCRIPTION
-*      The osm_lft_rcv_destroy function destroys the object, releasing
-*      all resources.
-*
-* SYNOPSIS
-*/
-void osm_lft_rcv_destroy(
-       IN osm_lft_rcv_t* const p_rcv );
-/*
-* PARAMETERS
-*      p_rcv
-*              [in] Pointer to the object to destroy.
-*
-* RETURN VALUE
-*      This function does not return a value.
-*
-* NOTES
-*      Performs any necessary cleanup of the specified
-*      LFT Receiver object.
-*      Further operations should not be attempted on the destroyed object.
-*      This function should only be called after a call to
-*      osm_lft_rcv_construct or osm_lft_rcv_init.
-*
-* SEE ALSO
-*      LFT Receiver object, osm_lft_rcv_construct,
-*      osm_lft_rcv_init
-*********/
-
-/****f* OpenSM: LFT Receiver/osm_lft_rcv_init
-* NAME
-*      osm_lft_rcv_init
-*
-* DESCRIPTION
-*      The osm_lft_rcv_init function initializes a
-*      LFT Receiver object for use.
-*
-* SYNOPSIS
-*/
-ib_api_status_t osm_lft_rcv_init(
-       IN osm_lft_rcv_t* const p_rcv,
-       IN osm_subn_t* const p_subn,
-       IN osm_log_t* const p_log,
-       IN cl_plock_t* const p_lock );
-/*
-* PARAMETERS
-*      p_rcv
-*              [in] Pointer to an osm_lft_rcv_t object to initialize.
-*
-*      p_subn
-*              [in] Pointer to the Subnet object for this subnet.
-*
-*      p_log
-*              [in] Pointer to the log object.
-*
-*      p_lock
-*              [in] Pointer to the OpenSM serializing lock.
-*
-* RETURN VALUES
-*      CL_SUCCESS if the LFT Receiver object was initialized
-*      successfully.
-*
-* NOTES
-*      Allows calling other LFT Receiver methods.
-*
-* SEE ALSO
-*      LFT Receiver object, osm_lft_rcv_construct,
-*      osm_lft_rcv_destroy
-*********/
-
-/****f* OpenSM: LFT Receiver/osm_lft_rcv_process
-* NAME
-*      osm_lft_rcv_process
-*
-* DESCRIPTION
-*      Process the LFT attribute.
-*
-* SYNOPSIS
-*/
-void osm_lft_rcv_process(
-       IN const osm_lft_rcv_t* const p_rcv,
-       IN osm_madw_t* const p_madw );
-/*
-* PARAMETERS
-*      p_rcv
-*              [in] Pointer to an osm_lft_rcv_t object.
-*
-*      p_madw
-*              [in] Pointer to the MAD Wrapper containing the MAD
-*              that contains the node's LFT attribute.
-*
-* RETURN VALUES
-*      CL_SUCCESS if the LFT processing was successful.
-*
-* NOTES
-*      This function processes a LFT attribute.
-*
-* SEE ALSO
-*      LFT Receiver, Node Description Response Controller
-*********/
-
-END_C_DECLS
-
-#endif /* _OSM_LFT_RCV_H_ */
-
diff --git a/ulp/opensm/user/include/opensm/osm_lin_fwd_rcv_ctrl.h b/ulp/opensm/user/include/opensm/osm_lin_fwd_rcv_ctrl.h
deleted file mode 100644 (file)
index 907034d..0000000
+++ /dev/null
@@ -1,233 +0,0 @@
-/*
- * Copyright (c) 2004-2006 Voltaire, Inc. All rights reserved.
- * Copyright (c) 2002-2006 Mellanox Technologies LTD. All rights reserved.
- * Copyright (c) 1996-2003 Intel Corporation. All rights reserved.
- *
- * This software is available to you under the OpenIB.org BSD license
- * below:
- *
- *     Redistribution and use in source and binary forms, with or
- *     without modification, are permitted provided that the following
- *     conditions are met:
- *
- *      - Redistributions of source code must retain the above
- *        copyright notice, this list of conditions and the following
- *        disclaimer.
- *
- *      - Redistributions in binary form must reproduce the above
- *        copyright notice, this list of conditions and the following
- *        disclaimer in the documentation and/or other materials
- *        provided with the distribution.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
- * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
- * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
- * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS
- * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
- * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
- * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- * SOFTWARE.
- *
- * $Id$
- */
-
-
-/*
- * Abstract:
- *     Declaration of osm_lft_rcv_ctrl_t.
- *     This object represents a controller that receives the IBA
- *  LFT attribute from a node.
- *     This object is part of the OpenSM family of objects.
- *
- * Environment:
- *     Linux User Mode
- *
- * $Revision: 1.4 $
- */
-
-#ifndef _OSM_LFT_RCV_CTRL_H_
-#define _OSM_LFT_RCV_CTRL_H_
-
-#include <complib/cl_dispatcher.h>
-#include <opensm/osm_base.h>
-#include <opensm/osm_madw.h>
-#include <opensm/osm_lin_fwd_rcv.h>
-#include <opensm/osm_log.h>
-
-#ifdef __cplusplus
-#  define BEGIN_C_DECLS extern "C" {
-#  define END_C_DECLS   }
-#else /* !__cplusplus */
-#  define BEGIN_C_DECLS
-#  define END_C_DECLS
-#endif /* __cplusplus */
-
-BEGIN_C_DECLS
-
-/****h* OpenSM/LFT Receive Controller
-* NAME
-*      LFT Receive Controller
-*
-* DESCRIPTION
-*      The LFT Receive Controller object
-*      encapsulates the information
-*      needed to receive the NodeDescription attribute from a node.
-*
-*      The LFT Receive Controller object is thread safe.
-*
-*      This object should be treated as opaque and should be
-*      manipulated only through the provided functions.
-*
-* AUTHOR
-*      Steve King, Intel
-*
-*********/
-
-/****s* OpenSM: LFT Receive Controller/osm_lft_rcv_ctrl_t
-* NAME
-*      osm_lft_rcv_ctrl_t
-*
-* DESCRIPTION
-*      LFT Receive Controller structure.
-*
-*      This object should be treated as opaque and should
-*      be manipulated only through the provided functions.
-*
-* SYNOPSIS
-*/
-typedef struct _osm_lft_rcv_ctrl
-{
-       osm_lft_rcv_t                           *p_rcv;
-       osm_log_t                                       *p_log;
-       cl_dispatcher_t                         *p_disp;
-       cl_disp_reg_handle_t            h_disp;
-
-} osm_lft_rcv_ctrl_t;
-/*
-* FIELDS
-*      p_rcv
-*              Pointer to the LFT Receiver object.
-*
-*      p_log
-*              Pointer to the log object.
-*
-*      p_disp
-*              Pointer to the Dispatcher.
-*
-*      h_disp
-*              Handle returned from dispatcher registration.
-*
-* SEE ALSO
-*      LFT Receive Controller object
-*********/
-
-/****f* OpenSM: LFT Receive Controller/osm_lft_rcv_ctrl_construct
-* NAME
-*      osm_lft_rcv_ctrl_construct
-*
-* DESCRIPTION
-*      This function constructs a LFT Receive Controller object.
-*
-* SYNOPSIS
-*/
-void
-osm_lft_rcv_ctrl_construct(
-       IN osm_lft_rcv_ctrl_t* const p_ctrl );
-/*
-* PARAMETERS
-*      p_ctrl
-*              [in] Pointer to a LFT Receive Controller object to construct.
-*
-* RETURN VALUE
-*      This function does not return a value.
-*
-* NOTES
-*      Allows calling osm_lft_rcv_ctrl_init, osm_lft_rcv_ctrl_destroy
-*
-*      Calling osm_lft_rcv_ctrl_construct is a prerequisite to calling any other
-*      method except osm_lft_rcv_ctrl_init.
-*
-* SEE ALSO
-*      LFT Receive Controller object, osm_lft_rcv_ctrl_init,
-*      osm_lft_rcv_ctrl_destroy
-*********/
-
-/****f* OpenSM: LFT Receive Controller/osm_lft_rcv_ctrl_destroy
-* NAME
-*      osm_lft_rcv_ctrl_destroy
-*
-* DESCRIPTION
-*      The osm_lft_rcv_ctrl_destroy function destroys the object, releasing
-*      all resources.
-*
-* SYNOPSIS
-*/
-void
-osm_lft_rcv_ctrl_destroy(
-       IN osm_lft_rcv_ctrl_t* const p_ctrl );
-/*
-* PARAMETERS
-*      p_ctrl
-*              [in] Pointer to the object to destroy.
-*
-* RETURN VALUE
-*      This function does not return a value.
-*
-* NOTES
-*      Performs any necessary cleanup of the specified
-*      LFT Receive Controller object.
-*      Further operations should not be attempted on the destroyed object.
-*      This function should only be called after a call to
-*      osm_lft_rcv_ctrl_construct or osm_lft_rcv_ctrl_init.
-*
-* SEE ALSO
-*      LFT Receive Controller object, osm_lft_rcv_ctrl_construct,
-*      osm_lft_rcv_ctrl_init
-*********/
-
-/****f* OpenSM: LFT Receive Controller/osm_lft_rcv_ctrl_init
-* NAME
-*      osm_lft_rcv_ctrl_init
-*
-* DESCRIPTION
-*      The osm_lft_rcv_ctrl_init function initializes a
-*      LFT Receive Controller object for use.
-*
-* SYNOPSIS
-*/
-ib_api_status_t
-osm_lft_rcv_ctrl_init(
-       IN osm_lft_rcv_ctrl_t* const p_ctrl,
-       IN osm_lft_rcv_t* const p_rcv,
-       IN osm_log_t* const p_log,
-       IN cl_dispatcher_t* const p_disp );
-/*
-* PARAMETERS
-*      p_ctrl
-*              [in] Pointer to an osm_lft_rcv_ctrl_t object to initialize.
-*
-*      p_rcv
-*              [in] Pointer to an osm_lft_rcv_t object.
-*
-*      p_log
-*              [in] Pointer to the log object.
-*
-*      p_disp
-*              [in] Pointer to the OpenSM central Dispatcher.
-*
-* RETURN VALUES
-*      CL_SUCCESS if the LFT Receive Controller object was initialized
-*      successfully.
-*
-* NOTES
-*      Allows calling other LFT Receive Controller methods.
-*
-* SEE ALSO
-*      LFT Receive Controller object, osm_lft_rcv_ctrl_construct,
-*      osm_lft_rcv_ctrl_destroy
-*********/
-
-END_C_DECLS
-
-#endif         /* OSM_LFT_RCV_CTRL_H_ */
-
diff --git a/ulp/opensm/user/include/opensm/osm_lin_fwd_tbl.h b/ulp/opensm/user/include/opensm/osm_lin_fwd_tbl.h
deleted file mode 100644 (file)
index b7763ab..0000000
+++ /dev/null
@@ -1,379 +0,0 @@
-/*
- * Copyright (c) 2004-2006 Voltaire, Inc. All rights reserved.
- * Copyright (c) 2002-2006 Mellanox Technologies LTD. All rights reserved.
- * Copyright (c) 1996-2003 Intel Corporation. All rights reserved.
- *
- * This software is available to you under the OpenIB.org BSD license
- * below:
- *
- *     Redistribution and use in source and binary forms, with or
- *     without modification, are permitted provided that the following
- *     conditions are met:
- *
- *      - Redistributions of source code must retain the above
- *        copyright notice, this list of conditions and the following
- *        disclaimer.
- *
- *      - Redistributions in binary form must reproduce the above
- *        copyright notice, this list of conditions and the following
- *        disclaimer in the documentation and/or other materials
- *        provided with the distribution.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
- * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
- * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
- * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS
- * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
- * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
- * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- * SOFTWARE.
- *
- * $Id$
- */
-
-
-/*
- * Abstract:
- *     Declaration of osm_lin_fwd_tbl_t.
- *     This object represents a linear forwarding table.
- *     This object is part of the OpenSM family of objects.
- *
- * Environment:
- *     Linux User Mode
- *
- * $Revision: 1.4 $
- */
-
-#ifndef _OSM_LIN_FWD_TBL_H_
-#define _OSM_LIN_FWD_TBL_H_
-
-#include <string.h>
-#include <iba/ib_types.h>
-#include <opensm/osm_base.h>
-
-#ifdef __cplusplus
-#  define BEGIN_C_DECLS extern "C" {
-#  define END_C_DECLS   }
-#else /* !__cplusplus */
-#  define BEGIN_C_DECLS
-#  define END_C_DECLS
-#endif /* __cplusplus */
-
-BEGIN_C_DECLS
-
-/****h* OpenSM/Linear Forwarding Table
-* NAME
-*      Linear Forwarding Table
-*
-* DESCRIPTION
-*      The Linear Forwarding Table objects encapsulate the information
-*      needed by the OpenSM to manage linear forwarding tables.  The OpenSM
-*      allocates one Linear Forwarding Table object per switch in the
-*      IBA subnet, if that switch uses a linear table.
-*
-*      The Linear Forwarding Table objects are not thread safe, thus
-*      callers must provide serialization.
-*
-* AUTHOR
-*      Steve King, Intel
-*
-*********/
-
-/****s* OpenSM: Forwarding Table/osm_lin_fwd_tbl_t
-* NAME
-*      osm_lin_fwd_tbl_t
-*
-* DESCRIPTION
-*      Linear Forwarding Table structure.
-*
-*      Callers may directly access this object.
-*
-* SYNOPSIS
-*/
-typedef struct _osm_lin_fwd_tbl
-{
-       uint16_t                                size;
-       uint8_t                                 port_tbl[1];
-
-} osm_lin_fwd_tbl_t;
-/*
-* FIELDS
-*      Size
-*              Number of entries in the linear forwarding table.  This value
-*              is taken from the SwitchInfo attribute.
-*
-*      port_tbl
-*              The array that specifies the port number which routes the
-*              corresponding LID.  Index is by LID.
-*
-* SEE ALSO
-*      Forwarding Table object, Random Forwarding Table object.
-*********/
-
-/****f* OpenSM: Forwarding Table/osm_lin_tbl_new
-* NAME
-*      osm_lin_tbl_new
-*
-* DESCRIPTION
-*      This function creates and initializes a Linear Forwarding Table object.
-*
-* SYNOPSIS
-*/
-osm_lin_fwd_tbl_t*
-osm_lin_tbl_new(
-       IN uint16_t const size );
-/*
-* PARAMETERS
-*      size
-*              [in] Number of entries in the Linear Forwarding Table.
-*
-* RETURN VALUE
-*      On success, returns a pointer to a new Linear Forwarding Table object
-*      of the specified size.
-*      NULL otherwise.
-*
-* NOTES
-*
-* SEE ALSO
-*********/
-
-/****f* OpenSM: Forwarding Table/osm_lin_tbl_delete
-* NAME
-*      osm_lin_tbl_delete
-*
-* DESCRIPTION
-*      This destroys and deallocates a Linear Forwarding Table object.
-*
-* SYNOPSIS
-*/
-void
-osm_lin_tbl_delete(
-       IN osm_lin_fwd_tbl_t** const pp_tbl );
-/*
-* PARAMETERS
-*      pp_tbl
-*              [in] Pointer a Pointer to the Linear Forwarding Table object.
-*
-* RETURN VALUE
-*      On success, returns a pointer to a new Linear Forwarding Table object
-*      of the specified size.
-*      NULL otherwise.
-*
-* NOTES
-*
-* SEE ALSO
-*********/
-
-/****f* OpenSM: Forwarding Table/osm_lin_fwd_tbl_set
-* NAME
-*      osm_lin_fwd_tbl_set
-*
-* DESCRIPTION
-*      Sets the port to route the specified LID.
-*
-* SYNOPSIS
-*/
-static inline void
-osm_lin_fwd_tbl_set(
-       IN osm_lin_fwd_tbl_t* const p_tbl,
-       IN const uint16_t lid_ho,
-       IN const uint8_t port )
-{
-       CL_ASSERT( lid_ho < p_tbl->size );
-       if( lid_ho < p_tbl->size )
-               p_tbl->port_tbl[lid_ho] = port;
-}
-/*
-* PARAMETERS
-*      p_tbl
-*              [in] Pointer to the Linear Forwarding Table object.
-*
-*      lid_ho
-*              [in] LID value (host order) for which to set the route.
-*
-*      port
-*              [in] Port to route the specified LID value.
-*
-* RETURN VALUE
-*      None.
-*
-* NOTES
-*
-* SEE ALSO
-*********/
-
-/****f* OpenSM: Forwarding Table/osm_lin_fwd_tbl_get
-* NAME
-*      osm_lin_fwd_tbl_get
-*
-* DESCRIPTION
-*      Returns the port that routes the specified LID.
-*
-* SYNOPSIS
-*/
-static inline uint8_t
-osm_lin_fwd_tbl_get(
-       IN const osm_lin_fwd_tbl_t* const p_tbl,
-       IN const uint16_t lid_ho )
-{
-       if( lid_ho < p_tbl->size )
-               return( p_tbl->port_tbl[lid_ho] );
-       else
-               return( 0xFF );
-}
-/*
-* PARAMETERS
-*      p_tbl
-*              [in] Pointer to the Linear Forwarding Table object.
-*
-*      lid_ho
-*              [in] LID value (host order) for which to get the route.
-*
-* RETURN VALUE
-*      Returns the port that routes the specified LID.
-*
-* NOTES
-*
-* SEE ALSO
-*********/
-
-/****f* OpenSM: Forwarding Table/osm_lin_fwd_tbl_get_size
-* NAME
-*      osm_lin_fwd_tbl_get_size
-*
-* DESCRIPTION
-*      Returns the number of entries available in the forwarding table.
-*
-* SYNOPSIS
-*/
-static inline uint16_t
-osm_lin_fwd_tbl_get_size(
-       IN const osm_lin_fwd_tbl_t* const p_tbl )
-{
-       return( p_tbl->size );
-}
-/*
-* PARAMETERS
-*      p_tbl
-*              [in] Pointer to the Forwarding Table object.
-*
-* RETURN VALUE
-*      Returns the number of entries available in the forwarding table.
-*
-* NOTES
-*
-* SEE ALSO
-*********/
-
-/****f* OpenSM: Forwarding Table/osm_lin_fwd_tbl_get_lids_per_block
-* NAME
-*      osm_lin_fwd_tbl_get_lids_per_block
-*
-* DESCRIPTION
-*      Returns the number of LIDs per LID block.
-*
-* SYNOPSIS
-*/
-static inline uint16_t
-osm_lin_fwd_tbl_get_lids_per_block(
-       IN const osm_lin_fwd_tbl_t* const p_tbl )
-{
-       UNUSED_PARAM( p_tbl );
-       return( 64 );
-}
-/*
-* PARAMETERS
-*      p_tbl
-*              [in] Pointer to the Forwarding Table object.
-*
-* RETURN VALUE
-*      Returns the number of LIDs per LID block.
-*
-* NOTES
-*
-* SEE ALSO
-*********/
-
-/****f* OpenSM: Forwarding Table/osm_lin_fwd_tbl_get_max_block_id_in_use
-* NAME
-*      osm_lin_fwd_tbl_get_max_block_id_in_use
-*
-* DESCRIPTION
-*      Returns the maximum block ID in actual use by the forwarding table.
-*
-* SYNOPSIS
-*/
-static inline uint16_t
-osm_lin_fwd_tbl_get_max_block_id_in_use(
-       IN const osm_lin_fwd_tbl_t* const p_tbl,
-       IN const uint16_t lid_top_ho )
-{
-       return( (uint16_t)(lid_top_ho /
-                       osm_lin_fwd_tbl_get_lids_per_block( p_tbl ) ) );
-}
-/*
-* PARAMETERS
-*      p_tbl
-*              [in] Pointer to the Forwarding Table object.
-*
-* RETURN VALUE
-*      Returns the maximum block ID in actual use by the forwarding table.
-*
-* NOTES
-*
-* SEE ALSO
-*********/
-
-/****f* OpenSM: Forwarding Table/osm_lin_fwd_tbl_set_block
-* NAME
-*      osm_lin_fwd_tbl_set_block
-*
-* DESCRIPTION
-*      Copies the specified block into the Linear Forwarding Table.
-*
-* SYNOPSIS
-*/
-static inline ib_api_status_t
-osm_lin_fwd_tbl_set_block(
-       IN osm_lin_fwd_tbl_t* const p_tbl,
-       IN const uint8_t* const p_block,
-       IN const uint32_t block_num )
-{
-       uint16_t lid_start;
-       uint16_t num_lids;
-
-       CL_ASSERT( p_tbl );
-       CL_ASSERT( p_block );
-
-       num_lids = osm_lin_fwd_tbl_get_lids_per_block( p_tbl );
-       lid_start = (uint16_t)(block_num * num_lids);
-
-       if( lid_start + num_lids > p_tbl->size )
-               return( IB_INVALID_PARAMETER );
-
-       memcpy( &p_tbl->port_tbl[lid_start], p_block, num_lids );
-       return( IB_SUCCESS );
-}
-/*
-* PARAMETERS
-*      p_tbl
-*              [in] Pointer to the Linear Forwarding Table object.
-*
-*      p_block
-*              [in] Pointer to the Forwarding Table block.
-*
-*      block_num
-*              [in] Block number of this block.
-*
-* RETURN VALUE
-*      None.
-*
-* NOTES
-*
-* SEE ALSO
-*********/
-
-END_C_DECLS
-
-#endif         /* _OSM_LIN_FWD_TBL_H_ */
-
diff --git a/ulp/opensm/user/include/opensm/osm_link_mgr.h b/ulp/opensm/user/include/opensm/osm_link_mgr.h
deleted file mode 100644 (file)
index c61b8a1..0000000
+++ /dev/null
@@ -1,271 +0,0 @@
-/*
- * Copyright (c) 2004-2006 Voltaire, Inc. All rights reserved.
- * Copyright (c) 2002-2006 Mellanox Technologies LTD. All rights reserved.
- * Copyright (c) 1996-2003 Intel Corporation. All rights reserved.
- *
- * This software is available to you under the OpenIB.org BSD license
- * below:
- *
- *     Redistribution and use in source and binary forms, with or
- *     without modification, are permitted provided that the following
- *     conditions are met:
- *
- *      - Redistributions of source code must retain the above
- *        copyright notice, this list of conditions and the following
- *        disclaimer.
- *
- *      - Redistributions in binary form must reproduce the above
- *        copyright notice, this list of conditions and the following
- *        disclaimer in the documentation and/or other materials
- *        provided with the distribution.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
- * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
- * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
- * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS
- * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
- * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
- * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- * SOFTWARE.
- *
- * $Id$
- */
-
-
-/*
- * Abstract:
- *     Declaration of osm_link_mgr_t.
- *     This object represents the Link Manager object.
- *     This object is part of the OpenSM family of objects.
- *
- * Environment:
- *     Linux User Mode
- *
- * $Revision: 1.4 $
- */
-
-#ifndef _OSM_LINK_MGR_H_
-#define _OSM_LINK_MGR_H_
-
-#include <complib/cl_passivelock.h>
-#include <opensm/osm_base.h>
-#include <opensm/osm_madw.h>
-#include <opensm/osm_req.h>
-#include <opensm/osm_subnet.h>
-#include <opensm/osm_log.h>
-
-#ifdef __cplusplus
-#  define BEGIN_C_DECLS extern "C" {
-#  define END_C_DECLS   }
-#else /* !__cplusplus */
-#  define BEGIN_C_DECLS
-#  define END_C_DECLS
-#endif /* __cplusplus */
-
-BEGIN_C_DECLS
-
-/****h* OpenSM/Link Manager
-* NAME
-*      Link Manager
-*
-* DESCRIPTION
-*      The Link Manager object encapsulates the information
-*      needed to control unicast LID forwarding on the subnet.
-*
-*      The Link Manager object is thread safe.
-*
-*      This object should be treated as opaque and should be
-*      manipulated only through the provided functions.
-*
-* AUTHOR
-*      Steve King, Intel
-*
-*********/
-
-/****s* OpenSM: Link Manager/osm_link_mgr_t
-* NAME
-*      osm_link_mgr_t
-*
-* DESCRIPTION
-*      Link Manager structure.
-*
-*      This object should be treated as opaque and should
-*      be manipulated only through the provided functions.
-*
-* SYNOPSIS
-*/
-typedef struct _osm_link_mgr
-{
-       osm_subn_t                                      *p_subn;
-       osm_req_t                                       *p_req;
-       osm_log_t                                       *p_log;
-       cl_plock_t                                      *p_lock;
-   boolean_t               send_set_reqs;
-
-} osm_link_mgr_t;
-/*
-* FIELDS
-*      p_subn
-*              Pointer to the Subnet object for this subnet.
-*
-*      p_req
-*              Pointer to the Requester object sending SMPs.
-*
-*      p_log
-*              Pointer to the log object.
-*
-*      p_lock
-*              Pointer to the serializing lock.
-*
-* SEE ALSO
-*      Link Manager object
-*********/
-
-/****f* OpenSM: Link Manager/osm_link_mgr_construct
-* NAME
-*      osm_link_mgr_construct
-*
-* DESCRIPTION
-*      This function constructs a Link Manager object.
-*
-* SYNOPSIS
-*/
-void
-osm_link_mgr_construct(
-       IN osm_link_mgr_t* const p_mgr );
-/*
-* PARAMETERS
-*      p_mgr
-*              [in] Pointer to a Link Manager object to construct.
-*
-* RETURN VALUE
-*      This function does not return a value.
-*
-* NOTES
-*      Allows osm_link_mgr_destroy
-*
-*      Calling osm_link_mgr_construct is a prerequisite to calling any other
-*      method except osm_link_mgr_init.
-*
-* SEE ALSO
-*      Link Manager object, osm_link_mgr_init,
-*      osm_link_mgr_destroy
-*********/
-
-/****f* OpenSM: Link Manager/osm_link_mgr_destroy
-* NAME
-*      osm_link_mgr_destroy
-*
-* DESCRIPTION
-*      The osm_link_mgr_destroy function destroys the object, releasing
-*      all resources.
-*
-* SYNOPSIS
-*/
-void
-osm_link_mgr_destroy(
-       IN osm_link_mgr_t* const p_mgr );
-/*
-* PARAMETERS
-*      p_mgr
-*              [in] Pointer to the object to destroy.
-*
-* RETURN VALUE
-*      This function does not return a value.
-*
-* NOTES
-*      Performs any necessary cleanup of the specified
-*      Link Manager object.
-*      Further operations should not be attempted on the destroyed object.
-*      This function should only be called after a call to
-*      osm_link_mgr_construct or osm_link_mgr_init.
-*
-* SEE ALSO
-*      Link Manager object, osm_link_mgr_construct,
-*      osm_link_mgr_init
-*********/
-
-/****f* OpenSM: Link Manager/osm_link_mgr_init
-* NAME
-*      osm_link_mgr_init
-*
-* DESCRIPTION
-*      The osm_link_mgr_init function initializes a
-*      Link Manager object for use.
-*
-* SYNOPSIS
-*/
-ib_api_status_t
-osm_link_mgr_init(
-       IN osm_link_mgr_t* const p_mgr,
-       IN osm_req_t* const p_req,
-       IN osm_subn_t* const p_subn,
-       IN osm_log_t* const p_log,
-       IN cl_plock_t* const p_lock );
-/*
-* PARAMETERS
-*      p_mgr
-*              [in] Pointer to an osm_link_mgr_t object to initialize.
-*
-*      p_req
-*              [in] Pointer to the attribute Requester object.
-*
-*      p_subn
-*              [in] Pointer to the Subnet object for this subnet.
-*
-*      p_log
-*              [in] Pointer to the log object.
-*
-*      p_lock
-*              [in] Pointer to the OpenSM serializing lock.
-*
-* RETURN VALUES
-*      IB_SUCCESS if the Link Manager object was initialized
-*      successfully.
-*
-* NOTES
-*      Allows calling other Link Manager methods.
-*
-* SEE ALSO
-*      Link Manager object, osm_link_mgr_construct,
-*      osm_link_mgr_destroy
-*********/
-
-/****f* OpenSM: Link Manager/osm_link_mgr_process
-* NAME
-*      osm_link_mgr_process
-*
-* DESCRIPTION
-*      Processes all ports in the subnet per the link manager command.
-*
-* SYNOPSIS
-*/
-osm_signal_t
-osm_link_mgr_process(
-       IN osm_link_mgr_t* const p_mgr,
-       IN const uint8_t link_state );
-/*
-* PARAMETERS
-*      p_mgr
-*              [in] Pointer to an osm_link_mgr_t object.
-*
-*      link_state
-*              [in] state to which to the set the port.
-*
-*
-* RETURN VALUES
-*      Returns the appropriate signal to the caller:
-*              OSM_SIGNAL_DONE - operation is complete
-*              OSM_SIGNAL_DONE_PENDING - local operations are complete, but
-*                      transactions are still pending on the wire.
-*
-* NOTES
-*
-* SEE ALSO
-*      Link Manager, Node Info Response Controller
-*********/
-       
-END_C_DECLS
-
-#endif /* _OSM_LINK_MGR_H_ */
-
diff --git a/ulp/opensm/user/include/opensm/osm_matrix.h b/ulp/opensm/user/include/opensm/osm_matrix.h
deleted file mode 100644 (file)
index a6de385..0000000
+++ /dev/null
@@ -1,454 +0,0 @@
-/*
- * Copyright (c) 2004-2006 Voltaire, Inc. All rights reserved.
- * Copyright (c) 2002-2006 Mellanox Technologies LTD. All rights reserved.
- * Copyright (c) 1996-2003 Intel Corporation. All rights reserved.
- *
- * This software is available to you under the OpenIB.org BSD license
- * below:
- *
- *     Redistribution and use in source and binary forms, with or
- *     without modification, are permitted provided that the following
- *     conditions are met:
- *
- *      - Redistributions of source code must retain the above
- *        copyright notice, this list of conditions and the following
- *        disclaimer.
- *
- *      - Redistributions in binary form must reproduce the above
- *        copyright notice, this list of conditions and the following
- *        disclaimer in the documentation and/or other materials
- *        provided with the distribution.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
- * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
- * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
- * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS
- * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
- * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
- * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- * SOFTWARE.
- *
- * $Id$
- */
-
-
-/*
- * Abstract:
- *     Declaration of osm_lid_matrix_t.
- *     This object represents a two dimensional array of port numbers
- *     and LID values.
- *     This object is part of the OpenSM family of objects.
- *
- * Environment:
- *     Linux User Mode
- *
- * $Revision: 1.5 $
- */
-
-
-#ifndef _OSM_MATRIX_H_
-#define _OSM_MATRIX_H_
-
-#include <iba/ib_types.h>
-#include <complib/cl_vector.h>
-#include <opensm/osm_base.h>
-
-#ifdef __cplusplus
-#  define BEGIN_C_DECLS extern "C" {
-#  define END_C_DECLS   }
-#else /* !__cplusplus */
-#  define BEGIN_C_DECLS
-#  define END_C_DECLS
-#endif /* __cplusplus */
-
-BEGIN_C_DECLS
-
-/****h* OpenSM/LID Matrix
-* NAME
-*      LID Matrix
-*
-* DESCRIPTION
-*      The LID Matrix object encapsulates the information needed by the
-*      OpenSM to manage fabric routes.  It is a two dimensional array
-*      index by LID value and Port Number.  Each element contains the
-*      number of hops from that Port Number to the LID.
-*      Every Switch object contains a LID Matrix.
-*
-*      The LID Matrix is not thread safe, thus callers must provide
-*      serialization.
-*
-*      This object should be treated as opaque and should be
-*      manipulated only through the provided functions.
-*
-* AUTHOR
-*      Steve King, Intel
-*
-*********/
-
-/****s* OpenSM: LID Matrix/osm_lid_matrix_t
-* NAME
-*      osm_lid_matrix_t
-*
-* DESCRIPTION
-*
-*      The LID Matrix object encapsulates the information needed by the
-*      OpenSM to manage fabric routes.  It is a two dimensional array
-*      index by LID value and Port Number.  Each element contains the
-*      number of hops from that Port Number to the LID.
-*      Every Switch object contains a LID Matrix.
-*
-*      The LID Matrix is not thread safe, thus callers must provide
-*      serialization.
-*
-*      The num_ports index into the matrix serves a special purpose, in that it
-*      contains the shortest hop path for that LID through any port.
-*
-*      This object should be treated as opaque and should be
-*      manipulated only through the provided functions.
-*
-* SYNOPSIS
-*/
-typedef struct _osm_lid_matrix_t
-{
-       cl_vector_t                     lid_vec;
-       uint8_t                         num_ports;
-
-} osm_lid_matrix_t;
-/*
-* FIELDS
-*      lid_vec
-*              Vector (indexed by LID) of port arrays (indexed by port number)
-*
-*      num_ports
-*              Number of ports at each entry in the LID vector.
-*
-* SEE ALSO
-*********/
-
-/****f* OpenSM: LID Matrix/osm_lid_matrix_construct
-* NAME
-*      osm_lid_matrix_construct
-*
-* DESCRIPTION
-*      This function constructs a LID Matrix object.
-*
-* SYNOPSIS
-*/
-static inline void
-osm_lid_matrix_construct(
-       IN osm_lid_matrix_t* const p_lmx )
-{
-       p_lmx->num_ports = 0;
-       cl_vector_construct( &p_lmx->lid_vec );
-}
-/*
-* PARAMETERS
-*      p_lmx
-*              [in] Pointer to a LID Matrix object to construct.
-*
-* RETURN VALUE
-*      This function does not return a value.
-*
-* NOTES
-*      Allows calling osm_lid_matrix_init, osm_lid_matrix_destroy
-*
-*      Calling osm_lid_matrix_construct is a prerequisite to calling any other
-*      method except osm_lid_matrix_init.
-*
-* SEE ALSO
-*      LID Matrix object, osm_lid_matrix_init, osm_lid_matrix_destroy
-*********/
-
-/****f* OpenSM: LID Matrix/osm_lid_matrix_destroy
-* NAME
-*      osm_lid_matrix_destroy
-*
-* DESCRIPTION
-*      The osm_lid_matrix_destroy function destroys a node, releasing
-*      all resources.
-*
-* SYNOPSIS
-*/
-void osm_lid_matrix_destroy(
-       IN osm_lid_matrix_t* const p_lmx );
-/*
-* PARAMETERS
-*      p_lmx
-*              [in] Pointer to a LID Matrix object to destroy.
-*
-* RETURN VALUE
-*      This function does not return a value.
-*
-* NOTES
-*      Performs any necessary cleanup of the specified LID Matrix object.
-*      Further operations should not be attempted on the destroyed object.
-*      This function should only be called after a call to osm_lid_matrix_construct or
-*      osm_lid_matrix_init.
-*
-* SEE ALSO
-*      LID Matrix object, osm_lid_matrix_construct, osm_lid_matrix_init
-*********/
-
-/****f* OpenSM: LID Matrix/osm_lid_matrix_init
-* NAME
-*      osm_lid_matrix_init
-*
-* DESCRIPTION
-*      Initializes a LID Matrix object for use.
-*
-* SYNOPSIS
-*/
-ib_api_status_t
-osm_lid_matrix_init(
-       IN osm_lid_matrix_t* const p_lmx,
-       IN const uint8_t num_ports );
-/*
-* PARAMETERS
-*      p_lmx
-*              [in] Pointer to an osm_lid_matrix_t object to initialize.
-*
-*      num_ports
-*              [in] Number of ports at each LID index.  This value is fixed
-*              at initialization time.
-*
-* RETURN VALUES
-*      IB_SUCCESS on success
-*
-* NOTES
-*
-* SEE ALSO
-*********/
-
-/****f* OpenSM: LID Matrix/osm_lid_matrix_get
-* NAME
-*      osm_lid_matrix_get
-*
-* DESCRIPTION
-*      Returns the hop count at the specified LID/Port intersection.
-*
-* SYNOPSIS
-*/
-static inline uint8_t
-osm_lid_matrix_get(
-       IN const osm_lid_matrix_t* const p_lmx,
-       IN const uint16_t lid_ho,
-       IN const uint8_t port_num )
-{
-       CL_ASSERT( port_num < p_lmx->num_ports );
-       CL_ASSERT( lid_ho <cl_vector_get_size(&p_lmx->lid_vec) );
-       return( ((uint8_t *)cl_vector_get_ptr(
-                       &p_lmx->lid_vec, lid_ho ))[port_num] );
-}
-/*
-* PARAMETERS
-*      p_lmx
-*              [in] Pointer to an osm_lid_matrix_t object.
-*
-*      lid_ho
-*              [in] LID value (host order) for which to return the hop count
-*
-*      port_num
-*              [in] Port number in the switch
-*
-* RETURN VALUES
-*      Returns the hop count at the specified LID/Port intersection.
-*
-* NOTES
-*
-* SEE ALSO
-*********/
-
-/****f* OpenSM: LID Matrix/osm_lid_matrix_get_max_lid_ho
-* NAME
-*      osm_lid_matrix_get_max_lid_ho
-*
-* DESCRIPTION
-*      Returns the maximum LID (host order) value contained
-*      in the matrix.
-*
-* SYNOPSIS
-*/
-static inline uint16_t
-osm_lid_matrix_get_max_lid_ho(
-       IN const osm_lid_matrix_t* const p_lmx )
-{
-       return( (uint16_t)(cl_vector_get_size( &p_lmx->lid_vec ) - 1 ) );
-}
-/*
-* PARAMETERS
-*      p_lmx
-*              [in] Pointer to an osm_lid_matrix_t object.
-*
-* RETURN VALUES
-*      Returns the maximum LID (host order) value contained
-*      in the matrix.
-*
-* NOTES
-*
-* SEE ALSO
-*********/
-
-/****f* OpenSM: LID Matrix/osm_lid_matrix_get_num_ports
-* NAME
-*      osm_lid_matrix_get_num_ports
-*
-* DESCRIPTION
-*      Returns the number of ports in this lid matrix.
-*
-* SYNOPSIS
-*/
-static inline uint8_t
-osm_lid_matrix_get_num_ports(
-       IN const osm_lid_matrix_t* const p_lmx )
-{
-       return( p_lmx->num_ports );
-}
-/*
-* PARAMETERS
-*      p_lmx
-*              [in] Pointer to an osm_lid_matrix_t object.
-*
-* RETURN VALUES
-*      Returns the number of ports in this lid matrix.
-*
-* NOTES
-*
-* SEE ALSO
-*********/
-
-/****f* OpenSM: LID Matrix/osm_lid_matrix_get_least_hops
-* NAME
-*      osm_lid_matrix_get_least_hops
-*
-* DESCRIPTION
-*      Returns the least number of hops for specified lid
-*
-* SYNOPSIS
-*/
-static inline uint8_t
-osm_lid_matrix_get_least_hops(
-       IN const osm_lid_matrix_t* const p_lmx,
-       IN const uint16_t lid_ho )
-{
-       if( lid_ho > osm_lid_matrix_get_max_lid_ho( p_lmx ) )
-               return( OSM_NO_PATH );
-
-       return( ((uint8_t *)cl_vector_get_ptr(
-                       &p_lmx->lid_vec, lid_ho ))[p_lmx->num_ports] );
-}
-/*
-* PARAMETERS
-*      p_lmx
-*              [in] Pointer to an osm_lid_matrix_t object.
-*
-*      lid_ho
-*              [in] LID (host order) for which to retrieve the shortest hop count.
-*
-* RETURN VALUES
-*      Returns the least number of hops for specified lid
-*
-* NOTES
-*
-* SEE ALSO
-*********/
-
-/****f* OpenSM: LID Matrix/osm_lid_matrix_set
-* NAME
-*      osm_lid_matrix_set
-*
-* DESCRIPTION
-*      Sets the hop count at the specified LID/Port intersection.
-*
-* SYNOPSIS
-*/
-cl_status_t
-osm_lid_matrix_set(
-       IN osm_lid_matrix_t* const p_lmx,
-       IN const uint16_t lid_ho,
-       IN const uint8_t port_num,
-       IN const uint8_t val );
-/*
-* PARAMETERS
-*      p_lmx
-*              [in] Pointer to an osm_lid_matrix_t object.
-*
-*      lid_ho
-*              [in] LID value (host order) to index into the vector.
-*
-*      port_num
-*              [in] port number index into the vector entry.
-*
-*      val
-*              [in] value (number of hops) to assign to this entry.
-*
-* RETURN VALUES
-*      Returns the hop count at the specified LID/Port intersection.
-*
-* NOTES
-*
-* SEE ALSO
-*********/
-
-/****f* OpenSM: LID Matrix/osm_lid_matrix_set_min_lid_size
-* NAME
-*      osm_lid_matrix_set_min_lid_size
-*
-* DESCRIPTION
-*      Sets the size of the matrix to at least accomodate the
-*      specified LID value (host ordered)
-*
-* SYNOPSIS
-*/
-static inline cl_status_t
-osm_lid_matrix_set_min_lid_size(
-       IN osm_lid_matrix_t* const p_lmx,
-       IN const uint16_t lid_ho )
-{
-       return( cl_vector_set_min_size( &p_lmx->lid_vec, lid_ho + 1 ) );
-}
-/*
-* PARAMETERS
-*      p_lmx
-*              [in] Pointer to an osm_lid_matrix_t object.
-*
-*      lid_ho
-*              [in] Minimum LID value (host order) to accomodate.
-*
-* RETURN VALUES
-*      Sets the size of the matrix to at least accomodate the
-*      specified LID value (host ordered)
-*
-* NOTES
-*
-* SEE ALSO
-*********/
-
-/****f* OpenSM: LID Matrix/osm_lid_matrix_clear
-* NAME
-*      osm_lid_matrix_clear
-*
-* DESCRIPTION
-*      Clears a LID Matrix object in anticipation of a rebuild.
-*
-* SYNOPSIS
-*/
-void
-osm_lid_matrix_clear(
-       IN osm_lid_matrix_t* const p_lmx );
-/*
-* PARAMETERS
-*      p_lmx
-*              [in] Pointer to an osm_lid_matrix_t object to clear.
-*
-* RETURN VALUES
-*      None.
-*
-* NOTES
-*
-* SEE ALSO
-*********/
-
-END_C_DECLS
-
-#endif         /* _OSM_MATRIX_H_ */
-
diff --git a/ulp/opensm/user/include/opensm/osm_mcast_fwd_rcv.h b/ulp/opensm/user/include/opensm/osm_mcast_fwd_rcv.h
deleted file mode 100644 (file)
index 0a81216..0000000
+++ /dev/null
@@ -1,259 +0,0 @@
-/*
- * Copyright (c) 2004-2006 Voltaire, Inc. All rights reserved.
- * Copyright (c) 2002-2006 Mellanox Technologies LTD. All rights reserved.
- * Copyright (c) 1996-2003 Intel Corporation. All rights reserved.
- *
- * This software is available to you under the OpenIB.org BSD license
- * below:
- *
- *     Redistribution and use in source and binary forms, with or
- *     without modification, are permitted provided that the following
- *     conditions are met:
- *
- *      - Redistributions of source code must retain the above
- *        copyright notice, this list of conditions and the following
- *        disclaimer.
- *
- *      - Redistributions in binary form must reproduce the above
- *        copyright notice, this list of conditions and the following
- *        disclaimer in the documentation and/or other materials
- *        provided with the distribution.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
- * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
- * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
- * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS
- * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
- * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
- * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- * SOFTWARE.
- *
- * $Id$
- */
-
-
-/*
- * Abstract:
- *     Declaration of osm_mft_rcv_t.
- *     This object represents the Multicast Forwarding Table Receiver object.
- *     This object is part of the OpenSM family of objects.
- *
- * Environment:
- *     Linux User Mode
- *
- * $Revision: 1.4 $
- */
-
-#ifndef _OSM_MFT_RCV_H_
-#define _OSM_MFT_RCV_H_
-
-#include <complib/cl_passivelock.h>
-#include <opensm/osm_base.h>
-#include <opensm/osm_madw.h>
-#include <opensm/osm_subnet.h>
-#include <opensm/osm_log.h>
-
-#ifdef __cplusplus
-#  define BEGIN_C_DECLS extern "C" {
-#  define END_C_DECLS   }
-#else /* !__cplusplus */
-#  define BEGIN_C_DECLS
-#  define END_C_DECLS
-#endif /* __cplusplus */
-
-BEGIN_C_DECLS
-
-/****h* OpenSM/MFT Receiver
-* NAME
-*      MFT Receiver
-*
-* DESCRIPTION
-*      The MFT Receiver object encapsulates the information
-*      needed to receive the MFT attribute from a node.
-*
-*      The MFT Receiver object is thread safe.
-*
-*      This object should be treated as opaque and should be
-*      manipulated only through the provided functions.
-*
-* AUTHOR
-*      Steve King, Intel
-*
-*********/
-
-/****s* OpenSM: MFT Receiver/osm_mft_rcv_t
-* NAME
-*      osm_mft_rcv_t
-*
-* DESCRIPTION
-*      MFT Receiver structure.
-*
-*      This object should be treated as opaque and should
-*      be manipulated only through the provided functions.
-*
-* SYNOPSIS
-*/
-typedef struct _osm_mft_rcv
-{
-       osm_subn_t                                      *p_subn;
-       osm_log_t                                       *p_log;
-       cl_plock_t                                      *p_lock;
-
-} osm_mft_rcv_t;
-/*
-* FIELDS
-*      p_subn
-*              Pointer to the Subnet object for this subnet.
-*
-*      p_log
-*              Pointer to the log object.
-*
-*      p_lock
-*              Pointer to the serializing lock.
-*
-* SEE ALSO
-*      MFT Receiver object
-*********/
-
-/****f* OpenSM: MFT Receiver/osm_mft_rcv_construct
-* NAME
-*      osm_mft_rcv_construct
-*
-* DESCRIPTION
-*      This function constructs a MFT Receiver object.
-*
-* SYNOPSIS
-*/
-void
-osm_mft_rcv_construct(
-       IN osm_mft_rcv_t* const p_rcv );
-/*
-* PARAMETERS
-*      p_rcv
-*              [in] Pointer to a MFT Receiver object to construct.
-*
-* RETURN VALUE
-*      This function does not return a value.
-*
-* NOTES
-*      Allows calling osm_mft_rcv_init, osm_mft_rcv_destroy
-*
-*      Calling osm_mft_rcv_construct is a prerequisite to calling any other
-*      method except osm_mft_rcv_init.
-*
-* SEE ALSO
-*      MFT Receiver object, osm_mft_rcv_init,
-*      osm_mft_rcv_destroy
-*********/
-
-/****f* OpenSM: MFT Receiver/osm_mft_rcv_destroy
-* NAME
-*      osm_mft_rcv_destroy
-*
-* DESCRIPTION
-*      The osm_mft_rcv_destroy function destroys the object, releasing
-*      all resources.
-*
-* SYNOPSIS
-*/
-void
-osm_mft_rcv_destroy(
-       IN osm_mft_rcv_t* const p_rcv );
-/*
-* PARAMETERS
-*      p_rcv
-*              [in] Pointer to the object to destroy.
-*
-* RETURN VALUE
-*      This function does not return a value.
-*
-* NOTES
-*      Performs any necessary cleanup of the specified
-*      MFT Receiver object.
-*      Further operations should not be attempted on the destroyed object.
-*      This function should only be called after a call to
-*      osm_mft_rcv_construct or osm_mft_rcv_init.
-*
-* SEE ALSO
-*      MFT Receiver object, osm_mft_rcv_construct,
-*      osm_mft_rcv_init
-*********/
-
-/****f* OpenSM: MFT Receiver/osm_mft_rcv_init
-* NAME
-*      osm_mft_rcv_init
-*
-* DESCRIPTION
-*      The osm_mft_rcv_init function initializes a
-*      MFT Receiver object for use.
-*
-* SYNOPSIS
-*/
-ib_api_status_t
-osm_mft_rcv_init(
-       IN osm_mft_rcv_t* const p_rcv,
-       IN osm_subn_t* const p_subn,
-       IN osm_log_t* const p_log,
-       IN cl_plock_t* const p_lock );
-/*
-* PARAMETERS
-*      p_rcv
-*              [in] Pointer to an osm_mft_rcv_t object to initialize.
-*
-*      p_subn
-*              [in] Pointer to the Subnet object for this subnet.
-*
-*      p_log
-*              [in] Pointer to the log object.
-*
-*      p_lock
-*              [in] Pointer to the OpenSM serializing lock.
-*
-* RETURN VALUES
-*      CL_SUCCESS if the MFT Receiver object was initialized
-*      successfully.
-*
-* NOTES
-*      Allows calling other MFT Receiver methods.
-*
-* SEE ALSO
-*      MFT Receiver object, osm_mft_rcv_construct,
-*      osm_mft_rcv_destroy
-*********/
-
-/****f* OpenSM: MFT Receiver/osm_mft_rcv_process
-* NAME
-*      osm_mft_rcv_process
-*
-* DESCRIPTION
-*      Process the MFT attribute.
-*
-* SYNOPSIS
-*/
-void
-osm_mft_rcv_process(
-       IN const osm_mft_rcv_t* const p_rcv,
-       IN osm_madw_t* const p_madw );
-/*
-* PARAMETERS
-*      p_rcv
-*              [in] Pointer to an osm_mft_rcv_t object.
-*
-*      p_madw
-*              [in] Pointer to the MAD Wrapper containing the MAD
-*              that contains the node's MFT attribute.
-*
-* RETURN VALUES
-*      CL_SUCCESS if the MFT processing was successful.
-*
-* NOTES
-*      This function processes a MFT attribute.
-*
-* SEE ALSO
-*      MFT Receiver, Node Description Response Controller
-*********/
-
-END_C_DECLS
-
-#endif /* _OSM_MFT_RCV_H_ */
-
diff --git a/ulp/opensm/user/include/opensm/osm_mcast_fwd_rcv_ctrl.h b/ulp/opensm/user/include/opensm/osm_mcast_fwd_rcv_ctrl.h
deleted file mode 100644 (file)
index c664ecb..0000000
+++ /dev/null
@@ -1,235 +0,0 @@
-/*
- * Copyright (c) 2004-2006 Voltaire, Inc. All rights reserved.
- * Copyright (c) 2002-2006 Mellanox Technologies LTD. All rights reserved.
- * Copyright (c) 1996-2003 Intel Corporation. All rights reserved.
- *
- * This software is available to you under the OpenIB.org BSD license
- * below:
- *
- *     Redistribution and use in source and binary forms, with or
- *     without modification, are permitted provided that the following
- *     conditions are met:
- *
- *      - Redistributions of source code must retain the above
- *        copyright notice, this list of conditions and the following
- *        disclaimer.
- *
- *      - Redistributions in binary form must reproduce the above
- *        copyright notice, this list of conditions and the following
- *        disclaimer in the documentation and/or other materials
- *        provided with the distribution.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
- * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
- * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
- * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS
- * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
- * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
- * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- * SOFTWARE.
- *
- * $Id$
- */
-
-
-/*
- * Abstract:
- *     Declaration of osm_mft_rcv_ctrl_t.
- *     This object represents a controller that receives the IBA
- *  Multicast Forwarding Table attribute from a node (specifically, a
- *     switch).
- *     This object is part of the OpenSM family of objects.
- *
- * Environment:
- *     Linux User Mode
- *
- * $Revision: 1.4 $
- */
-
-#ifndef _OSM_MFT_RCV_CTRL_H_
-#define _OSM_MFT_RCV_CTRL_H_
-
-#include <complib/cl_dispatcher.h>
-#include <opensm/osm_base.h>
-#include <opensm/osm_madw.h>
-#include <opensm/osm_mcast_fwd_rcv.h>
-#include <opensm/osm_log.h>
-
-#ifdef __cplusplus
-#  define BEGIN_C_DECLS extern "C" {
-#  define END_C_DECLS   }
-#else /* !__cplusplus */
-#  define BEGIN_C_DECLS
-#  define END_C_DECLS
-#endif /* __cplusplus */
-
-BEGIN_C_DECLS
-
-/****h* OpenSM/MFT Receive Controller
-* NAME
-*      MFT Receive Controller
-*
-* DESCRIPTION
-*      The MFT Receive Controller object
-*      encapsulates the information
-*      needed to receive the Multicast Forwarding Table
-*      attribute from a node.
-*
-*      The MFT Receive Controller object is thread safe.
-*
-*      This object should be treated as opaque and should be
-*      manipulated only through the provided functions.
-*
-* AUTHOR
-*      Steve King, Intel
-*
-*********/
-
-/****s* OpenSM: MFT Receive Controller/osm_mft_rcv_ctrl_t
-* NAME
-*      osm_mft_rcv_ctrl_t
-*
-* DESCRIPTION
-*      MFT Receive Controller structure.
-*
-*      This object should be treated as opaque and should
-*      be manipulated only through the provided functions.
-*
-* SYNOPSIS
-*/
-typedef struct _osm_mft_rcv_ctrl
-{
-       osm_mft_rcv_t                           *p_rcv;
-       osm_log_t                                       *p_log;
-       cl_dispatcher_t                         *p_disp;
-       cl_disp_reg_handle_t            h_disp;
-
-} osm_mft_rcv_ctrl_t;
-/*
-* FIELDS
-*      p_rcv
-*              Pointer to the MFT Receiver object.
-*
-*      p_log
-*              Pointer to the log object.
-*
-*      p_disp
-*              Pointer to the Dispatcher.
-*
-*      h_disp
-*              Handle returned from dispatcher registration.
-*
-* SEE ALSO
-*      MFT Receive Controller object
-*********/
-
-/****f* OpenSM: MFT Receive Controller/osm_mft_rcv_ctrl_construct
-* NAME
-*      osm_mft_rcv_ctrl_construct
-*
-* DESCRIPTION
-*      This function constructs a MFT Receive Controller object.
-*
-* SYNOPSIS
-*/
-void
-osm_mft_rcv_ctrl_construct(
-       IN osm_mft_rcv_ctrl_t* const p_ctrl );
-/*
-* PARAMETERS
-*      p_ctrl
-*              [in] Pointer to a MFT Receive Controller object to construct.
-*
-* RETURN VALUE
-*      This function does not return a value.
-*
-* NOTES
-*      Allows calling osm_mft_rcv_ctrl_init, osm_mft_rcv_ctrl_destroy
-*
-*      Calling osm_mft_rcv_ctrl_construct is a prerequisite to calling any other
-*      method except osm_mft_rcv_ctrl_init.
-*
-* SEE ALSO
-*      MFT Receive Controller object, osm_mft_rcv_ctrl_init,
-*      osm_mft_rcv_ctrl_destroy
-*********/
-
-/****f* OpenSM: MFT Receive Controller/osm_mft_rcv_ctrl_destroy
-* NAME
-*      osm_mft_rcv_ctrl_destroy
-*
-* DESCRIPTION
-*      The osm_mft_rcv_ctrl_destroy function destroys the object, releasing
-*      all resources.
-*
-* SYNOPSIS
-*/
-void
-osm_mft_rcv_ctrl_destroy(
-       IN osm_mft_rcv_ctrl_t* const p_ctrl );
-/*
-* PARAMETERS
-*      p_ctrl
-*              [in] Pointer to the object to destroy.
-*
-* RETURN VALUE
-*      This function does not return a value.
-*
-* NOTES
-*      Performs any necessary cleanup of the specified
-*      MFT Receive Controller object.
-*      Further operations should not be attempted on the destroyed object.
-*      This function should only be called after a call to
-*      osm_mft_rcv_ctrl_construct or osm_mft_rcv_ctrl_init.
-*
-* SEE ALSO
-*      MFT Receive Controller object, osm_mft_rcv_ctrl_construct,
-*      osm_mft_rcv_ctrl_init
-*********/
-
-/****f* OpenSM: MFT Receive Controller/osm_mft_rcv_ctrl_init
-* NAME
-*      osm_mft_rcv_ctrl_init
-*
-* DESCRIPTION
-*      The osm_mft_rcv_ctrl_init function initializes a
-*      MFT Receive Controller object for use.
-*
-* SYNOPSIS
-*/
-ib_api_status_t
-osm_mft_rcv_ctrl_init(
-       IN osm_mft_rcv_ctrl_t* const p_ctrl,
-       IN osm_mft_rcv_t* const p_rcv,
-       IN osm_log_t* const p_log,
-       IN cl_dispatcher_t* const p_disp );
-/*
-* PARAMETERS
-*      p_ctrl
-*              [in] Pointer to an osm_mft_rcv_ctrl_t object to initialize.
-*
-*      p_rcv
-*              [in] Pointer to an osm_mft_rcv_t object.
-*
-*      p_log
-*              [in] Pointer to the log object.
-*
-*      p_disp
-*              [in] Pointer to the OpenSM central Dispatcher.
-*
-* RETURN VALUES
-*      CL_SUCCESS if the MFT Receive Controller object was initialized
-*      successfully.
-*
-* NOTES
-*      Allows calling other MFT Receive Controller methods.
-*
-* SEE ALSO
-*      MFT Receive Controller object, osm_mft_rcv_ctrl_construct,
-*      osm_mft_rcv_ctrl_destroy
-*********/
-
-END_C_DECLS
-
-#endif         /* OSM_MFT_RCV_CTRL_H_ */
-
diff --git a/ulp/opensm/user/include/opensm/osm_mcast_mgr.h b/ulp/opensm/user/include/opensm/osm_mcast_mgr.h
deleted file mode 100644 (file)
index c975b96..0000000
+++ /dev/null
@@ -1,339 +0,0 @@
-/*
- * Copyright (c) 2004-2006 Voltaire, Inc. All rights reserved.
- * Copyright (c) 2002-2006 Mellanox Technologies LTD. All rights reserved.
- * Copyright (c) 1996-2003 Intel Corporation. All rights reserved.
- *
- * This software is available to you under the OpenIB.org BSD license
- * below:
- *
- *     Redistribution and use in source and binary forms, with or
- *     without modification, are permitted provided that the following
- *     conditions are met:
- *
- *      - Redistributions of source code must retain the above
- *        copyright notice, this list of conditions and the following
- *        disclaimer.
- *
- *      - Redistributions in binary form must reproduce the above
- *        copyright notice, this list of conditions and the following
- *        disclaimer in the documentation and/or other materials
- *        provided with the distribution.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
- * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
- * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
- * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS
- * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
- * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
- * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- * SOFTWARE.
- *
- * $Id$
- */
-
-
-/*
- * Abstract:
- *     Declaration of osm_mcast_mgr_t.
- *     This object represents the Multicast Manager object.
- *     This object is part of the OpenSM family of objects.
- *
- * Environment:
- *     Linux User Mode
- *
- * $Revision: 1.4 $
- */
-
-#ifndef _OSM_MCAST_MGR_H_
-#define _OSM_MCAST_MGR_H_
-
-#include <complib/cl_passivelock.h>
-#include <opensm/osm_base.h>
-#include <opensm/osm_madw.h>
-#include <opensm/osm_req.h>
-#include <opensm/osm_subnet.h>
-#include <opensm/osm_log.h>
-#include <opensm/osm_multicast.h>
-
-#ifdef __cplusplus
-#  define BEGIN_C_DECLS extern "C" {
-#  define END_C_DECLS   }
-#else /* !__cplusplus */
-#  define BEGIN_C_DECLS
-#  define END_C_DECLS
-#endif /* __cplusplus */
-
-BEGIN_C_DECLS
-
-#define OSM_MCAST_MGR_LIST_SIZE_MIN 256
-
-/****h* OpenSM/Multicast Manager
-* NAME
-*      Multicast Manager
-*
-* DESCRIPTION
-*      The Multicast Manager object encapsulates the information
-*      needed to control multicast LID forwarding on the subnet.
-*
-*      The Multicast Manager object is thread safe.
-*
-*      This object should be treated as opaque and should be
-*      manipulated only through the provided functions.
-*
-* AUTHOR
-*      Steve King, Intel
-*
-*********/
-
-/****s* OpenSM: Multicast Manager/osm_mcast_mgr_t
-* NAME
-*      osm_mcast_mgr_t
-*
-* DESCRIPTION
-*      Multicast Manager structure.
-*
-*      This object should be treated as opaque and should
-*      be manipulated only through the provided functions.
-*
-* SYNOPSIS
-*/
-typedef struct _osm_mcast_mgr
-{
-       osm_subn_t                                      *p_subn;
-       osm_req_t                                       *p_req;
-       osm_log_t                                       *p_log;
-       cl_plock_t                                      *p_lock;
-
-} osm_mcast_mgr_t;
-/*
-* FIELDS
-*      p_subn
-*              Pointer to the Subnet object for this subnet.
-*
-*      p_req
-*              Pointer to the Requester object sending SMPs.
-*
-*      p_log
-*              Pointer to the log object.
-*
-*      p_lock
-*              Pointer to the serializing lock.
-*
-* SEE ALSO
-*      Multicast Manager object
-*********/
-
-/****f* OpenSM: Multicast Manager/osm_mcast_mgr_construct
-* NAME
-*      osm_mcast_mgr_construct
-*
-* DESCRIPTION
-*      This function constructs a Multicast Manager object.
-*
-* SYNOPSIS
-*/
-void
-osm_mcast_mgr_construct(
-       IN osm_mcast_mgr_t* const p_mgr );
-/*
-* PARAMETERS
-*      p_mgr
-*              [in] Pointer to a Multicast Manager object to construct.
-*
-* RETURN VALUE
-*      This function does not return a value.
-*
-* NOTES
-*      Allows osm_mcast_mgr_destroy
-*
-*      Calling osm_mcast_mgr_construct is a prerequisite to calling any other
-*      method except osm_mcast_mgr_init.
-*
-* SEE ALSO
-*      Multicast Manager object, osm_mcast_mgr_init,
-*      osm_mcast_mgr_destroy
-*********/
-
-/****f* OpenSM: Multicast Manager/osm_mcast_mgr_destroy
-* NAME
-*      osm_mcast_mgr_destroy
-*
-* DESCRIPTION
-*      The osm_mcast_mgr_destroy function destroys the object, releasing
-*      all resources.
-*
-* SYNOPSIS
-*/
-void
-osm_mcast_mgr_destroy(
-       IN osm_mcast_mgr_t* const p_mgr );
-/*
-* PARAMETERS
-*      p_mgr
-*              [in] Pointer to the object to destroy.
-*
-* RETURN VALUE
-*      This function does not return a value.
-*
-* NOTES
-*      Performs any necessary cleanup of the specified
-*      Multicast Manager object.
-*      Further operations should not be attempted on the destroyed object.
-*      This function should only be called after a call to
-*      osm_mcast_mgr_construct or osm_mcast_mgr_init.
-*
-* SEE ALSO
-*      Multicast Manager object, osm_mcast_mgr_construct,
-*      osm_mcast_mgr_init
-*********/
-
-/****f* OpenSM: Multicast Manager/osm_mcast_mgr_init
-* NAME
-*      osm_mcast_mgr_init
-*
-* DESCRIPTION
-*      The osm_mcast_mgr_init function initializes a
-*      Multicast Manager object for use.
-*
-* SYNOPSIS
-*/
-ib_api_status_t
-osm_mcast_mgr_init(
-       IN osm_mcast_mgr_t* const p_mgr,
-       IN osm_req_t* const p_req,
-       IN osm_subn_t* const p_subn,
-       IN osm_log_t* const p_log,
-       IN cl_plock_t* const p_lock );
-/*
-* PARAMETERS
-*      p_mgr
-*              [in] Pointer to an osm_mcast_mgr_t object to initialize.
-*
-*      p_req
-*              [in] Pointer to the attribute Requester object.
-*
-*      p_subn
-*              [in] Pointer to the Subnet object for this subnet.
-*
-*      p_log
-*              [in] Pointer to the log object.
-*
-*      p_lock
-*              [in] Pointer to the OpenSM serializing lock.
-*
-* RETURN VALUES
-*      IB_SUCCESS if the Multicast Manager object was initialized
-*      successfully.
-*
-* NOTES
-*      Allows calling other Multicast Manager methods.
-*
-* SEE ALSO
-*      Multicast Manager object, osm_mcast_mgr_construct,
-*      osm_mcast_mgr_destroy
-*********/
-
-/****f* OpenSM: Multicast Manager/osm_mcast_mgr_process
-* NAME
-*      osm_mcast_mgr_process
-*
-* DESCRIPTION
-*      Process and configure the subnet's multicast forwarding tables.
-*
-* SYNOPSIS
-*/
-osm_signal_t
-osm_mcast_mgr_process(
-       IN osm_mcast_mgr_t* const p_mgr );
-/*
-* PARAMETERS
-*      p_mgr
-*              [in] Pointer to an osm_mcast_mgr_t object.
-*
-* RETURN VALUES
-*      Returns the appropriate signal to the caller:
-*              OSM_SIGNAL_DONE - operation is complete
-*              OSM_SIGNAL_DONE_PENDING - local operations are complete, but
-*                      transactions are still pending on the wire.
-*
-* NOTES
-*      This function processes the subnet, configuring switch
-*      multicast forwarding tables.
-*
-* SEE ALSO
-*      Multicast Manager, Node Info Response Controller
-*********/
-
-/****f* OpenSM: Multicast Manager/osm_mcast_mgr_process_mgrp_cb
-* NAME
-*      osm_mcast_mgr_process_mgrp_cb
-*
-* DESCRIPTION
-*      Callback entry point for the osm_mcast_mgr_process_mgrp function.
-*
-* SYNOPSIS
-*/
-osm_signal_t
-osm_mcast_mgr_process_mgrp_cb(
-       IN void*                                        const Context1,
-       IN void*                                        const Context2 );
-/*
-* PARAMETERS
-*      (Context1) p_mgr
-*              [in] Pointer to an osm_mcast_mgr_t object.
-*
-*      (Context2) p_mgrp
-*              [in] Pointer to the multicast group to process.
-*
-* RETURN VALUES
-*      IB_SUCCESS
-*
-* NOTES
-*
-* SEE ALSO
-*********/
-
-/****f* OpenSM: Multicast Manager/osm_mcast_mgr_process
-* NAME
-*      osm_mcast_mgr_process_single
-*
-* DESCRIPTION
-*      Attempts to add a single port to an existing multicast spanning tree.
-*      This function can only succeed if the port to be added is connected
-*      to a switch that is already routing traffic for this multicast group.
-*
-* SYNOPSIS
-*/
-ib_api_status_t
-osm_mcast_mgr_process_single(
-       IN osm_mcast_mgr_t* const p_mgr,
-       IN const ib_net16_t mlid,
-       IN const ib_net64_t port_guid,
-       IN const uint8_t join_state );
-/*
-* PARAMETERS
-*      p_mgr
-*              [in] Pointer to an osm_mcast_mgr_t object.
-*
-*      mlid
-*              [in] Multicast LID of relevent multicast group.
-*
-*      port_guid
-*              [in] GUID of port to attempt to add to the group.
-*
-*      join_state
-*              [in] Specifies the join state for this port per the spec.
-*
-* RETURN VALUES
-*      IB_SUCCESS
-*      IB_NOT_DONE
-*
-* NOTES
-*
-* SEE ALSO
-*********/
-       
-END_C_DECLS
-
-#endif /* _OSM_MCAST_MGR_H_ */
-
diff --git a/ulp/opensm/user/include/opensm/osm_mcm_info.h b/ulp/opensm/user/include/opensm/osm_mcm_info.h
deleted file mode 100644 (file)
index 6f6e864..0000000
+++ /dev/null
@@ -1,237 +0,0 @@
-/*
- * Copyright (c) 2004-2006 Voltaire, Inc. All rights reserved.
- * Copyright (c) 2002-2006 Mellanox Technologies LTD. All rights reserved.
- * Copyright (c) 1996-2003 Intel Corporation. All rights reserved.
- *
- * This software is available to you under the OpenIB.org BSD license
- * below:
- *
- *     Redistribution and use in source and binary forms, with or
- *     without modification, are permitted provided that the following
- *     conditions are met:
- *
- *      - Redistributions of source code must retain the above
- *        copyright notice, this list of conditions and the following
- *        disclaimer.
- *
- *      - Redistributions in binary form must reproduce the above
- *        copyright notice, this list of conditions and the following
- *        disclaimer in the documentation and/or other materials
- *        provided with the distribution.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
- * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
- * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
- * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS
- * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
- * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
- * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- * SOFTWARE.
- *
- * $Id$
- */
-
-
-/*
- * Abstract:
- *     Declaration of osm_mcm_info_t.
- *     This object represents a Multicast Forwarding Information object.
- *     This object is part of the OpenSM family of objects.
- *
- * Environment:
- *     Linux User Mode
- *
- * $Revision: 1.4 $
- */
-
-#ifndef _OSM_MCM_INFO_H_
-#define _OSM_MCM_INFO_H_
-
-#include <string.h>
-#include <iba/ib_types.h>
-#include <complib/cl_qlist.h>
-#include <opensm/osm_base.h>
-
-#ifdef __cplusplus
-#  define BEGIN_C_DECLS extern "C" {
-#  define END_C_DECLS   }
-#else /* !__cplusplus */
-#  define BEGIN_C_DECLS
-#  define END_C_DECLS
-#endif /* __cplusplus */
-
-BEGIN_C_DECLS
-
-/****s* OpenSM: Multicast Member Info/osm_mcm_info_t
-* NAME
-*      osm_mcm_info_t
-*
-* DESCRIPTION
-*      Multicast Membership Info object.
-*      This object contains information about a nodes membership
-*      in a particular multicast group.
-*
-*      This object should be treated as opaque and should
-*      be manipulated only through the provided functions.
-*
-* SYNOPSIS
-*/
-typedef struct _osm_mcm_info
-{
-       cl_list_item_t                          list_item;
-       ib_net16_t                                      mlid;
-
-} osm_mcm_info_t;
-/*
-* FIELDS
-*      list_item
-*              Linkage structure for cl_qlist.  MUST BE FIRST MEMBER!
-*
-*      mlid
-*              MLID of this multicast group.
-*
-* SEE ALSO
-*********/
-
-/****f* OpenSM: Multicast Member Info/osm_mcm_info_construct
-* NAME
-*      osm_mcm_info_construct
-*
-* DESCRIPTION
-*      This function constructs a Multicast Member Info object.
-*
-* SYNOPSIS
-*/
-static inline void
-osm_mcm_info_construct(
-       IN osm_mcm_info_t* const p_mcm )
-{
-       memset( p_mcm, 0, sizeof(*p_mcm) );
-}
-/*
-* PARAMETERS
-*      p_mcm
-*              [in] Pointer to a Multicast Member Info object to construct.
-*
-* RETURN VALUE
-*      This function does not return a value.
-*
-* NOTES
-*
-* SEE ALSO
-*********/
-
-/****f* OpenSM: Multicast Member Info/osm_mcm_info_destroy
-* NAME
-*      osm_mcm_info_destroy
-*
-* DESCRIPTION
-*      The osm_mcm_info_destroy function destroys the object, releasing
-*      all resources.
-*
-* SYNOPSIS
-*/
-void
-osm_mcm_info_destroy(
-       IN osm_mcm_info_t* const p_mcm );
-/*
-* PARAMETERS
-*      p_mcm
-*              [in] Pointer to a Multicast Member Info object to destroy.
-*
-* RETURN VALUE
-*      This function does not return a value.
-*
-* NOTES
-*      Performs any necessary cleanup of the specified Multicast Member Info object.
-*      Further operations should not be attempted on the destroyed object.
-*      This function should only be called after a call to osm_mtree_construct or
-*      osm_mtree_init.
-*
-* SEE ALSO
-*      Multicast Member Info object, osm_mtree_construct, osm_mtree_init
-*********/
-
-/****f* OpenSM: Multicast Member Info/osm_mcm_info_init
-* NAME
-*      osm_mcm_info_init
-*
-* DESCRIPTION
-*      Initializes a Multicast Member Info object for use.
-*
-* SYNOPSIS
-*/
-void
-osm_mcm_info_init(
-       IN osm_mcm_info_t* const p_mcm,
-       IN const ib_net16_t mlid );
-/*
-* PARAMETERS
-*      p_mcm
-*              [in] Pointer to an osm_mcm_info_t object to initialize.
-*
-*      mlid
-*              [in] MLID value for this multicast group.
-*
-* RETURN VALUES
-*      None.
-*
-* NOTES
-*
-* SEE ALSO
-*********/
-
-/****f* OpenSM: Multicast Member Info/osm_mcm_info_new
-* NAME
-*      osm_mcm_info_new
-*
-* DESCRIPTION
-*      Returns an initialized a Multicast Member Info object for use.
-*
-* SYNOPSIS
-*/
-osm_mcm_info_t*
-osm_mcm_info_new(
-  IN const ib_net16_t mlid );
-/*
-* PARAMETERS
-*      mlid
-*              [in] MLID value for this multicast group.
-*
-* RETURN VALUES
-*      Pointer to an initialized tree node.
-*
-* NOTES
-*
-* SEE ALSO
-*********/
-
-/****f* OpenSM: Multicast Member Info/osm_mcm_info_delete
-* NAME
-*      osm_mcm_info_delete
-*
-* DESCRIPTION
-*      Destroys and deallocates the specified object.
-*
-* SYNOPSIS
-*/
-void
-osm_mcm_info_delete(
-       IN osm_mcm_info_t* const p_mcm );
-/*
-* PARAMETERS
-*      p_mcm
-*              Pointer to the object to destroy.
-*
-* RETURN VALUES
-*      None.
-*
-* NOTES
-*
-* SEE ALSO
-*********/
-
-END_C_DECLS
-
-#endif         /* _OSM_MCM_INFO_H_ */
-
diff --git a/ulp/opensm/user/include/opensm/osm_mtl_bind.h b/ulp/opensm/user/include/opensm/osm_mtl_bind.h
deleted file mode 100644 (file)
index 4394ff2..0000000
+++ /dev/null
@@ -1,144 +0,0 @@
-/*
- * Copyright (c) 2004-2006 Voltaire, Inc. All rights reserved.
- * Copyright (c) 2002-2006 Mellanox Technologies LTD. All rights reserved.
- * Copyright (c) 1996-2003 Intel Corporation. All rights reserved.
- *
- * This software is available to you under the OpenIB.org BSD license
- * below:
- *
- *     Redistribution and use in source and binary forms, with or
- *     without modification, are permitted provided that the following
- *     conditions are met:
- *
- *      - Redistributions of source code must retain the above
- *        copyright notice, this list of conditions and the following
- *        disclaimer.
- *
- *      - Redistributions in binary form must reproduce the above
- *        copyright notice, this list of conditions and the following
- *        disclaimer in the documentation and/or other materials
- *        provided with the distribution.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
- * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
- * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
- * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS
- * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
- * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
- * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- * SOFTWARE.
- *
- * $Id$
- */
-
-
-#ifndef _OSM_BIND_H_
-#define _OSM_BIND_H_
-
-#include <opensm/osm_helper.h>
-#include <vendor/osm_vendor_mtl.h>
-#include <vendor/osm_vendor_api.h>
-#include <opensm/osm_subnet.h>
-#include <opensm/osm_opensm.h>
-
-#ifdef __cplusplus
-#  define BEGIN_C_DECLS extern "C" {
-#  define END_C_DECLS   }
-#else /* !__cplusplus */
-#  define BEGIN_C_DECLS
-#  define END_C_DECLS
-#endif /* __cplusplus */
-
-BEGIN_C_DECLS
-
-/****s* OpenSM: Vendor/osm_vendor_mgt_bind
-* NAME
-*   osm_vendor_mgt_bind_t
-*
-* DESCRIPTION
-*      Tracks the handles returned by IB_MGT to the SMI and GSI
-*  Nulled on init of the vendor obj. Populated on first bind.
-*
-* SYNOPSIS
-*/
-typedef struct _osm_vendor_mgt_bind
-{
-  boolean_t smi_init, gsi_init;
-  IB_MGT_mad_hndl_t smi_mads_hdl;
-  IB_MGT_mad_hndl_t gsi_mads_hdl;
-  struct _osm_mtl_bind_info *smi_p_bind;
-}
-osm_vendor_mgt_bind_t;
-
-/*
-* FIELDS
-*      smi_mads_hdl
-*              Handle returned by IB_MGT_get_handle to the IB_MGT_SMI
-*
-*      gsi_mads_hdl
-*              Handle returned by IB_MGT_get_handle to the IB_MGT_GSI
-*
-* SEE ALSO
-*********/
-
-/****s* OpenSM: Vendor osm_mtl_bind_info_t
-* NAME
-*   osm_mtl_bind_info_t
-*
-* DESCRIPTION
-*      Handle to the result of binding a class callbacks to IB_MGT.
-*
-* SYNOPSIS
-*/
-typedef struct _osm_mtl_bind_info
-{
-  IB_MGT_mad_hndl_t mad_hndl;
-  osm_vendor_t *p_vend;
-  void *client_context;
-  VAPI_hca_hndl_t hca_hndl;
-  VAPI_hca_id_t hca_id;
-  uint8_t port_num;
-  osm_vend_mad_recv_callback_t rcv_callback;
-  osm_vend_mad_send_err_callback_t send_err_callback;
-  osm_mad_pool_t *p_osm_pool;
-}
-osm_mtl_bind_info_t;
-
-/*
-* FIELDS
-*      mad_hndl
-*              the handle returned from the registration in IB_MGT
-*
-*      p_vend
-*              Pointer to the vendor object.
-*
-*      client_context
-*              User's context passed during osm_bind
-*
-*  hca_id
-*     HCA Id we bind to.
-*
-*      port_num
-*              Port number (within the HCA) of the bound port.
-*
-*      rcv_callback
-*              OSM Callback function to be called on receive of MAD.
-*
-*  send_err_callback
-*     OSM Callback to be called on send error.
-*
-*  p_osm_pool
-*     Points to the MAD pool used by OSM 
-*
-*
-* SEE ALSO
-*********/
-ib_api_status_t
-osm_mtl_send_mad(
-  IN osm_mtl_bind_info_t *p_bind,
-  IN osm_madw_t * const p_madw);
-
-END_C_DECLS
-
-#endif // _OSM_BIND_H_
-
diff --git a/ulp/opensm/user/include/opensm/osm_node_desc_rcv.h b/ulp/opensm/user/include/opensm/osm_node_desc_rcv.h
deleted file mode 100644 (file)
index 6e48cd2..0000000
+++ /dev/null
@@ -1,256 +0,0 @@
-/*
- * Copyright (c) 2004-2006 Voltaire, Inc. All rights reserved.
- * Copyright (c) 2002-2006 Mellanox Technologies LTD. All rights reserved.
- * Copyright (c) 1996-2003 Intel Corporation. All rights reserved.
- *
- * This software is available to you under the OpenIB.org BSD license
- * below:
- *
- *     Redistribution and use in source and binary forms, with or
- *     without modification, are permitted provided that the following
- *     conditions are met:
- *
- *      - Redistributions of source code must retain the above
- *        copyright notice, this list of conditions and the following
- *        disclaimer.
- *
- *      - Redistributions in binary form must reproduce the above
- *        copyright notice, this list of conditions and the following
- *        disclaimer in the documentation and/or other materials
- *        provided with the distribution.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
- * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF