目录
文章目录
关键技术
Kernel 中的 sk_buff 与 sk_buffer
sk_buff 结构体是 Kernel 定义的一个用于描述 Frame 的数据结构。而 sk_buffer 的本质就是从 ZOME_DMA 中划分给某一个 NIC 的用于存放 sk_buff 实例的内存空间,sk_buffer 会在 NIC Driver 初始化的流程中分配。
当 Frame 到达 NIC 后,DMA Controller 就会将 Frame 的数据 Copy 到 sk_buffer 中的 sk_buff 实例,以此来完成 Frame => sk_buff 数据格式的封装。在后续的流程中,sk_buff 还会被从 ZONE_DMA Copy 到 Kernel Socket Receive Buffer 中,等待 Application 接收。
struct igb_ring {
..</