Starting qemu-kvm VMs with openvswitch networking

From Notes_Wiki
Revision as of 02:10, 13 March 2013 by Saurabh (talk | contribs)

<yambe:breadcrumb>Openvswitch|Openvswitch</yambe:breadcrumb>

Starting qemu-kvm VMs with openvswitch networking

Manual command line based VMs using openvswitch

To use openvswitch for a qemu-kvm VM networking when qemu-kvm VM is started using command line use:

  1. Create '/etc/ovs-ifup' script with following contents:
    #!/bin/sh
    switch='br0'
    /sbin/ifconfig $1 0.0.0.0 up
    ovs-vsctl add-port ${switch} $1
  2. Create '/etc/ovs-ifdown' script with following contents:
    #!/bin/sh
    switch='br0'
    /sbin/ifconfig $1 0.0.0.0 down
    ovs-vsctl del-port ${switch} $1
  3. Do 'chmod +x /etc/ovs-if{up,down}'
  4. To test start a qemu-kvm VM using something like
    /usr/libexec/qemu-kvm -m 2048 -smp 2 \
    -net nic,macaddr=00:11:22:EE:EE:EE \
    -net tap,script=/etc/ovs-ifup,downscript=/etc/ovs-ifdown \
    -hda <path-to-hdd-disk-image> \
    -cdrom <path-to-cdrom-disk-image> \
    -boot order=dc,menu=on
  5. Verify that openvswitch configuration worked using 'ovs-vsctl show'
  6. Access the qemu-kvm vm display using 'vncviewer localhost:<port>'


Automated VMs using virt-manager

To create a openvswitch networked VM using virt-manager use:

  1. Ensure that bridge module is not loaded
  2. Start virt-manager and create VM as usual
  3. In advanced network configuration one of the source devices should be openvswitch device with tag 'macvtap'. Use the given bridge with device mode 'Hypervisor default' and Source mode 'VEPA'. In the virtual port configuration of the switch Type should be 'openvswitch' and all other values can be left blank.
  4. Start the VM and verify that network is working as expected.


Steps learned from http://openvswitch.org/cgi-bin/gitweb.cgi?p=openvswitch;a=blob_plain;f=INSTALL.KVM;hb=HEAD


<yambe:breadcrumb>Openvswitch|Openvswitch</yambe:breadcrumb>