1SMP_CONF_ZONE_PERM_TBL(8)          SMP_UTILS         SMP_CONF_ZONE_PERM_TBL(8)
2
3
4

NAME

6       smp_conf_zone_perm_tbl  -  invoke CONFIGURE ZONE PERMISSION TABLE func‐
7       tion
8

SYNOPSIS

10       smp_conf_zone_perm_tbl  [--deduce]  [--expected=EX]  [--help]   [--hex]
11       [--interface=PARAMS]  [--numzg=NG]  --permf=FN  [--raw] [--sa=SAS_ADDR]
12       [--save=SAV] [--start=SS] [--verbose] [--version] SMP_DEVICE[,N]
13

DESCRIPTION

15       Sends one or more SAS Serial Management Protocol (SMP)  CONFIGURE  ZONE
16       PERMISSION  TABLE function requests to an SMP target. The SMP target is
17       identified by the SMP_DEVICE and the --sa=SAS_ADDR.  Depending  on  the
18       interface,  the  SAS_ADDR  may  be deduced from the SMP_DEVICE. The mpt
19       interface uses SMP_DEVICE to identify an HBA  (an  SMP  initiator)  and
20       needs the additional ,N to differentiate between HBAs if there are mul‐
21       tiple present.
22
23       The zone permission table has a row for each source zone  group  and  a
24       column  for  each  destination  zone  group.  Each element in the table
25       (ZP[s,d]) is a single bit indicating whether the source zone group  can
26       access  the  destination zone group (the bit is set: 1) or not (the bit
27       is clear: 0).  There are two different table sizes: 128  and  256  zone
28       groups.  Descriptors  provided  to  this function request are either 16
29       bytes (128 bits) or 32 bytes (256 bits) long. Each descriptor is  basi‐
30       cally a row in the zone permission table.
31
32       Apart  from  being  row in the zone permission table each descriptor is
33       transposed and applied to the corresponding destination  column.   This
34       "maintains  symmetry  about the ZP[s,s] table axis" in the words of the
35       draft. Also descriptors are applied in the order that  they  appear  in
36       the request (i.e. ascending source zone group numbers).
37
38       The  maximum  number  of descriptors that one CONFIGURE ZONE PERMISSION
39       TABLE function request can hold is limited to 63 if there are 128  zone
40       groups;  and is limited to 31 if there are 256 zone groups. A full zone
41       table will contain 128 (or 256) descriptors so to configure a full  ta‐
42       ble requires multiple CONFIGURE ZONE PERMISSION TABLE requests.
43
44       The  number  of zone permission configuration descriptors is determined
45       by reading the FN file associated with the --permf=FN option.  If there
46       are  more descriptors than can fit in one CONFIGURE ZONE PERMISSION TA‐
47       BLE function request then multiple requests are sent.  All  descriptors
48       found  in  the FN file will be sent unless an earlier function response
49       indicates there has been an error.
50

OPTIONS

