2016-08-05 125 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找到準則。如果您首先從這些自定義開始,則必須更改一些枚舉和結構,並修復大量警告。我發現它對於更深入地理解代碼非常有價值。

相關問題