Am 19.07.2013 10:36, schrieb Daniel P. Berrange:
On Thu, Jul 18, 2013 at 09:43:54PM +0200, Marius Tomaschewski wrote:
> Am 18.07.2013 17:02, schrieb Richard Weinberger:
>> Am 18.07.2013 16:50, schrieb Jim Fehlig:
>>> Richard,
>>>
>>> I think you should have cc'd the bug assignee when discussing this issue
>>> upstream. Adding him now...
>>
>> Oh, sorry for that!
>> I thought I did so after pointing Marius to the thread in the mailing list
archive,
>> but obviously I forgot.
>
> Hi!
>
> This is a cleanup call (to stop dhcp-clients if any, remove state, ...)
> triggered by the remove event from kernel.
>
> IMO libvirt is missing an "udevadm settle" call between "remove foo;
add
> foo" -- the "add" and "link up" calls in libvirt are done
before
> udev finished the "remove" event processing.
No, these ifup/ifdown udev rules should not be running for veth devices.
They are not normal NICs - they are the same usage scenario as Xen vif
devices or tap devices in QEMU. The suse 77-network.rules script is already
whitelisting the vif* and tap* to avoid this behaviour for those devices
and it should be doing the same for veth* devices too.
The black list is there as an optimization for interfaces, which ifup
creates itself (e.g. tap). Basically the blacklist can be also removed
and ifup handles its nested calls then (by type, names are free).
We've added vif* as optimization for XEN and when the user wants routed
VM setup using ifup, then the user should specify a name from another
namespace in the VM config.
I can add veth and vnet to the backlist to optimize it once again, but
libvirt needs an udevadm settle call as well or we have same situation
in some time again -- just with a different name.
Without a settle call, I will always consider this as a libvirt issue.
Last but not least, the user can create own udev rules -- there are
customers, where I know that they use own rules.
Gruesse / Regards,
Marius Tomaschewski <mt(a)suse.de>, <mt(a)suse.com>
--
SUSE LINUX Products GmbH, HRB 16746 (AG Nürnberg),
GF: Jeff Hawn, Jennifer Guild, Felix Imendörffer,
Maxfeldstraße 5, 90409 Nürnberg, Germany