The nova.virt.libvirt.vif Module

VIF drivers for libvirt.

class LibvirtBridgeDriver(**kwargs)

Bases: nova.virt.vif.VIFDriver

VIF driver for Linux bridge.

plug(instance, vif)

Ensure that the bridge exists, and add VIF to it.

unplug(instance, vif)

No manual unplugging required.

class LibvirtHybridOVSBridgeDriver(**kwargs)

Bases: nova.virt.libvirt.vif.LibvirtBridgeDriver, nova.virt.libvirt.vif.LibvirtOpenVswitchDriver

VIF driver that uses OVS + Linux Bridge for iptables compatibility.

Enables the use of OVS-based Quantum plugins while at the same time using iptables-based filtering, which requires that vifs be plugged into a linux bridge, not OVS. IPtables filtering is useful for in particular for Nova security groups.

get_br_name(iface_id)
get_veth_pair_names(iface_id)
plug(instance, vif)

Plug using hybrid strategy

Create a per-VIF linux bridge, then link that bridge to the OVS integration bridge via a veth device, setting up the other end of the veth device just like a normal OVS port. Then boot the VIF on the linux bridge using standard libvirt mechanisms

unplug(instance, vif)

UnPlug using hybrid strategy

Unhook port from OVS, unhook port from bridge, delete bridge, and delete both veth devices.

class LibvirtOpenVswitchDriver(**kwargs)

Bases: nova.virt.vif.VIFDriver

VIF driver for Open vSwitch that uses libivrt type=’ethernet’

Used for libvirt versions that do not support OVS virtual port XML (0.9.10 or earlier).

create_ovs_vif_port(dev, iface_id, mac, instance_id)
delete_ovs_vif_port(dev)
get_dev_name(iface_id)
plug(instance, vif)
unplug(instance, vif)

Unplug the VIF by deleting the port from the bridge.

class LibvirtOpenVswitchVirtualPortDriver(**kwargs)

Bases: nova.virt.vif.VIFDriver

VIF driver for Open vSwitch that uses integrated libvirt OVS virtual port XML (introduced in libvirt 0.9.11).

plug(instance, vif)

Pass data required to create OVS virtual port element

unplug(instance, vif)

No action needed. Libvirt takes care of cleanup

class QuantumLinuxBridgeVIFDriver(**kwargs)

Bases: nova.virt.vif.VIFDriver

VIF driver for Linux Bridge when running Quantum.

get_dev_name(iface_id)
plug(instance, vif)
unplug(instance, vif)

Unplug the VIF by deleting the port from the bridge.

Previous topic

The nova.virt.libvirt.utils Module

Next topic

The nova.virt.libvirt.volume Module

This Page