On Thu, Aug 12, 2010 at 11:08:16AM +0200, Soren Hansen wrote: > I've been trying to get UML working for the last couple of days. As it stands, > at least bridged networking doesn't work for me. I've got a fix, but I'm not > sure I'm doing it right. > > I can get it to fail in three distinct ways: > > * With the current code, it seems that the tap device disappears almost > immediately. This happens becuase the call to brAddTap includes an > (int *)tapfd argument, so the tap device isn't persistent. A few > lines after brAddTap, close(tapfd) is called and the tap device goes > missing. Yep, this is a regression we introduced. It definitely needs to be persistent. > * Passing a NULL tapfd argument to brAddTap and removing the call to > close(tapfd) makes the tapfd persist, but when the uml domain > attempts to bring up the interface, it fails with EBUSY. This turns > out to be because brAddTap marks the tap device persistent, but > doesn't close the fd, so both libvirt and uml have the fd open and > that's doesn't work out well. Ah, good point. > * Finally, I tried passing the tapfd result back up the call chain so > that I have a list of them that I could tell virExecDaemonize to keep > open and then close them in libvirt after the fork. I think this is > when I got EPERM when trying to bring the interface up in UML domain, > but I'm not sure right now. Daniel -- |: Red Hat, Engineering, London -o- http://people.redhat.com/berrange/ :| |: http://libvirt.org -o- http://virt-manager.org -o- http://deltacloud.org :| |: http://autobuild.org -o- http://search.cpan.org/~danberr/ :| |: GnuPG: 7D3B9505 -o- F3C9 553F A1DA 4AC2 5648 23C1 B3DF F742 7D3B 9505 :| -- libvir-list mailing list libvir-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/libvir-list