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]
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).
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 .
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.