.TH SG_STPG "8" "January 2014" "sg3_utils\-1.38" SG3_UTILS
.SH NAME
sg_stpg \- send SCSI SET TARGET PORT GROUPS command
.SH SYNOPSIS
.B sg_stpg
[\fI\-\-active\fR] [\fI\-\-help\fR] [\fI\-\-hex\fR] [\fI\-\-offline\fR]
[\fI\-\-optimized\fR] [\fI\-\-raw\fR] [\fI\-\-standby\fR]
[\fI\-\-state=S,S...\fR] [\fI\-\-tp=P,P...\fR] [\fI\-\-unavailable\fR]
[\fI\-\-verbose\fR] [\fI\-\-version\fR] \fIDEVICE\fR
.SH DESCRIPTION
.\" Add any additional description here
.PP
Send a SCSI SET TARGET PORT GROUPS command to \fIDEVICE\fR. This utility
has different modes depending on whether the \fI\-\-tp=\fR option is given.
.PP
If \fI\-\-tp=\fR is given then the SET TARGET PORT GROUPS command parameter
block is built with a descriptor for each element in the list given to
\fI\-\-tp=\fR. The corresponding asymmetric access state value is either
taken from the \fI\-\-state=\fR list or, if that is not given, from one
of the explicit state options (e.g. \fI\-\-unavailable\fR), used repeatedly
if required.
.PP
If \fI\-\-tp=\fR is not given then a sequence of SCSI commands are sent to
the \fIDEVICE\fR leading up to the SET TARGET PORT GROUPS command. First an
INQUIRY is sent to fetch the device identification VPD page to find
the (primary) target port group associated with \fIDEVICE\fR. Then a REPORT
TARGET PORT GROUPS command is issued to find the current state and
whether a transition to the requested state is supported. If so the
SET TARGET PORT GROUPS command is sent.
.PP
Target port group access is described in SPC\-4 found at www.t10.org
in sections 5.8 and 5.16 (in rev 36e dated 2012/8/24). The SET TARGET PORT
GROUPS command is also described in section 6.45 of that document.
.PP
.SH OPTIONS
Arguments to long options are mandatory for short options as well.
The options are arranged in alphabetical order based on the long
option name.
.TP
\fB\-a\fR, \fB\-\-active\fR
set active/non\-optimized state.
.TP
\fB\-h\fR, \fB\-\-help\fR
output the usage message then exit.
.TP
\fB\-H\fR, \fB\-\-hex\fR
output response to the REPORT TARGET PORT GROUPS command in hex then exit.
.TP
\fB\-O\fR, \fB\-l\fR, \fB\-\-offline\fR
set offline state. This is the appropriate state to set a target port
to prior to removing the device.  Note that a relative target port identifier
should be given with this state (rather than a target port group identifier
that all other states take).
.TP
\fB\-o\fR, \fB\-\-optimized\fR
set active/optimized state. If no other state options or \fI\-\-tp=\fR
option are given then active/optimized is the default state.
.TP
\fB\-r\fR, \fB\-\-raw\fR
output response to the REPORT TARGET PORT GROUPS command in binary to stdout
then exit.
.TP
\fB\-s\fR, \fB\-\-standby\fR
set standby state. Port group shall accept those commands listed
for "unavailable" state plus LOG SELECT/SENSE, MODE SELECT/SENSE, RECEIVE
DIAGNOSTIC RESULTS, SEND DIAGNOSTIC, PERSISTENT RESERVE IN/OUT commands.
.TP
\fB\-S\fR, \fB\-\-state\fR=\fIS,S...\fR
specifies a comma separated list (one element of more) of states. Either
a number or an abbreviation can be given. A number is assumed to be a
decimal number unless it is prefixed by "0x" or has a trailing "h" in
which case a hexadecimal value is assumed. Only the values 0, 1, 2, 3
or 14 are accepted. The accepted abbreviations are "an", "ao", "o", "s"
or "u"; which represent active/non\-optimized(1), active/optimized(0),
offline(14), standby(2) or unavailable(3) respectively.
.TP
\fB\-t\fR, \fB\-\-tp\fR=\fIP,P...\fR
specifies a comma separated list (one element of more). Each elements is
either a target port group identifier (when the corresponding state is
other than "offline") or a relative target port identifier (when the
corresponding state is "offline"). Each element is assumed to be a
decimal number unless it is prefixed by "0x" or has a trailing "h" in
which case a hexadecimal value is assumed.
.TP
\fB\-u\fR, \fB\-\-unavailable\fR
set unavailable state. Port group shall only accept INQUIRY, REPORT LUNS,
REPORT/SET TARGET PORT GROUPS, REQUEST SENSE and READ/WRITE BUFFER commands.
.TP
\fB\-v\fR, \fB\-\-verbose\fR
increase the level of verbosity, (i.e. debug output).
.TP
\fB\-V\fR, \fB\-\-version\fR
print the version string and then exit.
.SH NOTES
The SET TARGET PORT GROUPS command should be supported whenever the TPGS
value in a standard INQUIRY response is 2 or 3. [View with sg_inq utility.]
.PP
Notice that the offline state is termed as a "secondary target port
asymmetric access state" and takes a relative target port identifier (i.e.
acts on a single target port). All the other states are termed as "primary
target port asymmetric access states" and each takes a target port group
identifier (i.e. acts on one or more target ports).
.PP
When \fI\-\-tp=\fR is given then the same number of elements should be
given to the \fI\-\-state=\fR option. If more than one list element is
given to \fI\-\-tp=\fR and an equal number of elements is _not_ given
to the \fI\-\-state=\fR option, then if only one state is specified
then it is repeated.
.SH EXIT STATUS
The exit status of sg_stpg is 0 when it is successful. Otherwise see
the sg3_utils(8) man page.
.SH AUTHORS
Written by Douglas Gilbert.
.SH "REPORTING BUGS"
Report bugs to <dgilbert at interlog dot com>.
.SH COPYRIGHT
Copyright \(co 2007\-2014 Hannes Reinecke, Christophe Varoqui and Douglas Gilbert
.br
This software is distributed under a FreeBSD license. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
.SH "SEE ALSO"
.B sg_inq, sg_rtpg (sg3_utils)
