[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