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 Management Protocol (SMP) REPORT ZONE PERMISSION TABLE
function requests to a 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)