[libvirt] [PATCH] config: report error when script given for inappropriate interface type

Laine Stump laine at laine.org
Sun Jan 8 16:12:23 UTC 2012


On 01/07/2012 08:05 AM, Eric Blake wrote:
> On 01/06/2012 11:16 AM, Laine Stump wrote:
>> This fixes https://bugzilla.redhat.com/show_bug.cgi?id=638633
>>
>> Currently the qemu, xen, libxml, and uml drivers recognize the script
>> parameter and do something with it (the uml driver only to report that
>> it isn't supported). Those drivers have been updated to log a
>> CONFIG_UNSUPPORTED error when a script is specified for an interface
>> type that's inappropriate for that particular hypervisor.
>>
>> (NB: There was earlier discussion of solving this problem by adding a
>> VALIDATE flag to all libvirt APIs that accept XML, which would cause
>> the XML to be validated against the RNG files. One statement during
>> that discussion was that the RNG shouldn't contain hypervisor-specific
>> things, though, and a proper solution to this problem would require
>> that (again, because a script for an interface of type "bridge" is
>> accepted by xen, but not by qemu).
> The idea for a VALIDATE flag is still independently useful,


Agreed.


>   but I agree
> with your assessment that it would not fix this particular case, because
> the .rng does not distinguish between hypervisor-specific restrictions.
>
>> +++ b/src/qemu/qemu_domain.c
>> @@ -1167,10 +1167,12 @@ void qemuDomainObjCheckNetTaint(struct qemud_driver *driver,
>>                                   virDomainNetDefPtr net,
>>                                   int logFD)
>>   {
>> -    if ((net->type == VIR_DOMAIN_NET_TYPE_ETHERNET&&
>> -         net->data.ethernet.script != NULL) ||
>> -        (net->type == VIR_DOMAIN_NET_TYPE_BRIDGE&&
>> -         net->data.bridge.script != NULL))
>> +    /* script is only useful for NET_TYPE_ETHERNET (qemu) and
>> +     * NET_TYPE_BRIDGE (xen), but could be (incorrectly) specified for
>> +     * any interface type. In any case, it's adding user sauce into
>> +     * the soup, so it should taint the domain.
> Unusual that the comment mentions xen from inside the qemu directory,
> but the comment is accurate, and I don't know of any better place to
> stick it.


Heh. I hadn't thought of that...


> ACK.


Thanks. I just pushed it.




More information about the libvir-list mailing list