SYNOPSIS
smp_zoned_broadcast [--broadcast=BT] [--expected=EX] [--fszg=FS] [--help] [--hex] [--interface=PARAMS] [--raw] [--sa=SAS_ADDR] [--szg=ZGL] [--verbose] [--version] SMP_DEVICE[,N]DESCRIPTION
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.
OPTIONS
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.
NOTES
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.
CONFORMING TO
The SMP ZONED BROADCAST function was introduced in SAS-2 .AUTHORS
Written by Douglas Gilbert.REPORTING BUGS
Report bugs to <dgilbert at interlog dot com>.COPYRIGHT
Copyright © 2011 Douglas GilbertThis software is distributed under a FreeBSD license. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.