[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH v1 5/7] migration/tls: add support for tls check
From: |
Daniel P . Berrangé |
Subject: |
Re: [PATCH v1 5/7] migration/tls: add support for tls check |
Date: |
Thu, 10 Sep 2020 14:36:19 +0100 |
User-agent: |
Mutt/1.14.6 (2020-07-11) |
On Wed, Sep 09, 2020 at 10:52:55PM +0800, Chuan Zheng wrote:
> add multifd_channel_connect to support for tls check.
>
> Signed-off-by: Chuan Zheng <zhengchuan@huawei.com>
> Signed-off-by: Yan Jin <jinyan12@huawei.com>
> ---
> migration/multifd.c | 47 +++++++++++++++++++++++++++++++++++++++++++++--
> 1 file changed, 45 insertions(+), 2 deletions(-)
>
> diff --git a/migration/multifd.c b/migration/multifd.c
> index b2e741c..b2076d7 100644
> --- a/migration/multifd.c
> +++ b/migration/multifd.c
> @@ -20,6 +20,7 @@
> #include "ram.h"
> #include "migration.h"
> #include "socket.h"
> +#include "tls.h"
> #include "qemu-file.h"
> #include "trace.h"
> #include "multifd.h"
> @@ -718,6 +719,47 @@ out:
> return NULL;
> }
>
> +static void multifd_tls_channel_connect(MultiFDSendParams *p,
> + QIOChannel *ioc,
> + Error **errp)
> +{
> + /* TODO */
> +}
> +
> +static bool multifd_channel_connect(MultiFDSendParams *p,
> + QIOChannel *ioc,
> + Error *error)
> +{
> + MigrationState *s = p->s;
> +
> + if (!error) {
> + if (s->parameters.tls_creds &&
> + *s->parameters.tls_creds &&
> + !object_dynamic_cast(OBJECT(ioc),
> + TYPE_QIO_CHANNEL_TLS)) {
> + multifd_tls_channel_connect(p, ioc, &error);
> + if (!error) {
> + /*
> + * tls_channel_connect will call back to this
> + * function after the TLS handshake,
> + * so we mustn't call multifd_send_thread until then
> + */
> + return false;
> + } else {
> + return true;
> + }
> + } else {
> + /* update for tls qio channel */
> + p->c = ioc;
> + qemu_thread_create(&p->thread, p->name, multifd_send_thread, p,
> + QEMU_THREAD_JOINABLE);
> + }
> + return false;
> + }
> +
> + return true;
> +}
> +
> static void multifd_new_send_channel_cleanup(MultiFDSendParams *p,
> QIOChannel *ioc, Error *err)
> {
> @@ -749,8 +791,9 @@ static void multifd_new_send_channel_async(QIOTask *task,
> gpointer opaque)
> p->c = QIO_CHANNEL(sioc);
> qio_channel_set_delay(p->c, false);
> p->running = true;
> - qemu_thread_create(&p->thread, p->name, multifd_send_thread, p,
> - QEMU_THREAD_JOINABLE);
> + if (multifd_channel_connect(p, sioc, local_err)) {
> + goto cleanup;
> + }
> return;
> }
If this is squashed with the following patch then
Reviewed-by: Daniel P. Berrangé <berrange@redhat.com>
Regards,
Daniel
--
|: https://berrange.com -o- https://www.flickr.com/photos/dberrange :|
|: https://libvirt.org -o- https://fstop138.berrange.com :|
|: https://entangle-photo.org -o- https://www.instagram.com/dberrange :|
- [RFC][PATCH v1 0/7] *** Add Multifd support for TLS migration ***, Chuan Zheng, 2020/09/09
- [PATCH v1 2/7] migration/tls: extract migration_tls_client_create for common-use, Chuan Zheng, 2020/09/09
- [PATCH v1 5/7] migration/tls: add support for tls check, Chuan Zheng, 2020/09/09
- Re: [PATCH v1 5/7] migration/tls: add support for tls check,
Daniel P . Berrangé <=
- [PATCH v1 6/7] migration/tls: add support for multifd tls-handshake, Chuan Zheng, 2020/09/09
- [PATCH v1 4/7] migration/tls: extract cleanup function for common-use, Chuan Zheng, 2020/09/09
- [PATCH v1 7/7] migration/tls: add trace points for multifd-tls, Chuan Zheng, 2020/09/09
- [PATCH v1 3/7] migration/tls: add MigrationState into MultiFDSendParams, Chuan Zheng, 2020/09/09