This commit fixes a bug that quantum agent using a namespace does not
work with NEC plugin. NEC plugin uses an Open vSwitch as an OpenFlow switch,
but an OVS port created by ovs-vsctl add-port becomes down when the port is
moved to some network namespace. Usual OpenFlow controllers respect the
OpenFlow port status. Since DHCP server (dnsmasq) is connected to the down
port, DHCP server disappears from the virtual network.
This behavior can be avoided if we use a similar approach used in
BridgeInterfaceDriver, i.e., we first create a veth pair, add one veth device
to OVS and move the other veth device to a network namespace. To accomplish it
this patch introduces a new interface driver OVSVethInterfaceDriver.
In addition, this patch adds a 'prefix' paramter to unplug(). When deleting
a veth pair, a veth device added to OVS bridge is not removed automatically.
Thus we need a mean to know the veth device name from a device_name to be
removed. It is the reason to add 'prefix' parameter to unplug().
Reviewed: https:/ /review. openstack. org/12714 github. com/openstack/ quantum/ commit/ aa5a7aaf47b6cf9 7a6f35934f68570 ecfc16bd4e
Committed: http://
Submitter: Jenkins
Branch: master
commit aa5a7aaf47b6cf9 7a6f35934f68570 ecfc16bd4e
Author: Akihiro MOTOKI <email address hidden>
Date: Mon Sep 10 22:21:35 2012 +0900
Add a new interface driver OVSVethInterfac eDriver.
Fixes bug 1048681
This commit fixes a bug that quantum agent using a namespace does not
work with NEC plugin. NEC plugin uses an Open vSwitch as an OpenFlow switch,
but an OVS port created by ovs-vsctl add-port becomes down when the port is
moved to some network namespace. Usual OpenFlow controllers respect the
OpenFlow port status. Since DHCP server (dnsmasq) is connected to the down
port, DHCP server disappears from the virtual network.
This behavior can be avoided if we use a similar approach used in faceDriver, i.e., we first create a veth pair, add one veth device eDriver.
BridgeInter
to OVS and move the other veth device to a network namespace. To accomplish it
this patch introduces a new interface driver OVSVethInterfac
In addition, this patch adds a 'prefix' paramter to unplug(). When deleting
a veth pair, a veth device added to OVS bridge is not removed automatically.
Thus we need a mean to know the veth device name from a device_name to be
removed. It is the reason to add 'prefix' parameter to unplug().
Change-Id: I3f4eae371a27a3 171a6a8c9e38ddc 9354ed1b6b0