                        OpenSM Release Notes 3.3
                       =============================

Version: OpenSM 3.3.x
Repo:    git://git.openfabrics.org/~halr/opensm.git
Date:    December 2014

1 Overview
----------
This document describes the contents of the OpenSM 3.3 release.
OpenSM is an InfiniBand compliant Subnet Manager and Administration,
and runs on top of OpenIB. The OpenSM version for this release
is opensm-3.3.19.

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 Bug Fixes
5 Main Verification Flows
6 Qualified Software Stacks and Devices

1.1 Major New Features

* Mesh Analysis for LASH routing algorithm.
  The performance of LASH can be improved by preconditioning the mesh in
  cases where there are multiple links connecting switches and also in
  cases where the switches are not cabled consistently.
  Activated with --do_mesh_analysis command line and config file option.

* Reloadable OpenSM configuration (preliminary implemented)
  This is possible now to reload OpenSM configuration parameters on the
  fly without restarting.

* Routing paths sorted balancing (for UpDown and MinHops)
  This sorts the port order in which routing paths balancing is performed
  by OpenSM. Helps to improve performance dramatically (40-50%) for most
  popular application communication patterns.
  To overwrite this behavior use --guid_routing_order_file command line
  option.

* Weighted Lid Matrices calculation (for UpDown, MinHop and DOR).
  This low level routing fine-tuning feature provides the means to
  define a weighting factor per port for customizing the least weight
  hops for the routing. Custom weights are provided using file specified
  with '--hop_weights_file' command line option.

* I/O nodes connectivity (for FatTree).
  This provides possibility to define the set of I/O nodes for the
  Fat-Tree routing algorithm. I/O nodes are non-CN nodes allowed to use
  up to N (specified using --max_reverse_hops) switches the wrong way
  around to improve connectivity. I/O nodes list is provided using file
  and --io_guid_file command line option.

* MGID to MLID compression - infrastructure for many MGIDs to single MLID
  compression. This becomes helpful when number of multicast groups
  exceeds subnet's MLID routing capability (normally 1024 groups). In such
  cases many multicast groups (MGID) can be routed using same MLID value.

* Torus-2QoS unicast routing algorithm - a DOR-based routing algorithm
  specialized for 2D/3D torus topologies. Torus-2QoS provides deadlock-free
  routing while supporting two quality of service (QoS) levels. In addition
  it is able to route around multiple failed fabric links or a single failed
  fabric switch without introducing deadlocks, and without changing path SL
  values granted before the failure.

* DNUP Unicast routing algorithm - similar to UPDN but allows routing in
  fabrics which have some CA nodes attached closer to the roots than some
  switch nodes.

* SSSP Unicast routing algorithm - SSSP unicast routing algorithm - a
  single-source-shortest-path routing algorithm, which globally balances the
  number of routes per link to optimize link utilization. This routing
  algorithm has no restrictions in terms of the underlying topology.

* DFSSSP unicast routing algorithm - a deadlock-free single-source-
  shortest-path routing, which uses the SSSP algorithm as the base to optimize
  link utilization and uses Infiniband virtual lanes (SL) to provide deadlock-
  freedom.

* SRIOV (Alias GUID) Support - In order to support virtualized environments,
  alias GUID support is added to OpenSM. This support allows an SA client to
  add and remove additional port GUIDs based on SubAdmSet/SubAdmDelete of
  GUIDInfoRecord.

* Extended speed support
  This provides support for FDR and EDR speeds.

* Congestion control support (experimental)

* Many code improvements, optimizations and cleanups.

* Windows support (early stage).

1.2 Minor New Features:

672de65 perfmgr: Add xmit_wait to event plugin error counters data structure
d86e7e3 perfmgr: Add xmit_wait support
7e6bdef opensm/man/opensm.8.in: Add section for MKey support
aebe678 opensm: Add support for multicast service records
5509234 opensm/scripts/sldd.sh: Update to support guid2mkey/neighbors
2ae1477 opensm: Ensure sweep interval/mkey lease are sensibly set
cefe79b opensm: Check for valid mkey protection level in config file
8fa0d2c opensm: Add neighboring link cache file
5088d08 opensm: Log errors on SubnGet timeouts
9eed9c6 opensm: Add support for setting mkey protection levels
5c4157d opensm: Add locking where necessary around osm_req_*
2f74f34 opensm: Allow recovery of subnets with misset mkeys
e5dc557 opensm: Add guid2mkey cache file support
3659b37 opensm/osm_sa_class_port_info.c: Indicate support for PortInfo CapMask2
	matching in SA ClassPortInfo:CapabilityMask2
8016d3b opensm/osm_base.h: Add some SA ClassPortInfo CapabilityMask2 bits
1a31c44 opensm/osm_perfmgr.c: Use non conflicting error codes in log messages
03a75d0 opensm/osm_sa_path_record.c: Restore osm_get_path_params functionality
a9340cf opensm: Support (null) being specified for per_module_logging_file
	option
00375aa opensm/osm_perfmgr.c: Eliminate compile warning
7868c98 opensm: Remove unused per_module_logging option
49c460b Call drop manager before checking for other Master SM in the fabric
c0604f3 Increase p_port->discovery_count only when received PortInfo for port 0
	of the switch
24b30d2 opensm/osm_node_info_rcv.c: Handle non-compliant SMA gracefully
a4f2689 opensm/osm_vendor_ibumad: Add management class into match criteria
4be6375 opensm/osm_sa*.c: Log requester port GUID at DEBUG level
4cca51d opensm/osm_sa_mcmember_record.c: Log requester port GUID at DEBUG level
15b3eae opensm/osm_sa_path_record.c: Log requester port GUID at DEBUG level
0b580ca opensm/osm_sa_path_record.c: Add debug logging to
	pr_match_mgrp_attributes
ed4b7fb opensm/osm_sa_mcmember_record.c: In mcmr_rcv_join_mgrp, add MGID to log
	message
872dae4 opensm/osm_sa_mcmember_record.c: Dump MCMemberRecord in mcmr_query_mgrp
71f2ce7 Sending SL2VL and VLARB SET MADs in distributed manner
f07bcc1 opensm/osm_subnet.c: Cosmetic formatting change
c823a5b opensm/osm_link_mgr.c: Set PortInfo:PortState to LinkDown when remote
	port isn't accessible
ab88df6 Add support to reread configuration file when stacked in rediscovery
	loop.
67c9bae opensm: Move per_mod_log_tbl array from subn to log structure
2cbd9f5 opensm/cl_atomic_osd.h: Cosmetic formatting change
cd63dec opensm/osm_helper.c: Add CapabilityMask2 to notice dump for trap 144
9205812 opensm/ib_types.h: Add CapabilityMask2 to notice for trap 144
25de706 opensm/osm_sa_path_record.c: Add missing end-of-line in the log message
3551530 opensm/osm_trap_rcv.c: Remove vestigial comment
067d217 opensm/osm_inform.c: Make log message format consistent for error
	messages
759b82a opensm/osm_trap_rcv.c: Add better logging for traps 257 and 258
b806657 opensm/osm_sa_mad_ctrl.c: Eliminate commented out code line
a851693 opensm/perfmgr: add logging of error counters
52fa659 opensm/console: add perfmgr "print_errors" (pe) console command.
a832ce2 opensm/console: Add human readable output for perfmgr data counters
77a1756 opensm/console: add abreviations for perfmgr commands
aca9a07 opensm/console; add port option to perfmgr print_counters
00628cc opensm/console: add "print all" to print_counters console command
f5de9b5 opensm: perfmgr mark inactive nodes in perfmgr db
ff06340 opensm: perfmgr delete "inactive" nodes from the DB
059d8f4 opensm/console: protect against 0 entered for the perfmgr sweep_time
cc86607 opensm/perfmgr: Add config option to ignore Channel Adapters.
91f0c00 opensm/osm_node_info_rcv.c: In ni_rcv_process_existing_ca_or_router,
	handle error
c930a23 opensm/osm_subnet.c: Indicate lmc and lmc_esp0 are not changeable
	"on the fly"
7825e67 opensm/libopensm.map: Removed unimplemented routine
7de7b04 opensm/main.c: Handle daemon mode with guid specified as 0 more
	gracefully
9478fbf opensm/osm_subnet.c: Support MLNX ExtendedPortInfo for ConnectIB device
f8fc334 opensm/osm_node_info_rec.c: Also handle non compliant SMA in
	ni_rcv_process_existing
b4a481d opensm: Eliminate unneeded field in DR path structure
01bc8c9 opensm/osm_state_mgr.c: Force subn->need_update when coming out of
	STANDBY
276be8b opensm: Dump info functions update for per module logging
64b512a opensm/osm_vendor_ibumad.c: Make binding log message clearer
e70c8c1 opensm: Add enum for FILE_ID for per module logging
2a2db8c opensm: Add per module logging support
e21b106 opensm: Cosmetic changes
3ddb2e3 opensm: Add partition manager configuration doc to docs
9586649 opensm/opensm_release_notes-3.3.txt: Update Unsupported IB Compliance
	Statements
826b5c4 opensm/osm_ucast_dfsssp.c: Use osm_log_is_active
b2cad9d opensm/complib/cl_fleximap.h: Cosmetic changes
322a310 opensm/osm_ucast_ftree.c: Add a couple of asserts
e3a946d opensm: Add FDR10 support
6cea3df opensm/osm_sa_portinfo_record.c: Add SA PortInfoRecord support
	for CapabilityMask2 matching
9ac7eeb opensm: Add infrastructure support for CapabilityMask2 field in
	PortInfo
8bc7c30 opensm: make loopback console compile on by default.
566b462 opensm/ib_types.h: Update SA PortInfoRecord component masks
480de4a opensm: Use forward extensible and safer way to compare mkey_lmc
	field in PortInfo attribute
22ca966 opensm: enable perfmgr build by default
4250c59 opensm: perfmgr only run sweep timer when enabled
1810672 Support scatter ports
dd21107 Support port shifting
1c2a298 OpenSM torus routing order list
b92d21f opensm: Create all directories in database path on Windows
83b6752 opensm/osm_subnet.c: In osm_subn_destroy, delete service records
0fc8124 opensm: Add OSM_VENDOR_ID_OPENIB support
c0d8b56 opensm/osm_sa_node_record.c: In nr_rcv_create_nr, only set some
	variables when needed
9acaba0 opensm/osm_helper.c: Add some missing fields to
	osm_dump_portinfo_record
8a43aea Allow comma in plugin names parsing
cdf227c opensm: Proper mfttop initialization when starting/restarting
cde0c0d opensm: Convert remaining helper routines for GID printing format
bc5743c opensm: Add support for MaxCreditHint and LinkRoundTripLatency to
	osm_dump_port_info
6cd34ab opensm: Add Dell to known vendor list
003d6bd opensm: Add more info for traps 144 and 256-259 in osm_dump_notice
5b0c5de opensm/osm_ucat_ftree.c Enhance min hops counters usage
0715b92 ib_types.h: Add ib_switch_info_get_state_opt_sl2vlmapping routine
2ddba79 opensm: Remove some __ and __osm_ prefixes
ea0691f opensm/iba/ib_types.h: Add PortXmit/RcvDataSL PerfMgt attributes
9c79be5 ib_types.h: Adding BKEY violation trap (259)
c608ea6 opensm: Add and utilize ib_gid_is_notzero routine
b639e64 opensm: Handle trap repress on trap 144 generation
b034205 Add pkey table support to osm_get_all_port_attr
876605b opensm/ib_types.h: Add attribute ID for PortCountersExtended
aae3bbc opensm: PortInfo requests for discovered switches
0147b09 opensm/osm_lid_mgr: use single array for used_lids
a9225b0 opensm/Makefile.am: remove osm_build_id.h junk file generation
8e3a57d opensm/osm_console.c: Add list of SMs to status command
3d664b9 opensm/osm_console.c : Added dump_portguid function to console to
	generate a list of port guids matching one or more regexps
