# Revision history [back]

### how does ml2 work specifically?

I'm trying to understand how the ml2 works. I'm kinda new to openstack. I was reading/watching these:

Let's say we have 1 Network node, and 2 compute nodes. compute-1 node is running OVS and compute-2 linuxbridge.

From what I understand:

User instantiates a VM.
Nova finds the right compute host, let\'s say the one with the OVS (compute-1), and instructs Neutron-server accordingly.
Now, from what I understand, Neutron server has an ML2 plugin.
This plugin has to instruct the Neutron agent running on the compute host.
The Neutron agent is the one that generates the openflow/ovsdb rules on the compute host.
So the ML2 plugin on the Neutron-server is using a Mechanism driver. If it communicates with compute-1, it uses the openvswitch MechDriver.


Does this mean that the MechDriver is only relevant on a network node? The reason I ask is that I think I saw it was used on the compute host as well in the conf file. Or I did not understand anything, and the Mechdriver is relevant to the Neutron agent and not to the server??