From nobody Tue Oct 28 08:15:02 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=1760087772; cv=pass; d=zohomail.com; s=zohoarc; b=Xxwr5/8+HLqYpMYRiVpcLDuD61mZoqB0jAM7AtKkqY2QyE8wL9GSaUwGun0Za6BB/Xg18IJ7LRujrrTy/bf8805FgX40E9wx6NBrb/HQKBVTZSzetSpm/NqJ2k5NQtF4Fer7b6vxmXGAS/P0Snx/WyBL/PWNP4sucVIltq7q9ek= ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1760087772; 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=BY8AdEeGY9lTpYuPKnyCcbGBfCiDl3kGXv4Kd374Beo=; b=Lu3ZjEvfO/5gW8fnpFWEZ/Sq70a7twKO6t4oFOLz9Q8xi6+mN1GvJp0EDPs/chtGVphgyIYA8yO9OHrzb6B8hkOyN0EKExMDCyXTyQgxJQlYOyxz1gx9p/Tya281xeaM9JlYGKx3Teg/elNpW/eHdj1l4Fxnw3ULA04UnFzRHIA= 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 1760087772208572.2333591417344; Fri, 10 Oct 2025 02:16:12 -0700 (PDT) Received: by lists.libvirt.org (Postfix, from userid 993) id 3A97C418A1; Fri, 10 Oct 2025 05:16:10 -0400 (EDT) Received: from [172.19.199.20] (lists.libvirt.org [8.43.85.245]) by lists.libvirt.org (Postfix) with ESMTP id 9DDFE43E56; Fri, 10 Oct 2025 05:15:04 -0400 (EDT) Received: by lists.libvirt.org (Postfix, from userid 993) id B67EB418A1; Fri, 10 Oct 2025 05:13:17 -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 F418341B56 for ; Fri, 10 Oct 2025 05:11:20 -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 59A79d8S457251 for ; Fri, 10 Oct 2025 01:58:49 -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-1 (version=TLSv1.3 cipher=TLS_AES_256_GCM_SHA384 bits=256 verify=NOT) for ; Fri, 10 Oct 2025 01:58:49 -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:47 +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 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=BY8AdEeGY9lTpYuPKnyCcbGBfCiDl3kGXv4Kd374B eo=; b=CNolSDgijlxBmg/Qg2t/hJn6fgXtB4VxYL3M/6yYey0rfvJ0xcwpeJjx1 7OvUMdXXq7dNy8Sk6iEqhjp2oFu28/R1lN/dL+34ISIFKrLQN177fIBfXSUuekD1 PQq+gDuP3PLdWF0BWew3/ZnykalCFgy2OOJVy+1xfmvtuK8TlRfCM+npHquY+paH HBLb1roRGmlJT5NISia//ljf88z/0YcLtUaYE3AzAiRIIpHCt9pJwwFDRQEDsme4 u4ZGFQt3ryvcKofuj6eKzLQBekqIvq96ecZoJpFdw4MZrjR48Fy8xIDnRDjxmC/V +Ph/Zt8cEuF22OXMJ0lm7XnZzZwmg== ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=GkKBLodtfQc46Y/sO2KtvqVULhJD1tQzoGK3phP87BX356U/H3gyhJG07sbtNryI37wCUUt7gX5Qb4aI2GBF99uKJAhR8+i3HZzzEMw5k68Bddk333lz09Hs8Dd/U0H4jdLH0UNourhLMWk34sbrBbuFxvSQwsSL5rF0YU3avbUw9HjuMzziGkm+aPg6g7tEPjbaxVjZbsDWlB2JGYkxierzjhVk4RHI7+V70Yf0jLNiFfmE8bOHvjnWsPJV/NCOmfUMHzRMf1ofw1RIVcAGh8X368gYQsBvoF/nopZE2czsA+dKvnZFu43Y93vdWPCnG4cCoo50N/6AeA65KGmJGQ== 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=BY8AdEeGY9lTpYuPKnyCcbGBfCiDl3kGXv4Kd374Beo=; b=XmDwEWSaGyzfEcI5ypIw4FNhRPGMrAzTrDniKha4VidxNPZ6+pVEdu6FyrSDO2CMvBhH2JmmaSFJypz+vpMYlv2wIehETInFMkWR0pQkUjcV5UhdFzzmn3HG2BH98w0XSZlLktvClcWM+Gbmg6oQo8ARtkPOJ+9hoxuuytDGiMFsbpiginESVCbckep9zrkBf2ThW8L/52t4AtdfcdHCY4dKRqIB83WAmLMeMnavys0YM/BQmwkKaDnHkFSM2al5MVhnquIlXHKO4fFdWgrH0GLmzCpxAcY+zOYIjUfsqr/PcXXj3ZGg1WuszOEpFzak0Dch5vrFmrOUZDB3FXR3bQ== 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=BY8AdEeGY9lTpYuPKnyCcbGBfCiDl3kGXv4Kd374Beo=; b=xiPwCIYEOMw3BCAqLJmD9y41FdaskhQaXBk5rLuMrndMb60zYxdLmJKjtZ12uhAj86hbJyIDgwiHUjrIVBNBKzHPU3HSjc9PPKbiRRpYMISgoIFt4kyoxx58e5WAN0cOzcBOaXyHumV0g4n1qO0Eyyv6ywuzojZ4HNjAiKkJMswQn8I7JljN6Xnngbnv6/O9YmA+QPsgWZmRmViEE65FnlyIIsBs4CUbfR8PhtgvAnJmSPzkQvC+3EbsIF4Ne75MmZ/Pgz+js+MhRqBSHPw7ntgTbc1DxNa4+Mfc417yuUQlrDGouVSs8fzE1HBKS9J7V/mKWRbgPgZ+edT4y466TA== From: Sergey Dyasli To: devel@lists.libvirt.org Subject: [PATCH 1/2] remote: allow passing cmd arguments to REMOTE_DRIVER_TRANSPORT_EXT Date: Fri, 10 Oct 2025 08:58:17 +0000 Message-ID: <20251010085829.2022046-2-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: d46d286d-d3d0-4ead-17d3-08de07db3950 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?y/LQJPgxYUswPTSJVkZITXUsN36N3Z7iTWJOvBZszCuQvE3Ie5PnJJlyWEsK?= =?us-ascii?Q?GzphPSzTqV/9CGyeyuZHR2o4v+2n2iGm1trwFd52F1twPhGE+ZflESaibhHQ?= =?us-ascii?Q?jMBNEpm9ke+T/uB+Gu63w9EuImqCErtKM0QRg2SMvABskYmB3WHLl3SsDor4?= =?us-ascii?Q?SK18NkfW1MdXGpcPC4exGBELFSlB1SjCr34WpXwB/xZ91lhVzW7IMsn8Rv+R?= =?us-ascii?Q?3MJQW+1qLWiId0ccAUFnjiWgpQowSPzL6DqE5wvQ2X8klJ4cxOv+z/Y4MSOV?= =?us-ascii?Q?Z5DkML+OWDhkrqD1yOKuhiAvSnnU+wV6jst6Tu31Zjw5YBw/PHyq7hWYXDZ+?= =?us-ascii?Q?mGFWlCGwwUtUZbNj71/E+40yWdlu5xx+2MOGGo3jTROO6u9cCuYwrtEUw6PW?= =?us-ascii?Q?ODxrhZkvQMoN83HRzSu8xFc8tEGeGpwX1yMtPBpyxj0nW+HyKpPvklPX5rZ7?= =?us-ascii?Q?p0XtEpUo0T/mCqQV8FsOzdPXLzrkkApcMzxvc0lG0nyo+geQnNaYd2TyvspO?= =?us-ascii?Q?VvHq/Q6rk2v0r5ZRXyAezTiszFszyEY3OYpDQybct2tfnSNJGtcfWgYQ5be5?= =?us-ascii?Q?rKN4PNpBHnTumHHtgi4CtIsZ1FmOvJEi5NtU0Jp7ClqnICV3c7nwn9EEtjy4?= =?us-ascii?Q?E32xMxg49Nf8/beVXfsySfVi5Hf6MpSRMot1jyGRr2b0TfQ0shYdGQ4uejty?= =?us-ascii?Q?Pq4Z6W2qgMPP6POe0XPGXe3chQzGU+EYWUtlyAstJgl1w8EzVDiPOHmm4HWD?= =?us-ascii?Q?mChQSMuLnhuxLDPqwon2Wx756evHS2da4MST7TrzVDkmIx890sgvSKTa8T+K?= =?us-ascii?Q?iaf2q15cGe0Pc1jiqK7C97tigeCa2j+jIGqhLoRsh/s9OxIH/qWtJUK0Hw1F?= =?us-ascii?Q?67MgInGxnzDqGEcXx+AQsRIbRdD2y7T5OkwG4jTBH8aVSUUYqXjmXYua9riT?= =?us-ascii?Q?eLUnBf1sEy96mXH+QJ8QCSGo+kWSEJdugpkPFNaX6N7LxP0VH2XPqejP6p80?= =?us-ascii?Q?ehvU85QjNJYmWcT8KprOk5yTuLypSLXt5PqlhM4LI7o7sKYyI0S0IscQ/71U?= =?us-ascii?Q?CSKyj0i5ruAcaVuwb9zrYw3M0AUB9Hlv0MO9WABD2tXHtTc7mezNYa7WTfGo?= =?us-ascii?Q?d+K3pIMdotmyrhn5oPgg1v1wyDV2piUrv1VHsb/2KUos5lFf4r6eLgfDTesH?= =?us-ascii?Q?UHaXNQ77dySCCDIHNjmd22tI4Kv3xib0GsQdaW8dvgpeq3hULUO839MW8RbQ?= =?us-ascii?Q?g8a9uUIiHs2DUTlbAPAtEIN4m8jab26EZQV8Rwy6QLxgEuTQtOUVQdrFj7dc?= =?us-ascii?Q?Ew+lMYzzJwC7i9UI0sIA4+08aUx8zzxL0vofmLlqGDLaUQyuhwHqkbjDtVQk?= =?us-ascii?Q?M6WI1VPMCcCRQnN9x4z8gCzJxcIszRM7KIQgH/qnwkEmM4In6Q6iaNsr7YqD?= =?us-ascii?Q?+ubThafREK0sRg4XBgRADOj3YZIWQZCCUv4YrkZ1Jcia9eD5hfc+wJzBJfWA?= =?us-ascii?Q?VsMtdRcGghcy4FbPt3P4AelrVokrq9ls5sqp?= 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?OCjLybH/cLoT7K6ec6kr4mHYcUbilOb34MHazfw7WvjW0KO0iYwOLrdkZhS1?= =?us-ascii?Q?m+58n4gbI81dLiECD6pZM/ItoM8pCEYsOyYMwXThcxZCPjREdjoxGMXhfxy9?= =?us-ascii?Q?s6EYDV+6fIaFW6GEiK+y6FYv4YDAoK9XvrnGEGvNy8cjyggWrqGnvgfsUsIZ?= =?us-ascii?Q?dTikRjccAAhTpk17Z5OamFfhtHrnGqflv05nQLVHYqC5YZYx1NflyBIsL1aN?= =?us-ascii?Q?8MifwxDo9x0vZaHB0+rhl7KZywJ7S/hU4RyZPEdb8EKWKRPu6j95tEZksDN3?= =?us-ascii?Q?Yw6vnqaPssIS3oVzLbDUDuQj3nCWv0xHlOaMqxvxpfTsWTqo/bHvWSHFocVN?= =?us-ascii?Q?QaIIiYxWWqJJjNUku4QYVQjWtin3cIl+friLjY6LBKdAdvlZgZ6Lj7u5Fh2y?= =?us-ascii?Q?87kaDYXwiARIvoCooW+yuKqBj35C3QPQJ3IKUsGhGH0+suMlojODW4Z4/kGD?= =?us-ascii?Q?L4Gql6GeB0z/V6nOqHBpnB0Gcuh89sMPR3JCF7n8TJ3BxiP4kQG1TV9RblPx?= =?us-ascii?Q?n0tY8Lkxz7pDiPTyqxOQfW/ZEsCIQDRwl9mtBl1D0MY0Rm8bqvGd3Yg64Dcw?= =?us-ascii?Q?vSvpH8dgWip9c5Dq3CJQ/upn7Rf7Kpzft34vZfn9sAvU5vRhqoFyiqWzyaP8?= =?us-ascii?Q?OAcKY1mnE4tZxG9fCjp+x0TrLrQJFTPWhGej7mYH7RHMzj0jVpyDW5/i1jRe?= =?us-ascii?Q?l4iBPyRsKzTqMvrqOGXb6MSrXWt7VYvol+UCENJo5oPBPhSGB1O45EeVrX5f?= =?us-ascii?Q?fT6Bdyp5KzYnIu0GDxS5EhLFWH3uy5OOdm1C4Sa+LKicND/CwookY3MmVBiz?= =?us-ascii?Q?sDjBdpfFMeCoshxXEpfzCCtLdxTkaNKgW55GX25F/ea4gDJ6zFPIT29ePH05?= =?us-ascii?Q?L+CPVwK4w/Nvg7mpNTlZoQbZ5gDgTLpqrA47sS0TXcO3P1zKuWPQJK8m2610?= =?us-ascii?Q?N5nPuezz4OLW85d32tftGLYgDFbYgPq0mBthcc/TYWrCRN7wRO8ODlY8YOSU?= =?us-ascii?Q?RNaCs3elR60rZQNu6odXCNdTs8BrAIjyvv9GiMnyQoOzX5nb0CQtCnT6n7Cc?= =?us-ascii?Q?drFbom66m6Ms3I/BcYMHECfxuuOZYT2Nr5dOzmLHom1DK7Qh/wPkufR6Oj21?= =?us-ascii?Q?BEhrKw+hjZCqDeRrUhiD08m7SNFsgaDgCfpQX+zuM1YFYmw6m8xEJ1IX9zkb?= =?us-ascii?Q?JDBK0vmiO23pkzlKstZkuxrr9l00gdAD7Bf/AlIaHzYgsa54/XTlTJ9SjY6t?= =?us-ascii?Q?ViGo+3gjX9O+koPvRCc20kGmuIrTpNDjFce7Q7qHtH6CLC/XuWcq2HfgLNdi?= =?us-ascii?Q?AMnQ4xSFDLvwEuhQ6MY9ExB2aZIYeuoMZLDuvjVKaxNEH24utsfT3W9P8YKT?= =?us-ascii?Q?tLiWZj9vOYR9SeJvO9PKevo39ZbzLe1kuumqV2dmuSMl9rxlezHBx/FNXgEY?= =?us-ascii?Q?1Yer2H90oP9N4PpHFc8MQhRe97yxCl96MaUFiwQ3rAuYHFXIy2XYZfYTSFSa?= =?us-ascii?Q?wl38geRU/ZJbxZ2149recKImOVAPjt/++QmllSmKvgkP7h+fEANSe4mOnW95?= =?us-ascii?Q?9t3eBlCqahIc+uMsuyS9xjek/XmAtJQJs4ab1/5oubyMtI8+djhWzEnwBzu4?= =?us-ascii?Q?Cw=3D=3D?= X-OriginatorOrg: nutanix.com X-MS-Exchange-CrossTenant-Network-Message-Id: d46d286d-d3d0-4ead-17d3-08de07db3950 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:47.5902 (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: bgEmeDzD0DlPI0qynJzE+Z2t1RX6LtpT9Xl3FyVSLp5ilYWBCwmPNXLrVFfm54ajeDQToFoDu/EWFflo3nl9znJzO05hro1vb7JnE+C4l5s= X-MS-Exchange-Transport-CrossTenantHeadersStamped: CY5PR02MB8965 X-Proofpoint-Spam-Details-Enc: AW1haW4tMjUxMDEwMDA1MSBTYWx0ZWRfXwhY4hOuTdOcp k01bCWNxHwXMpmqjpNmEQiS/gmvqh5wy/vidDOg0WJrgnuS0+aFzbYX6XTWcN0l0sL3gVT58ECK eicJj7eih3MO3+nS4b7wTk+Oway2Jb76iAxyd6YeiE1LZoM/8SKFN2NMkhiE3Sjk2KYwDkovi6d 6h4VzROiUxaNSBltyPLjmhrmafL5hjmcP51w12vmarCwxtDDnKiJ1w0r3J/u6Nis3li1qaNHOG6 Moq5EMwHGK/0OIrYf/kWm8nibZ4PcyZDz7KgqWifP36GZUwDVwLVlcpw3wQT7KcPjvKzwwjDu6q xOrv4ZsuoG41WlcJOl7iXd0Fl+44dkVcK3TuQ6ScuI5aNbUwvt5L1M1PEHga3QshDdiSsga2ZIg whr0Ae7EYSa7OvD/iMDacWDP/FNRyw== X-Proofpoint-GUID: PSFoXYrmkT41SqERMD2HPBlnFiTwT0Hs X-Authority-Analysis: v=2.4 cv=Lc4xKzfi c=1 sm=1 tr=0 ts=68e8cac9 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=_E98J6NDPc6dYUGO-oQA:9 X-Proofpoint-ORIG-GUID: PSFoXYrmkT41SqERMD2HPBlnFiTwT0Hs 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: JSIIT3Z63BVSDMTEKPQMVW3IR3FFPAQV X-Message-ID-Hash: JSIIT3Z63BVSDMTEKPQMVW3IR3FFPAQV 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: 1760087774470158500 Content-Type: text/plain; charset="utf-8" Allow passing up to 5 arguments to the ext program via the query parameters. URI example: qemu+ext:///system?command=3D/bin/prog&ext_arg1=3D192.168.0.10&ext_arg2= =3D8080 Signed-off-by: Sergey Dyasli --- src/remote/remote_driver.c | 23 ++++++++++++++++++++++- 1 file changed, 22 insertions(+), 1 deletion(-) diff --git a/src/remote/remote_driver.c b/src/remote/remote_driver.c index ec71eaed8762..e5f425da74bf 100644 --- a/src/remote/remote_driver.c +++ b/src/remote/remote_driver.c @@ -805,6 +805,11 @@ static int doRemoteOpenExtractURIArgs(virConnectPtr conn, char **name, char **command, + char **extArg1, + char **extArg2, + char **extArg3, + char **extArg4, + char **extArg5, char **sockname, char **authtype, char **sshauth, @@ -829,6 +834,11 @@ doRemoteOpenExtractURIArgs(virConnectPtr conn, =20 EXTRACT_URI_ARG_STR("name", *name); EXTRACT_URI_ARG_STR("command", *command); + EXTRACT_URI_ARG_STR("ext_arg1", *extArg1); + EXTRACT_URI_ARG_STR("ext_arg2", *extArg2); + EXTRACT_URI_ARG_STR("ext_arg3", *extArg3); + EXTRACT_URI_ARG_STR("ext_arg4", *extArg4); + EXTRACT_URI_ARG_STR("ext_arg5", *extArg5); EXTRACT_URI_ARG_STR("socket", *sockname); EXTRACT_URI_ARG_STR("auth", *authtype); EXTRACT_URI_ARG_STR("sshauth", *sshauth); @@ -895,6 +905,11 @@ doRemoteOpen(virConnectPtr conn, g_autofree char *tls_priority =3D NULL; g_autofree char *name =3D NULL; g_autofree char *command =3D NULL; + g_autofree char *extArg1 =3D NULL; + g_autofree char *extArg2 =3D NULL; + g_autofree char *extArg3 =3D NULL; + g_autofree char *extArg4 =3D NULL; + g_autofree char *extArg5 =3D NULL; g_autofree char *sockname =3D NULL; g_autofree char *netcat =3D NULL; g_autofree char *port =3D NULL; @@ -945,6 +960,11 @@ doRemoteOpen(virConnectPtr conn, if (doRemoteOpenExtractURIArgs(conn, &name, &command, + &extArg1, + &extArg2, + &extArg3, + &extArg4, + &extArg5, &sockname, &authtype, &sshauth, @@ -1195,7 +1215,8 @@ doRemoteOpen(virConnectPtr conn, break; =20 case REMOTE_DRIVER_TRANSPORT_EXT: { - char const *cmd_argv[] =3D { command, NULL }; + char const *cmd_argv[] =3D { command, extArg1, extArg2, extArg3, + extArg4, extArg5, NULL }; if (!(priv->client =3D virNetClientNewExternal(cmd_argv))) goto error; =20 --=20 2.39.3 From nobody Tue Oct 28 08:15:02 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