DPDK patches and discussions
 help / color / mirror / Atom feed
* Does DPDK provide RX timestamps?
@ 2024-09-08 22:31 Dpdk Newbie
  2024-09-09  0:13 ` Stephen Hemminger
       [not found] ` <8a180c35-c4fd-4760-a4fa-f7d3ff360fab@email.android.com>
  0 siblings, 2 replies; 5+ messages in thread
From: Dpdk Newbie @ 2024-09-08 22:31 UTC (permalink / raw)
  To: dev

[-- Attachment #1: Type: text/plain, Size: 502 bytes --]

Hi. I am using Intel (i210) and AWS ENA network interface cards.

I would like to measure the following RX latencies:

1) NIC to DPDK packet ring buffer
2) DPDK packet ring buffer to application via rte_eth_rx_burst.

I don't mind measuring in nanoseconds or CPU cycles.

Unfortunately I cannot find any mention of hardware timestamps.

I found brief references to mbuf containing a timestamp in the dynamic
fields, but nothing definitive.

Could someone please clarify what the situation is?

Thanks,

[-- Attachment #2: Type: text/html, Size: 612 bytes --]

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: Does DPDK provide RX timestamps?
  2024-09-08 22:31 Does DPDK provide RX timestamps? Dpdk Newbie
@ 2024-09-09  0:13 ` Stephen Hemminger
  2024-09-09  8:23   ` fengchengwen
       [not found] ` <8a180c35-c4fd-4760-a4fa-f7d3ff360fab@email.android.com>
  1 sibling, 1 reply; 5+ messages in thread
From: Stephen Hemminger @ 2024-09-09  0:13 UTC (permalink / raw)
  To: Dpdk Newbie; +Cc: dev

On Sun, 8 Sep 2024 23:31:36 +0100
Dpdk Newbie <dpdkuser77@gmail.com> wrote:

> Hi. I am using Intel (i210) and AWS ENA network interface cards.
> 
> I would like to measure the following RX latencies:
> 
> 1) NIC to DPDK packet ring buffer
> 2) DPDK packet ring buffer to application via rte_eth_rx_burst.
> 
> I don't mind measuring in nanoseconds or CPU cycles.
> 
> Unfortunately I cannot find any mention of hardware timestamps.
> 
> I found brief references to mbuf containing a timestamp in the dynamic
> fields, but nothing definitive.
> 
> Could someone please clarify what the situation is?
> 
> Thanks,

Depends on the hardware, and the dynamic field for rx timestamp
also varies in its clock value.  Some are ticks, some are us, some are ns;
and the base is arbitrary so difficult to use for packet capture.

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: Does DPDK provide RX timestamps?
  2024-09-09  0:13 ` Stephen Hemminger
@ 2024-09-09  8:23   ` fengchengwen
  0 siblings, 0 replies; 5+ messages in thread
From: fengchengwen @ 2024-09-09  8:23 UTC (permalink / raw)
  To: Stephen Hemminger, Dpdk Newbie; +Cc: dev

On 2024/9/9 8:13, Stephen Hemminger wrote:
> On Sun, 8 Sep 2024 23:31:36 +0100
> Dpdk Newbie <dpdkuser77@gmail.com> wrote:
> 
>> Hi. I am using Intel (i210) and AWS ENA network interface cards.
>>
>> I would like to measure the following RX latencies:
>>
>> 1) NIC to DPDK packet ring buffer
>> 2) DPDK packet ring buffer to application via rte_eth_rx_burst.

Some packet generator support delay measurement, could construct two tests:
1. run with enabled hairpin
   some NIC support hairpin (the data write to memory and resend by hardware again)
   if the NIC don't support hairpin, could use mac outer loop.
2. run with normal mode

According compare the two delay.

>>
>> I don't mind measuring in nanoseconds or CPU cycles.
>>
>> Unfortunately I cannot find any mention of hardware timestamps.
>>
>> I found brief references to mbuf containing a timestamp in the dynamic
>> fields, but nothing definitive.
>>
>> Could someone please clarify what the situation is?
>>
>> Thanks,
> 
> Depends on the hardware, and the dynamic field for rx timestamp

As I know, this Rx timestamp dynamic field is mainly used by PTP(IEEE1588).

> also varies in its clock value.  Some are ticks, some are us, some are ns;
> and the base is arbitrary so difficult to use for packet capture.

Yes

> .
> 

^ permalink raw reply	[flat|nested] 5+ messages in thread

* RE: Does DPDK provide RX timestamps?
       [not found]   ` <40e44bc0f788441ea70f48a33bef7f59@amazon.com>
@ 2024-09-09  8:31     ` Brandes, Shai
  2024-09-09 17:54       ` Dpdk Newbie
  0 siblings, 1 reply; 5+ messages in thread
From: Brandes, Shai @ 2024-09-09  8:31 UTC (permalink / raw)
  To: dpdkuser77; +Cc: dev


> מאת: Dpdk Newbie <dpdkuser77@gmail.com
> <mailto:dpdkuser77@gmail.com> >
> תאריך: 9 בספט׳ 2024 01:32
> נושא: [EXTERNAL] Does DPDK provide RX timestamps?
> אל: dev@dpdk.org <mailto:dev@dpdk.org>
> ‏עותק:
> 
> 
> 
> Hi. I am using Intel (i210) and AWS ENA network interface cards.
> 
> 
> 
> I would like to measure the following RX latencies:
> 
> 1) NIC to DPDK packet ring buffer
> 
> 2) DPDK packet ring buffer to application via rte_eth_rx_burst.
> 
[Brandes, Shai] Hi, currently AWS doesn’t support HW timestamping.
In order to get the full Rx latency you need to measure rte_eth_rx_burst as it is mapped to ENA driver routine eth_ena_recv_pkts which covers the entire flow including NIC to DPDK packet ring buffer flow (ena_com_rx_pkt)

