mac80211概览_mac80211详解-程序员宅基地

技术标签: 无线网络  mac80211  Linux  api  linux网络  mac80211解析  linux kernel  mac  

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<
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/viewsky11/article/details/54986173

智能推荐

mac升级xcode导致git无法使用_安装xcode后git没有了-程序员宅基地

文章浏览阅读1.1k次。用mac的小伙伴一定知道,xcode的下载和安装总是让人感觉那么的烦躁,不安装xcode又会无法使用各种东西,比如git,有没有一种方法不安装xcode,或者不升级xcode就可以正常使用呢昨晚升级了xcode,然后一直提示正在安装,正巧,这个时候需要合并分支用到了git,但是提示-> gitxcrun: error: active developer path("/Applications/Xcode.app/Contents/Developer")does not exist, u._安装xcode后git没有了

如何才能使用apt-get使用本地安装源进行安装_步骤做apt-程序员宅基地

文章浏览阅读9.6k次。我们都喜欢使用apt-get,因为它实在是让我们大大的省心。但是,有时候我们会为网速慢,安装源不好而烦恼,所以我们可能会将一些常用软件包的deb文件保存在本地以备不时之需。当然了使用dpkg也可以直接来安装保存在本地的deb软件包,问题是它并不能处理软件包之间的依赖(dependence)关系,那么如何使用apt-get来安装保存在本地的软件包和源代码呢? 下面是如何让apt-ge_步骤做apt

linux设备驱动归纳总结(三):7.异步通知fasync_linux设备驱动归纳总结(三):7.异步通知fasync-程序员宅基地

文章浏览阅读684次。转自:http://blog.chinaunix.net/uid-25014876-id-62725.htmllinux设备驱动归纳总结(三):7.异步通知fasyncxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx异步通知fasync是应用于系统_linux设备驱动归纳总结(三):7.异步通知fasync

java工具类-生成二维码并上传到阿里图片服务器_java 生成二维码保存至服务器-程序员宅基地

文章浏览阅读1.8k次。1.引入jar<!-- https://mvnrepository.com/artifact/com.google.zxing/core --> <dependency> <groupId>com.google.zxing</groupId> <artifactId>cor..._java 生成二维码保存至服务器

ZED2运行ORB-SLAM3 (一、环境搭建)_zed2 slam-程序员宅基地

文章浏览阅读1.2k次。ZED2 SDK3.6 + CUDA10.2 + Ubuntu18.04 + ROS Melodic ——ORB-SLAM3_zed2 slam

6.2.3、备份策略:完全备份、增量备份、差异备份-程序员宅基地

文章浏览阅读242次,点赞3次,收藏6次。常用的备份策略有完全备份和增量备份,增量备份可细分为累计增量备份和差异增量备份。

随便推点

kali安装ARL灯塔过程_kali装arl灯塔-程序员宅基地

文章浏览阅读1.7k次。ARL(Advanced Reconnaissance Library)是一款基于云端的安全扫描工具,它可以自动化地扫描和评估网络设备和应用程序的安全性。ARL灯塔系统自动化扫描工具专门用于灯塔系统的安全扫描和评估,可以快速、准确地检测出灯塔系统中可能存在的漏洞和安全隐患_kali装arl灯塔

FPGA-LCD基础驱动_fpga lcd cnt-程序员宅基地

文章浏览阅读4.8k次,点赞2次,收藏21次。 LCD的接口时序波形如图所示。VSYNC是场同步信号,低电平有效,从时序图可以看出,VSYNC是每一场(即也可以理解为每送一幅完整图像)的同步信号;与此类似,HSYNC是行同步信号,也是在每一行数据传输的开始产生几个时钟周期的低脉冲。这两个信号用于同步当前的数据信号,根据固定的脉冲约定,我们在某些时钟上升沿前将图像数据送到数据总线上供LCD内部锁存。LCD驱动时序波形这是L..._fpga lcd cnt

Python - 使用python-opencv裁剪原视频为与视频高同宽的视频_opencv去掉视频上半部分-程序员宅基地

文章浏览阅读925次。1 裁剪视频的原因在有些情况下,我们只需要视频中间部分的视频内容,所以需要通过裁剪去掉周围冗余的视频部分。2 代码# -*- coding: utf-8 -*-import cv2import osdef crop_video_by_width(input_video_path,out_video_path): # 判断视频是否存在 if not os.path.exists(input_video_path): print('输入的视频文件不存在') _opencv去掉视频上半部分

Flutter 升级 2.0 填坑指导,带你原地起飞_because flutter_styled_toast >=2.0.0 depends on fl-程序员宅基地

文章浏览阅读1.4w次,点赞17次,收藏41次。Flutter 2.0 的发布带来了很多的 break change ,特别是新增加的空声明安全,相信不少大哥尝鲜之后立马反思自己“手贱” ,事实上旧项目升级 Flutter 2.0 确实有很多兼容的点,但是“吃螃蟹”其实我们可以逐步拆解,比如“先蒸熟了再吃”?其实正如《 Dart 2.12 发布,稳定空安全声明和FFI版本》 里所说,升级到 Flutter 2.0 并不会强制要求你马上使用空声明安全 ,所以我们可以把整个升级适配过程拆解几步来完成,最终完成 2.0 的升级适配。1、针对 API 的_because flutter_styled_toast >=2.0.0 depends on flutter_localizations from s

FastDFS 集群搭建_fastdfs在线扩容-程序员宅基地

文章浏览阅读412次。FastDFS 集群搭建前言 于前几天搭建了 FastDFS 单机版来使用,而实际应用中,一般使用的都是集群版本的 FastDFS,相比于单机版,大体的搭建差不多,只不过配置文件的内容有所不同。前期规划 Nginx 服务器一台,用于作为 HTTP 访问的入口 本次虚拟机的 IP 为 192.168.229.167 Tracker 集群,这里配置两台..._fastdfs在线扩容

Java把一个对象转换成xml数据_java 对象怎么封装才能转成list格式的xml-程序员宅基地

文章浏览阅读9.9k次,点赞4次,收藏18次。使用jdk自带注解在一个实体类上添加注解@XmlRootElement(name="AppAccountList")public class AppAccountListVO { private List<AppAccountEntity> appAccountList; public AppAccountListVO() {} public App..._java 对象怎么封装才能转成list格式的xml

推荐文章

热门文章

相关标签