On 07/12/2013 06:30 PM, Daniel Veillard wrote: > 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 -- libvir-list mailing list libvir-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/libvir-list