Chinaunix

标题: Intel网卡驱动分析(igb) [打印本页]

作者: pywj777    时间: 2016-05-20 17:10
标题: Intel网卡驱动分析(igb)
本帖最后由 pywj777 于 2016-05-20 18:03 编辑

分析一下Intel igb网卡驱动程序(ixgbe等驱动与此类似),相关内容在我的内核总结笔记中也包含了,感兴趣的可以下载那个文档linux内核总结笔记

还是老样子,多上图,少上文字。看不清的话可以点击图片,然后放大看。或者下载PDF文档看。

Intel网卡驱动(igb)举例

初始化后的全图结构图

1.1        在一个网络设备net_device中可以有多个中断通道,每个中断通道由igb_q_vector结构描述。
1.2        每个中断通道对应一个硬件中断号,同时它也包含一个napi_struct结构,poll指针指向igb_poll()函数,它即处理接收中断,又处理发送中断。
1.3        每个中断通道都有自己的接收与发送队列,都由igb_poll函数进行处理。

作者: pywj777    时间: 2016-05-20 17:27
本帖最后由 pywj777 于 2016-05-20 17:47 编辑

初始化的处理流程图

初始化网卡



打开网卡

作者: pywj777    时间: 2016-05-20 17:28
本帖最后由 pywj777 于 2016-05-20 17:48 编辑

当中断产生时的处理流程




由于我们介绍的是igb网卡处理流程,所以下面介绍接收net_rx_action()和发送net_tx_action()软中断的处理逻辑。


网卡驱动中处理接收与发送数据包函数

作者: nswcfd    时间: 2016-05-20 21:10
good,绘图3用什么画的图?
作者: Godbach    时间: 2016-05-20 23:26
回复 1# pywj777

满满的干活,感谢分享。


   
作者: Godbach    时间: 2016-05-20 23:26
回复 1# pywj777

满满的干活,感谢分享。


   
作者: pywj777    时间: 2016-05-21 20:33
回复 4# nswcfd

visio


   
作者: neoedmund    时间: 2016-05-22 10:10
看不懂还看不清
作者: pywj777    时间: 2016-05-22 20:25
回复 8# neoedmund

看不清的话可以点击图放大看,或者下载PDF文档看,上面有链接


   
作者: nswcfd    时间: 2016-05-23 17:40
回复 7# pywj777

使用哪种模版?

增加一个字段,需要自己添加一个矩形框,还是按一个回车就可以自动完成?


   
作者: Godbach    时间: 2016-05-23 19:44
回复 10# nswcfd

大家首先都关心的是图怎么画?    

@pywj777 你要不要再开一贴,讲解一下做图的技巧。

   
作者: pywj777    时间: 2016-05-23 20:34
回复 10# nswcfd

就使用的是“基本形状”模板,选的基本的矩形,菱形等图画的。每个形状复制粘贴出N份就可以了


   
作者: pywj777    时间: 2016-05-23 20:39
本帖最后由 pywj777 于 2016-05-23 20:40 编辑

回复 11# Godbach

我也没想到大家比较关注图的制作,而不是内容


   
作者: nswcfd    时间: 2016-05-24 12:15
不好意思,跑题了……

还是问个问题吧,印象中有时候每个ring的RxTx是一个中断,有时候Rx/Tx是分开的两个中断,这是由什么决定的?
作者: pywj777    时间: 2016-05-24 14:19
回复 14# nswcfd

由驱动决定的


   
作者: auvsgcq    时间: 2016-05-28 16:13
太强了!!正在研究82580的网卡驱动,就找到了这篇! 膜拜啊~~楼主懂驱动怎么上用户态么~
作者: ychhj    时间: 2016-05-31 11:51
《linux内核总结笔记》这个能发一份给我吗?

84292342@qq.com
作者: pywj777    时间: 2016-06-01 14:07
回复 16# auvsgcq

感谢支持
   
作者: pywj777    时间: 2016-06-01 14:07
回复 17# 追梦人456

感谢支持
   
作者: pywj777    时间: 2016-06-01 14:08
回复 18# ychhj

点击那个链接,到对应帖子中下载
   
作者: ychhj    时间: 2016-06-13 08:39
要扫描二维码才能下?
作者: ychhj    时间: 2016-06-13 08:40
要扫描二维码才能下
作者: ychhj    时间: 2016-06-13 08:41
回复 20# pywj777


要扫描二维码才能下?   
作者: ychhj    时间: 2016-06-13 08:41
回复 20# pywj777


要扫描二维码才能下?   
作者: pywj777    时间: 2016-06-16 11:48
回复 24# ychhj

是啊,这是CU上的限制。
   
作者: _nosay    时间: 2016-06-16 16:30
你是俊哥!
作者: pywj777    时间: 2016-06-16 19:36
回复 26# _nosay

我是宇哥!

   
作者: Godbach    时间: 2016-06-17 01:23
回复 27# pywj777




   
作者: _nosay    时间: 2016-06-17 11:59
回复 27# pywj777


作者: dp-it168    时间: 2016-07-24 21:44
有高度,有深度,有难度
作者: len2513    时间: 2017-04-13 13:12
非常感谢!
作者: csust0801    时间: 2017-04-26 10:34
很好,正在学习
作者: sustring    时间: 2017-11-07 09:34
膜拜大神,谢谢分享!
作者: lzfmars    时间: 2018-03-12 14:56
最近要研究ixgbe和i40e驱动,参考一下,感谢大神




欢迎光临 Chinaunix (http://bbs.chinaunix.net/) Powered by Discuz! X3.2