Case looks straight-forward, but the tunable names for use on the CLI are rather awkward. In other instances you have separated multi words such as target-param with hyphens, whereas your tunables are all jammed together.
I'd recommend tweaking the names somewhat to make them more readable/user-friendly. But +1 in any case. - Garrett John Forte wrote: > I am sponsoring this fasttrack for Zhang Yi. Requested binding is > Patch/Micro. Timeout is 07/01/2009. > > > 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: > iSCSI initiator tunables > 1.2. Name of Document Author/Supplier: > Author: Zhang Yi > 1.3 Date of This Document: > 24 June, 2009 > > 2. Project Summary > 2.1. Project Description > This project proposes a new management interface to configure > several > parameters specific for iSCSI initiator to access a given iSCSI > target. > Together with the IMA specification[1] API, management interfaces > are exported in library libima[2] to manage tunable parameters. And > those tunable parameters can be dynamically applied to the iSCSI > initiator driver via iscsiadm or other utilities using the exported > library interface from this project. > > 4. Technical Description > 4.1. Details: > Currently most parameters related to the connection behavior between > the iSCSI initiator and the iSCSI target are hardcoded. It makes iSCSI > initiator in Solaris inflexible to handle various scenarios. For > example, the fixed iSCSI initiator connection retry timer (3 min) is > not suitable in the follow scenarios: > a. Mirrored ZFS over different iSCSI devices. If one of the mirrored > iSCSI devices goes offline, on initiator side whole ZFS pool may > hang for 3 minutes in IO timeout before ZFS degrade the iSCSI > device. Here a shorter timeout value is desirable for this case. > b. iSCSI quorum device on Sun Cluster. If iSCSI quorum device spend > more than 3 minutes to reboot, Cluster node could never online > this iSCSI quorum device after 3 minutes connection retry timeout. > Here a longer timeout value is needed. > > This project will add a new option named "-T" for 'iscsiadm' utility > to set these tunable parameters for iSCSI initiator node or a > specified iSCSI target. And tunable parameters will be applied to > iSCSI initiator driver in real time without reboot. > A programmatic interface is also offered through SUN_IMA library. > The modification of 'iscsiadm' will be based on this interface. > > *) CLI interface for 'iscsiadm' utility > > Apply tunable parameters to a specific target by using: > "iscsiadm modify target-param -T <tunable-prop>=<value> \ > <target-name..>". > Apply tunable parameters to initiator node by using: > "iscsiadm modify initiator-node -T <tunable-prop>=<value>". > List specific tunable parameters applied to given target by using: > "iscsiadm list target-param -v [<target-name..>]". > List tunable parameters to initiator node by using: > "iscsiadm list initiator-node". > > Example: > Change maximum connection retry time to 30 seconds for iSCSI > target > iqn.1986-03.com.sun:2501.600a0b800049c94 will use follow command: > #iscsiadm modify target-param -T connloginmax=30 \ > iqn.1986-03.com.sun:2501.600a0b800049c94 > > Currently supported <tunable-prop> parameters are listed below > with corresponding descriptions. > Tunable Parameter Short Description > -------------------- ------------------- > recvloginrsptimeout Session Login Response Time > connloginmax Maximum Connection Retry Time > pollinglogindelay Login Retry Time Interval > > The recvloginrsptimeout is to specify how long iSCSI initiator > will wait for the response of iSCSI session login request from > the given iSCSI target. Valid value is from 0 to 60*60, default > to 60 seconds. > > The connloginmax is used to determine maximum iSCSI initiator > connection retry time when iSCSI initiator to target IO timeout > or connection failure. Valid value is from 0 to 60*60, default to > 180 seconds. > > The pollinglogindelay is used to decide time interval between > each iSCSI session login retry when iSCSI initiator to target IO > timeout or connection failure. Valid value is from 0 to 60*60, > default to 60 seconds. > > More tunable parameters can be added using the same mechanism > introduced by this project in case there are new requirements > from customer. > > *) Programmatic interface for tunable parameters > Programmatic interface API name with new data structure are > defined in the exported new public header file <libsun_ima.h>, > typedef enum { > ISCSI_RX_TIMEOUT_VALUE = 1, > ISCSI_CONN_DEFAULT_LOGIN_MAX = 2, > ISCSI_LOGIN_POLLING_DELAY = 3 > } ISCSI_TUNABLE_OBJECT_TYPE; > > typedef struct _ISCSI_TUNABLE_PARAM { > ISCSI_TUNABLE_OBJECT_TYPE tunable_objectType, > struct { > IMA_UINT32 len; > IMA_CHAR *chars; > } tunable_objectValue; > } ISCSI_TUNABLE_PARAM; > > IMA_API IMA_STATUS > SUN_IMA_GetTunableProperties(IMA_OID oid, ISCSI_TUNABLE_PARAM > *param); > is used to get specified tunable parameter. > > IMA_API IMA_STATUS > SUN_IMA_SetTunableProperties(IMA_OID oid, ISCSI_TUNABLE_PARAM > *param); > is used to set specified tunable parameter. > > 4.5 Interfaces: > > Patch/Micro release binding. > > Exported Interface | Stability | Description > > --------------------------------|-----------|------------------------------ > SUN_IMA_GetTunableProperties | Committed | Interface to get iSCSI > | | tunable parameters > SUN_IMA_SetTunableProperties | Committed | interface to set iSCSI > | | tunable parameters > struct ISCSI_TUNABLE_PARAM | Committed | <libsun_ima.h> > usr/sbin/iscsiadm | Committed | iSCSI initiator CLI > | | PSARC/2003/126 > -T | Committed | option apply to iscsiadm > | | subcommand "modify" and > object > | | of both "target-param" and > | | "initiator-node" > > 5. Reference Documents: > > [1] SNIA iSCSI Management API - > http://www.snia.org/tech_activities/standards/ > curr_standards/ima/iSCSIManagementAPI_v1.1.pdf > [2] iSCSI Management API http://sac.sfbay/SHARC/2005/066/ > > > 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 > >