cfg80211_find_ie_match(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’… cfg80211_find_ie_match(9) β€” Kernel API Manual πŸ’…

okay bestie, welcome to cfg80211_find_ie_match(9) from the Kernel API Manual. This one is literally about matching an information element and a byte array in data, and the vibes are extremely β€œsmall helper, very specific job.” πŸŽ€


✨ NAME ✨

cfg80211_find_ie_match β€” match information element and byte array in data πŸ’–


πŸ¦‹ SYNOPSIS πŸ¦‹

const u8 * cfg80211_find_ie_match (u8 eid , const u8 *ies , unsigned int
len , const u8 *match , unsigned int match_len , unsigned int
match_offset );

that’s the signature, bestie β€” copy it exactly, no improvising πŸ’…


🌸 ARGUMENTS 🌸

  • eid β€” element ID πŸ‘‘
  • ies β€” data consisting of IEs ✨
  • len β€” length of data πŸ“
  • match β€” byte array to match 🧚
  • match_len β€” number of bytes in the match array πŸ”’
  • match_offset β€” offset in the IE where the byte array should match. If match_len is zero, this must also be set to zero. Otherwise this must be set to 2 or more, because the first byte is the element id, which is already compared to eid, and the second byte is the IE length. 🫢
lowkey important: that match_offset rule is not decorative. zero with zero, or 2+ when match_len is nonzero. periodt. πŸ’…

⭐ RETURN ⭐

NULL if the element ID could not be found or if the element is invalid (claims to be longer than the given data) or if the byte array doesn’t match, or a pointer to the first byte of the requested element, that is the byte containing the element ID. πŸ’–

so yeah: no match, bad element, or byte-array mismatch = NULL; otherwise you get a pointer to the first byte of the requested element, AKA the byte containing the element ID. iconic behavior. πŸ‘‘


🌈 NOTE 🌈

There are no checks on the element length other than having to fit into the given data and being large enough for the byte array to match. 😭

🚨 read that again, bestie: the element length is not getting some big extra validation arc. The only length checks are fitting into the given data and being large enough for the byte array to match. no cap. πŸ’€

πŸ”— SEE ALSO πŸ”—

okay bestie, buckle up, because the SEE ALSO for this one is not a little list. it's the whole cfg80211 cinematic universe, and every single cross-reference gotta be here, so let's go πŸ’…


πŸŽ€ Actions and configuration πŸŽ€


πŸ¦‹ Scanning and BSS list handling πŸ¦‹

  • Scanning and BSS list handling(9)
  • struct cfg80211_ssid(9), struct cfg80211_scan_info(9), struct cfg80211_scan_6ghz_params(9), struct cfg80211_scan_request(9), struct cfg80211_match_set(9), struct cfg80211_sched_scan_plan(9), struct cfg80211_bss_select_adjust(9), struct cfg80211_sched_scan_request(9)
  • enum cfg80211_signal_type(9), struct cfg80211_inform_bss(9), struct cfg80211_bss_ies(9), struct cfg80211_bss(9), ieee80211_bss_get_elem(9), ieee80211_bss_get_ie(9)
  • struct cfg80211_auth_request(9), struct cfg80211_assoc_link(9), struct cfg80211_ml_reconf_req(9), enum cfg80211_assoc_req_flags(9), struct cfg80211_assoc_request(9), struct cfg80211_deauth_request(9), struct cfg80211_disassoc_request(9)
  • struct cfg80211_ibss_params(9), struct cfg80211_bss_selection(9), struct cfg80211_connect_params(9), enum cfg80211_connect_params_changed(9), enum wiphy_params_flags(9), struct cfg80211_pmksa(9)
  • struct cfg80211_pkt_pattern(9), struct cfg80211_wowlan_tcp(9), struct cfg80211_wowlan(9), struct cfg80211_coalesce_rules(9), struct cfg80211_coalesce(9), struct cfg80211_wowlan_nd_match(9), struct cfg80211_wowlan_nd_info(9), struct cfg80211_wowlan_wakeup(9)
  • struct cfg80211_gtk_rekey_data(9), struct cfg80211_update_ft_ies_params(9), struct cfg80211_mgmt_tx_params(9), struct cfg80211_dscp_exception(9), struct cfg80211_dscp_range(9), struct cfg80211_qos_map(9)

🌸 Neighbor Awareness Networking (NAN) 🌸


🧚 Utility functions 🧚


⭐ Data path helpers ⭐


πŸ‘‘ Regulatory enforcement infrastructure πŸ‘‘


πŸ’œ the rest of the extended universe πŸ’œ

no shade, this part of the list just keeps going. we respect the hustle.

πŸ“Ά RFkill integration πŸ“Ά


πŸ›οΈ Vendor commands πŸ›οΈ


πŸ§ͺ Test mode πŸ§ͺ


🫢 connection, roaming, and friends 🫢

that's the whole SEE ALSO roster, no cap β€” every single one of them accounted for πŸ’– still more page to go, so don't wander off bestie πŸ¦‹

okay so the SEE ALSO list is lowkey the longest guest list at the function, and we're finishing it right here β€” every single one of these is a real page you can go read next, bestie, no cap. Pull up a chair πŸ’…

First lil cluster if you're into beacons, channel switches and operating classes:

Then the tdls / bitrate / device-registration girlies, plus the ft event crew:

The big middle block β€” p2p attributes, IE splitting, fragmentation, wowlan, crit proto, channel counts, combinations, radio index, and the stop/shutdown squad:

NAN besties, external auth, PMSR and friends β€” this chunk is so main character energy ✨:

Colour-change cuties, 6 GHz, links-removed, MLO reconf and EPCS β€” the aesthetic section honestly πŸ’–:

And the grand finale: more NAN (cluster joined, ULW update, channel evac, next DW notif), the locked debugfs pair, the S1G frequency trio and the incumbent signal notif. All of them, in order, exactly as they were handed to me 🫢


And that's a wrap on the whole page, bestie πŸŽ€ You read every single one, ate and left no crumbs. Big slay to ./include/net for being the source of all this, and this October 2026 edition for keeping the lore current. Go read a page, ily, bye πŸ’œπŸ¦‹

πŸ“¦ where this page comes from