85b35bc opensm/osm_helper.c: print port number as decimal
8674cb7 opensm: sort port order for routing by switch loads
80c0d48 opensm: rescan config file even in standby
8b7aa5e opensm/osm_subnet.c enable log_max_size opt update
8558ee5 opensm/include/iba/ib_types.h: Add xmit_wait for PortCounters
ecde2f7 opensm/osm_subnet.c support subnet configuration rescan and update
58c45e4 opensm/osm_log.c save log_max_size in subnet opt in MB
cf88e93 opensm: Add new partition keyword for all hca, switches and routers
4bfd4e0 opensm: remove libibcommon build dependencies
3718fc4 opensm/event_plugin: link opensm with -rdynamic flag
587ce14 opensm/osm_inform.c report IB traps to plugin
ced5a6e opensm/opensm/osm_console.c: move reporting of plugins to "status"
	command.
696aca2 opensm: Add configurable retries for transactions
0d932ff opensm/osm_sa_mcmember_record.c: optimization in zero mgid comparison
254c2ef opensm/osm_sm_mad_ctrl.c: In sm_mad_ctrl_send_err_cb, set init
	failure on PKeyTable and QoS initialization failure
83bd10a opensm: Reduce heap consumption by multicast routing tables (MFTs)
cd33bc5 opensm: Add some additional HP vendor IDs/OUIs
f78ec3a opensm/osm_mcast_tbl.(h c): Make max_mlid_ho be maximum MLID configured
2d13530 opensm: Add infrastructure support for PortInfo
	IsMulticastPkeyTrapSuppressionSupported
3ace760 opensm: Reduce heap consumption by unicast routing tables (LFTs)
eec568e osmtest: Add SA get PathRecord stress test
aabc476 opensm: Add infrastructure support for more newly allocated PortInfo
	CapabilityMask bits
c83c331 opensm: improve multicast re-routing requests processing
46db92f opensm: Parallelize (Stripe) MFT sets across switches
00c6a6e opensm: Parallelize (Stripe) LFT sets across switches
e21c651 opensm/osm_base.h: Add new SA ClassPortInfo:CapabilityMask2 bit
	allocations
09056b1 opensm/ib_types.h: Add CounterSelect2 field to PortCounters attribute
6a63003 opensm: Add ability to configure SMSL
25f071f opensm/lash: Set minimum VL for LASH to use
622d853 opensm/osm_ucast_ftree.cd: Added support for same level links
8146ba7 opensm: Add new Sun vendor ID
1d7dd18 opensm/osm_ucast_ftree.c: Enhanced Fat-Tree algorithm
e07a2f1 Add LMC support to DOR routing
1acfe8a opensm: Add SuperMicro to list of recognized vendors
f02f40e opensm: implement 'connect_roots' option in fat-tree routing
748d41e opensm SA DB dump/restore: added option to dump SA DB on every sweep
b03a95e complib/cl_fleximap: add cl_fmap_match() function
b7a8a87 opensm/include/iba/ib_types.h: adding Congestion Control definitions
fa356f8 opensm: Add support for optimized SLtoVLMappingTable programming
8aaae91 Dimension port order file support
7662eec opensm: Add option to specify prefix to syslog messages
2382cf3 opensm: Add update_desc command to opensm console
7cbe193 opensm: toggle sweeping V3
6f61d8f opensm/osmeventplugin: added new events to monitor SM
84cf603 opensm/main.c: force stdout to be line-buffered
b3bb0ab opensm/osm_dump.c: Dump SL2VL tables if routing engine might have
	modified them
8a08719 opensm/osm_dump.c: dump SL2VL tables in debug verbosity level when
	QoS is on
fc908c9 opensm/osm_sa_multipath_record.c: Add mtu validation if supplied
687e1f8 opensm/osm_sa_mcmember_record.c: Add mtu validation if supplied
76f5b09 opensm/osm_sa_path_record.c: Add mtu validation if supplied
9f38fae opensm/osm_helper: Add ib_mtu_is_valid
655230b opensm/osm_sa_multipath_record.c: Add rate validation if supplied
cb1484d opensm/osm_sa_mcmember_record.c: Add rate validation if supplied
485d068 opensm/osm_sa_path_record.c: Add rate validation if supplied
300f4d9 opensm/osm_helper: Add ib_rate_is_valid
9b50961 opensm: Change osm_routing_engine struct to not use C++ reserved word
c9c0aa6 opensm/man/torus-2QoS.conf.5.in: Update portgroup_max_ports section
3c97f06 opensm: Add the precreation of multicast groups
a9b9f09 opensm/osm_sminfo_rcv.c: Handle SMP status
1190c15 opensm/osm_switch.c: In osm_switch_set_hops, return, error when port_num is invalid
3d149db Changed sl_path API to include slid and dlid only
6cfb0eb Optimized and deadlock-free routing algorithm for InfiniBand
45f93ec opensm: Add additional IBM vendor ID/OUI
c386eb2 opensm/osm_state_mgr.c: Cosmetic change to log message
703e596 opensm: Add support for partition enforcement types to accomodate IBA extended link speeds
a2a03a8 Check block_num validity in set_guidinfo() and del_guidinfo() requests
e6ec61f end error resoponse to invalid LID in GUIDInfo request
7fce500 opensm/Makefile.am: Add doc/opensm-sriov.txt to docs
264aeb1 opensm: Add documentation for SRIOV support
c639832 opensm: Enhance osm_physp_share_this_pkey for allow_both_pkeys policy
b17b63c opensm: When allowing both pkeys, on a switch external, (peer) port eliminate limited pkey when full pkey with same base is present
a758da2 opensm: Add command line option for allow_both_pkeys
f412de3 opensm: Update partition documentation and man page for (allowing) both (limited and full) memberships in the same partition
726ce6a Support allowing both full and limited members of same partition
4ccf32f opensm/PKeyMgr: Support pkey index reuse when there are no longer any previously unused indices available
eb375a6 opensm/osm_pkey_mgr.c: Detect pkey table overflow in pkey_mgr_update_port
411e742 opensm/PkeyMgr: Don't change end port pkey index when simultaneously adding and removing partitions
15e7223 opensm/osm_sa_guidinfo_record.c: In set_guidinfo, better SM reassigned guid handing
e79b725 opensm: Handle SubnSet GUIDInfo asynchronously from GUIDInfoRecord handling
96c741d opensm: Some cosmetic formatting changes
1d5e370 opensm/osm_sa_guidinfo_record.c: Better status for SA response
efd3ba2 opensm/osm_sa.c: Change log level of message
db8b7da opensm/osm_sa_service_record.c: Alias GUID support
5330986 opensm/osm_sa_multipath_record.c: Add support for alias GUIDs
44168c9 opensm/osm_sa_guidinfo_record.c: In del_guidinfo, validate guid not in use
63eb65b opensm: Add multicast support for alias GUIDs
700d15f opensm/osm_sa_path_record.c: Add support for alias GUIDs
f818387 opensm/osm_sa_guidinfo_record.c: Use OSM_VENDOR_ID_OPENIB define rather than IB_OPENIB_OUI
97e360e opensm: Dump/load SA GUIDInfoRecords
fe74f1d opensm: Make SA assigned guids persistent across port down/up events
eb8f1d9 opensm: Add support for alias GUIDs
b3b1861 opensm: osm_subnet.c: Updated patch to add error-reporting to the parsing of opensm.conf
cd8a708 opensm/man/opensm.8.in: Add description for OSM_LOG_SYS logging flag
1308e5c opensm/osm_console.c: Add display of FDR10 ports to portstatus_parse
f4722b0 opensm: Reset client reregistration when receiving handover
5fdb0b9 opensm/configure.in: Remove Default-Start from opensmd init script
b966100 opensm/osm_sm_state_mgr.c: Start sweep immedeately when recieving HANDOVER in DISCOVERING state
4349c07 opensm: Add physp_p discovery count support
d706cbf opensm/osm_sm_mad_ctrl.c: Upon receiving trap repress we should decrease qp0_mads_outstanding_on_wire
e1e4706 opensm: Revert "opensm/osm_ucast_ftree: When roots are not connected, update hop count but not lft"
7a49366 opensm: Changed #if to #ifdef when using ENABLE_OSM_PERF_MGR_PROFILE
34af1a5 opensm/osm_torus.c: torus routing should fail with VLCap 1 on switch external ports
2b8940b opensm/osm_torus.c: In dump_torus, make sure switch is present before dumping
2364e8e opensm: Add better error output when parsing node name maps
7204287 opensm/osm_sa_mcmember_record.c: Only use scope from MC group in copy_from_create_mc_rec
4eb0f69 opensm/osm_dump.c: Remove incorrect assert
1ddb44b OpenSM: dfsssp - moved paths from one to another VL might be counted multiple times
a0a9eea OpenSM: DFSSSP does not find LIDs due to wrong byte order (v2)
13fd952 OpenSM: dfsssp - avoid unnecessary nested loop in vltable_print for OSM_LOG_INFO
1cbed64 OpenSM: dfsssp - change the port traversal for sssp
c2f0bb9 OpenSM: dfsssp - add support for base/enhanced switch port
64873ff OpenSM: dfsssp ignores differences in the lmc value
162493e opensm/osm_req.c: In req_determine_mkey, use osm_physp APIs
fc53bdc opensm/osm_torus.c: Dump torus when OSM_LOG_ROUTING specified
434afa6 opensm/torus: Add configuration for max_changes to report
35bcddf opensm/osm_torus.c: Consolidate some parsing with parse_unsigned
3f3d26f opensm/osm_prtn_config.c: Insert autogenerated pkey into MGID for IPoIB
d80ca1e opensm/osm_port_info_rcv.c: Don't modify subnet minimal values when PortState DOWN
f97a2e9 opensm/osm_ucast_ftree.c: Eliminate unneeded NULL pointer checks prior to calls to free
8a77f23 opensm/osm_ucast_ftree.c: Remove duplicate free in fabric_create_leaf_switch_array
338a67b opensm/osm_subnet.c: Improve error messages in subn_validate_neighbor
0a1c9bf opensm/osm_req.c: In req_determine_mkey, add more info when ERR 1107 occurs
b974ca3 opensm/osm_torus.c: Improve some misconfiguration error messages
e986d57 opensm/osm_torus.c: Minor simplification to check_qos_config
95b6f83 opensm: Update doc for changes to torus routing for, endport support
998fb43 opensm/osm_torus.c: Add copyright
268d327 opensm/osm_torus.c: Improve QoS configuration
d1d2de5 opensm: Update doc for changes to torus routing for CA, support
a362b5b opensm/osm_torus.c: Require only 2 data VLs supported (PortInfo.VLCap) and use VLs 0-1 on CA links
3f536ae opensm: Add routing specific update_vlarb hook routine
a2415f3 Add Per Module Logging support for Congestion Manager
a6d3694 opensm: clean up error message, function name is printed by logging code
2cf8078 opensm/osm_sa_mcmember_record.c: Return proper scope for query with valid SA key
c1a206e opensm: update performance manager documentation
f204e9c opensm: Protect against spurious wakeups when calling cl_event_wait_on
7db5c75 opensm/osm_subnet.c: Only parameters that marked with can_update flag should be updated during conf file rescan
282714a /etc/init.d/opensmd: Improve systemd integration
8b116d7 opensm/osm_trap_rcv.c: Eliminate unneeded trap_rcv_process_response routine
4008c2f opensm.spec.in: Improve portability
01ab744 Make it possible to enable opensm with chkconfig
c68ae63 Add command-line option --pidfile
ffb9a82 opensm/osm_torus.c: Check fabric minimum data VLs on switch external ports
d0258f3 opensm: Track minimum value in the fabric for data VLs supported on switch external ports
36159c2 opensm/osm_torus.c: Cosmetic formatting change
dba3f92 opensm/osm_helper.c: Add some missing new lines to log message output
94468b5 opensm/osm_ucast_updn.c: Add error codes to a couple of log messages
86a203b Correct option names in opensm man page
3482438 opensm/osm_sa.h: Cosmetic commentary change
824e1f0 opensm/ib_types.h: Commentary and cosmetic formatting change
3711e8a opensm/complib/cl_spinlock.h: Remove some unimplemented routines
0c3f57f opensm/osm_torus.c: Add error code to error log message
8e6dfbd opensm: Add .gitignore
6248495 opensm/osm_port_info_rcv.c: use PF() hint on fatal conditions
dff5927 opensm/osm_port_info_rcv.c: check received local_port_num
b7b1505 opensm/libvendor/osm_vendor_ibumad.c: validate response MAD properties
c215eea opensm/libvendor/osm_vendor_ibumad.c:rename "mad" to "p_mad" to indicate pointer
e00f67b opensm/libvendor/osm_vendor_ibumad_sa.c: use wrapper function instead of direct access
ebc772c opensm/osm_node_info_rcv.c: using "PF" hint for all the fatal conditions
e2f06cd opensm/complib: define macros for for "if" statements with branch prediction hints
0e33c11 opensm/configure.in: check that compiler supports __builtin_expect()
2cb1854 OpenSM: Add new Mellanox OUI
8e5fc57 opensm: osm_pkey: Remove unused variables
e96a933 opensm: Manage ports that do not support congestion control
fbb74ca opensm: improve search common pkeys.
db34e30 opensm/osm_vendor_ibumad.c: Add management class to error log message
ba36f81 opensm/perfmgr/console: add 'pm sweep'
f118668 opensm/osm_sa: Improve SA record response handling (osm_sa_respond)
b09ac65 opensm/osm_sa_informinfo.c: Add trusted support for InformInfo/InformInfoRecord
5b2390e dfsssp: optimization for dedicated compute and IO nodes
33f4f17 Add new option for guid_routing_order_no_scatter
a5f54f1 osm_ucast_mgr.c: After applying guid_order options, add nodes sorted
by neighbor switch load
5a97c78 Try default partition config if parsing partitions.conf fails
cc5fa17 Add support for synchronizing in memory files with storage
9853841 Implement atomic update operation for sa_db_file
3e146fa Add option to disable M_Key lookup
51b187b Add flags to OSM_EVENT_ID_UCAST_ROUTING_DONE
c97bd7b Permit toggling log flush from console
8395084 OpenSM: dfsssp - add support for multicast
96eafa0 ftree: Allow defining only io_guids file and consider rest of nodes as
CN nodes
6cd6114 opensm: Add support for LFT changed event
b73c378 opensm/perfmgr; add support for PortCountersExtended NOIETF
70f5820 opensm/perfmgr: Issue PortCountersExtended query when supported

