[dpdk-dev] Packet drop issue on DPDK-based application

Harrison Ford ogi at myself.com
Sun Oct 26 09:24:14 CET 2014


Hi, all.
 
I am trying to write an application that is supposed to receive packets over one interface, and before forwarding them out the other, log the src and dst addresses into a database for statistical purposes. I started by modifying the l2fwd example, and everything worked perfectly until I added the database logging. After that, the number of received packets dropped to about one third of the total number of sent packets (I am able to precisely determine the number of sent packets, since I am using tcpreply to send packets from a pcap file). The database logging code is obviously slowing down the entire process, but I am not sure how to resolve this issue. I have tried increasing the RX queue size (NB_RX_DESCRIPTORS value) and the memory pool size, but nothing changed. The packets are enqueued in a ring (i.e. rte_ring) where they await logging, after which they are forwarded out without any further processing.
The application is simple enough and should be working fast enough. The incoming packet speed is aroung 50 Mbps, which is also not that fast.
The application runs on a virtual machine, and I am using a single lcore to test it. What should I try to solve this problem, and what is the best way to debug such a behaviour?
 
Thank you.
Paul


More information about the dev mailing list