smp_conf_route_info man page

smp_conf_route_info — invoke CONFIGURE ROUTE INFORMATION SMP function


smp_conf_route_info [--disable] [--expected=EX] [--help] [--hex] [--index=IN] [--interface=PARAMS] [--phy=ID] [--raw] [--routed=R_SAS_ADDR] [--sa=SAS_ADDR] [--verbose] [--version] SMP_DEVICE[,N]


Sends a SAS Serial Management Protocol (SMP) CONFIGURE ROUTE INFORMATION 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.

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 CONFIGURE ROUTE INFORMATION function is associated with a phy-based route table. The REPORT ROUTE INFORMATION function is provided to report phy-based route table entries.

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.


Mandatory arguments to long options are mandatory for short options as well.

-d, --disable
set the "disable expander route entry" flag in a row of the router table associated with --phy=ID of the given SMP target (e.g. an expander). Within the router table the row that is disabled is identified by the expander route index given by --index=IN.
-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.
-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.
-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.
-R, --routed=R_SAS_ADDR
specifies the SAS address to be placed in a row (given by --index=IN) of the router table associated with --phy=ID. Default value is 0. The R_SAS_ADDR is in decimal but most SAS addresses are given in hexadecimal. To give a number in hexadecimal either prefix it with '0x' or put a trailing 'h' on it.
-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.

Conforming to

The SMP CONFIGURE 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_rep_route_info(smp_utils)


smp_utils 0.96 May 2011