From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mga01.intel.com (mga01.intel.com [192.55.52.88]) by dpdk.org (Postfix) with ESMTP id A73DFC6EC for ; Fri, 29 Jan 2016 18:12:34 +0100 (CET) Received: from orsmga001.jf.intel.com ([10.7.209.18]) by fmsmga101.fm.intel.com with ESMTP; 29 Jan 2016 09:12:34 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.22,365,1449561600"; d="scan'208";a="871853015" Received: from bricha3-mobl3.ger.corp.intel.com ([10.237.208.159]) by orsmga001.jf.intel.com with SMTP; 29 Jan 2016 09:12:31 -0800 Received: by (sSMTP sendmail emulation); Fri, 29 Jan 2016 10:12:30 -0600 Date: Fri, 29 Jan 2016 10:12:30 -0700 From: Bruce Richardson To: Nagaraj Trivedi Message-ID: <20160129171230.GB14384@bricha3-MOBL3> References: MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: Organization: Intel Shannon Ltd. User-Agent: Mutt/1.5.23 (2014-03-12) Cc: dev@dpdk.org Subject: Re: [dpdk-dev] which driver to bind for the NIC interfacesg 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: Fri, 29 Jan 2016 17:12:35 -0000 On Mon, Jan 25, 2016 at 06:17:23PM +0530, Nagaraj Trivedi wrote: > Hi all, in the Getting Started Guide for Linux, Release 2.2.0 it is > mentioned that we need to bind the ports to uio_pci_generic, igb_uio or > vfio-pci. > > I would like to know exactly among uio_pci_generic, igb_uio or vfio-pci to > which one I need to bind the port. > > This is touched upon in the documentation here: http://dpdk.org/doc/guides/linux_gsg/build_dpdk.html#loading-modules-to-enable-userspace-io-for-dpdk The short version is that it depends upon your use-case. In all cases the igb_uio module should work, but it is an out-of-tree kernel module. Because of that vfio and uio_pci_generic are better alternatives, but have some restrictions: * vfio requires an IOMMU be present (though this should change in future kernels) * uio_pci_generic requires the device have legacy interrupts, so won't work with virtual function devices. If in doubt, and if you don't care about out of tree drivers, just go with igb_uio to start with. /Bruce