NAME¶
smp_rep_zone_perm_tbl - invoke REPORT ZONE PERMISSION TABLE function
SYNOPSIS¶
smp_rep_zone_perm_tbl [
--append] [
--bits=COL]
[
--help] [
--hex] [
--interface=PARAMS]
[
--multiple] [
--nocomma] [
--num=MD] [
--permf=FN]
[
--raw] [
--report=RT] [
--sa=SAS_ADDR]
[
--start=SS] [
--verbose] [
--version]
SMP_DEVICE[,N]
DESCRIPTION¶
Sends one or more SAS Serial Management Protocol (SMP) REPORT ZONE PERMISSION
TABLE function requests to an SMP target. The SMP target is identified by the
SMP_DEVICE and the
--sa=SAS_ADDR. Depending on the interface,
the
SAS_ADDR may be deduced from the
SMP_DEVICE. The mpt
interface uses
SMP_DEVICE to identify a HBA (an SMP initiator) and
needs the additional
,N to differentiate between HBAs if there are
multiple present.
This SMP function returns zone permission descriptors which represent rows of
the zone permission table. There is a row for each source zone group starting
at zone group 0 and finishing at zone group 127 or zone group 255. Due to the
SMP response size restriction of 1028 bytes (including trailing CRC), not all
the zone permission table rows can be returned in one REPORT ZONE PERMISSION
TABLE function response. So multiple function calls may be required with the
--start=SS option being used on the latter calls to specify the next
starting source zone group.
The
--multiple option will send multiple REPORT ZONE PERMISSION TABLE
requests until all source zone groups (or starting from
--start=SS) are
output. This option is the most convenient way to output the whole zone
permission table. In the absence of the
--multiple option only one
REPORT ZONE PERMISSION TABLE request is sent.
The output of this utility is designed to be useful as input to the
smp_conf_zone_perm_tbl utility. In other words these utilities can be used to
save and restore zone permission table settings.
OPTIONS¶
Mandatory arguments to long options are mandatory for short options as well.
- -a, --append
- used in conjunction with --permf=FN to append to FN if it
already exists. If FN does not exist then it is created.
- -B, --bits=COL
- This is an alternate zone permission table represention showing single
bits with the origin (i.e. ZP[0,0]) in the top left. The output is a bit
array with COL columns and up to COL rows. This output
resembles the example zone permission tables shown in the SAS draft
documents (at t10.org). The default (i.e. without this option) is output
that reflects the byte oriented, big endian nature of SCSI (and hence SMP)
commands. The output produced by this option is not suitable as input for
the smp_conf_zone_perm_tbl utility.
- -f, --start=SS
- starting (first and lowest numbered) source zone group (default: zone
group 0).
- -h, --help
- output the usage message then exit.
- -H, --hex
- output the response (less the CRC field) in hexadecimal.
- -I, --interface=PARAMS
- interface specific parameters. In this case "interface" refers
to the path through the operating system to the SMP initiator. See the
smp_utils man page for more information.
- -m, --multiple
- starting at source zone group 0 (or SS), multiple REPORT ZONE
PERMISSION TABLE requests are issued until the last (127th and 255th)
source zone descriptor is output. This option should not be given together
with the --num=MD option.
- -N, --nocomma
- output each zone group descriptor as a long string of hexadecimal digits,
two digits per byte. Default action is to output a comma separated list of
hexadecimal ASCII bytes for each zone group descriptor.
- -n, --num=MD
- where MD is the maximum number of descriptors that can be reported
in the one response. The default value is 63. 63 is the maximum number of
"128 zone groups" sized descriptors that can fit in one
response. If the expander is using "256 zone groups" sized
descriptors then a maximum of 31 descriptors can fit in one response. This
option should not be given together with the --multiple
option.
- -P, --permf=FN
- FN is a file to write the zone permission descriptors to. The
default action is to output the zone permissions descriptors to stdout.
Note that the whole permissions table may not fit in one response. If the
FN exists then it is truncated prior to the write unless
--append is given. To append to the existing FN add the
--append option.
- -r, --raw
- send the response (less the CRC field) to stdout in binary. All error
messages are sent to stderr.
- -R, --report=RT
- set the 'report type' field in the SMP request. RT may take these
values: 0 for report current values (default); 1 for report the shadow
values; 2 for report saved values; 3 for report default values.
- -s, --sa=SAS_ADDR
- specifies the SAS address of the SMP target device. The mpt interface
needs this option and it will typically be an expander's SAS address. The
SAS_ADDR is in decimal but most SAS addresses are shown in
hexadecimal. To give a number in hexadecimal either prefix it with '0x' or
put a trailing 'h' on it.
- -f, --start=SS
- See entry above, listed in order by its short option letter (i.e.
-f).
- -v, --verbose
- increase the verbosity of the output. Can be used multiple times.
- -V, --version
- print the version string and then exit.
NOTES¶
When the
--permf=FN is given and
SS is greater than zero then a
line of the form "--start=
SS" is written to
FN just
prior to the first row of zone permissions.
There are some examples of the
--permf=FN format in the examples
directory.
The SMP REPORT ZONE PERMISSION TABLE function was introduced in SAS-2 .
AUTHORS¶
Written by Douglas Gilbert.
REPORTING BUGS¶
Report bugs to <dgilbert at interlog dot com>.
COPYRIGHT¶
Copyright © 2011 Douglas Gilbert
This software is distributed under a FreeBSD license. There is NO warranty; not
even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
SEE ALSO¶
smp_utils, smp_conf_zone_perm_tbl, smp_zone_lock(smp_utils)