SMP_ENA_DIS_ZONING(8)

πŸ’… SMP_ENA_DIS_ZONING πŸ’…

okay bestie, so this is the SMP_ENA_DIS_ZONING page from the SMP_UTILS crew β€” section 8 of the manual, iykyk. it's giving "let me flip the zoning switch on your SAS expander" energy and honestly? iconic. πŸ¦‹


✨ NAME ✨

smp_ena_dis_zoning β€” invoke ENABLE DISABLE ZONING SMP function


🌸 SYNOPSIS 🌸

smp_ena_dis_zoning [--disable] [--ena-dis=ED] [--expected=EX] [--help]
[--hex] [--interface=PARAMS] [--raw] [--sa=SAS_ADDR] [--save=SAV]
[--verbose] [--version] SMP_DEVICE[,N]

πŸ’– DESCRIPTION πŸ’–

so basically this bad boy sends a SAS Serial Management Protocol (SMP) ENABLE DISABLE ZONING function request over to an SMP target. no cap. πŸŽ€

the SMP target gets identified by the SMP_DEVICE and the --sa=SAS_ADDR. depending on which interface you're on, the SAS_ADDR might just be deduced from the SMP_DEVICE β€” cute, right? ✨ the mpt interface uses SMP_DEVICE to identify a HBA (that's an SMP initiator, btw) and it needs the extra ,N to tell HBAs apart when there's more than one hanging around. very "which one of y'all is it" of it.

now, if you don't hand it either --disable or --ena-dis=ED? it just assumes you want to enable zoning β€” like, "--ena-dis=1". default behaviour, slay.

⚠️ lowkey important: this function does not change the state of the current zoning enabled flag (the one you'd see in the REPORT GENERAL response). that state change happens later, on a subsequent invocation of the ZONE ACTIVATE function. so don't come for this function asking why nothing flipped β€” it's not that girl. πŸ’€

πŸ‘‘ OPTIONS πŸ‘‘

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

  • -d, --disable β€” sets the 'enable disable zoning' field in the SMP request to 2, which disables zoning. bye zoning πŸ‘‹
  • -e, --ena-dis=ED β€” sets the 'enable disable zoning' field in the SMP request. ED can be: 0 for no change, 1 for enable zoning (that's the default πŸ’–) and 2 for disable zoning. and if you give this option and --disable at the same time, they cannot contradict one another. no fighting in the group chat.
  • -E, --expected=EX β€” sets the 'expected expander change count' field in the SMP request. EX runs from 0 to 65535 inclusive, and 0 is 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 🫢) at the moment the request arrives, the target just ignores the request and sets a function result of "invalid expander change count" in the response. it's giving "wrong vibe check, request denied".
  • -h, --help β€” outputs the usage message then exits. short and sweet.
  • -H, --hex β€” outputs the response (less the CRC field) in hexadecimal. hex girl hours ⭐
  • -I, --interface=PARAMS β€” interface specific parameters. here, "interface" means the path through the operating system to the SMP initiator. go read the smp_utils man page for more info, bestie, it's all there.
  • -r, --raw β€” sends the response (less the CRC field) to stdout in binary. and all error messages? those go to stderr. keeping it separated, as she should. πŸ’…
  • -s, --sa=SAS_ADDR β€” specifies the SAS address of the SMP target device. the mpt interface needs this option and it'll typically be an expander's SAS address. 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.
  • -S, --save=SAV β€” sets the 'save' field in the SMP request. SAV can be: 0 for updating the shadow values (default), 1 for updating the saved values, 2 for updating shadow values and if available the saved values, 3 for updating both saved and shadow values. pick your fighter. ✨
  • -v, --verbose β€” increases the verbosity of the output. can be used multiple times. spam it, she loves it. πŸ“’
  • -V, --version β€” prints the version string and then exits. bye πŸ‘‹

πŸ“œ CONFORMING TO πŸ“œ

the SMP ENABLE DISABLE ZONING function was introduced in SAS-2 . (yes, with the lil space, we keep it exactly how it is, no editing the lore πŸŽ€)


🫢 AUTHORS 🫢

Written by Douglas Gilbert.


πŸ› REPORTING BUGS πŸ›

Report bugs to <dgilbert at interlog dot com>.


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. (read that again bestie, fr fr β€” no promises, no cap 😭)


πŸ”— SEE ALSO πŸ”—

  • smp_utils
  • smp_lock
  • smp_zone_activate
  • smp_zone_unlock(smp_utils)

okay that's the whole page, you ate that πŸ’…βœ¨

and for the cute sign-off: this lil masterpiece is from smp_utils-0.96, dated June 2011, and it's the SMP_ENA_DIS_ZONING(8) page β€” section 8, main character energy, no notes. πŸŽ€πŸ¦‹πŸ’–