ML2

Modular Layer 2 (ML2) plugin提供新的L2框架,允許OpenStack用戶同時使用DC中現有的多種L2網絡技術。支持OVS,Linux bridge,Hyper-V L2 agents, 同時支持硬件設備和SDN Controller。

 

ML2支持所有非廠商特有的API extension,能與neutron標準DHCP agent協同工作。ML2使用service plugin接口實現L3 router抽象,允許使用neutron標準L3 agent,或其它替代型L3方案。其它service plugin可以與ML2配合使用。

 

ML2內部driver分別實現“可擴展的networktype集”和“擴展的mechanism集(用於訪問不同type的network)”。不同於meta-plugin,多種mechanism可以同時使用,去訪問某一virtual network裏的不同port。Mechanism可通過RPC與L2 agent互動,或與外部device/controller互操作。通過利用multiprovidernet extension,同一個virtual network可以由多個segments組成,這些segment可以是相同type,也可以是不同type。 Type drivers和mechanism drivers被作爲python entrypoints加載,通過stevedore library實現加載。

 

每種network type被一個相應的ML2 typedriver管理。  Type

Drivers 負責維護任何必要的“type-specific network state”,並進行“provider network validation”和“tenant network allocation”。在havana release中,已包含以下network type對應的drivers:local, flat, vlan, gre, and vxlan

 

每種networkingmechanism被一個相應的ML2mechanism driver管理。 當創建、修改、刪除networks, subnets和ports時,所有註冊的mechanism drivers被調用兩次。第一次調用,作爲DBtransaction的一部分,用來維護任何必須的driver-specific狀態。當transaction完成後,mechanism driver再次被調用,這次調用中,可以與外部device/controller進行互操作。Mechanism drivers也被作爲“port binding process”的一部分調用,去確認“associated mechanism”是否爲network提供連通性,如果提供,進一步確認network segment和VIF driver。

 

Havana release包含以下mechanism driver:

OVS,Linux bridge,Hyper-V L2 agents, Arista交換機,Cisco交換機, Tail-fNCS。

同時包含一個 L2Population mechanism driver,用於優化基於tunnel的virtualnetwork的流量。

 

更多信息(ML2plguin,type/mechanismdriver集合),參考OpenStackManual,以及wiki:

http://wiki.openstack.org/wiki/Neutron/ML2.


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章