|
Packit |
13e616 |
OpenSM Partition Management
|
|
Packit |
13e616 |
---------------------------
|
|
Packit |
13e616 |
|
|
Packit |
13e616 |
Roadmap:
|
|
Packit |
13e616 |
Phase 1 - provide partition management at the EndPort (HCA, Router and Switch
|
|
Packit |
13e616 |
Port 0) level with no routing affects.
|
|
Packit |
13e616 |
Phase 2 - routing engine should take partitions into account.
|
|
Packit |
13e616 |
|
|
Packit |
13e616 |
Phase 1 functionality:
|
|
Packit |
13e616 |
|
|
Packit |
13e616 |
Supported Policy:
|
|
Packit |
13e616 |
|
|
Packit |
13e616 |
1. EndPort partition groups are to be defined by listing the
|
|
Packit |
13e616 |
PortGUIDs as full and limited members.
|
|
Packit |
13e616 |
|
|
Packit |
13e616 |
2. Each partition group might be assigned an explicit P_Key (only the 15
|
|
Packit |
13e616 |
LSB bits are valid) or the SM should assign it randomly.
|
|
Packit |
13e616 |
|
|
Packit |
13e616 |
3. A flag should control the generation of IPoIB broadcast group for
|
|
Packit |
13e616 |
that partition. Extra optional MGIDs can be provided to be setup (on
|
|
Packit |
13e616 |
top of the IPoIB broadcast group).
|
|
Packit |
13e616 |
|
|
Packit |
13e616 |
4. A global flag "Disconnect Unconfigured EndPorts": If TRUE prevents
|
|
Packit |
13e616 |
EndPorts that are not explicitly defined as part of any partition
|
|
Packit |
13e616 |
(thus "unconfigured") to communicate with any other EndPort. Otherwise, it
|
|
Packit |
13e616 |
will let these EndPorts send packets to all other EndPorts.
|
|
Packit |
13e616 |
|
|
Packit |
13e616 |
Functionality:
|
|
Packit |
13e616 |
|
|
Packit |
13e616 |
1. The policy should be updated:
|
|
Packit |
13e616 |
- during SM bringup
|
|
Packit |
13e616 |
- after kill -HUP
|
|
Packit |
13e616 |
- through SNMP (once it is supported)
|
|
Packit |
13e616 |
|
|
Packit |
13e616 |
2. Partition tables will be updated on full sweep (new port/trap etc).
|
|
Packit |
13e616 |
As a first step, the policy feasibility should be
|
|
Packit |
13e616 |
verified. Feasibility could be limited by the EndPorts supports for
|
|
Packit |
13e616 |
number of partitions, etc. Unrealizable policy should be reported
|
|
Packit |
13e616 |
and extra rules ignored after providing error messages.
|
|
Packit |
13e616 |
|
|
Packit |
13e616 |
3. Each EndPort will be assigned P_Keys as follows:
|
|
Packit |
13e616 |
|
|
Packit |
13e616 |
a. Default partition group limited membership as defined by rule #4 below.
|
|
Packit |
13e616 |
(only the SM port will get 0xffff).
|
|
Packit |
13e616 |
|
|
Packit |
13e616 |
b. P_Keys for all partition groups it is part of as defined in
|
|
Packit |
13e616 |
the policy.
|
|
Packit |
13e616 |
|
|
Packit |
13e616 |
c. P_Key update will preserve index for the existing P_Keys on the
|
|
Packit |
13e616 |
port. If port has limited resources that will require reuse of,
|
|
Packit |
13e616 |
on index a message will be provided and some of the settings will be
|
|
Packit |
13e616 |
ommitted. P_Key indexes will not change under any circumstances.
|
|
Packit |
13e616 |
|
|
Packit |
13e616 |
4. Each Switch Leaf Port (a switch port that is connected to an
|
|
Packit |
13e616 |
EndPort) should be configured according to the same rules that
|
|
Packit |
13e616 |
apply to the EndPort connected to that switch port.
|
|
Packit |
13e616 |
This actually enables unauthorized port isolation (with future
|
|
Packit |
13e616 |
usage of M_Key and ProtectBits).
|
|
Packit |
13e616 |
|
|
Packit |
13e616 |
5. Policy entries matching a non EndPort will be flagged as
|
|
Packit |
13e616 |
erroneous in the log file and ignored.
|
|
Packit |
13e616 |
|
|
Packit |
13e616 |
6. At the end of the P_Key setting phase, a check for successful
|
|
Packit |
13e616 |
setting should be made.
|
|
Packit |
13e616 |
Errors should be clearly logged and cause a new sweep.
|
|
Packit |
13e616 |
|
|
Packit |
13e616 |
7. Each partition that is marked to support IPoIB should define a
|
|
Packit |
13e616 |
broadcast MGRP. If the partition does not support IPoIB, it should
|
|
Packit |
13e616 |
define a dummy MGRP with parameters blocking IPoIB drivers from
|
|
Packit |
13e616 |
registering to it.
|
|
Packit |
13e616 |
|
|
Packit |
13e616 |
Phase 2 functionality:
|
|
Packit |
13e616 |
|
|
Packit |
13e616 |
The partition policy should be considered during the routing such that
|
|
Packit |
13e616 |
links are associated with particular partition or a set of
|
|
Packit |
13e616 |
partitions. Policy should be enhanced to provide hints for how to do
|
|
Packit |
13e616 |
that (correlating to QoS too). The exact algorithm is TBD.
|
|
Packit |
13e616 |
|