1.3 Library API Changes

44a6358 libvendor/osm_vendor_ibumad.c: Support GRH (for GS classes)
de02954 osm_trap_rcv.c: Log DR path to node when trap 128

1.4 Software Dependencies

OpenSM depends on the installation of libibumad package (distributed as
part of OFA IB management together with OpenSM) and IB stack presence,
in particular libibumad uses user_mad kernel interface ('ib_umad' kernel
module). The qualified driver versions are provided in Table 2,
"Qualified IB Stacks".

Also, building of QoS manager policy file parser requires flex, and either
bison or byacc installed.

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).

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-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:M_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 Bug Fixes
-----------

4.1 Major Bug Fixes

5077198 osm_perfmgr.c: Reset physp_discovered before discovery
8d51ae5 osm_state_mgr.c: Avoid continuing discovery when SM port is
unresponsive
f017063 Better way to handle polling other MASTER SM
25e5ee5 complib/cl_dispatcher.c: Check registrations vector size when
searching for handlers
6b0fb4d osm_lid_mgr.c: Send client reregistration in case of SM LID change
5d231f8 osm_pkey_mgr.c: Use calloc instead of malloc in
pkey_mgr_process_physical_port
985859e Fix turning on first_time_master_sweep flag
4629e80 osm_mcast_mgr.c: Invalidate cache due to multicast routing errors
b6a1dd4 osm_state_mgr.c: Avoid ucast cache invalidation due to errors during
initialization
db69cd8 osm_perfmgr.c: Fix perfmgr sweep_state race
b42f11f osm_vendor_ibumad.c: Better match table eviction strategy
cc0d61b libvendor/osm_vendor_ibumad.c: Check the next CA if an error is
returned for the current one
a16349d osm_trap_rcv.c: Lock released without locking in some cases of trap
processing
6c6e4cc osm_sa_guidinfo_record.c: Fix crash when receiving AGUID SET/DELETE
with block_num equal to max_block
a8b23b7 osm_vl15intf.c: Fix potential NULL dereference in vl15_send_mad
e94d471 osm_torus.c: Fix torus crash when actual topology is not torus
a20cd5f osm_sa_service_record.c: Fix locking issue in osm_sr_rcv_process
127acf1 osm_sa_mcmember_record.c: Fix double locking in mcmr_rcv_join_mgrp
c86c30a All SA queries should validate the requester port under lock
80e1e59 osm_sminfo_rcv.c: Send trap 144 to a newly found MASTER SM when in
MASTER state
0189dea osm_sm_state_mgr.c: Fix opensm crash after handover
52c4a30 osm_sm_state_mgr.c: Reconfigure the fabric when receiving
HANDOVER/POLLING_TIMEOUT in MASTER state
26af3a9 Fix crash during handover
f775a1a osm_sa_path_record.c: Search for requester port should be under lock
24d6219 osm_sw_info_rcv.c: Fix sending PortInfo during lightsweep
12d2c8e osm_node_info_rcv.c: Fix multiple switch discovery during a sweep
ef22eb9 osm_qos.c: Fix possible seg fault
9dd8f45 dfsssp: avoid crash due to port initialisation errors
f6418cf osm_ucast_dfsssp.c: prevent double free error
1633550 Resend LFTs/VLArb/SL2VL MADs in case of error
90d19c2 osm_port_info_rcv.c: Reread pkeys from SP0 if switch rebooted during a
sweep
6e90421 Better handling of topology changes in the fabric
b33c3ba Change discovery order of switch data
395b5f0 Handle bad SMP status
a322f51 Skip TID 0 on 32 bit wraparound for SMP, SA and PerfMgt queries
cded9af Fix transaction id casting
3585f8b opensm: Fix crash found with ucast cache
74e12d9 opensm: fix part_enforce parameter parsing crash
647a98e Fixed crash in sm_state_mgr_send_master_sm_info_req() during fabric
	merge
63ebd0d Fix crash in ucast cache when chain of switches connected back at once
	to the fabric
3b21d6f Fix crash in ucast cache when ucast cache invalidates after updating
	one of the switches
5654e22 Fix invalid error check, which lead to segfault
7bf7482 fix segfault corner case w/ updn routing and LMC > 0
18990fa opensm: set IS_SM bit during opensm init
3551389 fix local port smlid in osm_send_trap144()
a6de48d opensm/osm_link_mgr.c initialize SMSL
82df467 opensm/osm_req.c: Shouldn't reveal port's MKey on Trap method
45ebff9 opensm/osm_console_io.h: Modify osm_console_exit so only the
	connection is killed, not the socket
d10660a opensm/osm_req.c: In osm_send_trap144, set producer type according
	to node type
8a2d2dd opensm/osm_node_info_rcv.c: create physp for the newly discovered
	port of the known node
39b241f opensm/lid_mgr: fix duplicated lid assignment
b44c398 opensm: invalidate routing cache when entering master state
595f2e3 opensm: update LFTs when entering master
8406c65 opensm: fix port chooser
fa90512 opensm/osm_vendor_*_sa: fix incompatibility with QLogic SM
7ec9f7c opensm: discard multicast SA PR with wildcard DGID
5cdb53f opensm/osm_sa_node_record.c use comp mask to match by LID or GUID
55f9772 opensm: Return single PathRecord for SubnAdmGet with DGID/SGID wild
	carded
5ec0b5f opensm: compress IPV6 SNM groups to use a single MLID
26e7e83 opensm/osm_lid_mgr: fix couple of duplicate LIDs bugs
fedc419 opensm: Multicast root switch calculation
6772fdb opensm: Fix sl2vl configuration
dd3470f complib/cl_timer.c: fixing cl_timer calculation
ae1bcdd opensm/osm_lid_mgr.c: Allow switch lids to be non LMC aligned
593547e Wrong handling of MC create and delete traps
4c822b0 opensm/osm_prtn.c: removing TopSpin hack
8214e2a opensm: Add support for SwitchInfo:MulticastFDBTop
1e544ba opensm: fixed memory leak in multicast spanning tree calculation
0456b3f Fixed multicast groups reconfiguration during heawy sweep
9ad844f Fix ucast cache crash, when switch doesn't have valid phys ports
07aa9fa opensm: fix crash in osm_ucast_mgr
076bd38 opensm/osm_ucast_cache.c: fix crash in ucast cache when switch with lid 0 dropped
9cbb8af opensm/osm_ucast_ftree.c: fix opensm segfault in osm_ucast_ftree.c
edd0552 opensm/osm_qos_policy.c: fix segmentation fault on
	osm_qos_policy_match_rule_destroy (osm_qos_policy.c)
dec1109 DFSSSP: fix a memory leak in dfsssp_build_graph
d5fe528 opensm/osm_req.c: In req_determine_mkey, fix DR algorithm
a46b33e opensm: fix crash in DFSSSP routing engine on reroute
d2312af opensm/osm_link_mgr.c: Fix sending PortInfo(Set) with AM SMSupportExtendedSpeeds
	bit set for switch base port 0
06ae82c opensm/osm_link_mgr.c: Set AM SMSupportExtendedSpeeds bit if port
	supports ExtPortInfo
