tree: 9096af069668c2cbadf42f0fdb4c121eb22b1975 [search]
  1. bitfield/
  2. common/
  3. eapol/
  4. fcg-crypto/
  5. ffi-transport/
  6. fidl-ext/
  7. frame_writer/
  8. ieee80211/
  9. ieee80211-testutils/
  10. mlme/
  11. power_manager/
  12. rsn/
  13. sme/
  14. statemachine/
  15. storage/
  16. telemetry/
  17. trace/
  18. wep_deprecated/
  19. README.md
src/connectivity/wlan/lib/README.md

WLAN Core & Shared Libraries

This directory contains the shared Rust and C++ libraries for the Fuchsia WLAN stack. These libraries implement IEEE 802.11 protocols, state machines, cryptographic handshakes, and platform utilities.

Library Catalog

DirectoryTarget / Crate NameLanguagePurpose & Key Types
bitfieldwlan-bitfieldRust (Macro)Declarative procedural macro for bitfield packing and unpacking across byte boundaries.
commonwlan-common / commonRust / C++General stack utilities: IE parsing, MAC frame parsers, fake frame/STA test helpers, BSS descriptors. See common/README.md.
eapoleapolRustEAPOL (Extensible Authentication Protocol over LAN) frame parsing, serialization, and key descriptors (RC4, AES key wrap).
fcg-cryptowlan-fcg-cryptoRustFinite Cyclic Group (FCG) cryptography, Simultaneous Authentication of Equals (SAE / WPA3-Personal), and Opportunistic Wireless Encryption (OWE / Enhanced Open) using BoringSSL.
ffi-transportwlan-ffi-transportRustMemory transport and buffer management bridging the Rust MLME to the C++ wlansoftmac driver without unnecessary copies.
fidl-extwlan-fidl-extRustExtensions and helper traits (ResponderExt, TryUnpack, WithName) for FIDL request and response handling.
frame_writerwlan-frame-writerRustProcedural macro and buffer utilities for declarative zero-copy IEEE 802.11 frame serialization.
ieee80211ieee80211RustPure primitive definitions for IEEE 802.11: MAC addresses (MacAddr, Bssid), frequency bands, channels, and management frame formats.
ieee80211-testutilsieee80211-testutilsRustTest fixture generators, mock beacon and probe response builders, and frame synthesis helpers.
mlmewlan-mlme / mlme-fullmacRustMAC Sublayer Management Entity: SoftMAC host state machines (mlme/rust) and FullMAC driver translation (mlme/fullmac). See mlme/README.md.
power_managerpower_managerRustSystem power management client for monitoring system power states and applying WiFi power scenarios.
rsnwlan-rsnRustIEEE 802.11i RSN: 4-Way Handshake supplicant and authenticator, GTK/PTK key derivation, and PMKSA caching.
smewlan-smeRustStation Management Entity: high-level interface management, scan orchestration, roaming logic, and SME FIDL service. See sme/README.md.
statemachinewlan-statemachineRustCompile-time verified state machine abstraction used by SME and MLME connection states.
storagewlan-storageRustStash-backed key-value configuration storage and serialization for saved network profiles and credentials.
telemetrywlan-telemetryRustWLAN metrics aggregation, structured Inspect reporting, event throttling, and uptime tracking.
tracewlan-traceRustLow-overhead Fuchsia trace duration and async event helpers for performance instrumentation.
wep_deprecatedwep_deprecatedRustLegacy WEP key parsing and authentication verification for backward compatibility.

Key Architectural Boundaries

See the following guides for the architecture of the primary core libraries:

  • sme/README.md: Station Management Entity client and AP state machines.
  • mlme/README.md: MAC Sublayer Management Entity (SoftMAC state machines and FullMAC translation).
  • common/README.md: Common frame parsers, element parsing, and test utilities.