|-c file||a file containing configuration key-options, see iscsi.conf(5).|
|-d||do a discovery session and exit.|
|-n nickname||if -c file is specified, then search for the block named nickname in that file, see iscsi.conf(5).|
|-p pidfile||will write the process ID of the session to the specified pidfile|
|-t target||the targets IP address or name.|
|variable = value|
|see iscsi.conf(5) for the complete list of variables/options and their possible values.|
iscontrol -dt myiscsitarget
will start a discovery session with the target and print to stdout the list of available targetnames/targetadresses. Note: this listing does not necessarily mean availability, since depending on the target configuration, a discovery session might not need login/access permission, but a full session certainly does.
iscontrol -c /etc/iscsi.conf -n myiscsi
will read options from /etc/iscsi.conf, use the targetaddress found in the block nicknamed myiscsi, login and negotiate whatever options are specified, and start an iscsi-session.
da(4), iscsi_initiator(4), sa(4), iscsi.conf(5), iscsictl(8), camcontrol(8)
iscontrol should probably load the iscsi_initiator module if needed.
Not all functions/specifications have been implemented yet, noticeably missing are the Task Management Functions. The error recovery, though not fully compliant does a brave effort to recover from network disconnects.