b2cd2d7 opensm/osm_ucast_ftree.c: Fix unranked nodes bug in FTree
8384156 opensm/osm_torus.c: Fix crash in torus_update_osm_vlarb
0ff054a osm_trap_rcv.c: Removed unneeded lock when disabling port
e7c4ec3 osm_trap_rcv.c: Minimize time holding RW lock for SystemImageGUID
changed trap 145
1418f8a osm_trap_rcv.c: In trap_rcv_process_request, change locking strategy
280a2ac osm_trap_rcv.c: fix locking in trap_rcv_process_request()
a45e311 osm_db_files.c: Minor improvement to fix in previous commit
86cf679666f49f6073c1ddf2b9ff644a41537a57
86cf679 osm_db_files.c: Fix issue introduced in commit
aaa7b1e67ec6e5fc2a10accf46d538f9d47c6323
ed7be1a Add client_rereg flag to Port Info context
413e4fa osm_trap_rcv.c: fix race condition during sweep
90a7960 osm_ucast_file.c: Fix crash when port is invalid in LFT file
a1ccf88 osm_sa_path_record.c: path_sl may return SL different from requested
SL
8f3f7d0 osm_sm_state_mgr.c: Fix race condition during
sm_state_mgr_send_master_sm_info_req
b1b1b37 Fix minhop population in fabric with duplicate lids
ed9de4c osm_mcast_mgr.c: Fix wrong comparison in mcast_mgr_subdivide()
c5d5faa Only rewrite db files during heavy sweep when there is a real change
9aa6dcd osm_drop_mgr.c: fix timeouts on Get Pkey from ext switch ports
361c014 Fix dropping node after setPkey mad
2585f58 Improve memory consumption of pkey manager by using cl_map for
accum_pkeys
754bd75 osm_opensm.c: When exiting, update SADB only in MASTER state
3cc0a3e Fix timeout handling for pkeyGet for sw port 0
189a39d Fix possible use of lid 0 when sending set PortInfo after failure of
the first PortInfo set
6d1d1a4 Fix handling of get P_KeyTable on timeout
df385e8 osm_ucast_cache.c: Fix memory leak in ucast_cache
79ba877 osm_link_mgr.c: active_transition parameter in PortInfo(Set) context
may not be initialized
b442062 Resend trap 144 when detecting remote MASTER SM with lower priority
49ea151 osm_pkey.c: Fix find common pkey bug fix
e3aa9e8 dfsssp: send multicast forwarding tables to switches
4a39fb1 dfsssp: send multicast forwarding tables to switches
d5f6e25 osm_sa_mcmember_record.c: Fix incorrect comparison of IPv6 MGID when
searching for SNM MLID
908c524 osm_guid_mgr.c: Fix GUIDInfo SET function
e8bf592 Clean up event subscriptions if a port goes away
7c9afa0 Improve m_key lookup
807d9ed osm_trap_rcv.c: Fix locking in aging callback
eb294d5 osm_lid_mgr.c: Don't configure MTU and LMC for base SP0
a47e5d0 complib/cl_event_wheel.c: Roundup timeout to nearest msec
2a8c474 complib: Fix memory leak in cl_thread_pool_destroy function
1960fbc osm_trap_rcv.c: Fix crash in babbling port feature
1872d11 osm_sa_sminfo_record.c: fix sminfo sa query returns all sminfo records
when filtering by LID in osm_smir_rcv_process
b92f25a osm_ucast_cache.c : Fix dereference null return value
21765ad When SM fails to load/parse root_guids file use MinHop heuristics
7c21c14 Fix shift pattern support in FTREE routing for native ftree topologies
35f4419 osm_ucast_ftree.c: fix dereferencing null variable
4d36d6d osm_ucast_ftree.c : fix dereferencing null variable
49f1a71 opensm: fix possible double free in osm_ucast_ftree.c
2695128 Fix fat-tree routing for CAs with more than 1 connected port
42558d6 osm_sm_state_mgr.c Don't clear IS_SM bit when changing state to
NOT_ACTIVE
21a5b5f DFSSSP - workaround for better VL balancing
b42ae68 osm_console_io.c Memory leak when closing console
bcf00cb osm_ucast_dfsssp.c: Fix memory leak in dfsssp_do_dijkstra_routing
f42a232 Fix segfault in osm_mgrp_delete_port()
1a94326 osm_sa_multipath_record.c Use aliasGUIDs when building responses
943a40a opensm: Fix Q_Key, TClass and limited keys parsing warnings in
partitions.conf
0fc6e8b osm_lid_mgr.c: Fix duplicate LID assignment after SM port down
becc27e osm_sa_mad_ctrl.c: Drop incoming SA queries when shutting down
dbeb7a7 Change LFT event to be per block/per switch rather than just per
switch
25c088a Setup SM port GUID in subnet object as soon as it is known
92c502a osm_sa_mcmember_record.c: On join and leave, validate subnet prefix in
port GID
c0602ed opensm/osm_port_info_rcv.c: Fix min_sw_data_vls calculation
2d8df36 opensm/osm_sw_info_rcv.c: Fix double release of lock in
osm_si_rcv_process
e7435ef opensm/osm_torus.c: avoid the possibility of following stale ->priv
pointers
904a555 opensm/perfmgr: fix access to shared sweep_state variable
1458263 opensm/perfmgr: don't clear data counters in PortCounters when
ExtendedPortCounters is supported
b6d0001 opensm/perfmgr: issue ClassPortInfo as first query to each port.
e1af1ce opensm/osm_console.c: Use ib_port_info_get_link_speed_ext_enabled
2ba9919 opensm/osm_console.c: Do not perform portstatus checks on down ports
5c45f60 opensm/osm_console.c: Support portstatus output for unenabled
width/speed
1947644 opensm/osm_qos_policy.c: fix memory leak when parsing policy file
9358164 opensm/osm_sa_multipath_record.c: Validate required components are
indicated
fbe0d02 opensm/osm_sa_multipath_record.c: Make sure either none or both
ServiceID parameters are supplied
f929ac1 opensm/osm_sa_path_record.c: Make sure either none or both ServiceID
parameters are supplied
43efbc2 opensm/osm_sa_multipath_record.c: Fix seg fault in
mpr_rcv_get_apm_paths
250802d opensm/osm_qos_policy.c: Fix source & destination GUID policy check
9f231a8 libvendor/osm_vendor_ibumad.c: fix mad validation in case of multipath
record response
2be4e20 opensm/perfmgr: update node name when Node Description is received
from node
f37bf3c opensm/perfmgr: skip data counters when only printing errors
8412591 opensm/perfmgr: mark/report time of last counter update

4.2 Other Bug Fixes

28fd4ee osm_[subnet congestion_control].c: Cosmetic commentary change
391c244 osm_congestion_control.c: Added Mellanox copyright
7e08621 osm_congestion_control.c: In cc_rcv_mad, add attribute ID and modifier
to log message
62075d6 osm_perfmgr.c: Fix endian of MAD status in pc_recv_process
cd94c9c osm_congestion_control.c: Fix endian of MAD status in cc_rcv_mad
cb5df8b osm_congestion_control.c: Fix endian of node and port GUIDs in some
log messages
68887fb osm_congestion_control.c: Cosmetic changes
1331a46 osm_subnet.[h c]: Fix possibility for open file descriptor issue
ce15bb7 osm_perfmgr.c: Output remote port on perfmgr error counter log
messages
030ac82 osm_sa.c: Improve ERR 4C05 log message
fbb63d6 osm_subnet.c: Update MEPI supported devices white list
0774229 osm_subnet.c: Cosmetic formatting change
5871ef7 osm_sa.c: Check return value from chmod in opensm_dump_to_file
61cd0cf osm_switch.c: Fix potential memory leak due to misuse of realloc
c78adde osm_req.c: Initialize dest_port_guid in req_determine_mkey
dd5e5df osm_mcast_mgr.c: Add MLID to error 0A06 log message
63900bc osm_vendor_ibumad.h: Use UMAD_MAX_DEVICES for OSM_UMAD_MAX_CAS
a5c0200 iba/ib_types.h: Add support for new MAD SM:PortInfoExtended and for
modifying PM:PortExtendedSpeedsCounters
3f99535 osm_port_info_rcv.c: In osm_pi_rcv_process, move assert before first
log message
a0b9444 Change osm_subn_t.log_max_size type to uint32_t
b5abaa2 osmeventplugin.c: Add include of osm_config.h as first OpenSM include
ecce4e3 osm_console.c: Handle LinkSpeed[Ext]Active 0 for portstatus command
f622810 osm_console.c: Fix unknown speed/width port reporting for portstatus
command
ffdd042 osm_console_io.c: In is_authorized, STRING_UNKNOWN is define
a6ba888 Add missing keyword in partition definition in man page and
partition.txt doc
7444e5e Fix the difference in osm_opensm struct size between OpenSM and
plugin(s)
caf764f osm_subnet.h: Fixed commentary typo
117bc82 osm_prtn.c: Change message verbosity for log message in
osm_prtn_add_port
3b172ab osm_config.h.in: Fixed the difference in osm_opensm_t struct size
between opensm and plugins
d13d4bd osm_console.c: Track and report unknown/speed width ports
d63e7f6 osm_sa_path_record.c: Cosmetic formatting changes
48d159b libvendor/osm_vendor_ibumad.c: Remove GID index 0 check in
umad_receiver
d7f1d02 libvendor/osm_vendor_ibumad.c: memset osm_mad_addr_t before setting
fields
96f89d6 osm_console.c: Included unknown speed/width ports in "possible issues"
44df235 osm_dump.c: In dump_topology_node, handle link_width_active of 4 for
8X
a1e58e0 osm_link_mgr.c: Fix bug in mlnx extended port info setting
fcb6967 osm_subnet.c: Improve sweep_on_trap documentation in generated conf
file
47a6b00 osm_sa_multipath_record.c: Better logging for 4514, 4515, and 4505
error messages
115529b osm_sa_path_record.c: Better logging for 1F02 error message
fe079df osm_sa_path_record.c: Better logging for 1F05 and 1F03 error messages
43c378f osm_ucast_mgr.c: A couple of cosmetic log message changes in
ucast_mgr_route
9a5e514 osmtest/osmtest.c: Cosmetic formatting change
90db6c3 osm_state_mgr.c: Cosmetic formatting changes
e7139af osmtest/osmtest.c: Fix osmtest_get_sm_gid when running osmtest on node
other than SM node
83ea812 doc/performance-manager-HOWTO.txt: Update perfmgr config options
documentation
d4d5af3 libvendor/osm_vendor_ibumad_sa.c: Fixed endian in debug log message
c1080b9 osmtest/main.c: Cosmetic change to output for consistency
179fbac Add support for additional Mellanox OUI
be3e4f1 osm_subnet.c: Remove duplicate strcmp check in
osm_subn_rescan_conf_files method
e6fc2f8 Add some missing documentation files to installation
ed1571a osm_subnet.c: Change default for perfmgr_query_cpi option
3a1b458 osm_mcast_mgr.c: Cosmetic change to error log mesage
56bd964 opensm.init.in: Fix return value checking in opensm.init script
787c16e Eliminate redundant calls to ib_port_info_compute_rate
6a2d081 Shorten long lines while calculating SA rate
6ec10d6 man/opensm.8.in: Update date on man page
1dcf322 Improve scatter ports documentation
b1a8fb0 osm_subnet.c: Cosmetic formatting change in subn_validate_neighbor
d1b70fc osm_perfmgr.c: Add log message when perfmgr sweep is skipped
8098a4d osm_perfmgr.c: Remove unnecessary log message
38bc2e4 Skip state_mgr_check_tbl_consistency when no LID is changed by lid or
link managers
ce73c60 osm_drop_mgr.c: Add missing CR at end of log message in
drop_mgr_check_node
8255f8f osm_state_mgr.c: Improve error flow with wrong LIDs
86f1720 osm_sa_path_record.c: Fix some commentary typos
2bc6074 osmtest/main.c: Output formatting change for case 'x'
60727f7 osmtest: Add GRH tests for SA queries
d29dcd7 osm_sa_path_record.c: Fix misleading error messages during sweep
e91908b Add osm_congestion_control.c to per module logging support
3de1091 osm_congestion_control.c: Fix error code
3ee0a22 osm_sm.c: In sm_sweeper, no need to check for timeout after
cl_event_wait_on EVENT_NO_TIMEOUT
f3e1924 osm_trap_rcv.c: In shutup_noisy_port, improve ERR 3811 log message
f73ff43 osm_mcast_mgr.c: In mcast_mgr_process_mlid, cosmetic change to log
message
ab9fec9 osm_congestion_control.c: In cc_poller_send, handle cl_event_wait_on
return status
af04af7 osm_[sm sa]_mad_ctrl.c: Improve unsupported attribute error messages
16fee25 osm_helper.c: In osm_get_lsa_str, fix printing of wrong FDR10 data if
link is down
6c70bf1 PerfMgr: Eliminate no longer used sig_sweep variable
41d0a42 osm_perfmgr.c: In perfmgr_send_mad, handle cl_event_wait_on return
status
d764777 osm_perfmgr.c: Minor code factoring in perfmgr_send_mad
fa31298 doc/opensm_release_notes-3.3.txt: Updated repo location
8394ef8 libvendor/osm_vendor_ibumad.c: Commentary change
0ab7492 osm_subnet.c: More cosmetic changes to opensm conf file PerfMgr
documentation
cc977be osm_subnet.c: Enhance opensm conf file documentation for PerfMgr
options
38273db osm_port_info_rcv.c: Fixed calculation of min_data_vls
dc3259e Add support for additional Mellanox OUI
99a8e74 osmtest.c: Fixed missing assignment of return value from function
osmtest_get_port_rec_by_num
9ffa520 Fix the creation of empty multicast groups from SADB
1d3aacf osm_perfmgr_db.c: Add missing clear of new xmit_wait counter in
clear_counters
0f9b15c SM should resweep the fabric if vl15_send_mad fails
ee5f6d5 osm_perfmgr.c: Added Mellanox copyright
05be6c4 osm_perfmgr.c: Eliminate unneeded initialization in pc_recv_process
9ac71fd osm_perfmgr.c: Cosmetic formatting changes
54c6c86 osm_log.c: Fix wrong hour and date display in log when CL_ASSERT fail
5c81051 osm_console_io.c: Handle return value of function setsockopt
2e1294a osm_sa_[mcmember path]_record.c: Optimize clearing of SA record items
db9c450 osm_guid_info_rcv.c: Fix assert placement in osm_gi_rcv_process
bb723ae libvendor/osm_vendor_ibumad.c: Cosmetic change to umad_set_grh calls
5ca6bdc osm_perfmgr.c: Add current PerfMgr sweep state to 54FF error log
message
753af81 osm_mcast_mgr.c: Add missing new line at end of ERR 0A21 log message
d437d58 osm_mcast_mgr.c: Fix endian of port GUID in ERR 0A06 log message
51fb51d osm_ucast_mgr.c: Fix duplicated error codes
21c2ab7 osm_sa_mad_ctrl.c: In sa_mad_ctrl_rcv_callback, improve 1A04 error log
message
c83bde4 doc/performance-manager-HOWTO.txt: Fix typo
abaf91b osm_sa_service_record.c: Improved locking
1f4de58 osm_subnet.c: Fix bug in parsing configuration file
0fa5fc1 osm_sa_mcmember_record.c: Fix removing members from existing mc group
due to invalid requests
e156626 osm_qos_parser_y.y: Added range check for mtu limit parsing
cb439b3 osm_qos_parser_y.y: Added range check for rate limit parsing
a556f82 man/opensm.8.in: Minor fixes to per module logging configuration
7991745 osm_node_info_rcv.c: Update local copy of node info for known nodes
1c637df osm_node_info_rcv.c: Update NodeInfo.SysImageGUID on heavy sweep
275a56a osm_state_mgr.c: Clear first time sweep even after subnet error
09b5ffe osm_sa_path_record.c: In osm_pr_rcv_process, release lock before log
message
ef7a651 osm_state_mgr.c: Revert commit to "remove redundant unset to
first_time_master_sweep"
23dfbf8 osm_state_mgr.c: Remove redundant unset to first_time_master_sweep
e5a87dd Revert "Reset client reregistration when receiving handover"
28e5fa7 osm_sw_info_rcv.c: Add check of switch mcast_cap
78b6e8f osm_subnet.c: Fix resource leak neighbor parser
("subn_validate_neighbor" function)
46749c0 osm_subnet.c: Fix resource leak guid2mkey parser (guid validation
function)
6212e4b osm_ucast_ftree.c: Fix memory leak in ftree fabric_rank
afb6cb8 osm_ucast_mgr.c: Use LFT block of all port 0s to indicate resend
319e065 ib_types.h: Rename ib_switch_info_set_state_change function
b1c17a8 ib_types.h: Fix shadow declaration warnings
e3f0440 osm_ucast_updn.c: Fix the AA0B error number
30d9020 osm_ucast_updn.c: Add missing ERR number to log message
e8a9275 osm_port.c: Improve ERR 4108 log message
740c22b opensm/include/opensm/osm_log.h: Fix commentary cut 'n paste error
13ebee4 opensm/osm_subnet.c: Fixed ftree/updn configuration failure when
	root_guid_file points to non-existing file
