[-- Attachment #1: Type: text/plain, Size: 657 bytes --] Hi! 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? / Mikael [-- Attachment #2: Type: text/html, Size: 2526 bytes --]
On Fri, 6 May 2022 07:46:39 +0000
Mikael R Carlsson <Mikael.R.Carlsson@tietoevry.com> wrote:
> Hi!
>
> 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?
>
> / Mikael
>
>
>
The timestamp for packet capture in DPDK is done when packet is queued to
the device. It is not possible with current driver architecture to get
timestamp when/after the packet was transmitted.
On Fri, 6 May 2022 07:46:39 +0000
Mikael R Carlsson <Mikael.R.Carlsson@tietoevry.com> wrote:
> Hi!
>
> 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?
>
> / Mikael
>
>
>
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
1. Where 20.11 with dpdk-dumpcap gets timestamp
2. Where you want the timestamp but is not possible
3. Where 19.11 and dpdk-pdump gets timestamp