From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mga14.intel.com (mga14.intel.com [192.55.52.115]) by dpdk.org (Postfix) with ESMTP id 4C0F08E91 for ; Mon, 4 Jan 2016 10:51:36 +0100 (CET) Received: from orsmga001.jf.intel.com ([10.7.209.18]) by fmsmga103.fm.intel.com with ESMTP; 04 Jan 2016 01:51:25 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.20,520,1444719600"; d="scan'208";a="853052935" Received: from dpdk15.sh.intel.com ([10.239.129.25]) by orsmga001.jf.intel.com with ESMTP; 04 Jan 2016 01:51:23 -0800 From: Huawei Xie To: dev@dpdk.org Date: Mon, 4 Jan 2016 01:56:09 +0800 Message-Id: <1451843773-103006-1-git-send-email-huawei.xie@intel.com> X-Mailer: git-send-email 1.8.1.4 In-Reply-To: <20151222035041.GA7532@pxdev.xzpeter.org> References: <20151222035041.GA7532@pxdev.xzpeter.org> Subject: [dpdk-dev] [PATCH v2 0/4] fix the issue that DPDK takes over virtio device blindly X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: patches and discussions about DPDK List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 04 Jan 2016 09:51:36 -0000 v2 changes: Remove unnecessary assignment of NULL to dev->data->mac_addrs Ajust one comment's position change LOG level from ERR to INFO virtio PMD doesn't set RTE_PCI_DRV_NEED_MAPPING in drv_flags of its eth_driver. It will try igb_uio and PORT IO in turn to configure virtio device. Even user in guest VM doesn't want to use virtio for DPDK, virtio PMD will take over the device blindly. The more serious problem is kernel driver is still manipulating the device, which causes driver conflict. This patch checks if there is any kernel driver manipulating the virtio device before virtio PMD uses port IO to configure the device. Huawei Xie (4): eal: make the comment more accurate eal: set kdrv to RTE_KDRV_NONE if kernel driver isn't manipulating the device. virtio: return 1 to tell the kernel we don't take over this device virtio: check if any kernel driver is manipulating the virtio device drivers/net/virtio/virtio_ethdev.c | 16 ++++++++++++++-- lib/librte_eal/common/eal_common_pci.c | 8 ++++---- lib/librte_eal/linuxapp/eal/eal_pci.c | 2 +- 3 files changed, 19 insertions(+), 7 deletions(-) -- 1.8.1.4