8a9d267 opensm: fix locking in osm_guid_mgr_process
4d682bb opensm: Fix pthread_create() return value checks
63c6609 opensm/osm_port.h: Fix commentary typo
3e4e00b opensm/osmtest: fix osmtest ignores timeout parameter
68b1d92 opensm: perfmgr fix dump_counters
9d16039 opensm/perfmgr: fix endian conversion of PortCounters
324f269 opensm/osm_sa_inform_info.c: Fix some error log messages
1d5213a opensm/osm_madw.h: Fix a couple of cut 'n paste commentary errors
3fc662d opensm/torus-2QoS: Fix some typos in documentation
048c66e Fixed Multicast precreation parsing
086d611 Fixes in SL2VL table distribution algorithm
7d9f0c9 Fix deadlock between sminfo_set_req() and osm_sm_state_mgr()
69741e6 Fix base port0 sl2vl mapping optimization
bcda38e Fix SL2VL configuration
7e39542 Fix pre-creation of MC group with MGID containing P_Key
20e1a46 opensm/osm_congestion_control.c: Fix initialization hex string
a59072d opensm/osm_congestion_control.c: Skip TID 0 on 32 bit wraparound
7d18662 osmtest/osmtest.c: Fix permission
e7d4574 opensm/perfmgr: update new error codes to '54' prefix
e17dae6 opensm/osm_sa_portinfo_record.c: In pir_rcv_new_pir, fix switch port 0 physp
93b2f56 libvendor/osm_vendor_ibumad.c: fix unused-but-set warning
cda58af fixed unsused-but-set warning for DEBUG variables
e881d0e opensm/osmtest/osmt_multicast.: Fix typo in log message
203f3c6 opensm/osm_switch.c: Fix compile warnings
67c2538 opensm/man/opensm.8.in: Fix some typos
7338efc opensm/osmtest/osmtest.c: Fix endian in some log messages
67063ca opensm/libvendor: Fix compile warnings on 64 bit machines when building --with-osmv=sim
a8c209c opensm: fixed port order configuration in torus routing engine
7359cfc opensm/osm_ucast_mgr.c: Fix some issues found by Coverity
0150ab9 opensm/osm_ucast_ftree.c: Fix some issues found by Coverity
267a08f opensm/osm_pkey_mgr.c: Fix cast
12f772d opensm: Fix some OSM_SIGNAL and OSM_SM_SIGNAL numbering
c29c4f1 opensm/osm_sa_service_record.c: Fix minor memory leak
f936f8b opensm: fix strtoull error handling
0292ae2 opensm: fixed segfault when enable qos on fabric with no switches
619fa64 osmtest/osmt_multicast.c: Fixed another insufficient component case
1618803 opensm/osm_sa.c: Fix commentary typo
c98fec9 opensm/osm_subnet.c: Fix description of max_msg_fifo_timeout
0a3839f osmtest/osmtest.c: Fix trap flow not implemented log message
f08479a opensm/osm_base.h: Fix a commentary typo
ae966f6 osmtest/osmt_multicast.c: Fix some typos
8a3b5b9 osmtest/osmt_multicast.c: Fixed some error codes in OSM_LOG messages
c90953d osmtest/osmt_multicast.c: Fixed a couple of typos in OSM_LOG messages
f7f1ead opensm/osm_sa_mcmember_record.c: Fix handling of invalid PKey
65d3e4f opensm/osm_pkey_mgr.c: Fix commentary typo
34d61cc opensm/perfmgr: fix overflow processing
77d79b4 opensm: fixed potential null variable dereferencing in libvendor
350c6e4 opensm: fixed potential memory leak in osm_ucast_ftree()
e206872 opensm: Fixed debug message in osm_vendor_send()
1b3e93e opensm: fixed sizeof of pointer allocation in osm_ucast_lash()
f0b915a Fix SANodeRecord.nodeInfo.localPortNum
3332658 opensm: fixed memory leak in multicast spanning tree calculation
e4525b1 opensm: fixed indentation and decreased verbosity of RMPP length message
10ac4c1 Fix compile warning introduced by patch "fixed getline pointer allocation free in osm_console_io"
bf23d7c opensm: fixed getline pointer allocation free in osm_console_io
54b1583 Makefile: ChangeLog and version generation script path fix
4911e0b performance-manager-HOWTO.txt: Indicate master state
86ccaa4 opensm/osm_pkey_mgr.c: Fix pkey endian in log message
b79b079 opensm.8.in: Add mention of backing documentation for QoS policy
	file and performance manager
b4d92af opensm/osm_perfmgr.c: Eliminate duplicated error number
a10b57a opensm/osm_ucast_ftree.c: lids are always handled in host order
44273a2 opensm/osm_ucast_ftree.c: fixing bug in indexing
5cd98f7 Fix further bugs around console closure and clean up code.
6b34339 opensm/osm_opensm.c: add newline to log message
68c241c send trap144 when local priority is higher than master priority
6462999 opensm/osm_inform.c: In __osm_send_report, make sure p_report_madw
	valid before using
9b8561a opensm/console: Fixed osm_console poll to handle POLLHUP
91d0700 osm_vendor_ibumad.c: In clear_madw, fix tid endian in message
5a5136b osm_switch.h : Fixed wrong comment about return value of
	osm_switch_set_hops
c1ec8c0 osm_ucast_ftree.c: Removed useless initialization on switch indexes
418d01f opensm/osm_helper.c: use single buffer in osm_dump_dr_smp()
2c9153c opensm/osm_helper.c: consolidate dr path printing code
048c447 opensm/osm_helper.c: return then log is inactive
dd3ef0c opensm: Return error status when cl_disp_register fails
0143bf7 opensm/osm_perfmgr.c: Improve assert in osm_pc_rcv_process
6622504 osm_perfmgr.c: In osm_perfmgr_shutdown, add missing cl_disp_unregister
7b66dee opensm: remove unneeded anymore physp initializations
f11274a opensm/partition-config.txt: Update for defmember feature
d240e7d opensm/osm_sm_state_mgr.c: Remove unneeded return statement
898fb8c opensm: Improve some snprintf uses
6820e63 opensm/osm_sa_link_record.c: improve get_base_lid()
64c8d31 opensm: initialize all switch ports
555fae8 opensm/sweep: add log message before lid assignment
8e22307 opensm/console: Enhance perfmgr print_counters for better nodenames
b9721a1 opensm/osm_console.c: Improve perfmgr print_counters error message
4d8dc72 opensm/osm_inform.c: Fix sense of zero GID compare in __match_inf_rec
a98dd82 opensm/main.c: remove enable_stack_dump() call
db6d51e opensm/osm_subnet: fix crash in qos string config parameters reloading
e5111c8 opensm: proper config file rescan
e5295b2 opensm: pre-scan command line for config file option
e2f549e opensm/osm_console.c: Eliminate some extraneous parentheses
0a265dc opensm/console: dump_portguid - don't duplicate matched guids
540fefb opensm/console: dump_portguid command fixes
d96202c opensm/osm_console.c: Add missing command in help_perfmgr
ae1bd3c opensm/osm_helper.c: Add port counters to __osm_disp_msg_str
1d38b31 opensm/osm_ucast_mgr.c: Add error numbers for some OSM_LOG prin
156c749 opensm: fix structure definition for trap 257-258
5c09f4a opensm/osm_state_mgr.c: small bug in scanning lid table
72a2fa2 opensm/osm_sa.c: fixing SA MAD dump
539a4d3 opensm/osm_ucast_ftree.c Fixed bad init value for down port index
6690833 opensm/ftree: simplify root guids setup.
90e3291 opensm/ftree: cleanup ftree_sw_tbl_element_t use
c07d245 opensm/qos_config: no invalid option message on default values
b382ad8 opensm: avoid memory leaks on config parameters reloading
45f57ce opensm/osm_ucast_ftree.c: Fixed bug on index port incrementation
3d618aa opensm/osm_subnet.c: break matching when config parameter already found
44d98e3 opensm/osm_subnet.c: clean_val() remove trailing quotation
173010a opensm/doc/perf-manager-arch.txt: Fix some commentary typos
83bf6c5 opensm/osm_subnet.c fix parse functions for big endian machines
6b9a1e9 opensm/PerfMgr: Primarily fix enhanced switch port 0 perf manager
	operation
4f79a17 opensm/osm_perfmgr.c: In osm_perfmgr_init, eliminate memory leak
	on error
22da81f opensm/osm_ucast_ftree.c: fix full topology dump
aa25fcb opensm/osm_port_info_rcv.c: don't clear sw->need_update if port 0
	is active
003bd4b opensm/osm_subnet.c Fix memory leak for QOS string parameters.
9cbbab2 opensm/opensm.spec: fix event plugin config options
996e8f6 OpenSM: update osmeventplugin example for the new TRAP event.
67f4c07 opensm/lash: simplify some memory allocations
3e6bcdb opensm/lash: fix memory leaks
3ff97b9 opensm/vendor: save some stack memory
ccc7621 opensm/osm_ucast_ftree.c: fixing errors in comments
1a802b3 Corrected incoherency in __osm_ftree_fabric_route_to_non_cns comments
85a7e54 opensm/osm_sm.c: fix MC group creation in race condition
aad1af2 opensm/osm_trap_rcv.c: Improvements in log_trap_info()
f619d67 opensm/osm_trap_rcv.c: Minor reorganization of trap_rcv_process_request
084335b opensm/link_mgr: verify port's lid
d525931 opensm/osm_vendor_ibumad: Use OSM_UMAD_MAX_AGENTS rather than
	UMAD_CA_MAX_AGENTS
