Go to main content

man pages section 8: System Administration Commands

Exit Print View

Updated: Wednesday, July 27, 2022

smp_rep_zone_perm_tbl (8)


smp_rep_zone_perm_tbl - invoke REPORT ZONE PERMISSION TABLE function


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] [--ver-
sion] SMP_DEVICE[,N]



       smp_rep_zone_perm_tbl - invoke REPORT ZONE PERMISSION TABLE function

       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] [--ver-
       sion] SMP_DEVICE[,N]

       Sends one or more SAS Serial Management Protocol (SMP) REPORT ZONE PER-
       MISSION  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 mul-
       tiple 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 mul-
       tiple function calls may be required with the --start=SS  option  being
       used  on  the  latter  calls  to  specify the next starting source zone

       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.

       Mandatory arguments to long options are mandatory for short options  as

       -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  pro-
              duced   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  hexadeci-
              mal  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 hexa-
              decimal 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

       -V, --version
              print the version string and then exit.

       See attributes(7) for descriptions of the following attributes:

       |Availability   | system/storage/smp_utils |
       |Stability      | Uncommitted              |

       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 direc-

       Source  code  for open source software components in Oracle Solaris can
       be found at https://www.oracle.com/downloads/opensource/solaris-source-

       This     software     was    built    from    source    available    at
       https://github.com/oracle/solaris-userland.   The  original   community
       source was downloaded from  http://sg.danny.cz/sg/p/smp_utils-0.98.tgz.

       Further information about this software can be found on the open source
       community website at http://sg.danny.cz/sg/smp_utils.html.

       The SMP REPORT ZONE PERMISSION TABLE function was introduced in SAS-2 .

       Written by Douglas Gilbert.

       Report bugs to <dgilbert at interlog dot com>.

       Copyright (C) 2011 Douglas Gilbert
       This software is distributed under a FreeBSD license. There is NO  war-
       ranty;  not  even  for MERCHANTABILITY or FITNESS FOR A PARTICULAR PUR-

       smp_utils, smp_conf_zone_perm_tbl, smp_zone_lock(smp_utils)

smp_utils-0.96                     June 2011          SMP_REP_ZONE_PERM_TBL(8)