SMP_REP_BROADCAST(8)

πŸ’… SMP_REP_BROADCAST(8) πŸ’…

okay bestie, welcome to the smp_utils corner of the universe, where we talk to SAS expanders and they actually listen. this one's called smp_rep_broadcast and it's giving "let me just ask what broadcasts you've been getting, bestie" energy. no cap. ✨


🌸 NAME 🌸

smp_rep_broadcast β€” invoke REPORT BROADCAST SMP function

like literally that's it. that's the whole job. it pings the REPORT BROADCAST function and sees what comes back. πŸŽ€


πŸ¦‹ SYNOPSIS πŸ¦‹

smp_rep_broadcast [--broadcast=BT] [--help] [--hex] [--interface=PARAMS]
[--raw] [--sa=SAS_ADDR] [--verbose] [--version] SMP_DEVICE[,N]

look at her. so many little flags. she's iconic. πŸ’–


πŸ’œ DESCRIPTION πŸ’œ

So what's actually happening here? This tool sends a SAS Serial Management Protocol (that's SMP, iykyk) REPORT BROADCAST function request to an SMP target. slay.

The SMP target gets identified by two things: the SMP_DEVICE and the --sa=SAS_ADDR. cute duo, honestly. Depending on which interface you're rolling with, the SAS_ADDR may just be deduced from the SMP_DEVICE β€” the tool's smart like that. 🧚

Now, the mpt interface is a little extra (respectfully). It uses SMP_DEVICE to identify an HBA β€” that's an SMP initiator β€” and it needs the extra ,N tacked on to tell the HBAs apart if you've got multiple of them sitting there. multiple HBAs? in this economy? apparently yes. πŸ’€


✨ OPTIONS ✨

quick heads up before we dive in: mandatory arguments to long options are mandatory for short options as well. so don't get cute and think you can skip it. 🫢

  • -b, --broadcast=BT β€” BT is the broadcast type, and it's an integer from 0 (the default) all the way up to 15. Broadcast (Change) is the one that corresponds to 0. the other known broadcast types are all listed down in the NOTES section, keep scrolling bestie. BT can be decimal (that's the default vibe) or hexadecimal β€” either prefix it with '0x' (or '0X') or slap a 'h' (or 'H') suffix on it. your call, main character. πŸ’…
  • -h, --help β€” outputs the usage message, then exits. the classic "wait what were the flags again" move. πŸ™ˆ
  • -H, --hex β€” outputs the response (minus the CRC field) in hexadecimal. pretty little numbers. πŸ”₯
  • -I, --interface=PARAMS β€” interface specific parameters. and jsyk, "interface" here means the path through the operating system to the SMP initiator. for more info go check the smp_utils man page, she explains it better than I could. πŸ“–
  • -r, --raw β€” sends the response (again, less the CRC field) to stdout in binary. all error messages get yeeted to stderr instead. so clean. 🌈
  • -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. here's the tea though: SAS_ADDR is in decimal, but most SAS addresses are shown in hexadecimal. so if you wanna give a number in hex, either prefix it with '0x' or put a trailing 'h' on it. ⭐
  • -v, --verbose β€” increases the verbosity of the output. and yes, you can use it multiple times β€” stack them up, go feral, get all the details. πŸ‘‘
  • -V, --version β€” prints the version string and then exits. short and sweet. πŸ“

πŸŽ€ NOTES πŸŽ€

here's the full list of broadcast types, bestie. screenshot it, memorize it, whatever you gotta do:

  • 0 β€” Broadcast (Change)
  • 1 β€” Broadcast (Reserved change 0)
  • 2 β€” Broadcast (Reserved change 1)
  • 3 β€” Broadcast (SES)
  • 4 β€” Broadcast (Expander)
  • 5 β€” Broadcast (Asynchronous event)
  • 6 β€” Broadcast (Reserved 3)
  • 7 β€” Broadcast (Reserved 4)
  • 8 β€” Broadcast (Zone activate)

and the remaining zone types β€” that's 9 to 15 β€” they may be issued by the ZONED BROADCAST function. so if you're looking for those, wrong function, bestie, go find smp_zoned_broadcast. πŸ¦‹


πŸ’– CONFORMING TO πŸ’–

The SMP REPORT BROADCAST function was introduced in SAS-2 . (yes there's a space before the period, she's quirky like that, we don't question it.)


🌟 AUTHORS 🌟

Written by Douglas Gilbert. an absolute legend, fr fr. πŸ‘‘


😭 REPORTING BUGS 😭

Found a bug? Report bugs to <dgilbert at interlog dot com>. don't be shy, they wanna know.


Copyright Β© 2011-2012 Douglas Gilbert

This software is distributed under a FreeBSD license. and listen β€” there is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. like none. zero. nada. so don't come for anyone if it goes sideways. πŸ™ˆ


🫢 SEE ALSO 🫢

  • smp_utils
  • smp_zoned_broadcast(smp_utils)

okay that's the whole page!! this was smp_utils-0.98, dated February 2012, and it lives under the SMP_UTILS manual name β€” SMP_REP_BROADCAST(8) if you're keeping score. now go forth and report those broadcasts, bestie. you ate. πŸ’…βœ¨πŸŽ€