f342c62 opensm/osm_sa.c: don't ignore failure in osm_mgrp_add_port()
587fda4 osmtest/osmt_multicast.c: fix strict aliasing breakage warning
6931f3e opensm: make subnet's max mlid update implementation independent
30f1acd osm_ucast_ftree.c missing reset of ca_ports
ac04779 opensm: fix LFT allocation size
a7838d0 opensm/osm_ucast_cache: reduce OSM_LOG_INFO debug printouts
c027335 opensm/osm_ucast_updn.c: Further reduction in cas_per_sw allocation
e8ee292 opensm/opensm/osm_subnet.c: adjust buffer to ensure a '\n' is printed
84d9830 opensm/osm_ucast_updn.c: Reduce temporary allocation of cas_per_sw
347ad64 opensm/ib_types.h: Mask off client rereg bit in set_client_rereg
c2ab189 opensm/osm_state_mgr.c: in cleanup_switch() check only relevant
	LFT part
40c93d3 use transportable constant attributes
c8fa71a osmtest -code cleanup - use strncasecmp()
770704a opensm/osm_mcast_mgr.c: In mcast_mgr_set_mft_block, fix node GUID
	in log message
3d20f82 opensm/osm_sa_path_record.c: separate router guid resolution code
27ea3c8 opensm: fix gcc-4.4.1 warnings
c88bfd3 opensm/osm_lid_mgr.c: Fix typo in OSM_LOG message
a9ea08c opensm/osm_mesh.c: Add dump_mesh routine at OSM_LOG_DEBUG level
bc2a61e C++ style coding does not compile
6647600 opensm: remove meanless 'const' keywords in APIs
323a74f opensm/osm_qos_parser_y.y: fix endless loop
0121a81 opensm: fix endless looping in mcast_mgr
696c022 opensm: fix some obvious -Wsign-compare warnings
b91e3c3 opensm/osm_get_port_by_lid(): don't bother with lmc
ca582df opensm/osm_get_port_by_lid(): speedup a port lookup
fd846ee opensm/osm_mesh.c: simplify compare_switches() function
fe20080 osm_sa.c - void * arithmetic causes problems
220130f osm_helper.c use explicit value for struct init
0168ece use standard varargs syntax in macro OSM_LOG()
180b335 update functions to match .h prototypes
9240ef4 opensm/osm_ucast_lash: fix use after free bug
6f1a21a opensm: osm_get_port_by_lid() helper
c9e2818 opensm/osm_sa_path_record.c: validate multicast membership
225dcf5 opensm/osm_mesh.c: Remove edges in lash matrix
4dd928b opensm/osm_sa_mcmember_record.c: clean uninitialized variable use
c48f0bc opensm/osm_perfmgr_db.c: Fix memory leak of db nodes
82d3585 opensm/osm_notice.c: move logging code to separate function
9557f60 opensm/osm_inform.c: For traps 64-67, use GID from DataDetails in
	log message
e2e78d9 opensm/opensm.8.in: Indicate default rule for Default partition
08c5beb opensm/osm_sa_node_record.c: dump NodeInfo with debug verbosity
1fe88f0 opensm/multicast: merge mcm_port and mcm_info
ba75747 opensm/multicast: consolidate port addition/removing code
5e61ab8 opensm: port object reference in mcm ports list
5c5dacf opensm: fix uninitialized return value in osm_sm_mcgrp_leave()
7cfe18d osm_ucast_ftree.c: Removed reverse_hop parameters from
	fabric_route_upgoing_by_going_down
aa7fb47 opensm/multicast: kill mc group to_be_deleted flag
a4910fe opensm/osm_mcast_mgr.c: multicast routing by mlid - renaming
1d14060 opensm/multicast: remove change id tracking
5a84951 opensm: use mgrp pointer as osm_sm_mcgrp_join/leave() parameter
d8e3ff5 opensm: use mgrp pointer in port mcm_info
0631cd3 opensm doc: Indicated limited (rather than partial) partition
	membership
1010535 opensm/osm_ucast_lash.c: In lash_core, return status -1 for all errors
942e20f opensm/osm_helper.c: Add SM priority changed into trap 144 description
2372999 opensm/osm_ucast_mgr: better lft setup
e268b32 opensm/osm_helper.c: Only change method when > rather than >=
9309e8c complib/cl_event.c: change nanosec var type long
d93b126 opensm/complib: account for nsec overflow in timeout values
ef4c8ac opensm/osm_qos_policy.c: matching PR query to QoS level with pkey
c93b58b opensm: fixing some data types in osm_req_get/set
2b89177 opensm/libvendor/osm_vendor_ibumad.c: Handle umad_alloc failure in
	osm_vendor_get
2cba163 opensm/osm_helper.c: In osm_dump_dr_smp, fix endian of status
47397e3 opensm/osm_sm_mad_ctrl.c: Fix endian of status in error message
e83b7ca opensm/osm_mesh.c: Reorder switches for lash
9256239 opensm/osm_trap_rcv.c: Validate trap is 144 before checking for
	NodeDescription changed
011d9ca opensm/osm_ucast_lash.c: Handle calloc failure in generate_cdg_for_sp
59964d7 opensm: fixing handling of opt.max_wire_smps
f4e3cd0 opensm/osm_ucast_lash.c: Directly call calloc/free rather than
	create/delete_cdg
5a208bd opensm/osm_ucast_lash.c: Added error numbers to some error log messages
3b80d10 opensm/osm_helper.c: fix printing trap 258 details
f682fe0 opensm: do not configure MFTs when mcast support is disabled
cc42095 opensm/osm_sm_mad_ctrl.c: In sm_mad_ctrl_send_err_cb, indicate
	failed attribute
aebf215 opensm/osm_ucast_lash.c: Remove osm_mesh_node_delete call from
	switch_delete
1ef4694 opensm/osm_path.h: In osm_dr_path_init, only copy needed part of path
c594a2d opensm: osm_dr_path_extend can fail due to invalid hop count
46e5668 opensm/osm_lash: Fix use after free problem in osm_mesh_node_delete
81841dc opensm/osm_ucast_lash.c: Handle malloc failures better
2801203 opensm: remove extra "0x" from debug message.
88821d2 opensm/main.c: Display SMSL when specified
f814dcd opensm/osm_subnet.c: Format lash_start_vl consistent with other
	uint8 items
66669c9 opensm/main.c: Display LASH start VL when specified
31bb0a7 opensm/osm_mcst_mgr.c: check number of switches only once
75e672c opensm: find MC group by MGID using fleximap
2b7260d Clarify the syntax of the hop_weights_file
e6f0070 opensm/osm_mesh.c: Improve VL utilization
27497a0 opensm/osm_ucast_ftree.c Fix assert comparing number of CAs to CN ports
3b98131 opensm/osm_qos_policy.c: Use proper size in malloc in
	osm_qos_policy_vlarb_scope_create
e6f367d opensm/osm_ucast_ftree.c: Made error numbers unique in some log
	messages
83261a8 osm_ucast_ftree.c Count number of hops instead of calculating it
7bdf4ff opensm/osm_sa_(path multipath)_record.c: Fix typo in a couple of
	log messages
0f8ed87 opensm/osm_ucast_mgr.c: Add error numbers to some error log messages
0b5ccb4 complib/Makefile.am: prevent file duplications
e0b8ec9 opensm/osm_sminfo_rcv.c: clean type of smi_rcv_process_get_sm()
4d01005 opensm: sweep component processors return status value
6ad8d78 opensm/libvendor/osm_vendor_(ibumad mlx)_sa.c: Handle malloc
	failure in __osmv_send_sa_req
cf97ebf opensm/osm_ucast_lash.(h c): Replace memory allocation by array
957461c opensm/osm_sa.c add attribute and component mask to error message
5d339a1 osm_dump.c dump port if lft is set up
518083d osm_port.c: check if op_vls = 0 before max_op_vls comparison
b6964cb opensm/osm_port.c: Change log level of Invalid OP_VLS 0 message
	to VERBOSE
b27568c opensm/PerfMgr: Reduce host name length
bc495c0 opensm/osm_lid_mgr.c bug in opensm LID assignment
5a466fd opensm/osm_perfmgr_db.c: Remove unneeded initialization in
	perfmgr_db_print_by_name
57cf328 opensm/osm_ucast_ftree.c Increase the size of the hop table
8323cf1 opensm/PerfMgr: Remove some underbars from internal names
65b1c15 opensm: Changes to spec and make files for updated release notes
cd226c7 OpenSM: include/vendor/osm_vendor.h - Replaced #elif with no
	condition by #else
9f8bd4a management: Fixed custom_release in SPEC files
c0b8207 opensm/PerfMgr: Change redir_tbl_size to num_ports for better clarity
596bb08 opensm/osm_sa.c: check for SA DB file only if requested
2f2bd4e opensm SA DB dump/restore: load SA DB only once
4abcbf2 opensm: Added print_desc to various log messages
5e3d235 opensm/osm_vendor_ibumad.c: Move error info into single message
8e5ca10 opensm/libvendor//osm_vendor_ibumad_sa.c: uninitialized fields
d13c2b6 opensm/osm_sm_mad_ctrl.c Changes to some error messages
f79d315 opensm/osm_sm_mad_ctrl.c: Add missing call to return mad to mad pool
150a9b1 opensm/osm_sa_mcmember_record.c: print mcast join/create failures in
	VERBOSE instead of DEBUG level
9b7882a opensm/osm_vendor_ibumad.c: Change LID format to decimal in log message
5256c43 opensm/osm_vendor_mlx: fix compilation error
93db10d opensm/osm_vendor_mlx_txn.c: eliminate bunch of compilation warnings
156fdc1 opensm/osm_helper.c Log format changes
7a55434 opensm/osm_ucast_ftree.c Changed log level
a1694de opensm/osm_state_mgr.c Added more info to some error messages
fdec20a opensm/osm_trap_rcv.c: Eliminate heavy sweep on receipt of trap 145
13a32a7 opensm - standardize on a single Windows #define - take #2
b236a10 opensm/osm_db_files.c: kill useless malloc() castings
4ba0c26 opensm/osm_db_files.c: add '/' path delimited
e3b98a5 opensm/osm_sm_mad_ctrl.c: Fix qp0_mads_accounting
dbbe5b3 opensm/osm_subnet.c: fixing bug in dumping options file
f22856a opensm/osm_ucast_mgr.c: fix memory leak
0d5f0b6 opensm: osm_get_mgrp_by_mgid() helper
e3c044a osm_sa_mcmember_record.c: pass MCM Record data to mlid allocator
3dda2dc opensm/osm_sa_member_record.c: mlid independent MGID generator
1f95a3c opensm/osm_sa_mcmember_record.c: move mgid allocation code
b78add1 complib: replace intn_t types by C99 intptr_t
a864fd3 osmtest/osmt_mtl_regular_qp.c: cleaning uintn_t use
9e01318 opensm/osm_console.c: make const functions
f8c4c3e opensm/osm_mgrp_new(): add subnet db insertion
80da047 complib/fleximap: make compar callback to return int
bf7fe2d opensm: cleanup intn_t uses
0862bba opensm/main.c: opensm cannot be killed while asking for port guid
2b70193 opensm/complib: bug in cl_list_insert_array_head/tail functions
4764199 opensm - use C99 transportable data type for pointer storage
a9c326c opensm/osm_state_mgr.c: do not probe remote side of port 0
4945706 opensm/osm_mcast_mgr.c: fix return value on alloc_mfts() failures
8312a24 OpenSM: Fix unused variable compiler warning.
ab8f0a3 opensm/partition: keep multicast group pointer
a817430 opensm: Only clear SMP beyond end of PortInfo attribute
52fb6f2 opensm/osm_switch.h: Remove dead osm_switch_get_physp_ptr routine
aa6d932 opensm/osm_mcast_tbl.c: In osm_mcast_tbl_clear_mlid, use memset to
	clear port mask entry
2ad846b opensm/osm_trap_rcv.c: use source_lid and port_num for logging
b9d7756 opensm/osm_mcast_tbl: Fix size of port mask table array
11c0a9b opensm/main.c: Use strtoul rather than strtol for parsing transaction
	timeout
0608af9 opensm/osm_sm_mad_ctrl.c: In sm_mad_ctrl_send_err_cb, revert setting
	of init failure on QoS initialization failures
c6b4d4a opensm/osm_vendor_ibumad.c: Add transaction ID to osm_vendor_send
	log message
