struct vport抽象的是ovs中datapath層的每個埠,通過它將ovs中的各種資料結構與port關聯起來,而結構體netdev_vport 就是vport和底層真實網路裝置結構net_device的入口,關鍵資料結構如下:
* 對網路裝置的封裝。
*/struct netdev_vport
;那麼如何由vport訪問到具體的真實裝置呢?ovs實現中把在vport的私有儲存區中儲存了其對應的netdev_vport,這樣便可以在需要的時候直接獲取,方法如下:
/**
* vport_priv - 訪問這個vport的私有資料區
* 因為在create 這個vport的時候分配的私有資料區的大小sizeof(struct netdev_vport),
* 所以就可以把vport對應的netdev_vport存在裡面,便於發布。
*/static
inline
void
*vport_priv
(const
struct vport *vport)
抽象的層次
軟體開發之所以複雜,是因為業務需求與程式語言之間存在的巨大鴻溝,有太多的變數。你無法清晰和準確的描述你所想要的東西,而即便你能,你也很難最後實現出來的東西是不是你所想要的。因為,在軟體業,巨集觀的業務需求很多時候竟然是程式設計師決定的,要確定乙個特性具體會怎樣體現,你竟然不得不去看源 就好比說,製作...
抽象的層次
軟體開發之所以複雜,是因為業務需求與程式語言之間存在的巨大鴻溝,有太多的變數。你無法清晰和準確的描述你所想要的東西,而即便你能,你也很難最後實現出來的東西是不是你所想要的。因為,在軟體業,巨集觀的業務需求很多時候竟然是程式設計師決定的,要確定乙個特性具體會怎樣體現,你竟然不得不去看源 就好比說,製作...
OVS搭建虛擬機器全過程(四十五)
系統 ubuntu14.04.1 核心 4.4.0 make install注意 建議將所有環境變數儲存到 etc profile中,這樣重啟之後依舊可以使用,如 vi etc profileexport ovs dir usr src openvswitch 2.6.6 export db soc...