FRAME FORMAT(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’… Frame format β€” Kernel API Manual, section 9 πŸŽ€

okay bestie, sit down, because this is the frame format(9) page and it's short but it's important, like the little note your bff slips you before the exam. pop it in your brain and keep it there 🧠✨


πŸ¦‹ the actual rule (the general one, no cap)

as a general rule, when frames are passed between mac80211 and the driver, they start with the IEEE 802.11 header and include the same octets that are sent over the air β€” except for the FCS, which should be calculated by the hardware. so like… the FCS is not your problem, the hardware is handling that, periodt πŸ’…

🌸 but wait β€” the exceptions (advanced features only, iykyk)

there are, however, various exceptions to this rule for advanced features:

  • the first exception β€” it's for hardware encryption and decryption offload, where the IV/ICV may or may not be generated in hardware. so yeah, may or may not, those are genuinely both on the table πŸ™ˆ
  • secondly β€” when the hardware handles fragmentation, the frame handed to the driver from mac80211 is the MSDU, not the MPDU. lowkey the most important sentence here, like don't mix those up bestie, MSDU β‰  MPDU, fr fr 😭

✨ SEE ALSO ✨

so here's the thing β€” this list is long. like, scroll-for-a-while long. but every single one of these is a real page and they're all your new besties, so I'm listing every last one because we do not skip references in this house πŸ‘‘πŸ’–

and that's the whole page bestie, you ate that 🫢✨ go forth and pass frames correctly, and remember: header first, FCS is the hardware's business, and MSDU-not-MPDU when fragmentation is offloaded. iconic behaviour only πŸ’…πŸ’–

this page came from ./include/net in the Kernel API Manual, dated October 2026, and its title is Frame format(9) β€” so if you cite it in your essay, that's the flex πŸŒˆβ­πŸŽ€
πŸ“¦ where this page comes from