520af84 opensm/osm_sa_path_record.c: don't set dgid pointer for local subnet
4a878fb opensm/osm_mcast_mgr.c: fix osm_mcast_mgr_compute_max_hops for
	managed switch
7c48590 opensm/osm_log.c: add OSM_LOG_SYS to default flags
89f7cb6 opensm/osm_lid_mgr: use 'first_time_master_sweep' flag
0cb7fab opensm: conversion to osm_get_port_by_lid()
9d14fc0 opensm/osm_lid_mgr.c: fix memory leak
c364aa1 opensm/opensm.init.in: fix install warning on SLES11
1010c9c opensm/osm_sa_path_record.c: livelock in pr_rcv_get_path_parms
4b2cd5e opensm/vendor: fix portguids array size
52bf5b2 opensm/osm_subnet.c: fixing some options to not "hot-swappable"
8900da0 opensm/osm_subnet.{c,h}: passing options to the event plugins
051c57f Delete port only after GID OUT trap was sent
d4ebf7e opensm/complib/cl_passivelock.h: remove unneeded casting
8fdb17c opensm/complib/cl_types.h: convert cl_status_t to int
fd7fb1e opensm/osm_mcast_mgr.c: preserve root switch calculation functionality
fcb0f3a opensm/osm_mcast_mgr.c: code simplifications
444f559 opensm/osm_mcast_mgr.c: fix bug in MC root switch calculation
041ebcb opensm/osm_mcast_mgr.c: remove redundant casting
3717f53 opensm/osm_sa_pkey_record.c: optimize port selection logic
48352be opensm/osm_mcast_mgr.c: fix memory leak
f3cf83f opensm/complib/cl_ptr_vector.c: fix bug/compiler warning
27c8ebd opensm/osm_subnet.h: remove redundant function definition
f296938 opensm/osm_vl_arb_rcv.c: fix double mutex release bug
00bc48e opensm/osm_port_info_rcv.c: fix compilation warning
8823800 opensm/osm_sa.{c,h}: osm_sa_db_file_dump() return values
f4581f3 opensm/osm_qos.c: Fix typo in OSM_LOG message
e3c790a opensm/osm_update_node_desc(): minor prototype improvement
3cc68cb opensm/osm_vl_arb_rcv.c: Dump table after validating block number
7dbb96e opensm SA DB: dump only if modified
fa2106d opensm/osm_sa_infrominfo.c: fixes and simplifications in lid range check
051a1dd opensm/osm_qos.c: split switch external and end ports setup
a6c0189 opensm/osm_qos.c: merge SL2VL mapping capability check
3fe8efe opensm/osm_slvl_map_rcv.c: verify port number values received from
	network
