tech-net archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
Re: Specifying names for tap interfaces
On Thu, Jun 21, 2012 at 12:16:17PM +0100, Roger Pau Monne wrote:
> Martin Husemann wrote:
> >On Thu, Jun 21, 2012 at 11:24:37AM +0100, Roger Pau Monne wrote:
> >>Then we end up with the same problem, since xl needs to know the name of
> >>the created device (to launch the appropriate hotplug scripts), and
> >>there's not way to fetch that from Qemu.
> >
> >I thought I saw command line options to invoke qemu that pass the tap
> >ifname, or even open a fd and just pass the number?
> >
> >Something like:
> >
> > qemu -net tap,ifname=tap14
> >or
> > qemu -net tap,fd=4
> >
> >and you could pass the name to the script vie environment vars.
>
> As I said on a previous email, how can you guarantee that the name
> you chose and pass to Qemu will not be taken by someone else while
> you are calling Qemu?
>
> You might even be launching several guests at the same time, which
> will lead you to a race.
This is a problem with name, but not if you use the fd-type setup:
- xl opens /dev/tap, which creates the tap device (so xl knows the name) and
a file descriptor (which I'll call n)
- fork and exec qemu with: -net tap,vlan=0,fd=n
- the xl parent process closes n.
in this setup, qemu reuses the already-existing tape device and doesn't
create a new one, so no race condition possible here.
This should fix the problem.
--
Manuel Bouyer <bouyer%antioche.eu.org@localhost>
NetBSD: 26 ans d'experience feront toujours la difference
--
Home |
Main Index |
Thread Index |
Old Index