ieee80211_get_tkip_p1k(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’– ieee80211_get_tkip_p1k πŸ’–

okay so bestie, welcome to the Kernel API Manual β€” yes we're in the kernel docs, no cap, and today's main character is ieee80211_get_tkip_p1k, aka "get a TKIP phase 1 key". it's giving crypto, it's giving WEP's glow-up era, it's giving exactly three arguments and zero drama. let's go ✨


🌸 SYNOPSIS 🌸

void ieee80211_get_tkip_p1k (struct ieee80211_key_conf *keyconf , struct sk_buff *skb , u16 *p1k );

like, that's the whole vibe. a void function, three params, and the semicolon is mandatory because we're not animals πŸ’…


πŸŽ€ ARGUMENTS πŸŽ€

  • keyconf β€” the parameter passed with the set key. literally just the key config that came in with the set key call, bestie. it walks in with the key, it leaves with the key. iconic consistency 🫢
  • skb β€” the packet to take the IV32 value from that will be encrypted with this P1K. so like, this is the packet we're extracting the IV32 out of, and that same packet is the one headed for encryption with this P1K. it's a whole pipeline moment πŸ”₯
  • p1k β€” a buffer to which the key will be written, as 5 u16 values. not one, not two, five. so make that buffer big enough or the kernel will have thoughts, and by thoughts I mean problems 😭
ngl, that last one is the vibe check of this whole function. five u16 slots, size your buffer accordingly, periodt.

πŸ¦‹ DESCRIPTION πŸ¦‹

so what does it do? this function returns the TKIP phase 1 key for the IV32 taken from the given packet. that's it. that's the tea. πŸ“

it reads the IV32 out of the packet you handed it, and it gives you back the phase 1 key that belongs to that IV32. no extra steps, no surprises, just a very focused little function doing exactly one (1) job and doing it slayfully ✨


πŸ‘‘ SEE ALSO πŸ‘‘

mmkay buckle up bestie, because the SEE ALSO section here is long. like, "she asked for the whole friend group" long. first up, the kernel file:

  • ./include/net/mac80211.h

and then every single one of these, in this exact order, because we do not cut corners in this house πŸŽ€

like… that's the whole extended universe, bestie. every last one of them. iykyk 🌈


aaaand that's the page! 🫢 cute little sign-off time: this one lives in ./include/net, it's dated October 2026, and the page itself is ieee80211_get_tkip_p1k(9) β€” go get you that phase 1 key, you absolute icon πŸ‘‘πŸ’œ

πŸ“¦ where this page comes from