2016-08-05 82 views
-1

我正在开发OpenFlow项目,并且需要扩展OpenFlow协议。因此,我还必须扩展Open vSwitch以应用OpenFlow中添加的新功能。要做到这一点,首先我必须深入了解Open vSwitch如何在数据包遍历上进行操作。我查看了Open vSwitch根目录下的每个“readme”文件,但实际上他们都没有一个体面的开发者文档(正如我所看到的,根本没有任何开发者文档)。源代码也没有至少一行注释说明。在我看来,唯一的途径就是使用大量的printk()。然而,仅仅通过观看“kern.log”获得最少知识所需的时间将会很糟糕。这个问题还有其他解决方案吗?关于如何加速,至少比printk()解决方案,学习阶段更好的建议?打开vSwitch开发人员文档

+0

您应该阅读的内容很大程度上取决于您需要更改的内容。 您是否只需要新的OpenFlow消息,操作或字段?你使用内核还是DPDK数据通路?你需要改变Open vSwitch的核心吗? – pchaigno

回答

0

要获得第一个概述的Open vSwitch如何工作,最好的可能是阅读NSDI 2015 paper。特别是它描述了Open vSwitch的缓存机制,许多优化和缓存失效。为了获得代码体系结构的第一印象,我发现porting documentation非常有帮助。

然后,对于Open vSwitch(新字段,动作或消息)的常见自定义,您可以在very end of the FAQ找到准则。如果您首先从这些自定义开始,则必须更改一些枚举和结构,并修复大量警告。我发现它对于更深入地理解代码非常有价值。

相关问题