'Timestamp source for dpdk-pdump packets on E810 and DPDK 19.11
I am using a Intel E810-XXVDA4 and DPDK version 19.11. During troubleshooting we have captures outgoing traffic with dpdk-pdump:
dpdk-pdump -- --pdump 'port=1,queue=*,tx-dev=/tmp/tx.pcap'
I have opened the pcap-file in wireshark and I can see that some packets are delayed. However, system behavior indicates that the delays I see in the pcap file are not correct, they are too big.
My questions is, how is the timestamp on packets in the pcap from dpdk-pdump created, like NIC HW generated, CPU time at disk write etc or something else?
Are there any run-time or build-time options to change the source of the timestamps?
Solution 1:[1]
Answer from dpdk users mailing list, many thanks to S.H
Follow up. The older dump-pdump in 19.11 does timestamps when packet is read from the ring which is bad.
You might have better luck with DPDK 20.11 and the dpdk-dumpcap which puts timestamp in when packet is put into ring.
Let me give picture:
Application (primary)
| 1 2
+--+-------------------------> wire
|
| dumpcap (secondary)
+---========--------------> capture file
3
The ==== is ringbuffer between processes
- Where 20.11 with dpdk-dumpcap gets timestamp
- Where you want the timestamp but is not possible
- Where 19.11 and dpdk-pdump gets timestamp
Sources
This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.
Source: Stack Overflow
Solution | Source |
---|---|
Solution 1 | rmcarlsson |