多队列网卡简介以及Linux通过网卡发送数据包源码解读

Linux大全评论376 views阅读模式

首先我们看一下一个主流多队列网卡(E1000)跟多核CPU之间的关系图:

多队列网卡简介以及Linux通过网卡发送数据包源码解读

非多队列:

linux的网卡由结构体net_device表示,一个该结构体对应一个可以调度的数据包发送队列。

数据包的实体在内核中以结构体sk_buff(skb),形如:

多队列网卡简介以及Linux通过网卡发送数据包源码解读

多队列:

一个网卡可以拥有多个队列

多队列网卡简介以及Linux通过网卡发送数据包源码解读

接下来,看看TX引擎是如何工作的(注:对于发送和接收数据包有两个名词,分别应对TX,RX)

多队列网卡简介以及Linux通过网卡发送数据包源码解读

解释:

企鹅博客
  • 本文由 发表于 2019年9月15日 14:00:08
  • 转载请务必保留本文链接:https://www.qieseo.com/210700.html

发表评论