From patchwork Mon Oct 9 14:36:06 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Het Gala X-Patchwork-Id: 13413833 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id 88522E95A91 for ; Mon, 9 Oct 2023 14:37:51 +0000 (UTC) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1qprNS-0003QI-3U; Mon, 09 Oct 2023 10:36:58 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1qprNO-0003HR-QH for qemu-devel@nongnu.org; Mon, 09 Oct 2023 10:36:54 -0400 Received: from mx0b-002c1b01.pphosted.com ([148.163.155.12]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1qprN9-00033M-Ng for qemu-devel@nongnu.org; Mon, 09 Oct 2023 10:36:54 -0400 Received: from pps.filterd (m0127841.ppops.net [127.0.0.1]) by mx0b-002c1b01.pphosted.com (8.17.1.22/8.17.1.22) with ESMTP id 399DB8Lj008843; Mon, 9 Oct 2023 07:36:38 -0700 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=nutanix.com; h= from:to:cc:subject:date:message-id:in-reply-to:references :content-type:content-transfer-encoding:mime-version; s= proofpoint20171006; bh=wdphVivksPcEpzXgwxtfmuc5muVTRJbgLjSKlm3eT 9s=; b=lX4OlqmFUZARAFCZsr6Xmct7xiZc4CcjBzU8UYJB0abOpFchY6t9CI7Re x28YSvcAGR1LKJ4hqgjVj4tDrDJ4R2yK9zZVniy3PBxQtJ/zf7ROQBfJHVNUrUKt 6zEM/VM8+0eGGuCuK81G2FT67UQWPntIVnNwgfTEt/f0IA/EvPgvkKmchn6eoVXe evLpokOH0CwHsIyFai4T5s82mcl0mGkzbNic0cMxSquLNmXYq+Qc+47+mEOw1Zyv MdOFezCmaXiYGwzRFd7CFnckDNc7+lpTcEdRpiRi6Qp9tyqbXWvnp7DcCnudr81e cKfiQu5kGktfvYnIIX0+tJjJzakyg== Received: from nam11-dm6-obe.outbound.protection.outlook.com (mail-dm6nam11lp2169.outbound.protection.outlook.com [104.47.57.169]) by mx0b-002c1b01.pphosted.com (PPS) with ESMTPS id 3tkhtbtt3m-2 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Mon, 09 Oct 2023 07:36:38 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=YqYganDIDFzctMWbD9c1l/B4mlFlezkat1P+NOrRbX7l30MJhaNy39wGYSOlUmXs0ttDOGhK0Sq8Awuu08nFGRDcnc80ZcCfn08w5KYsT78nqokXdOhzdLZZoJHPmLJvIzOyAT4C/VnR6k6k6xXOklAxfYB2ckHBOYPll9rUubwnIZeRxtplwbpBD9bsaPK3kiqTB3tShZZPn7PQdtFUIl5kt7go+b7bCARlIIwlQz25jvyjenCd5oUedgNb1FmBSSzrex4Dp/bUtE3j2usFQXoziRAidKA5spnn6q9ceqL4YKZ8w+JJ8j3tGNLzLX0AwqofSc3/mb9Lny8B8q0e4Q== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=wdphVivksPcEpzXgwxtfmuc5muVTRJbgLjSKlm3eT9s=; b=iXVX4yf17pWdcPDcjNzmbPb3ZKG9AuUg9EoYRW/VNV5w84TzKwq9A4urG1C3PZ1ay75+ikjLnD1bAYsKax0E/NC5oGl0Eb8vgvUYU4cruoOgDnyCfMAG2a0JZQhQFtzppB80dc0vPTvsy11ay2QLSGKljlu+QGhRQz+LnRHDjSk4fWQMHCKTDPvmVVME/WE5nqor7QyXnfMC9MUOGIk21QCKaE4WtJYaTWI5h9c8NCKS6jQBXZFuHdBjFbvcAwFN0IowjCLLsL6Kwz491DMganzy/rEm/mT/32vfSbwWp5oJLURd8YlWUccDb4NpzZqqwoSLTmlRkL2am5m3f2CJ8Q== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=nutanix.com; dmarc=pass action=none header.from=nutanix.com; dkim=pass header.d=nutanix.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=nutanix.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=wdphVivksPcEpzXgwxtfmuc5muVTRJbgLjSKlm3eT9s=; b=I05YfBChjOmy59L9rl/fsiAUXSCqTOXfvIWfj/MDO0hwhChzWCbZFiKDDargCOYZfnajOZWjPbJo8rUxPdSNFWT3OAbhNHQoztVaaaQ66COxvI4To4O20P+bvCiZWhuZH2Wn3Jp5cSzPFT8Xccal2Rkqw42Md/5PhZQB2FRzukf9nhAZkpcqSLOIb11DPpKSyo5AoyRGNXD3eqGujcgoIzQ0rsRk4vi7iTzmtqNfFihrYtBOr0InCIIq9kbs8k7cIWGsNw0VaUEt//eNURNbFpXjvWMA/AVnqrAgDn7cTF+bdY/OfWgcLBL9uo5SAC+wN30NDMtAQMl57UV3FgIO1A== Received: from SJ2PR02MB9955.namprd02.prod.outlook.com (2603:10b6:a03:55f::16) by BN0PR02MB7888.namprd02.prod.outlook.com (2603:10b6:408:160::15) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6863.36; Mon, 9 Oct 2023 14:36:29 +0000 Received: from SJ2PR02MB9955.namprd02.prod.outlook.com ([fe80::f13d:ea:118b:b4ae]) by SJ2PR02MB9955.namprd02.prod.outlook.com ([fe80::f13d:ea:118b:b4ae%4]) with mapi id 15.20.6863.032; Mon, 9 Oct 2023 14:36:29 +0000 From: Het Gala To: qemu-devel@nongnu.org Cc: prerna.saxena@nutanix.com, quintela@redhat.com, dgilbert@redhat.com, pbonzini@redhat.com, berrange@redhat.com, armbru@redhat.com, eblake@redhat.com, farosas@suse.de, manish.mishra@nutanix.com, aravind.retnakaran@nutanix.com, Het Gala Subject: [PATCH v12 01/10] migration: New QAPI type 'MigrateAddress' Date: Mon, 9 Oct 2023 14:36:06 +0000 Message-Id: <20231009143615.86825-2-het.gala@nutanix.com> X-Mailer: git-send-email 2.22.3 In-Reply-To: <20231009143615.86825-1-het.gala@nutanix.com> References: <20231009143615.86825-1-het.gala@nutanix.com> X-ClientProxiedBy: BY5PR04CA0020.namprd04.prod.outlook.com (2603:10b6:a03:1d0::30) To SJ2PR02MB9955.namprd02.prod.outlook.com (2603:10b6:a03:55f::16) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: SJ2PR02MB9955:EE_|BN0PR02MB7888:EE_ X-MS-Office365-Filtering-Correlation-Id: 0646728a-3579-4e0b-e429-08dbc8d5202e x-proofpoint-crosstenant: true X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: DCnYbOU343yKQ/NkWNEfuuGchrtRuxbWfwF3quJAaM5RqqMnfV2RQZoTIF+NUpoBymXfGKgTF2+dIZ2hHpgs3H9fhfzHKlo8gw2dZhejFzSXdjlm0biPPgoNiPjvTjI36wrO/CXEF/VPkqUD6DfXclF0Owm1Jgm0g0A7utg5zIqqw1Pi4DhhdW7ysx2kr/6J+PLyJKYU111OvJiOvMYbMb/znetwAiD+sbB/7sP9KowFCopdWVDTDVbBd2mvslOQEoliJ/uny1kyR+ffqA53IyrqZMrBZjwVISQ2MbzdrOeoACo/nUGI7s65v0Anvdl7fqHQUXlJ32AuFm5eBFAy5yhBb08LChF40pv6yRlHHad6Le9xkVQ/gtMa/PrD66yRd0URX/c0wjoQfLv6ulkNWTsGp1L6WOXEVKeOSQ8LT//oRQ4YO6LVxXQCMjhkTrS4QYo9MZ6JiIZOud+YooJ3GkNYyT1Mul6JbtI+EwiN6u+tD10+9sU8XFzML5m+WrcYPOIzhYfht0FD/gpB+gPtxzoFvJprMeCqQui315PbaVR/MWxchWZLDpitExw52vcTit5WnbzaEQZwVDXRO7wYaD9+LZTqdTwUSZ5pctNXIqdkYfDa3Sm+Nbo1Ufjml6ZP X-Forefront-Antispam-Report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:SJ2PR02MB9955.namprd02.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230031)(136003)(376002)(39860400002)(396003)(346002)(366004)(230922051799003)(64100799003)(186009)(451199024)(1800799009)(66899024)(1076003)(52116002)(26005)(2616005)(38350700002)(38100700002)(86362001)(36756003)(107886003)(6506007)(2906002)(4326008)(478600001)(6512007)(8676002)(6666004)(44832011)(5660300002)(6486002)(41300700001)(8936002)(6916009)(316002)(66556008)(66946007)(66476007); DIR:OUT; SFP:1102; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?q?B6OtN9Cx6ffyZCZHw+x0quUZoXNG?= =?utf-8?q?Yho++xpuNxTP9mjYpjOe18vfJXDO32OxHH1ydstUYVz9FSoitFRwf0INCpKtLGsmo?= =?utf-8?q?VYw+M++QZtyUpProlIBtssKdaDz2RtA5fi6//ZQRxkJn0amuy/RpJrUWulmtao8G7?= =?utf-8?q?jizxycLJ3bkUIwjoDLfeskfxSkQbh94//24Vt9TspUjzoM5DJDktJMxfL40G8Euk0?= =?utf-8?q?PS5HwBIGlqubX7kRze4Vuc/XR9liC+DJnwJwwclp9bIRm8SP3vVOlKx4GaKEvJ6sc?= =?utf-8?q?0WhUiBsfFa5jjeExdgZm6cE5qrX3jHEYtds3an/aGTWOnEA4m1dAIAcLuingog/Y5?= =?utf-8?q?WZODNxBiavMKOWGaUVYNFlKo3d1Ilr5g5HUw0vpSn2dm9A1pn5vNF7Hm1Gij+r76G?= =?utf-8?q?8YzJ0C8ChpHptyuyf6dfQacaH7YkH4sZTNCZDMnVRmKNBB3fgg88L0rdM630uTw4W?= =?utf-8?q?GuHAPgvzOudm8t+ordcXgVeVkD4ojMSmLE7KXtmOXertsOVz3S14QWECwWlnFNXUo?= =?utf-8?q?AcGefyWN17pb3BTzm9+8FAigE6qVyi74KxgaOeQUj7ZhAiGx4I6MhxxyVhMwYla8A?= =?utf-8?q?57IJENwgKSoPUgfeCAeebDosk/EEkCYrdQ6tYaf4JlrpTwo5h7bpUTb3K3dgpKn6Z?= =?utf-8?q?3tF1531UxK1UYzt2GAsk7gNyjyGMIbzC5nT6C+XoCMzVaGU03yq/Yv7Skf+PYp9Ff?= =?utf-8?q?/NWNpdNMkM1Vckx9wRGHph0Ghc6ck4cWxiaIY8nfqbetfC6OWUnj1r0+lSMnZlOEU?= =?utf-8?q?YI53y9VfU2KpSimZMQ/hl7QriXrB8kcjRhG2xP01AMzo2A6NiPtUQqbEYBKHq3YbZ?= =?utf-8?q?KYN4lnn+RjcJTSgXznYrR5D5zTlAAQOeFL323ddGW20SGHLOX7944nyWOt79/J1xZ?= =?utf-8?q?CpYuKSYCksPbqc8FkbrC42Vd75cwWjusREXBagl31E+T9qSEerBRSmvhRTDl4xffU?= =?utf-8?q?8bTIwKWRmr0RWuF54B1k8zFr5pL29oVKD3kXsSFBhIkqSi8NZtnStQSoCJVLVrCK5?= =?utf-8?q?i0wE3rzO1nPdF+3VR3E/APdK5DweZhgeby1aN9cLJ9KXskcx/8ZdK15NieKAm0COn?= =?utf-8?q?ds6yA9W3SVq7VCGiASOllADNRM5LcI0QAlIzWgx6RkxKEaBzjieNdFyYZO3yaEbpm?= =?utf-8?q?5M0RjMd9zxnXBla4Y32wMn7hdjX9rNcufHakfEBzHi43yA83QcpU63VwaH8z3yEyh?= =?utf-8?q?iGCs6Yr6vlqCPtTZlJ25GDQscilUrzOGtWZMFmzrxVtZitTgZrJYD2ojjJ6IE8GCw?= =?utf-8?q?hmoKkTwNu/zDLNn8zcDt7R0KmtL63gYCx+Ze1WbvyJ3G7VwhlqTe7fD5mCv9NYy88?= =?utf-8?q?Qp5gQmnI26DTr66F4xvBclGMd1frVvs2eV6gzETpKHjcZJGNh3YKSDl7LR0pWHD5P?= =?utf-8?q?0G6aql16uX0vu8LbgjurS1HyyYmqBw4+EIDLa024ZHuBzSfMbeP5VaWtGga3vddof?= =?utf-8?q?ySOe5Qu+K0CeuM9h0E8dhQEsX8h/5ONZIUsydVOQrlvGrWFAppL5JConvDElmtxnj?= =?utf-8?q?LBPIZJfB55wQ?= X-OriginatorOrg: nutanix.com X-MS-Exchange-CrossTenant-Network-Message-Id: 0646728a-3579-4e0b-e429-08dbc8d5202e X-MS-Exchange-CrossTenant-AuthSource: SJ2PR02MB9955.namprd02.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 09 Oct 2023 14:36:29.7999 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: bb047546-786f-4de1-bd75-24e5b6f79043 X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: BlonAyVg9G1BYMQJF+4tAzeIaCqT6gD1QFhFPyPDffW5dqqwTu4GT8K0PuFysA9Ah1fBolkwrlSZfQDP7NFS6w== X-MS-Exchange-Transport-CrossTenantHeadersStamped: BN0PR02MB7888 X-Proofpoint-GUID: GaNs1nvG0jWSZ04eBLlR486ms0vOnVEY X-Proofpoint-ORIG-GUID: GaNs1nvG0jWSZ04eBLlR486ms0vOnVEY X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.267,Aquarius:18.0.980,Hydra:6.0.619,FMLib:17.11.176.26 definitions=2023-10-09_12,2023-10-09_01,2023-05-22_02 X-Proofpoint-Spam-Reason: safe Received-SPF: pass client-ip=148.163.155.12; envelope-from=het.gala@nutanix.com; helo=mx0b-002c1b01.pphosted.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.001, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, SPF_HELO_NONE=0.001, T_SPF_TEMPERROR=0.01 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+qemu-devel=archiver.kernel.org@nongnu.org Sender: qemu-devel-bounces+qemu-devel=archiver.kernel.org@nongnu.org This patch introduces well defined MigrateAddress struct and its related child objects. The existing argument of 'migrate' and 'migrate-incoming' QAPI - 'uri' is of type string. The current implementation follows double encoding scheme for fetching migration parameters like 'uri' and this is not an ideal design. Motive for intoducing struct level design is to prevent double encoding of QAPI arguments, as Qemu should be able to directly use the QAPI arguments without any level of encoding. Note: this commit only adds the type, and actual uses comes in later commits. Suggested-by: Aravind Retnakaran Signed-off-by: Het Gala Reviewed-by: Juan Quintela Reviewed-by: Daniel P. Berrangé Acked-by: Markus Armbruster --- qapi/migration.json | 41 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 41 insertions(+) diff --git a/qapi/migration.json b/qapi/migration.json index 8843e74b59..4e4c39a9bd 100644 --- a/qapi/migration.json +++ b/qapi/migration.json @@ -1478,6 +1478,47 @@ ## { 'command': 'migrate-continue', 'data': {'state': 'MigrationStatus'} } +## +# @MigrationAddressType: +# +# The migration stream transport mechanisms. +# +# @socket: Migrate via socket. +# +# @exec: Direct the migration stream to another process. +# +# @rdma: Migrate via RDMA. +# +# Since 8.2 +## +{ 'enum': 'MigrationAddressType', + 'data': ['socket', 'exec', 'rdma'] } + +## +# @MigrationExecCommand: +# +# @args: command (list head) and arguments to execute. +# +# Since 8.2 +## +{ 'struct': 'MigrationExecCommand', + 'data': {'args': [ 'str' ] } } + +## +# @MigrationAddress: +# +# Migration endpoint configuration. +# +# Since 8.2 +## +{ 'union': 'MigrationAddress', + 'base': { 'transport' : 'MigrationAddressType'}, + 'discriminator': 'transport', + 'data': { + 'socket': 'SocketAddress', + 'exec': 'MigrationExecCommand', + 'rdma': 'InetSocketAddress' } } + ## # @migrate: #