smp_rep_route_info man page

smp_rep_route_info — invoke REPORT ROUTE INFORMATION SMP function


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.

Conforming to

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.

Reporting Bugs

Report bugs to <dgilbert at interlog dot com>.

See Also

smp_utils, smp_rep_general(smp_utils)


smp_utils 0.96 May 2011