From mboxrd@z Thu Jan 1 00:00:00 1970 From: Jay Rolette Subject: Re: Help: How to read packet statistics from device registers via dpdk PMD? Date: Thu, 7 Jul 2016 07:19:31 -0500 Message-ID: References: Mime-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable Cc: DPDK To: Bill Bonaparte Return-path: Received: from mail-vk0-f42.google.com (mail-vk0-f42.google.com [209.85.213.42]) by dpdk.org (Postfix) with ESMTP id 092CA2946 for ; Thu, 7 Jul 2016 14:19:33 +0200 (CEST) Received: by mail-vk0-f42.google.com with SMTP id d67so17546145vkh.1 for ; Thu, 07 Jul 2016 05:19:32 -0700 (PDT) In-Reply-To: List-Id: patches and discussions about DPDK List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Sender: "dev" On Thu, Jul 7, 2016 at 12:52 AM, Bill Bonaparte wrote: > I am so happy to get your reply. > My dpdk version is 2.1=EF=BC=8Cand the OS is centOS 7=E3=80=82 > the following is the output from "dpdk_nic_bind.py --status": > > [root@APV35 ~]# dpdk_nic_bind.py --status > > Network devices using DPDK-compatible 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=3D=3D=3D=3D=3D=3D=3D=3D > 0000:04:00.0 'VMXNET3 Ethernet Controller' drv=3Digb_uio unused=3D > 0000:0b:00.0 'VMXNET3 Ethernet Controller' drv=3Digb_uio unused=3D > 0000:13:00.0 'VMXNET3 Ethernet Controller' drv=3Digb_uio unused=3D > 0000:1b:00.0 'VMXNET3 Ethernet Controller' drv=3Digb_uio unused=3D > > Network devices using kernel 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 > 0000:03:00.0 'VMXNET3 Ethernet Controller' if=3Dens160 drv=3Dvmxnet3 > unused=3Digb_uio *Active* > > Other network devices > =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D > > That's a different virtual NIC than what I'm running in my VMs, but given your app isn't working directly on the hardware, I doubt that's the issue. In case it helps along the way, here's what I see in my VM: $ dpdk_nic_bind.py --status Network devices using DPDK-compatible 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=3D=3D=3D=3D=3D=3D=3D=3D 0000:02:02.0 '82545EM Gigabit Ethernet Controller (Copper)' drv=3Digb_uio unused=3D 0000:02:03.0 '82545EM Gigabit Ethernet Controller (Copper)' drv=3Digb_uio unused=3D 0000:02:04.0 '82545EM Gigabit Ethernet Controller (Copper)' drv=3Digb_uio unused=3D 0000:02:05.0 '82545EM Gigabit Ethernet Controller (Copper)' drv=3Digb_uio unused=3D Network devices using kernel 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 0000:02:01.0 '82545EM Gigabit Ethernet Controller (Copper)' if=3Deth0 drv=3De1000 unused=3Digb_uio *Active* Other network devices =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D > I tried it on the physical mathine, it still does not work. the OS is > centOS 7, too. > [root@AN ~]# dpdk_nic_bind.py --status > > Network devices using DPDK-compatible 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=3D=3D=3D=3D=3D=3D=3D=3D > 0000:01:00.0 '82599ES 10-Gigabit SFI/SFP+ Network Connection' drv=3Digb_u= io > unused=3D > 0000:01:00.1 '82599ES 10-Gigabit SFI/SFP+ Network Connection' drv=3Digb_u= io > unused=3D > 0000:03:00.0 'I350 Gigabit Backplane Connection' drv=3Digb_uio unused=3D > 0000:03:00.1 'I350 Gigabit Backplane Connection' drv=3Digb_uio unused=3D > 0000:03:00.2 'I350 Gigabit Backplane Connection' drv=3Digb_uio unused=3D > 0000:03:00.3 'I350 Gigabit Backplane Connection' drv=3Digb_uio unused=3D > 0000:07:00.0 'I350 Gigabit Network Connection' drv=3Digb_uio unused=3D > 0000:07:00.1 'I350 Gigabit Network Connection' drv=3Digb_uio unused=3D > 0000:07:00.2 'I350 Gigabit Network Connection' drv=3Digb_uio unused=3D > 0000:07:00.3 'I350 Gigabit Network Connection' drv=3Digb_uio unused=3D > 0000:09:00.0 'I350 Gigabit Network Connection' drv=3Digb_uio unused=3D > 0000:09:00.1 'I350 Gigabit Network Connection' drv=3Digb_uio unused=3D > 0000:09:00.2 'I350 Gigabit Network Connection' drv=3Digb_uio unused=3D > 0000:09:00.3 'I350 Gigabit Network Connection' drv=3Digb_uio unused=3D > 0000:0c:00.0 'Device 0011' drv=3Digb_uio unused=3D > 0000:0f:00.1 'I350 Gigabit Network Connection' drv=3Digb_uio unused=3D > > Network devices using kernel 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 > 0000:0f:00.0 'I350 Gigabit Network Connection' if=3Denp15s0f0 drv=3Digb > unused=3Digb_uio *Active* > > Other network devices > =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D > > With it not working on hardware and you having devices successfully bound to DPDK, maybe it's a problem in your app. Have you tried running any of the sample apps that use rte_eth_stats_get() and see if it works there? Jay > On Tue, Jul 5, 2016 at 8:03 PM, Jay Rolette wrote: > >> >> On Tue, Jul 5, 2016 at 2:35 AM, Bill Bonaparte >> wrote: >> >>> Hi: >>> I am a new fish, I have tried my best to find answer about my question = on >>> web, but I failed. so >>> I come here to ask for your help. the below is my question: >>> >>> I found that dpdk provides a api rte_eth_stats_get to read packet >>> statistics about the interface, includes total input/output >>> unicast/multicast/brodcast packets/bytes. but the api does not work on >>> VMxnet interface (which is a virtual interface in VMware machine). >>> >> >> Probably something in your app or environment rather than in the API >> itself. We run rte_eth_stats_get() against interfaces in VMware Fusion, >> VirtualBox and real hardware and they all work generally. >> >> Need some info before anyone can help you much: >> >> * What version of DPDK are you running? >> * What OS are you running on? >> * Output from "dpdk_nic_bind.py --status"? >> >> Jay >> > >