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

Daniel P. Berrange berrange at redhat.com
Thu Aug 29 10:28:43 UTC 2013

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.

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.

|: http://berrange.com      -o-    http://www.flickr.com/photos/dberrange/ :|
|: http://libvirt.org              -o-             http://virt-manager.org :|
|: http://autobuild.org       -o-         http://search.cpan.org/~danberr/ :|
|: http://entangle-photo.org       -o-       http://live.gnome.org/gtk-vnc :|

More information about the libvir-list mailing list