Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
SMP_CONF_ZONE_PERM_TBL(8)	   SMP_UTILS	     SMP_CONF_ZONE_PERM_TBL(8)

NAME
       smp_conf_zone_perm_tbl  -  invoke CONFIGURE ZONE	PERMISSION TABLE func-
       tion

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

DESCRIPTION
       Sends one or more SAS Serial Management Protocol	(SMP)  CONFIGURE  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 in-
       terface uses SMP_DEVICE to identify an HBA (an SMP initiator) and needs
       the  additional	,N to differentiate between HBAs if there are multiple
       present.

       The zone	permission table has a row for each source zone	 group	and  a
       column  for  each  destination  zone  group.  Each element in the table
       (ZP[s,d]) is a single bit indicating whether the	source zone group  can
       access  the  destination	zone group (the	bit is set: 1) or not (the bit
       is clear: 0).  There are	two different table sizes: 128	and  256  zone
       groups.	Descriptors  provided  to  this	function request are either 16
       bytes (128 bits)	or 32 bytes (256 bits) long. Each descriptor is	 basi-
       cally a row in the zone permission table.

       Apart  from  being  row in the zone permission table each descriptor is
       transposed and applied to the corresponding destination	column.	  This
       "maintains  symmetry  about the ZP[s,s] table axis" in the words	of the
       draft. Also descriptors are applied in the order	that  they  appear  in
       the request (i.e. ascending source zone group numbers).

       The  maximum  number  of	descriptors that one CONFIGURE ZONE PERMISSION
       TABLE function request can hold is limited to 63	if there are 128  zone
       groups;	and is limited to 31 if	there are 256 zone groups. A full zone
       table will contain 128 (or 256) descriptors so to configure a full  ta-
       ble requires multiple CONFIGURE ZONE PERMISSION TABLE requests.

       The  number  of zone permission configuration descriptors is determined
       by reading the FN file associated with the --permf=FN option.  If there
       are more	descriptors than can fit in one	CONFIGURE ZONE PERMISSION  TA-
       BLE  function  request then multiple requests are sent. All descriptors
       found in	the FN file will be sent unless	an earlier  function  response
       indicates there has been	an error.

OPTIONS
       Mandatory  arguments to long options are	mandatory for short options as
       well.

       -d, --deduce
	      deduce number of zone groups from	number of bytes	on  active  FN
	      lines.   With  128  zone groups each active line will contain 16
	      (or less)	bytes.	With this option if any	active line in FN con-
	      tains more than 16 bytes then 256	zone groups are	assumed,  oth-
	      erwise  128 zone groups are assumed. This	option cannot be given
	      with the --numzg=NG option (as they may contradict one another).

       -E, --expected=EX
	      set the 'expected	expander change	count' field in	 the  SMP  re-
	      quest.   The  value EX is	from 0 to 65535	inclusive with 0 being
	      the default value. When EX is greater  than  zero	 then  if  the
	      value  doesn't match the expander	change count of	the SMP	target
	      (i.e. the	expander) when the request arrives then	the target ig-
	      nores the	request	and sets a function  result  of	 "invalid  ex-
	      pander change count" in the response.

       -f, --start=SS
	      starting	(first)	 source	zone group (default: zone group	0). If
	      multiple function	requests are sent, this	 field	in  subsequent
	      function	requests will be adjusted to reflect those descriptors
	      already sent. Note that the SS value may be picked  up  from  FN
	      and  if this option and that value are not the same, an error is
	      generated.

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

       -n, --numzg=ZG
	      number of	zone groups. ZG	can be 0 (default) or 1. 0 implies 128
	      zone groups while	1 implies 256 zone groups. This	option	cannot
	      be used with the --deduce	option.

       -P, --permf=FN
	      FN  is  a	file containing	zone permission	configuration descrip-
	      tors in ASCII hexadecimal; either	as bytes separated  by	space,
	      tab, comma or newline, or	as longer strings of hexadecimal bytes
	      in which every 2 digits represents a byte. Empty lines and those
	      starting with "#"	are ignored.  A	line with "--start=<num>" will
	      be  taken	 as  the starting source zone group number (i.e. <num>
	      becomes SS) unless it contradicts	the  command  line  --start=SS
	      option. Otherwise	lines starting with "-"	are ignored.

       -r, --raw
	      send  the	response (less the CRC field) to stdout	in binary. All
	      error messages are sent to stderr.

       -s, --sa=SAS_ADDR
	      specifies	the SAS	address	of the SMP target device. The mpt  in-
	      terface 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  ei-
	      ther prefix it with '0x' or put a	trailing 'h' on	it.

       -S, --save=SAV
	      set the 'save' field in the SMP request. SAV may take these val-
	      ues:  0 for updating the shadow values (default),	1 for updating
	      the saved	values,	2 for updating shadow values and if  available
	      the saved	values,	3 for updating both saved and shadow values.

       -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
       For simplicity, each active line	in the FN file should contain 16 or 32
       bytes.  16  bytes if there are 128 zone groups or 32 bytes if there are
       256 zone	groups.

       SCSI is big endian. So for 128 zone groups, the first  byte  placed  in
       the  zone  permission configuration descriptor is ZP[0,127-120].	If the
       --start=SS option is given then the first byte is  ZP[SS,127-120].  For
       256  zone  groups, the first bytes are ZP[0,255-248] and	ZP[SS,255-248]
       respectively.

       There is	an annex called	"Zone permission configuration descriptor  ex-
       amples" in recent SAS-2 and later drafts	(Annex H in spl2r03.pdf).

       There are some examples of the --permf=FN format	in the examples	direc-
       tory.  Not  all SAS-2 expanders properly	implement descriptor transpose
       and only	place the descriptor in	the row	corresponding  to  the	source
       zone group.

CONFORMING TO
       The  SMP	 CONFIGURE  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 (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-
       POSE.

SEE ALSO
       smp_utils, smp_conf_zone_phy_info, smp_zone_activate(smp_utils)

smp_utils-0.97			September 2011	     SMP_CONF_ZONE_PERM_TBL(8)

Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=smp_conf_zone_perm_tbl&sektion=8&manpath=FreeBSD+Ports+15.0>

home | help