Reputation: 23
I wrote a dpdk application that receives packets from port 1 which is a connec X6 nic, duplicates this packet (with small changes like dst mac) 4 times and sends those packets through port 2 which is a connect X5 SRIOV nic. Im using 4 cores for my app (1 core for control plane so 3 for dataplane). Each core listen on the rx port and send on tx port by itself (using rss). However I do have drops on the tx and rx (mainly on rx), with not too many packets, with 1Mpps on rx and 4Mpps on tx i already have drops (even when i reduce the rx amount or reduce the duplicaton amount) and I understood dpdk should be a lot faster.
I've set up huge pages of 1G, disabled the firewall, I'm running on vmware and i reserved the cpu and memory and set the latency sensitivity to high like recommended.
When I use vtune to profile I see that 80% of the CPU is in the rte_eth_rx_burst and specifically in mlx5_rx_burst_vec.
How can I debug it? What am I doing wrong or what am I missing?
I'm in an isolated network so I can't copy-paste everything but if a specific log or something might help I will copy it by hand.
Upvotes: 0
Views: 63