88c372c opensm/osm_slvl_map_rcv.c: fix mutex double release bug
d282093 opensm/osm_slvl_map_rcv.c: fix port parsing on BE machine
8e9dbd3 osm_sa_path_record.c: use PR DGID by reference
7c9d375 osm_sa_path_record.c: separate mutlicast processing code
cb2d18e opensm/osm_sa_path_record.c: MGID must be specified explicitly
bd3932b opensm/osm_mcast_mgr.c: strip log-only variable
9d93de3 opensm/osm_pkey_mgr.c: Eliminate unneeded parameter from pkey_mgr_get_physp_max_blocks API
5f49472 opensm/include/osm_helper.h: Eliminate some duplicate declarations
e8ddcd4 opensm/osm_opensm.c: no report when SM is exiting
77ce7c8 complib/cl_timer: remove not needed timeval initializations
490aae2 opensm/osm_helper.c: Add some missing message names to disp_msg_str
d678a21 opensm: Modify OSM_LOG_SYS messages
4cfb481 opensm: Fix wrong messages in MC delete flow
5b82f92 opensm/osm_req.c: In osm_send_trap144, eliminate redundant clear of m_key in smp
9bf64dc opensm/osm_qos.c: Eliminate unneeded endport SL to VL setup
34b536c opensm/osm_sa_path_record.c: adding wrapper for pr_rcv_get_path_parms()
237b5d1 opensm/osm_mcast_mgr.c: Only route MLIDs with more than 1 member
a72db14 opensm/osm_trap_rcv.c: No need for heavy sweep when just NodeDescription changes
ea9a768 opensm/osmtest.c: fix bug in getting attr offset
a3dec3a iba/ib_types.h: remove assertion in ib_get_attr_offset()
6bc032a return no path when path does not exist
1592ae9 opensm: Better handling of non responsive SMAs
a69f01b opensm/osm_perfmgr.c: Remove unnecessary lock reference from Performance Manager object
167ade2 opensm: fixing compilation issues in some header files
e1c253e opensm/qos.c: Revert port ranges for calls to sl2vl_update_table().
0689f49 opensm/libvendor Reduce stack consumption
59056c7 opensm - address windows env issues
ff14200 opensm/osm_sa_multipath_record.c: livelock in mpr_rcv_get_path_parms
3f23d83 opensm/osm_sa_path_record.c: Add error code to newly added log message
7fc6cd3 ib_types.h add debug assert
4fd4ca3 osmtest - use helper function
6fdc20a opensm/complib use portable macro syntax
bf23d7c opensm: fixed getline pointer allocation free in osm_console_io
74867c7 Add node/port/qos information to some error messages
31a617d replace (long*)(long) casting with transportable data type (uintptr_t)
8da7521 opensm/st.c: fix potential core dumps
6a30911 opensm/osm_console.c: fix memory and file descriptor leaks
696f12c opensm/osm_qos_parser_y.y: fixing bunch of memory leaks on invalid values
3a7b97c opensm/osm_ucast_file.c: closing file descriptor in error path
b4575c5 opensm/osm_pkey_mgr.c: fixing small memory leak
dc0695f opensm/osm_ucast_lash.c: small bug in calculating allocated size
3c9604b opensm/osm_ucast_ftree.c: fixing another memory leak at error path
4460990 opensm/osm_ucast_ftree.c: fix small memory leak in error path
857cd6c opensm/osm_trap_rcv.c: fix possible core dump
b74bef5 opensm/osm_trap_rcv.c: No need to check for sweep for trap 145
81dade3 opensm/osm_ucast_ftree: When roots are not connected, update hop count but not lft
acf2337 osmtest/osmt_service.c: In osmt_run_service_records_flow, add missing status
6db7f4a opensm/osm_state_mgr.c: Don't signal DISCOVER to SM state machine when already DISCOVERING
28693c5 Fix autotools to include the necessary M4 files
c1c8730 osm_vl15intf.c: fixing use-after-free coredump
3353f9b opensm/osm_helper.c: use ARR_SIZE macro instead of hardcoded values
2da9849 osmtest/osmt_slvl_vl_arb.c: handling fopen() failure
f48d5ea opensm/osm_db_files.c: malloc() return value run-time check
ea3ef82 opensm/osm_db_files.c: fix small memory leak
f4a5174 opensm/osm_subnet.c: fixing small bug in error path
c18ef23 opensm/osm_mesh.c: fixing a bug in compare_switches()
83b74cd opensm/osm_helper.c: fix potential overrun of the array
85c0ac9 osmtest/osmtest.c: handle timeouts in PR stress test
ebb2c84 opensm/osm_node_info_rcv.c: move p_physp declaration under code block
5c88113 opensm/osm_node_info_rcv.c: remove useless code line
866d939 opensm/osm_sa_vlarb_record.c: removed unused variable
15a8770 opensm/osm_sa_pkey_record.c: removing unused variable
8f002b7 opensm/osm_pkey.c: removing unused function
9c0fa2f opensm/osm_sminfo_rcv.c: removing unused variable
d3f060a opensm/osm_mtree.c: removing useless 'if' statement
bbef64a libvendor/osm_vendor_mlx_sa.c: remove useless "if" statement
2da02b5 libvendor/osm_vendor_ibumad_sa.c: remove useless "if" statement
435dde0 opensm/sa: simplify osm_mcmr_rcv_find_or_create_new_mgrp() function call
e7a872d opensm/osm_qos_policy.c: change a log message
ffbe7d0 opensm: Cause status of unicast routing attempt to propogate to callers of osm_ucast_mgr_process().
673877a opensm: Make mcast_mgr_purge_tree() available outside osm_mcast_mgr.c.
b135687 opensm: Track the minimum value in the fabric of data VLs supported.
7c1ee64 opensm: Fix typo in routing section in man page and doc
d206011 opensm/osmtest/osmtest.c: inventory file parsing bugfix
e01121a fixed deprecated conversion from string constant to char* warning
a7ba101 opensm/main.c: Change size parameter in setvbuf call from 0 to BUFSIZ
2a92554 opensm/osmtest/osmt_multicast.c: Fix multicast flow failures on pkey validation
364e65b opensm/osm_dump.c: Fix FDR10 speed dumping
80e11b9 osmtest/osmt_multicast.c: Fix check of partial JoinState delete request - removing NonMember (o15.0.1.14)
78e1e4e osmtest/osmt_multicast.c: Fix check of BAD RATE when connecting to existing MGID (o15.0.1.13)
e94e972 osmtest/osmt_multicast.c: Fix first MGID=0 MC group creation case
daedad7 opensm/osmtest/osmt_multicast.c: Fix an unrealistic rate case
110ae10 opensm: fixed segfault in osm_destroy
d666205 opensm/osm_prtn.c: Fix typo in log message
f3ccb45 opensm: Remove duplicate definition of IB_MAD_STATUS_CLASS_MASK
917070c Move no_fallback_routing_engine from osm_subn_opt_t to osm_opensm_t.
d71a924 Free memory from osm_subn_opt_t when osm_subn_t destroyed
1b75fa4 Remove duplicate initialization of scatter_ports
b5f4570 Do not load configs from the default config file and specified config file
f24a089 Fix memleak and segfault
247d0d8 Fix IPoIB broadcast group creation on non-default Pkey
78d86bd opensm/osm_subnet.c: Trivial optimization to code flow in subn_verify_sl2vl
6bb41e3 opensm/complib/cl_atomic.h: Commentary changes
28ee7b9 opensm/osm_sa_class_port_info.c: Conditionalize setting of OSM_CAP2_IS_MCAST_TOP_SUPPORTED
29e59a2 Removed unused parameter "ib_mad_addr" from umad_reciever()
63ad0bb opensm/osmeventplugin/src/osmeventplugin.c: Output LIDs in decimal
17967c2 opensm/osm_switch.h: Fix commentary typo
6d3e223 opensm/osm_perfmgr.c: Enhance send error log message
08abcd4 opensm/osm_sa_mad_ctrl.c: Enhance send error log message
13f3e0f opensm/libvendor/osm_vendor_ibumad.c: Fix DR path printing on send timeouts
0dfd760 Fix suggest parentheses around operand warning
ad2dbf8 Support source-target-port-guid QoS policy configuration with ULP 'any'
080e3ad Support source-port-guid QoS policy configuration with ULP 'any'
49777a9 Fix typo in qos-ulps parsing comment
bcfe1b9 opensm/osm_torus.c: Use "OpenSM standard" error codes
683397d Fix use of GNU old-style field designator extension
719fcd4 Fix use of logical && with constant operand; switch to bitwise &
6bc87bd opensm: fix search common pkeys
a6ac5e3 opensm/osm_drop_mgr.c: GID out trap fix
7717505 opensm/osm_pkey_mgr.c: fix segfault when trying to access not allocated block
eb90efd include/opensm/osm_subnet.h: fix comment typos
0a315e3 opensm/include/iba/ib_types.h: fix comment typos and errors
125baa0 opensm/opensm.8.in: Fix cut 'n paste error
f0d14d2 opensm/osm_ucast_ftree.c: Fix some typos
841096f opensm: Fix opensm handover/relinquish corner case
bf420ac opensm/osm_helper.c: Fix commentary typo
2be999c opensm: fixed description in osm_routing_engine
cf3d185 gen_chlog.sh: fixed version ordering
8d49c5d opensm/osm_sa_guidinfo_record.c: Fix locking
8d764b8 Fix continous looping when clearing accum_pkeys table
32500a6 opensm/osm_link_mgr.c: Fix sending PortInfo Set for ports supporting extended speed
e24ff39 Fix Pkey enforcement configuration
041e47a Fix PathRecord reply to be the same for allow_both_pkeys ON and OFF
3c9b81d OpenSM/osm_prtn_config.c: Fix non-initialized pointer usage
28a40a2 Fix logging messages about op_vls and mtu mismatch
5e672a6 Fix memory leak on dfsssp_context_destroy()
3a87fa2 opensm/osm_req.c: fix first sweep m_key search algorithm
2108431 opensm: fix default cc_max_outstanding_mads assignment
dae214f opensm/osm_log.h: fix function documentation
1cf0bb9 opensm/osm_congestion_control.c: fix use-after-free found by coverity
ab5af49 opensm/osm_ucast_dfsssp.c : fix dereference before null check
b6a2f6a opensm/osm_ucast_dfsssp.c : fix dereference null return value
df66c1f opensm: Fix incorrect use of sizeof
c58a416 opensm/osm_dump.c: Fix output port on SL2VL table for non switch nodes
8af5bce opensm/osm_sa_slvl_record.c: Fix out port for CAs and routers
18a77f9 opensm/osm_torus.c: Fix memory leak
4ccbdc1 Fix -Wformat-security warnings with clang
c762389 Fix -Wtautological-compare warnings with clang
9e6dd8f Fix linker error with clang with -O < 2
27da5eb opensm/include/osm_opensm.h: Fix commentary typo
b9067ba opensm/include/complib/cl_packon.h: Fix some commentary typos
e522f74 opensm/osm_perfmgr_db.c: Fix output error due to possible 32bit int overflow
6f94c4c opensm: Fix signed vs unsigned int comparison
2ea2cf3 opensm/osm_vl15intf.c: Fix commentary typo
f396936 opensm/complib/cl_atomic_osd.h: Fix long standing bug in cl_atomic_sub
606157c osmtest/osmt_multicast.c: Fix 02BF error
03d55f6 opensm/osm_sw_info_rcv.c: Fixed locking issue on osm_get_node_by_guid error
d7e4da1 opensm: Use IB_PATH_SELECTOR_EXACTLY rather than harded coded constant
735c86d opensm/osm_sa_informinfo.c: Fix infr_rcv_respond to only copy InformInfo
074ec5a osm_perfmgr.h: Cosmetic formatting changes
05af776 osm_drop_mgr.c: Add missing assert
de254f9 osm_opensm.c: Add missing ERR number
b1e58bb osmeventplugin: Fix compile warning
48c9f43 osm_prtn_config.c: Some changes to osm_prtn_config_parse_file
6321afa osm_subnet.c: Cosmetic change to config file output
aaa7b1e osm_db_files.c: Some minor fixes/improvements to osm_db_store
3cae07c osm_perfmgr.c: Cosmetic formatting changes
07b24a3 osm_port_info_rcv.c: Reset client reregister bit only on a response to
SET
84c9832 osm_ucast_ftree.c: replace assert with error return value
1c0f0 osm_sa_path_record.c: Improve ERR 1F1D to show the pkey specified in
PathQuery
94e99a8 osm_mcast_mgr.c: Removed mcast_mgr_purge_tree_node due to code
duplication
929934e osm_pkey.[h c]: Remove dead function osm_pkey_tbl_clear_accum_pkeys
bf42ec8 osm_mtree.c: Cosmetic change in osm_mtree_destroy function
7e96f32 osm_sm_state_mgr.c: Fix handling of polling retry number
78d87b9 osm_mcast_mgr.c: fixed missing error message number
a1df1d7 osm_state_mgr.c: Fix error print in state_mgr_check_tbl_consistency()
1441937 osm_mcast_mgr.c Add block number to error message
edd5e74 Redundant remove() function call during db file generation
dcb2df0 osm_link_mgr.c: Fix uninitialized value (physp0)
7160cce osm_link_mgr.c: Fix uninitialized value (physp0)
5aa4ea3 osm_link_mgr.c: fix uninitialized variable usage
cf014ec reduce log level for missing partition configuration file.
d3aeae8 osmtest: Handle other than default subnet prefix
181c863 osm_vendor_ibumad.c: Improve ERR 5430 log message
7321689 osm_state_mgr.c Add info to some error messages
0fc753d osm_sa_path_record.c: Eliminate extraneous space in 1F1A log message
18b3be9 Use trap number defines rather than actual trap numbers
270a700 osm_db_files.c: Add osm_db_domain_init failure handling into test
program
2b82c1c Handle memory allocation failure in osm_db_domain_init()
8284132 Use after free in osm_prtn_delete
e186b4a osm_sa_guidinfo_record.c: False duplicate GUID error messages
d95d461 osm_sa_informinfo.c Add attribute info to log messages
94789a8 osm_port_info_rcv.c Issue a log message if we cannot read the MKey of
a port
b67db2b osm_helper.c: Fix out-of-bounds read
ef86015 osm_db_files.c : Fix resource leak guid2lid parser
4a2d2d8 osm_subnet.c: Fix memory leak caused by commit
dc0760cb8088fbe079e19682570a884ba01e94ff
168eaeb osm_db_files.c: Fix memory leak when deleting entries from osm db
edfaddc osm_ucast_dfsssp.c: Fix some typos
e1804f4 dfsssp - add missing and change existing return values
d5ef9af update man page and usage explanation for --lfts_file
6fdd844 osm_sa_path_record.c: Fix rate setting issue in SA PR handling
4d6925c osm_vendor_ibumad.c: Fix explicit null derefenced issue found by
coverity
2d67f3e opensm/osm_db_pack.c: Removed uneeded asserts
09e1e7e libvendor/osm_pkt_randomizer.c: Fix broken compilation with vendor sim
6ff99aa complib/cl_event_wheel.c: Add print of num_regs in cl_event_wheel_dump
a3957f2 complib/cl_event_wheel.c: Fix duplicate error codes
ceb4041 Fix test scenario in cl_event_wheel
5824714 osmeventplugin/osmeventplugin.c: Add Mellanox copyright
7186965 osm_event_plugin.h: Add Mellanox copyright
cd3b715 osmtest: Make the "-guid" option's argument mandatory
0154977 complib/cl_event_wheel.h: Some cosmetic fixes
b78b1d5 osm_sa_mcmember_record.c validate_requested_mgid returning boolean
58ee065 osm_ucast_mgr.c: Fix extra copy in set_lft_block routine
5bf6e72 osm_ucast_mgr.c: Fix duplicated code for fallback routing engine
2e5966e osm_sm_state_mgr.c Trivial log changes
aed1675 Log changes related to event subscription and forwarding
75bba51 Minor log formatting changes
16b4dfc Some log changes
51f87ee Add attribute information to SA request error messages
abd47cc osm_sa_mcmember_record.c Reduce number of error messages the for same
event
ae9d7e7 Add trap details to notice log message
886de5d ib_types.h: Fix commentary typo
234401b cl_threadpool.h: Remove vestigial mention of cl_thread_pool_construct
e20f37a osm_subnet.c Remove empty syslog message
898e9a3 osm_ucast_lash.c: Cosmetic formatting change
6d0413d opensm/osm_ucast_dfsssp.c: Fix unused variable in update_mcft()
583d4cf osm_console_io.c: Handle another write-strings issue
cbbe385 osm_sa_mcmember_record.c: Improve debug log message in validate_modify
4f835ae osm_congestion_control.c: Simplify some code
23ebbe9 osm_log.c: Remove unneeded initialization in osm_log
550fdeb osm_lid_mgr.c: Some commentary fixes/updates
1d50845 opensm: Add configure output messages for several configure options
91384ed osm_lid_mgr.c: Fix a couple of commentary typos
a238800 ib_types.h: Trap 144 PortInfo:CapabilityMask2 changed bit definition
564b6eb opensm: fix dfsssp uninitialized value
395157e opensm/osm_node.h: Fix some commentary typos
664494a opensm: Fix issues causing const warnings for strings
8840f82 opensm/osm_switch.h: Cosmetic change
1a06167 opensm/man/osmtest.8: Add option for using full world path queries
eb43f7e opensm/osm_torus.c: clarify log messages on stale priv pointers
1f7ceb8 opensm/osmtest: fix debug build
dc0760c opensm/osm_subnet.c: Miscellaneous minor fixes
4924ea7 osmtest: Add support for full world path records back as option
6f1a67e osmtest/osmtest.c: Minor reordering of code in
osmtest_write_all_path_recs
e9556df opensm/osmtest.c: half_world_query when creating inventory file
81d3ea3 opensm/osm_subnet.c: Change default for perfmgr_query_cpi to FALSE
309317d opensm/osm_ucast_ftree.c: Fix invalid debug output message
d0a8532 opensm/perfmgr: clean up: break out redirect processing from
pc_recv_process
ef32e12 opensm: make osm_pr_rcv_get_end_points, osm_pr_rcv_process_pair,
osm_pr_rcv_process_half public
7723c07 opensm: make osm_get_path_params public
7ac18bb opensm/osm_perfmgr.c: Cosmetic changes
fe52571 opensm/perfmgr: add failed port guid to error message
8b67a1c opensm/osm_req.c: Better implementation of req_determine_mkey
37eecc8 opensm/libibvendor: osm_vendor_get_all_port_attr include sm_sl value
in port attribute struct
8ac930e osmtest/osmt_multicast.c: Fix IPoIB MC group recognition
5a33cc6 osmtest/osmt_multicast.c: Fix commentary typo
186a598 opensm/osm_sa_multipath_record.c: Fix commentary typo
4cb3751 osm_dump.c: Fix typo in dump_lid_matrix
a0deac6 opensm/osm_dump.c: Fix enhanced switch port 0 handling in
print_node_report
abbbe8a opensm/ib_types.h: Add missing IB_MPR_COMPMASK_SERVICEID define
505d48b opensm/osm_torus.c: Cosmetic formatting changes
dc44d48 opensm/ib_types.h: Add missing IB_PR_COMPMASK_SERVICEID define

* Other less critical or visible bugs were also fixed.

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 Qualified Software Stacks and Devices
---------------------------------------

OpenSM Compatibility
--------------------
Note that OpenSM version 3.2.1 and earlier used a value of 1 in host
byte order for the default SM_Key, so there is a compatibility issue
with these earlier versions of OpenSM when the 3.2.2 or later version
is running on a little endian machine. This affects SM handover as well
as SA queries (saquery tool in infiniband-diags).


Table 2 - Qualified IB Stacks
=============================

Stack                                    | Version
-----------------------------------------|--------------------------
The main stream Linux kernel             |   2.6.x
OFED                                     |   1.5,1.5.x
OFED                                     |   1.4
OFED                                     |   1.3
OFED                                     |   1.2
OFED                                     |   1.1
OFED                                     |   1.0

Table 3 - Qualified Devices and Corresponding Firmware
======================================================

Mellanox
Device                              |   FW versions
------------------------------------|-------------------------------
InfiniScale                         | fw-43132  5.2.000 (and later)
InfiniScale III                     | fw-47396  0.5.000 (and later)
InfiniScale IV                      | fw-48436  7.1.000 (and later)
InfiniHost                          | fw-23108  3.5.000 (and later)
InfiniHost III Lx                   | fw-25204  1.2.000 (and later)
InfiniHost III Ex (InfiniHost Mode) | fw-25208  4.8.200 (and later)
InfiniHost III Ex (MemFree Mode)    | fw-25218  5.3.000 (and later)
ConnectX IB                         | fw-25408  2.3.000 (and later)

QLogic/PathScale
Device  |   Note
--------|-----------------------------------------------------------
iPath   | QHT6040 (PathScale InfiniPath HT-460)
iPath   | QHT6140 (PathScale InfiniPath HT-465)
iPath   | QLE6140 (PathScale InfiniPath PE-880)
iPath   | QLE7240
iPath   | QLE7280

Note 1: 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.

Note 2: QoS firmware and Mellanox devices

HCAs: QoS supported by ConnectX. QoS-enabled FW release is 2_5_000 and
later.

Switches: QoS supported by InfiniScale III
Any InfiniScale III FW that is supported by OpenSM supports QoS.
