* [PATCH 1/2] opensm: Add documentation for SRIOV support
@ 2011-12-30 2:45 Hal Rosenstock
0 siblings, 0 replies; only message in thread
From: Hal Rosenstock @ 2011-12-30 2:45 UTC (permalink / raw)
To: Alex Netes
Cc: linux-rdma (linux-rdma-u79uwXL29TY76Z2rM5mHXA@public.gmane.org)
Signed-off-by: Hal Rosenstock <hal-VPRAkNaXOzVWk0Htik3J/w@public.gmane.org>
---
doc/opensm-sriov.txt | 154 ++++++++++++++++++++++++++++++++++++++++++++++++++
1 files changed, 154 insertions(+), 0 deletions(-)
create mode 100644 doc/opensm-sriov.txt
diff --git a/doc/opensm-sriov.txt b/doc/opensm-sriov.txt
new file mode 100644
index 0000000..9febe21
--- /dev/null
+++ b/doc/opensm-sriov.txt
@@ -0,0 +1,154 @@
+OpenSM SRIOV (Alias GUID) Support
+12/9/11
+
+Overview
+
+In order to support virtualized environments, alias GUID support is added to OpenSM.
+This support allows an SA client to add and remove additional port GUIDs based on
+SubAdmSet/SubAdmDelete of GUIDInfoRecord. A set with a GUID of 0 in a valid GUIDInfoRecord
+index as indicated by the component mask indicates that the additional GUID is to
+be SM assigned. The OpenIB OUI (0x001405), along with a configured byte and a
+pseudorandom number is currently used for this algorithm (which may be changed in the future).
+
+Most SA queries are updated to handle alias GUIDs as part of any GID specified inside
+the query. These include SA path record, multipath record, multicast record, and service record.
+There are only a few SA queries (InformInfoRecord, InformInfo) that are not currently updated
+for alias GUID support.
+
+In terms of the IBA spec, alias GUIDs are termed additional port GUIDs.
+
+
+IBA 1.2.1 Volume 1 Changes for Alias GUID Support
+
+The following are MgtWG WG APPROVED spec changes to IBA 1.2.1 volume 1 relative to this support:
+
+RefID 4704
+15.2.5.18 GUIDInfoRecord p. 932 line 14
+Table 213 GUIDInfoRecord
+
+An entity that wishes to add or remove additional port GUIDs can do so using the SubnAdmSet() and SubnAdmDelete() methods
+with the GUIDInfoRecord attribute. This causes the SM to set the updated GUIDs in the specified port via the SM GUIDInfo attribute.
+
+SubnAdmSet() method is used to add additional port GUIDs. SubnAdmDelete() method is used to remove previously added additional
+port GUIDs.
+
+o15-0.x.y: If SA supports additional port GUIDs, then both SubAdmSet(GUIDInfoRecord) and SubnAdmDelete(GUIDInfoRecord) are
+supported.
+
+o15-0.x.y: If SA supports additional port GUIDs, the component mask for SubAdmSet(GUIDInfoRecord) and
+SubnAdmDelete(GUIDInfoRecord) is required to include both LID and block number. If the component mask does not include both of
+these, SA shall return an error status of ERR_REQ_INSUFFICIENT_COMPONENTS in its response to the corresponding method.
+
+o15-0.x.y: If SA supports additional port GUIDs, for a SubAdmSet(GUIDInfoRecord), the component mask indicates which GUID indices
+are to be set. A GUID can either be added or replaced. A GUID of 0 indicates that the GUID for this index is to be assigned by
+the SM.
+
+o15-0.x.y: If SA supports additional port GUIDs, for a SubAdmDelete(GUIDInfoRecord), the component mask indicates which GUID
+indices are to be removed.
+
+o15-0.x.y: If SA supports additional port GUIDs, the SA shall return an error status of ERR_REQ_INVALID to any attempt to set
+or delete block number 0 index 0.
+
+
+RefID 4705
+p.899 line 26 15.2.4
+Table 188 SA-Specific Optional Capabilities
+
+<add table entry:>
+IsAdditionalGUIDsSupported | CM2 | 5 | If this value is 1, SA shall support the ability to add and remove additional port GUIDs
+ via SubAdmSet/SubnAdmDelete(GUIDInfoRecord) as described in
+ <ref to 15.2.5.18 GUIDInfoRecord>
+
+
+RefID 4706
+p.904 line 21 15.2.5.1
+Table 192 Subnet Administration Attribute / Method Map
+
+<Add an "X" to the "Set" and "Delete" columns for GUIDInfoRecord>
+<Add footnote "b" to GUIDInfoRecord where footnote "b" is as shown below:>
+b: SubAdmSet and SubAdmDelete of GUIDInfoRecord are supported if SA:ClassPortInfo.CapabilityMask2 indicates
+IsAdditionalGUIDsSupported.
+
+RefID 4714
+Clarify GUID 0 in SA Set GUIDInfoRecord response
+p.932 line 14 15.2.18
+
+<change:>
+o15-0.x.y: If SA supports additional port GUIDs, for a SubAdmSet(GUIDInfoRecord), the component mask indicates which GUID indices
+are to be set. A GUID can either be added or replaced. A GUID of 0 indicates that the GUID for this index is to be assigned by
+the SM.
+
+<to:>
+o15-0.x.y: If SA supports additional port GUIDs, for a SubAdmSet(GUIDInfoRecord), the component mask indicates which GUID indices
+are to be set. A GUID can either be added or replaced. In the request, a GUID of 0 indicates that the GUID for this index is to
+be assigned by the SM. In the response, a GUID of 0 indicates that the GUID requested for this index was not accepted by the SA.
+
+RefID 4776
+SM GUIDInfo initialization
+
+<change:>
+GUIDInfo Description
+
+The requirements for setting additional
+
+GUIDs are beyond the scope of the specification.
+
+
+<to:>
+<none>
+
+
+OpenSM SRIOV Configuration
+
+Some new options were added for SRIOV configuration of OpenSM.
+
+1. Allow both pkeys
+-W or --allow_both_pkeys on the command line or
+allow_both_pkeys TRUE
+in the options file. Default is false.
+
+allow_both_pkeys indicates whether both full and
+limited membership on the same partition is allowed or not.
+
+In order to support allow_both_pkeys, the partition file syntax is
+extended with "both" flag (in addition to "full" and "limited").
+
+defmember=full|limited|both
+or
+[PortGUID[=full|=limited|=both]]
+
+2. SM assigned GUID byte
+sm_assigned_guid
+in the options file. Default is 0.
+
+An SM assigned GUID byte is added as a configuration option
+where an alias GUID is formed from OpenFabrics OUI
+followed by 40 bits xy 00 ab cd ef where xy is the SM assigned guid byte
+and ab cd ef is an SM autogenerated 24 bits.
+
+The SM assigned GUID byte should be configured as subnet unique.
+
+Also, the algorithm to obtain a "unique" SM assigned GUID is changing from
+being based on a static monatomically incrementing counter for the SM
+autogenerated part (like SA MCMemberRecord SM assigned MGIDs).
+The number of retries to find an unused GUID is currently hardcoded at 1000.
+
+Note that it is not a current requirement to maintain SM assigned GUIDs across OpenSM
+failover. Note also that on reregistration, a host may reregister the previously SM
+assigned GUID.
+
+
+Operational Notes
+
+Duplicated alias GUIDs are detected against alias and physical GUIDs and result in
+rejection of such registrations.
+
+When a port is dropped, any alias GUID registrations are removed. These are
+reregistered by client reregistration mechanism. The exception
+to this is service registrations as these are not currently reregistered by
+the ULPs/applications that use them.
+
+Futures
+
+1. An alias GUID enforcement feature to which physical ports are allowed to request which
+alias GUIDs.
--
1.7.6.1
--
To unsubscribe from this list: send the line "unsubscribe linux-rdma" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
^ permalink raw reply related [flat|nested] only message in thread
only message in thread, other threads:[~2011-12-30 2:45 UTC | newest]
Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2011-12-30 2:45 [PATCH 1/2] opensm: Add documentation for SRIOV support Hal Rosenstock
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.