52       Mandatory arguments to long options are mandatory for short options  as
53       well.
54
55       -d, --deduce
56              deduce  number  of zone groups from number of bytes on active FN
57              lines.  With 128 zone groups each active line  will  contain  16
58              (or less) bytes.  With this option if any active line in FN con‐
59              tains more than 16 bytes then 256 zone groups are assumed,  oth‐
60              erwise  128 zone groups are assumed. This option cannot be given
61              with the --numzg=NG option (as they may contradict one another).
62
63       -E, --expected=EX
64              set the 'expected  expander  change  count'  field  in  the  SMP
65              request.  The value EX is from 0 to 65535 inclusive with 0 being
66              the default value. When EX is greater  than  zero  then  if  the
67              value  doesn't match the expander change count of the SMP target
68              (i.e. the expander) when the request  arrives  then  the  target
69              ignores  the  request  and  sets  a  function result of "invalid
70              expander change count" in the response.
71
72       -f, --start=SS
73              starting (first) source zone group (default: zone group  0).  If
74              multiple  function  requests  are sent, this field in subsequent
75              function requests will be adjusted to reflect those  descriptors
76              already  sent.  Note  that the SS value may be picked up from FN
77              and if this option and that value are not the same, an error  is
78              generated.
79
80       -h, --help
81              output the usage message then exit.
82
83       -H, --hex
84              output the response (less the CRC field) in hexadecimal.
85
86       -I, --interface=PARAMS
87              interface  specific  parameters. In this case "interface" refers
88              to the path through the operating system to the  SMP  initiator.
89              See the smp_utils man page for more information.
90
91       -n, --numzg=ZG
92              number of zone groups. ZG can be 0 (default) or 1. 0 implies 128
93              zone groups while 1 implies 256 zone groups. This option  cannot
94              be used with the --deduce option.
95
96       -P, --permf=FN
97              FN  is  a file containing zone permission configuration descrip‐
98              tors in ASCII hexadecimal; either as bytes separated  by  space,
99              tab, comma or newline, or as longer strings of hexadecimal bytes
100              in which every 2 digits represents a byte. Empty lines and those
101              starting with "#" are ignored.  A line with "--start=<num>" will
102              be taken as the starting source zone group  number  (i.e.  <num>
103              becomes  SS)  unless  it contradicts the command line --start=SS
104              option. Otherwise lines starting with "-" are ignored.
105
106       -r, --raw
107              send the response (less the CRC field) to stdout in binary.  All
108              error messages are sent to stderr.
109
110       -s, --sa=SAS_ADDR
111              specifies  the  SAS  address  of  the SMP target device. The mpt
112              interface  needs  this  option  and  it  will  typically  be  an
113              expander's  SAS address. The SAS_ADDR is in decimal but most SAS
114              addresses are shown in hexadecimal.  To give a number  in  hexa‐
115              decimal either prefix it with '0x' or put a trailing 'h' on it.
116
117       -S, --save=SAV
118              set the 'save' field in the SMP request. SAV may take these val‐
119              ues: 0 for updating the shadow values (default), 1 for  updating
120              the  saved values, 2 for updating shadow values and if available
121              the saved values, 3 for updating both saved and shadow values.
122
123       -f, --start=SS
124              See entry above, listed in order  by  its  short  option  letter
125              (i.e.  -f).
126
127       -v, --verbose
128              increase  the  verbosity  of  the  output.  Can be used multiple
129              times.
130
131       -V, --version
132              print the version string and then exit.
133

NOTES

135       For simplicity, each active line in the FN file should contain 16 or 32
136       bytes.  16  bytes if there are 128 zone groups or 32 bytes if there are
137       256 zone groups.
138
139       SCSI is big endian. So for 128 zone groups, the first  byte  placed  in
140       the  zone  permission configuration descriptor is ZP[0,127-120]. If the
141       --start=SS option is given then the first byte is  ZP[SS,127-120].  For
142       256  zone  groups, the first bytes are ZP[0,255-248] and ZP[SS,255-248]
143       respectively.
144
145       There is an annex  called  "Zone  permission  configuration  descriptor
146       examples" in recent SAS-2 and later drafts (Annex H in spl2r03.pdf).
147
148       There are some examples of the --permf=FN format in the examples direc‐
149       tory. Not all SAS-2 expanders properly implement  descriptor  transpose
150       and  only  place  the descriptor in the row corresponding to the source
151       zone group.
152

CONFORMING TO

154       The SMP CONFIGURE ZONE PERMISSION  TABLE  function  was  introduced  in
155       SAS-2 .
156

AUTHORS

158       Written by Douglas Gilbert.
159

REPORTING BUGS

161       Report bugs to <dgilbert at interlog dot com>.
162
164       Copyright © 2011 Douglas Gilbert
165       This  software is distributed under a FreeBSD license. There is NO war‐
166       ranty; not even for MERCHANTABILITY or FITNESS FOR  A  PARTICULAR  PUR‐
167       POSE.
168

SEE ALSO

170       smp_utils, smp_conf_zone_phy_info, smp_zone_activate(smp_utils)
171
172
173
174smp_utils-0.97                  September 2011       SMP_CONF_ZONE_PERM_TBL(8)
Impressum