From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from NAM01-BN3-obe.outbound.protection.outlook.com (mail-bn3nam01on0058.outbound.protection.outlook.com [104.47.33.58]) by dpdk.org (Postfix) with ESMTP id DD1B62B92 for ; Fri, 9 Jun 2017 06:36:10 +0200 (CEST) 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; bh=K+ZKfCdvGZ9sL3dAQyCPh15e9STV40aFLiaV0AP6iuo=; b=TNCBEvcFCSvnwzEmsDqgVdvZky3YEnwU5oD8cK4BQGt0BmKQvChFcCYItllHzyAgHjdrQwxSqH+6vlGlDyiv3tzAL4oO9n9orgJOe0Rgm6ROu7kXE/qAbngsT7P1DxrDRcAvefSPDbSq6pXwUyUsh6EO4xsG/jEsk0yRHy6hKXo= Authentication-Results: intel.com; dkim=none (message not signed) header.d=none;intel.com; dmarc=none action=none header.from=caviumnetworks.com; Received: from jerin (27.59.52.202) by BLUPR0701MB1716.namprd07.prod.outlook.com (10.163.85.142) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256_P256) id 15.1.1143.10; Fri, 9 Jun 2017 04:36:07 +0000 Date: Fri, 9 Jun 2017 10:05:51 +0530 From: Jerin Jacob To: Ferruh Yigit Cc: dev@dpdk.org, thomas@monjalon.net Message-ID: <20170609043541.GA1708@jerin> References: <20170601130530.11443-1-jerin.jacob@caviumnetworks.com> <20170608114414.8787-1-jerin.jacob@caviumnetworks.com> <20170608171557.GB15360@jerin> <979ff41d-8866-6bab-d102-74c605fb7e03@intel.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <979ff41d-8866-6bab-d102-74c605fb7e03@intel.com> User-Agent: Mutt/1.8.3 (2017-05-23) X-Originating-IP: [27.59.52.202] X-ClientProxiedBy: BM1PR01CA0103.INDPRD01.PROD.OUTLOOK.COM (10.174.208.19) To BLUPR0701MB1716.namprd07.prod.outlook.com (10.163.85.142) X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: BLUPR0701MB1716: X-MS-Office365-Filtering-Correlation-Id: 96e15a7a-0ab1-4ec3-c6a7-08d4aef10cce X-Microsoft-Antispam: UriScan:; BCL:0; PCL:0; RULEID:(22001)(201703131423075)(201703031133081); SRVR:BLUPR0701MB1716; X-Microsoft-Exchange-Diagnostics: 1; BLUPR0701MB1716; 3:vfSqHJfZAhCr45W6lF0g7J9Fd3xXLoezWWWw0C86ZmRCMoimqMKFseRJf5auDtRGr9h9u916qUahQcKYvohgi4CFWcOfniDhpQRMgCzwNPujcA6/t536WOjpblAYlUM3Rp/u8uEegivrSbUnDTQJLYVv9zT3qeRgFBZi1l75pzWngrr3rpbKBYlD/mIl5ErfV5pLgTwbkGid4+w+8JxbCLZ/xK/+90H6ovuHrOrOgnLQzImIN/sk9jB2MhfxL3e/LALqxcxO3tqx9y6ecZ0GffG+9EQZUDbyRLJde1v0veRorPrIsrExOwMw5ggyOjmNXr/qX6Iz2rOugpJ3NYZlWw==; 25:dep2DCiXtCO8UGw0bcOzaHAVuxQqwgkayNluVPSyLfsQbN4EG9W5uxfFfxinGvoZnTKYNazkRaxKb0vVir63/GcNNGw4U4dfWbsTid88dfUHiP71eRQ4SmI2kwogvM5FyC8tOSKf+3JeNmHs4Onu77utbJZjU8oLCGA0T/kFj70wnkNPEgniek44PS6JHAxLTA8sDQ0RRgyJiefbGTpj2noPXr9gLPHhdWz4UA48CAemXiWsK9hDv0tTzwVoybB+99uLJPVUJxPVJzi0XVtl28648GXHmQ5brZSPXV4ans815mMwv9BL7qpbxP5vvvDoRVnjFwOw7qVu2cumFOLEhjgjubN20DVvtCfu4e/Gq3hl75jlmTBGZPA0+Yjnc1vbwEjQ7Qd0MZKxngEBSVdQ3qYhSXMpTAfNGebASs5O4A9tKOvW4YJIFkkjNBoa5S4Pc6BJKj/YeVGehUXfAAe9UUDjF0Azl6Po47LCv9CetF4= X-Microsoft-Exchange-Diagnostics: 1; BLUPR0701MB1716; 31:i7QAwG5QkrGBuuma+IJ4QMei0FL8AwWhpQ2ihwVfIHrXHA1HkfsUXPBD63MGS/LYM77mRomLdVfl2Q2djPQFL1NliM4jAa9LxXkN2drR4FNmX0Q6DLVOuY//WcBdNaJ+TEqPGB4JZMgSeBAnfdIS2GoTy5980pHbcLOlRyjigEiKHz+oa1frWgVUeBFxH2TjSvJ9hGjH/HniuzOCgAZxXGjquHCV1jCKb8Im20JrOE4eUTvU1ymQR8VHtMlhtxzvXYmU52AHmLMIR7+A/wWn2A==; 20:Wrrlzn3toLtQGqVxVkqASjvtunzV+4MJs1lfx3AFiZ1Jlhxc3CJQwhU3Pt+Pqc4lkHSqZTSWVOAXd0nPkB9yyjuibk8uQtiAsDW/HaqAw7DrmZp0UTA8TDLu1UzLJFolFsLmphwe+FGwGUcE24jiR9kcm/gLkaJgYMHsYGCiX/JHYo2cdSiOK/arODQOCtOq+SoeqYuirFsLRP7qxRQqh5c+f4ysk4RzaBRxrKQNVlhnq3jJV11xlyTSt3BRQ1uUbiDHOyd32Ly6eCH+d6XTLS0wehfSwMiPQmIwFnBPIiOOLkBrcWvkBcxLoB4CkFBwU5ygivIqDyyrzRKO3DEh/dHYMJAxW1wAwKOa9VusdPHskm6o/0loUTuUUt+SfBr4q/T3gGGXscFXp/hupIeMb9YY7W9lLph7Bfp63WxfEDyJcUgtZPkuJ3+LkwbvnKXLJRzbdWHQsySk1Hd1rveQ57x57a4OEnFuGbtEEcBCHL0ZFKNaSbovDAc8ffRUrYIqhaR9lFe0fcw5AeJhSu73zX9VeE/+dGARvvzW0wbtMtGGfZlp7HYr20WZ8QbZzrb1cFAAAJ7I1i9/nP1xOh7X43zoL+Oz8zy/FHlyA9xrP3Y= X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:(228905959029699); X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0; RULEID:(100000700101)(100105000095)(100000701101)(100105300095)(100000702101)(100105100095)(6040450)(601004)(2401047)(8121501046)(5005006)(93006095)(100000703101)(100105400095)(10201501046)(3002001)(6041248)(20161123558100)(201703131423075)(201702281528075)(201703061421075)(201703061406153)(20161123555025)(20161123564025)(20161123560025)(20161123562025)(6072148)(100000704101)(100105200095)(100000705101)(100105500095); SRVR:BLUPR0701MB1716; BCL:0; PCL:0; RULEID:(100000800101)(100110000095)(100000801101)(100110300095)(100000802101)(100110100095)(100000803101)(100110400095)(100000804101)(100110200095)(100000805101)(100110500095); SRVR:BLUPR0701MB1716; X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; BLUPR0701MB1716; 4:6KNRic4sI8jNNFODg+NsWcmi7Jr26tSzT2bzyyNx?= =?us-ascii?Q?97bazkPNjssfNfupaLwHlqsEbUf5C/dsG94f996j90rG/LuKhIHHHeZA8aIk?= =?us-ascii?Q?7Y5c86tA/SvWu6Z+O+RlEAHBqaQnpuMhgLeSXOkaAzx52TIsSlK7AHGpbRu1?= =?us-ascii?Q?h2pc2HprSr48NXj3UPZutFwrdIKyZD1k2XH8s3y+r1ppCEtgh/UVmKfPHOvm?= =?us-ascii?Q?MkyjCxDH39mUOWB1MCQxFcKpYYL/tqqqb0Ob97F7/+F9QbffXBV3In9rfwEZ?= =?us-ascii?Q?ljgXyyVeVSLGLY7pWQFr+3nz8BZaLInhByoVixm7l0b/NHwOwAw9bLmP+Sk8?= =?us-ascii?Q?dty8DLwIY1qnVam03uRUDz9m1xZjbcKZ4DBMe3fZemcYQC9YtMCn8VfLmkcJ?= =?us-ascii?Q?bUYMNm7yoByAApYHK3By37DWI1hIVGrbHAfooQiu5kZDm0ChVS/uhx6HiA1o?= =?us-ascii?Q?3V9ANBX+d8AaBaFOZoom/GnBw4EQVXGJhCPPUQ7Vj11std4vjLBK57m+4Je7?= =?us-ascii?Q?cvKlSTDDSOgKnARpA4dfZS+YyeYdsNJz54aLeChsZzyY8lqQSlm+NQSIi8Us?= =?us-ascii?Q?RUyjItSFpAom1+lXQS/rFrkyk3aCyPbWwbVuj0Ugg7AD1Q9lfZKBmUlwlez9?= =?us-ascii?Q?t4P/jfKaKSEQWtLNIjDGf3npuXTe3FP54GBIeVUv1DN7VYvp1fkZRK8xbjpv?= =?us-ascii?Q?Mne+7GfyL9Inr2/04AaQfdK8cwm9Y+7oS8xGLE7X8BjufoCDRYTnF/6VAWET?= =?us-ascii?Q?64tGNR0elV9BCUuDqY3uGSEYijYOkZbwwn1HrWQfye4ieyTrPLT13OVbPSMJ?= =?us-ascii?Q?l6UC4QKSaHBIXnzE5mqEDsiZxaiej/xVJQuqk6XskAYOJnJJdPUvgn3UJtLR?= =?us-ascii?Q?/1xn6grw509JsHa4SmmnzopyKsuY4l8g0V9BhP1LrjvkhdW3kJlRdfVrr0gp?= =?us-ascii?Q?Xg/vJrrs+I+8Kd3A7tEW7W//96HnI55O15sAgU2VN+18cLpvd0pYcYEoAIkh?= =?us-ascii?Q?nVkQHsjqkr8PXs3/XoegckJWqBNtjdaZHeSzqacJKxo6b5PuSNu3JLmrn/hy?= =?us-ascii?Q?VME+mUSnHqz5cLUcP+w9xN0B0u6cHFJS93BK3+YN3R7kuNEPxAEYIBSIh6wH?= =?us-ascii?Q?SHwtqpU9zsrUrbLUtT7sHjHVQS+jQEL0FYn1Qu4g7hKWfRjkZg/AyQ=3D=3D?= X-Forefront-PRVS: 03333C607F X-Forefront-Antispam-Report: SFV:NSPM; SFS:(10009020)(4630300001)(6009001)(39450400003)(39840400002)(39400400002)(39850400002)(39410400002)(377454003)(24454002)(13464003)(66066001)(478600001)(5009440100003)(110136004)(6246003)(6496005)(189998001)(47776003)(9686003)(53936002)(38730400002)(55016002)(5660300001)(93886004)(2906002)(229853002)(2950100002)(6666003)(42882006)(42186005)(4326008)(81166006)(6916009)(33656002)(7736002)(72206003)(50986999)(76176999)(54356999)(1076002)(25786009)(53546009)(33716001)(305945005)(23726003)(3846002)(8676002)(18370500001); DIR:OUT; SFP:1101; SCL:1; SRVR:BLUPR0701MB1716; H:jerin; FPR:; SPF:None; MLV:sfv; LANG:en; X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; BLUPR0701MB1716; 23:DGt0KMQALYZ+Y18VP5pLZcxD5T4yWKflOydOAGl?= =?us-ascii?Q?XWJW1aIIOFLqg0OJRByIFw/Gs6EB/SG2tdHuuZGPw6ssrG6dAqe3QwySNaP1?= =?us-ascii?Q?KdZfnHlp64risLocjCq16AZvMylP0Xd2ag36OGdABrh5ZCE61eSzNSLGX6Vm?= =?us-ascii?Q?Gtd4WGmADj0EFiz5qIvNaByf8hUxB1q96mEwed/fKDiL2c/u8dCF3hn6MeKL?= =?us-ascii?Q?k3/gKhrCK8vho67cxP8v69xhHpoBsAvhpodnOhfDMyD/qXCiCZ81UhXejfMz?= =?us-ascii?Q?CE1TZtfiJitMCgeOIZmXI/Paawsx/WGsrFPozGEA6l5Ga/nuDJ+vBQz/8mVS?= =?us-ascii?Q?b/0mIcyDxbpXCXGOnVlN6JI1+uXO4EqpwSUafVYeV7ry9mVkWzhbAOCC0lKz?= =?us-ascii?Q?KIsksJcOIhMYxBER3vI3EwYyZFP7Oh7K9T+cbIqv8KDvTvjBdVlbc+LzAM2B?= =?us-ascii?Q?BCEneoQPxMqtXMi8GErC2XHMusRYTL6qTV07llokhGsIo9vdj4suF79/8e3M?= =?us-ascii?Q?kFPc/5fTQt5inRkAeWHiejQS/AKIpRcz2Qpkf3tOzlDiyRLSaRt2jrSLzGiY?= =?us-ascii?Q?XwjWKeAudIPS9Fdn9OY5LG4UxOr1T4ARBYYA3z6lFWsR3ei8K/e/KSe9718g?= =?us-ascii?Q?QU2z+UzFcgWQ9oRr7xtcbEoEAvcFUdmJ6iILiiIw2MGYz/+j+jpU3y3Po3rA?= =?us-ascii?Q?wqTkQWSpksZevANIxAm9/8KFRZBjnGe72CZSl9ZGjBJvpSsswbhJIPUJRMJw?= =?us-ascii?Q?FWqktqzjhQP/qSoYuKFwYpgsYi+2lF4wN2tSovux6DMOG5Gzee1JVMwhplBk?= =?us-ascii?Q?b6MZy0gpyirGyVfm/JjsidsSouimc/T6JRKU86u0G1AzVFaS5pBPViTQFGnU?= =?us-ascii?Q?7PS4SoIygwhwGd3MfjLoAkbHT1iLpH/BHMSgJgTCVPdTVQL96GNXlQtcjdd1?= =?us-ascii?Q?hJcsqiMJH0BPCs/wVjrD0NoRXSgpwz5nhJIDOuUc0uqJ2t69Iusac7utDBUX?= =?us-ascii?Q?cM7kwxTaTS1YQ+v9RAVMV6jMtl8+vun5xZdtkvejCOOLbtkZpRvAUlUOoNej?= =?us-ascii?Q?1BVKy1JCHANNKg9C4ULB6MZKN5z6JmmhALHHjSFXMdZV+H/8h2FSRLE7Rf0r?= =?us-ascii?Q?cZ64S8ZIjU7h6iVMySPKaXgxZn4RjR8c4VN1PJ7f3bEHd1O8Lvoe42f2RIDb?= =?us-ascii?Q?wyhd7avGJbiOCKMP6IZx+td+kmWVBBRwuEnJ0?= X-Microsoft-Exchange-Diagnostics: 1; BLUPR0701MB1716; 6:iDujqHOE6DsUw6Pzr1sSkVEK2uklVLnr2OxiqmB6mNhUs5IqY6SVs+qeMjf21j8XaAgPS79uIx1KtO6n2s4ycOSXqV5E+/3s5PqYPL3qsqzNb/FT+8J+c+xc0/pe6EKdKCVALbHUCoLUtD0MviMZ3a0XuDyqcwgU14yRcrjgp8LUBq+dngVXDhmqntwytY8UH6bkYeYgweQ7cc60Q+WwKiATX1t0Hsd7OG90jxwjU+FiKrIHW3zRFxsG708ZhiV+z3PEPc6Vj00Hr8Khb6zLg2DQJFTo5WXvHiuscP9WsA8PPfPEfN7FcnrD2YNDNtvvFYEXJtin7YklXJcBgSLkhM/zJYdipE9UcE76jLFtjq6r9ESwljpj+ZWek5+3Qg/n0AJc4KRcYp2r37m02myizC0KBUWCB/3/pP3g+syh44uFrBmD8lG+P5B291oZAH3qFxA5Sc/Ci9E/BwY8K8oJW8dDLyG3atlD1MLlqGJu8gQAWKEbIwcqGy8E0JTY8dQX4y/s8v3Y6gUP1dpD87883Q== X-Microsoft-Exchange-Diagnostics: 1; BLUPR0701MB1716; 5:UZHshIC63dKDlKjO30zS+/M/HbLAl4Cw6qJ5fLT0pGLUuiuFDJdj5dmeeMCTScjCyIoLXvbElO6dCn/ke2iBf4ybAgdFjAJqh7d6hDVycDnh9sZWtaRTmklZBbCSyd3TQV6k1S7wD7eb7qXhX5IAlCry67QKq9i44lgRHWGgTiCrQexnNShTYHhs+w6ngrVlX1E8E1bR3tOo18VBx/VsHXNKRHywXSsQHgjyjqudW0gGKZYnAwWIc2yz+BqNQOuH0NxC7rzMYa6A2Wj034zupVBV1YUHFQnWGoo9z9mR8sjpW+MpEF+BfoaB5hSTpEBDhPEGL3ISaGX18nsDv2aaE96A9nSvILcUrYNe3kH0hBewlmYvfa8AtBSvAXBIZAJX2Xkqr4Zr1StDrS+il8DD/2+B1OVX67Yo2OFZ05EyHhaoeBt5ycmZMKr2xogVS93HNSS9H2QH/A0wj7xbHHJX06Uw2p6sDeFDl1ck1RUwaz6EgS0H5EwA6BfuRGx0tzeA; 24:P/rSRV/2xHJ2nPWtZb18g3NJdLeYY6F+SDDguIh1pfTkHxg/0Wpe9gSJXaZH4rc0M7mi3FwHVwITReGGSJFnYR9uYpATccrg4XOvsqpVldI= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1; BLUPR0701MB1716; 7:3iEJl/mNizDpVXJYFD71092ZbEmHoHdCeDGhzrL21z6kJxPIsGEymfzIDH75a7v1LQz+D1zFqi9ebOnTtnLWjFG2nhg2aRJGqO2cm43Isg/67X8eEf588c9uwYv3koKGSlUNS/Mkc/sS5oceleOMe9JWYSQFYCxssv5yGOe/9wzOArA2LrZFTpQHqRO+IQMDNpRJS5PzcSXiQxdapPqJEbUDsx7NKvpcKmmsVivbhLXcqjnfYzbywZ7Ma1OopRGfGa9Gfl1iXD+KmR9TaOZztWna8D0jgGKCjMUDhAkJQyzrKWG9hEr6FdJjWQBXDS9rlKpRDpPPoM8smp38ppz/5w== X-OriginatorOrg: caviumnetworks.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 09 Jun 2017 04:36:07.3810 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-Transport-CrossTenantHeadersStamped: BLUPR0701MB1716 Subject: Re: [dpdk-dev] [PATCH v2 1/2] eal/pci: introduce a PCI driver flag X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 09 Jun 2017 04:36:11 -0000 -----Original Message----- > Date: Thu, 8 Jun 2017 20:44:17 +0100 > From: Ferruh Yigit > To: Jerin Jacob > CC: dev@dpdk.org, thomas@monjalon.net > Subject: Re: [dpdk-dev] [PATCH v2 1/2] eal/pci: introduce a PCI driver flag > User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:52.0) Gecko/20100101 > Thunderbird/52.1.1 > > On 6/8/2017 6:15 PM, Jerin Jacob wrote: > > -----Original Message----- > >> Date: Thu, 8 Jun 2017 15:40:33 +0100 > >> From: Ferruh Yigit > >> To: Jerin Jacob , dev@dpdk.org > >> CC: thomas@monjalon.net > >> Subject: Re: [dpdk-dev] [PATCH v2 1/2] eal/pci: introduce a PCI driver flag > >> User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:52.0) Gecko/20100101 > >> Thunderbird/52.1.1 > >> > >> On 6/8/2017 12:44 PM, Jerin Jacob wrote: > >>> Some ethdev devices like nicvf thunderx PMD need special treatment for > >>> Secondary queue set(SQS) PCIe VF devices, where, it expects to not unmap > >>> or free the memory without registering the ethdev subsystem. > >>> > >>> Introducing a new RTE_PCI_DRV_KEEP_MAPPED_RES > >>> PCI driver flag to request PCI subsystem to not unmap the mapped PCI > >>> resources(PCI BAR address) if unsupported device detected. > >>> > >>> Signed-off-by: Jerin Jacob > >> > >> <...> > >> > >>> @@ -235,6 +240,7 @@ rte_pci_probe_one_driver(struct rte_pci_driver *dr, > >>> static int > >>> rte_pci_detach_dev(struct rte_pci_device *dev) > >>> { > >>> + int ret = 0; > >>> struct rte_pci_addr *loc; > >>> struct rte_pci_driver *dr; > >>> > >>> @@ -251,13 +257,18 @@ rte_pci_detach_dev(struct rte_pci_device *dev) > >>> RTE_LOG(DEBUG, EAL, " remove driver: %x:%x %s\n", dev->id.vendor_id, > >>> dev->id.device_id, dr->driver.name); > >>> > >>> - if (dr->remove && (dr->remove(dev) < 0)) > >>> - return -1; /* negative value is an error */ > >>> + if (dr->remove) { > >>> + ret = dr->remove(dev); > >>> + if (ret < 0) > >>> + return -1; /* negative value is an error */ > >>> + } > >>> > >>> /* clear driver structure */ > >>> dev->driver = NULL; > >>> > >>> - if (dr->drv_flags & RTE_PCI_DRV_NEED_MAPPING) > >>> + if ((dr->drv_flags & RTE_PCI_DRV_NEED_MAPPING) && > >>> + /* Don't unmap if dev is unsupported and it needs mapped resources */ > >>> + !(ret > 0 && (dr->drv_flags & RTE_PCI_DRV_KEEP_MAPPED_RES))) > >> > >> Why it is required to keep mapping during detach? > > > > To keep symmetrical with other(on probe) unmap change. This will > > activated only when PMD returns the positive number on remove() so PMD > > has control over it. The existing use case, We cannot just detach a single > > VF(one SQS VF is _not_ one ethdev port i.e one ethdev port consists of > > multiple VFs) so we need control on when to unmap those BARs. > > For generic eal, there is an explicit request to detach the device, I am > not sure about returning success but not releasing the resources based > on PMD flag. How this will work with hotplug? Again it is in the control of PMD. If PMD remove() returns 0 or <0 or !RTE_PCI_DRV_KEEP_MAPPED_RES flag it will release the memory. If PMD is keeping the resources it can free on primary(!SQS VF) VF detach. > > > And specific to your case, -thanks for clarification, since no eth_dev > created for SQS VF, rte_eth_dev_pci_generic_remove() won't be useful but > assuming you have implemented your remove(), can it be possible to > detect SQS VF and act accordingly, or just return error perhaps if you > cannot detach that VF? nicvf PMD is not advertising RTE_ETH_DEV_DETACHABLE capable and it is in integrated internal bus so PCI hot-plug may not be a use case for this PMD. if you still think, RTE_PCI_DRV_KEEP_MAPPED_RES check needs to removed from rte_pci_detach_dev(), I can do that send a new version. > > > > >> > >>> /* unmap resources for devices that use igb_uio */ > >>> rte_pci_unmap_device(dev); > >>> > >> > >> <...> > >> >