目录
文章目录
Kernelspace igb_uio Driver
运行在 Kernel 中的 igb_uio Driver 主要用于 Bind(绑定)指定的 PCIe NIC 给到 User Space 的 PMD 使用。
igb_uio 的核心工作有 2 个:
-
首先,igb_uio 会在 Kernel 初始化的过程中将 NIC 的硬件寄存器映射到 Userspace,即:负责创建 uio 设备,并将原先被内核驱动接管的 NIC 转移到 igb_uio 驱动,以此来旁路 Kernel Network Stack 后续的处理流程。
-
然后,igb_uio 借助 UIO Framework 来截获中断,并重设中断回调行为,即:负责一个桥梁的作用,衔接中断信号以及用户态应用。
1、探测 PCIe NIC
sysfs 文件系统是一种内存文件系统,它提供了一种方法用于导出 Kernel 的数据结构、属性以及两者之间的联系到 User Space。使得 User Space 可以通过修改 sysfs 中的文件来修改 Kernel 中 Devices 的属性值。
例如:igb_uio 驱动