19/05/2020 20:20, PATRICK KEROULAS:
> Hello,
> 
> I'm trying to build an accurate capture device based on Mellanox
> Connect-X5 with following requirements:
> - capture every incoming packets with hardware timestamps
> - output: pcap with timestamps in nanoseconds
> My problem is that the packets forwarded to `dpdk-pdump` carry raw
> timestamps from NIC clock.

Please could you describe how you use dpdk-pdump?
Is it using the mlx5 PMD or pcap PMD?


> mlx5 part of libibverbs includes a ts-to-ns converter which takes the
> instantaneous clock info. It's unused in dpdk so far. I've tested it in the
> device/port init routine and the result looks reliable. Since this approach
> looks very simple, compared to the time sync mechanism, I'm trying to
> integrate.
> 
> The conversion should occur in the primary process (testpmd) I suppose.
> 1) The needed clock info derives from ethernet device. Is it possible to
>    access that struct from a rx callback?
> 2) how to attach the nanosecond to mbuf so that `pdump` catches it?
>    (workaround: copy `mbuf->udata64` in forwarded packets.)
> 3) any other idea?

The timestamp is carried in mbuf.
Then the conversion must be done by the ethdev caller (application or
any other upper layer).


Reply via email to