Hi, Jay: My apologies for taking me to get back to you. I tried the sample apps on my environment follow your advice, and I found it works well. so I started to compare the code related to the api between my app and the sample app, I didn't find any significative difference. I am very confused. ..... finnaly, with the help of my colleague, I tracked down the problem. It's a confused character of my platform that make the packets miss the interface which I monitored. so I can access the IP of the interface, but the flow don't pass through the interface. after ajusting the topology, the api works well.
anyhow, thanks to your advice, I tracked down the problem. so again, I appreciate your time in talking with me about this api. On Thu, Jul 7, 2016 at 8:19 PM, Jay Rolette <rolette at infinite.io> wrote: > > On Thu, Jul 7, 2016 at 12:52 AM, Bill Bonaparte <programme110 at gmail.com> > wrote: > >> I am so happy to get your reply. >> My dpdk version is 2.1?and the OS is centOS 7? >> the following is the output from "dpdk_nic_bind.py --status": >> >> [root at APV35 ~]# dpdk_nic_bind.py --status >> >> Network devices using DPDK-compatible driver >> ============================================ >> 0000:04:00.0 'VMXNET3 Ethernet Controller' drv=igb_uio unused= >> 0000:0b:00.0 'VMXNET3 Ethernet Controller' drv=igb_uio unused= >> 0000:13:00.0 'VMXNET3 Ethernet Controller' drv=igb_uio unused= >> 0000:1b:00.0 'VMXNET3 Ethernet Controller' drv=igb_uio unused= >> >> Network devices using kernel driver >> =================================== >> 0000:03:00.0 'VMXNET3 Ethernet Controller' if=ens160 drv=vmxnet3 >> unused=igb_uio *Active* >> >> Other network devices >> ===================== >> <none> >> > > 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 > ============================================ > 0000:02:02.0 '82545EM Gigabit Ethernet Controller (Copper)' drv=igb_uio > unused= > 0000:02:03.0 '82545EM Gigabit Ethernet Controller (Copper)' drv=igb_uio > unused= > 0000:02:04.0 '82545EM Gigabit Ethernet Controller (Copper)' drv=igb_uio > unused= > 0000:02:05.0 '82545EM Gigabit Ethernet Controller (Copper)' drv=igb_uio > unused= > > Network devices using kernel driver > =================================== > 0000:02:01.0 '82545EM Gigabit Ethernet Controller (Copper)' if=eth0 > drv=e1000 unused=igb_uio *Active* > > Other network devices > ===================== > <none> > > >> I tried it on the physical mathine, it still does not work. the OS is >> centOS 7, too. >> [root at AN ~]# dpdk_nic_bind.py --status >> >> Network devices using DPDK-compatible driver >> ============================================ >> 0000:01:00.0 '82599ES 10-Gigabit SFI/SFP+ Network Connection' drv=igb_uio >> unused= >> 0000:01:00.1 '82599ES 10-Gigabit SFI/SFP+ Network Connection' drv=igb_uio >> unused= >> 0000:03:00.0 'I350 Gigabit Backplane Connection' drv=igb_uio unused= >> 0000:03:00.1 'I350 Gigabit Backplane Connection' drv=igb_uio unused= >> 0000:03:00.2 'I350 Gigabit Backplane Connection' drv=igb_uio unused= >> 0000:03:00.3 'I350 Gigabit Backplane Connection' drv=igb_uio unused= >> 0000:07:00.0 'I350 Gigabit Network Connection' drv=igb_uio unused= >> 0000:07:00.1 'I350 Gigabit Network Connection' drv=igb_uio unused= >> 0000:07:00.2 'I350 Gigabit Network Connection' drv=igb_uio unused= >> 0000:07:00.3 'I350 Gigabit Network Connection' drv=igb_uio unused= >> 0000:09:00.0 'I350 Gigabit Network Connection' drv=igb_uio unused= >> 0000:09:00.1 'I350 Gigabit Network Connection' drv=igb_uio unused= >> 0000:09:00.2 'I350 Gigabit Network Connection' drv=igb_uio unused= >> 0000:09:00.3 'I350 Gigabit Network Connection' drv=igb_uio unused= >> 0000:0c:00.0 'Device 0011' drv=igb_uio unused= >> 0000:0f:00.1 'I350 Gigabit Network Connection' drv=igb_uio unused= >> >> Network devices using kernel driver >> =================================== >> 0000:0f:00.0 'I350 Gigabit Network Connection' if=enp15s0f0 drv=igb >> unused=igb_uio *Active* >> >> Other network devices >> ===================== >> <none> >> > > 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 <rolette at infinite.io> wrote: >> >>> >>> On Tue, Jul 5, 2016 at 2:35 AM, Bill Bonaparte <programme110 at gmail.com> >>> 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 >>> >> >> >