最近公司有个项目要修改intel的网卡驱动,由于都是比较公司设备都是用的比较新的网卡,特拿内核中e1000e部分来分析。e1000是比较老的驱动,用于支持比较老的intel网卡设备,关于这两部分的比较,LWN上有篇文章介绍,感兴趣的同学可以去看下:http://lwn.net/Articles/278016/。
内核版本:3.0.13
源码目录:driver/net/e1000e/
linux发行版:opensuse 12.2
下面列下主要的思路:从netdev.c文件开始,module_init入手,整理网卡初始化,数据包收发以及中断处理的流程,中间介绍下项目中涉及到的修改内容。
好吧,下面正式开始。。。