[PATCH v2 1/5] conf: introduce crypto device

Michal Prívozník mprivozn at redhat.com
Tue Jan 24 17:08:43 UTC 2023


On 1/17/23 02:46, zhenwei pi wrote:
> Introduce crypto device like:
> 
>   <crypto model='virtio' type='qemu'>
>     <backend model='builtin' queues='1'/>
>     <address type='pci' domain='0x0000' bus='0x00' slot='0x0a' function='0x0'/>
>   </crypto>
> 
>   <crypto model='virtio' type='qemu'>
>     <backend model='lkcf'/>
>     <address type='pci' domain='0x0000' bus='0x00' slot='0x0b' function='0x0'/>
>   </crypto>
> 
> Currently, crypto model supports virtio only, type supports qemu only
> (vhost-user in the plan). For the qemu type, backend supports modle
> builtin/lkcf, and the queues is optional.
> 
> Changes in this commit:
> - docs: formatdomain.rst
> - schemas: domaincommon.rng
> - conf: crypto related domain conf
> - qemu: crypto related
> - tests: crypto related test
> 
> Signed-off-by: zhenwei pi <pizhenwei at bytedance.com>
> ---
>  docs/formatdomain.rst                         |  21 +++
>  src/ch/ch_domain.c                            |   1 +
>  src/conf/domain_conf.c                        | 158 ++++++++++++++++++
>  src/conf/domain_conf.h                        |  39 +++++
>  src/conf/domain_postparse.c                   |   1 +
>  src/conf/domain_validate.c                    |  18 ++
>  src/conf/schemas/domaincommon.rng             |  58 +++++++
>  src/conf/virconftypes.h                       |   2 +
>  src/libvirt_private.syms                      |   1 +
>  src/qemu/qemu_command.c                       |   1 +
>  src/qemu/qemu_domain.c                        |   3 +
>  src/qemu/qemu_domain_address.c                |  26 +++
>  src/qemu/qemu_driver.c                        |   5 +
>  src/qemu/qemu_hotplug.c                       |   3 +
>  src/qemu/qemu_validate.c                      |  22 +++
>  tests/qemuxml2argvdata/crypto-builtin.xml     |  51 ++++++
>  .../crypto-builtin.x86_64-latest.xml          |   1 +
>  tests/qemuxml2xmltest.c                       |   2 +
>  18 files changed, 413 insertions(+)
>  create mode 100644 tests/qemuxml2argvdata/crypto-builtin.xml
>  create mode 120000 tests/qemuxml2xmloutdata/crypto-builtin.x86_64-latest.xml
> 

> diff --git a/src/conf/domain_conf.h b/src/conf/domain_conf.h
> index 3e4985a67d..d99bbbc3ff 100644
> --- a/src/conf/domain_conf.h
> +++ b/src/conf/domain_conf.h


> @@ -4159,6 +4195,9 @@ VIR_ENUM_DECL(virDomainMemorySource);
>  VIR_ENUM_DECL(virDomainMemoryAllocation);
>  VIR_ENUM_DECL(virDomainIOMMUModel);
>  VIR_ENUM_DECL(virDomainVsockModel);
> +VIR_ENUM_DECL(virDomainCryptoModel);
> +VIR_ENUM_DECL(virDomainCryptoType);
> +VIR_ENUM_DECL(virDomainCryptoBackend);

The VIR_ENUM_DECL() macro declares virXXXTypeFromString() and
virXXXTypeToString() functions. We'll need to export them too (i.e. add
them to src/libvirt_private.syms). They'll be used in next commit during
validation (when reporting an error).

>  VIR_ENUM_DECL(virDomainShmemModel);
>  VIR_ENUM_DECL(virDomainShmemRole);
>  VIR_ENUM_DECL(virDomainLaunchSecurity);

Michal



More information about the libvir-list mailing list