[ovs-discuss] KVM, OpenVswitch and VLANs in VMs

Любомир Йотов l.yotov at abv.bg
Wed Jan 26 03:28:31 UTC 2011


Sorry about it, I've misssed this.



 >-------- Оригинално писмо --------
 >От: Ben Pfaff blp at nicira.com
 >Относно: Re: Re: Re: Re: [ovs-discuss] KVM, OpenVswitch and VLANs in VMs
 >До: Любомир Йотов 
 >Изпратено на: Сряда, 2011, Януари 26 05:17:34 EET

 
> I usually reply only to emails that are CC'd to the mailing list. 
>  
> On Tue, Jan 25, 2011 at 6:45 PM, Любомир Йотов  wrote: 
> > Hi Ben, 
> > 
> > Did you get my previous message, attached below? 
> > 
> > 
> > 
> >  >-------- Оригинално писмо -------- 
> >  >От: Любомир Йотов l.yotov at abv.bg 
> >  >Относно: Re: Re: Re: [ovs-discuss] KVM, OpenVswitch and VLANs in VMs 
> >  >До: Ben Pfaff 
> >  >Изпратено на: Сряда, 2011, Януари 12 17:54:02 EET 
> > 
> > 
> >> Hello Ben, 
> >> 
> >> Sorry for missing the commands. Here is what I do: 
> >> 
> >> I have KVM installed on top of Debian 
> >> Linux 2.6.32-5-amd64 #1 SMP Thu Nov 25 18:02:11 UTC 2010 x86_64 GNU/Linux 
> >> 
> >> KVM version: 
> >> QEMU PC emulator version 0.12.5 (qemu-kvm-0.12.5), Copyright (c) 2003-2008 Fabrice Bellard 
> >> 
> >> 
> >> ovs-vswitch version: 
> >> ovs-vswitchd (Open vSwitch) 1.0.1 
> >> Compiled Aug 12 2010 19:51:41 
> >> OpenFlow versions 0x1:0x1 
> >> 
> >> VM start: 
> >> #kvm -m 512 -smp 4,sockets=2,cores=2,threads=2 -net nic,model=rtl8139 -net nic,vlan=0,macaddr=52:54:00:e9:99:81 -net tap,vlan=0,ifname=tap0,script=no -boot c -usb -usbdevice tablet -drive file=/home/virt/Nun.qcow2 -localtime -k en-us -vga cirrus -usb -vnc 192.168.1.1:1 & 
> >> 
> >> VM config: 
> >> #vconfig add eth1 2000 
> >> #ifconfig eth1 up 
> >> #ifconfig eth1.2000 up 
> >> #ifconfig eth1.2000 10.0.0.82 netmask 255.255.255.0 
> >> 
> >> 
> >> ovs configuration: 
> >> #ovs-vsctl add-port br0 eth0 
> >> #ovs-vsctl add-port br0 tap0 
> >> 
> >> # ovs-vsctl list port 
> >> _uuid               : 32abf6fd-09c8-44bd-b4a8-d0de020fe0d7 
> >> bond_downdelay      : 0 
> >> bond_fake_iface     : false 
> >> bond_updelay        : 0 
> >> external_ids        : {} 
> >> fake_bridge         : false 
> >> interfaces          : [c331c454-67d4-4a1a-9f7e-e59b91e984f3] 
> >> mac                 : [] 
> >> name                : "tap0" 
> >> other_config        : {} 
> >> tag                 : [] 
> >> trunks              : [] 
> >> 
> >> _uuid               : 98387962-7e22-4808-b2fa-92cee336d9c9 
> >> bond_downdelay      : 0 
> >> bond_fake_iface     : false 
> >> bond_updelay        : 0 
> >> external_ids        : {} 
> >> fake_bridge         : false 
> >> interfaces          : [ca467b3a-2d4d-4107-87af-984f0713bb02] 
> >> mac                 : [] 
> >> name                : "br0" 
> >> other_config        : {} 
> >> tag                 : [] 
> >> trunks              : [] 
> >> 
> >> _uuid               : f5215202-2b8d-4602-bf6b-8f5c92f9b3dc 
> >> bond_downdelay      : 0 
> >> bond_fake_iface     : false 
> >> bond_updelay        : 0 
> >> external_ids        : {} 
> >> fake_bridge         : false 
> >> interfaces          : [803f40fa-6cf4-400e-922a-440c645f6003] 
> >> mac                 : [] 
> >> name                : "eth0" 
> >> other_config        : {} 
> >> tag                 : [] 
> >> trunks              : [] 
> >> 
> >> As you can see 'tag' and 'trunks' are empty. So I should be able to have vlans on the VM. 
> >> 
> >> I tried to modify these columns like this: 
> >> 
> >> # ovs-vsctl add Port 32abf6fd-09c8-44bd-b4a8-d0de020fe0d7 trunks 2000 
> >> 
> >> # ovs-vsctl list port 
> >> _uuid               : 32abf6fd-09c8-44bd-b4a8-d0de020fe0d7 
> >> bond_downdelay      : 0 
> >> bond_fake_iface     : false 
> >> bond_updelay        : 0 
> >> external_ids        : {} 
> >> fake_bridge         : false 
> >> interfaces          : [c331c454-67d4-4a1a-9f7e-e59b91e984f3] 
> >> mac                 : [] 
> >> name                : "tap0" 
> >> other_config        : {} 
> >> tag                 : [] 
> >> trunks              : [2000] 
> >> 
> >> _uuid               : 98387962-7e22-4808-b2fa-92cee336d9c9 
> >> bond_downdelay      : 0 
> >> bond_fake_iface     : false 
> >> bond_updelay        : 0 
> >> external_ids        : {} 
> >> fake_bridge         : false 
> >> interfaces          : [ca467b3a-2d4d-4107-87af-984f0713bb02] 
> >> mac                 : [] 
> >> name                : "br0" 
> >> other_config        : {} 
> >> tag                 : [] 
> >> trunks              : [] 
> >> 
> >> _uuid               : f5215202-2b8d-4602-bf6b-8f5c92f9b3dc 
> >> bond_downdelay      : 0 
> >> bond_fake_iface     : false 
> >> bond_updelay        : 0 
> >> external_ids        : {} 
> >> fake_bridge         : false 
> >> interfaces          : [803f40fa-6cf4-400e-922a-440c645f6003] 
> >> mac                 : [] 
> >> name                : "eth0" 
> >> other_config        : {} 
> >> tag                 : [] 
> >> trunks              : [] 
> >> 
> >> 
> >> 
> >> # ovs-vsctl list-ifaces br0 
> >> eth0 
> >> tap0 
> >> # ovs-vsctl list-ports br0 
> >> eth0 
> >> tap0 
> >> 
> >> If I try to ping another live address on vlan 2000 from the VM I don't get response. The tcpdump of the bridge br0 shows no requests from the VM. 
> >> I clear the port trunk vlan with: 
> >> #ovs-vsctl clear port  32abf6fd-09c8-44bd-b4a8-d0de020fe0d7 trunks 
> >> 
> >> I create eth0.2000 and add it to the bridge with: 
> >> 
> >> #vconfig add eth0 2000 
> >> #ovs-vsctl add-port br0 eth0.2000 
> >> # ovs-vsctl list-ports br0 
> >> eth0 
> >> eth0.2000 
> >> tap0 
> >> 
> >> Now the tcpdump shows: 
> >> 
> >> # tcpdump -i br0 -n -tttt host 10.0.0.82 
> >> tcpdump: verbose output suppressed, use -v or -vv for full protocol decode 
> >> listening on br0, link-type EN10MB (Ethernet), capture size 65535 bytes 
> >> 2011-01-12 13:06:57.949513 ARP, Request who-has 10.0.0.239 tell 10.0.0.82, length 28 
> >> 2011-01-12 13:06:58.949481 ARP, Request who-has 10.0.0.239 tell 10.0.0.82, length 28 
> >> 2011-01-12 13:06:59.949453 ARP, Request who-has 10.0.0.239 tell 10.0.0.82, length 28 
> >> 2011-01-12 13:07:01.949454 ARP, Request who-has 10.0.0.239 tell 10.0.0.82, length 28 
> >> 2011-01-12 13:07:02.949478 ARP, Request who-has 10.0.0.239 tell 10.0.0.82, lengt.... 
> >> .............. 
> >> .............. 
> >> 
> >> But the ping doesn't reach its destination as when looking in the MAC addres table of the swithc that is connected to the physical port eth0 I see that the VM is in vlan1: 
> >> How do I set ovs so that the vlan interfaces on the VM keep their tags unchanged? 
> >> 
> >> And one more thing - I noticed that I can't restart the host OS normally. When I issue 'shutdown -r now' or 'shutdown -p -h now' the system hangs on. I have to hard shutdown it. 
> >> Any idea about this? Maybe if I stop ovs first (but how to do that)? 
> >> 
> >> Regards, 
> >> 
> >> Lyubo 
> >> 
> >>  >-------- Оригинално писмо -------- 
> >>  >От: Ben Pfaff blp at nicira.com 
> >>  >Относно: Re: Re: [ovs-discuss] KVM, OpenVswitch and VLANs in VMs 
> >>  >До: Любомир Йотов 
> >>  >Изпратено на: Понеделник, 2011, Януари 10 19:29:00 EET 
> >> 
> >> 
> >> > On Mon, Jan 10, 2011 at 12:32 AM, Любомир Йотов  wrote: 
> >> > > 
> >> > > I played with the ovs and checked the documentation. It says that if I don't have values in the "tag"and "trunks" columns in the "Port" table then all vlans will be allowed. 
> >> > > What happens right now is that I can send packets out from the VM on the physical interface (I can see the VM's MAC address in the MAC address table of the switch to which the server is connected)  and if I add the ethxx.yyy to the bridge on the host the packets are sent in the yyy vlan. The problem is that the  outside world is not visible to the VM on vlan yyy. That means that the packets go out but cannot come in the VM and I am wondering what could be the reason. 
> >> > > I tried also playing with the "trunks" and "tag" columns as you proposed but with no success. 
> >> > > I am wondering if the there is a problem with my VM configuration in the KVM. I read that the default vlan in KVM is 0 while on my physical switch the deafult vlan is 1. I tried also putting the VM in VLAN 1 but aslo with no success. It is strange there is no wehere written anything about trunking in KVM (I wonder how people in datacenter can live with one vlan per interface). 
> >> > > Please let me know if you have any solution to my problem. 
> >> > 
> >> > You didn't give enough information to help.  Can you show the commands 
> >> > you used to configure the OVS database? 
> >




More information about the discuss mailing list