From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from we2-f167.wedos.net (w-smtp-out-7.wedos.net [46.28.106.5]) by dpdk.org (Postfix) with ESMTP id 201285A53 for ; Thu, 30 Jul 2015 18:21:23 +0200 (CEST) Received: from ([147.229.13.147]) by we2-f167.wedos.net (WEDOS Mail Server mail2) with ASMTP (SSL) id RBZ00121; Thu, 30 Jul 2015 18:21:21 +0200 Date: Thu, 30 Jul 2015 18:19:03 +0200 From: Jan Viktorin To: Ravi Kerur Message-ID: <20150730181903.1af80aaf@pcviktorin.fit.vutbr.cz> In-Reply-To: References: <20150728201336.43239fd0@pcviktorin.fit.vutbr.cz> <55B89832.3070904@enea.com> <20150730140310.257264ae@pcviktorin.fit.vutbr.cz> <20150730172213.52791696@pcviktorin.fit.vutbr.cz> Organization: RehiveTech MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Cc: "dev@dpdk.org" Subject: Re: [dpdk-dev] lost when learning how to test dpdk 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: Thu, 30 Jul 2015 16:21:23 -0000 OK, I've added the card into RTE_PCI_DEVEM_ID_DECL_EM list. Much better now: EAL: Requesting 64 pages of size 2MB from socket 0 EAL: TSC frequency is ~3699995 KHz EAL: Master lcore 0 is ready (tid=467d78c0;cpuset=[0]) EAL: lcore 1 is ready (tid=3a5ff700;cpuset=[1]) EAL: PCI device 0000:03:00.0 on NUMA socket -1 EAL: probe driver: 8086:1026 rte_em_pmd EAL: PCI memory mapped at 0x7fde44a00000 EAL: PCI memory mapped at 0x7fde44a20000 PMD: eth_em_dev_init(): port_id 0 vendorID=0x8086 deviceID=0x1026 EAL: PCI device 0000:03:02.0 on NUMA socket -1 EAL: probe driver: 8086:1026 rte_em_pmd EAL: Not managed by a supported kernel driver, skipped Interactive-mode selected EAL: Error - exiting with code: 1 Cause: Creation of mbuf pool for socket 0 failed I've tried both uio_pci_generic and igb_uio. Is there anything else I can do about it? Jan V. On Thu, 30 Jul 2015 08:41:47 -0700 Ravi Kerur wrote: > On Thu, Jul 30, 2015 at 8:22 AM, Jan Viktorin > wrote: > > > The 82545 is listed at http://dpdk.org/doc/nics and I can see it in > > rte_pci_dev_ids.h/e1000_hw.h: > > > > 196 #define E1000_DEV_ID_82545GM_COPPER 0x1026 > > > > $ lspci -nn > > ... > > 03:00.0 Ethernet controller [0200]: Intel Corporation 82545GM Gigabit > > Ethernet Controller [8086:1026] (rev 04) > > 03:02.0 Ethernet controller [0200]: Intel Corporation 82545GM Gigabit > > Ethernet Controller [8086:1026] (rev 04) > > > > However, it is rev 04 and in e1000_hw.h there is just e1000_82545_rev_3. > > But this should not avoid the match (?). Is it possible to grow the > > verbosity > > level of the device matching process in DPDK? > > > > Check lib/librte_eal/common/include/rte_pci_dev_ids.h, you need to add > device-id via RTE_PCI_DEVEM_ID_DECL_EM. > > > > > I do not expect any support, I just wanted to use it for sending traffic > > at 1 Gbps because there are two such cards mostly unused in my computer. > > I did not plan to use I217-V (in fact, I did not expect much from this > > integrated NIC and I did not even notice it is an Intel one...). > > > > Regards > > Jan Viktorin > > > > On Thu, 30 Jul 2015 07:44:14 -0700 > > Ravi Kerur wrote: > > > > > On Thu, Jul 30, 2015 at 5:03 AM, Jan Viktorin > > > wrote: > > > > > > > Hi, > > > > > > > > thanks for reply. I could see those docs but it does not help me a lot. > > > > I still do not understand very well the principle of the tool. How it > > > > chooses the NICs to use? Previously I confused -b in dpdk_nic_bind and > > > > testpmd. They have somehow opposite meaning. I can start testpmd now, > > > > however, it does ot probe any NIC. I've tried -w to whitelist certain > > > > NICs but with no success. > > > > > > > > $ dpdk_nic_bind --status > > > > > > > > Network devices using DPDK-compatible driver > > > > ============================================ > > > > 0000:03:00.0 '82545GM Gigabit Ethernet Controller' drv=uio_pci_generic > > > > unused=e1000 > > > > 0000:03:02.0 '82545GM Gigabit Ethernet Controller' drv=uio_pci_generic > > > > unused=e1000 > > > > > > > > > > NICs may not be supported by PMD drivers yet. Do "lspci -nn" and check > > the > > > device-id. Adding support in PMD should not be a problem, but I am not > > > sure on support since there is End of Life listed on Intel Website > > > > > > > > http://ark.intel.com/products/4964/Intel-82545GM-Gigabit-Ethernet-Controller > > > > > > > > > > Network devices using kernel driver > > > > =================================== > > > > 0000:00:19.0 'Ethernet Connection I217-V' if=eno1 drv=e1000e > > > > unused=uio_pci_generic *Active* > > > > > > > > > > DPDK doesn't bind Active NIC, support for I217-V in PMD is being tested > > > currently. > > > > > > > > > > > > > > Other network devices > > > > ===================== > > > > > > > > > > > > $ sudo testpmd -c 0x3 -n 2 -- -i --total-num-mbufs=2048 > > > > EAL: Detected lcore 0 as core 0 on socket 0 > > > > EAL: Detected lcore 1 as core 1 on socket 0 > > > > EAL: Detected lcore 2 as core 0 on socket 0 > > > > EAL: Detected lcore 3 as core 1 on socket 0 > > > > EAL: Support maximum 128 logical core(s) by configuration. > > > > EAL: Detected 4 lcore(s) > > > > EAL: VFIO modules not all loaded, skip VFIO support... > > > > EAL: Setting up physically contiguous memory... > > > > EAL: Ask a virtual area of 0x3c00000 bytes > > > > EAL: Virtual area found at 0x7fe973e00000 (size = 0x3c00000) > > > > EAL: Ask a virtual area of 0x200000 bytes > > > > EAL: Virtual area found at 0x7fe973a00000 (size = 0x200000) > > > > EAL: Ask a virtual area of 0x200000 bytes > > > > EAL: Virtual area found at 0x7fe973600000 (size = 0x200000) > > > > EAL: Ask a virtual area of 0x3c00000 bytes > > > > EAL: Virtual area found at 0x7fe96f800000 (size = 0x3c00000) > > > > EAL: Ask a virtual area of 0x200000 bytes > > > > EAL: Virtual area found at 0x7fe96f400000 (size = 0x200000) > > > > EAL: Ask a virtual area of 0x200000 bytes > > > > EAL: Virtual area found at 0x7fe96f000000 (size = 0x200000) > > > > EAL: Requesting 64 pages of size 2MB from socket 0 > > > > EAL: TSC frequency is ~3699998 KHz > > > > EAL: Master lcore 0 is ready (tid=7989d8c0;cpuset=[0]) > > > > EAL: lcore 1 is ready (tid=6efff700;cpuset=[1]) > > > > EAL: No probed ethernet devices > > > > Interactive-mode selected > > > > Done > > > > testpmd> > > > > > > > > Thanks > > > > Jan Viktorin > > > > > > > > On Wed, 29 Jul 2015 12:09:06 +0300 > > > > ciprian.barbu wrote: > > > > > > > > > > > > > > > > > > > On 28.07.2015 21:13, Jan Viktorin wrote: > > > > > > Hello all, > > > > > > > > > > > > I am learning how to measure throughput with dpdk. I have 4 cores > > > > > > Intel(R) Core(TM) i3-4360 CPU @ 3.70GHz and two 82545GM NICs > > connected > > > > > > together. I do not understand very well, how to setup testpmd. > > > > > > > > > > http://dpdk.org/doc > > > > > http://dpdk.org/doc/guides/testpmd_app_ug/run_app.html > > > > > http://dpdk.org/doc/quick-start > > > > > > > > > > > > > > > > > I've successfully bound the NICs to dpdk: > > > > > > > > > > > > $ dpdk_nic_bind --status > > > > > > > > > > > > Network devices using DPDK-compatible driver > > > > > > ============================================ > > > > > > 0000:03:00.0 '82545GM Gigabit Ethernet Controller' > > drv=uio_pci_generic > > > > unused=e1000 > > > > > > 0000:03:02.0 '82545GM Gigabit Ethernet Controller' > > drv=uio_pci_generic > > > > unused=e1000 > > > > > > > > > > > > Network devices using kernel driver > > > > > > =================================== > > > > > > 0000:00:19.0 'Ethernet Connection I217-V' if=eno1 drv=e1000e > > > > unused=uio_pci_generic *Active* > > > > > > > > > > > > Other network devices > > > > > > ===================== > > > > > > > > > > > > > > > > > > and then I tried to run testpmd: > > > > > > > > > > > > sudo ./testpmd -b 0000:03:00.0 -b 0000:03:02.0 -c 0xf -n2 -- > > > > --nb-cores=1 --nb-ports=0 --rxd=2048 --txd=2048 --mbcache=512 > > --burst=512 > > > > > > > > > > > > > > > > http://dpdk.org/doc/guides/testpmd_app_ug/run_app.html#testpmd-command-line-options > > > > > > > > > > The -b option black lists your PCI devices, you don't need those. The > > > > > --nb-ports is of course the number of ports, it cannot be 0. > > > > > > > > > > > ... > > > > > > EAL: Ask a virtual area of 0x400000 bytes > > > > > > EAL: Virtual area found at 0x7f1549800000 (size = 0x400000) > > > > > > EAL: Requesting 1024 pages of size 2MB from socket 0 > > > > > > EAL: TSC frequency is ~3699999 KHz > > > > > > EAL: Master lcore 0 is ready (tid=de94a8c0;cpuset=[0]) > > > > > > EAL: lcore 2 is ready (tid=487fd700;cpuset=[2]) > > > > > > EAL: lcore 3 is ready (tid=47ffc700;cpuset=[3]) > > > > > > EAL: lcore 1 is ready (tid=48ffe700;cpuset=[1]) > > > > > > EAL: No probed ethernet devices > > > > > > EAL: Error - exiting with code: 1 > > > > > > Cause: Invalid port 0 > > > > > > > > > > > > I tried --nb-ports={0,1,2} but neither of them works. BTW, what > > does > > > > this option it mean? :) > > > > > > I could not find any description in the docs nor in the help (maybe > > > > I've omitted something). > > > > > > > > > > > > > > > > > > Well, if I manage the testpmd to work I need a packet generator, > > > > right? I've downloaded > > > > > > the dpdk-pktgen. And I am lost again. How can I start it? > > > > > > > > > > > > After several attempts (mostly trying to use the > > > > pktgen-master/slave.sh, what is > > > > > > their purpose?), the most "successful" output was: > > > > > > > > > > > > ... > > > > > > EAL: Detected lcore 0 as core 0 on socket 03 handles port 1 rx & > > core > > > > 4 handles port 0-7 tx > > > > > > EAL: Detected lcore 1 as core 1 on socket 0 as it does not matter > > to > > > > the syntax. > > > > > > EAL: Detected lcore 2 as core 0 on socket 0 > > > > > > EAL: Detected lcore 3 as core 1 on socket > > > > 0p/app/x86_64-native-linuxapp-gcc (master *%=) > > > > > > EAL: Support maximum 128 logical core(s) by configuration. > > > > > > EAL: Detected 4 lcore(s) > > > > > > EAL: No free hugepages reported in hugepages-2048kB > > > > > > > > > > You either don't have hugepages or there aren't any free left. > > > > > > > > > > > PANIC in rte_eal_init(): > > > > > > Cannot get hugepage information > > > > > > 6: [./pktgen(_start+0x29) [0x41abc9]] > > > > > > 5: [/usr/lib/libc.so.6(__libc_start_main+0xf0) [0x7f93eadcc790]] > > > > > > 4: [./pktgen(main+0x140) [0x419d80]] > > > > > > 3: [./pktgen(rte_eal_init+0xd2b) [0x4bb8bb]] > > > > > > 2: [./pktgen(__rte_panic+0xc9) [0x419ae5]] > > > > > > 1: [./pktgen(rte_dump_stack+0x16) [0x4c3946]] > > > > > > Aborted (core dumped) > > > > > > > > > > > > I'd like to run a simple scenario, just sending packets from one > > NIC > > > > to the other (or > > > > > > something similar) and measure the throughput. Could you please > > help > > > > me? > > > > > > > > > > > > Regards > > > > > > Jan Viktorin > > > > > > > > > > > > > > > > > > > > > > -- > > > > Jan Viktorin E-mail: Viktorin@RehiveTech.com > > > > System Architect Web: www.RehiveTech.com > > > > RehiveTech > > > > Brno, Czech Republic > > > >