Ask Your Question

Different usecases using ML2

asked 2013-11-19 05:50:20 -0600

RomilGupta gravatar image

Hi guys,

We are setting up a 4 node setup (1 Controller node, 2 Compute Nodes (CN1, CN2), 1 Network Node) to view ML2 functionality on Havana. We are trying the following use cases to understand its functionality.

Note on Controller node configuration: We have set the following ML2 configuration:

           type_drivers = vlan, vxlan
           mechanism_drivers = openvswitch, linuxbridge

Use Cases:

  1. CN1 using OVS agent with VXLAN configured, CN2 using OVS agent with VLAN configured

  2. CN1 using linux-bridge agent with VXLAN configured, CN2 using linux-bridge agent with VLAN configured

  3. CN1 using OVS agent with VXLAN configured, CN2 using linux-bridge agent with VLAN configured

In this scenario, we would like to know the agents that needs to be run on Network Node (NN) – Is it OVS agent OR linuxbridge?

We have heard people talking that both the agents cannot run concurrently on the NN. So, how can we accomplish the above use cases if only one agent is allowed to run on the NN.

Is there any other configuration settings that needs to be done to enable it? Please let us know, how to move forward.

Also, please let us know is there any documentation or guide available for ML2 configuration on CentOS or RHEL , because it seems the packages for ML2 available in EPEL repo is not stable which make the neutron-server dead after configuring ML2.

Alternatively , it would be great if we could get the debian packages for ubuntu as soon as possible.( ml2 missing)

Thanks in Advance.

Regards, Romil

edit retag flag offensive close merge delete


Hi Romil, I have same questions as you, but I heart that ML2 on Ubuntu should be included inside of basic Neutron package.

Jakub gravatar imageJakub ( 2013-11-19 16:25:53 -0600 )edit

Hi Jakub.....I tried it on Ubuntu , I didn't see any ml2 in /etc/neutron/plugins/ directory

RomilGupta gravatar imageRomilGupta ( 2013-11-19 23:03:04 -0600 )edit

Romil, can you check wheter you have anywhere ml2.ini file. Look at this presentation on slide 22

Jakub gravatar imageJakub ( 2013-11-20 02:55:10 -0600 )edit

No I am not able to see it in ubuntu, recently I tired ml2 plugin in CentOS using EPEL repo but it didnt work for me ...neutron-server is dead.

RomilGupta gravatar imageRomilGupta ( 2013-11-20 02:59:41 -0600 )edit

2 answers

Sort by » oldest newest most voted

answered 2013-11-20 07:02:24 -0600

Jakub gravatar image

Hi, today we succesfully run the ML2 plugin with VXLAN on Ubuntu. There is no additional package for installation, because it is integrated inside of neutron-server. We have 1CTL, 1NTW, 2 CP nodes and for ML2 plugin must be configured only CTL node, where is neutron-server installed.

1) Edit /etc/default/neutron-server

# defaults for neutron-server
# path to config file corresponding to the core_plugin specified in
# neutron.conf

2) Setup service_plugins inside of /etc/neutron/neutron.conf

# Advanced service modules
# service_plugins =
service_plugins =,

3) Create file /etc/neutron/plugins/ml2/ml2_conf.ini

# (ListOpt) List of network type driver entrypoints to be loaded from
# the neutron.ml2.type_drivers namespace.
# type_drivers = local,flat,vlan,gre,vxlan
# Example: type_drivers = flat,vlan,gre,vxlan

type_drivers = vxlan,local

# (ListOpt) Ordered list of network_types to allocate as tenant
# networks. The default value 'local' is useful for single-box testing
# but provides no connectivity between hosts.
# tenant_network_types = local
# Example: tenant_network_types = vlan,gre,vxlan
tenant_network_types = vxlan

# (ListOpt) Ordered list of networking mechanism driver entrypoints
# to be loaded from the neutron.ml2.mechanism_drivers namespace.
# mechanism_drivers =
# Example: mechanism_drivers = arista
# Example: mechanism_drivers = cisco,logger
mechanism_drivers = openvswitch

# (ListOpt) List of physical_network names with which flat networks
# can be created. Use * to allow flat networks with arbitrary
# physical_network names.
# flat_networks =
# Example:flat_networks = physnet1,physnet2
# Example:flat_networks = *

# (ListOpt) List of <physical_network>[:<vlan_min>:<vlan_max>] tuples
# specifying physical_network names usable for VLAN provider and
# tenant networks, as well as ranges of VLAN tags on each
# physical_network available for allocation as tenant networks.
# network_vlan_ranges =
# Example: network_vlan_ranges = physnet1:1000:2999,physnet2

# (ListOpt) Comma-separated list of <tun_min>:<tun_max> tuples enumerating ranges of GRE tunnel IDs that are available for tenant network allocation
# tunnel_id_ranges =
#tunnel_id_ranges = 1:1000

# (ListOpt) Comma-separated list of <vni_min>:<vni_max> tuples enumerating
# ranges of VXLAN VNI IDs that are available for tenant network allocation.
# vni_ranges =


# (StrOpt) Multicast group for the VXLAN interface. When configured, will
# enable sending all broadcast traffic to this multicast group. When left
# unconfigured, will disable multicast VXLAN mode.
# vxlan_group =
# Example: vxlan_group =

After this settings everything should work!

edit flag offensive delete link more


Hi Jakub, Did you use devstack for the setup ? if I go with manual installation on ubuntu12.04 LTS and install neutron-server ( apt-get install neutron-server). I couldn't find any ml2 directory in /etc/neutron/plugins/ ....need your suggestion?

RomilGupta gravatar imageRomilGupta ( 2013-11-20 07:26:16 -0600 )edit

Hi Romil, No, I did not use Devstack. You have to manually create directory ml2 and ml2.ini

Jakub gravatar imageJakub ( 2013-11-20 07:33:32 -0600 )edit

Thanks a lot , I will try and let you know if I will find any issues.

RomilGupta gravatar imageRomilGupta ( 2013-11-20 07:36:17 -0600 )edit

answered 2013-11-29 08:09:49 -0600

RomilGupta gravatar image

Hi Guys,

I tried all the above usecase and its working fine. For the 3rd usecase we can run any of the agent on the NN node and it will create the respective flows for vlan, vxlan. One the the major issue we faced to support vxlan in linuxbridge was we must have linux kernel and iproute2 version >=3.8 that come with ubuntu 13.10.

edit flag offensive delete link more

Get to know Ask OpenStack

Resources for moderators

Question Tools



Asked: 2013-11-19 05:50:20 -0600

Seen: 1,147 times

Last updated: Nov 29 '13