STRUCT IEEE80211_EHT_MCS_NSS_SUPP_BW(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’– struct ieee80211_eht_mcs_nss_supp_bw β€” Kernel API Manual πŸ’–

okay bestie, welcome to the glow-up of a lifetime ✨ this is the <pink>Kernel API Manual</pink> page for struct ieee80211_eht_mcs_nss_supp_bw, and it's giving "tiny struct, enormous Wi-Fi energy". Buckle up πŸŽ€


🌸 NAME 🌸

struct ieee80211_eht_mcs_nss_supp_bw β€” EHT max supported NSS per MCS (and yes, the parenthetical is doing character work: except 20MHz only stations). like, if ur a 20MHz-only station this struct is simply not about u, no cap πŸ’…


✨ SYNOPSIS ✨

here's the whole vibe, verbatim, don't touch it, it's perfect:

struct ieee80211_eht_mcs_nss_supp_bw {
    union {
      struct {
        u8 rx_tx_mcs9_max_nss;
        u8 rx_tx_mcs11_max_nss;
        u8 rx_tx_mcs13_max_nss;
      };
      u8 rx_tx_max_nss[3];
    };
 };

ok so it's a union inside a struct inside ur heart 🫢 you can peek at it field-by-field by name or just roll through it as an array. both. at once. it's the same bytes. iconic behaviour honestly πŸ‘‘


πŸ¦‹ Members πŸ¦‹

  • {unnamed_union} β€” anonymous. no name, no problem, it's just vibing there unnamed 😌
  • {unnamed_struct} β€” also anonymous. a mystery. a little enigma. it simply exists πŸ’«
  • rx_tx_mcs9_max_nss β€” this one tells u the max number of spatial streams supported for reception and the max number of spatial streams supported for transmission for MCS 0 - 9. two facts, one byte, we love efficiency πŸ“
  • rx_tx_mcs11_max_nss β€” same deal, but the range is MCS 10 - 11. max spatial streams for Rx, max spatial streams for Tx. short and sweet, mwah 😘
  • rx_tx_mcs13_max_nss β€” and again for MCS 12 - 13: max spatial streams for reception, max spatial streams for transmission. the trilogy completes itself 🌈
  • rx_tx_max_nss β€” array of the previous fields for easier loop access πŸ’€ literally the "i don't wanna type three names" field and honestly? relatable. loop girls stay winning πŸ”₯

🧚 Description 🧚

okay this is the part u actually need for the exam bestie, so listen up πŸ‘€

For each field below (i.e. every one of those three max-nss bytes):

  • bits 0 - 3 β†’ the maximal number of spatial streams for Rx πŸ’–
  • bits 4 - 7 β†’ the maximal number of spatial streams for Tx πŸ’–

that's it. that's the whole bit layout. low half Rx, high half Tx, one byte carrying both like a lil suitcase 🧳✨


🌟 SEE ALSO 🌟

the whole friend group, all of them, no one gets left out 🫢:


ngl bestie, the only thing to be careful about here is the bit packing: Rx lives in bits 0 - 3 and Tx lives in bits 4 - 7 of each one of those bytes. don't go flipping them, i'm begging πŸ™ˆ

slay, that's the whole page πŸ’œ sourced from ./include/linux, dated October 2026, and filed under struct ieee8..._nss_supp_bw(9) β€” mwah, go read the header, ily, bye πŸŽ€βœ¨πŸ¦‹

πŸ“¦ where this page comes from