kernel subsystems

Dan Williams dcbw
Wed Jun 3 05:45:48 PDT 2009

On Wed, 2009-06-03 at 10:58 +0530, Paresh Sawant wrote:
> Hi,
> What is the difference in mac80211 and ieee80211 subsystems?

mac80211 is a softmac stack, it performs all 802.11 management and data
functions in software.

ieee80211 is more of a helper library and doesn't implement much of the
management function in software, leaving stuff like auth/assoc,
beaconing, etc to the firmware.  As such, it's kind of "halfmac".

> In future, nl80211 is going to replace the wext, then what is going to
> be the  underneath subsystem?

nl80211/cfg80211 will replace wext, yes.  They are independent of the
underlying 802.11 stack, but are simply a mechanism to *configure* the
parameters of that stack.  As such, nl80211/cfg80211 can be used with
any driver.  There are proof-of-concept cfg80211 patches for orinoco
cards (really popular old FullMAC cards) already, and it's expected that
most of the drivers in the kernel will be ported over to cfg80211

This will provide a consistent configuration interface, which is the
huge problem with WEXT.  Every driver implements WEXT a little
differently, leading to tons of workarounds in wifi control programs
like wpa_supplicant and NetworkManager.  cfg80211 will fix all that by
providing a WEXT compatbility layer, so all drivers that use cfg80211
will work pretty much the same.


More information about the Hostap mailing list