最近在负责一个项目,工作量比较大。要将一个MIPS平台的代码移植到X86上面。不过还好,大部分代码都是C的。有一部分是和硬件平台相关的代码,要替换成X86平台使用的。所幸工作及时的分配给几个同事,大家同时进行,进展还算顺利。
但是比较繁重的工作除了移植之外,就是编译了。移植的环境是X86中已有一个内核模块,当前的移植的代码都要编译到该模块中。但是需要移植的代码源文件和头文件总共120多个,而且还是多个目录。首先面临的及时如何修改内核的Makefile。这个问题我也在内核版发帖讨论了一下:。后来就参照着内核中ip_conntrack模块的Makefile写法,成功的解决了编译这么多源文件的问题。
另外一个重要的问题就是数据包的处理方面。由于一直的代码加入要原先的模块中,其处理数据包的方式与原有模块的方式有所不同,因此导致某个已有的处理环节新加入的代码处理不到。后来仔细分析了关键流程的代码,找到了解决的方式。
总的来说,本周的收获不小,没有枉费每日加班的辛苦。只是近段时间忙于项目,内核中流量管理的代码的学习没有太多进展。
----Godbach于2009年11月14日
阅读(2283) | 评论(0) | 转发(0) |