+1 -- mark
John Forte wrote: > I am sponsoring this fasttrack for Sue Gleeson. Requested binding is minor. > Timeout is set for 11/25/2009. > > - John > > > Template Version: @(#)sac_nextcase 1.68 02/23/09 SMI > This information is Copyright 2009 Sun Microsystems > 1. Introduction > 1.1. Project/Component Working Name: > COMSTAR SRPT Port Provider Management > 1.2. Name of Document Author/Supplier: > Author: Susan Gleeson > 1.3 Date of This Document: > 18 November, 2009 > 4. Technical Description > > The COMSTAR Infiniband SRP Target project (PSARC/2009/111 [1]) introduced > the SRP protocol port provider to Solaris. When the SRP port provider > SMF service is enabled, COMSTAR targets are created for every Infiniband > HCA discovered on the system. It has become clear that a finer level of > control is required, and this set of interfaces will allow for changing > the default behavior when the service is activated as well as enabling > and disabling SRP services on a per-HCA basis. > > This case introduces a new library, libsrpt and a new CLI, srptadm as > described below. > > 4.1 Interfaces > > Minor binding. > > -------------+-----------------------+------------------------- > Interface Classification Comments > -------------+-----------------------+------------------------- > libsrpt | Committed | > srptadm | Committed > > > 4.2 srpt_SetDefaultState/srpt_GetDefaultState > > NAME > srpt_SetDefaultState, srpt_GetDefaultState - set and retrieve the default > state setting for the SRP Target service. > > SYNOPSIS > cc [ flag... ] file... -lsrpt [ library... ] > #include <libsrpt.h> > > int srpt_SetDefaultState(boolean_t enabled); > > int srpt_GetDefaultState(boolean_t *enabled); > > PARAMETERS > > enabled boolean value indicating whether COMSTAR SRP targets should > be created. > > DESCRIPTION > The srpt_SetDefaultState() function sets the default behavior of the > SRP Target service. If enabled is B_TRUE, SRP targets will be created for > all discovered HCAs that have not been specifically disabled. If enabled > is B_FALSE, targets will not be created unless the HCA has been > specifically > enabled. See also srpt_SetTargetState() for enabling or disabling > specific > HCAs. If the default state is changed when the SRP service is online, > the state of existing targets is not changed until the service is > restarted. > > The srpt_GetDefaultState() function returns the current value for enabled. > > RETURN VALUES > > ENOMEM Could not allocate resources > EINVAL Invalid parameter > > ATTRIBUTES > > See attributes(5) for descriptions of the following attri- > butes: > > ____________________________________________________________ > | ATTRIBUTE TYPE | ATTRIBUTE VALUE | > |_____________________________|_____________________________| > | Interface Stability | Committed | > |_____________________________|_____________________________| > | MT-Level | MT-Safe | > |_____________________________|_____________________________| > > SEE ALSO > srpt_SetTargetState(3SRPT), libsrpt(3LIB) > > 4.3 srpt_SetTargetState/srpt_GetTargetState > > NAME > srpt_SetTargetState, srpt_GetTargetState, srpt_ResetTarget - set and > retrieve SRP Target state for a specific HCA. > > SYNOPSIS > cc [ flag... ] file... -lsrpt [ library... ] > #include <libsrpt.h> > > int srpt_SetTargetState(char *hca_guid, boolean_t enabled); > int srpt_GetTargetState(char *hca_guid, boolean_t *enabled); > int srpt_ResetTarget(char *hca_guid); > > PARAMETERS > > hc_guid HCA GUID. Must be in one of the following forms: > 3BA000100CD18 - base hex form > 0003BA000100CD18 - base hex form with leading zeroes > hca:3BA000100CD18 - form from cfgadm > eui.0003BA000100CD18 - EUI form > > enabled boolean value indicating whether a COMSTAR SRP target should > be created for this HCA. > > DESCRIPTION > The srpt_SetTargetState() function controls whether a COMSTAR SRP target > will be created for the specified HCA. If enabled is B_TRUE, an SRP > target > will be created for this HCA. If enabled is B_FALSE, a target will not be > created. This function overrides the default setting for the SRP Target > service as set by srpt_SetDefaultState(). Changing the target state takes > effect immediately if the SRP target service is online. Targets set to > disabled will be offlined and removed; targets set to enabled will be > immediately created. > > The srpt_GetTargetState() function retrieves the current setting for the > specified HCA. > > The srpt_ResetTarget() function clears HCA-specific settings. The > service-wide defaults will control SRP Target creation for this HCA. > > RETURN VALUES > > ENOMEM Could not allocate resources > EINVAL Invalid parameter > > ATTRIBUTES > > See attributes(5) for descriptions of the following attri- > butes: > > ____________________________________________________________ > | ATTRIBUTE TYPE | ATTRIBUTE VALUE | > |_____________________________|_____________________________| > | Interface Stability | Committed | > |_____________________________|_____________________________| > | MT-Level | MT-Safe | > |_____________________________|_____________________________| > > SEE ALSO > srpt_SetDefaultState(3SRPT), libsrpt(3LIB) > > 4.4 srptadm > > System Administration Commands > srptadm(1M) > > NAME > srptadm - administer SRP Targets > > SYNOPSIS > srptadm modify-target [-e, --enable] [-d, --disable] > [-r, --reset] <hca_guid> > > srptadm list-target [<hca_guid>] > > srptadm modify-defaults [-e, --enable] [-d, --disable] > > srptadm list-defaults > > ARGUMENTS > > hca_guid GUID of the InfiniBand Host Channel Adapter > (HCA) on this system for which SRP Target Services > may be provided. The GUID must be in one of the > following forms: > > 3BA000100CD18 - base hex form > 0003BA000100CD18 - base hex form with leading zeroes > hca:3BA000100CD18 - form from cfgadm > eui.0003BA000100CD18 - EUI form > > DESCRIPTION > > The srptadm command manages SRP target ports within the SCSI Target Mode > Framework described in stmfadm(1M) and libstmf(3LIB). This allows SRP > initiators to access STMF logical units using the iSCSI protocol. > > srptadm is implemented as a set of subcommands with options > and operands for each subcommand. These subcommands are > described in their own section, below. > > SUBCOMMANDS > srptadm modify-defaults [-e, --enable] [-d, --disable] > Modify default parameters. Options are as follows. > > -e, --enable > Enable SRP target creation for all HCAs that > have not been explicitly disabled with modify-target. > > -d, --disable > Disable SRP target creation for all HCAs that > have not been explicitly enabled with modify-target. > > srptadm list-defaults > Lists information about the default properties. This > subcommand has no options. > > srptadm modify-target <hca_guid> > Sets SRP Target properties for the specified HCA. Options > are as follows. > > -e, --enable > enables SRP target creation on this HCA > -d, --disable > disables SRP target creation on this HCA > -r, --reset > clears HCA-specific information and resets > to defaults. The SRP Target, if any, associated > with this HCA will not be modified as a result > of this option until the SRP Target SMF service > is restarted. > > srptadm list-target [hca_guid] > If hca_guid is specified, lists the properties of the > target HCA. Otherwise, properties are listed for all > HCAs. > > NOTES: > If the default state is changed when the SRP service is online, > the state of existing targets is not changed until the service is > restarted. > > Changing the target state takes effect immediately if the SRP target > service is online. Targets set to disabled will be offlined and removed; > targets set to enabled will be immediately created. > > EXAMPLES: > > List the default SRP Target Service properties: > > # srptadm list-defaults > SRP Target Service Default Properties: > > Target creation enabled by default: true > > Change the default behavior of the SRP Target service to > not create SRP Targets when the service is enabled: > > # srptadm modify-defaults -d > > List SRP Target properties for a specific HCA: > # cfgadm | grep hca > hca:3BA000100CD18 IB-HCA connected configured ok > hca:3BA000100D030 IB-HCA connected configured ok > > # srptadm list-target hca:3BA000100CD18 > Target HCA 3BA000100CD18: > Enabled : true > SRP Target Name : eui.0003BA000100CD18 > Operational Status : online > > Disable SRP Target services for a specific HCA: > > # srptadm modify-target -d 3BA000100CD18 > > Use the same list command to see the changes: > > # srptadm list-target hca:3BA000100CD18 > Target HCA 3BA000100CD18: > Enabled : false > SRP Target Name : eui.0003BA000100CD18 > Operational Status : - > > Re-enable SRP Target services, and look at the SRP and STMF > target properties: > > # srptadm modify-target -e 3BA000100CD18 > # srptadm list-target hca:3BA000100CD18 > Target HCA 3BA000100CD18: > Enabled : true > SRP Target Name : eui.0003BA000100CD18 > Operational Status : online > > # stmfadm list-target -v eui.0003BA000100CD18 > Target: eui.0003BA000100CD18 > Operational Status: Online > Provider Name : srpt > Alias : - > Protocol : SRP > Sessions : 0 > > ATTRIBUTES > See attributes(5) for descriptions of the following attri- > butes: > > ____________________________________________________________ > | ATTRIBUTE TYPE | ATTRIBUTE VALUE | > |_____________________________|_____________________________| > | Availability | SUNWsrptu | > |_____________________________|_____________________________| > | Interface Stability | Committed | > |_____________________________|_____________________________| > > > SEE ALSO > stmfadm(1M), srpt(7D), libsrpt(3LIB), attributes(5) > > > 5. Reference Documents: > > SRP Target PSARC case (PSARC/2009/111) > http://arc.opensolaris.org/caselog/PSARC/2009/111/ > > 6. Resources and Schedule > 6.4. Steering Committee requested information > 6.4.1. Consolidation C-team Name: > ON > 6.5. ARC review type: FastTrack > 6.6. ARC Exposure: open > > _______________________________________________ > opensolaris-arc mailing list > opensolaris-arc at opensolaris.org > -- <http://www.sun.com> * Mark A. Carlson * Sr. Architect *Systems Group* Phone x69559 / 303-223-6139 Email Mark.Carlson at Sun.COM