ML2 Mechanism Driver

Modular Layer 2 (ML2) Neutron plug-in allows OpenStack networking to simultaneously utilize multiple layer 2 networking technologies such as 802.1Q and VXLAN for virtual instances.

External networks are managed using Mechanism Drivers. The Mechanism Driver is responsible for taking the information established by the Type Driver and ensuring that it is properly applied given the specific networking mechanisms that are enabled. A single OpenStack installation can use multiple ML2 Mechanism Drivers.

Extreme ML2 Mechanism driver within Neutron initiates Neutron API calls for network management. OpenStack Service in EFA translates the Neutron network management calls to appropriate tenant API calls and provisions the fabric with appropriate L2 networking constructs.

The following figure shows an overview of the ML2 Mechanism Driver within Neutron.

Click to expand in new window
Overview of ML2 Mechanism Driver within Neutron

The following table shows an example mapping of the OpenStack Networks to the Tenant Service EPG constructs.

EPG provisioning on the fabric creates a L2 network on the fabric spanning VM1 and VM2 with necessary fabric mappings. This creates the necessary constructs to establish an end-to-end connectivity between DB1 and DB2.

The following table shows VLAN provisioning based on Provider Networks (Physnet).

Table 1. VLAN provisioning based on Provider Networks (Physnet)
Provider Network (Physnet) VLAN Provisioning by ML2
default VLAN provisioning of end-points is done when Neutron ports are bound to a host or compute node.

Example:

  • Neutron port is bound to a host when VM is launched.
  • Neutron port is bound to a host (Neutron controller) when DHCP starts.
default (device-owner=dc-edge –host=<DCGW>) VLAN provisioning for default physnet is done during port creation based on additional parameters passed during port create call.
non-default (PFPT_L, EXT1) VLAN provisioning is done during network creation or segment creation of single segment or multiple segment.

The Endpoints are de-provisoned during the following negation operations: