WLAN驱动加载
驱动源码目录:
启动WPA_SUPPLICANT
wpa_supplicant是一个连接、配置WIFI的工具
源码位置
服务声明部分:
device/qcom/common/rootdir/etc/init.qcom.rc
注意这个服务一开始是disable的
wpa_supplicant的启动是通过属性控制服务的启动:
这样wpa_supplicant就被启动了,可以用来控制wlan
WIFI搜索
P2P搜索
DHCP
Android8之前版本:
Android8之后版本
DNS
常用的域名解析函数
gethostbyname()
getaddrinfo()
Android中不管是在java中还是C中去解析域名不是直接连到域名服务器去查询的。
源码部分:
libc:
netd:
关于eBPF:
eBPF 简介
扩展型柏克莱封包过滤器 (eBPF) 是一个内核中的虚拟机,可运行用户提供的 eBPF 程序。这些程序可以挂接到内核中的探测点或事件、收集有用的统计信息,并将结果存储在多种数据结构中。程序通过 bpf(2) 系统调用加载到内核中,并作为 eBPF 机器指令的二进制 blob 由用户提供。Android 构建系统支持使用下文所述的简单构建文件语法将 C 程序编译为 eBPF 程序。