From 39a5c52144f58c9129be4b98b3f0eeb8653a8779 Mon Sep 17 00:00:00 2001 From: Doug Ledford Date: Mar 25 2013 19:29:03 +0000 Subject: Various updates - Drop the old sysv init script - Fix opensm-launch to restart opensm in a loop. This works around the fact that systemd starts opensm so early that we very well might not have sync on the link yet. Without the physical link being up, opensm exits immediately. This way opensm will get restarted every 30 seconds until sync is active on the link or until the opensm service is stopped. - Always install the newly generated opensm-%%{version}.conf as opensm.conf - Make the launch work properly in the event that no GUIDs are set and there are no numbered config files Signed-off-by: Doug Ledford --- diff --git a/opensm-3.3.13.conf b/opensm-3.3.13.conf deleted file mode 100644 index 27897d6..0000000 --- a/opensm-3.3.13.conf +++ /dev/null @@ -1,410 +0,0 @@ -# -# 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 deleted file mode 100644 index ff7c3c1..0000000 --- a/opensm-3.3.15.conf +++ /dev/null @@ -1,540 +0,0 @@ -# -# 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.conf b/opensm.conf deleted file mode 100644 index ff7c3c1..0000000 --- a/opensm.conf +++ /dev/null @@ -1,540 +0,0 @@ -# -# 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.initd b/opensm.initd deleted file mode 100644 index dd9e69f..0000000 --- a/opensm.initd +++ /dev/null @@ -1,170 +0,0 @@ -#!/bin/bash -# -# Bring up/down opensm -# -# chkconfig: - 15 85 -# description: Activates/Deactivates InfiniBand Subnet Manager -# config: /etc/rdma/opensm.conf -# -### BEGIN INIT INFO -# Provides: opensm -# Default-Stop: 0 1 2 3 4 5 6 -# Required-Start: rdma -# Required-Stop: rdma -# Short-Description: Starts/Stops the InfiniBand Subnet Manager -# Description: Starts/Stops the InfiniBand Subnet Manager -### END INIT INFO - -. /etc/rc.d/init.d/functions - -prog=/usr/sbin/opensm -PID_FILE=/var/run/opensm.pid -[ -f /etc/sysconfig/opensm ] && . /etc/sysconfig/opensm - -[ -n "$PRIORITY" ] && prio="-p $PRIORITY" - -ACTION=$1 - -start() -{ - local OSM_PID= - 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 - [ -f /var/lock/subsys/opensm ] && return 0 - # Start opensm - echo -n "Starting IB Subnet Manager: " - [ -n "$PRIORITY" ] && echo -n "Priority=$PRIORITY " - [ -n "$GUIDS" ] && echo -n "$GUID_CNT guids " - [ -n "$CONFIGS" ] && echo -n "$CONFIG_CNT instances " - 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 >/dev/null 2>&1 - let SUBNET_COUNT++ - done - elif [ -n "$CONFIGS" ]; then - for config in $CONFIGS; do - $prog -B $prio -F $config >/dev/null 2>&1 - done - else - $prog -B $prio >/dev/null 2>&1 - fi - sleep 1 - OSM_PID=`pidof $prog` - checkpid $OSM_PID - RC=$? - [ $RC -eq 0 ] && echo_success || echo_failure - [ $RC -eq 0 ] && touch /var/lock/subsys/opensm - [ $RC -eq 0 ] && echo $OSM_PID > $PID_FILE - echo - return $RC -} - -stop() -{ - [ -f /var/lock/subsys/opensm ] || return 0 - - echo -n "Stopping IB Subnet Manager(s)." - - OSM_PID=`cat $PID_FILE` - - checkpid $OSM_PID - RC=$? - if [ $RC -ne 0 ]; then - rm -f $PID_FILE - rm -f /var/lock/subsys/opensm - echo_success - return 0 - fi - # Kill opensm - kill -15 $OSM_PID >/dev/null 2>&1 - cnt=0 - while [ $cnt -lt 6 ]; do - checkpid $OSM_PID - if [ $? -ne 0 ]; then - break - fi - echo -n "." - sleep 1 - let cnt++ - done - - checkpid $OSM_PID - if [ $? -eq 0 ]; then - kill -KILL $OSM_PID > /dev/null 2>&1 - echo -n "+" - sleep 1 - fi - checkpid $OSM_PID - DEAD=$? - if [ $DEAD -eq 0 ]; then - echo_failure - echo - return 1 - fi - echo_success - echo - - # Remove pid file if any. - rm -f $PID_FILE - rm -f /var/lock/subsys/opensm - return 0 -} - -restart () -{ - stop - start -} - -condrestart () -{ - [ -f /var/lock/subsys/opensm ] && restart || return 0 -} - -reload () -{ - [ -f $PID_FILE ] || return 0 - OSM_PID=`cat $PID_FILE` - action $"Rescanning IB Subnet:" kill -HUP $OSM_PID - return $? -} - -usage () -{ - echo - echo "Usage: `basename $0` {start|stop|restart|condrestart|try-restart|force-reload|status}" - echo - return 2 -} - -case $ACTION in - start|stop|restart|reload|condrestart|try-restart|force-reload) - [ `id -u` != "0" ] && exit 4 ;; -esac - -case $ACTION in - start) start; RC=$? ;; - stop) stop; RC=$? ;; - restart) restart; RC=$? ;; - reload) reload; RC=$? ;; - condrestart) condrestart; RC=$? ;; - try-restart) condrestart; RC=$? ;; - force-reload) condrestart; RC=$? ;; - status) status $prog; RC=$? ;; - *) usage; RC=$? ;; -esac - -exit $RC diff --git a/opensm.launch b/opensm.launch index 73a4ca3..b2bbbde 100644 --- a/opensm.launch +++ b/opensm.launch @@ -6,6 +6,8 @@ # config: /etc/rdma/opensm.conf # +shopt -s nullglob + prog=/usr/sbin/opensm [ -f /etc/sysconfig/opensm ] && . /etc/sysconfig/opensm @@ -29,14 +31,14 @@ 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 + (while true; do $prog -B $prio -g $guid --subnet_prefix $SUBNET_PREFIX; sleep 30; done) & let SUBNET_COUNT++ done elif [ -n "$CONFIGS" ]; then for config in $CONFIGS; do - $prog -B $prio -F $config + (while true; do $prog -B $prio -F $config; sleep 30; done) & done else - $prog -B $prio + (while true; do $prog -B $prio; sleep 30; done) & fi exit 0 diff --git a/opensm.spec b/opensm.spec index 13c50c4..3b24d59 100644 --- a/opensm.spec +++ b/opensm.spec @@ -1,14 +1,12 @@ Name: opensm Version: 3.3.15 -Release: 4%{?dist} +Release: 5%{?dist} Summary: OpenIB InfiniBand Subnet Manager and management utilities Group: System Environment/Daemons License: GPLv2 or BSD Url: http://www.openfabrics.org/ Source0: http://www.openfabrics.org/downloads/management/%{name}-%{version}.tar.gz -Source1: opensm.conf Source2: opensm.logrotate -Source3: opensm.initd Source4: opensm.sysconfig Source5: opensm.service Source6: opensm.launch @@ -30,17 +28,6 @@ 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, /sbin/service -Requires(preun): chkconfig, /sbin/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 @@ -71,7 +58,7 @@ Static version of opensm libraries %configure --with-opensm-conf-sub-dir=rdma make %{?_smp_mflags} cd opensm -./opensm -c ../../opensm-%{version}.conf +./opensm -c ../opensm-%{version}.conf %install rm -rf %{buildroot} @@ -79,9 +66,8 @@ make install DESTDIR=%{buildroot} # remove unpackaged files from the buildroot rm -f %{buildroot}%{_libdir}/*.la rm -fr %{buildroot}%{_sysconfdir}/init.d -install -D -m644 %{SOURCE1} %{buildroot}%{_sysconfdir}/rdma/opensm.conf +install -D -m644 opensm-%{version}.conf %{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 @@ -108,20 +94,6 @@ fi %postun %systemd_postun_with_restart opensm.service -%post sysv -if [ $1 = 1 ]; then - /sbin/chkconfig --add opensm -else - /sbin/service opensm condrestart -fi - -%preun sysv -if [ $1 = 0 ]; then - /sbin/service opensm stop - /sbin/chkconfig --del opensm -fi - - %post libs -p /sbin/ldconfig %postun libs -p /sbin/ldconfig @@ -139,10 +111,6 @@ fi %{_sysconfdir}/rwtab.d/opensm %doc AUTHORS COPYING ChangeLog INSTALL README NEWS -%files sysv -%defattr(-,root,root,-) -%{_initddir}/opensm - %files libs %defattr(-,root,root,-) %{_libdir}/lib*.so.* @@ -157,6 +125,17 @@ fi %{_libdir}/lib*.a %changelog +* Mon Mar 25 2013 Doug Ledford - 3.3.15-5 +- Drop the old sysv init script +- Fix opensm-launch to restart opensm in a loop. This works around the + fact that systemd starts opensm so early that we very well might not have + sync on the link yet. Without the physical link being up, opensm exits + immediately. This way opensm will get restarted every 30 seconds until + sync is active on the link or until the opensm service is stopped. +- Always install the newly generated opensm-%%{version}.conf as opensm.conf +- Make the launch work properly in the event that no GUIDs are set and + there are no numbered config files + * Thu Feb 14 2013 Fedora Release Engineering - 3.3.15-4 - Rebuilt for https://fedoraproject.org/wiki/Fedora_19_Mass_Rebuild