SMP_REP_EXP_ROUTE_TBL(8)
πΈ SMP_REP_EXP_ROUTE_TBL π
okay bestie, gather round, because we're about to talk about smp_rep_exp_route_tbl β that's the smp_utils girlies' very own section 8 tool for poking at SAS expanders. she's an SMP function invoker and she's lowkey iconic π«Ά
β¨ SYNOPSIS β¨
smp_rep_exp_route_tbl [--brief] [--help] [--hex] [--index=IN]
[--interface=PARAMS] [--num=NUM] [--phy=ID] [--raw] [--sa=SAS_ADDR]
[--verbose] [--version] SMP_DEVICE[,N]
π DESCRIPTION π
so basically she sends a SAS Serial Management Protocol (SMP) REPORT EXPANDER ROUTE TABLE LIST function request to an SMP target, and then she either decodes the response or just yeets it out at you. that's the whole job. no cap.
the SMP target is identified by the SMP_DEVICE and the SAS_ADDR. depending on the interface, the SAS_ADDR may just be deduced from the SMP_DEVICE β she's smart like that. the mpt interface uses SMP_DEVICE to identify a HBA (that's an SMP initiator, for the uninitiated), and it needs the extra ,N on the end to tell HBAs apart if you've got multiple of them hanging around. it's giving "i have so many HBAs and they all look the same" π
now, the lore: there are two expander route table types β phy-based and expander-based. the expander-based route table was introduced in SAS-2 and it supersedes the phy-based route tables, like a glow-up that made the old one obsolete. the REPORT EXPANDER ROUTE TABLE LIST function is associated with an expander-based route table. and there is no corresponding CONFIGURE function, because an expander-based route table is self-configured. she configures herself. main character energy fr fr π
π OPTIONS π
mandatory arguments to long options are mandatory for short options as well. periodt.
-b,--briefβ reduce the decoded response output. short and sweet, minimal chatter π-h,--helpβ spits out the usage message then exits. your girl is helpful.-H,--hexβ output the response (less the CRC field) in hexadecimal. hex girl summer β¨-i,--index=INβ IN is the starting routed SAS address index. default value is0.-I,--interface=PARAMSβ interface specific parameters. in this case "interface" means the path through the operating system to the SMP initiator. go read thesmp_utilsman page for more info, bestie, i can't do everything for you π-n,--num=NUMβ maximum number of descriptors to fetch (default is62). heads up tho: the maximum SMP frame size is1028bytes (including a trailing 4 byte CRC), so62descriptors is the absolute max that can fit in one response. the math is mathing π₯-p,--phy=IDβ starting phy identifier within bitmap. ID should be one of0(the default), or a multiple of48. and just so you know: there is only one expander route table per expander, not one per phy. do not come for her with that per-phy nonsense π-r,--rawβ send the response (less the CRC field) tostdoutin binary. all error messages are sent tostderr. raw, unfiltered, no makeup π-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 theSMP_DEVICEhas the target's SAS address inside it already. theSAS_ADDRis in decimal, but most SAS addresses are shown in hexadecimal β so to give a number in hex, either prefix it with'0x'or slap a trailing'h'on it. choose your fighter β-v,--verboseβ increase the verbosity of the output. can be used multiple times. yes, multiple. stack her up π§-V,--versionβ print the version string and then exit. bye bestie π
π CONFORMING TO π
the SMP REPORT EXPANDER ROUTE TABLE LIST function was introduced in SAS-2. vintage, but make it fashion.
π AUTHORS π
written by Douglas Gilbert. yes, THE Douglas Gilbert. we stan.
π REPORTING BUGS π
found a bug? report it to <dgilbert at interlog dot com>. be nice, be specific, include the receipts.
π COPYRIGHT π
Copyright Β© 2007-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. read that again. NO WARRANTY. she said what she said.
π¦ SEE ALSO π¦
smp_utilssmp_rep_route_info
ok that's the whole page, you're officially educated π
and that's a wrap on the smp_rep_exp_route_tbl(8) page from the smp_utils crew β this version lived in smp_utils-0.96, dated May 2011. old money, still slaying β¨πΈ
π¦ where this page comes from
- debian bookworm: smp-utils 0.99-1 Β· BSD-3-Clause
- debian trixie: smp-utils 0.99-1 Β· BSD-3-Clause
- epel 10: smp_utils 0.99-1.el10_0 Β· BSD-3-Clause
- epel 9: smp_utils 0.99-5.el9 Β· BSD
- fedora 43: smp_utils 0.99-14.fc43 Β· BSD-3-Clause
- fedora 44: smp_utils 0.99-15.fc44 Β· BSD-3-Clause
- opensuse-leap 16.0: smp_utils 0.99-bp160.1.6 Β· BSD-3-Clause AND GPL-2.0-only
- opensuse-leap 16.0: smp_utils 0.99-bp160.1.6 Β· BSD-3-Clause AND GPL-2.0-only
- opensuse-leap 16.0: smp_utils 0.99-bp160.1.6 Β· BSD-3-Clause AND GPL-2.0-only
- opensuse-leap 16.0: smp_utils 0.99-bp160.1.6 Β· BSD-3-Clause AND GPL-2.0-only
- ubuntu jammy: smp-utils 0.99-1 Β· BSD-3-Clause
- ubuntu noble: smp-utils 0.99-1 Β· BSD-3-Clause
- ubuntu resolute: smp-utils 0.99-1build1 Β· BSD-3-Clause
- ubuntu stonking: smp-utils 0.99-1build1 Β· BSD-3-Clause
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms