求助:若需从Linux转BSD开发(netmap软交换),难度多大?
本帖最后由 upyzl 于 2014-05-13 11:22 编辑小弟初来,因为毕设关系接触到了BSD(现在研二,明年3月底毕业)
目前的规划是使用netmap作为I/O packet framework,基于openflow去做一个交换机(仅data path/流表那块,不含控制器;与open vSwitch不同)
小弟之前长期是在linux下做开发的,但是当尝试使用netmap时,在linux下遇到很多问题,比如如果想桥接交换机的两个接口,linux下(实际尝试过ubuntu server及CentOS配合不同版本的内核)总是有问题(接入这两个网口的host压根就没法ping通),去各处问了也没有解答
而我尝试转用FreeBSD后,之前的netmap bridge问题马上就解决了,所以如果要用netmap做后续工作的话,看来真的需要转到freebsd上了
但由于以前没有接触过BSD,导师也让我先调研下如果需要从Linux转到Unix/BSD上,我能不能胜任
故来此处求助各位大牛们,在这方面有没有什么建议,尤其是netmap这块:)) 应该差不了太多吧。可以先看看FreeBSD的源码。
这是FreeBSD开发相关的手册:
http://www.freebsd.org/doc/zh_CN/books/arch-handbook/
我现在的项目也在考虑 netmap。
操作系统都差不多,也就是内核API不同罢了。如果以前很熟悉linux kernel,再转到 FreeBSD 的 kernel 上,不算是有难度。 另外,在 linux 下也还有 intel 的 dpdk 这套东西,楼主也可以认真考虑。 本帖最后由 upyzl 于 2014-05-14 11:06 编辑
感谢两位回复,看了下资料,也看到网上有说freebsd是linux之外最类似linux的OS的样子,使用者重合度看起来也比较高,估计问题是不大
wait_rabbit 发表于 2014-05-14 09:17 static/image/common/back.gif
另外,在 linux 下也还有 intel 的 dpdk 这套东西,楼主也可以认真考虑。
感谢提到。其实一开始也发现了dpdk,不过貌似本身比较复杂,对CPU了解不深的话不好驾驭,当初看代码有些是4行类似的循环,估计是SIMD优化方面的,完全看不懂……后来发现netmap相对简单些,性能看各个数据对比也差不多的样子,就更偏向netmap了...
做好后能开源吗?或者放一些相关的资料?
据资料显示netmap很强悍,但我试了几次没不是很成功。 upyzl 发表于 2014-05-14 11:03 static/image/common/back.gif
感谢两位回复,看了下资料,也看到网上有说freebsd是linux之外最类似linux的OS的样子,使用者重合度看起来也 ...
包括intel在内的公司在这些底层方面确实做了很多优化,很有深度的 这东西是干什么用的 netmap无非是将驱动里的队列映射到用户层了,直接处理数据包。用netmap的好处就是不用担心经常搞死系统了。 回复 5# upyzl
DPDK也是支持FreeBSD的,Intel自己在9.2上做过验证,如果只是在FreeBSD上将DPDK跑起来并进行应用开发,难度应该不大,
在Intel的网站上有针对FreeBSD的指导手册下载。如果只是转发应用,应该不需要对Intel的DPDK代码本身进行什么修改,在10G
链路上跑到线速问题不大。
页:
[1]