From dbba8402d3f0f1da6921cab9e0cd12c443007dfb Mon Sep 17 00:00:00 2001 From: Doug Ledford Date: Nov 27 2012 21:30:00 +0000 Subject: Latest upstream version, now systemd friendly Signed-off-by: Doug Ledford --- diff --git a/.gitignore b/.gitignore index 96bf36e..d3c47da 100644 --- a/.gitignore +++ b/.gitignore @@ -22,3 +22,5 @@ opensm-3.3.9/ opensm-3.3.12/ /opensm-3.3.13.tar.gz /opensm-3.3.13/ +/opensm-3.3.15.tar.gz +/opensm-3.3.15/ diff --git a/opensm-3.3.13.conf b/opensm-3.3.13.conf new file mode 100644 index 0000000..27897d6 --- /dev/null +++ b/opensm-3.3.13.conf @@ -0,0 +1,410 @@ +# +# DEVICE ATTRIBUTES OPTIONS +# +# The port GUID on which the OpenSM is running +guid 0x0000000000000000 + +# M_Key value sent to all ports qualifying all Set(PortInfo) +m_key 0x0000000000000000 + +# The lease period used for the M_Key on this subnet in [sec] +m_key_lease_period 0 + +# SM_Key value of the SM used for SM authentication +sm_key 0x0000000000000001 + +# SM_Key value to qualify rcv SA queries as 'trusted' +sa_key 0x0000000000000001 + +# Note that for both values above (sm_key and sa_key) +# OpenSM version 3.2.1 and below used the default value '1' +# in a host byte order, it is fixed now but you may need to +# change the values to interoperate with old OpenSM running +# on a little endian machine. + +# Subnet prefix used on this subnet +subnet_prefix 0xfe80000000000000 + +# The LMC value used on this subnet +lmc 0 + +# lmc_esp0 determines whether LMC value used on subnet is used for +# enhanced switch port 0. If TRUE, LMC value for subnet is used for +# ESP0. Otherwise, LMC value for ESP0s is 0. +lmc_esp0 FALSE + +# sm_sl determines SMSL used for SM/SA communication +sm_sl 0 + +# The code of maximal time a packet can live in a switch +# The actual time is 4.096usec * 2^ +# The value 0x14 disables this mechanism +packet_life_time 0x12 + +# The number of sequential packets dropped that cause the port +# to enter the VLStalled state. The result of setting this value to +# zero is undefined. +vl_stall_count 0x07 + +# The number of sequential packets dropped that cause the port +# to enter the VLStalled state. This value is for switch ports +# driving a CA or router port. The result of setting this value +# to zero is undefined. +leaf_vl_stall_count 0x07 + +# The code of maximal time a packet can wait at the head of +# transmission queue. +# The actual time is 4.096usec * 2^ +# The value 0x14 disables this mechanism +head_of_queue_lifetime 0x12 + +# The maximal time a packet can wait at the head of queue on +# switch port connected to a CA or router port +leaf_head_of_queue_lifetime 0x10 + +# Limit the maximal operational VLs +max_op_vls 5 + +# Force PortInfo:LinkSpeedEnabled on switch ports +# If 0, don't modify PortInfo:LinkSpeedEnabled on switch port +# Otherwise, use value for PortInfo:LinkSpeedEnabled on switch port +# Values are (IB Spec 1.2.1, 14.2.5.6 Table 146 "PortInfo") +# 1: 2.5 Gbps +# 3: 2.5 or 5.0 Gbps +# 5: 2.5 or 10.0 Gbps +# 7: 2.5 or 5.0 or 10.0 Gbps +# 2,4,6,8-14 Reserved +# Default 15: set to PortInfo:LinkSpeedSupported +force_link_speed 15 + +# Force PortInfo:LinkSpeedExtEnabled on ports +# If 0, don't modify PortInfo:LinkSpeedExtEnabled on port +# Otherwise, use value for PortInfo:LinkSpeedExtEnabled on port +# Values are (MgtWG RefID #4722) +# 1: 14.0625 Gbps +# 2: 25.78125 Gbps +# 3: 14.0625 Gbps or 25.78125 Gbps +# 30: Disable extended link speeds +# Default 31: set to PortInfo:LinkSpeedExtSupported +force_link_speed_ext 31 + +# FDR10 on ports on devices that support FDR10 +# Values are: +# 0: don't use fdr10 (no MLNX ExtendedPortInfo MADs) +# Default 1: enable fdr10 when supported +# 2: disable fdr10 when supported +fdr10 1 + +# The subnet_timeout code that will be set for all the ports +# The actual timeout is 4.096usec * 2^ +subnet_timeout 18 + +# Threshold of local phy errors for sending Trap 129 +local_phy_errors_threshold 0x08 + +# Threshold of credit overrun errors for sending Trap 130 +overrun_errors_threshold 0x08 + +# Use SwitchInfo:MulticastFDBTop if advertised in PortInfo:CapabilityMask +use_mfttop TRUE + +# +# PARTITIONING OPTIONS +# +# Partition configuration file to be used +partition_config_file /etc/rdma/partitions.conf + +# Disable partition enforcement by switches +no_partition_enforcement FALSE + +# +# SWEEP OPTIONS +# +# The number of seconds between subnet sweeps (0 disables it) +sweep_interval 10 + +# If TRUE cause all lids to be reassigned +reassign_lids FALSE + +# If TRUE forces every sweep to be a heavy sweep +force_heavy_sweep FALSE + +# If TRUE every trap will cause a heavy sweep. +# NOTE: successive identical traps (>10) are suppressed +sweep_on_trap TRUE + +# +# ROUTING OPTIONS +# +# If TRUE count switches as link subscriptions +port_profile_switch_nodes FALSE + +# Name of file with port guids to be ignored by port profiling +port_prof_ignore_file (null) + +# The file holding routing weighting factors per output port +hop_weights_file (null) + +# The file holding non-default port order per switch for routing +port_search_ordering_file (null) + +# Routing engine +# Multiple routing engines can be specified separated by +# commas so that specific ordering of routing algorithms will +# be tried if earlier routing engines fail. +# Supported engines: minhop, updn, dnup, file, ftree, lash, +# dor, torus-2QoS +routing_engine (null) + +# Connect roots (use FALSE if unsure) +connect_roots FALSE + +# Use unicast routing cache (use FALSE if unsure) +use_ucast_cache FALSE + +# Lid matrix dump file name +lid_matrix_dump_file (null) + +# LFTs file name +lfts_file (null) + +# The file holding the root node guids (for fat-tree or Up/Down) +# One guid in each line +root_guid_file (null) + +# The file holding the fat-tree compute node guids +# One guid in each line +cn_guid_file (null) + +# The file holding the fat-tree I/O node guids +# One guid in each line +io_guid_file (null) + +# Number of reverse hops allowed for I/O nodes +# Used for connectivity between I/O nodes connected to Top Switches +max_reverse_hops 0 + +# The file holding the node ids which will be used by Up/Down algorithm instead +# of GUIDs (one guid and id in each line) +ids_guid_file (null) + +# The file holding guid routing order guids (for MinHop and Up/Down) +guid_routing_order_file (null) + +# Do mesh topology analysis (for LASH algorithm) +do_mesh_analysis FALSE + +# Starting VL for LASH algorithm +lash_start_vl 0 + +# Port Shifting (use FALSE if unsure) +port_shifting FALSE + +# Assign ports in a random order instead of round-robin. +# If zero disable, otherwise use the value as a random seed +scatter_ports 0 + +# SA database file name +sa_db_file (null) + +# If TRUE causes OpenSM to dump SA database at the end of +# every light sweep, regardless of the verbosity level +sa_db_dump FALSE + +# Torus-2QoS configuration file name +torus_config /etc/rdma/torus-2QoS.conf + +# +# HANDOVER - MULTIPLE SMs OPTIONS +# +# SM priority used for deciding who is the master +# Range goes from 0 (lowest priority) to 15 (highest). +sm_priority 0 + +# If TRUE other SMs on the subnet should be ignored +ignore_other_sm FALSE + +# Timeout in [msec] between two polls of active master SM +sminfo_polling_timeout 10000 + +# Number of failing polls of remote SM that declares it dead +polling_retry_number 4 + +# If TRUE honor the guid2lid file when coming out of standby +# state, if such file exists and is valid +honor_guid2lid_file FALSE + +# +# TIMING AND THREADING OPTIONS +# +# Maximum number of SMPs sent in parallel +max_wire_smps 4 + +# Maximum number of timeout based SMPs allowed to be outstanding +# A value less than or equal to max_wire_smps disables this mechanism +max_wire_smps2 4 + +# The timeout in [usec] used for sending SMPs above max_wire_smps limit and below max_wire_smps2 limit +max_smps_timeout 600000 + +# The maximum time in [msec] allowed for a transaction to complete +transaction_timeout 200 + +# The maximum number of retries allowed for a transaction to complete +transaction_retries 3 + +# Maximal time in [msec] a message can stay in the incoming message queue. +# If there is more than one message in the queue and the last message +# stayed in the queue more than this value, any SA request will be +# immediately be dropped but BUSY status is not currently returned. +max_msg_fifo_timeout 10000 + +# Use a single thread for handling SA queries +single_thread FALSE + +# +# MISC OPTIONS +# +# Daemon mode +daemon FALSE + +# SM Inactive +sm_inactive FALSE + +# Babbling Port Policy +babbling_port_policy FALSE + +# Use Optimized SLtoVLMapping programming if supported by device +use_optimized_slvl FALSE + +# +# Performance Manager Options +# +# perfmgr enable +perfmgr FALSE + +# perfmgr redirection enable +perfmgr_redir TRUE + +# sweep time in seconds +perfmgr_sweep_time_s 180 + +# Max outstanding queries +perfmgr_max_outstanding_queries 500 + +# +# Event DB Options +# +# Dump file to dump the events to +event_db_dump_file (null) + +# +# Event Plugin Options +# +# Event plugin name(s) +event_plugin_name (null) + +# Options string that would be passed to the plugin(s) +event_plugin_options (null) + +# +# Node name map for mapping node's to more descriptive node descriptions +# (man ibnetdiscover for more information) +# +node_name_map_name (null) + +# +# DEBUG FEATURES +# +# The log flags used +log_flags 0x03 + +# Force flush of the log file after each log message +force_log_flush FALSE + +# Log file to be used +log_file /var/log/opensm.log + +# Limit the size of the log file in MB. If overrun, log is restarted +log_max_size 0 + +# If TRUE will accumulate the log over multiple OpenSM sessions +accum_log_file TRUE + +# The directory to hold the file OpenSM dumps +dump_files_dir /var/log/ + +# If TRUE enables new high risk options and hardware specific quirks +enable_quirks FALSE + +# If TRUE disables client reregistration +no_clients_rereg FALSE + +# If TRUE OpenSM should disable multicast support and +# no multicast routing is performed if TRUE +disable_multicast FALSE + +# If TRUE opensm will exit on fatal initialization issues +exit_on_fatal TRUE + +# console [off|local] +console off + +# Telnet port for console (default 10000) +console_port 10000 + +# +# QoS OPTIONS +# +# Enable QoS setup +qos FALSE + +# QoS policy file to be used +qos_policy_file /etc/rdma/qos-policy.conf + +# QoS default options +qos_max_vls 0 +qos_high_limit -1 +qos_vlarb_high (null) +qos_vlarb_low (null) +qos_sl2vl (null) + +# QoS CA options +qos_ca_max_vls 0 +qos_ca_high_limit -1 +qos_ca_vlarb_high (null) +qos_ca_vlarb_low (null) +qos_ca_sl2vl (null) + +# QoS Switch Port 0 options +qos_sw0_max_vls 0 +qos_sw0_high_limit -1 +qos_sw0_vlarb_high (null) +qos_sw0_vlarb_low (null) +qos_sw0_sl2vl (null) + +# QoS Switch external ports options +qos_swe_max_vls 0 +qos_swe_high_limit -1 +qos_swe_vlarb_high (null) +qos_swe_vlarb_low (null) +qos_swe_sl2vl (null) + +# QoS Router ports options +qos_rtr_max_vls 0 +qos_rtr_high_limit -1 +qos_rtr_vlarb_high (null) +qos_rtr_vlarb_low (null) +qos_rtr_sl2vl (null) + +# Prefix routes file name +prefix_routes_file /etc/rdma/prefix-routes.conf + +# +# IPv6 Solicited Node Multicast (SNM) Options +# +consolidate_ipv6_snm_req FALSE + +# Log prefix +log_prefix (null) + diff --git a/opensm-3.3.15.conf b/opensm-3.3.15.conf new file mode 100644 index 0000000..ff7c3c1 --- /dev/null +++ b/opensm-3.3.15.conf @@ -0,0 +1,540 @@ +# +# DEVICE ATTRIBUTES OPTIONS +# +# The port GUID on which the OpenSM is running +guid 0x0000000000000000 + +# M_Key value sent to all ports qualifying all Set(PortInfo) +m_key 0x0000000000000000 + +# The lease period used for the M_Key on this subnet in [sec] +m_key_lease_period 0 + +# The protection level used for the M_Key on this subnet +m_key_protection_level 0 + +# SM_Key value of the SM used for SM authentication +sm_key 0x0000000000000001 + +# SM_Key value to qualify rcv SA queries as 'trusted' +sa_key 0x0000000000000001 + +# Note that for both values above (sm_key and sa_key) +# OpenSM version 3.2.1 and below used the default value '1' +# in a host byte order, it is fixed now but you may need to +# change the values to interoperate with old OpenSM running +# on a little endian machine. + +# Subnet prefix used on this subnet +subnet_prefix 0xfe80000000000000 + +# The LMC value used on this subnet +lmc 0 + +# lmc_esp0 determines whether LMC value used on subnet is used for +# enhanced switch port 0. If TRUE, LMC value for subnet is used for +# ESP0. Otherwise, LMC value for ESP0s is 0. +lmc_esp0 FALSE + +# sm_sl determines SMSL used for SM/SA communication +sm_sl 0 + +# The code of maximal time a packet can live in a switch +# The actual time is 4.096usec * 2^ +# The value 0x14 disables this mechanism +packet_life_time 0x12 + +# The number of sequential packets dropped that cause the port +# to enter the VLStalled state. The result of setting this value to +# zero is undefined. +vl_stall_count 0x07 + +# The number of sequential packets dropped that cause the port +# to enter the VLStalled state. This value is for switch ports +# driving a CA or router port. The result of setting this value +# to zero is undefined. +leaf_vl_stall_count 0x07 + +# The code of maximal time a packet can wait at the head of +# transmission queue. +# The actual time is 4.096usec * 2^ +# The value 0x14 disables this mechanism +head_of_queue_lifetime 0x12 + +# The maximal time a packet can wait at the head of queue on +# switch port connected to a CA or router port +leaf_head_of_queue_lifetime 0x10 + +# Limit the maximal operational VLs +max_op_vls 5 + +# Force PortInfo:LinkSpeedEnabled on switch ports +# If 0, don't modify PortInfo:LinkSpeedEnabled on switch port +# Otherwise, use value for PortInfo:LinkSpeedEnabled on switch port +# Values are (IB Spec 1.2.1, 14.2.5.6 Table 146 "PortInfo") +# 1: 2.5 Gbps +# 3: 2.5 or 5.0 Gbps +# 5: 2.5 or 10.0 Gbps +# 7: 2.5 or 5.0 or 10.0 Gbps +# 2,4,6,8-14 Reserved +# Default 15: set to PortInfo:LinkSpeedSupported +force_link_speed 15 + +# Force PortInfo:LinkSpeedExtEnabled on ports +# If 0, don't modify PortInfo:LinkSpeedExtEnabled on port +# Otherwise, use value for PortInfo:LinkSpeedExtEnabled on port +# Values are (MgtWG RefID #4722) +# 1: 14.0625 Gbps +# 2: 25.78125 Gbps +# 3: 14.0625 Gbps or 25.78125 Gbps +# 30: Disable extended link speeds +# Default 31: set to PortInfo:LinkSpeedExtSupported +force_link_speed_ext 31 + +# FDR10 on ports on devices that support FDR10 +# Values are: +# 0: don't use fdr10 (no MLNX ExtendedPortInfo MADs) +# Default 1: enable fdr10 when supported +# 2: disable fdr10 when supported +fdr10 1 + +# The subnet_timeout code that will be set for all the ports +# The actual timeout is 4.096usec * 2^ +subnet_timeout 18 + +# Threshold of local phy errors for sending Trap 129 +local_phy_errors_threshold 0x08 + +# Threshold of credit overrun errors for sending Trap 130 +overrun_errors_threshold 0x08 + +# Use SwitchInfo:MulticastFDBTop if advertised in PortInfo:CapabilityMask +use_mfttop TRUE + +# +# PARTITIONING OPTIONS +# +# Partition configuration file to be used +partition_config_file /etc/rdma/partitions.conf + +# Disable partition enforcement by switches (DEPRECATED) +# This option is DEPRECATED. Please use part_enforce instead +no_partition_enforcement FALSE + +# Partition enforcement type (for switches) +# Values are both, out, in and off +# Default is both (outbound and inbound enforcement) +part_enforce both + +# Allow both full and limited membership on the same partition +allow_both_pkeys FALSE + +# SM assigned GUID byte where GUID is formed from OpenFabrics OUI +# followed by 40 bits xy 00 ab cd ef where xy is the SM assigned GUID byte +# and ab cd ef is an SM autogenerated 24 bits +# SM assigned GUID byte should be configured as subnet unique +sm_assigned_guid 0x00 + +# +# SWEEP OPTIONS +# +# The number of seconds between subnet sweeps (0 disables it) +sweep_interval 10 + +# If TRUE cause all lids to be reassigned +reassign_lids FALSE + +# If TRUE forces every sweep to be a heavy sweep +force_heavy_sweep FALSE + +# If TRUE every trap will cause a heavy sweep. +# NOTE: successive identical traps (>10) are suppressed +sweep_on_trap TRUE + +# +# ROUTING OPTIONS +# +# If TRUE count switches as link subscriptions +port_profile_switch_nodes FALSE + +# Name of file with port guids to be ignored by port profiling +port_prof_ignore_file (null) + +# The file holding routing weighting factors per output port +hop_weights_file (null) + +# The file holding non-default port order per switch for routing +port_search_ordering_file (null) + +# Routing engine +# Multiple routing engines can be specified separated by +# commas so that specific ordering of routing algorithms will +# be tried if earlier routing engines fail. +# Supported engines: minhop, updn, dnup, file, ftree, lash, +# dor, torus-2QoS, dfsssp, sssp +routing_engine (null) + +# Connect roots (use FALSE if unsure) +connect_roots FALSE + +# Use unicast routing cache (use FALSE if unsure) +use_ucast_cache FALSE + +# Lid matrix dump file name +lid_matrix_dump_file (null) + +# LFTs file name +lfts_file (null) + +# The file holding the root node guids (for fat-tree or Up/Down) +# One guid in each line +root_guid_file (null) + +# The file holding the fat-tree compute node guids +# One guid in each line +cn_guid_file (null) + +# The file holding the fat-tree I/O node guids +# One guid in each line +io_guid_file (null) + +# Number of reverse hops allowed for I/O nodes +# Used for connectivity between I/O nodes connected to Top Switches +max_reverse_hops 0 + +# The file holding the node ids which will be used by Up/Down algorithm instead +# of GUIDs (one guid and id in each line) +ids_guid_file (null) + +# The file holding guid routing order guids (for MinHop and Up/Down) +guid_routing_order_file (null) + +# Do mesh topology analysis (for LASH algorithm) +do_mesh_analysis FALSE + +# Starting VL for LASH algorithm +lash_start_vl 0 + +# Port Shifting (use FALSE if unsure) +port_shifting FALSE + +# Assign ports in a random order instead of round-robin. +# If zero disable, otherwise use the value as a random seed +scatter_ports 0 + +# SA database file name +sa_db_file (null) + +# If TRUE causes OpenSM to dump SA database at the end of +# every light sweep, regardless of the verbosity level +sa_db_dump FALSE + +# Torus-2QoS configuration file name +torus_config /etc/rdma/torus-2QoS.conf + +# +# HANDOVER - MULTIPLE SMs OPTIONS +# +# SM priority used for deciding who is the master +# Range goes from 0 (lowest priority) to 15 (highest). +sm_priority 0 + +# If TRUE other SMs on the subnet should be ignored +ignore_other_sm FALSE + +# Timeout in [msec] between two polls of active master SM +sminfo_polling_timeout 10000 + +# Number of failing polls of remote SM that declares it dead +polling_retry_number 4 + +# If TRUE honor the guid2lid file when coming out of standby +# state, if such file exists and is valid +honor_guid2lid_file FALSE + +# +# TIMING AND THREADING OPTIONS +# +# Maximum number of SMPs sent in parallel +max_wire_smps 4 + +# Maximum number of timeout based SMPs allowed to be outstanding +# A value less than or equal to max_wire_smps disables this mechanism +max_wire_smps2 4 + +# The timeout in [usec] used for sending SMPs above max_wire_smps limit and below max_wire_smps2 limit +max_smps_timeout 600000 + +# The maximum time in [msec] allowed for a transaction to complete +transaction_timeout 200 + +# The maximum number of retries allowed for a transaction to complete +transaction_retries 3 + +# Maximal time in [msec] a message can stay in the incoming message queue. +# If there is more than one message in the queue and the last message +# stayed in the queue more than this value, any SA request will be +# immediately be dropped but BUSY status is not currently returned. +max_msg_fifo_timeout 10000 + +# Use a single thread for handling SA queries +single_thread FALSE + +# +# MISC OPTIONS +# +# Daemon mode +daemon FALSE + +# SM Inactive +sm_inactive FALSE + +# Babbling Port Policy +babbling_port_policy FALSE + +# Use Optimized SLtoVLMapping programming if supported by device +use_optimized_slvl FALSE + +# +# Performance Manager Options +# +# perfmgr enable +perfmgr FALSE + +# perfmgr redirection enable +perfmgr_redir TRUE + +# sweep time in seconds +perfmgr_sweep_time_s 180 + +# Max outstanding queries +perfmgr_max_outstanding_queries 500 +perfmgr_ignore_cas FALSE + +# Remove missing nodes from DB +perfmgr_rm_nodes TRUE + +# Log error counters to opensm.log +perfmgr_log_errors TRUE + +# +# Event DB Options +# +# Dump file to dump the events to +event_db_dump_file (null) + +# +# Event Plugin Options +# +# Event plugin name(s) +event_plugin_name (null) + +# Options string that would be passed to the plugin(s) +event_plugin_options (null) + +# +# Node name map for mapping node's to more descriptive node descriptions +# (man ibnetdiscover for more information) +# +node_name_map_name (null) + +# +# DEBUG FEATURES +# +# The log flags used +log_flags 0x03 + +# Force flush of the log file after each log message +force_log_flush FALSE + +# Log file to be used +log_file /var/log/opensm.log + +# Limit the size of the log file in MB. If overrun, log is restarted +log_max_size 0 + +# If TRUE will accumulate the log over multiple OpenSM sessions +accum_log_file TRUE + +# Per module logging configuration file +# Each line in config file contains +# where module_name is file name including .c +# separator is either = , space, or tab +# log_flags is the same flags as used in the coarse/overall logging +per_module_logging_file /etc/rdma/per-module-logging.conf + +# The directory to hold the file OpenSM dumps +dump_files_dir /var/log/ + +# If TRUE enables new high risk options and hardware specific quirks +enable_quirks FALSE + +# If TRUE disables client reregistration +no_clients_rereg FALSE + +# If TRUE OpenSM should disable multicast support and +# no multicast routing is performed if TRUE +disable_multicast FALSE + +# If TRUE opensm will exit on fatal initialization issues +exit_on_fatal TRUE + +# console [off|local] +console off + +# Telnet port for console (default 10000) +console_port 10000 + +# +# QoS OPTIONS +# +# Enable QoS setup +qos FALSE + +# QoS policy file to be used +qos_policy_file /etc/rdma/qos-policy.conf + +# QoS default options +qos_max_vls 0 +qos_high_limit -1 +qos_vlarb_high (null) +qos_vlarb_low (null) +qos_sl2vl (null) + +# QoS CA options +qos_ca_max_vls 0 +qos_ca_high_limit -1 +qos_ca_vlarb_high (null) +qos_ca_vlarb_low (null) +qos_ca_sl2vl (null) + +# QoS Switch Port 0 options +qos_sw0_max_vls 0 +qos_sw0_high_limit -1 +qos_sw0_vlarb_high (null) +qos_sw0_vlarb_low (null) +qos_sw0_sl2vl (null) + +# QoS Switch external ports options +qos_swe_max_vls 0 +qos_swe_high_limit -1 +qos_swe_vlarb_high (null) +qos_swe_vlarb_low (null) +qos_swe_sl2vl (null) + +# QoS Router ports options +qos_rtr_max_vls 0 +qos_rtr_high_limit -1 +qos_rtr_vlarb_high (null) +qos_rtr_vlarb_low (null) +qos_rtr_sl2vl (null) + +# +# Congestion Control OPTIONS (EXPERIMENTAL) +# + +# Enable Congestion Control Configuration +congestion_control FALSE + +# CCKey to use when configuring congestion control +# note that this does not configure a new CCkey, only the CCkey to use +cc_key 0x0000000000000000 + +# Congestion Control Max outstanding MAD +cc_max_outstanding_mads 500 + +# +# Congestion Control SwitchCongestionSetting options +# +# Control Map - bitmask indicating which of the following attributes are to be used +# bit 0 - victim mask +# bit 1 - credit mask +# bit 2 - threshold + packet size +# bit 3 - credit starvation threshold + return delay valid +# bit 4 - marking rate valid +cc_sw_cong_setting_control_map 0x0 + +# Victim Mask - 256 bit mask representing switch ports, mark packets with FECN +# whether they are the source or victim of congestion +# bit 0 - port 0 (enhanced port) +# bit 1 - port 1 +# ... +# bit 254 - port 254 +# bit 255 - reserved +cc_sw_cong_setting_victim_mask 0x0000000000000000000000000000000000000000000000000000000000000000 + +# Credit Mask - 256 bit mask representing switch ports to apply credit starvation +# bit 0 - port 0 (enhanced port) +# bit 1 - port 1 +# ... +# bit 254 - port 254 +# bit 255 - reserved +cc_sw_cong_setting_credit_mask 0x0000000000000000000000000000000000000000000000000000000000000000 + +# Threshold - value indicating aggressiveness of congestion marking +# 0x0 - none, 0x1 - loose, ..., 0xF - aggressive +cc_sw_cong_setting_threshold 0x00 + +# Packet Size - any packet less than this size will not be marked with a FECN +# units are in credits +cc_sw_cong_setting_packet_size 0 + +# Credit Starvation Threshold - value indicating aggressiveness of credit starvation +# 0x0 - none, 0x1 - loose, ..., 0xF - aggressive +cc_sw_cong_setting_credit_starvation_threshold 0x00 + +# Credit Starvation Return Delay - in CCT entry shift:multiplier format, see IB spec +cc_sw_cong_setting_credit_starvation_return_delay 0:0 + +# Marking Rate - mean number of packets between markings +cc_sw_cong_setting_marking_rate 0 + +# +# Congestion Control CA Congestion Setting options +# +# Port Control +# bit 0 = 0, QP based congestion control +# bit 0 = 1, SL/port based congestion control +cc_ca_cong_setting_port_control 0x0000 + +# Control Map - 16 bit bitmask indicating which SLs should be configured +cc_ca_cong_setting_control_map 0x0000 + +# +# CA Congestion Setting Entries +# +# Each of congestion control settings below configures the CA Congestion +# Settings for an individual SL. The SL must be specified before the value. +# These options may be specified multiple times to configure different values +# for different SLs. +# +# ccti timer - when expires decrements 1 from the CCTI +# ccti increase - number to be added to the table index on receipt of a BECN +# trigger threshold - when the ccti is equal to this, an event is logged +# ccti min - the minimum value for the ccti. This imposes a minimum rate +# on the injection rate + +# SL = 0 +cc_ca_cong_setting_ccti_timer 0 0 +cc_ca_cong_setting_ccti_increase 0 0 +cc_ca_cong_setting_trigger_threshold 0 0 +cc_ca_cong_setting_ccti_min 0 0 + +# +# Congestion Control Table +# +# Comma separated list of CCT entries representing CCT. +# Format is shift:multipler,shift_multiplier,shift:multiplier,... +cc_cct (null) + +# Prefix routes file name +prefix_routes_file /etc/rdma/prefix-routes.conf + +# +# IPv6 Solicited Node Multicast (SNM) Options +# +consolidate_ipv6_snm_req FALSE + +# Log prefix +log_prefix (null) + diff --git a/opensm.launch b/opensm.launch new file mode 100644 index 0000000..73a4ca3 --- /dev/null +++ b/opensm.launch @@ -0,0 +1,42 @@ +#!/bin/bash +# +# Launch the necessary OpenSM daemons for systemd +# +# sysconfig: /etc/sysconfig/opensm +# config: /etc/rdma/opensm.conf +# + +prog=/usr/sbin/opensm +[ -f /etc/sysconfig/opensm ] && . /etc/sysconfig/opensm + +[ -n "$PRIORITY" ] && prio="-p $PRIORITY" + +if [ -z "$GUIDS" ]; then + CONFIGS="" + CONFIG_CNT=0 + for conf in /etc/rdma/opensm.conf.[0-9]*; do + CONFIGS="$CONFIGS $conf" + let CONFIG_CNT++ + done +else + GUID_CNT=0 + for guid in $GUIDS; do + let GUID_CNT++ + done +fi +# Start opensm +if [ -n "$GUIDS" ]; then + SUBNET_COUNT=0 + for guid in $GUIDS; do + SUBNET_PREFIX=`printf "0xfe800000000000%02d" $SUBNET_COUNT` + $prog -B $prio -g $guid --subnet_prefix $SUBNET_PREFIX + let SUBNET_COUNT++ + done +elif [ -n "$CONFIGS" ]; then + for config in $CONFIGS; do + $prog -B $prio -F $config + done +else + $prog -B $prio +fi +exit 0 diff --git a/opensm.service b/opensm.service new file mode 100644 index 0000000..6264b4d --- /dev/null +++ b/opensm.service @@ -0,0 +1,14 @@ +[Unit] +Description=Starts the OpenSM InfiniBand fabric Subnet Manager +Documentation=man:opensm +DefaultDependencies=false +Before=network.target remote-fs-pre.target +Requires=rdma.service +After=rdma.service + +[Service] +Type=forking +ExecStart=/usr/libexec/opensm-launch + +[Install] +WantedBy=network.target diff --git a/opensm.spec b/opensm.spec index 2ce47ae..4d5023d 100644 --- a/opensm.spec +++ b/opensm.spec @@ -1,6 +1,6 @@ Name: opensm -Version: 3.3.13 -Release: 3%{?dist} +Version: 3.3.15 +Release: 1%{?dist} Summary: OpenIB InfiniBand Subnet Manager and management utilities Group: System Environment/Daemons License: GPLv2 or BSD @@ -10,9 +10,11 @@ Source1: opensm.conf Source2: opensm.logrotate Source3: opensm.initd Source4: opensm.sysconfig +Source5: opensm.service +Source6: opensm.launch Patch0: opensm-3.3.13-prefix.patch BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) -BuildRequires: libibmad-devel = 1.3.8, libtool, bison, flex, byacc +BuildRequires: libibmad-devel = 1.3.9, libtool, bison, flex, byacc, systemd Requires: %{name}-libs = %{version}-%{release}, logrotate, rdma ExcludeArch: s390 s390x @@ -24,6 +26,17 @@ also contains various tools for diagnosing and testing Infiniband networks that can be used from any machine and do not need to be run on a machine running the opensm daemon. +%package sysv +Summary: Old back compatible SysV init script +Group: System Environment/Daemons +Requires(post): chkconfig, service +Requires(preun): chkconfig, service + +%description sysv +OpenSM has been updated to use the new systemd daemon management +architecture. The old SysV init script has been saved off in this +sub package so users that require it can still have it. + %package libs Summary: Libraries used by opensm and included utilities Group: System Environment/Libraries @@ -66,19 +79,21 @@ install -D -m644 %{SOURCE1} %{buildroot}%{_sysconfdir}/rdma/opensm.conf install -D -m644 %{SOURCE2} %{buildroot}%{_sysconfdir}/logrotate.d/opensm install -D -m755 %{SOURCE3} %{buildroot}%{_initddir}/opensm install -D -m644 %{SOURCE4} %{buildroot}%{_sysconfdir}/sysconfig/opensm +install -D -m644 %{SOURCE5} %{buildroot}%{_unitdir}/opensm.service +install -D -m755 %{SOURCE6} %{buildroot}%{_libexecdir}/opensm-launch mkdir -p ${RPM_BUILD_ROOT}/var/cache/opensm %clean rm -rf %{buildroot} -%post +%post sysv if [ $1 = 1 ]; then /sbin/chkconfig --add opensm else /sbin/service opensm condrestart fi -%preun +%preun sysv if [ $1 = 0 ]; then /sbin/service opensm stop /sbin/chkconfig --del opensm @@ -93,13 +108,18 @@ fi %defattr(-,root,root,-) %dir /var/cache/opensm %{_sbindir}/* -%{_initddir}/opensm %{_mandir}/* +%{_unitdir}/* +%{_libexecdir}/* %config(noreplace) %{_sysconfdir}/logrotate.d/opensm %config(noreplace) %{_sysconfdir}/rdma/opensm.conf %config(noreplace) %{_sysconfdir}/sysconfig/opensm %doc AUTHORS COPYING ChangeLog INSTALL README NEWS +%files sysv +%defattr(-,root,root,-) +%{_initddir}/opensm + %files libs %defattr(-,root,root,-) %{_libdir}/lib*.so.* @@ -114,6 +134,10 @@ fi %{_libdir}/lib*.a %changelog +* Tue Nov 27 2012 Doug Ledford - 3.3.15-1 +- Update to latest upstream release +- Update to systemd startup + * Fri Jul 20 2012 Fedora Release Engineering - 3.3.13-3 - Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild diff --git a/sources b/sources index d69ac4b..83ea7b2 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -6e667badb126a5e21ea2ab90cd950226 opensm-3.3.13.tar.gz +ad4c179c119bbb78be740e33b59746ad opensm-3.3.15.tar.gz