All the best
Shai

> I don't mind measuring in nanoseconds or CPU cycles.
> 
> 
> Unfortunately I cannot find any mention of hardware timestamps.
> 
> 
> I found brief references to mbuf containing a timestamp in the dynamic
> fields, but nothing definitive.
> 
> Could someone please clarify what the situation is?
> 
> Thanks,


^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: Does DPDK provide RX timestamps?
  2024-09-09  8:31     ` Brandes, Shai
@ 2024-09-09 17:54       ` Dpdk Newbie
  0 siblings, 0 replies; 5+ messages in thread
From: Dpdk Newbie @ 2024-09-09 17:54 UTC (permalink / raw)
  To: Brandes, Shai; +Cc: dev

I was looking at the source code but I'm more OOP C++ than C. I found
eth_ena_recv_pkts but is it possible for me to add a software
timestamp before the mbuf is added to the ring buffer? This would be
incredibly useful.

On Mon, 9 Sept 2024 at 09:31, Brandes, Shai <shaibran@amazon.com> wrote:
>
>
> > מאת: Dpdk Newbie <dpdkuser77@gmail.com
> > <mailto:dpdkuser77@gmail.com> >
> > תאריך: 9 בספט׳ 2024 01:32
> > נושא: [EXTERNAL] Does DPDK provide RX timestamps?
> > אל: dev@dpdk.org <mailto:dev@dpdk.org>
> > ‏עותק:
> >
> >
> >
> > Hi. I am using Intel (i210) and AWS ENA network interface cards.
> >
> >
> >
> > I would like to measure the following RX latencies:
> >
> > 1) NIC to DPDK packet ring buffer
> >
> > 2) DPDK packet ring buffer to application via rte_eth_rx_burst.
> >
> [Brandes, Shai] Hi, currently AWS doesn’t support HW timestamping.
> In order to get the full Rx latency you need to measure rte_eth_rx_burst as it is mapped to ENA driver routine eth_ena_recv_pkts which covers the entire flow including NIC to DPDK packet ring buffer flow (ena_com_rx_pkt)
>
> All the best
> Shai
>
> > I don't mind measuring in nanoseconds or CPU cycles.
> >
> >
> > Unfortunately I cannot find any mention of hardware timestamps.
> >
> >
> > I found brief references to mbuf containing a timestamp in the dynamic
> > fields, but nothing definitive.
> >
> > Could someone please clarify what the situation is?
> >
> > Thanks,
>

^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2024-09-09 17:54 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2024-09-08 22:31 Does DPDK provide RX timestamps? Dpdk Newbie
2024-09-09  0:13 ` Stephen Hemminger
2024-09-09  8:23   ` fengchengwen
     [not found] ` <8a180c35-c4fd-4760-a4fa-f7d3ff360fab@email.android.com>
     [not found]   ` <40e44bc0f788441ea70f48a33bef7f59@amazon.com>
2024-09-09  8:31     ` Brandes, Shai
2024-09-09 17:54       ` Dpdk Newbie

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).