smp_rep_route_info - invoke REPORT ROUTE INFORMATION SMP function
] [ --raw
] [ --verbose
Sends a SAS Serial Management Protocol (SMP) REPORT ROUTE INFORMATION function
request to an SMP target. The SMP target is identified by the
and the SAS_ADDR
. Depending on the interface, the
may be deduced from the SMP_DEVICE
. The mpt interface
to identify a HBA (an SMP initiator) and needs the
to differentiate between HBAs if there are multiple
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
given and NUM
is greater than zero then that is the maximum number of
iterations performed. If --num=NUM
is not given (or NUM
then iterations continue until there are 4 adjacent disabled route entries (or
some error is detected).
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
- -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
- -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
The SMP REPORT ROUTE INFORMATION function was introduced in SAS-1 . The
"Expander change count" field was added in SAS-2 .
Written by Douglas Gilbert.
Report bugs to <dgilbert at interlog dot com>.
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.