Jump to: navigation, search

Difference between revisions of "Neutron/ML2"

(Neutron ML2)
(Neutron ML2)
Line 13: Line 13:
 
Virtual networks can be composed of multiple segments of the same or different types. The database schema and driver APIs support multi-segment networks, but the client API for multi-segment networks is not yet implemented.
 
Virtual networks can be composed of multiple segments of the same or different types. The database schema and driver APIs support multi-segment networks, but the client API for multi-segment networks is not yet implemented.
  
===ML2 Configuration===
+
==ML2 Configuration==
  
===Using ML2 in Devstack===
+
==Using ML2 in Devstack==
  
=== Meetings ===
+
== Meetings ==
 
Meeting information can be found here:
 
Meeting information can be found here:
 
: https://wiki.openstack.org/wiki/Meetings/ML2
 
: https://wiki.openstack.org/wiki/Meetings/ML2
  
===Presentations===
+
==Presentations==

Revision as of 13:47, 17 July 2013

Neutron ML2

The Modular Layer 2 (ml2) plugin is a framework allowing OpenStack Networking to simultaneously utilize the variety of layer 2 networking technologies found in complex real-world data centers. It currently works with the existing openvswitch, linuxbridge, and hyperv L2 agents, and is intended to replace and deprecate the monolithic plugins associated with those L2 agents. The ml2 framework is also intended to greatly simplify adding support for new L2 networking technologies, requiring much less initial and ongoing effort than would be required to add a new monolithic core plugin. A modular agent may be developed as a follow-on effort.

ML2 Drivers

Drivers within ml2 implement separately extensible sets of network types and of mechanisms for accessing networks of those types. Unlike with the metaplugin, multiple mechanisms can be used simultaneously to access different ports of the same virtual network. Mechanisms can utilize L2 agents via RPC and/or use mechanism drivers to interact with external devices or controllers. Type and mechanism drivers are loaded as python entrypoints using the stevedore library.

Each available network type is managed by an ml2 TypeDriver. TypeDrivers maintain any needed type-specific network state, and perform provider network validation and tenant network allocation. The ml2 plugin currently includes drivers for the local, flat, vlan, gre and vxlan network types.

Each networking mechanism is managed by an ml2 MechanismDriver. Support for mechanism drivers is currently a work-in-progress in pre-release Havana versions, and the interface is subject to change before the release of Havana. MechanismDrivers are currently called both inside and following DB transactions for network and port create/update/delete operations. In a future version, they will also called to establish a port binding, determining the VIF type and network segment to be used.

Multi-Segment Networks

Virtual networks can be composed of multiple segments of the same or different types. The database schema and driver APIs support multi-segment networks, but the client API for multi-segment networks is not yet implemented.

ML2 Configuration

Using ML2 in Devstack

Meetings

Meeting information can be found here:

https://wiki.openstack.org/wiki/Meetings/ML2

Presentations