Connect OpenStack Quantum to VLAN tagged physical network

Asked by Angel Olivera


I am using Ubuntu 12.04 and OpenStack Grizzly from the Ubuntu Cloud archive. I am trying to get the instances to get an IP address from dnsmasq in the or space and use physical routers at .1 as gateways. Furthermore, these two subnets should be tagged with VLANs 108 and 109, respectively.

Is this doable? I have been trying different configurations with Open vSwitch to no avail. My network layout is as follows:


Controller, network, compute node (32-core system)
[eth0] gateway: (physical router)
[eth1] connected to VLAN port on switch

Compute nodes
[eth0] 10.33.10.X
[eth1] connected to VLAN port on switch

Logical networks

gateway: (physical router)

vlan: 109
gateway: (physical router)

One of the configurations I tested:

network_vlan_ranges = default:1:4094
bridge_mappings = default:br0

ovs-vsctl add-br br-int
ovs-vsctl add-br br0
ovs-vsctl add-port br0 eth1

quantum net-create --shared net1 --provider:network_type vlan --provider:physical_network default --provider:segmentation_id 108
quantum subnet-create net1
quantum subnet-create net2

Thanks in advance!


Question information

English Edit question
neutron Edit question
No assignee Edit question
Solved by:
Angel Olivera
Last query:
Last reply:
Revision history for this message
Angel Olivera (redondos) said :

Solved this issue by creating the vlan devices on the respective interfaces, adding them to the corresponding bridges with ovs-vsctl and configuring two external networks with quantum.

This would correspond to the "Multiple Flat Network" use case described in the Grizzly Networking Administration Guide[1], although the configuration is not explained. Quantum provides DHCP with default routes (vlan 108) and (vlan 109). Namespaces are used and there is one instance of the metadata proxy per each namespace.


auto lo
iface lo inet loopback

auto eth0
iface eth0 inet static

auto eth1
iface eth1 inet manual

auto eth1.108
iface eth1.108 inet manual
    vlan-raw-device eth1
    up /sbin/ifconfig eth1.108 up

auto eth1.109
iface eth1.109 inet manual
    vlan-raw-device eth1
    up /sbin/ifconfig eth1.109 up

lock_path = $state_path/lock
bind_host =
bind_port = 9696
core_plugin = quantum.plugins.openvswitch.ovs_quantum_plugin.OVSQuantumPluginV2
api_paste_config = /etc/quantum/api-paste.ini
control_exchange = quantum
rabbit_host =
notification_driver = quantum.openstack.common.notifier.rpc_notifier
default_notification_level = INFO
notification_topics = notifications
root_helper = sudo quantum-rootwrap /etc/quantum/rootwrap.conf
auth_host =
auth_port = 35357
auth_protocol = http
admin_tenant_name = service
admin_user = quantum
admin_password = #######
signing_dir = /var/lib/quantum/keystone-signing

interface_driver = quantum.agent.linux.interface.OVSInterfaceDriver
dhcp_driver = quantum.agent.linux.dhcp.Dnsmasq
use_namespaces = True
enable_isolated_metadata = True

sql_connection = mysql://quantum######@
reconnect_interval = 2
# even when using flat networking these two variables had to be defined for the multiple physical networks to work
tenant_network_type = vlan
network_vlan_ranges = physdev:2048:4094,physqa:2048:4094
bridge_mappings = physdev:br-dev,physqa:br-qa
polling_interval = 2
firewall_driver = quantum.agent.linux.iptables_firewall.OVSHybridIptablesFirewallDriver

# ovs-vsctl add-br br-int
# ovs-vsctl add-br br-dev
# ovs-vsctl add-port br-dev eth1.108
# ovs-vsctl add-br br-qa
# ovs-vsctl add-port br-qa eth1.109
# quantum net-create --shared dev --provider:network_type flat --router:external=True --provider:physical_network physdev
# quantum net-create --shared qa --provider:network_type flat --router:external=True --provider:physical_network physqa
# quantum subnet-create dev --name dev-subnet --allocation-pool start=,end=
# quantum subnet-create qa --name qa-subnet --allocation-pool start=,end=