upyzl 发表于 2014-05-13 11:14

求助:若需从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这块:))

16hotcom 发表于 2014-05-13 11:57

应该差不了太多吧。可以先看看FreeBSD的源码。

这是FreeBSD开发相关的手册:

http://www.freebsd.org/doc/zh_CN/books/arch-handbook/

wait_rabbit 发表于 2014-05-14 09:15


我现在的项目也在考虑 netmap。

操作系统都差不多,也就是内核API不同罢了。如果以前很熟悉linux kernel,再转到 FreeBSD 的 kernel 上,不算是有难度。

wait_rabbit 发表于 2014-05-14 09:17

另外,在 linux 下也还有 intel 的 dpdk 这套东西,楼主也可以认真考虑。

upyzl 发表于 2014-05-14 11:03

本帖最后由 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了...

lsstarboy 发表于 2014-05-17 09:53

做好后能开源吗?或者放一些相关的资料?

据资料显示netmap很强悍,但我试了几次没不是很成功。

action08 发表于 2014-05-17 20:08

upyzl 发表于 2014-05-14 11:03 static/image/common/back.gif
感谢两位回复,看了下资料,也看到网上有说freebsd是linux之外最类似linux的OS的样子,使用者重合度看起来也 ...

包括intel在内的公司在这些底层方面确实做了很多优化,很有深度的

muwanqing_cu 发表于 2014-05-18 00:34

这东西是干什么用的

mirnshi 发表于 2014-05-21 20:20

netmap无非是将驱动里的队列映射到用户层了,直接处理数据包。用netmap的好处就是不用担心经常搞死系统了。

雨丝风片 发表于 2014-06-05 19:17

回复 5# upyzl

DPDK也是支持FreeBSD的,Intel自己在9.2上做过验证,如果只是在FreeBSD上将DPDK跑起来并进行应用开发,难度应该不大,
在Intel的网站上有针对FreeBSD的指导手册下载。如果只是转发应用,应该不需要对Intel的DPDK代码本身进行什么修改,在10G
链路上跑到线速问题不大。


   
页: [1]
查看完整版本: 求助:若需从Linux转BSD开发(netmap软交换),难度多大?