[libvirt] [PATCHv2 3/7] conf: introduce <vsock> element

Ján Tomko jtomko at redhat.com
Tue May 29 11:36:51 UTC 2018


On Tue, May 29, 2018 at 10:26:20AM +0200, Peter Krempa wrote:
>On Thu, May 24, 2018 at 12:39:11 +0200, Ján Tomko wrote:
>> Add a new 'vsock' element for the vsock device.
>> The 'model' attribute is optional.
>> A <source cid> subelement should be used to specify the guest cid,
>> or <source auto='yes'/> should be used.
>>
>> https://bugzilla.redhat.com/show_bug.cgi?id=1291851
>> ---
>>  docs/formatdomain.html.in                     |  20 +++
>>  docs/schemas/domaincommon.rng                 |  29 ++++
>>  src/conf/domain_conf.c                        | 195 +++++++++++++++++++++++++-
>>  src/conf/domain_conf.h                        |  17 +++
>>  src/qemu/qemu_domain.c                        |   1 +
>>  src/qemu/qemu_domain_address.c                |  11 ++
>>  src/qemu/qemu_driver.c                        |   6 +
>>  src/qemu/qemu_hotplug.c                       |   1 +
>>  tests/qemuxml2argvdata/vhost-vsock-auto.xml   |  35 +++++
>>  tests/qemuxml2argvdata/vhost-vsock.xml        |  36 +++++
>>  tests/qemuxml2xmloutdata/vhost-vsock-auto.xml |  36 +++++
>>  tests/qemuxml2xmloutdata/vhost-vsock.xml      |   1 +
>>  tests/qemuxml2xmltest.c                       |   3 +
>>  13 files changed, 390 insertions(+), 1 deletion(-)
>>  create mode 100644 tests/qemuxml2argvdata/vhost-vsock-auto.xml
>>  create mode 100644 tests/qemuxml2argvdata/vhost-vsock.xml
>>  create mode 100644 tests/qemuxml2xmloutdata/vhost-vsock-auto.xml
>>  create mode 120000 tests/qemuxml2xmloutdata/vhost-vsock.xml
>

>> diff --git a/docs/schemas/domaincommon.rng b/docs/schemas/domaincommon.rng
>> index 71ac3d079c..3ea5c91773 100644
>> --- a/docs/schemas/domaincommon.rng
>> +++ b/docs/schemas/domaincommon.rng
>> @@ -4140,6 +4140,32 @@
>>      </optional>
>>    </define>
>>
>> +  <define name="vsock">
>> +    <element name="vsock">
>> +      <optional>
>> +        <attribute name="model">
>> +          <value>virtio</value>
>> +        </attribute>
>> +      </optional>
>> +      <interleave>
>> +        <element name="source">
>
>So, source is mandatory? It should be noted in the docs ...
>
>> +          <optional>
>> +            <attribute name="auto">
>> +              <ref name="virYesNo"/>
>> +            </attribute>
>> +          </optional>
>> +          <optional>
>> +            <attribute name="cid">
>> +              <ref name="unsignedInt"/>
>> +            </attribute>
>> +          </optional>
>
>Also both attributes are optional which is kind of weird if <source> is
>mandatory.
>
>> +        </element>
>> +        <optional>
>> +          <ref name="address"/>
>> +        </optional>
>> +      </interleave>
>> +    </element>
>> +  </define>
>
>[...]
>

[...]

>> diff --git a/tests/qemuxml2argvdata/vhost-vsock-auto.xml b/tests/qemuxml2argvdata/vhost-vsock-auto.xml
>> new file mode 100644
>> index 0000000000..729d58bea4
>> --- /dev/null
>> +++ b/tests/qemuxml2argvdata/vhost-vsock-auto.xml
>> @@ -0,0 +1,35 @@
>> +<domain type='qemu'>
>> +  <name>test</name>
>> +  <uuid>bba65c0e-c049-934f-b6aa-4e2c0582acdf</uuid>
>> +  <memory unit='KiB'>1048576</memory>
>> +  <currentMemory unit='KiB'>1048576</currentMemory>
>> +  <vcpu placement='static'>1</vcpu>
>> +  <os>
>> +    <type arch='x86_64' machine='pc-0.13'>hvm</type>
>
>Our XMLs are living in the past.
>
>> +    <boot dev='hd'/>
>> +    <bootmenu enable='yes'/>
>
>For an ACK please state how you plan to deal with the schema issues I've
>pointed out. All other necessary changes were pointed out.

The idea is to transform <vsock> -> <vsock model='virtio'/> in the QEMU
driver.

<source> and both of its attributes will be optional in the schema
and in case 'auto' is missing, we'll tune it up in PostParse:

    if (vsock->auto_cid == VIR_TRISTATE_BOOL_ABSENT) {
        if (vsock->guest_cid != 0)
            vsock->auto_cid = VIR_TRISTATE_BOOL_NO;
        else
            vsock->auto_cid = VIR_TRISTATE_BOOL_YES;
    }

Jano



-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 833 bytes
Desc: Digital signature
URL: <http://listman.redhat.com/archives/libvir-list/attachments/20180529/e1a040d2/attachment-0001.sig>


More information about the libvir-list mailing list