> On Feb 9, 2018, at 9:39 AM, Theano <theanosau...@gmail.com> wrote: > > Hi All, > > We are eventually going to build an application over DPDK, and we've > started out with a very simple pktgen-like application that sends and > receives packets to a different machine running l2fwd. > > With packets up to 64B (60B headers and payload + 4B of FCS), l2fwd shows > line rate packet forwarding of this application's packets. As soon as the > packet size increases to 65B, the throughput (in pps) halves. With > dpdk-pktgen we observe a much more graceful decline in packet throughput as > packet size increases. > > I examined the dpdk-pktgen code and can't find any significant differences > between how it constructs its packets vs. how we do it, but of course I'm > missing something. > > Has anyone seen this before and/or has any ideas on how to identify the > problem?
Adding one byte will push you to have two cache lines used and that can reduce performance. Make sure the packets are aligned to a 64 byte boundary. Other then that I see no reason for the 1/2 performance without comparing the code. Pktgen-dpdk I spent a fair amount of time looking at the performance, but I also had to play with burst size and the number of packet sent to the NIC they too need to be cached aligned or multiples of a cache line. > > We are using DPDK version 17.02.1; please let me know if any other > information would be helpful. > Thanks, > Theano. Regards, Keith