smp_zoned_broadcast - invoke ZONED BROADCAST SMP function
smp_zoned_broadcast [--broadcast=BT]
[--expected=EX] [--fszg=FS] [--help] [--hex]
[--interface=PARAMS] [--raw] [--sa=SAS_ADDR]
[--szg=ZGL] [--verbose] [--version]
SMP_DEVICE[,N]
Sends a SAS Serial Management Protocol (SMP) ZONED BROADCAST
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.
This function requires zoning to be enabled. To send a Broadcast
(Change) in the absence of zoning, the least intrusive way seems to be to
use a PHY CONTROL request to send a link reset to an expander phy. Broadcast
(Change) should cause a management application client behind an SMP
initiator port (e.g. a SAS HBA) to start a discover process.
Mandatory arguments to long options are mandatory for short
options as well.
- -b,
--broadcast=BT
- BT is the broadcast type, an integer in the range 0 (default) to
15. Broadcast (Change) corresponds to 0 and will cause SMP initiators that
receive it to do their discover process. Other known broadcast types are
listed in the NOTES section. BT may be decimal (default) or
hexadecimal prefixed by '0x' (or '0X') or with a 'h' (or 'H') suffix.
- -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. In
SPL-1 this field is marked as "restricted (for expected expander
change count)".
- -F,
--fszg=FS
- where FS is the name of a file which contains one or more source
zone groups to send a broadcast to. The zone groups can be given in
decimal (default) or hexadecimal prefixed by '0x' (or '0X') or with a 'h'
(or 'H') suffix. A zone group is a number in the range 0 to 255. Each zone
group can be separated by space, tab, comma or newline. Empty lines and
those starting with "#" are ignored.
- -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.
- -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,
--szg=ZGL
- one or more source zone groups for broadcast can appear as a comma
separated list ZGL. The may be decimal (default) or hexadecimal
prefixed by '0x' (or '0X') or with a 'h' (or 'H') suffix. A zone group is
a number in the range 0 to 255. Either this option or --fszg=FS
(but not both) should be given.
- -v, --verbose
- increase the verbosity of the output. Can be used multiple times.
- -V, --version
- print the version string and then exit.
The following is a list of broadcast types:
0 Broadcast (Change)
1 Broadcast (Reserved change 0)
2 Broadcast (Reserved change 1)
3 Broadcast (SES)
4 Broadcast (Expander)
5 Broadcast (Asynchronous event)
6 Broadcast (Reserved 3)
7 Broadcast (Reserved 4)
8 Broadcast (Zone activate)
The remaining zone types (9 to 15) may be issued by the ZONED
BROADCAST function.
The SMP ZONED BROADCAST 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_zone_lock, smp_zone_unlock,
smp_ena_dis_zoning(smp_utils)