NAME¶
smp_rep_route_info - invoke REPORT ROUTE INFORMATION SMP function
SYNOPSIS¶
smp_rep_route_info [
--help] [
--hex] [
--index=IN] [
--interface=PARAMS] [
--multiple] [
--num=NUM] [
--phy=ID] [
--raw] [
--sa=SAS_ADDR] [
--verbose]
[
--version] [
--zero]
SMP_DEVICE[,N]
DESCRIPTION¶
Sends a SAS Serial Management Protocol (SMP) REPORT ROUTE INFORMATION function
request to an SMP target. The SMP target is identified by the
SMP_DEVICE and the
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.
There are two expander route table types: phy-based and expander-based. The
expander-based route table was introduced in SAS-2 and supersedes the
phy-based route tables. The REPORT ROUTE INFORMATION function is associated
with a phy-based route table. The CONFIGURE ROUTE INFORMATION function is
provided to manually set up a phy-based route table.
Each phy in a SAS expander that has an associated routing attribute of
"table" has a router table. The number of rows (or entries) in each
router table is given by the "expander route indexes" field in the
response of the REPORT GENERAL function.
When the
--multiple option is given, the REPORT ROUTE INFORMATION
function is called multiple times. The index value increments on each
iteration, starting from
--index=IN (default 0). If
--num=NUM is
given and
NUM is greater than zero then that is the maximum number of
iterations performed. If
--num=NUM is not given (or
NUM is zero)
then iterations continue until there are 4 adjacent disabled route entries (or
some error is detected).
OPTIONS¶
Mandatory arguments to long options are mandatory for short options as well.
- -h, --help
- output the usage message then exit.
- -H, --hex
- output the response (less the CRC field) in hexadecimal.
- -i, --index=IN
- expander route index. IN is a value between 0 and 65535. Default is
0. More precisely the maximum index value is (expander_route_indexes -
1).
- -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.
- -m, --multiple
- call the REPORT ROUTE INFORMATION function multiple times, starting at
--index=IN, incrementing the index value on each iteration for a
maximum of --num=NUM iterations. For each enabled route table
entry, one line is output. If --num=NUM is not given (or NUM
is zero) then iterations continue until 4 adjacent disabled entries are
found (or some error occurs).
- -n, --num=NUM
- used with --multiple option to specify the maximum number of
iterations.
- -p, --phy=ID
- phy identifier. ID is a value between 0 and 254. Default is 0.
- -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. Typically this is an
expander. This option may not be needed if the SMP_DEVICE has the
target's SAS address within it. 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.
- -v, --verbose
- increase the verbosity of the output. Can be used multiple times.
- -V, --version
- print the version string and then exit.
- -z, --zero
- zero the Allocated Response Length field in the request. This option also
zeros the Request Length field in the request. This is required for strict
SAS-1.1 compliance. However this option should not be given in SAS-2 and
later; if it is given an abridged response may result.
The SMP REPORT ROUTE INFORMATION function was introduced in SAS-1 . The
"Expander change count" field was added in SAS-2 .
AUTHORS¶
Written by Douglas Gilbert.
REPORTING BUGS¶
Report bugs to <dgilbert at interlog dot com>.
COPYRIGHT¶
Copyright © 2006-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.
SEE ALSO¶
smp_utils, smp_rep_general(smp_utils)