|
Packit |
13e616 |
OpenSM Partition configuration
|
|
Packit |
13e616 |
===============================
|
|
Packit |
13e616 |
|
|
Packit |
13e616 |
The default name of OpenSM partitions configuration file is
|
|
Packit |
13e616 |
'$(OPENSM_CONFIG_DIR)/partitions.conf' (where $(OPENSM_CONFIG_DIR) is set at
|
|
Packit |
13e616 |
configure time and defaults to ${sysconfdir}/opensm). The default may be
|
|
Packit |
13e616 |
changed at run time by using the --Pconfig (-P) option with OpenSM.
|
|
Packit |
13e616 |
|
|
Packit |
13e616 |
The default partition will be created by OpenSM unconditionally even
|
|
Packit |
13e616 |
when partition configuration file does not exist or cannot be accessed.
|
|
Packit |
13e616 |
|
|
Packit |
13e616 |
The default partition has P_Key value 0x7fff. OpenSM's port will always
|
|
Packit |
13e616 |
have full membership in default partition. All other end ports will have
|
|
Packit |
13e616 |
full membership if the partition configuration file is not found or cannot
|
|
Packit |
13e616 |
be accessed, or limited membership if the file exists and can be accessed
|
|
Packit |
13e616 |
but there is no rule for the Default partition.
|
|
Packit |
13e616 |
|
|
Packit |
13e616 |
Effectively, this amounts to the same as if one of the following rules
|
|
Packit |
13e616 |
below appear in the partition configuration file:
|
|
Packit |
13e616 |
In the case of no rule for the Default partition:
|
|
Packit |
13e616 |
Default=0x7fff : ALL=limited, SELF=full ;
|
|
Packit |
13e616 |
In the case of no partition configuration file or file cannot be accessed:
|
|
Packit |
13e616 |
Default=0x7fff : ALL=full ;
|
|
Packit |
13e616 |
|
|
Packit |
13e616 |
|
|
Packit |
13e616 |
File Format
|
|
Packit |
13e616 |
===========
|
|
Packit |
13e616 |
|
|
Packit |
13e616 |
Comments:
|
|
Packit |
13e616 |
|
|
Packit |
13e616 |
Line content followed after \'#\' character is comment and ignored by
|
|
Packit |
13e616 |
parser.
|
|
Packit |
13e616 |
|
|
Packit |
13e616 |
General file format:
|
|
Packit |
13e616 |
|
|
Packit |
13e616 |
<Partition Definition>:[<newline>]<Partition Properties>;
|
|
Packit |
13e616 |
|
|
Packit |
13e616 |
Partition Definition:
|
|
Packit |
13e616 |
[PartitionName][=PKey][,indx0][,ipoib_bc_flags][,defmember=full|limited|both]
|
|
Packit |
13e616 |
|
|
Packit |
13e616 |
PartitionName - string, will be used with logging. When
|
|
Packit |
13e616 |
omitted, empty string will be used.
|
|
Packit |
13e616 |
PKey - P_Key value for this partition. Only low 15
|
|
Packit |
13e616 |
bits will be used. When omitted will be
|
|
Packit |
13e616 |
autogenerated.
|
|
Packit |
13e616 |
indx0 - indicates that this pkey should be inserted in
|
|
Packit |
13e616 |
block 0 index 0.
|
|
Packit |
13e616 |
ipoib_bc_flags - used to indicate/specify IPoIB capability of
|
|
Packit |
13e616 |
this partition.
|
|
Packit |
13e616 |
|
|
Packit |
13e616 |
defmember=full|limited|both - specifies default membership for
|
|
Packit |
13e616 |
port guid list. Default is limited.
|
|
Packit |
13e616 |
|
|
Packit |
13e616 |
ipoib_bc_flags:
|
|
Packit |
13e616 |
ipoib_flag|[mgroup_flag]*
|
|
Packit |
13e616 |
|
|
Packit |
13e616 |
ipoib_flag:
|
|
Packit |
13e616 |
ipoib - indicates that this partition may be used for
|
|
Packit |
13e616 |
IPoIB, as a result the IPoIB broadcast group will
|
|
Packit |
13e616 |
be created with the mgroup_flag flags given,
|
|
Packit |
13e616 |
if any.
|
|
Packit |
13e616 |
|
|
Packit |
13e616 |
Partition Properties:
|
|
Packit |
13e616 |
[<Port list>|<MCast Group>]* | <Port list>
|
|
Packit |
13e616 |
|
|
Packit |
13e616 |
Port list:
|
|
Packit |
13e616 |
<Port Specifier>[,<Port Specifier>]
|
|
Packit |
13e616 |
|
|
Packit |
13e616 |
Port Specifier:
|
|
Packit |
13e616 |
<PortGUID>[=[full|limited|both]]
|
|
Packit |
13e616 |
|
|
Packit |
13e616 |
PortGUID - GUID of partition member EndPort.
|
|
Packit |
13e616 |
Hexadecimal numbers should start from
|
|
Packit |
13e616 |
0x, decimal numbers are accepted too.
|
|
Packit |
13e616 |
full or - indicates full and/or limited membership for
|
|
Packit |
13e616 |
limited or this port. When omitted (or unrecognized)
|
|
Packit |
13e616 |
both limited membership is assumed. Both
|
|
Packit |
13e616 |
indicates both full and limited membership
|
|
Packit |
13e616 |
for this port.
|
|
Packit |
13e616 |
|
|
Packit |
13e616 |
MCast Group:
|
|
Packit |
13e616 |
mgid=gid[,mgroup_flag]*<newline>
|
|
Packit |
13e616 |
|
|
Packit |
13e616 |
- gid specified is verified to be a Multicast
|
|
Packit |
13e616 |
address. IP groups are verified to match
|
|
Packit |
13e616 |
the rate and mtu of the broadcast group.
|
|
Packit |
13e616 |
The P_Key bits of the mgid for IP groups are
|
|
Packit |
13e616 |
verified to either match the P_Key specified
|
|
Packit |
13e616 |
in by "Partition Definition" or if they are
|
|
Packit |
13e616 |
0x0000 the P_Key will be copied into those
|
|
Packit |
13e616 |
bits.
|
|
Packit |
13e616 |
|
|
Packit |
13e616 |
mgroup_flag:
|
|
Packit |
13e616 |
rate=<val> - specifies rate for this MC group
|
|
Packit |
13e616 |
(default is 3 (10GBps))
|
|
Packit |
13e616 |
mtu=<val> - specifies MTU for this MC group
|
|
Packit |
13e616 |
(default is 4 (2048))
|
|
Packit |
13e616 |
sl=<val> - specifies SL for this MC group
|
|
Packit |
13e616 |
(default is 0)
|
|
Packit |
13e616 |
scope=<val> - specifies scope for this MC group
|
|
Packit |
13e616 |
(default is 2 (link local)). Multiple scope
|
|
Packit |
13e616 |
settings are permitted for a partition.
|
|
Packit |
13e616 |
NOTE: This overwrites the scope nibble of the
|
|
Packit |
13e616 |
specified mgid. Furthermore specifying
|
|
Packit |
13e616 |
multiple scope settings will result in
|
|
Packit |
13e616 |
multiple MC groups being created.
|
|
Packit |
13e616 |
Q_Key=<val> - specifies the Q_Key for this MC group
|
|
Packit |
13e616 |
(default: 0x0b1b for IP groups, 0 for other
|
|
Packit |
13e616 |
groups)
|
|
Packit |
13e616 |
WARNING: changing this for the broadcast
|
|
Packit |
13e616 |
group may break IPoIB on client
|
|
Packit |
13e616 |
nodes!!!
|
|
Packit |
13e616 |
TClass=<val> - specifies tclass for this MC group
|
|
Packit |
13e616 |
(default is 0)
|
|
Packit |
13e616 |
FlowLabel=<val> - specifies FlowLabel for this MC group
|
|
Packit |
13e616 |
(default is 0)
|
|
Packit |
13e616 |
NOTE: All mgroup_flag flags MUST be separated by comma (,).
|
|
Packit |
13e616 |
|
|
Packit |
13e616 |
Note that values for rate, mtu, and scope, for both partitions and multicast
|
|
Packit |
13e616 |
groups, should be specified as defined in the IBTA specification (for example,
|
|
Packit |
13e616 |
mtu=4 for 2048).
|
|
Packit |
13e616 |
|
|
Packit |
13e616 |
There are several useful keywords for PortGUID definition:
|
|
Packit |
13e616 |
|
|
Packit |
13e616 |
- 'ALL' means all end ports in this subnet.
|
|
Packit |
13e616 |
- 'ALL_CAS' means all Channel Adapter end ports in this subnet.
|
|
Packit |
13e616 |
- 'ALL_SWITCHES' means all Switch end ports in this subnet.
|
|
Packit |
13e616 |
- 'ALL_ROUTERS' means all Router end ports in this subnet.
|
|
Packit |
13e616 |
- 'SELF' means subnet manager's port.
|
|
Packit |
13e616 |
|
|
Packit |
13e616 |
Empty list means no ports in this partition.
|
|
Packit |
13e616 |
|
|
Packit |
13e616 |
|
|
Packit |
13e616 |
|
|
Packit |
13e616 |
Notes:
|
|
Packit |
13e616 |
-----
|
|
Packit |
13e616 |
|
|
Packit |
13e616 |
White space is permitted between delimiters ('=', ',',':',';').
|
|
Packit |
13e616 |
|
|
Packit |
13e616 |
PartitionName does not need to be unique, PKey does need to be unique.
|
|
Packit |
13e616 |
If PKey is repeated then those partition configurations will be merged
|
|
Packit |
13e616 |
and first PartitionName will be used (see also next note).
|
|
Packit |
13e616 |
|
|
Packit |
13e616 |
It is possible to split partition configuration in more than one
|
|
Packit |
13e616 |
definition, but then PKey should be explicitly specified (otherwise
|
|
Packit |
13e616 |
different PKey values will be generated for those definitions).
|
|
Packit |
13e616 |
|
|
Packit |
13e616 |
|
|
Packit |
13e616 |
|
|
Packit |
13e616 |
Examples:
|
|
Packit |
13e616 |
--------
|
|
Packit |
13e616 |
|
|
Packit |
13e616 |
Default=0x7fff : ALL, SELF=full ;
|
|
Packit |
13e616 |
Default=0x7fff : ALL, ALL_SWITCHES=full, SELF=full ;
|
|
Packit |
13e616 |
|
|
Packit |
13e616 |
NewPartition , ipoib : 0x123456=full, 0x3456789034=limi, 0x2134af2306 ;
|
|
Packit |
13e616 |
|
|
Packit |
13e616 |
YetAnotherOne = 0x300 : SELF=full ;
|
|
Packit |
13e616 |
YetAnotherOne = 0x300 : ALL=limited ;
|
|
Packit |
13e616 |
|
|
Packit |
13e616 |
ShareIO = 0x80 , defmember=full : 0x123451, 0x123452;
|
|
Packit |
13e616 |
# 0x123453, 0x123454 will be limited
|
|
Packit |
13e616 |
ShareIO = 0x80 : 0x123453, 0x123454, 0x123455=full;
|
|
Packit |
13e616 |
# 0x123456, 0x123457 will be limited
|
|
Packit |
13e616 |
ShareIO = 0x80 , defmember=limited : 0x123456, 0x123457, 0x123458=full;
|
|
Packit |
13e616 |
ShareIO = 0x80 , defmember=full : 0x123459, 0x12345a;
|
|
Packit |
13e616 |
ShareIO = 0x80 , defmember=full : 0x12345b, 0x12345c=limited, 0x12345d;
|
|
Packit |
13e616 |
|
|
Packit |
13e616 |
# multicast groups added to default
|
|
Packit |
13e616 |
Default=0x7fff,ipoib:
|
|
Packit |
13e616 |
mgid=ff12:401b::0707,sl=1 # random IPv4 group
|
|
Packit |
13e616 |
mgid=ff12:601b::16 # MLDv2-capable routers
|
|
Packit |
13e616 |
mgid=ff12:401b::16 # IGMP
|
|
Packit |
13e616 |
mgid=ff12:601b::2 # All routers
|
|
Packit |
13e616 |
mgid=ff12::1,sl=1,Q_Key=0xDEADBEEF,rate=3,mtu=2 # random group
|
|
Packit |
13e616 |
ALL=full;
|
|
Packit |
13e616 |
|
|
Packit |
13e616 |
|
|
Packit |
13e616 |
Note:
|
|
Packit |
13e616 |
----
|
|
Packit |
13e616 |
|
|
Packit |
13e616 |
The following rule is equivalent to how OpenSM used to run prior to the
|
|
Packit |
13e616 |
partition manager:
|
|
Packit |
13e616 |
|
|
Packit |
13e616 |
Default=0x7fff,ipoib:ALL=full;
|
|
Packit |
13e616 |
|