mac80211是linux kernel中的一个子系统,它为无线设备soft-MAC/half-MAC提供了分享实施方案,包含MLME和另外一些代码。
mac80211的架构
其他相关联的还有TX/RX路径(包含一些软件加密)
为网络管理,IBSS,mesh等提供的控制路径
一些AP的管理,如省电缓冲
mac80211的代码结构
最重要的是kernel提供的驱动API,该文件定义了mac8011源码中使用的API:
include/net/mac80211.h
以下是net/mac80211源码中除了头文件外的重要组成:
files | function |
---|---|
Kcon g, Make le | build system |
ieee80211 i.h | most internal data structures |
main.c | main module entry points/main entry points for driver calls (reg/dereg) |
iface.c | virtual interface handling |
key.c, key.h | key management |
sta info.c, sta info.h | Station (peer) management |
pm.c | power management (suspend/hibernate) |
rate.c, rate.h | internal rate control functions |
rc80211* | rate control algorithms |
rx.c | frame receive path |
tx.c | frame transmit path |
scan.c | software scanning cod |
ht.c, agg-rx.c, agg-tx.c | HT/aggregation code |
meshf, hwmp, plink, pathtblg.fc,hg | 802.11s mesh |
mlme.c | Station/managed mode MLME |
ibss.c | IBSS MLME |
cfg.c, cfg.h, wext.c | con guration entry points |
event.c | events to userspace< |