Re: [PATCHv2] virNetDevVethCreate: assign container if name based on parent if name

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Thu, Aug 29, 2013 at 11:28:43AM +0100, Daniel P. Berrange wrote:
> On Thu, Aug 29, 2013 at 01:00:15PM +0300, Oskari Saarenmaa wrote:
> > Replace the loop trying to find a free veth interface name for the container
> > by assigning the container if name to parent name + 'p' by default.
> > Interface name selection logic is susceptible to race conditions, so try to
> > select just one name by default and use that as a template for the second
> > name.  The parent name can also be overriden in domain configuration.
> 
> This doesn't do anything to solve the race condition AFAICT. You still
> have the window between finding a free name, and calling the ip command
> to allocate it.

That's true, but I think this change makes sense as a standalone change for
now; it makes sure libvirt uses the caller assigned names (if any) which
let's the caller work around this by selecting the name they like.

> What we need here is a change that will catch the failure from the ip
> command, and then go back to the start and find free names and retry
> the ip command.

I don't like this approach.  It would require us to parse ip's stderr which
would be quite a bit of fragile code to handle a case that shouldn't ever
happen.  We should just select a unique interface name in the first place, I
don't see any benefits in trying to force interface names to use low
integers in their names.

/ Oskari

--
libvir-list mailing list
libvir-list@xxxxxxxxxx
https://www.redhat.com/mailman/listinfo/libvir-list




[Index of Archives]     [Virt Tools]     [Libvirt Users]     [Lib OS Info]     [Fedora Users]     [Fedora Desktop]     [Fedora SELinux]     [Big List of Linux Books]     [Yosemite News]     [KDE Users]     [Fedora Tools]