From nobody Tue Dec 16 09:16:45 2025 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=fail; spf=pass (zoho.com: domain of redhat.com designates 209.132.183.28 as permitted sender) smtp.mailfrom=libvir-list-bounces@redhat.com Return-Path: Received: from mx1.redhat.com (mx1.redhat.com [209.132.183.28]) by mx.zohomail.com with SMTPS id 1530193831974104.17356700544349; Thu, 28 Jun 2018 06:50:31 -0700 (PDT) Received: from smtp.corp.redhat.com (int-mx03.intmail.prod.int.phx2.redhat.com [10.5.11.13]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mx1.redhat.com (Postfix) with ESMTPS id 4C3BD30014B9; Thu, 28 Jun 2018 13:50:30 +0000 (UTC) Received: from colo-mx.corp.redhat.com (colo-mx02.intmail.prod.int.phx2.redhat.com [10.5.11.21]) by smtp.corp.redhat.com (Postfix) with ESMTPS id EAFCA8CCEA; Thu, 28 Jun 2018 13:50:29 +0000 (UTC) Received: from lists01.pubmisc.prod.ext.phx2.redhat.com (lists01.pubmisc.prod.ext.phx2.redhat.com [10.5.19.33]) by colo-mx.corp.redhat.com (Postfix) with ESMTP id 70DFE3F7D2; Thu, 28 Jun 2018 13:50:29 +0000 (UTC) Received: from smtp.corp.redhat.com (int-mx02.intmail.prod.int.phx2.redhat.com [10.5.11.12]) by lists01.pubmisc.prod.ext.phx2.redhat.com (8.13.8/8.13.8) with ESMTP id w5SDOCQE021044 for ; Thu, 28 Jun 2018 09:24:12 -0400 Received: by smtp.corp.redhat.com (Postfix) id C356D8E798; Thu, 28 Jun 2018 13:24:12 +0000 (UTC) Received: from mx1.redhat.com (ext-mx13.extmail.prod.ext.phx2.redhat.com [10.5.110.42]) by smtp.corp.redhat.com (Postfix) with ESMTPS id B943A8E791 for ; Thu, 28 Jun 2018 13:24:09 +0000 (UTC) Received: from NAM01-SN1-obe.outbound.protection.outlook.com (mail-sn1nam01on0086.outbound.protection.outlook.com [104.47.32.86]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-SHA384 (256/256 bits)) (No client certificate requested) by mx1.redhat.com (Postfix) with ESMTPS id DE2683082148 for ; Thu, 28 Jun 2018 13:24:07 +0000 (UTC) Received: from hyd1jrana-dt.caveonetworks.com (115.113.156.2) by CY4PR0701MB3747.namprd07.prod.outlook.com (2603:10b6:910:94::11) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.906.23; Thu, 28 Jun 2018 13:24:05 +0000 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=CAVIUMNETWORKS.onmicrosoft.com; s=selector1-cavium-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=NBzGxAHvcPacFUq+I3qBqAHcCkmoJsGuGrw8gVC6yu4=; b=PVcwBpvFqF5juAVxafSxvwXpOBUFNxui744CjIsJKFYqhJsiy0c8RWxz8TatxPyDlW4V5heDpjwp5EO33cf9R3UaMERhNvA+neErNPoVE5xkON+uragAHZX10ZDxd1ne6aSaBBt8OuKGzVJQyJCK171UeTD/ZZ6HL2Yu9pvHWww= Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=JaiSingh.Rana@cavium.com; From: Jai Singh Rana To: libvir-list@redhat.com Date: Thu, 28 Jun 2018 18:52:35 +0530 Message-Id: <20180628132237.11811-5-JaiSingh.Rana@cavium.com> In-Reply-To: <20180628132237.11811-1-JaiSingh.Rana@cavium.com> References: <20180628132237.11811-1-JaiSingh.Rana@cavium.com> MIME-Version: 1.0 X-Originating-IP: [115.113.156.2] X-ClientProxiedBy: MA1PR0101CA0066.INDPRD01.PROD.OUTLOOK.COM (2603:1096:a00:20::28) To CY4PR0701MB3747.namprd07.prod.outlook.com (2603:10b6:910:94::11) X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 75dfdfba-8284-4d2b-9947-08d5dcfa6cc3 X-Microsoft-Antispam: UriScan:; BCL:0; PCL:0; RULEID:(7020095)(4652020)(8989117)(4534165)(7168020)(4627221)(201703031133081)(201702281549075)(8990107)(5600026)(711020)(2017052603328)(7153060)(7193020); SRVR:CY4PR0701MB3747; X-Microsoft-Exchange-Diagnostics: 1; CY4PR0701MB3747; 3:r8vTRm7KxzM8CeBrb94fMF2gy23is5maHLyZ0DY2+Zimp7d4UqgUVk5EeulztJD76BRC7alV8j7FiKZvHzxHSd8fBNBjChzcUiclkKqyB3ZbSaPD7Ab/yl+KVRdjjYZQ5ML0lgKG/Uu+IjiEokaTz58oh+bAAc5v1Qq0PM5o6A6/xRvEt0NzweMIR1p1t9+Yd2G+fpCRxqUMoQg8zGpEkMIRO7N7r31AQkuegwZFCT6dZjd3LQzkXT1f/uG7TYTr; 25:j7oVDBMO7Bfvm4rO6TazT+iyAaZWMi3IFNDSmhdNEO46WR0IlZOlNbTrp8TCvUzxtN9+hkoxRhmsSg7+Je4O7LN6vdkiPxRFMiEomFXZtIjQqjCb+nh57//2lRinQHu8I0vUV5Ml/1lBM/rja1z+FHVektpoORnoCv6QjgCWCyZr7smmLhUmN8Y3TWDpqSu6Xvlz90A0bB6jjpJSmMPheXr1rJKgxSbxs1E8q+qqcE0WfVOYSPVJ4uhkrvORkTm9TpAXmpO54mkL4HFQW6fuve+6bc5NJ4/V6pP8nhwLQ9YdjgsNJx8jWrZ/RM9p4ReLLEdK/a/zC4jf1FKJHci89g==; 31:5S3edIZSMiUW4pF57O/wFzoj2QFfRUgsqcHwwgN4/EW0Fpsl9pgWzSkmr75RrcPnOwXQ3BzuIXbDzZp/KQaIsolgSHOCO0hMk8kG5lUU+RfGioBMNeX8BSJmIp9PcJgLAPy8XNXtw/bmkwZ1YCj0ZnqRcD1oVhzsitVYhlur162KldoWBKSq9kdf5+4uadUveV6nyxC3U5toA06P57AW4YbjDwxMJYOCBHPvfSCfewo= X-MS-TrafficTypeDiagnostic: CY4PR0701MB3747: X-Microsoft-Exchange-Diagnostics: 1; CY4PR0701MB3747; 20:Lx8kI6INSqK8nMnijOwzeIpTE7KMUAurg4dDkLtkfN91iWX5s6InHLn7xf9Pf1lE/R/HJVvDVcMeECqMXQ75E7u7xxnA8pss9Ts2/rF1rYzwncnm8lrsUuxXO7mHGyxGGMBf0V1U8jkslrsj9UOJmurcWI3/k8WVQoiw3NX1NWWPHxx/+rjM+G0kxTosfXAqiKjSNaGGjiew8LiwYwl2dOAZh3JbOkzWgHeWWX1IgjoS1McI/lqxTwqBebI8WL76lJTf8KnhF7t0HSkTALxnzQE6OlVo0L6kDI3KIb0LKsSLLtbjr+/CrwmNeVPS2mpJ7/02a/MJ4ntK+xFn+E99Dwjy0VOBwZVHKH19Z9ctqFBp+3LUhgEipWIM6rIFYTmVLZ7DKXUYhpLEwe2hh+px5AP8FM2QqJ3f7ma2ljXGAkN5Fs83mRco/okt7rgNveqf/VXnsyqCZWAluMYYzNA+K+p0bt6iyY40DLj0FPHre53Y+29+WlpaN+qmgrSI+uJi; 4:5Oyb0hX9GFSg6OehRByq1mYg0wlCn0r727fne2wmQ6DKRM1awjxYVaPQJ8h+7SRv+RblDsVCFoeGWXIogZvFuPnXIKG+uDluo+SmlfMGZI5ZgOVZtLzZ4BqrdVqeoekEi70G5z+G4qXl6zOSDFvqIiM/K1k58Ekyj1m7tCE1Vl55kUP2yhnXd3TvMCvkWOvEyPRxJmIB6+OIJYFhdj2CORNb1Q6/FDD7tXyfQXzxQYpo6scLxnY4rI37ktknaY1RyxRlMWMkaiwKvaVNeaMwrw== X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:; X-MS-Exchange-SenderADCheck: 1 X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0; RULEID:(8211001083)(6040522)(2401047)(5005006)(8121501046)(3002001)(93006095)(93001095)(10201501046)(3231254)(944501410)(52105095)(149027)(150027)(6041310)(201703131423095)(201702281528075)(20161123555045)(201703061421075)(201703061406153)(20161123560045)(20161123558120)(20161123562045)(20161123564045)(6072148)(201708071742011)(7699016); SRVR:CY4PR0701MB3747; BCL:0; PCL:0; RULEID:; SRVR:CY4PR0701MB3747; X-Forefront-PRVS: 0717E25089 X-Forefront-Antispam-Report: SFV:NSPM; SFS:(10009020)(346002)(376002)(136003)(366004)(396003)(39860400002)(189003)(199004)(26005)(16526019)(6506007)(446003)(386003)(5660300001)(39060400002)(316002)(486006)(50226002)(3846002)(186003)(2351001)(11346002)(76176011)(51416003)(52116002)(6116002)(6512007)(25786009)(6666003)(6916009)(81166006)(2906002)(81156014)(16586007)(8676002)(86362001)(305945005)(55236004)(7736002)(68736007)(14444005)(476003)(956004)(2616005)(4326008)(8936002)(53936002)(105586002)(106356001)(107886003)(6486002)(36756003)(2361001)(97736004)(72206003)(478600001)(66066001)(48376002)(69596002)(1076002)(53416004)(50466002)(47776003)(37363001); DIR:OUT; SFP:1101; SCL:1; SRVR:CY4PR0701MB3747; H:hyd1jrana-dt.caveonetworks.com; FPR:; SPF:None; LANG:en; PTR:InfoNoRecords; MX:1; A:1; Received-SPF: pass (zoho.com: domain of redhat.com designates 209.132.183.28 as permitted sender) client-ip=209.132.183.28; envelope-from=libvir-list-bounces@redhat.com; helo=mx1.redhat.com; Received-SPF: None (protection.outlook.com: cavium.com does not designate permitted sender hosts) X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; CY4PR0701MB3747; 23:WyrYHElEaxSsKbJLU4ipiSC8NrcPbPrCe4ztxjm?= =?us-ascii?Q?aV+56QrxQDdZNmO9OzNKR4e87fJ6nFeYTb6CcwzZdQqBwUh8l6aTS6zC0NgS?= =?us-ascii?Q?NNrN5RcCKhslM5KXclUZ0Qyu3Ld8uiRfsY5N6tgR/czVoW7W+C8mP4I8/Z62?= =?us-ascii?Q?Dl78cPMIXp7n+liTMll2W7Ckz7mj5JzvzQEUuN9Lia+zelB6eHvnoffDXBwW?= =?us-ascii?Q?nW89HsNPa/11L9y0rRgVZ/IN0ZNQgdkw75WtDDxZ0mIb8JorfyMt2yxG1x70?= =?us-ascii?Q?8b1DWH7dWpMleKyFYy9Mwg5C4wMsZEXFolOc3OETiIaORS0G68z+21RRekv5?= =?us-ascii?Q?OaTBlsrbKHoKjm9W9yh85K2gAhZP3eBb39nghW4SEf9M4zFaWu6ERojXJp2N?= =?us-ascii?Q?BRSJqzR081FJQQC6oTWne09AmkhGdDan1FCqxHRpexhPtq3klwaY8RdcXtqY?= =?us-ascii?Q?u91qetSLZmV0TAF4BgxLV0v4JHe4MK4FUtX8BEKYYVwBAVjj0G1Aj5YwhSSE?= =?us-ascii?Q?1NOTwDiT5+buM/u81HjKsIsgCCbelw9i/1n0ki+Xbt+3NGaMWbJG+qO1PfsP?= =?us-ascii?Q?IRoVVgKaM4xQrEj7XcDDGsBRKLwjXTY12R86oOmU8uz+zBRQCO2GuiexIMaR?= =?us-ascii?Q?CTWAIyplZ3dUDWRN4sF2cx0nQ1ifuLUThT7fiVVcnfRmmF0bxmscC1R0jJ0c?= =?us-ascii?Q?HI0EMndlMVTZ04tXfIYlhX10i3gnEkgyK1JP/oaoL3rsUH30lezNlSLUR3jX?= =?us-ascii?Q?IVFHkBpoI9xdwt0awrdfMWTV8Xfkil4yHAnVDCGjDMR1mbS/b+JQYuofOdq/?= =?us-ascii?Q?VFjv1dVXxeqgsSUgWG5OQ8t5DjR85+L4al18qrHIdF+Z8vsBX1ArdI7MOcmM?= =?us-ascii?Q?JFVN8ONEG2aQ/6GNZmysl4hr26I6BWAXgNHLZiaSQFwkr54EzZGEKCjEw+xy?= =?us-ascii?Q?B/qQ/Z0aH47Z4auiGhUx5vhFaMGEOYzMUtyHbNsemNcO+WYBcMM1IddKXpTz?= =?us-ascii?Q?G5DHA/nhBDdL0s+qFHdSbcYCR/EMFeV3NU3LFiqZChCgXluli7FE4Ky2owSm?= =?us-ascii?Q?LSircAqu/udxJiNFMgjYyxUQTHCPAhiB6dpdiLN6L2q1Td098BcLfh1t2lSY?= =?us-ascii?Q?02jqvOqaD1NrjH4RxUKYhkm91WTMBEnynWlt0Bqh27J+chriKAxGkcEqnfrw?= =?us-ascii?Q?JSRiURDN33Bs/RXOsSpdiFCbOdliwJqa46tNl4qQV3nYL6Jhto8cH/UX3Rd+?= =?us-ascii?Q?3p0LQRNqjMHedq5x746NdMJwn4URAQWt+tNaiPao6fCsrXt9t4nIZ/1dCi1f?= =?us-ascii?Q?5mmQnnVUOUdM1yHGVxr+8KhmhKttJhZBSEtxrVARxGIEE/xSSFxlgj1QBL1I?= =?us-ascii?Q?3jE2toEWD4AJIFKCrFQtqESZEJTQ7Mg7EoEooRNik44Bw++bO?= X-Microsoft-Antispam-Message-Info: mIaQ26XPemHdJFipZGdHlrvsZrkjtznx93oTKiw2hm3cNDIwvjNkdD9t8UR5lHFCGWwVw/la4N7wQrITQ9CvhXpDS2deLYW5pilMQ/+GPntHPWM0vr+r8uLYxtTdlNnN0CbgX9JCg7Rl21gjRKqp20XIxq9z0IswFSWf3r8MZ4nI/P8koQB3B1GQkLndGy8H9aD2Ph9gfKGgc3eqnQiZxIpw8KnSuBN51X+9c2rN1wyzlVoKBgyKMMYYXGVh0b/bmfxwUOA27AJRCBmd4HLGp0UTZnX+5xq4Ff5Vo5IWtCdrQQLzyVBWFf6HAiYcJXiUNLJSwQWS1/I7cJpcPKNBrf7J9XBsxaIkm0EfBhAkyVg= X-Microsoft-Exchange-Diagnostics: 1; CY4PR0701MB3747; 6:rlq0BI+1ZDi1L+mJFT5LpRbsvIlp9NVRcrkjjHlfQMOZlV+ZqWAjXOFZW+tOjCjWYCeieLBY+ou4G9wQhO8UJNPfzud1az1qcFfhqxyzV4ocwI8dJamLe1jzaclKJMD1yPi3c48cpKwC6p01A5OAui8dqeeAHdccq3Z7xJ6sTdtw5RI+CWKHnsx4lwm+Tt7DzztH6MjeBEpY85tO3U9Cxuy73G0z8ZQcMfBZok/9cEaaAJHfxGrcKpiDnGONlc/IkQ55bhSKiptsQpgHjIQuOaW+ltMxrR2ieagzTTYy8MFKgrnGxUIJpI/FPFDgOhx3miynT5s6oskRp6RY7gf1w3sQrcgCKBfVUGUy6pVqh+wNnAXkHlylG6CUDGpATqu9xYT2vn3hcS+Ja0cIT8lzAB9W6HFktKbBx9XJlo1rDeKMl2mDyT1Cl/h3MGnTkUqRxZd0dCS2ew4DC5RB8eZByw==; 5:SRp4hQvhSK+bHFku8pdbLFQHoE1+tBJhoOi0SwyKan0p2aPbe4fV07ZA51xWJrhGzpG17mbQjnTN+tGX0U/8QLr+yshmmhdCETSLxktqO3XedU/lmMzd8Ol0iHgEA869+S2KclY8dg4wGXj82s0dnAjRjavFi8t6Pr80WTFRC2U=; 24:0CH/IqZhcucWuQli7WXfpWarjmZNlt8/H3pXfuVK+yhHxWz5Dj+KsAwtDZscUy1y2wgH3ge3b7uAP9B7vTyn7NKpwGdjNlq2Wn35kzsYDl0= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1; CY4PR0701MB3747; 7:KkP16PtbF4gQLY8b0COHr7eG+Fnfk/Y/CG/uO7O+HRLxF+NzGsx02+AXkKz2QjT0kiFVSvSewLlTdJZl+6C56C7AoTv7ws5f/iJBWYcD8SS3p4RAXNPfDJID4sbiMTb4Obz7lJ0N/UsHd2whvfs4rU6d7heh+PBo2OL5Ms+P3DaagQDLtihHbhs2uM7LiF792b5MG1gMtepH4mkRVRQm/oPNe06Bq0Jux3ijoyZOnBl6ZhjGC94W5sKmqtHU+8my X-OriginatorOrg: cavium.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 28 Jun 2018 13:24:05.5066 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 75dfdfba-8284-4d2b-9947-08d5dcfa6cc3 X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 711e4ccf-2e9b-4bcf-a551-4094005b6194 X-MS-Exchange-Transport-CrossTenantHeadersStamped: CY4PR0701MB3747 X-Greylist: Sender passed SPF test, Sender IP whitelisted by DNSRBL, ACL 207 matched, not delayed by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.42]); Thu, 28 Jun 2018 13:24:08 +0000 (UTC) X-Greylist: inspected by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.42]); Thu, 28 Jun 2018 13:24:08 +0000 (UTC) for IP:'104.47.32.86' DOMAIN:'mail-sn1nam01on0086.outbound.protection.outlook.com' HELO:'NAM01-SN1-obe.outbound.protection.outlook.com' FROM:'JaiSingh.Rana@cavium.com' RCPT:'' X-RedHat-Spam-Score: -0.022 (DKIM_SIGNED, DKIM_VALID, RCVD_IN_DNSWL_NONE, SPF_HELO_PASS, SPF_PASS, T_DKIMWL_WL_MED) 104.47.32.86 mail-sn1nam01on0086.outbound.protection.outlook.com 104.47.32.86 mail-sn1nam01on0086.outbound.protection.outlook.com X-Scanned-By: MIMEDefang 2.84 on 10.5.110.42 X-Scanned-By: MIMEDefang 2.79 on 10.5.11.12 X-loop: libvir-list@redhat.com X-Mailman-Approved-At: Thu, 28 Jun 2018 09:50:20 -0400 Cc: jai.rana@gmail.com, Jai Singh Rana Subject: [libvirt] [PATCH v4 4/6] conf: util: Add API to find net def given its domain's hostdev X-BeenThere: libvir-list@redhat.com X-Mailman-Version: 2.1.12 Precedence: junk List-Id: Development discussions about the libvirt library & tools List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Transfer-Encoding: quoted-printable Sender: libvir-list-bounces@redhat.com Errors-To: libvir-list-bounces@redhat.com X-Scanned-By: MIMEDefang 2.79 on 10.5.11.13 X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.40]); Thu, 28 Jun 2018 13:50:31 +0000 (UTC) X-ZohoMail-DKIM: fail (Header signature does not verify) X-ZohoMail: RDKM_2 RSF_0 Z_629925259 SPT_0 Content-Type: text/plain; charset="utf-8" Introduce API virDomainNetFindByHostdev which retrieves net def in given domain for the given hostdev def. This API will now be used by virDomainNetFind to further probe net for hostdev network devices. Signed-off-by: Jai Singh Rana --- src/conf/domain_conf.c | 43 +++++++++++++++++++++++++++++++++++++++++++ src/conf/domain_conf.h | 2 ++ src/libvirt_private.syms | 2 ++ src/util/virhostdev.c | 2 +- src/util/virhostdev.h | 3 +++ 5 files changed, 51 insertions(+), 1 deletion(-) diff --git a/src/conf/domain_conf.c b/src/conf/domain_conf.c index d8cb7f37f3..8432215d19 100644 --- a/src/conf/domain_conf.c +++ b/src/conf/domain_conf.c @@ -56,6 +56,7 @@ #include "virsecret.h" #include "virstring.h" #include "virnetdev.h" +#include "virnetdevhostdev.h" #include "virnetdevmacvlan.h" #include "virhostdev.h" #include "virmdev.h" @@ -29064,6 +29065,37 @@ virDomainNetFind(virDomainDefPtr def, const char *= device) =20 =20 /** + * virDomainNetFindByHostdev: + * @def: domain's def + * @hostdev: hostdev whose net def if exists to be retrieved + * + * Finds net def in domain given the domain's hostdev. + * + * Returns a pointer to the net def or NULL if not found. + */ +virDomainNetDefPtr +virDomainNetFindByHostdev(virDomainDefPtr def, + virDomainHostdevDefPtr hostdev) +{ + size_t i; + virDomainNetType actualType; + virDomainHostdevDefPtr hostdef =3D NULL; + + for (i =3D 0; i < def->nnets; i++) { + actualType =3D virDomainNetGetActualType(def->nets[i]); + if (actualType =3D=3D VIR_DOMAIN_NET_TYPE_HOSTDEV) + hostdef =3D virDomainNetGetActualHostdev(def->nets[i]); + else + continue; + if (!memcmp(hostdev, hostdef, sizeof(virDomainHostdevDef))) + return def->nets[i]; + } + + return NULL; +} + + +/** * virDomainNetFindByName: * @def: domain's def * @ifname: interface name @@ -29077,12 +29109,23 @@ virDomainNetFindByName(virDomainDefPtr def, const char *ifname) { size_t i; + virDomainNetDefPtr net =3D NULL; =20 for (i =3D 0; i < def->nnets; i++) { if (STREQ_NULLABLE(ifname, def->nets[i]->ifname)) return def->nets[i]; } =20 + /* Give a try to hostdev if its a switchdev network device*/ + for (i =3D 0; i < def->nhostdevs; i++) { + if (!virHostdevIsPCINetDevice(def->hostdevs[i])) + continue; + if (virNetdevHostdevCheckVFRIfName(def->hostdevs[i], ifname)) { + if ((net =3D virDomainNetFindByHostdev(def, def->hostdevs[i])= )) + return net; + } + } + return NULL; } =20 diff --git a/src/conf/domain_conf.h b/src/conf/domain_conf.h index 0924fc4f3c..ccec74e51d 100644 --- a/src/conf/domain_conf.h +++ b/src/conf/domain_conf.h @@ -3146,6 +3146,8 @@ int virDomainDiskSourceParse(xmlNodePtr node, =20 int virDomainNetFindIdx(virDomainDefPtr def, virDomainNetDefPtr net); virDomainNetDefPtr virDomainNetFind(virDomainDefPtr def, const char *devic= e); +virDomainNetDefPtr virDomainNetFindByHostdev(virDomainDefPtr def, + virDomainHostdevDefPtr hostde= v); virDomainNetDefPtr virDomainNetFindByName(virDomainDefPtr def, const char = *ifname); bool virDomainHasNet(virDomainDefPtr def, virDomainNetDefPtr net); int virDomainNetInsert(virDomainDefPtr def, virDomainNetDefPtr net); diff --git a/src/libvirt_private.syms b/src/libvirt_private.syms index 5aa8f7ed64..e4d8583d41 100644 --- a/src/libvirt_private.syms +++ b/src/libvirt_private.syms @@ -449,6 +449,7 @@ virDomainNetDefClear; virDomainNetDefFormat; virDomainNetDefFree; virDomainNetFind; +virDomainNetFindByHostdev; virDomainNetFindByName; virDomainNetFindIdx; virDomainNetGenerateMAC; @@ -1966,6 +1967,7 @@ virHostCPUStatsAssign; # util/virhostdev.h virHostdevFindUSBDevice; virHostdevIsMdevDevice; +virHostdevIsPCINetDevice; virHostdevIsSCSIDevice; virHostdevManagerGetDefault; virHostdevNetDevice; diff --git a/src/util/virhostdev.c b/src/util/virhostdev.c index c6ee725860..2b8ecb9649 100644 --- a/src/util/virhostdev.c +++ b/src/util/virhostdev.c @@ -348,7 +348,7 @@ virHostdevNetDevice(virDomainHostdevDefPtr hostdev, } =20 =20 -static bool +bool virHostdevIsPCINetDevice(virDomainHostdevDefPtr hostdev) { return hostdev->mode =3D=3D VIR_DOMAIN_HOSTDEV_MODE_SUBSYS && diff --git a/src/util/virhostdev.h b/src/util/virhostdev.h index 7412a20aa9..71faaf4e7a 100644 --- a/src/util/virhostdev.h +++ b/src/util/virhostdev.h @@ -197,6 +197,9 @@ virHostdevReAttachDomainDevices(virHostdevManagerPtr mg= r, const char *oldStateDir) ATTRIBUTE_NONNULL(2) ATTRIBUTE_NONNULL(3); bool +virHostdevIsPCINetDevice(virDomainHostdevDefPtr hostdev) + ATTRIBUTE_NONNULL(1); +bool virHostdevIsSCSIDevice(virDomainHostdevDefPtr hostdev) ATTRIBUTE_NONNULL(1); bool --=20 2.13.7 -- libvir-list mailing list libvir-list@redhat.com https://www.redhat.com/mailman/listinfo/libvir-list