SMP_CONF_ZONE_PHY_INFO(8)
π SMP_CONF_ZONE_PHY_INFO(8) π
okay bestie, welcome to the glow-up guide for smp_conf_zone_phy_info, one of the lil legends that lives in the smp_utils family. she's a section 8 girlie, she speaks SAS Serial Management Protocol, and she's about to invoke the CONFIGURE ZONE PHY INFORMATION function. no cap. π¦
β¨ NAME β¨
smp_conf_zone_phy_info β invoke CONFIGURE ZONE PHY INFORMATION function π
πΈ SYNOPSIS πΈ
smp_conf_zone_phy_info [--expected=EX] [--help] [--hex]
[--interface=PARAMS] --pconf=FN [--raw] [--sa=SAS_ADDR] [--save=SAV]
[--verbose] [--version] SMP_DEVICE[,N]
π DESCRIPTION π
so what she actually does: she sends a SAS Serial Management Protocol (SMP) CONFIGURE ZONE PHY INFORMATION function request to an SMP target. slay. π
the SMP target gets ID'd by the SMP_DEVICE plus the --sa=SAS_ADDR. depending on which interface you're rolling with, the SAS_ADDR might just be deduced from the SMP_DEVICE β the universe provides, iykyk. β¨
the mpt interface is a lil extra though: it uses SMP_DEVICE to identify a HBA (an SMP initiator), and it needs that additional ,N tacked on to tell the difference between HBAs if there's more than one hanging around. not her fault, she's just being specific. π
now, the tea on the descriptors π«: each zone phy configuration descriptor is 4 bytes long. let's break it down byte by byte, bestie:
- first byte β an (expander) phy identifier.
- second byte β has 3 modifiable bits: bit 5 is "inside ZPSDS persistent"; bit 4 is "requested inside ZPSDS"; and bit 2 is "zone group persistent". the other bits in this second byte are reserved and should be
0. - third byte β reserved and should be
0. - fourth byte β the zone group.
periodt. β¨
π OPTIONS π
heads up: mandatory arguments to long options are mandatory for short options as well. no skipping, bestie.
-E,--expected=EXβ sets the 'expected expander change count' field in the SMP request.EXis from 0 to 65535 inclusive, with0being the default value. whenEXis 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. she said nope. π-h,--helpβ outputs the usage message, then exits. classic.-H,--hexβ outputs the response (less the CRC field) in hexadecimal. β¨-I,--interface=PARAMSβ interface specific parameters. in this case "interface" refers to the path through the operating system to the SMP initiator. see thesmp_utilsman page for more info. π-p,--pconf=FNβFNis a file containing zone phy configuration descriptors in ASCII hexadecimal; either as bytes separated by space, tab, comma or newline, or as longer strings of hexadecimal bytes in which every 2 digits represents a byte. empty lines and those starting with#are ignored. and since each zone phy configuration descriptor is 4 bytes long, the number of bytes inFNis expected to be a multiple of 4. math is math. π§-r,--rawβ sends the response (less the CRC field) to stdout in binary. all error messages are sent to stderr. she keeps the drama on a separate channel. π-s,--sa=SAS_ADDRβ specifies the SAS address of the SMP target device. themptinterface needs this option and it will typically be an expander's SAS address. theSAS_ADDRis 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. π-S,--save=SAVβ sets the 'save' field in the SMP request.SAVmay take these values:0for updating the shadow values (default),1for updating the saved values,2for updating shadow values and if available the saved values,3for updating both saved and shadow values. pick your fighter. π₯-v,--verboseβ increases the verbosity of the output. can be used multiple times. more-v, more lore. π-V,--versionβ prints the version string and then exits. β¨
π¦ NOTES π¦
the expander phys that make up a wide port (2 or more attached to phys with the same SAS address) must be set to the same zone phy configuration settings β other than the phy id. they're a unit, they match, that's the vibe. π
zone phy information can be read back from an expander and placed in a file with the smp_discover_list utility's --zpi=FN option. and the format of that file should be suitable for this utility's --pconf=FN option. look at the synergy. chef's kiss. π
β CONFORMING TO β
the SMP CONFIGURE ZONE PHY INFORMATION function was introduced in SAS-2. iconic behavior, honestly.
πΈ AUTHORS πΈ
written by Douglas Gilbert. π
π REPORTING BUGS π
report bugs to <dgilbert at interlog dot com>. she wants to know, fr fr.
π COPYRIGHT π
Copyright Β© 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. so like, no promises, bestie, that's just how it is. π
π SEE ALSO π
smp_utilssmp_conf_zone_perm_tblsmp_zone_activatesmp_discover_list(smp_utils)
and that's the whole page, babes π«Ά this was smp_utils-0.96, dated May 2011 β she's vintage, she's stable, she ate and left no crumbs. mwah. π β¨
π¦ 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