📘 Intel 网卡驱动开发 · 实战目录
🎯 30章 从入门到精通
01
网卡驱动概述
Intel网卡产品线
OSI模型位置
Linux网络协议栈
02
开发环境搭建
内核源码树
交叉编译链
QEMU/KVM测试
03
PCIe子系统基础
配置空间
BAR映射
MSI/MSI-X
04
内核模块编程
加载/卸载
module_param
printk调试
05
字符设备驱动
file_operations
cdev注册
数据交互
06
网络设备核心结构
net_device
注册/注销
MTU与队列
07
NAPI与新式轮询
中断瓶颈
NAPI轮询
GRO/GSO
08
DMA与数据缓冲区
DMA映射API
sk_buff
Ring Buffer
09
Intel 82599芯片手册导读
寄存器布局
数据手册
MAC/PHY
10
硬件初始化流程
probe探测
复位/链路
MAC地址
11
收发描述符格式
传统/高级描述符
write-back
DD位
12
发送路径实现
xmit函数
TSO/GSO
校验和卸载
13
接收路径实现
poll函数
RSS多队列
流控制/暂停帧
14
中断处理与下半部
request_threaded_irq
tasklet/workqueue
中断亲和性
15
VLAN与多队列
VLAN过滤/剥离
DCB/流量类别
Flow Director
16
电源管理与节能
ASPM
D3cold
WoL网络唤醒
17
调试与性能分析
ftrace
perf计数器
netperf/iperf
18
SR-IOV虚拟化
VF创建
PCIe直通
VFIO用户态
19
DPDK与用户态驱动
UIO框架
大页内存
PMD轮询
20
时间同步与PTP
IEEE 1588
phc2sys/ptp4l
时钟精度
21
安全特性
MACsec
IPsec卸载
信任根/固件
22
固件更新与NVM管理
NVMUpdate
版本回退
持久化配置
23
多网卡绑定(Bonding)
模式0-6
802.3ad LACP
故障切换
24
RDMA与iWARP
InfiniBand/RoCE
ibverbs
内存注册
25
内核主线贡献指南
补丁格式
checkpatch.pl
邮件列表
26
性能调优实战
中断合并ITR
自适应中断
队列深度
27
故障排查案例
丢包定位
CRC错误
PCIe链路降速
28
新硬件适配
Intel E810(ICE)
100G/200G
P4可编程
29
测试与自动化
KUnit
QEMU模拟
CI/CD集成
30
课程总结与展望
CXL/SmartNIC
学习路径
开源社区