[ofa-general] Re: [PATCH 1/2] add default configuration files

Sasha Khapyorsky sashak at voltaire.com
Sun Nov 9 10:13:16 PST 2008


Hi Doron,

On 11:24 Thu 06 Nov     , Doron Shoham wrote:
> add default configuration files:
> opensm.conf
> partitions.conf
> qos-policy.conf
> root-nodes.conf
> 
> Signed-off-by: Doron Shoham <dorons at voltaire.com>
> ---
>  opensm/scripts/opensm.conf     |  331 ++++++++++++++++++++++++++++++++++++++++

Normally this file is autogenerated. And I don't see any good reason to
put generated files under source control.

>  opensm/scripts/partitions.conf |  100 ++++++++++++

Existence of partition file changes default behavior of PM in OpenSM,
so you will need to put some reasonable configuration there. OTOH you
already have it in OpenSM (when using without file), so why to bother?

>  opensm/scripts/qos-policy.conf |    2 +
>  opensm/scripts/root-nodes.conf |    3 +

Those are empty.

>  4 files changed, 436 insertions(+), 0 deletions(-)
>  create mode 100644 opensm/scripts/opensm.conf
>  create mode 100644 opensm/scripts/partitions.conf
>  create mode 100644 opensm/scripts/qos-policy.conf
>  create mode 100644 opensm/scripts/root-nodes.conf
> 
> diff --git a/opensm/scripts/opensm.conf b/opensm/scripts/opensm.conf
> new file mode 100644
> index 0000000..89e4145
> --- /dev/null
> +++ b/opensm/scripts/opensm.conf
> @@ -0,0 +1,331 @@
> +#
> +# 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
> +
> +# The code of maximal time a packet can live in a switch
> +# The actual time is 4.096usec * 2^<packet_life_time>
> +# 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^<head_of_queue_lifetime>
> +# 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
> +
> +# The subnet_timeout code that will be set for all the ports
> +# The actual timeout is 4.096usec * 2^<subnet_timeout>
> +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
> +
> +#
> +# PARTITIONING OPTIONS
> +#
> +# Partition configuration file to be used
> +partition_config_file /etc/opensm/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)
> +
> +# 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, file, ftree, lash, dor
> +routing_engine minhop
> +
> +# 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 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)
> +
> +# SA database file name
> +sa_db_file (null)
> +
> +#
> +# HANDOVER - MULTIPLE SMs OPTIONS
> +#
> +# SM priority used for deciding who is the master
> +# Range goes from 0 (lowest priority) to 15 (highest).
> +sm_priority 14

SM priority value 14 doesn't look as a good idea for a default value (we
are not starting "priority wars" with other SMs :)).

Sasha

