From nobody Tue Oct 28 17:45:03 2025 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of lists.libvirt.org designates 8.43.85.245 as permitted sender) client-ip=8.43.85.245; envelope-from=devel-bounces@lists.libvirt.org; helo=lists.libvirt.org; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of lists.libvirt.org designates 8.43.85.245 as permitted sender) smtp.mailfrom=devel-bounces@lists.libvirt.org; arc=pass (i=1 dmarc=pass fromdomain=nutanix.com); dmarc=pass(p=none dis=none) header.from=nutanix.com ARC-Seal: i=2; a=rsa-sha256; t=1760087502; cv=pass; d=zohomail.com; s=zohoarc; b=OCm529KKTGmZX8q6bIwtJbkiRYFjkNY+CHjXT2T8CBImcVXxuvNUe83KYzIaikdfQX5vms5DnvH6V413Xs2D3RTyt4TZwXx3d986UOA3IZ4FIF91ZyYy/FPmmaO+G5WDdsa4o9VqW59whM/s/JRRlw5tcMNJF6LNXRvJNwoZRB4= ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1760087502; h=Content-Type:Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Owner:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Subject:Subject:To:To:Message-Id:Reply-To; bh=0DAKBWfE96VKi7hlonjXTlXvAZGrc/PzHRw4iZ8SU6Q=; b=UTFDsxllj50U211d2yAOcVdIF2Rd4r4XoEZaZ5Iip6qEcOWM2OPY58oVLFqy71phntea4R3w/h9yzUYYlJ1g2rFkSlIVqOKQkEw99rxP8ppyHroLI7U/+SaKlCwCv+pEQ3/7lPy6ikIY0z+bXLqyGBT+ssHbC4aXLQ4+Cj60fX4= ARC-Authentication-Results: i=2; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of lists.libvirt.org designates 8.43.85.245 as permitted sender) smtp.mailfrom=devel-bounces@lists.libvirt.org; arc=pass (i=1 dmarc=pass fromdomain=nutanix.com); dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists.libvirt.org (lists.libvirt.org [8.43.85.245]) by mx.zohomail.com with SMTPS id 1760087502166568.7225885534806; Fri, 10 Oct 2025 02:11:42 -0700 (PDT) Received: by lists.libvirt.org (Postfix, from userid 993) id 8315B4192C; Fri, 10 Oct 2025 05:11:41 -0400 (EDT) Received: from [172.19.199.20] (lists.libvirt.org [8.43.85.245]) by lists.libvirt.org (Postfix) with ESMTP id E31C4442BE; Fri, 10 Oct 2025 05:10:37 -0400 (EDT) Received: by lists.libvirt.org (Postfix, from userid 993) id 3AE1A43F33; Fri, 10 Oct 2025 05:10:23 -0400 (EDT) Received: from mx0b-002c1b01.pphosted.com (mx0b-002c1b01.pphosted.com [148.163.155.12]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (3072 bits) server-digest SHA256) (No client certificate requested) by lists.libvirt.org (Postfix) with ESMTPS id 8D80B41888 for ; Fri, 10 Oct 2025 05:10:21 -0400 (EDT) Received: from pps.filterd (m0127843.ppops.net [127.0.0.1]) by mx0b-002c1b01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 59A79d8U457251 for ; Fri, 10 Oct 2025 01:58:50 -0700 Received: from sj2pr03cu001.outbound.protection.outlook.com (mail-westusazon11022100.outbound.protection.outlook.com [52.101.43.100]) by mx0b-002c1b01.pphosted.com (PPS) with ESMTPS id 49nx1ncdbt-3 (version=TLSv1.3 cipher=TLS_AES_256_GCM_SHA384 bits=256 verify=NOT) for ; Fri, 10 Oct 2025 01:58:50 -0700 (PDT) Received: from DS0PR02MB9101.namprd02.prod.outlook.com (2603:10b6:8:137::22) by CY5PR02MB8965.namprd02.prod.outlook.com (2603:10b6:930:3a::20) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9203.10; Fri, 10 Oct 2025 08:58:48 +0000 Received: from DS0PR02MB9101.namprd02.prod.outlook.com ([fe80::ca92:757d:a9c6:6ca3]) by DS0PR02MB9101.namprd02.prod.outlook.com ([fe80::ca92:757d:a9c6:6ca3%4]) with mapi id 15.20.9203.009; Fri, 10 Oct 2025 08:58:48 +0000 X-Spam-Checker-Version: SpamAssassin 4.0.1 (2024-03-26) on lists.libvirt.org X-Spam-Level: X-Spam-Status: No, score=-3.8 required=5.0 tests=ARC_SIGNED,ARC_VALID, DKIMWL_WL_HIGH,DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU, HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,RCVD_IN_DNSWL_MED, RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,RCVD_IN_VALIDITY_RPBL_BLOCKED, RCVD_IN_VALIDITY_SAFE_BLOCKED,SPF_PASS autolearn=unavailable autolearn_force=no version=4.0.1 X-Greylist: delayed 691 seconds by postgrey-1.37 at lists.libvirt.org; Fri, 10 Oct 2025 05:10:21 EDT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=nutanix.com; h= cc:content-transfer-encoding:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to; s= proofpoint20171006; bh=0DAKBWfE96VKi7hlonjXTlXvAZGrc/PzHRw4iZ8SU 6Q=; b=gIaFKIUINqcocqAf7D4Vh0JzuBXWg4VjKfFSoiyrs8hP/DBVDsVixa7BM lk1LLdrfnLpmLNQRrUdcKlSKBWISaR4FECMWFIThaaoTj1Ll5M0zLEPqqyplJsIL RPSOwNfwqv2klcGZXX+rQYWLYvjxfdgiw6KRso/t1+Bqu4YBh3R+kiND8RaRw+16 IBKSwvJSqh76SmZE5FbZZYXPQDiEPyNDEgxwFcp+oOE+hbxhPuWVz1A8muJtdrxh dL5g4tkZWyYlGJaTYxp5pW3Rz4xUwr3LuLS5apYnc8C7A/lIZQ0J9eRuJt+Kovmq yktrhj42miylEuSXUOPDGAaEK5HnA== ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=D9meD4hgp6YNbk5Kw+JwghBEXlQN+YdctH9fiKbImiKWeXyhPXiFtM9hKN/nqlmzegKPXefTL94k4Dt8WbKzRUT6HOHUdfx+6DzMvw4kNL8S6IIX0+OeR/7OE3AA9jxWCpey5OUoIsXTmzPDNjvo108p8Mg6yKocQ0iQBCuQyr/6g503hdv5j9IRoPwQrUCmKQqAsKhVpj1FevUXDepMpynEKedE7+2FOfQ9J+WKCVDgNClHszRm41/lMNZbDYt5ByKAAXJg2s8CJcNEotTVYsdv3bzcWUNIRinmZ/h+E4VLqlpqQmVsHObGdv1Iosd9JSMzX3E0dCQ8IP+bQ6lODQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; 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=0DAKBWfE96VKi7hlonjXTlXvAZGrc/PzHRw4iZ8SU6Q=; b=B8JNw3xe81xQugLCJl0bw0PkHsKa7QaZ24dDvwvbCX5kwbUUWbapMfr64QBrl37AF3p6FCBOZPsQUTib5yTNAjDb4E3aTJ7CIqqEeGh8y6Z3vO7ahrHyYciMiWybOWgcxum6M4VX/GaoLPFmm+XYscEXbD9il4x7amyC/8UqiEIZHJ4sJHxeucWfwt4/4yrHK9nf3HDqsqkm5y+mD1RXiIyVLmzEucvV2dCPZ/PKbjTY1b8Oany/TG6NR6gnELHSqhas8C02e3kch1MzeQf7gTA5gXaFt7JBtFSyFLk774w1Jo+ozwpNNHM6zM/rhXq+yei+ojZJ4QfAC03rP8oX9A== 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=0DAKBWfE96VKi7hlonjXTlXvAZGrc/PzHRw4iZ8SU6Q=; b=X1kiDVDXdaPCIYBr5TfWRsStn4w1Z+P68Sz738zNGcMV8pDmHe7jP/LL1jRmlnLr9m7Uc76lBoyR9IFOetTJ7xP3EIK0AGD4n4KBQL/fDcdOJSerPFkHsR+cs/v7yPTWarzvtrHjdo4Du8FJg7UYndJweBqLIGjLqmzplW+VuBhIW1h/EVcvIywxWJrTPA1hJOdn1jDR8OE/Un2zgK5IDHE2NL3woXXlLWpMNGe2yfDRSO29yEoUY6AB7i44wzVbOAo2uCMdWlQTwcbrLI3LKr6Q8cOHy4RCuYH2OiHgvQRuCgPARuInP3l8tvqRgVLwy2sDf0k3RRM/+svVsar36g== From: Sergey Dyasli To: devel@lists.libvirt.org Subject: [PATCH 2/2] remote: allow migrations with the ext transport Date: Fri, 10 Oct 2025 08:58:18 +0000 Message-ID: <20251010085829.2022046-3-sergey.dyasli@nutanix.com> X-Mailer: git-send-email 2.43.7 In-Reply-To: <20251010085829.2022046-1-sergey.dyasli@nutanix.com> References: <20251010085829.2022046-1-sergey.dyasli@nutanix.com> Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: PH7P220CA0067.NAMP220.PROD.OUTLOOK.COM (2603:10b6:510:32c::9) To DS0PR02MB9101.namprd02.prod.outlook.com (2603:10b6:8:137::22) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: DS0PR02MB9101:EE_|CY5PR02MB8965:EE_ X-MS-Office365-Filtering-Correlation-Id: 8fea95db-ac41-44d5-d719-08de07db39a4 x-proofpoint-crosstenant: true X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|1800799024|376014|52116014|366016|38350700014; X-Microsoft-Antispam-Message-Info: =?us-ascii?Q?wEcgnbGsuv04aJgM8mknSvDKVJi8iXxx9KbRgPSlwyIRfzxTuY3hg1CL1URI?= =?us-ascii?Q?UPUhJVpVoCCmIww1YVBVX0VgvJmoRqPosHfKLZ6540TOjzd23GMztqVFc3L7?= =?us-ascii?Q?zujs7qpI105egXBzkaI1juOFPtXKpznA5K7yt7Kel3VpH8tAzjB3ILWiUHek?= =?us-ascii?Q?nAOOWo6Zu084O+cC0FV+ZEJqhmhknwLMU5zFfUNJY0kHO096VFJfrX8mnodw?= =?us-ascii?Q?/tx50tsri0Hatj7vjXVZ4W1xrnglD4EtxPIBNTFsyQbN1e0bE6irURZze5hh?= =?us-ascii?Q?HOTnHWgni8b4bJyy+6BvxkUeMFivzliNTkXMXoeivJCT6y821aqTAxv0SyQp?= =?us-ascii?Q?RCB7bS5K0bTQBvtVLAK2pf7V0r/ubsRKrjvlL8dytkw5tUChba79IM7W4tzE?= =?us-ascii?Q?6+uDU2882whIDPkF+WkA2cJlzvTaGNUxZax04c0OPHaJCa5OoZ/Hek6xCDHX?= =?us-ascii?Q?OhbqZSvCafgbIp1y3TUlz9i1NuII12+tFV00buy2kIYBiqx0mDrTt0Qx8R16?= =?us-ascii?Q?xRjBcbjE/0yYoHZ56Lmx5t132PCZpa2n8q1ae23FqqsRoFNZciv5848qtCbz?= =?us-ascii?Q?7cjuHauQWS7eNoLBNDFhdahLxSrCVdCD0UA8MxMlLxBi+CfN3R6KcaVVonyv?= =?us-ascii?Q?CxZA9X65e/xWm4we1hz3yTsEjP9avxpEcjoIAakbDyawULW9mh/qWA2OOriK?= =?us-ascii?Q?yjEU6jLPPDXVtBqPgtDYYh6KLC5J0DD7Z7bg8+w6ya5JVP4LGb0ZC00vUjb/?= =?us-ascii?Q?PdQKXkpGdOFWvwaKcHfFfmyrsB/OimklT8mSql42T/ZV8n2VzvD3WVfvw5Pf?= =?us-ascii?Q?2T9kIYMEfu9TAAQrKT3Xe7luYLlM/irzcs0hduU5GYhWTed97RxC7TL0y6NY?= =?us-ascii?Q?bU5ZSjObhQb9MvMG4FZtc6Zfg+ZYD07d7/uojg/W7Jc8T4ouuXiGr2WQ6csK?= =?us-ascii?Q?YcsufJG/8IOh68WKCeCVcpJI6UvZG+P/9m2jFUDyqaICHvPsoTblUxvu7gBj?= =?us-ascii?Q?cHsD818rHrRENo2pAyK8B75AHshw2oJaVF5m1kmEQGF8QMJzlhHbNpaa+GJH?= =?us-ascii?Q?lmNHjOairPMrzT7lBCJkaaM/IuMAZGiBSuYTbqU8PkOnihyZ2VlaTh6aVMxk?= =?us-ascii?Q?1y4tlZi0D2ESA7LZBDXW5Il2yFTS+TTEHcRVm4iyacgMHM8KhGsIZQH8gk2W?= =?us-ascii?Q?VuoQB/vzAbXEF1MH0jEcdHLU7up3HL2LREBbx+hy71qzEujDkUUMOg6v5ZSK?= =?us-ascii?Q?/Y8KwymaFeYJ0Y+kOLbaQS23H+f0/7dQjNn4Nb1SmdN+rGuzG8YDrPcpk5vH?= =?us-ascii?Q?TBR8RK4lMJqUBEeLtN8ejazWEBzOMr5Ma5h39IpCakd5CyRsL0tmSChUBdxR?= =?us-ascii?Q?MMIzH5Ayoz09zkIKy+SAD5wcNFXdyuHb2DJp7g8rzvkV9XBdxviBbeGyhLdh?= =?us-ascii?Q?ft1ITmS3TF47sLXu1XI5w30o33slxE1xxYYZdcV8EKJmuYuvzAIW8VTSEzpH?= =?us-ascii?Q?bTdz9wklwY1pPepJNPFn2ADRMKU1aGArSkGS?= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DS0PR02MB9101.namprd02.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(1800799024)(376014)(52116014)(366016)(38350700014);DIR:OUT;SFP:1102; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?sxLxUu9lYrkEJt/y4fw7EpqKnfAubCf3VmocrN/sIs6iMN7/E2hnJgXluAdA?= =?us-ascii?Q?JaJPeTFMzIBuqOOGmp0Lv9LghNSbz8DjHsHabtikKUpbS/IzwUNbv0GTPkeW?= =?us-ascii?Q?UW78GEuAsVmhaprRa8H3iwtrvgfj/mGkURLQXbx81cB7upc2Tt0tNIjfO6FK?= =?us-ascii?Q?Onjj4ktlYfOPjyGyXsbx9OAeNcrvTJGVhFHrCZehtge0vhkV4ai7q/Md1EWd?= =?us-ascii?Q?kFXYCdot7slO58XehwQ32jA9jKiV/xQH2N7J8W70Y7v4rWkSDy0ra1pMWn+Y?= =?us-ascii?Q?yE5zfHXeJUHRTnwPvBxxBign/cnr5evLpRpkjN6zBqaZeYf3AVLSymLeeppP?= =?us-ascii?Q?fNPh4MSfGWiDzk68oRTK/5oWMJLq1oebS+8RUBXU8gVP40EJ9ScAnSHmJH7l?= =?us-ascii?Q?SsouJCyjlJMNqzQtAlsj7YvXz0Y54n677L0ekC2SXMVb3Ccaar6MtD9Jh0nK?= =?us-ascii?Q?X4uAszy8WdRPhWk4ka1ZqYdKVq+emKE7Cv+gOspA5rnx5aJGQ8GszqBDy2kX?= =?us-ascii?Q?3u1IeHTfKjlzLtf+l7Bcm44pNDinyRQbfMefqU0CUawIV0wnRBhBJtK/UG4Z?= =?us-ascii?Q?UmGLtizlwZp/OcwanyFvOWyzcoa1VGnifMH9v+vKPnKp5U1q/cL0eI/SC2Xh?= =?us-ascii?Q?HnPtpZ/zfwMnTW5wTnuIXGfAfz/j5eFyopdI+UOxFCYjSQBLXggPA2Mpj7tF?= =?us-ascii?Q?zI0XhkaNIpakCydvMQHOpZuTKCXGQJyjG1l4Rx9U159wnjR20CtGL+clzlrw?= =?us-ascii?Q?Ds+f5PxDC3akH4lf6qoaAbhf4sJpVrDrGhwJsvwAetcMDTI0d7BzZWgNeQZo?= =?us-ascii?Q?7/grUB0b8Zh85WoU3lDixQZNuG3Hr1RffXJSm9p/puMUnYnC3xXuj6Iqq2at?= =?us-ascii?Q?1tr2r3itVFWqTsqhZifcD2CCl0uzFXpexsGd8PtFJE5khO/p0y2LgJewfkrR?= =?us-ascii?Q?OyVixRHbFbMwsfFJUADWhXv84Er9shnZLM9oYXfhisC26Fl2iIJeHlRy5Fqx?= =?us-ascii?Q?l1RM9zOUOjnKxMhdgYzE1dO63y//ZDX/t07BJ6cmOwrYTI9q7MCsgCmL9qcl?= =?us-ascii?Q?c6AC5YsXApSyYMQxs5yA4V4L8CW4o5LtDMEoaz/pR5FkAxN3BwH5IalFEzhw?= =?us-ascii?Q?+XJhJDuyD99fGtHcjUE3gj8q+GrxDD99Qht5Ubqw/1PICxSR1Ld9xLA9Wj9I?= =?us-ascii?Q?KHHsU8iUqW0B6Bg5UZFaFUCg6Fpe4NTBWMq02IgxrAXf8ncfbHtLE4dbMQvs?= =?us-ascii?Q?kM2QOaJo9iPyrrOSHCWG7TgTrifC7CW1GM6Xxl4rMTnn4ByRabA8bNidaP0Z?= =?us-ascii?Q?AK2puF9+G16yi3zvdnJXwB2hw5faPRroLoZRIXgKmJl7LUZc5bMq2jV0CPYO?= =?us-ascii?Q?QU5xNK3aVd9elTGSIyFNe4NxlOJsxOszlvuTQ5PrU/Kzkzwov7Ftc+b472dR?= =?us-ascii?Q?0KoTaDrA8Ovm/aHEDgxOXmQaGSevLNTi2PyODOg0yiphUJevOMd+hCnZHim8?= =?us-ascii?Q?Q0cO24oMF35eaaM+n+n8F5yj4vgUzJn7x+cat85MVgB5PfE8aG/qjQ9/E6E9?= =?us-ascii?Q?EEFWFmO0qKX2HfmkCiVqMYYRc8H3qP6d5SZuvPZEcANVpxKOkJo4V1i6TpGV?= =?us-ascii?Q?fA=3D=3D?= X-OriginatorOrg: nutanix.com X-MS-Exchange-CrossTenant-Network-Message-Id: 8fea95db-ac41-44d5-d719-08de07db39a4 X-MS-Exchange-CrossTenant-AuthSource: DS0PR02MB9101.namprd02.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 10 Oct 2025 08:58:48.1471 (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: DopEnFqCpasp4bDkXHU166VAxKYTkIOesDZKRek1/XBkDw667Sq5FBGLFsHX0BwXKCi2q59KjLyEcJXs7ChYx0L1AUzT1PTYiGvk2yzzWq4= X-MS-Exchange-Transport-CrossTenantHeadersStamped: CY5PR02MB8965 X-Proofpoint-Spam-Details-Enc: AW1haW4tMjUxMDEwMDA1MSBTYWx0ZWRfX6KtHU7nPtzaM OlV/+hFrTrC2NAm4l75TK5eUxkthjQPYzIjEHsVjMJUfmFnp0zkUK71u6IRsb6/DXyn6NYk5CI/ Ig3PGteyaV1XyAGrqTA8hZ81llxtZthsc0pZfQhggf2YIyLncJtPY8a1yz+Jh9NQlG9xhGywzfX 02KrKG2hqHDg7/YKD4F+CWTGhSxeBTJOXcno1Wb6Nzxnp+AVs8MJGvYgXLEZhYunHytMLPEypxf ATwADI04itA5okYCyNeYgUsoUItmcthvE1G99T5hWR85EqTVH0Ap+acUmWsKYmUt16X3inwUAvX v1O2scuGnehygzpNlHHQtyLIlSTW0aEd+0hdvegBWZS0EYePOSsB1KiRd+8awkHG7PBhrNOcsLl 2ikO28GjWCvhkSHVe0UxKMqgqCoYKw== X-Proofpoint-GUID: 57dtgFEoMp8LUTNnsv1bSgITS6M-FaD9 X-Authority-Analysis: v=2.4 cv=Lc4xKzfi c=1 sm=1 tr=0 ts=68e8caca cx=c_pps a=Us7513DS1gT4knu3Fiol7g==:117 a=6eWqkTHjU83fiwn7nKZWdM+Sl24=:19 a=z/mQ4Ysz8XfWz/Q5cLBRGdckG28=:19 a=lCpzRmAYbLLaTzLvsPZ7Mbvzbb8=:19 a=xqWC_Br6kY4A:10 a=x6icFKpwvdMA:10 a=0kUYKlekyDsA:10 a=64Cc0HZtAAAA:8 a=z_aJARHGtFTnMUhy8HQA:9 X-Proofpoint-ORIG-GUID: 57dtgFEoMp8LUTNnsv1bSgITS6M-FaD9 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1117,Hydra:6.1.9,FMLib:17.12.80.40 definitions=2025-10-10_01,2025-10-06_01,2025-03-28_01 X-Proofpoint-Spam-Reason: safe Message-ID-Hash: IDQKFFBTFRNPXHEY6SIP4E2MY2AFUMK3 X-Message-ID-Hash: IDQKFFBTFRNPXHEY6SIP4E2MY2AFUMK3 X-MailFrom: sergey.dyasli@nutanix.com X-Mailman-Rule-Misses: dmarc-mitigation; no-senders; approved; loop; banned-address; header-match-devel.lists.libvirt.org-0; emergency; member-moderation; nonmember-moderation; administrivia; implicit-dest; max-recipients; max-size; news-moderation; no-subject; digests; suspicious-header CC: Sergey Dyasli X-Mailman-Version: 3.3.10 Precedence: list List-Id: Development discussions about the libvirt library & tools Archived-At: List-Archive: List-Help: List-Owner: List-Post: List-Subscribe: List-Unsubscribe: X-ZohoMail-DKIM: pass (identity @nutanix.com) X-ZM-MESSAGEID: 1760087504428154100 Content-Type: text/plain; charset="utf-8" Add virURICheckExtCommand() in a similar fashion to the existing virURICheckUnixSocket() and use it for (1) the same host migration check and (2) in remoteConnectOpen(). This allows to migrate VMs using the ext transport, as the external command can act as a proxy to the remote libvirt. Signed-off-by: Sergey Dyasli --- src/libvirt-domain.c | 8 +++++--- src/remote/remote_driver.c | 7 ++++--- src/util/viruri.c | 32 ++++++++++++++++++++++++++++++++ src/util/viruri.h | 2 ++ 4 files changed, 43 insertions(+), 6 deletions(-) diff --git a/src/libvirt-domain.c b/src/libvirt-domain.c index ca110bdf8585..9d82b711a17c 100644 --- a/src/libvirt-domain.c +++ b/src/libvirt-domain.c @@ -3605,11 +3605,13 @@ virDomainMigrateCheckNotLocal(const char *dconnuri) return -1; =20 /* - * If someone migrates explicitly to a unix socket, then they have to = know - * what they are doing and it most probably was not a mistake. + * If someone migrates explicitly to a unix socket or an ext command, = then + * they have to know what they are doing and it most probably was not + * a mistake. */ if ((tempuri->server && STRPREFIX(tempuri->server, "localhost")) || - (!tempuri->server && !virURICheckUnixSocket(tempuri))) { + (!tempuri->server && !virURICheckUnixSocket(tempuri) && + !virURICheckExtCommand(tempuri))) { virReportInvalidArg(dconnuri, "%s", _("Attempt to migrate guest to the same host")= ); return -1; diff --git a/src/remote/remote_driver.c b/src/remote/remote_driver.c index e5f425da74bf..0e7e8f2eb76b 100644 --- a/src/remote/remote_driver.c +++ b/src/remote/remote_driver.c @@ -1377,15 +1377,16 @@ remoteConnectOpen(virConnectPtr conn, return VIR_DRV_OPEN_DECLINED; =20 /* Handle deferring to local drivers if we are dealing with a defa= ult - * local URI. (Unknown local socket paths may be proxied to a remo= te - * host so they are treated as remote too). + * local URI. (Unknown local socket paths and commands may be prox= ied + * to a remote host so they are treated as remote too). * * Deferring to a local driver is needed if: * - the driver is registered in the current daemon * - if we are running monolithic libvirtd, in which case we consi= der * even un-registered drivers as local */ - if (!conn->uri->server && !virURICheckUnixSocket(conn->uri)) { + if (!conn->uri->server && !virURICheckUnixSocket(conn->uri) && + !virURICheckExtCommand(conn->uri)) { if (virHasDriverForURIScheme(driver)) return VIR_DRV_OPEN_DECLINED; =20 diff --git a/src/util/viruri.c b/src/util/viruri.c index 64995da3420d..2e8c0acfb213 100644 --- a/src/util/viruri.c +++ b/src/util/viruri.c @@ -421,6 +421,38 @@ virURICheckUnixSocket(virURI *uri) } =20 =20 +/** + * virURICheckExtCommand: + * @uri: URI to check + * + * Check if the URI looks like it refers to a user specified command. In s= uch + * scenario the command might do proxying to a remote server even though t= he URI + * looks like it is only local. + * + * The "command" parameter is looked for in case insensitive manner, by de= sign. + * + * Returns: true if the URI might be proxied to a remote server + */ +bool +virURICheckExtCommand(virURI *uri) +{ + size_t i =3D 0; + + if (!uri->scheme) + return false; + + if (STRNEQ_NULLABLE(strchr(uri->scheme, '+'), "+ext")) + return false; + + for (i =3D 0; i < uri->paramsCount; i++) { + if (STRCASEEQ(uri->params[i].name, "command")) + return true; + } + + return false; +} + + void virURIParamsSetIgnore(virURI *uri, bool ignore, diff --git a/src/util/viruri.h b/src/util/viruri.h index ad00570b7f0d..172314bd1084 100644 --- a/src/util/viruri.h +++ b/src/util/viruri.h @@ -61,6 +61,8 @@ const char *virURIGetParam(virURI *uri, const char *name); =20 bool virURICheckUnixSocket(virURI *uri); =20 +bool virURICheckExtCommand(virURI *uri); + void virURIParamsSetIgnore(virURI *uri, bool ignore, const char *names[]); =20 #define VIR_URI_SERVER(uri) ((uri) && (uri)->server ? (uri)->server : "loc= alhost") --=20 2.39.3