Blame doc/partition-config.txt

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