[ovs-discuss] kvm and open vSwitch, basic connectivity not working

Justin Pettit jpettit at nicira.com
Mon Feb 8 06:13:38 UTC 2010


Hi, Todd.  I've had limited exposure to KVM so far, but I'll do my best to help you out.  I actually started  to set up a KVM environment last week, but some other things became higher priority.  I'm hoping to have it completed this week.

The ovs-dpctl program communicates directly with the kernel datapath.  The vswitchd.conf file is used to configure ovs-vswitchd, which runs in userspace.  What you're currently doing is adding interfaces to the kernel's datapath, but ovs-vswitchd doesn't know about them.  That's why you're seeing those messages about packets coming on unknown interfaces.  Instead, try adding those interfaces directly to vswitchd.conf (and don't run the add-if command, since ovs-vswitchd will take care of adding them to the kernel).  Your config file will look something like this:

	bridge.internalbr.port=dummy0
	bridge.internalbr.port=tap0
	bridge.internalbr.port=tap1

You can modify the file whenever you want and HUP the ovs-vswitchd process to have it reload the configuration.

Let me know if that gets you any further along.

--Justin


On Feb 7, 2010, at 9:04 PM, Todd Deshane wrote:

> Hi All,
> 
> I am trying to test some basic functionality with kvm guests.
> 
> I downloaded the openvswitch-0.99.1 unstable tarball release.
> 
> I created a dummy0 interface (I've tested on both Ubuntu 9.10 and Fedora 12)
> 
> My ovs-vswitchd.conf is simply:
> bridge.internalbr.port=dummy0
> 
> I start two kvm guests with:
> 
> kvm -cdrom ~/Desktop/iso/ubuntu-9.10-desktop-i386.iso -net
> nic,model=e1000 -net
> tap,script=internal-ifup,downscript=internal-ifdown -m 1024
> 
> the internal-ifup script:
> -------------------------------------------------------------
> #!/bin/sh
> 
> switch=internalbr
> 
> /usr/local/bin/ovs-dpctl del-if $switch $1
> /sbin/ifconfig $1 0.0.0.0 down
> -------------------------------------------------------------
> 
> 
> the internal-ifdown script
> -------------------------------------------------------------
> #!/bin/sh
> switch='internalbr'
> '''sudo''' /sbin/ifconfig $1 0.0.0.0 up
> '''sudo''' /usr/local/bin/ovs-dpctl add-if ${switch} $1
> exit 0
> -------------------------------------------------------------
> 
> ovs-dpctl show (adds the tap interfaces as expected)
> dp0:
> 	flows: cur:0, soft-max:512, hard-max:262144
> 	ports: cur:4, max:1024
> 	groups: max:16
> 	lookups: frags:0, hit:49, missed:122, lost:0
> 	queues: max-miss:100, max-action:100
> 	port 0: internalbr (internal)
> 	port 1: dummy0
> 	port 2: tap0
> 	port 3: tap1
> 
> 
> I hard-coded the IP addresses in the guests, but they can't ping each other.
> 
> The output of running: ovs-vswitchd ovs-vswitchd.conf
> Feb 07 23:46:17|00001|cfg|INFO|using "ovs-vswitchd.conf" as
> configuration file, ".ovs-vswitchd.conf.~lock~" as lock file
> Feb 07 23:46:18|00002|ofproto|INFO|using datapath ID 002320dc5ff5
> Feb 07 23:46:18|00003|bridge|INFO|created bridge internalbr on dp0
> Feb 07 23:46:18|00004|bridge|INFO|created port dummy0 on bridge internalbr
> Feb 07 23:46:18|00005|ofproto|INFO|datapath ID changed to 8efae2549dde
> Feb 07 23:49:24|00006|bridge|WARN|bridge internalbr: received packet
> on unknown interface 2
> Feb 07 23:49:24|00007|bridge|WARN|bridge internalbr: received packet
> on unknown interface 2
> Feb 07 23:49:24|00008|bridge|WARN|bridge internalbr: received packet
> on unknown interface 2
> Feb 07 23:49:25|00009|bridge|WARN|bridge internalbr: received packet
> on unknown interface 2
> Feb 07 23:49:29|00010|bridge|WARN|bridge internalbr: received packet
> on unknown interface 2
> Feb 07 23:50:51|00011|bridge|WARN|Dropped 10 log messages in last 79
> seconds due to excessive rate
> Feb 07 23:50:51|00012|bridge|WARN|bridge internalbr: received packet
> on unknown interface 3
> Feb 07 23:51:34|00013|bridge|WARN|Dropped 5 log messages in last 43
> seconds due to excessive rate
> Feb 07 23:51:34|00014|bridge|WARN|bridge internalbr: received packet
> on unknown interface 2
> 
> I am assuming that there are other debugging techniques that would be
> helpful, but was wondering if I am doing something that is obviously
> wrong or if I am running into some simple known problem.
> 
> I can and will try to debug further.
> 
> I did also tried using eth0 as switch (bridge) and it similarly
> doesn't work on Ubuntu and on Fedora I get an "eth0 device in use"
> error. I do have some specific applications where I will need to use
> both an internal bridge (such as dummy0) and an external bridge (such
> as eth0).
> 
> Any ideas or suggestion on thing that I could try?
> 
> Thanks,
> Todd
> 
> -- 
> Todd Deshane
> http://todddeshane.net
> http://runningxen.com
> 
> _______________________________________________
> discuss mailing list
> discuss at openvswitch.org
> http://openvswitch.org/mailman/listinfo/discuss_openvswitch.org





More information about the discuss mailing list