首页
›
Linux内核与驱动
›
186-Linux内核驱动
›
《Linux虚拟网卡ndo接口开发与NAPI收发调试》
VIP10
本课程属于:186-Linux内核驱动
Linux内核与驱动 · 共 10 门相关课程,组合学习更完整。
查看所属VIP全部课程 →
← 返回所属目录
咨询 / 购买
Linux虚拟网卡ndo接口开发与NAPI收发调试
共计 30 章节
点击此处阅读海量试读课程:100+行业、1000+细分领域
01
课程导论
Linux网络子系统概览 · ndo接口与NAPI的作用 · 课程目标与前置知识
课程导论
Linux
02
网络设备核心结构
struct net_device结… · 重要字段(name · flags
网络设备核心结构
struct
03
ndo接口基础
struct net_device_… · 常用ndo函数指针(ndo_open · ndo_stop
ndo
接口基础
04
ndo_open与ndo_stop实现
设备启动与停止的典型流程 · 注册中断 · 开启NAPI
ndo
open
05
ndo_start_xmit发包接口
发送队列管理 · sk_buff处理 · 硬件发送寄存器操作
ndo
start
06
ndo_set_rx_mode与多播过滤
设置设备接收模式 · 处理多播列表 · 硬件过滤
ndo
set
07
ndo_do_ioctl与私有命令
实现设备私有ioctl · 用户态与内核态交互
ndo
do
08
ndo_change_mtu与链路设置
MTU修改流程 · 校验与通知上层
ndo
change
09
ndo_get_stats与统计信息
获取网络统计 · 填充struct rtnl_link…
ndo
get
10
ndo_tx_timeout与看门狗
发送超时检测 · 重置设备与队列
ndo
tx
11
ndo_fix_features与特性协商
设备特性(TSO/GRO等)的启用与…
ndo
fix
12
ndo_vlan_rx_add_vid与VLAN过滤
VLAN ID注册与硬件过滤
ndo
vlan
13
ndo_set_mac_address与MAC修改
MAC地址更改流程 · 合法性检查
ndo
set
14
NAPI机制原理
中断与轮询结合 · struct napi_struct… · poll函数
NAPI
机制原理
15
NAPI初始化与注册
napi_init · netif_napi_add · napi_enable
NAPI
初始化
16
NAPI调度与收包流程
napi_schedule · napi_complete · poll回调实现
NAPI
调度
17
NAPI与硬件中断协同
中断处理函数中调用napi_sche… · 关闭中断
NAPI
硬件
18
NAPI的GRO(Generic Receive Offload)
GRO原理 · 合并小包 · 提高吞吐
NAPI
GRO
19
NAPI的busy poll
低延迟收包模式 · SO_BUSY_POLL支持
NAPI
busy
20
sk_buff结构详解
数据包在内核中的表示 · 头部指针 · 分片管理
sk
buff
21
sk_buff分配与释放
alloc_skb · dev_alloc_skb · kfree_skb
sk
buff
22
数据包接收完整路径
从硬件到协议栈 · NAPI poll -> netif…
数据包接收完整路…
从硬件到协议栈
23
数据包发送完整路径
从协议栈到硬件 · dev_queue_xmit ->…
数据包发送完整路…
从协议栈到硬件
24
中断处理函数编写
注册中断 · 中断上下文 · 上半部与下半部
断处理函数编写
注册
25
DMA与数据缓冲区管理
DMA映射 · 一致性映射 · 流式映射
DMA
数据缓冲区管理
26
硬件寄存器操作基础
ioremap · readl/writel · 内存屏障
硬件寄存器操作基…
ioremap
27
调试与日志
printk · netdev_dbg · 动态调试
调试
日志
28
性能优化要点
减少拷贝 · 合并中断 · NAPI权重调整
性能优化要点
减少拷贝
29
实战
编写一个虚拟网卡驱动(上):框架搭建 · ndo接口实现 · NAPI注册
编写一个虚拟网卡…
框架搭建
30
实战
编写一个虚拟网卡驱动(下) · 调试与性能分析
编写一个虚拟网卡…
调试
所属VIP或分类
同VIP:DMA数据传输驱动开发与内存管理优化工程实践
同VIP:Linux内核驱动LED与GPIO中断响应调试
同VIP:Linux内核驱动PHY寄存器配置与调试工程实践