SMP_ZONE_ACTIVATE(8)

✨ smp_zone_activate β€” the SMP_UTILS glow-up, section 8 of your manual πŸ’…

okay bestie, sit down, hydrate, because we're about to activate a ZONE and it's giving main character energy.


🌸 NAME 🌸

smp_zone_activate β€” invoke the ZONE ACTIVATE SMP function. that's it, that's the whole vibe. no cap.


πŸ¦‹ SYNOPSIS πŸ¦‹

smp_zone_activate [--expected=EX] [--help] [--hex] [--interface=PARAMS]
[--raw] [--sa=SAS_ADDR] [--verbose] [--version] SMP_DEVICE[,N]

πŸ’– DESCRIPTION πŸ’–

So basically? This lil cutie sends a SAS Serial Management Protocol (SMP) ZONE ACTIVATE function request to an SMP target. sending it out into the world like a text you definitely should have thought twice about 🫢

The SMP target gets ID'd by two things: the SMP_DEVICE and the --sa=SAS_ADDR. Depending on which interface you're rolling with, the SAS_ADDR might just get deduced from the SMP_DEVICE β€” it's self-sufficient like that, we love a low-maintenance queen.

Now, the mpt interface is a little extra πŸ™ˆ β€” it uses SMP_DEVICE to identify an HBA (that's an SMP initiator, iykyk) and it needs the additional ,N tacked on to tell the HBAs apart when there's more than one hanging around. multiple HBAs? not her problem, she needs the ,N. periodt.

And here's the tea on what actually happens: this function, if successful, will cause various zoning-related shadow values (like the zone permission table and the zone phy information, for example) to be copied over to the corresponding current values. glow up achieved ✨

AND β€” if you've selected the saving-to-"saved"-values option, then those same zoning-related shadow values will also get copied to the corresponding saved values. double the copy, double the slay. πŸ’…


πŸ”₯ OPTIONS πŸ”₯

real talk: mandatory arguments to long options are mandatory for short options too. the rules apply to everyone, no favorites.

  • -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, bestie. when EX is greater than zero, then if that value doesn't match the expander change count of the SMP target (aka the expander) at the moment the request arrives, the target just... ignores your request 😭 and sets a function result of "invalid expander change count" in the response. she said read the room.
  • -h, --help β€” outputs the usage message and then exits. the classic "what does anything mean" button.
  • -H, --hex β€” outputs the response (minus the CRC field, obviously) in hexadecimal. nerdy and proud πŸ’œ
  • -I, --interface=PARAMS β€” interface-specific parameters. in this context "interface" means the path through the operating system to the SMP initiator. peep the smp_utils man page for the full lore.
  • -r, --raw β€” sends the response (again, less the CRC field) to stdout in binary. and every single error message goes to stderr, so the streams stay in their own lanes, as they 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. heads up: SAS_ADDR is in decimal, but most SAS addresses are shown in hexadecimal (the audacity, honestly). to give a number in hexadecimal, either prefix it with '0x' or put a trailing 'h' on it. pick your fighter. πŸ₯Š
  • -v, --verbose β€” increases the verbosity of the output. can be used multiple times β€” stack it like a chain of sparkle emoji, the more the merrier. ⭐
  • -V, --version β€” prints the version string and then exits. short, sweet, iconic.

πŸ‘‘ CONFORMING TO πŸ‘‘

The SMP ZONE ACTIVATE function was introduced in SAS-2. so yeah, she's got history. vintage, even. πŸŽ€


🧚 AUTHORS 🧚

Written by Douglas Gilbert. the original mastermind, we stan. 🫢


πŸ’€ REPORTING BUGS πŸ’€

Report bugs to <dgilbert at interlog dot com>. tell them everything, leave nothing out, be dramatic about it if you must. 😭


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, don't come for her if it breaks, bestie. she said no promises. πŸ™ˆ


πŸ¦‹ SEE ALSO πŸ¦‹

  • smp_utils
  • smp_zone_lock
  • smp_zone_unlock
  • smp_ena_dis_zoning(smp_utils)

ok that's the whole page, go forth and activate responsibly ✨

and that's a wrap on the smp_utils-0.96 era, dated June 2011 β€” SMP_ZONE_ACTIVATE(8), signing off. mwah. πŸ’–