]> CyberLeo.Net >> Repos - FreeBSD/releng/10.0.git/blob - contrib/ofed/management/opensm/doc/OpenSM_PKey_Mgr.txt
- Copy stable/10 (r259064) to releng/10.0 as part of the
[FreeBSD/releng/10.0.git] / contrib / ofed / management / opensm / doc / OpenSM_PKey_Mgr.txt
1 OpenSM Partition Management
2 ---------------------------
3
4 Roadmap:
5 Phase 1 - provide partition management at the EndPort (HCA, Router and Switch
6           Port 0) level with no routing affects.
7 Phase 2 - routing engine should take partitions into account.
8
9 Phase 1 functionality:
10
11 Supported Policy:
12
13 1. EndPort partition groups are to be defined by listing the
14    PortGUIDs as full and limited members.
15
16 2. Each partition group might be assigned an explicit P_Key (only the 15
17    LSB bits are valid) or the SM should assign it randomly.
18
19 3. A flag should control the generation of IPoIB broadcast group for
20    that partition. Extra optional MGIDs can be provided to be setup (on
21    top of the IPoIB broadcast group).
22
23 4. A global flag "Disconnect Unconfigured EndPorts": If TRUE prevents
24    EndPorts that are not explicitly defined as part of any partition
25    (thus "unconfigured") to communicate with any other EndPort. Otherwise, it
26    will let these EndPorts send packets to all other EndPorts.
27
28 Functionality:
29
30 1. The policy should be updated:
31    - during SM bringup
32    - after kill -HUP
33    - through SNMP (once it is supported)
34
35 2. Partition tables will be updated on full sweep (new port/trap etc).
36    As a first step, the policy feasibility should be
37    verified. Feasibility could be limited by the EndPorts supports for
38    number of partitions, etc. Unrealizable policy should be reported
39    and extra rules ignored after providing error messages.
40
41 3. Each EndPort will be assigned P_Keys as follows:
42
43    a. Default partition group limited membership as defined by rule #4 below.
44      (only the SM port will get 0xffff).
45
46    b. P_Keys for all partition groups it is part of as defined in
47       the policy.
48
49    c. P_Key update will preserve index for the existing P_Keys on the
50       port. If port has limited resources that will require reuse of,
51       on index a message will be provided and some of the settings will be
52       ommitted. P_Key indexes will not change under any circumstances.
53
54 4. Each Switch Leaf Port (a switch port that is connected to an
55    EndPort) should be configured according to the same rules that
56    apply to the EndPort connected to that switch port.
57    This actually enables unauthorized port isolation (with future
58    usage of M_Key and ProtectBits).
59
60 5. Policy entries matching a non EndPort will be flagged as
61    erroneous in the log file and ignored.
62
63 6. At the end of the P_Key setting phase, a check for successful
64    setting should be made.
65    Errors should be clearly logged and cause a new sweep.
66
67 7. Each partition that is marked to support IPoIB should define a
68    broadcast MGRP. If the partition does not support IPoIB, it should
69    define a dummy MGRP with parameters blocking IPoIB drivers from
70    registering to it.
71
72 Phase 2 functionality:
73
74 The partition policy should be considered during the routing such that
75 links are associated with particular partition or a set of
76 partitions. Policy should be enhanced to provide hints for how to do
77 that (correlating to QoS too). The exact algorithm is TBD.
78