On Fri, Jul 12, 2013 at 05:51:14PM +0530, Kashyap Chamarthy wrote:
> Heya Laine,
>
> Here's some quick notes to associate libvirt guests to Open vSwitch.
>
> Configure Open vSwitch
> ----------------------
>
> Now that a regular Linux bridge is configured, let's try to configure an
> OVS brdige and get IP addresses from that space:
>
> Create an Open vSwitch bridge device called 'ovsbr', and display the
> current state of OpenvSwitch database contents:
>
> $ ovs-vsctl add-br ovsbr
> $ ovs-vsctl show
>
>
> Add a virtual ethernet interface called 'veth0' with
>
> $ ip link add name veth0 \
> type veth peer name veth1
>
> Add 'veth0' ethernet device to the Linux bridge 'br0', and enumerate
all
> bridge devices:
>
> $ brctl addif br0 veth0
> $ brctl show
>
> Now, associate virtual ethernet device 'veth1' to the OVS bridge,
> and display the current state of OpenvSwitch database contents
>
> $ ovs-vsctl add-port ovsbr veth1
> $ ovs-vsctl show
>
>
> Bring up both the virtual ethernet interfaces 'veth0' and 'veth1'
>
> $ ip link set veth0 up && \
> ip link set veth1 up
>
>
> Update libvirt guest's bridge source to OVS
> -------------------------------------------
>
> Install a minimal Fedora guest with Oz (or any other mechanism):
>
> $ wget \
>
https://github.com/kashyapc/virt-scripts/blob/master/oz/oz-jeos.bash
> $ ./oz-jeos f19-min f19
>
> Once install is finished, define the guest XML from the current dir:
>
> $ virsh define f19-minJul_12_2013-12
>
>
> Now let's edit libvirt's guest XML file to reflect its bridge source is
> OVS bridge:
>
> $ virsh edit f19-min
>
> The contents of the guest XML should reflect something along the below
> lines:
>
> $ virsh dumpxml f19-min | grep bridge -A8
> <interface type='bridge'>
> <mac address='52:54:00:a6:08:70'/>
> <source bridge='ovsbr'/>
> <virtualport type='openvswitch'>
> <parameters
interfaceid='ecdff22d-ce80-4ae7-a008-42994415084e'/>
> </virtualport>
> <target dev='vnet2'/>
> <model type='virtio'/>
> <alias name='net0'/>
> <address type='pci' domain='0x0000' bus='0x00'
slot='0x03' function='0x0'/>
> </interface>
>
> Start the guest, and check the IP of it:
>
> $ virsh start f19-jeos --console
> $ ifconfig eth0
>
>
> Please note, this is just a simple test, I haven't done any further experiments
with VLAN
> tagging, etc.
>
>
> Slightly verbose notes:
>
>
http://kashyapc.fedorapeople.org/virt/openvswitch-and-libvirt-kvm.txt
>
Cool !
It would be good if we could get that on some permanent web
page on
libvirt.org :-)
Sure. Will submit a doc patch once I'm done with experimenting a bit with other
use-cases
like pure OVS bridging, etc.
--
/kashyap