现在的位置: 首页 > 操作系统 > 正文

linux无线网卡驱动MAC80211架构数据结构

2018年09月01日 操作系统 ⁄ 共 964字 ⁄ 字号 评论关闭


分类:
linux驱动程序

466人阅读
评论(0)
收藏
举报

一,linux内核当前无线网络驱动架构说明

上图为linux内核现行的无线网络架构

2,数据结构(data structure)

struct ieee80211_local, struct ieee8021__hw

a,这两个都表示一个无线网络设备实例(hw嵌入在local之中)

b,ieee80211_hw是ieee80211_local的一部分,并且对驱动来说是可见的

c,包含了所有的无线设备的操作函数

struct sta_info,ieee80211_sta

a,表示一个station

b,ieee80211_sta是驱动的可见部分

struct ieee80211_conf

a,硬件配置

b,硬件specific参数

struct ieee80211_bss_conf

a,BSS配置

b,对所有的BSS可用(IBSS,infrastructure BSS,AP,managed)

c,包含基本的速率数据表

struct ieee80211_key,struct ieee80211_key_conf

a,表示一个加密、解密的key

b,ieee80211_key_conf被用于驱动的硬件加速

c,ieee80211_key也包含了软件加密状态

struct ieee80211_tx_info

a,包含很多复杂的数据结构

b,里面含有skb的控制buffer(cb)

c,通过mac80211初始化,被驱动使用(driver_data,rate_driver_data),tx状态报告

struct ieee80211_tx_status

a,包含接收帧的状态信息

b,通过驱动传递给mac80211

struct ieee80211_if_data,struct ieee80211_vif

a,包含每个虚拟interface的信息

b,ieee80211_vif被驱动用于这些驱动所知道的虚拟interface,

c,根据工作模式包含一些子架构

      ieee80211_if_ap

      ieee80211_if_wds

      ieee80211_if_vlan

      ieee80211_if_managed

      ieee80211_if_ibss

      ieee80211_if_mesh

抱歉!评论已关闭.