> +
> +# 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
> +
> +# The maximum time in [msec] allowed for a transaction to complete
> +transaction_timeout 200
> +
> +# 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 returned with a BUSY status.
> +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
> +
> +#
> +# 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 (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(MB) of the log file. If overrun, log is restarted
> +log_max_size 4096
> +
> +# 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/opensm/qos-policy.conf
> +
> +# QoS default options
> +qos_max_vls 15
> +qos_high_limit 0
> +qos_vlarb_high 0:4,1:0,2:0,3:0,4:0,5:0,6:0,7:0,8:0,9:0,10:0,11:0,12:0,13:0,14:0
> +qos_vlarb_low 0:0,1:4,2:4,3:4,4:4,5:4,6:4,7:4,8:4,9:4,10:4,11:4,12:4,13:4,14:4
> +qos_sl2vl 0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,7
> +
> +# QoS CA options
> +qos_ca_max_vls 15
> +qos_ca_high_limit 0
> +qos_ca_vlarb_high 0:4,1:0,2:0,3:0,4:0,5:0,6:0,7:0,8:0,9:0,10:0,11:0,12:0,13:0,14:0
> +qos_ca_vlarb_low 0:0,1:4,2:4,3:4,4:4,5:4,6:4,7:4,8:4,9:4,10:4,11:4,12:4,13:4,14:4
> +qos_ca_sl2vl 0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,7
> +
> +# QoS Switch Port 0 options
> +qos_sw0_max_vls 15
> +qos_sw0_high_limit 0
> +qos_sw0_vlarb_high 0:4,1:0,2:0,3:0,4:0,5:0,6:0,7:0,8:0,9:0,10:0,11:0,12:0,13:0,14:0
> +qos_sw0_vlarb_low 0:0,1:4,2:4,3:4,4:4,5:4,6:4,7:4,8:4,9:4,10:4,11:4,12:4,13:4,14:4
> +qos_sw0_sl2vl 0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,7
> +
> +# QoS Switch external ports options
> +qos_swe_max_vls 15
> +qos_swe_high_limit 0
> +qos_swe_vlarb_high 0:4,1:0,2:0,3:0,4:0,5:0,6:0,7:0,8:0,9:0,10:0,11:0,12:0,13:0,14:0
> +qos_swe_vlarb_low 0:0,1:4,2:4,3:4,4:4,5:4,6:4,7:4,8:4,9:4,10:4,11:4,12:4,13:4,14:4
> +qos_swe_sl2vl 0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,7
> +
> +# QoS Router ports options
> +qos_rtr_max_vls 15
> +qos_rtr_high_limit 0
> +qos_rtr_vlarb_high 0:4,1:0,2:0,3:0,4:0,5:0,6:0,7:0,8:0,9:0,10:0,11:0,12:0,13:0,14:0
> +qos_rtr_vlarb_low 0:0,1:4,2:4,3:4,4:4,5:4,6:4,7:4,8:4,9:4,10:4,11:4,12:4,13:4,14:4
> +qos_rtr_sl2vl 0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,7
> +
> +# Prefix routes file name
> +prefix_routes_file /etc/opensm/prefix-routes.conf
> +
> +#
> +# IPv6 Solicited Node Multicast (SNM) Options
> +#
> +consolidate_ipv6_snm_req FALSE
> +
> diff --git a/opensm/scripts/partitions.conf b/opensm/scripts/partitions.conf
> new file mode 100644
> index 0000000..868a26a
> --- /dev/null
> +++ b/opensm/scripts/partitions.conf
> @@ -0,0 +1,100 @@
> +# Default partition configuration file for OpenSM
> +# 
> +# The  default  name  of  OpenSM  partitions configuration file is /etc/opensm/partitions.conf. The default may be changed by using --Pconfig (-P)
> +# option with OpenSM.
> +# 
> +# The default partition will be created by OpenSM unconditionally even when partition configuration file does not exist or cannot be accessed.
> +# 
> +# The default partition has P_Key value 0x7fff. OpenSM??s port will have full membership in default partition. All other end ports will  have  par???
> +# tial membership.
> +# 
> +# File Format
> +# 
> +# Comments:
> +# 
> +# Line content followed after ??#?? character is comment and ignored by parser.
> +# 
> +# General file format:
> +# 
> +# <Partition Definition>:<PortGUIDs list> ;
> +# 
> +# Partition Definition:
> +# 
> +# [PartitionName][=PKey][,flag[=value]][,defmember=full|limited]
> +# 
> +# PartitionName - string, will be used with logging. When omitted
> +# 		empty string will be used.
> +# PKey          - P_Key value for this partition. Only low 15 bits will
> +# 		be used. When omitted will be autogenerated.
> +# flag          - used to indicate IPoIB capability of this partition.
> +# defmember=full|limited - specifies default membership for port guid
> +# 		list. Default is limited.
> +# 
> +# Currently recognized flags are:
> +# 
> +# ipoib       - indicates that this partition may be used for IPoIB, as
> +# 	      result IPoIB capable MC group will be created.
> +# rate=<val>  - specifies rate for this IPoIB MC group
> +# 	      (default is 3 (10GBps))
> +# mtu=<val>   - specifies MTU for this IPoIB MC group
> +# 	      (default is 4 (2048))
> +# sl=<val>    - specifies SL for this IPoIB MC group
> +# 	      (default is 0)
> +# scope=<val> - specifies scope for this IPoIB MC group
> +# 	      (default is 2 (link local)).  Multiple scope settings
> +# 	      are permitted for a partition.
> +# 
> +# Note that values for rate, mtu, and scope should be specified as defined in the IBTA specification (for example, mtu=4 for 2048).
> +# 
> +# PortGUIDs list:
> +# 
> +# PortGUID         - GUID of partition member EndPort. Hexadecimal
> +# 		   numbers should start from 0x, decimal numbers
> +# 		   are accepted too.
> +# full or limited  - indicates full or limited membership for this
> +# 		   port.  When omitted (or unrecognized) limited
> +# 		   membership is assumed.
> +# 
> +# There are two useful keywords for PortGUID definition:
> +# 
> +# - 'ALL' means all end ports in this subnet.
> +# - 'SELF' means subnet manager's port.
> +# 
> +# Empty list means no ports in this partition.
> +# 
> +# Notes:
> +# 
> +# White space is permitted between delimiters ('=', ',',':',';').
> +# 
> +# The line can be wrapped after ':' followed after Partition Definition and between.
> +# 
> +# PartitionName  does  not need to be unique, PKey does need to be unique.  If PKey is repeated then those partition configurations will be merged
> +# and first PartitionName will be used (see also next note).
> +# 
> +# It is possible to split partition configuration in more than one definition, but then PKey should be explicitly specified  (otherwise  different
> +# PKey values will be generated for those definitions).
> +# 
> +# Examples:
> +# 
> +# Default=0x7fff : ALL, SELF=full ;
> +# 
> +# NewPartition , ipoib : 0x123456=full, 0x3456789034=limi, 0x2134af2306 ;
> +# 
> +# YetAnotherOne = 0x300 : SELF=full ;
> +# YetAnotherOne = 0x300 : ALL=limited ;
> +# 
> +# ShareIO = 0x80 , defmember=full : 0x123451, 0x123452;
> +# # 0x123453, 0x123454 will be limited
> +# ShareIO = 0x80 : 0x123453, 0x123454, 0x123455=full;
> +# # 0x123456, 0x123457 will be limited
> +# ShareIO = 0x80 : defmember=limited : 0x123456, 0x123457, 0x123458=full;
> +# ShareIO = 0x80 , defmember=full : 0x123459, 0x12345a;
> +# ShareIO = 0x80 , defmember=full : 0x12345b, 0x12345c=limited, 0x12345d;
> +# 
> +# 
> +# Note:
> +# 
> +# The following rule is equivalent to how OpenSM used to run prior to the partition manager:
> +# 
> + Default=0x7fff,ipoib:ALL=full;
> +# 
> diff --git a/opensm/scripts/qos-policy.conf b/opensm/scripts/qos-policy.conf
> new file mode 100644
> index 0000000..42a88c0
> --- /dev/null
> +++ b/opensm/scripts/qos-policy.conf
> @@ -0,0 +1,2 @@
> +# Default Quality of Service policy configuration file
> +# For further details see /usr/share/doc/opensm-<version>/QoS_management_in_OpenSM.txt
> diff --git a/opensm/scripts/root-nodes.conf b/opensm/scripts/root-nodes.conf
> new file mode 100644
> index 0000000..d84d732
> --- /dev/null
> +++ b/opensm/scripts/root-nodes.conf
> @@ -0,0 +1,3 @@
> +# Default root node GUIDs configuration file for OpenSM
> +# List of GUIDs in hex, one per line
> +# 0x8f10002322134567
> -- 
> 1.5.3.8
> 
> 



More information about the general mailing list