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


分类: 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


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值