smp_conf_zone_phy_info [--expected=EX] [--help] [--hex] [--interface=PARAMS] --pconf=FN [--raw] [--sa=SAS_ADDR] [--save=SAV] [--verbose] [--version] SMP_DEVICE[,N]
Sends a SAS Serial Management Protocol (SMP) CONFIGURE ZONE PHY INFORMATION function request 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.
Each zone phy configuration descriptor is 4 bytes long. The first byte is a (expander) phy identifier. The second byte has 3 modifiable bits: bit 5 is "inside ZPSDS persistent"; bit 4 is "requested inside ZPSDS"; and bit 2 is "zone group persistent". The other bits in the second byte are reserved and should be 0. The third byte is reserved and should be 0. The fourth byte is the zone group.
Mandatory arguments to long options are mandatory for short options as well.
- -E, --expected=EX
set the 'expected expander change count' field in the SMP request. 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 ignores the request and sets a function result of "invalid expander change count" in the response.
- -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.
- -p, --pconf=FN
FN is a file containing zone phy configuration descriptors 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. Since each zone phy configuration descriptor is 4 bytes long, the number of bytes in FN is expected to be a multiple of 4.
- -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 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.
- -S, --save=SAV
set the 'save' field in the SMP request. SAV may take these values: 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.
- -v, --verbose
increase the verbosity of the output. Can be used multiple times.
- -V, --version
print the version string and then exit.
The expander phys that make up a wide port (2 or more attached to phys with the same SAS address) must be set to the same zone phy configuration settings (other than the phy id).
Zone phy information can be read back from an expander and placed in a file with the smp_discover_list utility's --zpi=FN option. The format of that file should be suitable for this utility's --pconf=FN option.
The SMP CONFIGURE ZONE PHY INFORMATION function was introduced in SAS-2 .
Written by Douglas Gilbert.
Report bugs to <dgilbert at interlog dot com>.
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.
smp_utils, smp_conf_zone_perm_tbl, smp_zone_activate, smp_discover_list(smp_utils)