[dpdk-dev] [dpdk-users] What is the 'unit of timestamp' assigned to mbuf packet in DPDK?

Tom Barbette barbette at kth.se
Wed Nov 27 15:49:37 CET 2019


Hi Gokul,

As Setphen said, only Mellanox sets the hardware timestamp.

If you have a Mellanox card, you can actually follow the example given 
in the rxtx_callback sample application that precisely gives the number 
of CPU cycles a packet spent into the queue.


Tom

Le 22/11/2019 à 18:00, Gokul Bargaje a écrit :
> Thank you for the clarification. But I am still unable to understand how
> exactly timestamp is calculated before assigning to a timestamp field.
> Could you please tell me the steps to calculate the timestamp in DPDK?
> 
> I have to implement the PIE AQM algorithm in DPDK and for that, I need to
> calculate the total time spent by the packet waiting in queue (i.e. the
> difference between enqueue time and dequeue time).
> 
> Thanks,
> Gokul
> 
> On Fri, Nov 22, 2019 at 8:18 PM Ferruh Yigit <ferruh.yigit at intel.com> wrote:
> 
>> On 11/18/2019 2:29 PM, Gokul Bargaje wrote:
>>> Hi,
>>>
>>> The timestamp assigned to packet at the time of enqueue (value of
>> timestamp
>>> field in mbuf), is it in milliseconds or microseconds or in cpu cycles?
>>
>> The unit is not defined [1]. 'rte_eth_read_clock()' was added [2] to help
>> converting it to time when it is clock counter.
>>
>> [1]
>> 918ae9dc775e ("mbuf: add a timestamp field")
>>
>> [2]
>> 5e741377657c ("ethdev: add API to read device clock")
>>
>>>
>>> How this timestamp is calculated? Is it calculated using the
>> *rte_cycles.h*?
>>>
>>
>>
>>
>>
>>
>>


More information about the dev mailing list