From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mga09.intel.com (mga09.intel.com [134.134.136.24]) by dpdk.org (Postfix) with ESMTP id 64C28678D for ; Mon, 31 Mar 2014 20:44:50 +0200 (CEST) Received: from orsmga002.jf.intel.com ([10.7.209.21]) by orsmga102.jf.intel.com with ESMTP; 31 Mar 2014 11:41:44 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="4.97,767,1389772800"; d="scan'208,217";a="511788045" Received: from fmsmsx104.amr.corp.intel.com ([10.19.9.35]) by orsmga002.jf.intel.com with ESMTP; 31 Mar 2014 11:46:02 -0700 Received: from FMSMSX110.amr.corp.intel.com (10.18.116.10) by FMSMSX104.amr.corp.intel.com (10.19.9.35) with Microsoft SMTP Server (TLS) id 14.3.123.3; Mon, 31 Mar 2014 11:46:02 -0700 Received: from fmsmsx103.amr.corp.intel.com ([169.254.3.218]) by FMSMSX110.amr.corp.intel.com ([169.254.1.118]) with mapi id 14.03.0123.003; Mon, 31 Mar 2014 11:46:01 -0700 From: "Shaw, Jeffrey B" To: "hyunseok@ieee.org" Thread-Topic: [dpdk-dev] 82599ES NIC support Thread-Index: AQHPTQb8DcDCcln1dESibtumRCjM8Zr7dLTAgACBMwD//4s0YA== Date: Mon, 31 Mar 2014 18:46:01 +0000 Message-ID: <4032A54B6BB5F04B8C08B6CFF08C59285540EDFF@FMSMSX103.amr.corp.intel.com> References: <4032A54B6BB5F04B8C08B6CFF08C59285540EDBB@FMSMSX103.amr.corp.intel.com> In-Reply-To: Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-originating-ip: [10.1.200.106] MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable X-Content-Filtered-By: Mailman/MimeDel 2.1.15 Cc: "dev@dpdk.org" Subject: Re: [dpdk-dev] 82599ES NIC support 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, 31 Mar 2014 18:44:51 -0000 If you read the output that you posted, you will see the real error: "eth_i= xgbe_dev_init(): Hardware Initialization Failure: -30". The error code is = defined in lib/librte_pmd_ixgbe/ixgbe/ixgbe_type.h as IXGBE_ERR_SFP_SETUP_N= OT_COMPLETE. This has been reported several times on the mailing list, but you can searc= h "Unusable interfaces although apparently attached to IGB_UIO" to see for = yourself. To clarify your understanding of the internals of the driver code, I have p= rovided some information for your information, but this is irrelevant to yo= ur problem. You should see your PCI device ID (not the branding name associated with th= e product line) in rte_pci_dev_ids.h. You can use the command "lspci -s 0000:07:00.0 -x" to dump the config space= for your device. The first 4 bytes will be the vendor/device ID. For one specific instance of the 82599EB NIC, I have vendor ID of 0x8086 an= d device ID of 0x10FB. # lspci -s 0000:02:00.0 -x 02:00.0 Ethernet controller: Intel Corporation 82599EB 10-Gigabit SFI/SFP+ = Network Connection (rev 01) 00: 86 80 fb 10 <... snipped... > You should notice that the lines do in fact exist in include/rte_pci_dev_id= s.h #define IXGBE_DEV_ID_82599_SFP 0x10FB RTE_PCI_DEV_ID_DECL_IXGBE(PCI_VENDOR_ID_INTEL, IXGBE_DEV_ID_82599_SFP) This confirms that the specific instantiation of my device (0x8086, 0x10FB)= is supported. Thanks, Jeff From: hyunseok.chang@gmail.com [mailto:hyunseok.chang@gmail.com] On Behalf = Of HS Sent: Monday, March 31, 2014 11:16 AM To: Shaw, Jeffrey B Cc: dev@dpdk.org Subject: Re: [dpdk-dev] 82599ES NIC support > Can you check if your PCI device ID is listed in "lib/librte_eal/common/ include/rte_pci_dev_ids.h"? 82599ES is not listed in lib/librte_eal/common/ include/rte_pci_dev_ids.h On the other hand, 82599EB (which works okay with DPDK) is not listed there= either. > Can you verify that you have bound your device to "igb_uio", perhaps usin= g "tools/pci_unbind.py" (maybe renamed to tools/igb_uio_bind.py)? Yes: $ sudo pci_unbind.py --status Network devices using IGB_UIO driver =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D 0000:07:00.0 '82599ES 10-Gigabit SFI/SFP+ Network Connection' drv=3Digb_uio= unused=3D > You might also try to edit the ".config" (in your build directory, NOT th= e Linux .config) to enable any of the "CONFIG_RTE_LIBRTE_IXGBE_ DEBUG_*" options, in case there are more error messages. I enabled debugging as you said, and run testpmd app. It ends with an error "Cause: No probed ethernet devices - check that CONFI= G_RTE_LIBRTE_IGB_PMD=3Dy and that CONFIG_RTE_LIBRTE_EM_PMD=3Dy and that CON= FIG_RTE_LIBRTE_IXGBE_PMD=3Dy in your configuration file" Here is the detailed debug output: http://pastebin.com/tWkUZBKj Thanks, -hs On Mon, Mar 31, 2014 at 1:38 PM, Shaw, Jeffrey B > wrote: Can you check if your PCI device ID is listed in "lib/librte_eal/common/inc= lude/rte_pci_dev_ids.h"? Can you verify that you have bound your device to "igb_uio", perhaps using = "tools/pci_unbind.py" (maybe renamed to tools/igb_uio_bind.py)? You might also try to edit the ".config" (in your build directory, NOT the = Linux .config) to enable any of the "CONFIG_RTE_LIBRTE_IXGBE_DEBUG_*" optio= ns, in case there are more error messages. Thanks, Jeff -----Original Message----- From: dev [mailto:dev-bounces@dpdk.org] On Beh= alf Of HS Sent: Monday, March 31, 2014 10:30 AM To: dev@dpdk.org Subject: [dpdk-dev] 82599ES NIC support Hi, I was trying to test DPDK 1.6 with "82599ES" Intel NIC, but noticed that DP= DK does not seem to work with this NIC. DPDK app fails because rte_eth_dev_count() returns 0. On the other hand, I confirmed DPDK works okay with "82599EB". So looks like not all 82599 (ixgbe) chipsets are supported by DPDK while it= says so in http://dpdk.org/doc/nics What is the discrepancy between 82599ES and 82599EB, which causes the forme= r to fail to work with DPDK? Is it possible to fix this problem? I'll be glad to help fix it. Thanks, -HS